Commit dc407829 authored by 姬鋆屾's avatar 姬鋆屾
parents c153e854 ce1ebdbc
<template>
<div class="page">
<div class="top">
<el-button class="backBtn" @click="$router.back()">返回上一级</el-button>
<el-button class="backBtn" size="small" @click="$router.back()">返回上一级</el-button>
<el-tabs v-model="tabs">
<el-tab-pane label="设计问卷" name="1">
<fc-designer style="height: 75vh;" ref="designer" />
<div class="tool">
<!--功能按钮-->
<fc-designer style="height: 79vh;" ref="designer">
<template slot="handle">
<ElButton icon="el-icon-upload" type="success" size="small" @click="showDrawer" round>移动端预览
</ElButton>
</template>
</fc-designer>
<!-- <div class="tool">
<el-row>
<el-button icon="el-icon-download" type="primary" size="small" @click="getFormJson()"
round>生成表单JSON</el-button>
<el-button icon="el-icon-download" type="success" size="small" @click="getFormOption()"
round>生成表单配置</el-button>
<el-button icon="el-icon-upload" type="success" size="small" @click="drawer = true"
round>预览</el-button>
<el-button icon="el-icon-upload" type="primary" size="small" @click="showDrawer"
round>移动端预览</el-button>
</el-row>
</div>
</div> -->
<el-drawer title="预览" :visible.sync="drawer" :with-header="false">
<el-drawer :visible.sync="drawer" :with-header="false">
<div class="showPhone">
<div>预览</div>
<div class="phone">
<div class="phoneContent">
<form-create :rule="Frule" :option="Fopthion" @submit="onSubmit">
</form-create>
</div>
</div>
</div>
</el-drawer>
</el-tab-pane>
......@@ -29,35 +38,159 @@
</template>
<script>
import formCreate from "@form-create/element-ui";
export default {
data() {
return {
tabs: '1',
drawer: false,
drawer: 0,
Frule: '',
Fopthion: '',
}
},
mounted() {
//配置表单基础样式以及按钮展示
const option = {
"form": {
"labelPosition": "top",
"size": "mini",
"labelWidth": "20%",
"hideRequiredAsterisk": false,
"showMessage": true,
"inlineMessage": false
},
"submitBtn": true,
"resetBtn": false,
}
this.$refs.designer.setOption(option)
//移除组件大类
this.$refs.designer.removeMenu('layout',)
//移除对应组件
this.$refs.designer.removeMenuItem('el-transfer')
this.$refs.designer.removeMenuItem('el-alert')
this.$refs.designer.removeMenuItem("colorPicker")
this.$refs.designer.removeMenuItem("cascader")
this.$refs.designer.removeMenuItem("rate")
this.$refs.designer.removeMenuItem("slider")
this.$refs.designer.removeMenuItem("datePicker")
this.$refs.designer.removeMenuItem("timePicker")
this.$refs.designer.removeMenuItem("switch")
this.$refs.designer.removeMenuItem("tree")
//配置组件生成规则---直接配置显示在页面上
// const rule = [{ "type": "input", "field": "int", "title": "输入框", "info": "", "_fc_drag_tag": "input", "hidden": false, "display": true }]
// this.$refs.designer.setRule(rule)
},
methods: {
//预览生成按钮的输出
onSubmit(formData) {
console.log(formData)
},
//展示移动端效果
showDrawer() {
this.drawer = 1
this.Frule = formCreate.parseJson(this.getFormJson())
this.Fopthion = formCreate.parseJson(this.getFormOption())
},
getFormJson() {
//FcDesigner 生成的`JSON`
const FcDesignerRule = this.$refs.designer.getRule();
console.log(FcDesignerRule)
return JSON.stringify(FcDesignerRule)
},
getFormOption() {
//FcDesigner 生成的`options`
const FcDesignerOptions = this.$refs.designer.getOption();
console.log(FcDesignerOptions)
return JSON.stringify(FcDesignerOptions)
}
}
}
</script>
<style lang="less" scoped>
.showPhone{
border: 1px solid;
/deep/._fc-l-title {
text-align: center;
margin-bottom: 10px;
}
/deep/._fc-l-item {
width: 100%;
border: 1px solid #1a7af8;
display: flex;
align-items: center;
justify-content: center;
padding: 0;
height: 40px;
margin-bottom: 10px;
border-radius: 4px;
._fc-l-icon {
width: 40%;
text-align: right;
color: #1a7af8;
}
._fc-l-name {
width: 50%;
text-align: left;
color: #1a7af8;
}
}
/deep/._fc-l-item:hover ._fc-l-name {
color: #FFF;
}
/deep/._fc-l-item:hover ._fc-l-icon {
color: #FFF;
}
.showPhone {
height: 100%;
width: 100%;
display: flex;
align-items: center;
justify-content: center;
.phone {
width: 378px;
height: 770px;
background: url('../../../assets/images/phone.png') no-repeat;
position: relative;
.phoneContent {
// border: 1px solid;
position: absolute;
top: 95px;
left: 25px;
width: 86.5%;
height: 75%;
box-sizing: border-box;
padding: 20px;
overflow-y: scroll;
overflow-x: hidden;
}
/* 侧边滚动条 */
.phoneContent::-webkit-scrollbar {
width: 3px;
}
/* 滚动条上的滚动滑块 */
.phoneContent::-webkit-scrollbar-thumb {
background: #CCCCCC;
border-radius: 4px;
}
/* 滚动条轨道 */
.phoneContent::-webkit-scrollbar-track {
background: #EEEEEE;
border-radius: 4px;
}
}
}
.backBtn {
position: absolute;
right: 20px;
......@@ -102,4 +235,21 @@ export default {
background: #EEEEEE;
border-radius: 4px;
}
/* 侧边滚动条 */
/deep/._fc-m-drag::-webkit-scrollbar {
width: 3px;
}
/* 滚动条上的滚动滑块 */
/deep/._fc-m-drag::-webkit-scrollbar-thumb {
background: #CCCCCC;
border-radius: 4px;
}
/* 滚动条轨道 */
/deep/._fc-m-drag::-webkit-scrollbar-track {
background: #EEEEEE;
border-radius: 4px;
}
</style>
\ No newline at end of file
<template>
<div class="page">
<LayoutTable :data="tableData" notDel notSearch :config="tableConfig">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
......@@ -52,6 +52,9 @@ export default {
toView(row) {
this.$refs.drawerform.view(row);
},
goPage(path) {
this.$router.push(path)
}
},
data() {
......@@ -104,7 +107,7 @@ export default {
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.goPage} onDel={this.toDel} />
);
}
}
......
......@@ -442,3 +442,25 @@ export default {
}
}
</style>
<style lang="less" scoped>
.form_content {
/deep/.el-col-12 {
width: 98% !important;
}
.content {
width: 100%;
height: 500px;
border: 1px solid #e4e7ed;
border-top: 0;
padding: 20px;
.top {
display: flex;
justify-content: space-between;
margin-bottom: 10px;
}
}
/deep/.el-tabs__header {
margin: 0 !important;
}
}
</style>
......@@ -90,12 +90,9 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
Claims claims = parseToken(token);
String uuid = (String) claims.get(SysConstains.LOGIN_USER_KEY);
String userKey = getTokenKey(uuid);
// Rest<String> rest = userFeign.getToken(userKey);
// String userStr = rest.getData();
cacheService.select(portalDb);
//cacheService.select(portalDb);
String userStr = cacheService.get(userKey);
cacheService.select(db);
//cacheService.select(db);
if (StringUtils.isNotEmpty(userStr)) {
UserEntity userEntity = JSONObject.parseObject(userStr, UserEntity.class);
userEntity.setToken(token);
......
package com.mortals.xhx.busiz;
import com.mortals.xhx.common.code.CommentTypeEnum;
import com.mortals.xhx.common.code.ProcessStatusEnum;
import lombok.Data;
import java.io.Serializable;
@Data
public abstract class BaseReq implements Serializable {
/**
* 当前页
*/
private Integer page;
/**
* 每页条数
*/
private Integer size;
}
package com.mortals.xhx.busiz.req;
import com.mortals.xhx.busiz.BaseReq;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class AppealReq extends BaseReq {
//绩效开始时间
private String performStartDate;
//绩效结束时间
private String performEndDate;
//绩效类型
private String performType;
/**
* 当前员工id
*/
private Long staffId;
private Long Id;
}
package com.mortals.xhx.busiz.req;
import com.mortals.xhx.busiz.BaseReq;
import lombok.Data;
import java.io.Serializable;
@Data
public class PerformReq extends BaseReq {
//绩效开始时间
private String performStartDate;
//绩效结束时间
private String performEndDate;
//绩效类型
private String performType;
private Long id;
}
package com.mortals.xhx.busiz.rsp;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class PerformDetailInfo {
/**
* id
*/
private Long id;
/**
* 标题
*/
private String title;
/**
* 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
*/
private Integer subMethod;
/**
* 扣分时间
*/
private Date errorTime;
/**
* 绩效规则id
*/
private Long ruleId;
/**
* 规则名称
*/
private String ruleName;
/**
* 增减类型(1.增加,2.扣除)
*/
private Integer subAddType;
/**
* 扣分或增加分值
*/
private BigDecimal score;
}
package com.mortals.xhx.busiz.rsp;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class PerformInfo {
/**
* id
*/
private Long id;
/**
* 标题
*/
private String title;
/**
* 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
*/
private Integer subMethod;
/**
* 扣分时间
*/
private Date errorTime;
/**
* 绩效规则id
*/
private Long ruleId;
/**
* 规则名称
*/
private String ruleName;
/**
* 增减类型(1.增加,2.扣除)
*/
private Integer subAddType;
/**
* 扣分或增加分值
*/
private BigDecimal score;
}
package com.mortals.xhx.busiz.rsp;
import lombok.Data;
@Data
public class PerformStatInfo {
}
package com.mortals.xhx.busiz.web;
import cn.hutool.core.date.DateUtil;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.web.BaseJsonBodyController;
import com.mortals.xhx.busiz.req.AppealReq;
import com.mortals.xhx.busiz.req.PerformReq;
import com.mortals.xhx.busiz.rsp.PerformDetailInfo;
import com.mortals.xhx.busiz.rsp.PerformInfo;
import com.mortals.xhx.busiz.rsp.PerformStatInfo;
import com.mortals.xhx.common.code.PerformTypeEnum;
import com.mortals.xhx.module.check.service.*;
import com.mortals.xhx.module.perform.model.PerformAttendAppealEntity;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
import java.util.List;
/**
* h5 申诉
*
* @author: zxfei
* @date: 2023/7/7 15:08
*/
@RestController
@Slf4j
@RequestMapping("/api/v1/")
public class AppealApiController extends BaseJsonBodyController {
@Autowired
private CheckAttendRecordService checkAttendRecordService;
@Autowired
private CheckReviewRecordService checkReviewRecordService;
@Autowired
private CheckComplainRecordService checkComplainRecordService;
@Autowired
private CheckEffectRecordService checkEffectRecordService;
@Autowired
private CheckGoworkRecordService checkGoworkRecordService;
@Autowired
private CheckOtherRecordService checkOtherRecordService;
/**
* 申诉列表
*/
@PostMapping(value = "appeal/list")
public Rest<List<PerformAttendAppealEntity>> performList(@RequestBody AppealReq appealReq) {
String busiDesc = "个人申诉列表";
Rest<List<PerformAttendAppealEntity>> rest = Rest.ok(busiDesc + " 【成功】");
try {
if (ObjectUtils.isEmpty(appealReq.getPerformStartDate())) {
//未设置时间的情况,默认为当月
appealReq.setPerformStartDate(DateUtil.beginOfMonth(new Date()).toDateStr());
appealReq.setPerformEndDate(DateUtil.today());
}
recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) {
log.error(busiDesc, e);
rest = Rest.fail(super.convertException(e));
}
return rest;
}
/**
* 申诉详细
*/
@PostMapping(value = "appeal/detail")
public Rest<PerformAttendAppealEntity> performDetail(@RequestBody AppealReq appealReq) {
String busiDesc = "个人申诉详细";
Rest<PerformAttendAppealEntity> rest = Rest.ok(busiDesc + " 【成功】");
try {
if (ObjectUtils.isEmpty(appealReq.getId())) {
throw new AppException("详细查询id不能为空!");
}
recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) {
log.error(busiDesc, e);
rest = Rest.fail(super.convertException(e));
}
return rest;
}
/**
* 申诉新增
*/
@PostMapping(value = "appeal/save")
public Rest<String> appealSave(@RequestBody PerformAttendAppealEntity appealEntity) {
String busiDesc = "个人申诉新增";
Rest<String> rest = Rest.ok(busiDesc + " 【成功】");
try {
recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) {
log.error(busiDesc, e);
rest = Rest.fail(super.convertException(e));
}
return rest;
}
public static void main(String[] args) {
}
}
package com.mortals.xhx.busiz.web;
import cn.hutool.core.date.DateUtil;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.web.BaseJsonBodyController;
import com.mortals.xhx.busiz.req.AppealReq;
import com.mortals.xhx.busiz.req.PerformReq;
import com.mortals.xhx.busiz.rsp.PerformDetailInfo;
import com.mortals.xhx.busiz.rsp.PerformInfo;
import com.mortals.xhx.busiz.rsp.PerformStatInfo;
import com.mortals.xhx.common.code.PerformTypeEnum;
import com.mortals.xhx.module.check.service.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
/**
* h5 绩效
* @author: zxfei
* @date: 2023/7/7 13:20
*/
@RestController
@Slf4j
@RequestMapping("/api/v1/")
public class PerformApiController extends BaseJsonBodyController {
@Autowired
private CheckAttendRecordService checkAttendRecordService;
@Autowired
private CheckReviewRecordService checkReviewRecordService;
@Autowired
private CheckComplainRecordService checkComplainRecordService;
@Autowired
private CheckEffectRecordService checkEffectRecordService;
@Autowired
private CheckGoworkRecordService checkGoworkRecordService;
@Autowired
private CheckOtherRecordService checkOtherRecordService;
/**
* 个人当天绩效统计
*/
@PostMapping(value = "perform/stat")
public Rest<PerformStatInfo> performStat() {
String busiDesc = "H5 个人绩效统计";
Rest<PerformStatInfo> rest = Rest.ok(busiDesc + " 【成功】");
try {
//todo 查询当前登录人的绩效分数
recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) {
log.error(busiDesc, e);
rest = Rest.fail(super.convertException(e));
}
return rest;
}
/**
* 个人当月绩效加分扣分列表
*/
@PostMapping(value = "perform/list")
public Rest<List<PerformInfo>> performList(@RequestBody PerformReq performReq) {
String busiDesc = "个人绩效列表";
Rest<List<PerformInfo>> rest = Rest.ok(busiDesc + " 【成功】");
try {
if (ObjectUtils.isEmpty(performReq.getPerformStartDate())) {
//未设置时间的情况,默认为当月
performReq.setPerformStartDate(DateUtil.beginOfMonth(new Date()).toDateStr());
performReq.setPerformEndDate(DateUtil.today());
}
//todo 查询全部扣分绩效
if (PerformTypeEnum.全部.getValue().equals(performReq.getPerformType())) {
} else if (PerformTypeEnum.考勤绩效.getValue().equals(performReq.getPerformType())) {
} else if (PerformTypeEnum.评价差评绩效.getValue().equals(performReq.getPerformType())) {
} else if (PerformTypeEnum.评价投诉绩效.getValue().equals(performReq.getPerformType())) {
} else if (PerformTypeEnum.办件绩效.getValue().equals(performReq.getPerformType())) {
} else if (PerformTypeEnum.效能绩效.getValue().equals(performReq.getPerformType())) {
} else if (PerformTypeEnum.其它绩效.getValue().equals(performReq.getPerformType())) {
} else {
throw new AppException("不支持当前绩效类型");
}
recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) {
log.error(busiDesc, e);
rest = Rest.fail(super.convertException(e));
}
return rest;
}
/**
* 扣分加分详细
*/
@PostMapping(value = "perform/detail")
public Rest<PerformDetailInfo> performDetail(@RequestBody PerformReq performReq) {
String busiDesc = "个人绩效增减详细";
Rest<PerformDetailInfo> rest = Rest.ok(busiDesc + " 【成功】");
try {
if (ObjectUtils.isEmpty(performReq.getId())) {
throw new AppException("详细查询id不能为空!");
}
//todo 查询全部扣分绩效详细
if (PerformTypeEnum.考勤绩效.getValue().equals(performReq.getPerformType())) {
} else if (PerformTypeEnum.评价差评绩效.getValue().equals(performReq.getPerformType())) {
} else if (PerformTypeEnum.评价投诉绩效.getValue().equals(performReq.getPerformType())) {
} else if (PerformTypeEnum.办件绩效.getValue().equals(performReq.getPerformType())) {
} else if (PerformTypeEnum.效能绩效.getValue().equals(performReq.getPerformType())) {
} else if (PerformTypeEnum.其它绩效.getValue().equals(performReq.getPerformType())) {
} else {
throw new AppException("不支持当前绩效类型");
}
recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) {
log.error(busiDesc, e);
rest = Rest.fail(super.convertException(e));
}
return rest;
}
public static void main(String[] args) {
}
}
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* @author: finegirl
* @date: 2021/7/16 11:50
* @description: 组件枚举类
**/
public enum PerformTypeEnum {
全部("all", "全部"),
考勤绩效("attend", "考勤绩效"),
评价差评绩效("review", "评价好差评绩效"),
评价投诉绩效("complain", "评价投诉绩效"),
办件绩效("gowork", "办件绩效"),
效能绩效("effect", "效能绩效"),
其它绩效("other", "其它绩效");
private String value;
private String desc;
PerformTypeEnum(String value, String desc) {
this.value = value;
this.desc = desc;
}
public String getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static PerformTypeEnum getByValue(String value) {
for (PerformTypeEnum componentEnum : PerformTypeEnum.values()) {
if (componentEnum.getValue() == value) {
return componentEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(String... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (PerformTypeEnum item : PerformTypeEnum.values()) {
try {
boolean hasE = false;
for (String e : eItem) {
if (item.getValue() == e) {
hasE = true;
break;
}
}
if (!hasE) {
resultMap.put(item.getValue() + "", item.getDesc());
}
} catch (Exception ex) {
}
}
return resultMap;
}
}
\ No newline at end of file
......@@ -9,11 +9,11 @@ import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.check.model.vo.CheckAttendRecordVo;
import lombok.Data;
/**
* 考勤绩效记录核查信息实体对象
*
* @author zxfei
* @date 2023-05-18
*/
* 考勤绩效记录核查信息实体对象
*
* @author zxfei
* @date 2023-07-07
*/
@Data
public class CheckAttendRecordEntity extends CheckAttendRecordVo {
private static final long serialVersionUID = 1L;
......@@ -89,6 +89,7 @@ public class CheckAttendRecordEntity extends CheckAttendRecordVo {
/**
* 核查人员
*/
@Excel(name = "核查人员")
private String checkPerson;
/**
* 核查时间
......@@ -97,15 +98,21 @@ public class CheckAttendRecordEntity extends CheckAttendRecordVo {
/**
* 核查说明
*/
@Excel(name = "核查说明")
private String checkDesc;
/**
* 核查结果
*/
@Excel(name = "核查结果")
private String checkResult;
/**
* 处理状态(1.未处理,2.已处理)
*/
private Integer checkStatus;
/**
* 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
*/
private Integer subMethod;
@Override
public int hashCode() {
return this.getId().hashCode();
......@@ -167,5 +174,7 @@ public class CheckAttendRecordEntity extends CheckAttendRecordVo {
this.checkResult = "";
this.checkStatus = 1;
this.subMethod = 1;
}
}
\ No newline at end of file
......@@ -5,11 +5,11 @@ import java.util.Date;
import java.util.List;
import com.mortals.xhx.module.check.model.CheckAttendRecordEntity;
/**
* 考勤绩效记录核查信息查询对象
*
* @author zxfei
* @date 2023-05-18
*/
* 考勤绩效记录核查信息查询对象
*
* @author zxfei
* @date 2023-07-07
*/
public class CheckAttendRecordQuery extends CheckAttendRecordEntity {
/** 开始 序号,主键,自增长 */
private Long idStart;
......@@ -262,6 +262,21 @@ public class CheckAttendRecordQuery extends CheckAttendRecordEntity {
/** 结束 更新时间 */
private String updateTimeEnd;
/** 开始 扣分方式(1.系统自动,2.人工添加,3.大厅巡查) */
private Integer subMethodStart;
/** 结束 扣分方式(1.系统自动,2.人工添加,3.大厅巡查) */
private Integer subMethodEnd;
/** 增加 扣分方式(1.系统自动,2.人工添加,3.大厅巡查) */
private Integer subMethodIncrement;
/** 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)列表 */
private List <Integer> subMethodList;
/** 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)排除列表 */
private List <Integer> subMethodNotList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<CheckAttendRecordQuery> orConditionList;
......@@ -1673,6 +1688,87 @@ public class CheckAttendRecordQuery extends CheckAttendRecordEntity {
this.updateTimeEnd = updateTimeEnd;
}
/**
* 获取 开始 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
* @return subMethodStart
*/
public Integer getSubMethodStart(){
return this.subMethodStart;
}
/**
* 设置 开始 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
* @param subMethodStart
*/
public void setSubMethodStart(Integer subMethodStart){
this.subMethodStart = subMethodStart;
}
/**
* 获取 结束 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
* @return $subMethodEnd
*/
public Integer getSubMethodEnd(){
return this.subMethodEnd;
}
/**
* 设置 结束 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
* @param subMethodEnd
*/
public void setSubMethodEnd(Integer subMethodEnd){
this.subMethodEnd = subMethodEnd;
}
/**
* 获取 增加 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
* @return subMethodIncrement
*/
public Integer getSubMethodIncrement(){
return this.subMethodIncrement;
}
/**
* 设置 增加 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
* @param subMethodIncrement
*/
public void setSubMethodIncrement(Integer subMethodIncrement){
this.subMethodIncrement = subMethodIncrement;
}
/**
* 获取 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
* @return subMethodList
*/
public List<Integer> getSubMethodList(){
return this.subMethodList;
}
/**
* 设置 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
* @param subMethodList
*/
public void setSubMethodList(List<Integer> subMethodList){
this.subMethodList = subMethodList;
}
/**
* 获取 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
* @return subMethodNotList
*/
public List<Integer> getSubMethodNotList(){
return this.subMethodNotList;
}
/**
* 设置 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
* @param subMethodNotList
*/
public void setSubMethodNotList(List<Integer> subMethodNotList){
this.subMethodNotList = subMethodNotList;
}
/**
* 设置 序号,主键,自增长
* @param id
......@@ -2463,6 +2559,60 @@ public class CheckAttendRecordQuery extends CheckAttendRecordEntity {
}
/**
* 设置 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
* @param subMethod
*/
public CheckAttendRecordQuery subMethod(Integer subMethod){
setSubMethod(subMethod);
return this;
}
/**
* 设置 开始 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
* @param subMethodStart
*/
public CheckAttendRecordQuery subMethodStart(Integer subMethodStart){
this.subMethodStart = subMethodStart;
return this;
}
/**
* 设置 结束 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
* @param subMethodEnd
*/
public CheckAttendRecordQuery subMethodEnd(Integer subMethodEnd){
this.subMethodEnd = subMethodEnd;
return this;
}
/**
* 设置 增加 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
* @param subMethodIncrement
*/
public CheckAttendRecordQuery subMethodIncrement(Integer subMethodIncrement){
this.subMethodIncrement = subMethodIncrement;
return this;
}
/**
* 设置 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
* @param subMethodList
*/
public CheckAttendRecordQuery subMethodList(List<Integer> subMethodList){
this.subMethodList = subMethodList;
return this;
}
/**
* 设置 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
* @param subMethodNotList
*/
public CheckAttendRecordQuery subMethodNotList(List<Integer> subMethodNotList){
this.subMethodNotList = subMethodNotList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
......
package com.mortals.xhx.module.check.service;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.check.model.CheckAttendRecordEntity;
import com.mortals.xhx.module.check.dao.CheckAttendRecordDao;
......@@ -13,4 +15,12 @@ import com.mortals.xhx.module.check.dao.CheckAttendRecordDao;
public interface CheckAttendRecordService extends ICRUDService<CheckAttendRecordEntity,Long>{
CheckAttendRecordDao getDao();
/**
* 核查人工审核
* @param entity
* @param context
* @throws AppException
*/
void examine(CheckAttendRecordEntity entity, Context context) throws AppException;
}
\ No newline at end of file
package com.mortals.xhx.module.check.service;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.check.model.CheckComplainRecordEntity;
import com.mortals.xhx.module.check.dao.CheckComplainRecordDao;
......@@ -13,4 +15,12 @@ import com.mortals.xhx.module.check.dao.CheckComplainRecordDao;
public interface CheckComplainRecordService extends ICRUDService<CheckComplainRecordEntity,Long>{
CheckComplainRecordDao getDao();
/**
* 核查人工审核
* @param entity
* @param context
* @throws AppException
*/
void examine(CheckComplainRecordEntity entity, Context context) throws AppException;
}
\ No newline at end of file
package com.mortals.xhx.module.check.service;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.check.model.CheckEffectRecordEntity;
import com.mortals.xhx.module.check.dao.CheckEffectRecordDao;
......@@ -13,4 +15,12 @@ import com.mortals.xhx.module.check.dao.CheckEffectRecordDao;
public interface CheckEffectRecordService extends ICRUDService<CheckEffectRecordEntity,Long>{
CheckEffectRecordDao getDao();
/**
* 核查人工审核
* @param entity
* @param context
* @throws AppException
*/
void examine(CheckEffectRecordEntity entity, Context context) throws AppException;
}
\ No newline at end of file
package com.mortals.xhx.module.check.service;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.check.model.CheckGoworkRecordEntity;
import com.mortals.xhx.module.check.dao.CheckGoworkRecordDao;
......@@ -14,5 +16,11 @@ public interface CheckGoworkRecordService extends ICRUDService<CheckGoworkRecord
CheckGoworkRecordDao getDao();
/**
* 核查人工审核
* @param entity
* @param context
* @throws AppException
*/
void examine(CheckGoworkRecordEntity entity, Context context) throws AppException;
}
\ No newline at end of file
package com.mortals.xhx.module.check.service;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.check.model.CheckOtherRecordEntity;
import com.mortals.xhx.module.check.dao.CheckOtherRecordDao;
......@@ -13,4 +15,12 @@ import com.mortals.xhx.module.check.dao.CheckOtherRecordDao;
public interface CheckOtherRecordService extends ICRUDService<CheckOtherRecordEntity,Long>{
CheckOtherRecordDao getDao();
/**
* 核查人工审核
* @param entity
* @param context
* @throws AppException
*/
void examine(CheckOtherRecordEntity entity, Context context) throws AppException;
}
\ No newline at end of file
package com.mortals.xhx.module.check.service;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.check.model.CheckReviewRecordEntity;
import com.mortals.xhx.module.check.dao.CheckReviewRecordDao;
......@@ -13,4 +15,12 @@ import com.mortals.xhx.module.check.dao.CheckReviewRecordDao;
public interface CheckReviewRecordService extends ICRUDService<CheckReviewRecordEntity,Long>{
CheckReviewRecordDao getDao();
/**
* 核查人工审核
* @param entity
* @param context
* @throws AppException
*/
void examine(CheckReviewRecordEntity entity, Context context) throws AppException;
}
\ No newline at end of file
package com.mortals.xhx.module.check.service.impl;
import com.mortals.framework.service.IUser;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
......@@ -7,6 +8,9 @@ import com.mortals.xhx.module.check.dao.CheckAttendRecordDao;
import com.mortals.xhx.module.check.model.CheckAttendRecordEntity;
import com.mortals.xhx.module.check.service.CheckAttendRecordService;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
/**
* CheckAttendRecordService
* 考勤绩效记录核查信息 service实现
......@@ -18,4 +22,19 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j
public class CheckAttendRecordServiceImpl extends AbstractCRUDServiceImpl<CheckAttendRecordDao, CheckAttendRecordEntity, Long> implements CheckAttendRecordService {
@Override
public void examine(CheckAttendRecordEntity entity, Context context) throws AppException {
if(entity.getId()==null){
throw new AppException("核查记录ID不能为空");
}
if (context != null && context.getUser()!=null) {
IUser user = context.getUser();
entity.setUpdateUserId(user.getId());
entity.setCheckPerson(user.getRealName());
}
entity.setCheckTime(new Date());
entity.setUpdateTime(entity.getCheckTime());
entity.setCheckStatus(2); //处理状态(1.未处理,2.已处理)
dao.update(entity);
}
}
\ No newline at end of file
package com.mortals.xhx.module.check.service.impl;
import com.mortals.framework.service.IUser;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
......@@ -7,6 +8,9 @@ import com.mortals.xhx.module.check.dao.CheckComplainRecordDao;
import com.mortals.xhx.module.check.model.CheckComplainRecordEntity;
import com.mortals.xhx.module.check.service.CheckComplainRecordService;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
/**
* CheckComplainRecordService
* 评价绩效投诉核查信息 service实现
......@@ -18,4 +22,19 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j
public class CheckComplainRecordServiceImpl extends AbstractCRUDServiceImpl<CheckComplainRecordDao, CheckComplainRecordEntity, Long> implements CheckComplainRecordService {
@Override
public void examine(CheckComplainRecordEntity entity, Context context) throws AppException {
if(entity.getId()==null){
throw new AppException("核查记录ID不能为空");
}
if (context != null && context.getUser()!=null) {
IUser user = context.getUser();
entity.setUpdateUserId(user.getId());
entity.setCheckPerson(user.getRealName());
}
entity.setCheckTime(new Date());
entity.setUpdateTime(entity.getCheckTime());
entity.setCheckStatus(2); //处理状态(1.未处理,2.已处理)
dao.update(entity);
}
}
\ No newline at end of file
package com.mortals.xhx.module.check.service.impl;
import com.mortals.framework.service.IUser;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
......@@ -7,6 +8,9 @@ import com.mortals.xhx.module.check.dao.CheckEffectRecordDao;
import com.mortals.xhx.module.check.model.CheckEffectRecordEntity;
import com.mortals.xhx.module.check.service.CheckEffectRecordService;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
/**
* CheckEffectRecordService
* 效能绩效核查信息 service实现
......@@ -18,4 +22,19 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j
public class CheckEffectRecordServiceImpl extends AbstractCRUDServiceImpl<CheckEffectRecordDao, CheckEffectRecordEntity, Long> implements CheckEffectRecordService {
@Override
public void examine(CheckEffectRecordEntity entity, Context context) throws AppException {
if(entity.getId()==null){
throw new AppException("核查记录ID不能为空");
}
if (context != null && context.getUser()!=null) {
IUser user = context.getUser();
entity.setUpdateUserId(user.getId());
entity.setCheckPerson(user.getRealName());
}
entity.setCheckTime(new Date());
entity.setUpdateTime(entity.getCheckTime());
entity.setCheckStatus(2); //处理状态(1.未处理,2.已处理)
dao.update(entity);
}
}
\ No newline at end of file
package com.mortals.xhx.module.check.service.impl;
import com.mortals.framework.service.IUser;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
......@@ -7,6 +8,9 @@ import com.mortals.xhx.module.check.dao.CheckGoworkRecordDao;
import com.mortals.xhx.module.check.model.CheckGoworkRecordEntity;
import com.mortals.xhx.module.check.service.CheckGoworkRecordService;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
/**
* CheckGoworkRecordService
* 办件绩效核查信息 service实现
......@@ -18,4 +22,19 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j
public class CheckGoworkRecordServiceImpl extends AbstractCRUDServiceImpl<CheckGoworkRecordDao, CheckGoworkRecordEntity, Long> implements CheckGoworkRecordService {
@Override
public void examine(CheckGoworkRecordEntity entity, Context context) throws AppException {
if(entity.getId()==null){
throw new AppException("核查记录ID不能为空");
}
if (context != null && context.getUser()!=null) {
IUser user = context.getUser();
entity.setUpdateUserId(user.getId());
entity.setCheckPerson(user.getRealName());
}
entity.setCheckTime(new Date());
entity.setUpdateTime(entity.getCheckTime());
entity.setCheckStatus(2); //处理状态(1.未处理,2.已处理)
dao.update(entity);
}
}
\ No newline at end of file
package com.mortals.xhx.module.check.service.impl;
import com.mortals.framework.service.IUser;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
......@@ -7,6 +8,9 @@ import com.mortals.xhx.module.check.dao.CheckOtherRecordDao;
import com.mortals.xhx.module.check.model.CheckOtherRecordEntity;
import com.mortals.xhx.module.check.service.CheckOtherRecordService;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
/**
* CheckOtherRecordService
* 其它绩效核查信息 service实现
......@@ -18,4 +22,19 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j
public class CheckOtherRecordServiceImpl extends AbstractCRUDServiceImpl<CheckOtherRecordDao, CheckOtherRecordEntity, Long> implements CheckOtherRecordService {
@Override
public void examine(CheckOtherRecordEntity entity, Context context) throws AppException {
if(entity.getId()==null){
throw new AppException("核查记录ID不能为空");
}
if (context != null && context.getUser()!=null) {
IUser user = context.getUser();
entity.setUpdateUserId(user.getId());
entity.setCheckPerson(user.getRealName());
}
entity.setCheckTime(new Date());
entity.setUpdateTime(entity.getCheckTime());
entity.setCheckStatus(2); //处理状态(1.未处理,2.已处理)
dao.update(entity);
}
}
\ No newline at end of file
package com.mortals.xhx.module.check.service.impl;
import com.mortals.framework.service.IUser;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
......@@ -7,6 +8,9 @@ import com.mortals.xhx.module.check.dao.CheckReviewRecordDao;
import com.mortals.xhx.module.check.model.CheckReviewRecordEntity;
import com.mortals.xhx.module.check.service.CheckReviewRecordService;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
/**
* CheckReviewRecordService
* 评价差评绩效核查信息 service实现
......@@ -18,4 +22,19 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j
public class CheckReviewRecordServiceImpl extends AbstractCRUDServiceImpl<CheckReviewRecordDao, CheckReviewRecordEntity, Long> implements CheckReviewRecordService {
@Override
public void examine(CheckReviewRecordEntity entity, Context context) throws AppException {
if(entity.getId()==null){
throw new AppException("核查记录ID不能为空");
}
if (context != null && context.getUser()!=null) {
IUser user = context.getUser();
entity.setUpdateUserId(user.getId());
entity.setCheckPerson(user.getRealName());
}
entity.setCheckTime(new Date());
entity.setUpdateTime(entity.getCheckTime());
entity.setCheckStatus(2); //处理状态(1.未处理,2.已处理)
dao.update(entity);
}
}
\ No newline at end of file
package com.mortals.xhx.module.check.web;
import com.mortals.framework.annotation.RepeatSubmit;
import com.mortals.framework.model.BaseEntity;
import com.mortals.framework.service.IUser;
import com.mortals.framework.utils.BeanUtil;
import com.mortals.framework.utils.ReflectUtils;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......@@ -13,12 +19,10 @@ import com.mortals.xhx.module.check.model.CheckAttendRecordEntity;
import com.mortals.xhx.module.check.service.CheckAttendRecordService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
......@@ -44,8 +48,40 @@ public class CheckAttendRecordController extends BaseCRUDJsonBodyMappingControll
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "subAddType", paramService.getParamBySecondOrganize("CheckAttendRecord","subAddType"));
this.addDict(model, "checkStatus", paramService.getParamBySecondOrganize("CheckAttendRecord","checkStatus"));
this.addDict(model, "subMethod", paramService.getParamBySecondOrganize("CheckAttendRecord","subMethod"));
super.init(model, context);
}
/**
* 审核
* @param entity
* @return
*/
@PostMapping({"examine"})
public String examine(@RequestBody CheckAttendRecordEntity entity) {
Map<String, Object> model = new HashMap();
Context context = this.getContext();
int code = 1;
String busiDesc = "考勤绩效核查审核";
try {
this.service.examine(entity, context);
model.put("id", entity.getId());
model.put("entity", entity);
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】 [id:" + entity.getId() + "]");
} catch (Exception var9) {
this.doException(this.request, busiDesc, model, var9);
model.put("entity", entity);
this.init(model, context);
code = this.saveException(entity, model, context, var9);
}
this.init(model, context);
JSONObject ret = new JSONObject();
ret.put("code", code);
ret.put("msg", model.remove("message_info"));
ret.put("data", model);
return ret.toJSONString();
}
}
\ No newline at end of file
......@@ -48,4 +48,35 @@ public class CheckComplainRecordController extends BaseCRUDJsonBodyMappingContro
}
/**
* 审核
* @param entity
* @return
*/
@PostMapping({"examine"})
public String examine(@RequestBody CheckComplainRecordEntity entity) {
Map<String, Object> model = new HashMap();
Context context = this.getContext();
int code = 1;
String busiDesc = "考勤绩效核查审核";
try {
this.service.examine(entity, context);
model.put("id", entity.getId());
model.put("entity", entity);
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】 [id:" + entity.getId() + "]");
} catch (Exception var9) {
this.doException(this.request, busiDesc, model, var9);
model.put("entity", entity);
this.init(model, context);
code = this.saveException(entity, model, context, var9);
}
this.init(model, context);
JSONObject ret = new JSONObject();
ret.put("code", code);
ret.put("msg", model.remove("message_info"));
ret.put("data", model);
return ret.toJSONString();
}
}
\ No newline at end of file
......@@ -47,6 +47,36 @@ public class CheckEffectRecordController extends BaseCRUDJsonBodyMappingControll
this.addDict(model, "checkStatus", paramService.getParamBySecondOrganize("CheckEffectRecord","checkStatus"));
super.init(model, context);
}
/**
* 审核
* @param entity
* @return
*/
@PostMapping({"examine"})
public String examine(@RequestBody CheckEffectRecordEntity entity) {
Map<String, Object> model = new HashMap();
Context context = this.getContext();
int code = 1;
String busiDesc = "考勤绩效核查审核";
try {
this.service.examine(entity, context);
model.put("id", entity.getId());
model.put("entity", entity);
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】 [id:" + entity.getId() + "]");
} catch (Exception var9) {
this.doException(this.request, busiDesc, model, var9);
model.put("entity", entity);
this.init(model, context);
code = this.saveException(entity, model, context, var9);
}
this.init(model, context);
JSONObject ret = new JSONObject();
ret.put("code", code);
ret.put("msg", model.remove("message_info"));
ret.put("data", model);
return ret.toJSONString();
}
}
\ No newline at end of file
......@@ -47,5 +47,35 @@ public class CheckGoworkRecordController extends BaseCRUDJsonBodyMappingControll
super.init(model, context);
}
/**
* 审核
* @param entity
* @return
*/
@PostMapping({"examine"})
public String examine(@RequestBody CheckGoworkRecordEntity entity) {
Map<String, Object> model = new HashMap();
Context context = this.getContext();
int code = 1;
String busiDesc = "考勤绩效核查审核";
try {
this.service.examine(entity, context);
model.put("id", entity.getId());
model.put("entity", entity);
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】 [id:" + entity.getId() + "]");
} catch (Exception var9) {
this.doException(this.request, busiDesc, model, var9);
model.put("entity", entity);
this.init(model, context);
code = this.saveException(entity, model, context, var9);
}
this.init(model, context);
JSONObject ret = new JSONObject();
ret.put("code", code);
ret.put("msg", model.remove("message_info"));
ret.put("data", model);
return ret.toJSONString();
}
}
\ No newline at end of file
......@@ -47,6 +47,36 @@ public class CheckOtherRecordController extends BaseCRUDJsonBodyMappingControlle
this.addDict(model, "checkStatus", paramService.getParamBySecondOrganize("CheckOtherRecord","checkStatus"));
super.init(model, context);
}
/**
* 审核
* @param entity
* @return
*/
@PostMapping({"examine"})
public String examine(@RequestBody CheckOtherRecordEntity entity) {
Map<String, Object> model = new HashMap();
Context context = this.getContext();
int code = 1;
String busiDesc = "考勤绩效核查审核";
try {
this.service.examine(entity, context);
model.put("id", entity.getId());
model.put("entity", entity);
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】 [id:" + entity.getId() + "]");
} catch (Exception var9) {
this.doException(this.request, busiDesc, model, var9);
model.put("entity", entity);
this.init(model, context);
code = this.saveException(entity, model, context, var9);
}
this.init(model, context);
JSONObject ret = new JSONObject();
ret.put("code", code);
ret.put("msg", model.remove("message_info"));
ret.put("data", model);
return ret.toJSONString();
}
}
\ No newline at end of file
......@@ -49,5 +49,36 @@ public class CheckReviewRecordController extends BaseCRUDJsonBodyMappingControll
super.init(model, context);
}
/**
* 审核
* @param entity
* @return
*/
@PostMapping({"examine"})
public String examine(@RequestBody CheckReviewRecordEntity entity) {
Map<String, Object> model = new HashMap();
Context context = this.getContext();
int code = 1;
String busiDesc = "考勤绩效核查审核";
try {
this.service.examine(entity, context);
model.put("id", entity.getId());
model.put("entity", entity);
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】 [id:" + entity.getId() + "]");
} catch (Exception var9) {
this.doException(this.request, busiDesc, model, var9);
model.put("entity", entity);
this.init(model, context);
code = this.saveException(entity, model, context, var9);
}
this.init(model, context);
JSONObject ret = new JSONObject();
ret.put("code", code);
ret.put("msg", model.remove("message_info"));
ret.put("data", model);
return ret.toJSONString();
}
}
\ No newline at end of file
......@@ -10,11 +10,11 @@ import com.mortals.xhx.module.feedback.model.vo.FeedbackVo;
import com.mortals.xhx.module.feedback.model.FeedbackQuestionEntity;
import lombok.Data;
/**
* 绩效反馈记录信息实体对象
*
* @author zxfei
* @date 2023-07-05
*/
* 绩效反馈记录信息实体对象
*
* @author zxfei
* @date 2023-07-07
*/
@Data
public class FeedbackEntity extends FeedbackVo {
private static final long serialVersionUID = 1L;
......@@ -55,6 +55,10 @@ public class FeedbackEntity extends FeedbackVo {
* 备注说明
*/
private String remark;
/**
* 表单内容
*/
private String formContent;
/**
* 绩效反馈问题信息
*/
......@@ -101,5 +105,7 @@ public class FeedbackEntity extends FeedbackVo {
this.webUrl = "";
this.remark = "";
this.formContent = "";
}
}
\ No newline at end of file
......@@ -5,11 +5,11 @@ import java.util.Date;
import java.util.List;
import com.mortals.xhx.module.feedback.model.FeedbackEntity;
/**
* 绩效反馈记录信息查询对象
*
* @author zxfei
* @date 2023-07-05
*/
* 绩效反馈记录信息查询对象
*
* @author zxfei
* @date 2023-07-07
*/
public class FeedbackQuery extends FeedbackEntity {
/** 开始 序号,主键,自增长 */
private Long idStart;
......@@ -155,6 +155,11 @@ public class FeedbackQuery extends FeedbackEntity {
/** 结束 更新时间 */
private String updateTimeEnd;
/** 表单内容 */
private List<String> formContentList;
/** 表单内容排除列表 */
private List <String> formContentNotList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<FeedbackQuery> orConditionList;
......@@ -954,6 +959,70 @@ public class FeedbackQuery extends FeedbackEntity {
this.updateTimeEnd = updateTimeEnd;
}
/**
* 获取 表单内容
* @return formContentList
*/
public List<String> getFormContentList(){
return this.formContentList;
}
/**
* 设置 表单内容
* @param formContentList
*/
public void setFormContentList(List<String> formContentList){
this.formContentList = formContentList;
}
/**
* 获取 表单内容
* @return formContentNotList
*/
public List<String> getFormContentNotList(){
return this.formContentNotList;
}
/**
* 设置 表单内容
* @param formContentNotList
*/
public void setFormContentNotList(List<String> formContentNotList){
this.formContentNotList = formContentNotList;
}
/**
* 获取 表单内容
* @return formContentList
*/
public List<String> getFormContentList(){
return this.formContentList;
}
/**
* 设置 表单内容
* @param formContentList
*/
public void setFormContentList(List<String> formContentList){
this.formContentList = formContentList;
}
/**
* 获取 表单内容
* @return formContentNotList
*/
public List<String> getFormContentNotList(){
return this.formContentNotList;
}
/**
* 设置 表单内容
* @param formContentNotList
*/
public void setFormContentNotList(List<String> formContentNotList){
this.formContentNotList = formContentNotList;
}
/**
* 设置 序号,主键,自增长
* @param id
......@@ -1393,6 +1462,24 @@ public class FeedbackQuery extends FeedbackEntity {
}
/**
* 设置 表单内容
* @param formContent
*/
public FeedbackQuery formContent(String formContent){
setFormContent(formContent);
return this;
}
/**
* 设置 表单内容
* @param formContentList
*/
public FeedbackQuery formContentList(List<String> formContentList){
this.formContentList = formContentList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
......
......@@ -12,7 +12,7 @@ import lombok.Data;
* 员工基本信息实体对象
*
* @author zxfei
* @date 2023-05-16
* @date 2023-07-07
*/
@Data
public class StaffEntity extends StaffVo {
......@@ -114,6 +114,18 @@ public class StaffEntity extends StaffVo {
* 绩效分数
*/
private BigDecimal score;
/**
* 员工登录名
*/
private String loginName;
/**
* 员工登录密码
*/
private String loginPwd;
/**
* 最后登录时间
*/
private Date lastLoginTime;
@Override
public int hashCode() {
return this.getId().hashCode();
......@@ -179,5 +191,11 @@ public class StaffEntity extends StaffVo {
this.serverIndexCode = "";
this.score = new BigDecimal(0);
this.loginName = "";
this.loginPwd = "";
this.lastLoginTime = null;
}
}
\ No newline at end of file
......@@ -8,7 +8,7 @@ import com.mortals.xhx.module.staff.model.StaffEntity;
* 员工基本信息查询对象
*
* @author zxfei
* @date 2023-05-16
* @date 2023-07-07
*/
public class StaffQuery extends StaffEntity {
/** 开始 序号,主键,自增长 */
......@@ -272,6 +272,22 @@ public class StaffQuery extends StaffEntity {
/** 绩效分数排除列表 */
private List <BigDecimal> scoreNotList;
/** 员工登录名 */
private List<String> loginNameList;
/** 员工登录名排除列表 */
private List <String> loginNameNotList;
/** 员工登录密码 */
private List<String> loginPwdList;
/** 员工登录密码排除列表 */
private List <String> loginPwdNotList;
/** 开始 最后登录时间 */
private String lastLoginTimeStart;
/** 结束 最后登录时间 */
private String lastLoginTimeEnd;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<StaffQuery> orConditionList;
......@@ -1747,6 +1763,102 @@ public class StaffQuery extends StaffEntity {
}
/**
* 获取 员工登录名
* @return loginNameList
*/
public List<String> getLoginNameList(){
return this.loginNameList;
}
/**
* 设置 员工登录名
* @param loginNameList
*/
public void setLoginNameList(List<String> loginNameList){
this.loginNameList = loginNameList;
}
/**
* 获取 员工登录名
* @return loginNameNotList
*/
public List<String> getLoginNameNotList(){
return this.loginNameNotList;
}
/**
* 设置 员工登录名
* @param loginNameNotList
*/
public void setLoginNameNotList(List<String> loginNameNotList){
this.loginNameNotList = loginNameNotList;
}
/**
* 获取 员工登录密码
* @return loginPwdList
*/
public List<String> getLoginPwdList(){
return this.loginPwdList;
}
/**
* 设置 员工登录密码
* @param loginPwdList
*/
public void setLoginPwdList(List<String> loginPwdList){
this.loginPwdList = loginPwdList;
}
/**
* 获取 员工登录密码
* @return loginPwdNotList
*/
public List<String> getLoginPwdNotList(){
return this.loginPwdNotList;
}
/**
* 设置 员工登录密码
* @param loginPwdNotList
*/
public void setLoginPwdNotList(List<String> loginPwdNotList){
this.loginPwdNotList = loginPwdNotList;
}
/**
* 获取 开始 最后登录时间
* @return lastLoginTimeStart
*/
public String getLastLoginTimeStart(){
return this.lastLoginTimeStart;
}
/**
* 设置 开始 最后登录时间
* @param lastLoginTimeStart
*/
public void setLastLoginTimeStart(String lastLoginTimeStart){
this.lastLoginTimeStart = lastLoginTimeStart;
}
/**
* 获取 结束 最后登录时间
* @return lastLoginTimeEnd
*/
public String getLastLoginTimeEnd(){
return this.lastLoginTimeEnd;
}
/**
* 设置 结束 最后登录时间
* @param lastLoginTimeEnd
*/
public void setLastLoginTimeEnd(String lastLoginTimeEnd){
this.lastLoginTimeEnd = lastLoginTimeEnd;
}
/**
* 设置 序号,主键,自增长
* @param id
......@@ -2575,6 +2687,45 @@ public class StaffQuery extends StaffEntity {
return this;
}
/**
* 设置 员工登录名
* @param loginName
*/
public StaffQuery loginName(String loginName){
setLoginName(loginName);
return this;
}
/**
* 设置 员工登录名
* @param loginNameList
*/
public StaffQuery loginNameList(List<String> loginNameList){
this.loginNameList = loginNameList;
return this;
}
/**
* 设置 员工登录密码
* @param loginPwd
*/
public StaffQuery loginPwd(String loginPwd){
setLoginPwd(loginPwd);
return this;
}
/**
* 设置 员工登录密码
* @param loginPwdList
*/
public StaffQuery loginPwdList(List<String> loginPwdList){
this.loginPwdList = loginPwdList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.check.dao.ibatis.CheckAttendRecordDaoImpl">
<!-- 字段和属性映射 -->
......@@ -32,6 +32,7 @@
<result property="createTime" column="createTime" />
<result property="updateUserId" column="updateUserId" />
<result property="updateTime" column="updateTime" />
<result property="subMethod" column="subMethod" />
</resultMap>
......@@ -120,23 +121,26 @@
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('subMethod') or colPickMode == 1 and data.containsKey('subMethod')))">
a.subMethod,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="CheckAttendRecordEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_check_attend_record
(recordId,staffId,staffName,workNum,deptId,deptName,attendanceGroupId,attendanceGroupName,attendanceDate,ruleId,ruleName,subAddType,score,goOffTimeStr,errorTime,actualAttendTime,errorResult,checkPerson,checkTime,checkDesc,checkResult,checkStatus,createUserId,createTime,updateUserId,updateTime)
(recordId,staffId,staffName,workNum,deptId,deptName,attendanceGroupId,attendanceGroupName,attendanceDate,ruleId,ruleName,subAddType,score,goOffTimeStr,errorTime,actualAttendTime,errorResult,checkPerson,checkTime,checkDesc,checkResult,checkStatus,createUserId,createTime,updateUserId,updateTime,subMethod)
VALUES
(#{recordId},#{staffId},#{staffName},#{workNum},#{deptId},#{deptName},#{attendanceGroupId},#{attendanceGroupName},#{attendanceDate},#{ruleId},#{ruleName},#{subAddType},#{score},#{goOffTimeStr},#{errorTime},#{actualAttendTime},#{errorResult},#{checkPerson},#{checkTime},#{checkDesc},#{checkResult},#{checkStatus},#{createUserId},#{createTime},#{updateUserId},#{updateTime})
(#{recordId},#{staffId},#{staffName},#{workNum},#{deptId},#{deptName},#{attendanceGroupId},#{attendanceGroupName},#{attendanceDate},#{ruleId},#{ruleName},#{subAddType},#{score},#{goOffTimeStr},#{errorTime},#{actualAttendTime},#{errorResult},#{checkPerson},#{checkTime},#{checkDesc},#{checkResult},#{checkStatus},#{createUserId},#{createTime},#{updateUserId},#{updateTime},#{subMethod})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_check_attend_record
(recordId,staffId,staffName,workNum,deptId,deptName,attendanceGroupId,attendanceGroupName,attendanceDate,ruleId,ruleName,subAddType,score,goOffTimeStr,errorTime,actualAttendTime,errorResult,checkPerson,checkTime,checkDesc,checkResult,checkStatus,createUserId,createTime,updateUserId,updateTime)
(recordId,staffId,staffName,workNum,deptId,deptName,attendanceGroupId,attendanceGroupName,attendanceDate,ruleId,ruleName,subAddType,score,goOffTimeStr,errorTime,actualAttendTime,errorResult,checkPerson,checkTime,checkDesc,checkResult,checkStatus,createUserId,createTime,updateUserId,updateTime,subMethod)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.recordId},#{item.staffId},#{item.staffName},#{item.workNum},#{item.deptId},#{item.deptName},#{item.attendanceGroupId},#{item.attendanceGroupName},#{item.attendanceDate},#{item.ruleId},#{item.ruleName},#{item.subAddType},#{item.score},#{item.goOffTimeStr},#{item.errorTime},#{item.actualAttendTime},#{item.errorResult},#{item.checkPerson},#{item.checkTime},#{item.checkDesc},#{item.checkResult},#{item.checkStatus},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime})
(#{item.recordId},#{item.staffId},#{item.staffName},#{item.workNum},#{item.deptId},#{item.deptName},#{item.attendanceGroupId},#{item.attendanceGroupName},#{item.attendanceDate},#{item.ruleId},#{item.ruleName},#{item.subAddType},#{item.score},#{item.goOffTimeStr},#{item.errorTime},#{item.actualAttendTime},#{item.errorResult},#{item.checkPerson},#{item.checkTime},#{item.checkDesc},#{item.checkResult},#{item.checkStatus},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime},#{item.subMethod})
</foreach>
</insert>
......@@ -254,6 +258,12 @@
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
<if test="(colPickMode==0 and data.containsKey('subMethod')) or (colPickMode==1 and !data.containsKey('subMethod'))">
a.subMethod=#{data.subMethod},
</if>
<if test="(colPickMode==0 and data.containsKey('subMethodIncrement')) or (colPickMode==1 and !data.containsKey('subMethodIncrement'))">
a.subMethod=ifnull(a.subMethod,0) + #{data.subMethodIncrement},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
......@@ -498,6 +508,18 @@
</if>
</foreach>
</trim>
<trim prefix="subMethod=(case" suffix="ELSE subMethod end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('subMethod')) or (colPickMode==1 and !item.containsKey('subMethod'))">
when a.id=#{item.id} then #{item.subMethod}
</when>
<when test="(colPickMode==0 and item.containsKey('subMethodIncrement')) or (colPickMode==1 and !item.containsKey('subMethodIncrement'))">
when a.id=#{item.id} then ifnull(a.subMethod,0) + #{item.subMethodIncrement}
</when>
</choose>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
......@@ -1211,6 +1233,33 @@
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('subMethod')">
<if test="conditionParamRef.subMethod != null ">
${_conditionType_} a.subMethod = #{${_conditionParam_}.subMethod}
</if>
<if test="conditionParamRef.subMethod == null">
${_conditionType_} a.subMethod is null
</if>
</if>
<if test="conditionParamRef.containsKey('subMethodList') and conditionParamRef.subMethodList.size() > 0">
${_conditionType_} a.subMethod in
<foreach collection="conditionParamRef.subMethodList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('subMethodNotList') and conditionParamRef.subMethodNotList.size() > 0">
${_conditionType_} a.subMethod not in
<foreach collection="conditionParamRef.subMethodNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('subMethodStart') and conditionParamRef.subMethodStart != null">
${_conditionType_} a.subMethod <![CDATA[ >= ]]> #{${_conditionParam_}.subMethodStart}
</if>
<if test="conditionParamRef.containsKey('subMethodEnd') and conditionParamRef.subMethodEnd != null">
${_conditionType_} a.subMethod <![CDATA[ <= ]]> #{${_conditionParam_}.subMethodEnd}
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
......@@ -1359,6 +1408,11 @@
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('subMethod')">
a.subMethod
<if test='orderCol.subMethod != null and "DESC".equalsIgnoreCase(orderCol.subMethod)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.feedback.dao.ibatis.FeedbackDaoImpl">
<!-- 字段和属性映射 -->
......@@ -19,6 +19,7 @@
<result property="createTime" column="createTime" />
<result property="updateUserId" column="updateUserId" />
<result property="updateTime" column="updateTime" />
<result property="formContent" column="formContent" />
<collection property="feedbackQuestionList" column="id" ofType="FeedbackQuestionEntity" javaType="ArrayList" select="getFeedbackQuestionByFeedbackId"></collection>
</resultMap>
<resultMap type="FeedbackQuestionEntity" id="FeedbackQuestionEntity-Map">
......@@ -81,6 +82,9 @@
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('formContent') or colPickMode == 1 and data.containsKey('formContent')))">
a.formContent,
</if>
</trim>
</sql>
<!-- 子表所有列 -->
......@@ -92,18 +96,18 @@
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="FeedbackEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_feedback
(title,feedbackTimeStart,feedbackTimeEnd,inviteNum,feedbackNum,processStatus,weblink,webUrl,remark,createUserId,createTime,updateUserId,updateTime)
(title,feedbackTimeStart,feedbackTimeEnd,inviteNum,feedbackNum,processStatus,weblink,webUrl,remark,createUserId,createTime,updateUserId,updateTime,formContent)
VALUES
(#{title},#{feedbackTimeStart},#{feedbackTimeEnd},#{inviteNum},#{feedbackNum},#{processStatus},#{weblink},#{webUrl},#{remark},#{createUserId},#{createTime},#{updateUserId},#{updateTime})
(#{title},#{feedbackTimeStart},#{feedbackTimeEnd},#{inviteNum},#{feedbackNum},#{processStatus},#{weblink},#{webUrl},#{remark},#{createUserId},#{createTime},#{updateUserId},#{updateTime},#{formContent})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_feedback
(title,feedbackTimeStart,feedbackTimeEnd,inviteNum,feedbackNum,processStatus,weblink,webUrl,remark,createUserId,createTime,updateUserId,updateTime)
(title,feedbackTimeStart,feedbackTimeEnd,inviteNum,feedbackNum,processStatus,weblink,webUrl,remark,createUserId,createTime,updateUserId,updateTime,formContent)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.title},#{item.feedbackTimeStart},#{item.feedbackTimeEnd},#{item.inviteNum},#{item.feedbackNum},#{item.processStatus},#{item.weblink},#{item.webUrl},#{item.remark},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime})
(#{item.title},#{item.feedbackTimeStart},#{item.feedbackTimeEnd},#{item.inviteNum},#{item.feedbackNum},#{item.processStatus},#{item.weblink},#{item.webUrl},#{item.remark},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime},#{item.formContent})
</foreach>
</insert>
......@@ -170,6 +174,9 @@
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
<if test="(colPickMode==0 and data.containsKey('formContent')) or (colPickMode==1 and !data.containsKey('formContent'))">
a.formContent=#{data.formContent},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
......@@ -303,6 +310,13 @@
</if>
</foreach>
</trim>
<trim prefix="formContent=(case" suffix="ELSE formContent end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('formContent')) or (colPickMode==1 and !item.containsKey('formContent'))">
when a.id=#{item.id} then #{item.formContent}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
......@@ -739,6 +753,27 @@
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('formContent')">
<if test="conditionParamRef.formContent != null and conditionParamRef.formContent != ''">
${_conditionType_} a.formContent like #{${_conditionParam_}.formContent}
</if>
<if test="conditionParamRef.formContent == null">
${_conditionType_} a.formContent is null
</if>
</if>
<if test="conditionParamRef.containsKey('formContentList') and conditionParamRef.formContentList.size() > 0">
${_conditionType_} a.formContent in
<foreach collection="conditionParamRef.formContentList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('formContentNotList') and conditionParamRef.formContentNotList.size() > 0">
${_conditionType_} a.formContent not in
<foreach collection="conditionParamRef.formContentNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
......@@ -822,6 +857,11 @@
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('formContent')">
a.formContent
<if test='orderCol.formContent != null and "DESC".equalsIgnoreCase(orderCol.formContent)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
......
......@@ -34,6 +34,9 @@
<result property="picUri" column="picUri" />
<result property="serverIndexCode" column="serverIndexCode" />
<result property="score" column="score" />
<result property="loginName" column="loginName" />
<result property="loginPwd" column="loginPwd" />
<result property="lastLoginTime" column="lastLoginTime" />
</resultMap>
......@@ -128,23 +131,32 @@
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('score') or colPickMode == 1 and data.containsKey('score')))">
a.score,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('loginName') or colPickMode == 1 and data.containsKey('loginName')))">
a.loginName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('loginPwd') or colPickMode == 1 and data.containsKey('loginPwd')))">
a.loginPwd,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('lastLoginTime') or colPickMode == 1 and data.containsKey('lastLoginTime')))">
a.lastLoginTime,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="StaffEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_staff
(name,gender,birthday,photoPath,phoneNumber,idCard,workNum,politicalstatus,deptId,deptName,positionId,positionName,staffType,status,source,registerPath,entryDate,regularDate,leaveDate,remark,createUserId,createTime,updateUserId,updateTime,remarkId,picUri,serverIndexCode,score)
(name,gender,birthday,photoPath,phoneNumber,idCard,workNum,politicalstatus,deptId,deptName,positionId,positionName,staffType,status,source,registerPath,entryDate,regularDate,leaveDate,remark,createUserId,createTime,updateUserId,updateTime,remarkId,picUri,serverIndexCode,score,loginName,loginPwd,lastLoginTime)
VALUES
(#{name},#{gender},#{birthday},#{photoPath},#{phoneNumber},#{idCard},#{workNum},#{politicalstatus},#{deptId},#{deptName},#{positionId},#{positionName},#{staffType},#{status},#{source},#{registerPath},#{entryDate},#{regularDate},#{leaveDate},#{remark},#{createUserId},#{createTime},#{updateUserId},#{updateTime},#{remarkId},#{picUri},#{serverIndexCode},#{score})
(#{name},#{gender},#{birthday},#{photoPath},#{phoneNumber},#{idCard},#{workNum},#{politicalstatus},#{deptId},#{deptName},#{positionId},#{positionName},#{staffType},#{status},#{source},#{registerPath},#{entryDate},#{regularDate},#{leaveDate},#{remark},#{createUserId},#{createTime},#{updateUserId},#{updateTime},#{remarkId},#{picUri},#{serverIndexCode},#{score},#{loginName},#{loginPwd},#{lastLoginTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_staff
(name,gender,birthday,photoPath,phoneNumber,idCard,workNum,politicalstatus,deptId,deptName,positionId,positionName,staffType,status,source,registerPath,entryDate,regularDate,leaveDate,remark,createUserId,createTime,updateUserId,updateTime,remarkId,picUri,serverIndexCode,score)
(name,gender,birthday,photoPath,phoneNumber,idCard,workNum,politicalstatus,deptId,deptName,positionId,positionName,staffType,status,source,registerPath,entryDate,regularDate,leaveDate,remark,createUserId,createTime,updateUserId,updateTime,remarkId,picUri,serverIndexCode,score,loginName,loginPwd,lastLoginTime)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.name},#{item.gender},#{item.birthday},#{item.photoPath},#{item.phoneNumber},#{item.idCard},#{item.workNum},#{item.politicalstatus},#{item.deptId},#{item.deptName},#{item.positionId},#{item.positionName},#{item.staffType},#{item.status},#{item.source},#{item.registerPath},#{item.entryDate},#{item.regularDate},#{item.leaveDate},#{item.remark},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime},#{item.remarkId},#{item.picUri},#{item.serverIndexCode},#{item.score})
(#{item.name},#{item.gender},#{item.birthday},#{item.photoPath},#{item.phoneNumber},#{item.idCard},#{item.workNum},#{item.politicalstatus},#{item.deptId},#{item.deptName},#{item.positionId},#{item.positionName},#{item.staffType},#{item.status},#{item.source},#{item.registerPath},#{item.entryDate},#{item.regularDate},#{item.leaveDate},#{item.remark},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime},#{item.remarkId},#{item.picUri},#{item.serverIndexCode},#{item.score},#{item.loginName},#{item.loginPwd},#{item.lastLoginTime})
</foreach>
</insert>
......@@ -268,6 +280,15 @@
<if test="(colPickMode==0 and data.containsKey('scoreIncrement')) or (colPickMode==1 and !data.containsKey('scoreIncrement'))">
a.score=ifnull(a.score,0) + #{data.scoreIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('loginName')) or (colPickMode==1 and !data.containsKey('loginName'))">
a.loginName=#{data.loginName},
</if>
<if test="(colPickMode==0 and data.containsKey('loginPwd')) or (colPickMode==1 and !data.containsKey('loginPwd'))">
a.loginPwd=#{data.loginPwd},
</if>
<if test="(colPickMode==0 and data.containsKey('lastLoginTime')) or (colPickMode==1 and !data.containsKey('lastLoginTime'))">
a.lastLoginTime=#{data.lastLoginTime},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
......@@ -526,6 +547,27 @@
</choose>
</foreach>
</trim>
<trim prefix="loginName=(case" suffix="ELSE loginName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('loginName')) or (colPickMode==1 and !item.containsKey('loginName'))">
when a.id=#{item.id} then #{item.loginName}
</if>
</foreach>
</trim>
<trim prefix="loginPwd=(case" suffix="ELSE loginPwd end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('loginPwd')) or (colPickMode==1 and !item.containsKey('loginPwd'))">
when a.id=#{item.id} then #{item.loginPwd}
</if>
</foreach>
</trim>
<trim prefix="lastLoginTime=(case" suffix="ELSE lastLoginTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('lastLoginTime')) or (colPickMode==1 and !item.containsKey('lastLoginTime'))">
when a.id=#{item.id} then #{item.lastLoginTime}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
......@@ -1281,6 +1323,63 @@
${_conditionType_} a.score <![CDATA[ <= ]]> #{${_conditionParam_}.scoreEnd}
</if>
<if test="conditionParamRef.containsKey('loginName')">
<if test="conditionParamRef.loginName != null and conditionParamRef.loginName != ''">
${_conditionType_} a.loginName like #{${_conditionParam_}.loginName}
</if>
<if test="conditionParamRef.loginName == null">
${_conditionType_} a.loginName is null
</if>
</if>
<if test="conditionParamRef.containsKey('loginNameList') and conditionParamRef.loginNameList.size() > 0">
${_conditionType_} a.loginName in
<foreach collection="conditionParamRef.loginNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('loginNameNotList') and conditionParamRef.loginNameNotList.size() > 0">
${_conditionType_} a.loginName not in
<foreach collection="conditionParamRef.loginNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('loginPwd')">
<if test="conditionParamRef.loginPwd != null and conditionParamRef.loginPwd != ''">
${_conditionType_} a.loginPwd like #{${_conditionParam_}.loginPwd}
</if>
<if test="conditionParamRef.loginPwd == null">
${_conditionType_} a.loginPwd is null
</if>
</if>
<if test="conditionParamRef.containsKey('loginPwdList') and conditionParamRef.loginPwdList.size() > 0">
${_conditionType_} a.loginPwd in
<foreach collection="conditionParamRef.loginPwdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('loginPwdNotList') and conditionParamRef.loginPwdNotList.size() > 0">
${_conditionType_} a.loginPwd not in
<foreach collection="conditionParamRef.loginPwdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('lastLoginTime')">
<if test="conditionParamRef.lastLoginTime != null ">
${_conditionType_} a.lastLoginTime = #{${_conditionParam_}.lastLoginTime}
</if>
<if test="conditionParamRef.lastLoginTime == null">
${_conditionType_} a.lastLoginTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('lastLoginTimeStart') and conditionParamRef.lastLoginTimeStart != null and conditionParamRef.lastLoginTimeStart!=''">
${_conditionType_} a.lastLoginTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.lastLoginTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('lastLoginTimeEnd') and conditionParamRef.lastLoginTimeEnd != null and conditionParamRef.lastLoginTimeEnd!=''">
${_conditionType_} a.lastLoginTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.lastLoginTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
......@@ -1439,6 +1538,21 @@
<if test='orderCol.score != null and "DESC".equalsIgnoreCase(orderCol.score)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('loginName')">
a.loginName
<if test='orderCol.loginName != null and "DESC".equalsIgnoreCase(orderCol.loginName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('loginPwd')">
a.loginPwd
<if test='orderCol.loginPwd != null and "DESC".equalsIgnoreCase(orderCol.loginPwd)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('lastLoginTime')">
a.lastLoginTime
<if test='orderCol.lastLoginTime != null and "DESC".equalsIgnoreCase(orderCol.lastLoginTime)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
......
......@@ -74,6 +74,7 @@ CREATE TABLE mortals_xhx_feedback(
`processStatus` tinyint(2) DEFAULT '0' COMMENT '状态 (0.未开始,1.进行中,2.已结束)',
`weblink` tinyint(2) DEFAULT '0' COMMENT '问卷是否外链(0.否,1.是)',
`webUrl` varchar(255) COMMENT '问题外链地址',
`formContent` mediumtext COMMENT '表单内容',
`remark` varchar(255) COMMENT '备注说明',
`createUserId` bigint(20) COMMENT '创建用户',
`createTime` datetime COMMENT '创建时间',
......@@ -81,6 +82,7 @@ CREATE TABLE mortals_xhx_feedback(
`updateTime` datetime COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='绩效反馈记录信息';
-- ----------------------------
-- 绩效反馈问题表
-- ----------------------------
......
......@@ -43,6 +43,7 @@ CREATE TABLE mortals_xhx_staff(
`positionName` varchar(128) COMMENT '职位名称',
`staffType` tinyint(2) DEFAULT '1' COMMENT '员工类型(1.全职,2.兼职,3.实习)',
`status` tinyint(2) DEFAULT '1' COMMENT '员工状态(1.正式,2.试用,3.离职)',
`source` tinyint(2) DEFAULT '1' COMMENT '员工来源(1.外部,2.内部)',
`registerPath` varchar(255) COMMENT '入职登记表',
`entryDate` datetime COMMENT '入职时间',
`regularDate` datetime COMMENT '转正时间',
......@@ -52,16 +53,20 @@ CREATE TABLE mortals_xhx_staff(
`createTime` datetime NOT NULL COMMENT '创建时间',
`updateUserId` bigint(20) COMMENT '更新用户',
`updateTime` datetime COMMENT '更新时间',
`remarkId` varchar(255) COMMENT '备注id',
`source` tinyint(2) DEFAULT '1' COMMENT '员工来源(1.外部,2.内部)',
`remarkId` varchar(255) COMMENT '备注',
`picUri` varchar(255) COMMENT '相对图片pic',
`serverIndexCode` varchar(255) COMMENT '图片资源唯一标识',
PRIMARY KEY (`id`)
`score` decimal(10,2) COMMENT '绩效分数',
`loginName` varchar(64) NOT NULL COMMENT '员工登录名',
`loginPwd` varchar(64) NOT NULL COMMENT '员工登录密码',
`lastLoginTime` datetime COMMENT '最后登录时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='员工基本信息';
-- ----------------------------
-- 员工关怀信息表
-- ----------------------------
......@@ -1484,6 +1489,7 @@ CREATE TABLE mortals_xhx_perform_review_record(
`updateTime` datetime COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='评价差评绩效记录信息';
-- ----------------------------
-- 考勤绩效记录核查信息表
-- ----------------------------
......@@ -1516,8 +1522,10 @@ CREATE TABLE mortals_xhx_check_attend_record(
`createTime` datetime NOT NULL COMMENT '创建时间',
`updateUserId` bigint(20) COMMENT '更新用户',
`updateTime` datetime COMMENT '更新时间',
`subMethod` tinyint(1) DEFAULT '1' COMMENT '扣分方式(1.系统自动,2.人工添加,3.大厅巡查)',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='考勤绩效记录核查信息';
-- ----------------------------
-- 考勤绩效记录信息表
-- ----------------------------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment