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 b140f833..19e7b624 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -40,6 +40,7 @@ import java.lang.reflect.Method; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; +import java.util.function.Function; import java.util.stream.Collectors; @@ -95,6 +96,12 @@ public class ResultRecordController extends AbstractController { @Autowired private ResultCalculateService resultCalculateService; + @Autowired + private ResultScoreService resultScoreService; + + @Autowired + private FlowChartDetailRecordService flowChartDetailRecordService; + /** * 列表 */ @@ -348,6 +355,50 @@ public class ResultRecordController extends AbstractController { //获取计算公式 List calculateModels = getCalculate(resultModels.get(0).getCalculateId()); + List scoreDtos = new ArrayList<>(); + //查询所有参与评分人以及所占比重 + List flowChartDetailRecords = + flowChartDetailRecordService.selectFlowChartDetailRecordsByFlowProcess(resultRecord.getEvaluationId(), 4);//获取参与评分的人 + List staffs = new ArrayList<>(); + for (FlowChartDetailRecord record:flowChartDetailRecords + ) { + if(record.getOptType().intValue() == -1){ + //自己 + StaffEntity staffEntity = new StaffEntity(); + staffEntity.setId(resultRecord.getId()); + staffEntity.setName(resultRecord.getStaffName()); + staffs.add(staffEntity); + }else if(record.getOptType().intValue() == 0){ + //指定人员 + //获取人员信息 + List sIds = Arrays.stream(record.getOptIds().split(",")).map(new Function() { + @Override + public Long apply(String s) { + return Long.parseLong(s); + } + }).collect(Collectors.toList()); + staffs.addAll(staffService.selectNamesByIds(sIds));//这里不过滤离职人员,因为过滤了可能涉及到评分规则的变更 + + }else{ + //领导 + DepartManagers departManagers = staffService.findLeader(resultRecord.getStaffId(), record.getOptType()); + if(departManagers.getManagers().size() > 0){ + staffs.addAll(departManagers.getManagers()); + } + } + + for (StaffEntity staff:staffs + ) { + ResultScoreDto resultScore = new ResultScoreDto(); + resultScore.setApprovalId(staff.getId()); + resultScore.setApprovalName(staff.getName()); + resultScore.setWeight(record.getWeight()); + scoreDtos.add(resultScore); + } + + } + + resultRecordDetailDto.setGradeGroupId(resultModels.get(0).getGradeGroupId());//设置评分等级 StaffEntity staffEntity = staffService.selectStaffById(resultRecord.getStaffId()); resultRecordDetailDto.setAvatar(staffEntity.getAvatar()); @@ -365,6 +416,42 @@ public class ResultRecordController extends AbstractController { ) { dto.setCalculate(setCalculateValue(calculateModels, dto)) ; weight = weight.add(dto.getCheckWeight()); + //获取评分详细 + List scores = + resultScoreService.selectResultScoresByDetailIdAndOrderByStaffIds(dto.getId(), scoreDtos); + if(scores.size() > 0){ + // + List scoreDtos1 = new ArrayList<>(); + for (ResultScoreDto scoreDto: scoreDtos + ) {// + // + boolean isAdd = false; + for (ResultScore score: + scores) { + if(scoreDto.getApprovalId().longValue() == score.getApprovalId().longValue()){ + ResultScoreDto scoreDto1 = new ResultScoreDto(); + BeanUtils.copyProperties(scoreDto1, score); + scoreDto1.setApprovalId(scoreDto.getApprovalId()); + scoreDto1.setApprovalName(scoreDto.getApprovalName()); + scoreDto1.setWeight(scoreDto.getWeight()); + scoreDtos1.add(scoreDto1); + scores.remove(score); + isAdd = true; + break; + } + } + if(!isAdd){ + ResultScoreDto scoreDto1 = new ResultScoreDto(); + scoreDto1.setApprovalId(scoreDto.getApprovalId()); + scoreDto1.setApprovalName(scoreDto.getApprovalName()); + scoreDto1.setWeight(scoreDto.getWeight()); + scoreDtos1.add(scoreDto1); + } + } + dto.setScoreDtos(scoreDtos1); + }else{ + dto.setScoreDtos(scoreDtos); + } } //下面设置计算公式 @@ -477,6 +564,11 @@ public class ResultRecordController extends AbstractController { BeanUtils.copyProperties(dto, resultRecord); List inserts = new ArrayList<>(); List updates = new ArrayList<>(); + + List insertScores = new ArrayList<>(); + List updateScores = new ArrayList<>(); + + for (ResultRecortModelDto model:dto.getRecortModelDtos() ) { int index = 0; @@ -497,13 +589,31 @@ public class ResultRecordController extends AbstractController { inserts.add(resultDetail); } if(resultDetail.getIsDelete() == null || resultDetail.getIsDelete().intValue() == 0){ + BigDecimal score = BigDecimal.ZERO; + for (ResultScoreDto scoreDto:detailDto.getScoreDtos() + ) { + //计算得分 + ResultScore resultScore = new ResultScore(); + BeanUtils.copyProperties(scoreDto, resultScore); + if(scoreDto.getAcquireScore() != null){ + score = score.add(scoreDto.getAcquireScore().multiply(scoreDto.getWeight())); + } + if(resultScore.getId() == null){ + insertScores.add(resultScore); + }else{ + updateScores.add(resultScore); + } + } + resultDetail.setAcquireScore(score); weight = weight.add(resultDetail.getCheckWeight()); + } } if(weight.compareTo(model.getWeight()) == 1){ return R.error(model.getName() + "的指标之和不能超过" + model.getWeight().multiply(BigDecimal.valueOf(100)) + "%"); } } + //下面更新指标记录 if(inserts.size() > 0){ resultDetailService.saveBatch(inserts); } @@ -511,6 +621,14 @@ public class ResultRecordController extends AbstractController { resultDetailService.updateBatchById(updates); } + //下面更新评分记录 + if(insertScores.size() > 0){ + resultScoreService.saveBatch(insertScores); + } + if(updateScores.size() > 0){ + resultScoreService.updateBatchById(updateScores); + } + 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 e49fdf88..70f7b8c8 100644 --- a/src/main/java/com/lz/modules/app/dao/StaffDao.java +++ b/src/main/java/com/lz/modules/app/dao/StaffDao.java @@ -94,4 +94,8 @@ public interface StaffDao extends BaseMapper { List selectOnJobByIds(@Param("mIds") List mIds); StaffSimpleInfo selectStaffSimpleInfo(@Param("staffId") Long staffId); + + List selectNamesByIds(@Param("list") List sIds); + + List selectStaffsByGroupId(@Param("copyId") Long copyId); } 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 76621438..dad4c18f 100644 --- a/src/main/java/com/lz/modules/app/service/StaffService.java +++ b/src/main/java/com/lz/modules/app/service/StaffService.java @@ -99,5 +99,9 @@ public interface StaffService extends IService { List selectOnJobByIds(List mIds); StaffSimpleInfo selectStaffSimpleInfo(Long staffId); + + List selectNamesByIds(List sIds); + //获取绩效考核管理员 + List selectStaffsByGroupId(Long copyId); } 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 aea7cd9b..d2a37b33 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 @@ -519,5 +519,15 @@ public class StaffServiceImpl extends ServiceImpl impleme return staffDao.selectStaffSimpleInfo(staffId); } + @Override + public List selectNamesByIds(List sIds){ + return staffDao.selectNamesByIds(sIds); + } + + @Override + public List selectStaffsByGroupId(Long copyId){ + return staffDao.selectStaffsByGroupId(copyId); + } + } diff --git a/src/main/java/com/lz/modules/flow/dao/FlowChartDetailRecordMapper.java b/src/main/java/com/lz/modules/flow/dao/FlowChartDetailRecordMapper.java index dcec48ad..c73ccc97 100644 --- a/src/main/java/com/lz/modules/flow/dao/FlowChartDetailRecordMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/FlowChartDetailRecordMapper.java @@ -41,4 +41,6 @@ public interface FlowChartDetailRecordMapper extends BaseMapper inserts); int updateCoverFlowChartDetailRecordByIds(@Param("list") List updaes); + + List selectFlowChartDetailRecordsByFlowProcess(@Param("groupId") Long groupId, @Param("flowProcess") int flowProcess); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/dao/ResultScoreMapper.java b/src/main/java/com/lz/modules/flow/dao/ResultScoreMapper.java index 4e2791c6..8647cc54 100644 --- a/src/main/java/com/lz/modules/flow/dao/ResultScoreMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/ResultScoreMapper.java @@ -9,8 +9,12 @@ package com.lz.modules.flow.dao; */ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.lz.modules.flow.entity.ResultScore; +import com.lz.modules.flow.model.ResultScoreDto; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + +import java.util.List; + @Mapper public interface ResultScoreMapper extends BaseMapper { @@ -30,4 +34,7 @@ public interface ResultScoreMapper extends BaseMapper { int deleteResultScoreById(@Param("id")Long id); + List selectResultScoresByDetailId(@Param("id") Long id); + + List selectResultScoresByDetailIdAndOrderByStaffIds(@Param("id") Long id, @Param("list") List scoreDtos); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/dao/StaffRoleMapper.java b/src/main/java/com/lz/modules/flow/dao/StaffRoleMapper.java index 9a93afca..94302f52 100644 --- a/src/main/java/com/lz/modules/flow/dao/StaffRoleMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/StaffRoleMapper.java @@ -42,4 +42,6 @@ public interface StaffRoleMapper extends BaseMapper { List selectByCondition(@Param("page") IPage page, @Param("params") Map params); List selectByGroupId(@Param("id") Long id); + + List selectStaffRolesByStaffId(@Param("list") List mIds); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/entity/EvaluationStartStaff.java b/src/main/java/com/lz/modules/flow/entity/EvaluationStartStaff.java index 2f385110..3239b079 100644 --- a/src/main/java/com/lz/modules/flow/entity/EvaluationStartStaff.java +++ b/src/main/java/com/lz/modules/flow/entity/EvaluationStartStaff.java @@ -10,7 +10,7 @@ import java.util.Date; *

*

*发起考核考,核组人员对应关系表 * @author quyixiao -* @since 2020-10-23 +* @since 2020-10-30 */ @Data @@ -38,8 +38,8 @@ public class EvaluationStartStaff implements java.io.Serializable { //人员id @ApiModelProperty(value = "人员id", name = "staffId") private Long staffId; - //0考核人员,1管理人员 - @ApiModelProperty(value = "0考核人员,1管理人员", name = "type") + //0考核人员 1:考核人员 + @ApiModelProperty(value = "0考核人员 1:考核人员", name = "type") private Integer type; //0: 未通知评分 1: 已通知评分 @ApiModelProperty(value = "0: 未通知评分 1: 已通知评分", name = "score") @@ -47,6 +47,9 @@ public class EvaluationStartStaff implements java.io.Serializable { //考核组名称 @ApiModelProperty(value = "考核组名称", name = "evaluationName") private String evaluationName; + //员工所在的部门id + @ApiModelProperty(value = "员工所在的部门id", name = "departmentId") + private String departmentId; /** * * @return @@ -153,14 +156,14 @@ public class EvaluationStartStaff implements java.io.Serializable { } /** - * 0考核人员,1管理人员 + * 0考核人员 1:考核人员 * @return */ public Integer getType() { return type; } /** - * 0考核人员,1管理人员 + * 0考核人员 1:考核人员 * @param type */ public void setType(Integer type) { @@ -197,6 +200,21 @@ public class EvaluationStartStaff implements java.io.Serializable { this.evaluationName = evaluationName; } + /** + * 员工所在的部门id + * @return + */ + public String getDepartmentId() { + return departmentId; + } + /** + * 员工所在的部门id + * @param departmentId + */ + public void setDepartmentId(String departmentId) { + this.departmentId = departmentId; + } + @Override public String toString() { return "EvaluationStartStaff{" + @@ -210,6 +228,7 @@ public class EvaluationStartStaff implements java.io.Serializable { ",type=" + type + ",score=" + score + ",evaluationName=" + evaluationName + + ",departmentId=" + departmentId + "}"; } } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/model/EvaluationStartStaffDto.java b/src/main/java/com/lz/modules/flow/model/EvaluationStartStaffDto.java index 51b58f68..ec4ba0a2 100644 --- a/src/main/java/com/lz/modules/flow/model/EvaluationStartStaffDto.java +++ b/src/main/java/com/lz/modules/flow/model/EvaluationStartStaffDto.java @@ -27,6 +27,8 @@ public class EvaluationStartStaffDto { //0考核人员,1管理人员 @ApiModelProperty(value = "0考核人员,1管理人员", name = "type") private Integer type; + @ApiModelProperty(value = "员工所在的部门id", name = "departmentId") + private String departmentId; /** * * @return diff --git a/src/main/java/com/lz/modules/flow/model/GroupStaffs.java b/src/main/java/com/lz/modules/flow/model/GroupStaffs.java new file mode 100644 index 00000000..789ac5cd --- /dev/null +++ b/src/main/java/com/lz/modules/flow/model/GroupStaffs.java @@ -0,0 +1,12 @@ +package com.lz.modules.flow.model; + +import com.lz.modules.flow.entity.EvaluationGroup; +import lombok.Data; + +import java.util.List; +//组,人员ids +@Data +public class GroupStaffs { + private EvaluationGroup evaluationGroup; + private List staffIds; +} 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 66c1a3c4..93e46b9e 100644 --- a/src/main/java/com/lz/modules/flow/model/ResultDetailDto.java +++ b/src/main/java/com/lz/modules/flow/model/ResultDetailDto.java @@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; +import java.util.List; /** *

@@ -52,6 +53,9 @@ public class ResultDetailDto { //优先级,从大到小 @ApiModelProperty(value = "优先级,从小到大", name = "priority") private Integer priority; + + @ApiModelProperty(value = "评分详细", name = "scoreDtos") + private List scoreDtos; /** * * @return diff --git a/src/main/java/com/lz/modules/flow/model/ResultScoreDto.java b/src/main/java/com/lz/modules/flow/model/ResultScoreDto.java index ecc922b1..edc6a486 100644 --- a/src/main/java/com/lz/modules/flow/model/ResultScoreDto.java +++ b/src/main/java/com/lz/modules/flow/model/ResultScoreDto.java @@ -27,6 +27,14 @@ public class ResultScoreDto { //审批人id @ApiModelProperty(value = "审批人id", name = "approvalId") private Long approvalId; + + //审批人id + @ApiModelProperty(value = "审批人姓名", name = "approvalName") + private String approvalName; + + //审批人id + @ApiModelProperty(value = "所占权重", name = "weight") + private BigDecimal weight; /** * * @return diff --git a/src/main/java/com/lz/modules/flow/model/StartGroups.java b/src/main/java/com/lz/modules/flow/model/StartGroups.java new file mode 100644 index 00000000..fdd75add --- /dev/null +++ b/src/main/java/com/lz/modules/flow/model/StartGroups.java @@ -0,0 +1,11 @@ +package com.lz.modules.flow.model; + +import lombok.Data; + +import java.util.List; +//发起,组集合对象 +@Data +public class StartGroups { + private Long startId; + private List groups; +} diff --git a/src/main/java/com/lz/modules/flow/req/EvaluationStartStaffReq.java b/src/main/java/com/lz/modules/flow/req/EvaluationStartStaffReq.java index 9b69903e..97db0d8b 100644 --- a/src/main/java/com/lz/modules/flow/req/EvaluationStartStaffReq.java +++ b/src/main/java/com/lz/modules/flow/req/EvaluationStartStaffReq.java @@ -50,6 +50,8 @@ public class EvaluationStartStaffReq implements java.io.Serializable { //0考核人员,1管理人员 @ApiModelProperty(value = "0考核人员,1管理人员", name = "type") private Integer type; + @ApiModelProperty(value = "员工所在的部门id", name = "departmentId") + private String departmentId; /** * * @return diff --git a/src/main/java/com/lz/modules/flow/service/FlowChartDetailRecordService.java b/src/main/java/com/lz/modules/flow/service/FlowChartDetailRecordService.java index 2e637958..7662a366 100644 --- a/src/main/java/com/lz/modules/flow/service/FlowChartDetailRecordService.java +++ b/src/main/java/com/lz/modules/flow/service/FlowChartDetailRecordService.java @@ -40,4 +40,6 @@ public interface FlowChartDetailRecordService extends IService inserts); int updateCoverFlowChartDetailRecordByIds(List updaes); + + List selectFlowChartDetailRecordsByFlowProcess(Long groupId, int flowProcess); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/FlowStartService.java b/src/main/java/com/lz/modules/flow/service/FlowStartService.java index 32e5b1f5..ddc57ac3 100644 --- a/src/main/java/com/lz/modules/flow/service/FlowStartService.java +++ b/src/main/java/com/lz/modules/flow/service/FlowStartService.java @@ -3,6 +3,7 @@ package com.lz.modules.flow.service; import com.baomidou.mybatisplus.extension.service.IService; import com.lz.common.utils.R; import com.lz.modules.flow.entity.FlowStart; +import com.lz.modules.flow.model.StartGroups; import java.util.List; @@ -35,6 +36,8 @@ public interface FlowStartService extends IService { FlowStart selectFlowStartByName(String name); + R startStaffs(StartGroups startGroupStaffIds); + R saveStart(FlowStart flowStart); R getModelById(Long id, int type); diff --git a/src/main/java/com/lz/modules/flow/service/ResultScoreService.java b/src/main/java/com/lz/modules/flow/service/ResultScoreService.java index 21a85c91..7b1a520c 100644 --- a/src/main/java/com/lz/modules/flow/service/ResultScoreService.java +++ b/src/main/java/com/lz/modules/flow/service/ResultScoreService.java @@ -2,6 +2,9 @@ package com.lz.modules.flow.service; import com.baomidou.mybatisplus.extension.service.IService; import com.lz.modules.flow.entity.ResultScore; +import com.lz.modules.flow.model.ResultScoreDto; + +import java.util.List; /** *

@@ -30,4 +33,7 @@ public interface ResultScoreService extends IService { int deleteResultScoreById(Long id); + List selectResultScoresByDetailId(Long id); + + List selectResultScoresByDetailIdAndOrderByStaffIds(Long id, List scoreDtos); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/StaffRoleService.java b/src/main/java/com/lz/modules/flow/service/StaffRoleService.java index fe116ab3..25c5d639 100644 --- a/src/main/java/com/lz/modules/flow/service/StaffRoleService.java +++ b/src/main/java/com/lz/modules/flow/service/StaffRoleService.java @@ -49,4 +49,6 @@ public interface StaffRoleService extends IService { List selectMenuList(); List selectByGroupId(Long id); + + List selectStaffRolesByStaffId(List mIds); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowChartDetailRecordServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowChartDetailRecordServiceImpl.java index d4b62623..b132375d 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowChartDetailRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowChartDetailRecordServiceImpl.java @@ -81,6 +81,11 @@ public class FlowChartDetailRecordServiceImpl extends ServiceImpl selectFlowChartDetailRecordsByFlowProcess(Long groupId, int flowProcess){ + return flowChartDetailRecordMapper.selectFlowChartDetailRecordsByFlowProcess(groupId, flowProcess); + } + diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index 7718727b..5f28a574 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -10,9 +10,7 @@ import com.lz.modules.app.entity.StaffSimpleInfo; import com.lz.modules.app.service.StaffService; import com.lz.modules.flow.dao.FlowStartMapper; import com.lz.modules.flow.entity.*; -import com.lz.modules.flow.model.DepartManagers; -import com.lz.modules.flow.model.ResultModelDto; -import com.lz.modules.flow.model.ResultTagetLibDto; +import com.lz.modules.flow.model.*; import com.lz.modules.flow.service.*; import com.lz.modules.performance.service.ResultTagetLibService; import com.lz.modules.sys.entity.app.ResultDetail; @@ -123,6 +121,38 @@ public class FlowStartServiceImpl extends ServiceImpl> staffManages = new HashedMap();//部门(id+几级)和部门几级管理对应关系,减少数据库查找 + for (GroupStaffs groupStaffs:startGroupStaffIds.getGroups() + ) { + List staffSimpleInfos = staffService.selectStaffSimpleInfos(groupStaffs.getStaffIds()); + if(staffSimpleInfos.size() == 0){ + R.error(groupStaffs.getEvaluationGroup().getName() + "——无有效考核人员"); + } + switch (start(groupStaffs.getEvaluationGroup(), flowStart, staffManages, staffSimpleInfos)){ + + case 1: + return R.error(groupStaffs.getEvaluationGroup().getName() + "——没有设置考核模板"); + case 2: + return R.error(groupStaffs.getEvaluationGroup().getName() + "——没有绩效流程节点"); + case 3: + return R.error(groupStaffs.getEvaluationGroup().getName() + "——没有设置考核流程"); + case 4: + return R.error(groupStaffs.getEvaluationGroup().getName() + "——没有设置绩效管理人员"); + case 5: + return R.error(groupStaffs.getEvaluationGroup().getName() + "——初始化考核流程失败"); + } + } + + return R.ok("发起成功").put("data", flowStart); + } + @Override public R saveStart(FlowStart flowStart){ //下面生成或者合并发起绩效 @@ -151,7 +181,6 @@ public class FlowStartServiceImpl extends ServiceImpl> staffManages = new HashedMap();//部门(id+几级)和部门几级管理对应关系,减少数据库查找 //下面开始初始化流程 List ids = Arrays.stream(flowStart.getGroupIds().split(",")).map(new Function() { @@ -173,152 +202,177 @@ public class FlowStartServiceImpl extends ServiceImpl resultModelDtos = resultModelService.selectResultDtoByGroupId(evaluationGroup.getId()); - if(resultModelDtos.size() == 0){ - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚 - return R.error(evaluationGroup.getName() + "——没有设置考核模板"); - } + switch (start(evaluationGroup, flowStart, staffManages, staffIds)){ - List flowCharts = flowChartService.selectFlowChartsByGroupId(evaluationGroup.getId()); - if(flowCharts.size() == 0){ - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚 - return R.error(evaluationGroup.getName() + "——没有绩效流程节点"); - } - List flowChartDetailRecords = new ArrayList<>(); - for (FlowChart chart:flowCharts - ) {//按照节点顺序获取正确的流程 - List flowChartDetailRecords1 - = flowChartDetailRecordService.selectFlowChartDetailRecordByGroupIdAndChartId(evaluationGroup.getId(), chart.getId()); - flowChartDetailRecords.addAll(flowChartDetailRecords1); + case 1: + return R.error(evaluationGroup.getName() + "——没有设置考核模板"); + case 2: + return R.error(evaluationGroup.getName() + "——没有绩效流程节点"); + case 3: + return R.error(evaluationGroup.getName() + "——没有设置考核流程"); + case 4: + return R.error(evaluationGroup.getName() + "——没有设置绩效管理人员"); + case 5: + return R.error(evaluationGroup.getName() + "——初始化考核流程失败"); } + } + return R.ok("发起成功").put("data", flowStart); + } - if(flowChartDetailRecords.size() == 0){ - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚 - return R.error(evaluationGroup.getName() + "——没有设置考核流程"); - } - Map chartNameMaps = - flowCharts.stream().collect(Collectors.toMap(FlowChart::getId, FlowChart::getName));//流程节点与流程名称对应map,下面多次循环,减少数据库查找 + private int start(EvaluationGroup evaluationGroup, FlowStart flowStart, + Map> staffManages, List staffIds){ - List staffManagers = null; - if(!StringUtil.isEmpty(evaluationGroup.getManagerIds())){ - List mIds = Arrays.stream(evaluationGroup.getManagerIds().split(",")) - .map(new Function() { - @Override - public Long apply(String s) { - return Long.parseLong(s); - } - }).collect(Collectors.toList()); - //查找在职的管理人员 - staffManagers = staffService.selectOnJobByIds(mIds); - } - if(staffManagers == null || staffManagers.size() == 0){ - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚 - return R.error(evaluationGroup.getName() + "——没有设置绩效管理人员"); - } + List resultModelDtos = resultModelService.selectResultDtoByGroupId(evaluationGroup.getId()); + if(resultModelDtos.size() == 0){ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚 + return 1; + } - //下面拷贝一份考评组信息发起后所使用的考评组id为复制后的id + List flowCharts = flowChartService.selectFlowChartsByGroupId(evaluationGroup.getId()); + if(flowCharts.size() == 0){ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚 + return 2; + } + List flowChartDetailRecords = new ArrayList<>(); + for (FlowChart chart:flowCharts + ) {//按照节点顺序获取正确的流程 + List flowChartDetailRecords1 + = flowChartDetailRecordService.selectFlowChartDetailRecordByGroupIdAndChartId(evaluationGroup.getId(), chart.getId()); + flowChartDetailRecords.addAll(flowChartDetailRecords1); + } + + if(flowChartDetailRecords.size() == 0){ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚 + return 3; + } + Map chartNameMaps = + flowCharts.stream().collect(Collectors.toMap(FlowChart::getId, FlowChart::getName));//流程节点与流程名称对应map,下面多次循环,减少数据库查找 + + //获取绩效考核管理员 + List staffManagers = staffService.selectStaffsByGroupId(evaluationGroup.getCopyId()); + /*if(!StringUtil.isEmpty(evaluationGroup.getManagerIds())){ + List mIds = Arrays.stream(evaluationGroup.getManagerIds().split(",")) + .map(new Function() { + @Override + public Long apply(String s) { + return Long.parseLong(s); + } + }).collect(Collectors.toList()); + //查找在职的管理人员 + staffManagers = staffService.selectOnJobByIds(mIds); + + }*/ + if(staffManagers == null || staffManagers.size() == 0){ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚 + return 4; + } + + //下面拷贝一份考评组信息发起后所使用的考评组id为复制后的id + if(evaluationGroup.getCopyId() == null){ evaluationGroup.setCopyId(evaluationGroup.getId()); evaluationGroup.setId(null); evaluationGroup.setGmtCreate(null); evaluationGroup.setGmtModified(null); evaluationGroupService.insertEvaluationGroup(evaluationGroup); + } - //拷贝考评组的指标信息 - List resultTagetLibs = new ArrayList<>(); - for (ResultModelDto dto:resultModelDtos + //拷贝考评组的指标信息 + List resultTagetLibs = new ArrayList<>(); + + for (ResultModelDto dto:resultModelDtos + ) { + + + dto.setEvaluationGroupId(evaluationGroup.getId());//设置拷贝组的id + //下面拷贝一份考评组信息的维度信息 + ResultModel resultModel = new ResultModel(); + BeanUtils.copyProperties(dto, resultModel); + resultModel.setId(null); + resultModelService.insertResultModel(resultModel); + + List libDtos = resultTagetLibService.selectResultTagetLibDtoByModelId(dto.getId()); + dto.setTagetLibs(libDtos); + for (ResultTagetLibDto libDto: libDtos ) { + //下面拷贝考评组里面的指标信息 + ResultTagetLib resultTagetLib = new ResultTagetLib(); + BeanUtils.copyProperties(libDto, resultTagetLib); + resultTagetLib.setModelId(resultModel.getId());//设置新的维度id + resultTagetLib.setId(null); + resultTagetLibs.add(resultTagetLib); + } + } + if(resultTagetLibs.size() > 0){ + //插入备份的考评组指标信息 + resultTagetLibService.insertResultTagetLibs(resultTagetLibs); + } - dto.setEvaluationGroupId(evaluationGroup.getId());//设置拷贝组的id - //下面拷贝一份考评组信息的维度信息 - ResultModel resultModel = new ResultModel(); - BeanUtils.copyProperties(dto, resultModel); - resultModel.setId(null); - resultModelService.insertResultModel(resultModel); - List libDtos = resultTagetLibService.selectResultTagetLibDtoByModelId(dto.getId()); - dto.setTagetLibs(libDtos); - for (ResultTagetLibDto libDto: libDtos + + //下面初始化lz_flow流程表 lz_flow_approval_role流程审批表 + List flowApprovalRoles = new ArrayList<>(); + int stepIndex = 0; + for (FlowChartDetailRecord flowChartDetailRecord:flowChartDetailRecords + ) { + Flow flow = new Flow(); + flow.setFlowId(evaluationGroup.getId()); + flow.setOpt("+"); + flow.setStartId(flowStart.getId()); + flow.setChartId(flowChartDetailRecord.getChartId()); + flow.setOptDesc(chartNameMaps.get(flowChartDetailRecord.getChartId())); + + flowService.insertFlow(flow); + FlowApprovalRole flowApprovalRole = null; + if(flowChartDetailRecord.getOptType().intValue() == ChartOptType.APPOINT.getCode()){//指定人员的 + String[] optIds = flowChartDetailRecord.getOptIds().split(","); + for (String id:optIds ) { - //下面拷贝考评组里面的指标信息 - ResultTagetLib resultTagetLib = new ResultTagetLib(); - BeanUtils.copyProperties(libDto, resultTagetLib); - resultTagetLib.setModelId(resultModel.getId());//设置新的维度id - resultTagetLib.setId(null); - resultTagetLibs.add(resultTagetLib); - } - } - if(resultTagetLibs.size() > 0){ - //插入备份的考评组指标信息 - resultTagetLibService.insertResultTagetLibs(resultTagetLibs); - } - - - - //下面初始化lz_flow流程表 lz_flow_approval_role流程审批表 - List flowApprovalRoles = new ArrayList<>(); - int stepIndex = 0; - for (FlowChartDetailRecord flowChartDetailRecord:flowChartDetailRecords - ) { - Flow flow = new Flow(); - flow.setFlowId(evaluationGroup.getId()); - flow.setOpt("+"); - flow.setStartId(flowStart.getId()); - flow.setChartId(flowChartDetailRecord.getChartId()); - flow.setOptDesc(chartNameMaps.get(flowChartDetailRecord.getChartId())); - - flowService.insertFlow(flow); - FlowApprovalRole flowApprovalRole = null; - if(flowChartDetailRecord.getOptType().intValue() == ChartOptType.APPOINT.getCode()){//指定人员的 - String[] optIds = flowChartDetailRecord.getOptIds().split(","); - for (String id:optIds - ) { - - flowApprovalRole = new FlowApprovalRole(); - flowApprovalRole.setFlowId(flow.getId()); - flowApprovalRole.setApprovalId(Long.parseLong(id)); - flowApprovalRole.setStepType(flowChartDetailRecord.getStepType()); - flowApprovalRole.setRoleId(flowChartDetailRecord.getRoleIds()); - flowApprovalRole.setType(flowChartDetailRecord.getOptType()); - flowApprovalRoles.add(flowApprovalRole); - flowApprovalRole.setStepIndex(stepIndex); - if(flowChartDetailRecord.getStepType().intValue() == 0){ - //依次 - stepIndex++; - } - } - //stepIndex++; - if(flowApprovalRole != null){ - stepIndex = flowApprovalRole.getStepIndex() + 1; - } - - }else{ flowApprovalRole = new FlowApprovalRole(); flowApprovalRole.setFlowId(flow.getId()); + flowApprovalRole.setApprovalId(Long.parseLong(id)); flowApprovalRole.setStepType(flowChartDetailRecord.getStepType()); flowApprovalRole.setRoleId(flowChartDetailRecord.getRoleIds()); flowApprovalRole.setType(flowChartDetailRecord.getOptType()); flowApprovalRoles.add(flowApprovalRole); flowApprovalRole.setStepIndex(stepIndex); - - stepIndex++; + if(flowChartDetailRecord.getStepType().intValue() == 0){ + //依次 + stepIndex++; + } + } + //stepIndex++; + if(flowApprovalRole != null){ + stepIndex = flowApprovalRole.getStepIndex() + 1; } + }else{ + flowApprovalRole = new FlowApprovalRole(); + flowApprovalRole.setFlowId(flow.getId()); + flowApprovalRole.setStepType(flowChartDetailRecord.getStepType()); + flowApprovalRole.setRoleId(flowChartDetailRecord.getRoleIds()); + flowApprovalRole.setType(flowChartDetailRecord.getOptType()); + flowApprovalRoles.add(flowApprovalRole); + flowApprovalRole.setStepIndex(stepIndex); + + stepIndex++; } - //插入记录/flowChart/saveDetailProcs - if(flowApprovalRoles.size() > 0){ - flowApprovalRoleService.insertFlowApprovalRoles(flowApprovalRoles); - //初始化lz_result_details数据 - List resultDetails = new ArrayList<>(); + } + //插入记录/flowChart/saveDetailProcs + if(flowApprovalRoles.size() > 0){ + flowApprovalRoleService.insertFlowApprovalRoles(flowApprovalRoles); + + //初始化lz_result_details数据 + List resultDetails = new ArrayList<>(); - List evaluationStartStaffs = new ArrayList<>(); + List evaluationStartStaffs = new ArrayList<>(); - //下面初始化管理人员对应关系 + /*//下面初始化管理人员对应关系 for (StaffEntity entity:staffManagers ) { EvaluationStartStaff evaluationStartStaff = new EvaluationStartStaff(); @@ -329,158 +383,157 @@ public class FlowStartServiceImpl extends ServiceImpl 0){//当设置为几级领导时 - ///查找领导,如果不存在那么设置管理人员 - List staffLeader; - String key = staffInfo.getDepartmentId() + "_" + approvalRole.getType(); - if(staffManages.containsKey(key)){ - staffLeader = staffManages.get(staffInfo.getDepartmentId()); - }else{ - DepartManagers departManagers = - staffService.findLeader(staffInfo.getId(), approvalRole.getType()); - staffLeader = departManagers.getManagers(); - staffManages.put(key, departManagers.getManagers()); - } - - if(staffLeader.size() == 0){ - //没有领导,通知到组设置的绩效管理人员 - for (StaffEntity entity:staffManagers - ) { - roleJSON += ("{\"roleId\":0,\"staffId\":" + entity.getId() + "},");//这里写死了权限为0的即为找不到领导 - - } - if(i == 0){//目前只设置一个,多个不明确是否支持,roleJSON是支持多个的 - //设置当前审批员工id current_approval_staff_id - resultRecord.setCurrentApprovalStaffId(staffManagers.get(0).getId()); - //设置当前审批员工姓名 current_approval_staff_name - resultRecord.setCurrentApprovalStaffName(staffManagers.get(0).getName()); - - } - }else{ - for(int j = 0; j 0){//当设置为几级领导时 + ///查找领导,如果不存在那么设置管理人员 + List staffLeader; + String key = staffInfo.getDepartmentId() + "_" + approvalRole.getType(); + if(staffManages.containsKey(key)){ + staffLeader = staffManages.get(staffInfo.getDepartmentId()); }else{ + DepartManagers departManagers = + staffService.findLeader(staffInfo.getId(), approvalRole.getType()); + staffLeader = departManagers.getManagers(); + staffManages.put(key, departManagers.getManagers()); + } + + if(staffLeader.size() == 0){ + //没有领导,通知到组设置的绩效管理人员 + for (StaffEntity entity:staffManagers + ) { + roleJSON += ("{\"roleId\":0,\"staffId\":" + entity.getId() + "},");//这里写死了权限为0的即为找不到领导 + + } if(i == 0){//目前只设置一个,多个不明确是否支持,roleJSON是支持多个的 //设置当前审批员工id current_approval_staff_id - resultRecord.setCurrentApprovalStaffId(approvalRole.getApprovalId()); + resultRecord.setCurrentApprovalStaffId(staffManagers.get(0).getId()); //设置当前审批员工姓名 current_approval_staff_name - resultRecord.setCurrentApprovalStaffName(""); + resultRecord.setCurrentApprovalStaffName(staffManagers.get(0).getName()); + + } + }else{ + for(int j = 0; j 0){//模板里面有添加指标 - for (ResultTagetLibDto libDto: - modelDto.getTagetLibs()) { - - - ResultDetail resultDetail = new ResultDetail(); - resultDetail.setRecordId(resultRecord.getId()); - resultDetail.setTarget(libDto.getName()); - resultDetail.setType(modelDto.getType()); - resultDetail.setKeyResult(libDto.getKeyResult()); - resultDetail.setCheckWeight(libDto.getWeight()); - resultDetail.setStaffId(staffInfo.getId()); - resultDetail.setPriority(libDto.getOrderBy()); - resultDetails.add(resultDetail); } } + + roleJSON += ("{\"roleId\":"+ approvalRole.getRoleId() + + ",\"staffId\":" + staffId + "},"); + continue; + } + break; + } + roleJSON += "]"; + roleJSON = roleJSON.replace(",]", "]"); + resultRecord.setFlowStaffIdRole(roleJSON); + resultRecordService.insertResultRecord(resultRecord); + //下面生成实际的考核流程 + resultRecordService.initFlowRecord(resultRecord.getId()); + //下面生成ResultDetail对象 + for (ResultModelDto modelDto:resultModelDtos + ) { + + + if(modelDto.getTagetLibs() != null && modelDto.getTagetLibs().size() > 0){//模板里面有添加指标 + for (ResultTagetLibDto libDto: + modelDto.getTagetLibs()) { + + + ResultDetail resultDetail = new ResultDetail(); + resultDetail.setRecordId(resultRecord.getId()); + resultDetail.setTarget(libDto.getName()); + resultDetail.setType(modelDto.getType()); + resultDetail.setKeyResult(libDto.getKeyResult()); + resultDetail.setCheckWeight(libDto.getWeight()); + resultDetail.setStaffId(staffInfo.getId()); + resultDetail.setPriority(libDto.getOrderBy()); + resultDetails.add(resultDetail); + } } } - //如果有数据插入lz_result_detail表 - if(resultDetails.size() > 0){ - // - resultDetailService.insertResultDetails(resultDetails); + } + //如果有数据插入lz_result_detail表 + if(resultDetails.size() > 0){ + // + resultDetailService.insertResultDetails(resultDetails); - } - - - - evaluationStartStaffService.insertEvaluationStartStaffs(evaluationStartStaffs); - //下面通知所有参与考核人员 - - //如果有下面通知所有管理人员 - }else{ - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚 - return R.error(evaluationGroup.getName() + "——初始化考核流程失败"); } + + + evaluationStartStaffService.insertEvaluationStartStaffs(evaluationStartStaffs); + //下面通知所有参与考核人员 + + //如果有下面通知所有管理人员 + }else{ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚 + return 5; } - return R.ok("发起成功").put("data", flowStart); + return 0; } @Override diff --git a/src/main/java/com/lz/modules/flow/service/impl/ResultScoreServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/ResultScoreServiceImpl.java index 7b3e66d9..6a006cd6 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/ResultScoreServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/ResultScoreServiceImpl.java @@ -3,10 +3,13 @@ package com.lz.modules.flow.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.lz.modules.flow.dao.ResultScoreMapper; import com.lz.modules.flow.entity.ResultScore; +import com.lz.modules.flow.model.ResultScoreDto; import com.lz.modules.flow.service.ResultScoreService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + /** *

* 业绩详情评分表 服务类 @@ -58,6 +61,16 @@ public class ResultScoreServiceImpl extends ServiceImpl selectResultScoresByDetailId(Long id){ + return resultScoreMapper.selectResultScoresByDetailId(id); + } + + @Override + public List selectResultScoresByDetailIdAndOrderByStaffIds(Long id, List scoreDtos){ + return resultScoreMapper.selectResultScoresByDetailIdAndOrderByStaffIds(id, scoreDtos); + } + } diff --git a/src/main/java/com/lz/modules/flow/service/impl/StaffRoleServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/StaffRoleServiceImpl.java index 1d3702c8..fd493e9e 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/StaffRoleServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/StaffRoleServiceImpl.java @@ -270,4 +270,9 @@ public class StaffRoleServiceImpl extends ServiceImpl selectStaffRolesByStaffId(List mIds){ + return staffRoleMapper.selectStaffRolesByStaffId(mIds); + } + } 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 6fa9fe19..1cda07d8 100644 --- a/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java +++ b/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java @@ -11,21 +11,16 @@ import com.lz.modules.app.service.StaffService; import com.lz.modules.flow.entity.EvaluationGroup; import com.lz.modules.flow.entity.FlowManager; import com.lz.modules.flow.entity.ResultModel; +import com.lz.modules.flow.entity.StaffRole; import com.lz.modules.flow.model.EvaluationGroupDto; import com.lz.modules.flow.req.EvaluationGroupReq; -import com.lz.modules.flow.service.EvaluationGroupService; -import com.lz.modules.flow.service.FlowManagerService; -import com.lz.modules.flow.service.ResultModelService; -import com.lz.modules.flow.service.StaffRoleDepartmentService; +import com.lz.modules.flow.service.*; import io.swagger.annotations.*; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -49,6 +44,9 @@ public class EvaluationGroupController { @Autowired private StaffRoleDepartmentService staffRoleDepartmentService; + @Autowired + private StaffRoleService staffRoleService; + @@ -133,8 +131,8 @@ public class EvaluationGroupController { @ApiOperation("保存考评组") @ApiResponses({@ApiResponse(code = 200, message = "成功", response = EvaluationGroup.class)}) public R save(@RequestBody @ApiParam EvaluationGroup evaluationGroup) { + EvaluationGroup evaluationGroup1 = evaluationGroupService.selectEvaluationGroupByName(evaluationGroup.getName()); if(evaluationGroup.getId() != null && evaluationGroup.getId().intValue() > 0){ - EvaluationGroup evaluationGroup1 = evaluationGroupService.selectEvaluationGroupByName(evaluationGroup.getName()); if(evaluationGroup1 == null || evaluationGroup1.getId().equals(evaluationGroup.getId())){ evaluationGroupService.updateEvaluationGroupById(evaluationGroup); }else { @@ -142,13 +140,43 @@ public class EvaluationGroupController { } }else{ - EvaluationGroup evaluationGroup1 = evaluationGroupService.selectEvaluationGroupByName(evaluationGroup.getName()); if(evaluationGroup1 != null){ return R.error("已经存在相同名称考核组"); } evaluationGroupService.insertEvaluationGroup(evaluationGroup); } + //更新组管理员信息 + if(evaluationGroup.getManagerIds() != null && evaluationGroup.getManagerIds().length() > 0){ + List mIds = Arrays.stream(evaluationGroup.getManagerIds().split(",")).map(new Function() { + @Override + public Long apply(String s) { + return Long.parseLong(s); + } + }).collect(Collectors.toList()); + List staffRoles = staffRoleService.selectByGroupId(evaluationGroup.getId()); + if(staffRoles.size() > 0){ + Map staffRoleMap = + staffRoles.stream().collect(Collectors.toMap(StaffRole::getStaffId, Function.identity(), (e, repace) -> e)); + for(int i = 0; i < mIds.size();){ + Long l = mIds.get(i); + if(staffRoleMap.containsKey(l)){ + mIds.remove(l); + } + } + } + if(mIds.size() > 0){ + staffRoles = new ArrayList<>(); + for (Long id:mIds + ) { + StaffRole staffRole = new StaffRole(); + staffRole.setStaffId(id); + staffRole.setEvaluationGroupId(evaluationGroup.getId()); + staffRoles.add(staffRole); + } + staffRoleService.saveBatch(staffRoles); + } + } return R.ok().put("data", evaluationGroup); } diff --git a/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml b/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml index df4785b1..993afe17 100644 --- a/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml +++ b/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml @@ -14,12 +14,13 @@ + - id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, evaluation_id AS evaluationId, start_id AS startId, staff_id AS staffId, type AS type, score AS score, evaluation_name AS evaluationName + id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, evaluation_id AS evaluationId, start_id AS startId, staff_id AS staffId, type AS type, score AS score, evaluation_name AS evaluationName, department_id AS departmentId @@ -38,6 +39,7 @@ type, score, evaluation_name, + department_id, is_delete, gmt_create, gmt_modified @@ -48,6 +50,7 @@ #{ type}, #{ score}, #{ evaluationName}, + #{ departmentId}, 0, now(), now() @@ -66,7 +69,8 @@ staff_id = #{staffId}, type = #{type}, score = #{score}, - evaluation_name = #{evaluationName} + evaluation_name = #{evaluationName}, + department_id = #{departmentId} ,gmt_modified = now() where id = #{id} @@ -84,7 +88,8 @@ staff_id = #{staffId}, type = #{type}, score = #{score}, - evaluation_name = #{evaluationName} + evaluation_name = #{evaluationName}, + department_id = #{departmentId} ,gmt_modified = now() where id = #{id} @@ -102,6 +107,7 @@ staff_id, type, evaluation_name, + department_id, is_delete )values ( @@ -110,6 +116,7 @@ #{ item.staffId}, #{ item.type}, #{ item.evaluationName}, + #{ item.departmentId}, 0 ) diff --git a/src/main/resources/mapper/flow/FlowChartDetailRecordMapper.xml b/src/main/resources/mapper/flow/FlowChartDetailRecordMapper.xml index 0206b2a5..7c01f163 100644 --- a/src/main/resources/mapper/flow/FlowChartDetailRecordMapper.xml +++ b/src/main/resources/mapper/flow/FlowChartDetailRecordMapper.xml @@ -109,6 +109,7 @@ update lz_flow_chart_detail_record set is_delete = 1 where id=#{id} limit 1 + @@ -169,5 +170,10 @@ + + diff --git a/src/main/resources/mapper/flow/ResultScoreMapper.xml b/src/main/resources/mapper/flow/ResultScoreMapper.xml index 422e03ab..9895a68f 100644 --- a/src/main/resources/mapper/flow/ResultScoreMapper.xml +++ b/src/main/resources/mapper/flow/ResultScoreMapper.xml @@ -79,5 +79,17 @@ update lz_result_score set is_delete = 1 where id=#{id} limit 1 + + + + diff --git a/src/main/resources/mapper/flow/StaffRoleMapper.xml b/src/main/resources/mapper/flow/StaffRoleMapper.xml index fd55ce3c..05692e43 100644 --- a/src/main/resources/mapper/flow/StaffRoleMapper.xml +++ b/src/main/resources/mapper/flow/StaffRoleMapper.xml @@ -115,6 +115,14 @@ select * from lz_staff_role where is_delete = 0 and evaluation_group_id = #{id} + + diff --git a/src/main/resources/mapper/generator/StaffDao.xml b/src/main/resources/mapper/generator/StaffDao.xml index 8b8e0346..9f372eb1 100644 --- a/src/main/resources/mapper/generator/StaffDao.xml +++ b/src/main/resources/mapper/generator/StaffDao.xml @@ -526,4 +526,23 @@ ) as staffinfo left join lz_departments_staff_relate relate on staffinfo.id = relate.staff_id ) as info left join lz_departments dep on info.department_id = dep.department_id GROUP BY info.id + + + + diff --git a/src/test/java/com/lz/mysql/MysqlMain.java b/src/test/java/com/lz/mysql/MysqlMain.java index 91786e67..7332ca28 100644 --- a/src/test/java/com/lz/mysql/MysqlMain.java +++ b/src/test/java/com/lz/mysql/MysqlMain.java @@ -110,7 +110,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_flow_chart")); + list.add(new TablesBean("lz_evaluation_start_staff")); List list2 = new ArrayList(); Map map = MysqlUtil2ShowCreateTable.getComments();