diff --git a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java index b599ed67..3bbf3ff8 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -8,6 +8,7 @@ import com.lz.modules.app.dto.RecordDetailDto; import com.lz.modules.app.dto.StaffDepartmentDto; import com.lz.modules.app.entity.DepartmentsStaffRelateEntity; import com.lz.modules.app.entity.StaffEntity; +import com.lz.modules.app.entity.StaffSimpleInfo; import com.lz.modules.app.req.ResultRecordReq; import com.lz.modules.app.resp.ResultDetailResp; import com.lz.modules.app.resp.Step; @@ -15,8 +16,7 @@ import com.lz.modules.app.service.DepartmentsService; import com.lz.modules.app.service.DepartmentsStaffRelateService; import com.lz.modules.app.service.StaffService; import com.lz.modules.flow.entity.*; -import com.lz.modules.flow.model.Auth; -import com.lz.modules.flow.model.ResultRecordDetailDto; +import com.lz.modules.flow.model.*; import com.lz.modules.flow.req.ResultDetailReq; import com.lz.modules.flow.service.*; import com.lz.modules.sys.controller.AbstractController; @@ -51,7 +51,7 @@ import java.util.stream.Collectors; @RestController @RequestMapping("user/lzresultrecord") @Slf4j -@Api("绩效相关-吴林") +@Api(tags = "绩效相关") public class ResultRecordController extends AbstractController { @Autowired private ResultRecordService lzResultRecordService; @@ -90,6 +90,9 @@ public class ResultRecordController extends AbstractController { @Autowired private ResultModelService resultModelService; + @Autowired + private ResultCalculateService resultCalculateService; + /** * 列表 */ @@ -319,12 +322,15 @@ public class ResultRecordController extends AbstractController { * 信息 */ @GetMapping("/getDetail") - @ApiOperation("获取绩效详情") + @ApiOperation("获取绩效详情-吴林") @ApiResponses({@ApiResponse(code = 200, message = "成功", response = ResultRecordDetailDto.class)}) public R getDetail(@RequestParam @ApiParam("绩效id") Long id) { ResultRecord resultRecord = lzResultRecordService.selectResultRecordById(id); - SysUserEntity user = getUser(); + if(resultRecord == null){ + return R.error("绩效不存在"); + } + /*SysUserEntity user = getUser(); if(resultRecord.getStaffId().longValue() != user.getUserId().longValue()){ //下面判断权限,是否可读 EvaluationStartStaff evaluationStartStaff = @@ -332,10 +338,127 @@ public class ResultRecordController extends AbstractController { if(evaluationStartStaff == null){//非考核组设置的绩效管理人员,下面应在查询其他权限 return R.error("未被授权访问"); } - } + }*/ //获取考核维度等信息 + ResultRecordDetailDto resultRecordDetailDto = new ResultRecordDetailDto(); + BeanUtils.copyProperties(resultRecord, resultRecordDetailDto); List resultModels = resultModelService.selectResultModelByGroupId(resultRecord.getEvaluationId()); - return R.ok().put("data", resultRecord); + //获取计算公式 + List calculateModels = getCalculate(resultModels.get(0).getCalculateId()); + + StaffEntity staffEntity = staffService.selectStaffById(resultRecord.getStaffId()); + resultRecordDetailDto.setAvatar(staffEntity.getAvatar()); + resultRecordDetailDto.setJobNumber(staffEntity.getJobNumber()); + List resultRecortModelDtos = new ArrayList<>(); + for (ResultModel model:resultModels + ) { + resultRecordDetailDto.setGradeGroupId(model.getGradeGroupId()); + ResultRecortModelDto resultRecortModelDto = new ResultRecortModelDto(); + BeanUtils.copyProperties(model, resultRecortModelDto); + List detailDtos = + resultDetailService.selectDtosByRecordId(resultRecord.getId(), model.getType()); + //下面设置计算公式 + resultRecortModelDto.setDetailDtos(detailDtos); + resultRecortModelDtos.add(resultRecortModelDto); + } + + + + resultRecordDetailDto.setRecortModelDtos(resultRecortModelDtos); + + return R.ok().put("data", resultRecordDetailDto); + + + } + + private List getCalculate(Long id){ + ResultCalculate resultCalculate = + resultCalculateService.selectResultCalculateById(id); + char[] chars = new char[resultCalculate.getCalculate().length()]; + resultCalculate.getCalculate().getChars(0, chars.length, chars, 0); + List calculateModels = new ArrayList<>(); + CalculateModel calculateModel = null; + int type = 0;//0table名称 1字段名称 + String value = ""; + for (int i = 0; i < chars.length;i++ + ) { + char b = chars[i]; + if(b == '*' || b == '/' || b == '+' || b == '-'){ + calculateModel.setFieldName(getBeanName(value)); + calculateModel.setOpt(String.valueOf(b)); + calculateModels.add(calculateModel); + calculateModel = null; + type = 0; + value = ""; + continue; + + }else if(b == '>'){ + if(type == 0){ + value = value.replace("lz_", "");//去掉lz_前缀 + + calculateModel.setTableName(getBeanName(value)); + } + type--; + type *= -1; + value = ""; + continue; + } + if(calculateModel == null){ + calculateModel = new CalculateModel(); + } + value += String.valueOf(b); + if(i == chars.length - 1){ + calculateModel.setFieldName(getBeanName(value)); + calculateModels.add(calculateModel); + break; + } + + } + return calculateModels; + } + + private String getBeanName(String value){ + String[] bean = value.split("_"); + value = ""; + for(String s:bean){ + value += s.substring(0, 1).toUpperCase() + s.substring(1); + } + return value; + } + + @PostMapping("/saveDetail") + @ApiOperation("保存绩效详情-吴林") + public R saveDetail(@RequestBody @ApiParam ResultRecordDetailDto dto) { + ResultRecord resultRecord = new ResultRecord(); + BeanUtils.copyProperties(dto, resultRecord); + List inserts = new ArrayList<>(); + List updates = new ArrayList<>(); + for (ResultRecortModelDto model:dto.getRecortModelDtos() + ) { + int index = 0; + for (ResultDetailDto detailDto:model.getDetailDtos() + ) {//排序 + ResultDetail resultDetail = new ResultDetail(); + BeanUtils.copyProperties(detailDto, resultDetail); + resultDetail.setPriority(index); + index++; + if(resultDetail.getId() != null){ + updates.add(resultDetail); + }else{ + inserts.add(resultDetail); + } + } + } + if(inserts.size() > 0){ + resultDetailService.saveBatch(inserts); + } + if(updates.size() > 0){ + resultDetailService.updateBatchById(updates); + } + + return R.ok(); + + } /** diff --git a/src/main/java/com/lz/modules/app/dao/StaffDao.java b/src/main/java/com/lz/modules/app/dao/StaffDao.java index ea5a4486..e49fdf88 100644 --- a/src/main/java/com/lz/modules/app/dao/StaffDao.java +++ b/src/main/java/com/lz/modules/app/dao/StaffDao.java @@ -92,4 +92,6 @@ public interface StaffDao extends BaseMapper { List selectStaffSimpleInfos(@Param("sIds") List sIds); List selectOnJobByIds(@Param("mIds") List mIds); + + StaffSimpleInfo selectStaffSimpleInfo(@Param("staffId") Long staffId); } diff --git a/src/main/java/com/lz/modules/app/entity/StaffSimpleInfo.java b/src/main/java/com/lz/modules/app/entity/StaffSimpleInfo.java index adecad38..df8fc507 100644 --- a/src/main/java/com/lz/modules/app/entity/StaffSimpleInfo.java +++ b/src/main/java/com/lz/modules/app/entity/StaffSimpleInfo.java @@ -44,6 +44,8 @@ public class StaffSimpleInfo implements Serializable { private String departmentId; //钉钉,飞书等第三方人员id private String employeeId; + //头像 + private String avatar; } diff --git a/src/main/java/com/lz/modules/app/service/StaffService.java b/src/main/java/com/lz/modules/app/service/StaffService.java index d6731bf0..76621438 100644 --- a/src/main/java/com/lz/modules/app/service/StaffService.java +++ b/src/main/java/com/lz/modules/app/service/StaffService.java @@ -97,5 +97,7 @@ public interface StaffService extends IService { DepartManagers findLeader(Long id, Integer type); //查找在职的 List selectOnJobByIds(List mIds); + + StaffSimpleInfo selectStaffSimpleInfo(Long staffId); } diff --git a/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java b/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java index 93011dc1..aea7cd9b 100644 --- a/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java +++ b/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java @@ -514,5 +514,10 @@ public class StaffServiceImpl extends ServiceImpl impleme return staffDao.selectOnJobByIds(mIds); } + @Override + public StaffSimpleInfo selectStaffSimpleInfo(Long staffId){ + return staffDao.selectStaffSimpleInfo(staffId); + } + } diff --git a/src/main/java/com/lz/modules/flow/dao/EvaluationGroupMapper.java b/src/main/java/com/lz/modules/flow/dao/EvaluationGroupMapper.java index 728c362d..b6418ff4 100644 --- a/src/main/java/com/lz/modules/flow/dao/EvaluationGroupMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/EvaluationGroupMapper.java @@ -35,9 +35,12 @@ public interface EvaluationGroupMapper extends BaseMapper { int deleteEvaluationGroupById(@Param("id")Long id); - List seleteEvaluationGroupByReq(@Param("page") IPage page, @Param("req") EvaluationGroupReq req); + List seleteEvaluationGroupByReq(@Param("page") IPage page, @Param("req") EvaluationGroupReq req, @Param("list") List gIds); List selectEvaluationGroupByIds(@Param("ids") List ids); EvaluationGroup selectEvaluationGroupByName(@Param("name") String name); + + void deleteByIds(@Param("ids") List ids); + } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/entity/FlowChart.java b/src/main/java/com/lz/modules/flow/entity/FlowChart.java index 8a905d87..2b635c2b 100644 --- a/src/main/java/com/lz/modules/flow/entity/FlowChart.java +++ b/src/main/java/com/lz/modules/flow/entity/FlowChart.java @@ -10,7 +10,7 @@ import java.util.Date; *

*

*流程图,lz_flow的父 * @author quyixiao -* @since 2020-10-26 +* @since 2020-10-28 */ @Data @@ -47,6 +47,9 @@ public class FlowChart implements java.io.Serializable { //当前是目标确认还是评分,0,目标制定,1,目标确认,2执行中,3,结果值录入,4,评分,5考核结束 @ApiModelProperty(value = "当前是目标确认还是评分,0,目标制定,1,目标确认,2执行中,3,结果值录入,4,评分,5考核结束", name = "flowProcess") private Integer flowProcess; + //描述,前端提示,如果有值就提示 + @ApiModelProperty(value = "描述,前端提示,如果有值就提示", name = "desc") + private String desc; /** * * @return @@ -197,6 +200,21 @@ public class FlowChart implements java.io.Serializable { this.flowProcess = flowProcess; } + /** + * 描述,前端提示,如果有值就提示 + * @return + */ + public String getDesc() { + return desc; + } + /** + * 描述,前端提示,如果有值就提示 + * @param desc + */ + public void setDesc(String desc) { + this.desc = desc; + } + @Override public String toString() { return "FlowChart{" + @@ -210,6 +228,7 @@ public class FlowChart implements java.io.Serializable { ",type=" + type + ",stepIndex=" + stepIndex + ",flowProcess=" + flowProcess + + ",desc=" + desc + "}"; } } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/model/CalculateModel.java b/src/main/java/com/lz/modules/flow/model/CalculateModel.java new file mode 100644 index 00000000..47302e8b --- /dev/null +++ b/src/main/java/com/lz/modules/flow/model/CalculateModel.java @@ -0,0 +1,12 @@ +package com.lz.modules.flow.model; + +import lombok.Data; +/* +* 计算公式 +* */ +@Data +public class CalculateModel { + private String tableName;//表明,对象名称 + private String fieldName;//字段,属性名称 + private String opt;//计算方法 + - * / +} diff --git a/src/main/java/com/lz/modules/flow/model/FlowChartDto.java b/src/main/java/com/lz/modules/flow/model/FlowChartDto.java index 081f0d17..a40c7b3d 100644 --- a/src/main/java/com/lz/modules/flow/model/FlowChartDto.java +++ b/src/main/java/com/lz/modules/flow/model/FlowChartDto.java @@ -40,6 +40,9 @@ public class FlowChartDto { @ApiModelProperty(value = "节点详细数据", name = "chartDetails") private FlowChartDetailRecordListDto chartDetails; + //描述,前端提示,如果有值就提示 + @ApiModelProperty(value = "描述,前端提示,如果有值就提示", name = "desc") + private String desc; /** * * @return diff --git a/src/main/java/com/lz/modules/flow/model/ResultDetailDto.java b/src/main/java/com/lz/modules/flow/model/ResultDetailDto.java index 4a34c817..31c0df9a 100644 --- a/src/main/java/com/lz/modules/flow/model/ResultDetailDto.java +++ b/src/main/java/com/lz/modules/flow/model/ResultDetailDto.java @@ -44,9 +44,11 @@ public class ResultDetailDto { @ApiModelProperty(value = "评分说明", name = "scoreComment") private String scoreComment; - + //评分说明 + @ApiModelProperty(value = "计算公式", name = "calculate") + private String calculate; //优先级,从大到小 - @ApiModelProperty(value = "优先级,从大到小", name = "priority") + @ApiModelProperty(value = "优先级,从小到大", name = "priority") private Integer priority; /** * diff --git a/src/main/java/com/lz/modules/flow/model/ResultRecordDetailDto.java b/src/main/java/com/lz/modules/flow/model/ResultRecordDetailDto.java index 04bbeb51..868f7ce3 100644 --- a/src/main/java/com/lz/modules/flow/model/ResultRecordDetailDto.java +++ b/src/main/java/com/lz/modules/flow/model/ResultRecordDetailDto.java @@ -15,7 +15,7 @@ import java.util.List; */ @Data -@ApiModel(value = "业绩详情Dto") +@ApiModel(value = "绩效详情Dto") public class ResultRecordDetailDto { // @ApiModelProperty(value = "", name = "id") @@ -37,18 +37,29 @@ public class ResultRecordDetailDto { @ApiModelProperty(value = "员工id", name = "staffId") private Long staffId; + + + //使用的哪个等级。等级组id,lz_result_grade的group_id + @ApiModelProperty(value = "使用的哪个等级。等级组id,lz_result_grade的group_id", name = "gradeGroupId") + private Long gradeGroupId; //当前审批流转所在员工 id @ApiModelProperty(value = "当前审批流转所在员工 id", name = "flowStaffIdRole") private Long flowStaffIdRole; //员工所在部门 id @ApiModelProperty(value = "员工所在部门 id", name = "departmentId") - private Long departmentId; + private String departmentId; //员工所在部门名称 @ApiModelProperty(value = "员工所在部门名称", name = "departmentName") private String departmentName; //员工姓名 @ApiModelProperty(value = "员工姓名", name = "staffName") private String staffName; + //员工姓名 + @ApiModelProperty(value = "员工头像", name = "avatar") + private String avatar; + //员工姓名 + @ApiModelProperty(value = "员工工号", name = "jobNumber") + private String jobNumber; //当前审批的员工 id @ApiModelProperty(value = "当前审批的员工 id", name = "currentApprovalStaffId") private Long currentApprovalStaffId; @@ -175,14 +186,14 @@ public class ResultRecordDetailDto { * 员工所在部门 id * @return */ - public Long getDepartmentId() { + public String getDepartmentId() { return departmentId; } /** * 员工所在部门 id * @param departmentId */ - public void setDepartmentId(Long departmentId) { + public void setDepartmentId(String departmentId) { this.departmentId = departmentId; } diff --git a/src/main/java/com/lz/modules/flow/model/ResultRecortModelDto.java b/src/main/java/com/lz/modules/flow/model/ResultRecortModelDto.java index efa61dad..7afe7076 100644 --- a/src/main/java/com/lz/modules/flow/model/ResultRecortModelDto.java +++ b/src/main/java/com/lz/modules/flow/model/ResultRecortModelDto.java @@ -33,12 +33,7 @@ public class ResultRecortModelDto { @ApiModelProperty(value = "考核子项目个数最大限制", name = "maxCount") private Integer maxCount; //lz_result_calculate 的id,计算法方法id - @ApiModelProperty(value = "lz_result_calculate 的id,计算法方法id", name = "calculateId") - private Long calculateId; - //使用的哪个等级。等级组id,lz_result_grade的group_id - @ApiModelProperty(value = "使用的哪个等级。等级组id,lz_result_grade的group_id", name = "gradeGroupId") - private Long gradeGroupId; //排序 @ApiModelProperty(value = "排序", name = "orderBy") private Integer orderBy; @@ -120,38 +115,8 @@ public class ResultRecortModelDto { this.maxCount = maxCount; } - /** - * lz_result_calculate 的id,计算法方法id - * @return - */ - public Long getCalculateId() { - return calculateId; - } - /** - * lz_result_calculate 的id,计算法方法id - * @param calculateId - */ - public void setCalculateId(Long calculateId) { - this.calculateId = calculateId; - } - - /** - * 使用的哪个等级。等级组id,lz_result_grade的group_id - * @return - */ - public Long getGradeGroupId() { - return gradeGroupId; - } - /** - * 使用的哪个等级。等级组id,lz_result_grade的group_id - * @param gradeGroupId - */ - public void setGradeGroupId(Long gradeGroupId) { - this.gradeGroupId = gradeGroupId; - } - /** * 排序 * @return @@ -175,8 +140,6 @@ public class ResultRecortModelDto { ",type=" + type + ",weight=" + weight + ",maxCount=" + maxCount + - ",calculateId=" + calculateId + - ",gradeGroupId=" + gradeGroupId + ",orderBy=" + orderBy + "}"; } diff --git a/src/main/java/com/lz/modules/flow/req/EvaluationGroupReq.java b/src/main/java/com/lz/modules/flow/req/EvaluationGroupReq.java index 0cad1598..bc9ceb02 100644 --- a/src/main/java/com/lz/modules/flow/req/EvaluationGroupReq.java +++ b/src/main/java/com/lz/modules/flow/req/EvaluationGroupReq.java @@ -39,6 +39,9 @@ public class EvaluationGroupReq implements java.io.Serializable { @ApiModelProperty(value = "", name = "name") private String name; + @ApiModelProperty(value = "startId", name = "发起id,任务id") + private Long startId; + diff --git a/src/main/java/com/lz/modules/flow/req/FlowChartReq.java b/src/main/java/com/lz/modules/flow/req/FlowChartReq.java index 679aa94b..4ac4678d 100644 --- a/src/main/java/com/lz/modules/flow/req/FlowChartReq.java +++ b/src/main/java/com/lz/modules/flow/req/FlowChartReq.java @@ -53,6 +53,9 @@ public class FlowChartReq implements java.io.Serializable { //执行步骤,第几步,从0开始 @ApiModelProperty(value = "执行步骤,第几步,从0开始", name = "stepIndex") private Integer stepIndex; + //描述,前端提示,如果有值就提示 + @ApiModelProperty(value = "描述,前端提示,如果有值就提示", name = "desc") + private String desc; /** * * @return diff --git a/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java b/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java index 7c0820cd..37970d09 100644 --- a/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java +++ b/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java @@ -46,4 +46,6 @@ public interface EvaluationGroupService extends IService { EvaluationGroup selectEvaluationGroupByName(String name); //获取考核组里面所有参与的人员信息,去除重复,去除离职 List selectAllStaffSimpleInfoByGroupId(EvaluationGroup evaluationGroup); + + void deleteByIds(List ids); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java index 6eaa0b06..3193b78a 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java @@ -13,8 +13,10 @@ import com.lz.modules.app.service.StaffOccupationService; import com.lz.modules.app.service.StaffService; import com.lz.modules.flow.dao.EvaluationGroupMapper; import com.lz.modules.flow.entity.EvaluationGroup; +import com.lz.modules.flow.entity.FlowStart; import com.lz.modules.flow.req.EvaluationGroupReq; import com.lz.modules.flow.service.EvaluationGroupService; +import com.lz.modules.flow.service.FlowStartService; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -50,6 +52,9 @@ public class EvaluationGroupServiceImpl extends ServiceImpl gIds = null; + if(req.getStartId() != null){ + FlowStart flowStart = flowStartService.selectFlowStartById(req.getStartId()); + if(flowStart == null){ + return null; + } + gIds = Arrays.stream(flowStart.getGroupIds().split(",")) + .map(new Function() { + @Override + public Long apply(String s) { + return Long.parseLong(s); + } + }) + .collect(Collectors.toList()); + } + List finalGIds = gIds; PageUtils pageUtils = PageUtils.startPage(req.getCurrPage(), req.getPageSize()) - .doSelect(page -> evaluationGroupMapper.seleteEvaluationGroupByReq(page, req)); + .doSelect(page -> evaluationGroupMapper.seleteEvaluationGroupByReq(page, req, finalGIds)); //下面实时统计考核人数 List groups = pageUtils.getList(); for (EvaluationGroup group:groups @@ -213,4 +234,10 @@ public class EvaluationGroupServiceImpl extends ServiceImpl ids) { + evaluationGroupMapper.deleteByIds(ids); + } } diff --git a/src/main/java/com/lz/modules/performance/controller/AssessManagerController.java b/src/main/java/com/lz/modules/performance/controller/AssessManagerController.java index 92e11f01..756e545d 100644 --- a/src/main/java/com/lz/modules/performance/controller/AssessManagerController.java +++ b/src/main/java/com/lz/modules/performance/controller/AssessManagerController.java @@ -2,8 +2,10 @@ package com.lz.modules.performance.controller; import com.lz.common.utils.PageUtils; import com.lz.common.utils.R; +import com.lz.common.utils.StringUtil; import com.lz.modules.flow.dao.FlowStartMapper; import com.lz.modules.flow.entity.FlowStart; +import com.lz.modules.performance.req.AssessChangeReq; import com.lz.modules.performance.req.AssessListReq; import com.lz.modules.performance.req.AssessDetailReq; import com.lz.modules.performance.res.AssessManagerDetailRes; @@ -75,6 +77,30 @@ public class AssessManagerController { } + @PostMapping("assess/manager/change") + @ApiOperation("考核管理组管理变更") + @ApiResponses({@ApiResponse(code = 200,message = "成功")}) + public R assessChange(@RequestBody AssessChangeReq req){ + if(req.getStartId()==null){ + return R.error("考核id不能为空"); + } + if(req.getChangeType()==null){ + return R.error("变动类型无效"); + } + if(StringUtil.isBlank(req.getStaffIds())){ + return R.error("变动人员不能为空"); + } + String errorMsg = assessManagerService.assessChange(req); + if(StringUtil.isNotBlank(errorMsg)){ + return R.error(errorMsg); + } + return R.ok(); + + } + + + + @GetMapping("assess/manager/delete") @ApiOperation("删除考核任务") diff --git a/src/main/java/com/lz/modules/performance/controller/ChartController.java b/src/main/java/com/lz/modules/performance/controller/ChartController.java index 339aef54..6d84c551 100644 --- a/src/main/java/com/lz/modules/performance/controller/ChartController.java +++ b/src/main/java/com/lz/modules/performance/controller/ChartController.java @@ -7,6 +7,7 @@ import com.lz.modules.equipment.entity.model.BasePage; import com.lz.modules.flow.dao.FlowStartMapper; import com.lz.modules.flow.entity.FlowStart; import com.lz.modules.flow.service.FlowStartService; +import com.lz.modules.performance.req.ChartResultReq; import com.lz.modules.performance.req.ChartStartsReq; import com.lz.modules.performance.res.ChartStartsRes; import com.lz.modules.performance.res.ChartStatisticalRes; @@ -62,13 +63,13 @@ public class ChartController extends AbstractController{ } - /*@PostMapping("chart/rank") - @ApiOperation("获取绩排名列表") + @PostMapping("chart/detail") + @ApiOperation("获取报表等级详情") @ApiResponses({@ApiResponse(code = 200,message = "成功",response = ResultRankListRes.class)}) - public R rankList(@RequestBody @ApiParam(name = "body",value = "body请求体",required = true) ChartResultReq req){ - PageUtils pageUtils = chartResultService.resultRankList(req); + public R chartDetailList(@RequestBody @ApiParam(name = "body",value = "body请求体",required = true) ChartResultReq req){ + PageUtils pageUtils = chartResultService.selectChartDetailList(req); return R.ok().put("data",pageUtils); - }*/ + } diff --git a/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java b/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java index 25cc5031..6fa9fe19 100644 --- a/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java +++ b/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java @@ -121,6 +121,7 @@ public class EvaluationGroupController { } + @PostMapping("/update") public R update(@RequestBody @ApiParam EvaluationGroup evaluationGroup) { evaluationGroupService.updateEvaluationGroupById(evaluationGroup); diff --git a/src/main/java/com/lz/modules/performance/controller/UserTaskController.java b/src/main/java/com/lz/modules/performance/controller/UserTaskController.java index cd99b4d5..9d15de2f 100644 --- a/src/main/java/com/lz/modules/performance/controller/UserTaskController.java +++ b/src/main/java/com/lz/modules/performance/controller/UserTaskController.java @@ -29,7 +29,7 @@ public class UserTaskController extends AbstractController{ @ApiOperation("获取待办/处理事项") @ApiResponses({@ApiResponse(code = 200,message = "成功",response = TaskListRes.class)}) public R list(@RequestBody @ApiParam(name = "body",value = "body请求体",required = true) AssessTaskReq req){ - PageUtils pageUtils = assessService.userTaskList(req, getUserId()); + PageUtils pageUtils = assessService.userTaskList(req, 313L); return R.ok().put("data",pageUtils); } } diff --git a/src/main/java/com/lz/modules/performance/req/AssessChangeReq.java b/src/main/java/com/lz/modules/performance/req/AssessChangeReq.java new file mode 100644 index 00000000..ad2536fb --- /dev/null +++ b/src/main/java/com/lz/modules/performance/req/AssessChangeReq.java @@ -0,0 +1,26 @@ +package com.lz.modules.performance.req; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author: djc + * @Desc: + * @Date: 2020/10/27 14:49 + */ +@Data +@ApiModel("考核管理变动实体") +public class AssessChangeReq { + @ApiModelProperty(value = "考核id",name = "startId") + private Long startId; + + @ApiModelProperty(value = "变更类型 0 :添加 1:删除",name = "changeType") + private Integer changeType; + + @ApiModelProperty(value = "变动人员ids",name = "staffIds") + private String staffIds; + +} diff --git a/src/main/java/com/lz/modules/performance/req/AssessDetailReq.java b/src/main/java/com/lz/modules/performance/req/AssessDetailReq.java index 90f5547b..aa7dd4fe 100644 --- a/src/main/java/com/lz/modules/performance/req/AssessDetailReq.java +++ b/src/main/java/com/lz/modules/performance/req/AssessDetailReq.java @@ -17,8 +17,8 @@ import java.util.List; @ApiModel("获取考核详情实体") public class AssessDetailReq extends BasePage{ //考勤组id - @ApiModelProperty(value = "考勤组ids",name = "evaluationIds") - private List evaluationIds; + @ApiModelProperty(value = "考勤组ids ,逗号隔开",name = "evaluationIds") + private String evaluationIds; //发起考核的id @ApiModelProperty(value = "发起考核的id",name = "startId") private Long startId; @@ -26,8 +26,8 @@ public class AssessDetailReq extends BasePage{ @ApiModelProperty(value = "员工名称",name = "staffName") private String staffName; //人员id数组 - @ApiModelProperty(value = "人员id数组",name = "staffIds") - private List staffIds; + @ApiModelProperty(value = "人员ids,逗号隔开",name = "staffIds") + private String staffIds; //状态 确认 执行 结果录入。。。 @ApiModelProperty(value = "状态 确认 执行 结果录入。。。",name = "flowProcess") private Integer flowProcess; diff --git a/src/main/java/com/lz/modules/performance/req/ChartResultReq.java b/src/main/java/com/lz/modules/performance/req/ChartResultReq.java new file mode 100644 index 00000000..89921e5e --- /dev/null +++ b/src/main/java/com/lz/modules/performance/req/ChartResultReq.java @@ -0,0 +1,25 @@ +package com.lz.modules.performance.req; + +import com.lz.modules.equipment.entity.model.BasePage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author: djc + * @Desc: + * @Date: 2020/10/27 16:05 + */ +@Data +@ApiModel("获取报表等级详情实体") +public class ChartResultReq extends BasePage{ + + @ApiModelProperty(value = "部门id",name = "departmentId") + private String departmentId; + + @ApiModelProperty(value = "考核id",name = "startId") + private Long startId; + + @ApiModelProperty(value = "等级",name = "scoreLevel") + private Long scoreLevel; +} diff --git a/src/main/java/com/lz/modules/performance/res/AssessManagerDetailRes.java b/src/main/java/com/lz/modules/performance/res/AssessManagerDetailRes.java index 81b67935..cc80f341 100644 --- a/src/main/java/com/lz/modules/performance/res/AssessManagerDetailRes.java +++ b/src/main/java/com/lz/modules/performance/res/AssessManagerDetailRes.java @@ -1,5 +1,7 @@ package com.lz.modules.performance.res; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.beans.factory.annotation.Autowired; @@ -11,15 +13,24 @@ import java.util.List; * @Date: 2020/10/21 11:35 */ @Data +@ApiModel("考核详情列表实体") public class AssessManagerDetailRes { + @ApiModelProperty(value = "姓名",name = "staffName") private String staffName; + @ApiModelProperty(value = "部门名称",name = "departmentName") private String departmentName; + @ApiModelProperty(value = "考核组",name = "evaluationName") private String evaluationName; + @ApiModelProperty(value = "考核结果",name = "allScore") private String allScore; + @ApiModelProperty(value = "绩效等级",name = "scoreLevel") private String scoreLevel; + + @ApiModelProperty(value = "id",name = "id") + private Long id; } diff --git a/src/main/java/com/lz/modules/performance/res/ChartStatistical.java b/src/main/java/com/lz/modules/performance/res/ChartStatistical.java index 6a6e8211..a894bc68 100644 --- a/src/main/java/com/lz/modules/performance/res/ChartStatistical.java +++ b/src/main/java/com/lz/modules/performance/res/ChartStatistical.java @@ -14,4 +14,7 @@ public class ChartStatistical { @ApiModelProperty(value = "人数",name = "num") private int num = 0; + + @ApiModelProperty(value = "状态",name = "flowProcess") + private Long flowProcess; } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/performance/res/ResultRankListRes.java b/src/main/java/com/lz/modules/performance/res/ResultRankListRes.java index 610c3004..2a1e8a5a 100644 --- a/src/main/java/com/lz/modules/performance/res/ResultRankListRes.java +++ b/src/main/java/com/lz/modules/performance/res/ResultRankListRes.java @@ -26,10 +26,7 @@ public class ResultRankListRes { private String scoreLevel; //绩效结果 @ApiModelProperty(value = "绩效结果",name = "result") - private String result; - //绩效排名 - @ApiModelProperty(value = "绩效排名",name = "rank") - private String rank; + private String allScore; @ApiModelProperty(value = "id",name = "recordId") private Long recordId; } diff --git a/src/main/java/com/lz/modules/performance/service/AssessManagerService.java b/src/main/java/com/lz/modules/performance/service/AssessManagerService.java index c81c29a6..c7d7d06f 100644 --- a/src/main/java/com/lz/modules/performance/service/AssessManagerService.java +++ b/src/main/java/com/lz/modules/performance/service/AssessManagerService.java @@ -2,6 +2,7 @@ package com.lz.modules.performance.service; import com.lz.common.utils.PageUtils; import com.lz.modules.flow.entity.FlowStart; +import com.lz.modules.performance.req.AssessChangeReq; import com.lz.modules.performance.req.AssessDetailReq; import com.lz.modules.performance.req.AssessListReq; @@ -14,8 +15,9 @@ public interface AssessManagerService { PageUtils assessList(AssessListReq req); - PageUtils assessDetail(AssessDetailReq req); void accessDelete(FlowStart flowStart); + + String assessChange(AssessChangeReq req); } diff --git a/src/main/java/com/lz/modules/performance/service/ChartResultService.java b/src/main/java/com/lz/modules/performance/service/ChartResultService.java index 99632b61..0e309d81 100644 --- a/src/main/java/com/lz/modules/performance/service/ChartResultService.java +++ b/src/main/java/com/lz/modules/performance/service/ChartResultService.java @@ -3,6 +3,7 @@ package com.lz.modules.performance.service; import com.lz.common.utils.PageUtils; import com.lz.modules.equipment.entity.model.BasePage; import com.lz.modules.performance.req.AssessDetailReq; +import com.lz.modules.performance.req.ChartResultReq; import com.lz.modules.performance.req.ChartStartsReq; import com.lz.modules.performance.res.ChartStartsRes; import com.lz.modules.performance.res.ChartStatistical; @@ -21,7 +22,7 @@ public interface ChartResultService { List countDepartmentAndStaffNum(ListstaffIds); - //PageUtils resultRankList(ChartResultReq req); + PageUtils selectChartDetailList(ChartResultReq req); PageUtils chartStarts(ChartStartsReq req); diff --git a/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java b/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java index 69a36be5..8dcdfc66 100644 --- a/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java +++ b/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java @@ -3,11 +3,14 @@ package com.lz.modules.performance.service.impl; import com.lz.common.utils.PageUtils; import com.lz.common.utils.R; import com.lz.common.utils.StringUtil; +import com.lz.modules.app.dto.StaffSimpleDto; +import com.lz.modules.app.service.StaffService; import com.lz.modules.flow.dao.FlowStartMapper; import com.lz.modules.flow.entity.EvaluationGroup; import com.lz.modules.flow.entity.FlowStart; import com.lz.modules.flow.service.EvaluationGroupService; import com.lz.modules.flow.service.EvaluationStartStaffService; +import com.lz.modules.performance.req.AssessChangeReq; import com.lz.modules.performance.req.AssessDetailReq; import com.lz.modules.performance.req.AssessListReq; import com.lz.modules.performance.res.AssessManagerDetailRes; @@ -21,8 +24,12 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; +import java.util.function.Consumer; +import java.util.function.Function; import java.util.stream.Collectors; +import static java.util.stream.Collectors.toList; + /** * @Author: djc * @Desc: @@ -38,6 +45,8 @@ public class AssessManagerServiceImpl implements AssessManagerService { private EvaluationGroupService evaluationGroupService; @Autowired private EvaluationStartStaffService evaluationStartStaffService; + @Autowired + private StaffService staffService; @Override public PageUtils assessList(AssessListReq req) { @@ -83,7 +92,60 @@ public class AssessManagerServiceImpl implements AssessManagerService { public void accessDelete(FlowStart flowStart) { flowStart.setIsDelete(1); flowStartMapper.updateFlowStartById(flowStart); + String groupIds = flowStart.getGroupIds(); + if(StringUtil.isNotBlank(groupIds)){ + String[] split = groupIds.split(","); + List ids = Arrays.asList(split); + List collect = ids.stream().map(s -> Long.valueOf(s)).collect(toList()); + evaluationGroupService.deleteByIds(collect); + } resultRecordMapper.batchDeleteByStartId(flowStart.getId()); return ; } + + + @Override + public String assessChange(AssessChangeReq req) { + String ok = StringUtil.EMPTY; + FlowStart flowStart = flowStartMapper.selectFlowStartById(req.getStartId()); + if(flowStart == null){ + return "暂无此考核组信息"; + } + String[] split = flowStart.getGroupIds().split(","); + String[] changeStaffIds = req.getStaffIds().split(","); + List strings = Arrays.asList(split); + List ids = strings.stream().map(s -> Long.valueOf(s)).collect(toList()); + List evaluationGroups = evaluationGroupService.selectEvaluationGroupByIds(ids); + Set staffIds = new HashSet<>(); + for(EvaluationGroup group:evaluationGroups){ + List staff = evaluationGroupService.selectAllStaffIdsByGroupId(group.getId()); + staffIds.addAll(staff); + } + List all = new ArrayList<>(staffIds); + List change = Arrays.asList(changeStaffIds); + if(req.getChangeType() == 0){ + //获取不在考评组的人员 + List notInGroup = change.stream().filter(item -> !all.contains(item)).collect(toList()); + if(CollectionUtils.isNotEmpty(notInGroup)){ + List collect = notInGroup.stream().map(s -> Long.valueOf(s)).collect(toList()); + List staffSimpleDtos = staffService.selectStaffSimpleInfoByIds(collect); + String notInGroupNames = StringUtil.EMPTY; + for(StaffSimpleDto dto:staffSimpleDtos){ + notInGroupNames = notInGroupNames + dto.getName() + " "; + } + return notInGroupNames; + } + //初始化添加用户的数据 TODO + + return ok; + + + } + if(req.getChangeType() == 1){ + resultRecordMapper.batchDeleteByStartIdAndStaffId(req.getStartId(),change); + return ok; + } + return ok; + + } } diff --git a/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java b/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java index cb2d9b91..3beeeca5 100644 --- a/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java +++ b/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java @@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.google.common.collect.Maps; import com.lz.common.utils.PageUtils; import com.lz.common.utils.StringUtil; +import com.lz.modules.app.entity.DepartmentsEntity; import com.lz.modules.app.entity.DepartmentsStaffRelateEntity; +import com.lz.modules.app.service.DepartmentsService; import com.lz.modules.app.service.DepartmentsStaffRelateService; import com.lz.modules.app.service.StaffService; import com.lz.modules.flow.dao.FlowStartMapper; @@ -13,6 +15,7 @@ import com.lz.modules.flow.service.EvaluationGroupService; import com.lz.modules.flow.service.FlowStartService; import com.lz.modules.performance.enums.ResultFlowProcessEnum; import com.lz.modules.performance.req.AssessDetailReq; +import com.lz.modules.performance.req.ChartResultReq; import com.lz.modules.performance.req.ChartStartsReq; import com.lz.modules.performance.res.ChartStartsRes; import com.lz.modules.performance.res.ChartStatistical; @@ -26,7 +29,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; -import java.util.function.Consumer; /** * @Author: djc @@ -50,6 +52,8 @@ public class ChartResultServiceImpl implements ChartResultService { private FlowStartService flowStartService; @Autowired private FlowStartMapper flowStartMapper; + @Autowired + private DepartmentsService departmentsService; @Override @@ -78,11 +82,18 @@ public class ChartResultServiceImpl implements ChartResultService { } data.add(res); - List strings = evaluationGroupService.selectAllStaffIdsByGroupId(3L); - List depstaff = this.countDepartmentAndStaffNum(strings); + FlowStart flowStart = flowStartMapper.selectFlowStartById(startId); + String[] split = flowStart.getGroupIds().split(","); + Set staffIds = new HashSet<>(); + for(String s:split){ + List strings = evaluationGroupService.selectAllStaffIdsByGroupId(Long.valueOf(s)); + staffIds.addAll(strings); + } + List all = new ArrayList<>(staffIds); + List depstaff = this.countDepartmentAndStaffNum(all); res = new ChartStatisticalRes(); res.setType(2); - res.setStatisticals(depstaff); + res.setStatisticals(buildDepStaffs(depstaff)); res.setDefaultTime(defaultTime); if(StringUtil.isNotBlank(defaultTime)){ res.setDefaultId(startId); @@ -122,13 +133,15 @@ public class ChartResultServiceImpl implements ChartResultService { return data; } - /* @Override - public PageUtils resultRankList(ChartResultReq req) { + @Override + public PageUtils selectChartDetailList(ChartResultReq req) { + List allDeparmentIds = staffService.selectAllDeparmentIdsByDepartmentParentId(req.getDepartmentId()); + List ids = staffService.staffsByAllDeparmentIds(allDeparmentIds); PageUtils pageUtils = PageUtils.startPage(req.getCurrPage(), req.getPageSize()).doSelect( - page -> resultRecordMapper.selectResultRankList(page,req) + page -> resultRecordMapper.selectChartDetailList(page,ids,req.getStartId(),req.getScoreLevel()) ); return pageUtils; - }*/ + } @Override public PageUtils chartStarts(ChartStartsReq req) { @@ -183,6 +196,7 @@ public class ChartResultServiceImpl implements ChartResultService { ChartStatistical statistical = new ChartStatistical(); statistical.setDesc(flowProcessEnum.getDesc()); statistical.setNum(0); + statistical.setFlowProcess(Long.valueOf(flowProcessEnum.getStatus())); Object o = map.get(flowProcessEnum.getDesc()); if(o!=null){ statistical.setNum(Integer.valueOf(o.toString())); @@ -191,4 +205,18 @@ public class ChartResultServiceImpl implements ChartResultService { } return data; } + + + + + private List buildDepStaffs(List depStaffs){ + depStaffs.stream().forEach(chartStatistical -> { + String desc = chartStatistical.getDesc(); + DepartmentsEntity departmentsEntity = departmentsService.selectByDepartmentId(desc); + if(departmentsEntity!=null && StringUtil.isNotBlank(departmentsEntity.getDepartmentName())){ + chartStatistical.setDesc(departmentsEntity.getDepartmentName()); + } + }); + return depStaffs; + } } diff --git a/src/main/java/com/lz/modules/sys/dao/app/ResultDetailMapper.java b/src/main/java/com/lz/modules/sys/dao/app/ResultDetailMapper.java index d82a1f58..cfa8b60e 100644 --- a/src/main/java/com/lz/modules/sys/dao/app/ResultDetailMapper.java +++ b/src/main/java/com/lz/modules/sys/dao/app/ResultDetailMapper.java @@ -9,6 +9,7 @@ package com.lz.modules.sys.dao.app; */ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.lz.common.utils.BigDecimalUtil; +import com.lz.modules.flow.model.ResultDetailDto; import com.lz.modules.sys.entity.app.ResultDetail; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -43,4 +44,6 @@ public interface ResultDetailMapper extends BaseMapper { BigDecimal calculateScore(@Param("recordId") Long recordId, @Param("staffId") Long staffId,@Param("type") Integer type); Long insertResultDetails(@Param("list") List resultDetails); + + List selectDtosByRecordId(@Param("recordResultId") Long id, @Param("type") int type); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java b/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java index 7e788d16..91ac06e9 100644 --- a/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java +++ b/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java @@ -77,7 +77,7 @@ public interface ResultRecordMapper extends BaseMapper { List countNumByScoreLevel(@Param("startId") Long startId); - //List selectResultRankList(@Param("page") IPage page, @Param("req") ChartResultReq req); + List selectChartDetailList(@Param("page") IPage page, @Param("staffIds") List staffIds, @Param("startId")Long startId,@Param("scoreLevel")Long scoreLevel); void batchDeleteByStartId(@Param("startId")Long startId); @@ -88,4 +88,6 @@ public interface ResultRecordMapper extends BaseMapper { List selectAssessListByStartId(@Param("page") IPage page, @Param("req")AssessDetailReq req); List countAssessNumByFlowProcess(@Param("req")AssessDetailReq req); + + void batchDeleteByStartIdAndStaffId(@Param("startId")Long startId,@Param("staffIds") List staffIds); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/sys/service/app/ResultDetailService.java b/src/main/java/com/lz/modules/sys/service/app/ResultDetailService.java index 3677aa1f..f9d5213e 100644 --- a/src/main/java/com/lz/modules/sys/service/app/ResultDetailService.java +++ b/src/main/java/com/lz/modules/sys/service/app/ResultDetailService.java @@ -5,6 +5,7 @@ import com.lz.common.utils.BigDecimalUtil; import com.lz.modules.app.resp.ResultDetailResp; import com.lz.modules.app.resp.Step; import com.lz.modules.flow.model.Auth; +import com.lz.modules.flow.model.ResultDetailDto; import com.lz.modules.sys.entity.app.ResultDetail; import com.lz.modules.sys.entity.app.ResultRecord; @@ -67,4 +68,6 @@ public interface ResultDetailService extends IService { List selectByRecordIdAndType(Long id, int i); Long insertResultDetails(List resultDetails); + + List selectDtosByRecordId(Long id, int type); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java index 49998998..cd015176 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java @@ -12,6 +12,7 @@ import com.lz.modules.app.service.StaffService; import com.lz.modules.app.utils.t.TwoTuple; import com.lz.modules.flow.entity.*; import com.lz.modules.flow.model.Auth; +import com.lz.modules.flow.model.ResultDetailDto; import com.lz.modules.flow.model.StaffRoleDto; import com.lz.modules.flow.service.*; import com.lz.modules.sys.dao.app.ResultDetailMapper; @@ -334,4 +335,9 @@ public class ResultDetailServiceImpl extends ServiceImpl selectDtosByRecordId(Long id, int type){ + return resultDetailMapper.selectDtosByRecordId(id, type); + } + } diff --git a/src/main/resources/mapper/app/ResultDetailMapper.xml b/src/main/resources/mapper/app/ResultDetailMapper.xml index e0431bfb..9b6c2620 100644 --- a/src/main/resources/mapper/app/ResultDetailMapper.xml +++ b/src/main/resources/mapper/app/ResultDetailMapper.xml @@ -178,5 +178,9 @@ + + diff --git a/src/main/resources/mapper/app/ResultRecordMapper.xml b/src/main/resources/mapper/app/ResultRecordMapper.xml index 9dfa922f..19403641 100644 --- a/src/main/resources/mapper/app/ResultRecordMapper.xml +++ b/src/main/resources/mapper/app/ResultRecordMapper.xml @@ -360,11 +360,23 @@ SELECT count(score_level) num,case score_level WHEN 0 THEN '无等级' ELSE score_level END as 'desc' from lz_result_record where is_delete=0 and start_id =#{startId} GROUP BY score_level - + SELECT r.id recordId,all_score,department_name,staff_name,score_level,job_number staffNo from lz_result_record r LEFT JOIN lz_staff s on r.staff_id = s.id - where r.is_delete =0 and s.is_delete=0 ORDER BY all_score desc + where r.is_delete =0 and s.is_delete=0 + and r.start_id = #{startId} + + and r.staff_id in ( + + #{staff_id} + + ) + + + and r.score_level = #{scoreLevel} + + ORDER BY all_score desc @@ -383,14 +395,14 @@ + + + update lz_result_record set is_delete = 1 where + is_delete = 0 + and start_id = #{startId} + and staff_id in ( + + #{staff_id} + + ) + + diff --git a/src/main/resources/mapper/flow/EvaluationGroupMapper.xml b/src/main/resources/mapper/flow/EvaluationGroupMapper.xml index 94b81d02..4dcafff2 100644 --- a/src/main/resources/mapper/flow/EvaluationGroupMapper.xml +++ b/src/main/resources/mapper/flow/EvaluationGroupMapper.xml @@ -96,9 +96,18 @@ + + update lz_evaluation_group set is_delete = 1 where is_delete=0 + and id in ( + + #{id} + + ) + diff --git a/src/main/resources/mapper/flow/FlowChartMapper.xml b/src/main/resources/mapper/flow/FlowChartMapper.xml index 13dc9324..7cf2e556 100644 --- a/src/main/resources/mapper/flow/FlowChartMapper.xml +++ b/src/main/resources/mapper/flow/FlowChartMapper.xml @@ -14,12 +14,13 @@ + - id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, name AS name, process_id AS processId, status AS status, type AS type, step_index AS stepIndex, flow_process AS flowProcess + id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, name AS name, process_id AS processId, status AS status, type AS type, step_index AS stepIndex, flow_process AS flowProcess, desc AS desc @@ -38,6 +39,7 @@ type, step_index, flow_process, + desc, is_delete, gmt_create, gmt_modified @@ -48,6 +50,7 @@ #{ type}, #{ stepIndex}, #{ flowProcess}, + #{ desc}, 0, now(), now() @@ -66,7 +69,8 @@ status = #{status}, type = #{type}, step_index = #{stepIndex}, - flow_process = #{flowProcess} + flow_process = #{flowProcess}, + desc = #{desc} ,gmt_modified = now() where id = #{id} @@ -84,7 +88,8 @@ status = #{status}, type = #{type}, step_index = #{stepIndex}, - flow_process = #{flowProcess} + flow_process = #{flowProcess}, + desc = #{desc} ,gmt_modified = now() where id = #{id} diff --git a/src/main/resources/mapper/generator/StaffDao.xml b/src/main/resources/mapper/generator/StaffDao.xml index ce32b558..8b8e0346 100644 --- a/src/main/resources/mapper/generator/StaffDao.xml +++ b/src/main/resources/mapper/generator/StaffDao.xml @@ -467,7 +467,11 @@ #{id} - ) and occupation.staff_status=0 + ) and occupation.staff_status=0 order by field(staff.id, + + #{id} + + ) + + diff --git a/src/test/java/com/lz/mysql/MysqlMain.java b/src/test/java/com/lz/mysql/MysqlMain.java index 26edba35..b9a6be0a 100644 --- a/src/test/java/com/lz/mysql/MysqlMain.java +++ b/src/test/java/com/lz/mysql/MysqlMain.java @@ -96,7 +96,7 @@ public class MysqlMain { //list.add(new TablesBean("lz_flow_chart_detail_record")); //list.add(new TablesBean("lz_flow_approval_role")); - list.add(new TablesBean("lz_result_detail")); + list.add(new TablesBean("lz_flow_chart")); List list2 = new ArrayList(); Map map = MysqlUtil2ShowCreateTable.getComments();