diff --git a/src/main/java/com/lz/modules/flow/dao/ResultTagetLibMapper.java b/src/main/java/com/lz/modules/flow/dao/ResultTagetLibMapper.java index 2c891554..3c7cae1c 100644 --- a/src/main/java/com/lz/modules/flow/dao/ResultTagetLibMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/ResultTagetLibMapper.java @@ -48,4 +48,6 @@ public interface ResultTagetLibMapper extends BaseMapper { int updateResultTagetLibByIds(@Param("list") List inserts); List selectResultTagetLibByModelReqId(Long id); + + List selectResultTagetLibDtoByModelId(Long id); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/entity/FlowApprovalRole.java b/src/main/java/com/lz/modules/flow/entity/FlowApprovalRole.java index acb3c034..60b2af53 100644 --- a/src/main/java/com/lz/modules/flow/entity/FlowApprovalRole.java +++ b/src/main/java/com/lz/modules/flow/entity/FlowApprovalRole.java @@ -33,7 +33,7 @@ public class FlowApprovalRole implements java.io.Serializable { @ApiModelProperty(value = "审批用户id", name = "approvalId") private Long approvalId; //0表示指定员工,1表示1级主管,2表示二级主管.... - @ApiModelProperty(value = "0表示指定员工,1表示1级主管,2表示二级主管....", name = "type") + @ApiModelProperty(value = "-1考核人员自己,0表示指定员工,1表示1级主管,2表示二级主管....", name = "type") private Integer type; //审批人角色id @ApiModelProperty(value = "审批人角色id", name = "roleId") @@ -44,9 +44,7 @@ public class FlowApprovalRole implements java.io.Serializable { //步骤类型0:依次,1:或签(同时通知,一人通过或拒绝即可),2会签(同时通知,所有人同意才可) @ApiModelProperty(value = "步骤类型0:依次,1:或签(同时通知,一人通过或拒绝即可),2会签(同时通知,所有人同意才可)", name = "stepType") private Integer stepType; - //-1考核人员自己,0指定人员id,此时approval_id有值,1一级主管,2二级主管.... - @ApiModelProperty(value = "-1考核人员自己,0指定人员id,此时approval_id有值,1一级主管,2二级主管....", name = "approvalType") - private Integer approvalType; + //小结点的第几步,从0开始,如果是多人,步数相同 @ApiModelProperty(value = "小结点的第几步,从0开始,如果是多人,步数相同", name = "stepIndex") private Integer stepIndex; @@ -185,20 +183,7 @@ public class FlowApprovalRole implements java.io.Serializable { this.stepType = stepType; } - /** - * -1考核人员自己,0指定人员id,此时approval_id有值,1一级主管,2二级主管.... - * @return - */ - public Integer getApprovalType() { - return approvalType; - } - /** - * -1考核人员自己,0指定人员id,此时approval_id有值,1一级主管,2二级主管.... - * @param approvalType - */ - public void setApprovalType(Integer approvalType) { - this.approvalType = approvalType; - } + /** * 小结点的第几步,从0开始,如果是多人,步数相同 @@ -227,7 +212,6 @@ public class FlowApprovalRole implements java.io.Serializable { ",roleId=" + roleId + ",flowId=" + flowId + ",stepType=" + stepType + - ",approvalType=" + approvalType + ",stepIndex=" + stepIndex + "}"; } diff --git a/src/main/java/com/lz/modules/flow/model/FlowApprovalRoleDto.java b/src/main/java/com/lz/modules/flow/model/FlowApprovalRoleDto.java index 9b4cc87c..f6b66496 100644 --- a/src/main/java/com/lz/modules/flow/model/FlowApprovalRoleDto.java +++ b/src/main/java/com/lz/modules/flow/model/FlowApprovalRoleDto.java @@ -19,7 +19,7 @@ public class FlowApprovalRoleDto { @ApiModelProperty(value = "审批用户id", name = "approvalId") private Long approvalId; //0表示指定员工,1表示1级主管,2表示二级主管.... - @ApiModelProperty(value = "0表示指定员工,1表示1级主管,2表示二级主管....", name = "type") + @ApiModelProperty(value = "-1考核人员自己,0表示指定员工,1表示1级主管,2表示二级主管....", name = "type") private Integer type; //审批人角色id @ApiModelProperty(value = "审批人角色id", name = "roleId") @@ -30,9 +30,7 @@ public class FlowApprovalRoleDto { //步骤类型0:依次,1:或签(同时通知,一人通过或拒绝即可),2会签(同时通知,所有人同意才可) @ApiModelProperty(value = "步骤类型0:依次,1:或签(同时通知,一人通过或拒绝即可),2会签(同时通知,所有人同意才可)", name = "stepType") private Integer stepType; - //-1考核人员自己,0指定人员id,此时approval_id有值,1一级主管,2二级主管.... - @ApiModelProperty(value = "-1考核人员自己,0指定人员id,此时approval_id有值,1一级主管,2二级主管....", name = "approvalType") - private Integer approvalType; + /** * * @return @@ -123,20 +121,7 @@ public class FlowApprovalRoleDto { this.stepType = stepType; } - /** - * -1考核人员自己,0指定人员id,此时approval_id有值,1一级主管,2二级主管.... - * @return - */ - public Integer getApprovalType() { - return approvalType; - } - /** - * -1考核人员自己,0指定人员id,此时approval_id有值,1一级主管,2二级主管.... - * @param approvalType - */ - public void setApprovalType(Integer approvalType) { - this.approvalType = approvalType; - } + @Override public String toString() { @@ -147,7 +132,6 @@ public class FlowApprovalRoleDto { ",roleId=" + roleId + ",flowId=" + flowId + ",stepType=" + stepType + - ",approvalType=" + approvalType + "}"; } } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/req/FlowApprovalRoleReq.java b/src/main/java/com/lz/modules/flow/req/FlowApprovalRoleReq.java index 9aac1742..a938d59c 100644 --- a/src/main/java/com/lz/modules/flow/req/FlowApprovalRoleReq.java +++ b/src/main/java/com/lz/modules/flow/req/FlowApprovalRoleReq.java @@ -42,7 +42,7 @@ public class FlowApprovalRoleReq implements java.io.Serializable { @ApiModelProperty(value = "审批用户id", name = "approvalId") private Long approvalId; //0表示指定员工,1表示1级主管,2表示二级主管.... - @ApiModelProperty(value = "0表示指定员工,1表示1级主管,2表示二级主管....", name = "type") + @ApiModelProperty(value = "-1考核人员自己,0表示指定员工,1表示1级主管,2表示二级主管....", name = "type") private Integer type; //审批人角色id @ApiModelProperty(value = "审批人角色id", name = "roleId") @@ -53,9 +53,7 @@ public class FlowApprovalRoleReq implements java.io.Serializable { //步骤类型0:依次,1:或签(同时通知,一人通过或拒绝即可),2会签(同时通知,所有人同意才可) @ApiModelProperty(value = "步骤类型0:依次,1:或签(同时通知,一人通过或拒绝即可),2会签(同时通知,所有人同意才可)", name = "stepType") private Integer stepType; - //-1考核人员自己,0指定人员id,此时approval_id有值,1一级主管,2二级主管.... - @ApiModelProperty(value = "-1考核人员自己,0指定人员id,此时approval_id有值,1一级主管,2二级主管....", name = "approvalType") - private Integer approvalType; + /** * * @return @@ -191,20 +189,7 @@ public class FlowApprovalRoleReq implements java.io.Serializable { this.stepType = stepType; } - /** - * -1考核人员自己,0指定人员id,此时approval_id有值,1一级主管,2二级主管.... - * @return - */ - public Integer getApprovalType() { - return approvalType; - } - /** - * -1考核人员自己,0指定人员id,此时approval_id有值,1一级主管,2二级主管.... - * @param approvalType - */ - public void setApprovalType(Integer approvalType) { - this.approvalType = approvalType; - } + @Override public String toString() { @@ -218,7 +203,6 @@ public class FlowApprovalRoleReq implements java.io.Serializable { ",roleId=" + roleId + ",flowId=" + flowId + ",stepType=" + stepType + - ",approvalType=" + approvalType + "}"; } } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/performance/controller/FlowStartController.java b/src/main/java/com/lz/modules/performance/controller/FlowStartController.java index 90592f48..9d08eac4 100644 --- a/src/main/java/com/lz/modules/performance/controller/FlowStartController.java +++ b/src/main/java/com/lz/modules/performance/controller/FlowStartController.java @@ -14,6 +14,8 @@ 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.req.ResultModelItemReq; +import com.lz.modules.flow.req.ResultTagetLibItemReq; import com.lz.modules.flow.service.*; import com.lz.modules.performance.service.ResultTagetLibService; import com.lz.modules.sys.entity.app.ResultDetail; @@ -159,6 +161,7 @@ public class FlowStartController { return R.error(evaluationGroup.getName() + "——没有设置考核模板"); } + List flowChartDetailRecords = flowChartDetailRecordService.selectFlowChartDetailRecordByGroupId(evaluationGroup.getId()); if(flowChartDetailRecords.size() == 0){ @@ -188,9 +191,19 @@ public class FlowStartController { return R.error(evaluationGroup.getName() + "——没有设置绩效管理人员"); } + for (ResultModelDto dto:resultModelDtos + ) { + + + List libDtos = resultTagetLibService.selectResultTagetLibDtoByModelId(dto.getId()); + dto.setTagetLibs(libDtos); + } + //下面拷贝一份考评组信息发起后所使用的考评组id为复制后的id evaluationGroup.setCopyId(evaluationGroup.getId()); evaluationGroup.setId(null); + evaluationGroup.setGmtCreate(null); + evaluationGroup.setGmtModified(null); evaluationGroupService.insertEvaluationGroup(evaluationGroup); //下面初始化lz_flow流程表 lz_flow_approval_role流程审批表 @@ -226,9 +239,9 @@ public class FlowStartController { flowApprovalRole.setApprovalId(Long.parseLong(id)); flowApprovalRole.setStepType(flowChartDetailRecord.getStepType()); flowApprovalRole.setRoleId(Long.parseLong(roleId)); - flowApprovalRole.setApprovalType(flowChartDetailRecord.getOptType()); + flowApprovalRole.setType(flowChartDetailRecord.getOptType()); flowApprovalRoles.add(flowApprovalRole); - flowApprovalRole.setStepType(stepIndex); + flowApprovalRole.setStepIndex(stepIndex); } stepIndex++; } @@ -240,12 +253,13 @@ public class FlowStartController { flowApprovalRole.setFlowId(flow.getId()); flowApprovalRole.setStepType(flowChartDetailRecord.getStepType()); flowApprovalRole.setRoleId(Long.parseLong(roleId)); - flowApprovalRole.setApprovalType(flowChartDetailRecord.getOptType()); + flowApprovalRole.setType(flowChartDetailRecord.getOptType()); flowApprovalRoles.add(flowApprovalRole); - flowApprovalRole.setStepType(stepIndex); - stepIndex++; + flowApprovalRole.setStepIndex(stepIndex); + } + stepIndex++; } } @@ -260,7 +274,7 @@ public class FlowStartController { List evaluationStartStaffs = new ArrayList<>(); - + //下面初始化管理人员对应关系 for (StaffEntity entity:staffManagers ) { EvaluationStartStaff evaluationStartStaff = new EvaluationStartStaff(); @@ -307,6 +321,13 @@ public class FlowStartController { if(approvalRole.getType().intValue() == ChartOptType.SELF.getCode()){ //制定人员为自己的 staffId = staffInfo.getId(); + if(i == 0){//目前只设置一个,多个不明确是否支持,roleJSON是支持多个的 + //设置当前审批员工id current_approval_staff_id + resultRecord.setCurrentApprovalStaffId(staffInfo.getId()); + //设置当前审批员工姓名 current_approval_staff_name + resultRecord.setCurrentApprovalStaffName(staffInfo.getName()); + + } } else if(approvalRole.getType().intValue() > 0){//当设置为几级领导时 ///查找领导,如果不存在那么设置管理人员 List staffLeader; @@ -327,32 +348,45 @@ public class FlowStartController { 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){//模板里面有添加指标 + if(modelDto.getTagetLibs() != null && modelDto.getTagetLibs().size() > 0){//模板里面有添加指标 for (ResultTagetLibDto libDto: modelDto.getTagetLibs()) { //下面拷贝考评组里面的指标信息 diff --git a/src/main/java/com/lz/modules/performance/service/ResultTagetLibService.java b/src/main/java/com/lz/modules/performance/service/ResultTagetLibService.java index 339066e1..a0158ed0 100644 --- a/src/main/java/com/lz/modules/performance/service/ResultTagetLibService.java +++ b/src/main/java/com/lz/modules/performance/service/ResultTagetLibService.java @@ -48,4 +48,6 @@ public interface ResultTagetLibService extends IService { int updateResultTagetLibByIds(List inserts); List selectResultTagetLibByModelReqId(Long id); + + List selectResultTagetLibDtoByModelId(Long id); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/performance/service/impl/ResultTagetLibServiceImpl.java b/src/main/java/com/lz/modules/performance/service/impl/ResultTagetLibServiceImpl.java index 9dd28d33..341f6aa2 100644 --- a/src/main/java/com/lz/modules/performance/service/impl/ResultTagetLibServiceImpl.java +++ b/src/main/java/com/lz/modules/performance/service/impl/ResultTagetLibServiceImpl.java @@ -125,6 +125,11 @@ public class ResultTagetLibServiceImpl extends ServiceImpl selectResultTagetLibDtoByModelId(Long id){ + return resultTagetLibMapper.selectResultTagetLibDtoByModelId(id); + } + } 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 a6ee1644..d82a1f58 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 @@ -42,5 +42,5 @@ public interface ResultDetailMapper extends BaseMapper { //计算业务/价值观得分 BigDecimal calculateScore(@Param("recordId") Long recordId, @Param("staffId") Long staffId,@Param("type") Integer type); - Long insertResultDetails(List resultDetails); + Long insertResultDetails(@Param("list") List resultDetails); } \ No newline at end of file diff --git a/src/main/resources/mapper/app/ResultDetailMapper.xml b/src/main/resources/mapper/app/ResultDetailMapper.xml index 07548b07..e0431bfb 100644 --- a/src/main/resources/mapper/app/ResultDetailMapper.xml +++ b/src/main/resources/mapper/app/ResultDetailMapper.xml @@ -159,20 +159,23 @@ staff_id, priority, is_delete - )values( - #{ type}, - #{ target}, - #{ keyResult}, - #{ checkWeight}, - #{ checkResult}, - #{ superScore}, - #{ acquireScore}, - #{ scoreComment}, - #{ recordId}, - #{ staffId}, - #{ priority}, + )values + + ( + #{ item.type}, + #{ item.target}, + #{ item.keyResult}, + #{ item.checkWeight}, + #{ item.checkResult}, + #{ item.superScore}, + #{ item.acquireScore}, + #{ item.scoreComment}, + #{ item.recordId}, + #{ item.staffId}, + #{ item.priority}, 0 ) + diff --git a/src/main/resources/mapper/flow/FlowApprovalRoleMapper.xml b/src/main/resources/mapper/flow/FlowApprovalRoleMapper.xml index dcb59247..6a9fb89e 100644 --- a/src/main/resources/mapper/flow/FlowApprovalRoleMapper.xml +++ b/src/main/resources/mapper/flow/FlowApprovalRoleMapper.xml @@ -13,14 +13,13 @@ - - id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, approval_id AS approvalId, type AS type, role_id AS roleId, flow_id AS flowId, step_type AS stepType, approval_type AS approvalType, step_index AS stepIndex + id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, approval_id AS approvalId, type AS type, role_id AS roleId, flow_id AS flowId, step_type AS stepType, step_index AS stepIndex @@ -38,7 +37,6 @@ role_id, flow_id, step_type, - approval_type, step_index, is_delete, gmt_create, @@ -49,7 +47,6 @@ #{ roleId}, #{ flowId}, #{ stepType}, - #{ approvalType}, #{ stepIndex}, 0, now(), @@ -69,7 +66,6 @@ role_id = #{roleId}, flow_id = #{flowId}, step_type = #{stepType}, - approval_type = #{approvalType}, step_index = #{stepIndex} ,gmt_modified = now() @@ -88,7 +84,6 @@ role_id = #{roleId}, flow_id = #{flowId}, step_type = #{stepType}, - approval_type = #{approvalType}, step_index = #{stepIndex} ,gmt_modified = now() where id = #{id} @@ -101,13 +96,12 @@ - insert into lz_flow_chart_detail_record( + insert into lz_flow_approval_role( approval_id, type, role_id, flow_id, step_type, - approval_type, step_index, is_delete )values @@ -117,7 +111,6 @@ #{ item.roleId}, #{ item.flowId}, #{ item.stepType}, - #{ item.approvalType}, #{ item.stepIndex}, 0 ) diff --git a/src/main/resources/mapper/flow/FlowChartDetailRecordMapper.xml b/src/main/resources/mapper/flow/FlowChartDetailRecordMapper.xml index 6d1c567a..499d9267 100644 --- a/src/main/resources/mapper/flow/FlowChartDetailRecordMapper.xml +++ b/src/main/resources/mapper/flow/FlowChartDetailRecordMapper.xml @@ -114,7 +114,7 @@ diff --git a/src/main/resources/mapper/flow/ResultModelMapper.xml b/src/main/resources/mapper/flow/ResultModelMapper.xml index b1f5619d..2b8abc01 100644 --- a/src/main/resources/mapper/flow/ResultModelMapper.xml +++ b/src/main/resources/mapper/flow/ResultModelMapper.xml @@ -114,7 +114,7 @@ diff --git a/src/main/resources/mapper/flow/ResultTagetLibMapper.xml b/src/main/resources/mapper/flow/ResultTagetLibMapper.xml index 26a2337b..f4a1edd6 100644 --- a/src/main/resources/mapper/flow/ResultTagetLibMapper.xml +++ b/src/main/resources/mapper/flow/ResultTagetLibMapper.xml @@ -144,7 +144,11 @@ + +