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);
String userStr = cacheService.get(userKey);
cacheService.select(db);
//cacheService.select(portalDb);
String userStr = cacheService.get(userKey);
//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,106 +9,113 @@ 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;
/**
* 记录ID
*/
* 记录ID
*/
private Long recordId;
/**
* 员工ID
*/
* 员工ID
*/
private Long staffId;
/**
* 员工姓名
*/
* 员工姓名
*/
private String staffName;
/**
* 工号
*/
* 工号
*/
private String workNum;
/**
* 所属部门
*/
* 所属部门
*/
private Long deptId;
/**
* 所属部门名称
*/
* 所属部门名称
*/
private String deptName;
/**
* 所属考勤组ID
*/
* 所属考勤组ID
*/
private Long attendanceGroupId;
/**
* 所属考勤组名称
*/
* 所属考勤组名称
*/
private String attendanceGroupName;
/**
* 考勤时间
*/
* 考勤时间
*/
private Date attendanceDate;
/**
* 绩效规则id
*/
* 绩效规则id
*/
private Long ruleId;
/**
* 规则名称
*/
* 规则名称
*/
private String ruleName;
/**
* 增减类型(1.增加,2.扣除)
*/
* 增减类型(1.增加,2.扣除)
*/
private Integer subAddType;
/**
* 扣分或增加分值
*/
* 扣分或增加分值
*/
private BigDecimal score;
/**
* 上下班时间
*/
* 上下班时间
*/
private String goOffTimeStr;
/**
* 异常时间
*/
* 异常时间
*/
private Date errorTime;
/**
* 实际打卡时间
*/
* 实际打卡时间
*/
private Date actualAttendTime;
/**
* 异常处理结果
*/
* 异常处理结果
*/
private String errorResult;
/**
* 核查人员
*/
* 核查人员
*/
@Excel(name = "核查人员")
private String checkPerson;
/**
* 核查时间
*/
* 核查时间
*/
private Date checkTime;
/**
* 核查说明
*/
* 核查说明
*/
@Excel(name = "核查说明")
private String checkDesc;
/**
* 核查结果
*/
* 核查结果
*/
@Excel(name = "核查结果")
private String checkResult;
/**
* 处理状态(1.未处理,2.已处理)
*/
* 处理状态(1.未处理,2.已处理)
*/
private Integer checkStatus;
/**
* 扣分方式(1.系统自动,2.人工添加,3.大厅巡查)
*/
private Integer subMethod;
@Override
public int hashCode() {
return this.getId().hashCode();
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
......@@ -116,7 +123,7 @@ public class CheckAttendRecordEntity extends CheckAttendRecordVo {
if (obj instanceof CheckAttendRecordEntity) {
CheckAttendRecordEntity tmp = (CheckAttendRecordEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
return true;
}
}
return false;
......@@ -124,48 +131,50 @@ public class CheckAttendRecordEntity extends CheckAttendRecordVo {
public void initAttrValue(){
this.recordId = -1L;
this.recordId = -1L;
this.staffId = -1L;
this.staffId = -1L;
this.staffName = "";
this.staffName = "";
this.workNum = "";
this.workNum = "";
this.deptId = -1L;
this.deptId = -1L;
this.deptName = "";
this.deptName = "";
this.attendanceGroupId = -1L;
this.attendanceGroupId = -1L;
this.attendanceGroupName = "";
this.attendanceGroupName = "";
this.attendanceDate = null;
this.attendanceDate = null;
this.ruleId = -1L;
this.ruleId = -1L;
this.ruleName = "";
this.ruleName = "";
this.subAddType = 1;
this.subAddType = 1;
this.score = BigDecimal.valueOf(0.00);
this.score = BigDecimal.valueOf(0.00);
this.goOffTimeStr = "";
this.goOffTimeStr = "";
this.errorTime = null;
this.errorTime = null;
this.actualAttendTime = null;
this.actualAttendTime = null;
this.errorResult = "";
this.errorResult = "";
this.checkPerson = "";
this.checkPerson = "";
this.checkTime = null;
this.checkTime = null;
this.checkDesc = "";
this.checkDesc = "";
this.checkResult = "";
this.checkResult = "";
this.checkStatus = 1;
this.checkStatus = 1;
this.subMethod = 1;
}
}
\ 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.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实现
......@@ -17,5 +21,20 @@ import lombok.extern.slf4j.Slf4j;
@Service("checkAttendRecordService")
@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实现
......@@ -17,5 +21,20 @@ import lombok.extern.slf4j.Slf4j;
@Service("checkComplainRecordService")
@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实现
......@@ -17,5 +21,20 @@ import lombok.extern.slf4j.Slf4j;
@Service("checkEffectRecordService")
@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实现
......@@ -17,5 +21,20 @@ import lombok.extern.slf4j.Slf4j;
@Service("checkGoworkRecordService")
@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实现
......@@ -17,5 +21,20 @@ import lombok.extern.slf4j.Slf4j;
@Service("checkOtherRecordService")
@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实现
......@@ -17,5 +21,20 @@ import lombok.extern.slf4j.Slf4j;
@Service("checkReviewRecordService")
@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
......@@ -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='绩效反馈记录信息';
-- ----------------------------
-- 绩效反馈问题表
-- ----------------------------
......
This diff is collapsed.
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