From daad5e41f683c274be8ce28c1165b8e69741b498 Mon Sep 17 00:00:00 2001 From: wulin Date: Tue, 27 Oct 2020 11:13:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8F=91=E8=B5=B7=E8=80=83?= =?UTF-8?q?=E6=A0=B8=E6=8E=A5=E5=8F=A3=EF=BC=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lz/modules/flow/dao/FlowChartMapper.java | 2 + .../modules/flow/entity/FlowApprovalRole.java | 2 +- .../flow/entity/FlowChartDetailRecord.java | 2 +- .../flow/model/FlowChartDetailRecordDto.java | 2 +- .../flow/req/FlowChartDetailRecordReq.java | 2 +- .../flow/service/FlowChartService.java | 2 + .../service/impl/FlowChartServiceImpl.java | 5 ++ .../service/impl/FlowStartServiceImpl.java | 70 ++++++++----------- .../resources/mapper/flow/FlowChartMapper.xml | 8 +++ 9 files changed, 51 insertions(+), 44 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/dao/FlowChartMapper.java b/src/main/java/com/lz/modules/flow/dao/FlowChartMapper.java index 520814be..04a2f604 100644 --- a/src/main/java/com/lz/modules/flow/dao/FlowChartMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/FlowChartMapper.java @@ -40,4 +40,6 @@ public interface FlowChartMapper extends BaseMapper { List selectChartRoleByChartId(Long id); List selectFlowChartDtoByFlowManagerId(Long id); + + List selectFlowChartsByGroupId(Long groupId); } \ 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 db0eb52d..752e737c 100644 --- a/src/main/java/com/lz/modules/flow/entity/FlowApprovalRole.java +++ b/src/main/java/com/lz/modules/flow/entity/FlowApprovalRole.java @@ -46,7 +46,7 @@ public class FlowApprovalRole implements java.io.Serializable { private Integer stepType; //小结点的第几步,从0开始,如果是多人,步数相同 - @ApiModelProperty(value = "小结点的第几步,从0开始,如果是多人,步数相同", name = "stepIndex") + @ApiModelProperty(value = "小结点的第几步,从0开始,如果是多人,步数相同,", name = "stepIndex") private Integer stepIndex; /** * diff --git a/src/main/java/com/lz/modules/flow/entity/FlowChartDetailRecord.java b/src/main/java/com/lz/modules/flow/entity/FlowChartDetailRecord.java index c3ead12f..0a5c6079 100644 --- a/src/main/java/com/lz/modules/flow/entity/FlowChartDetailRecord.java +++ b/src/main/java/com/lz/modules/flow/entity/FlowChartDetailRecord.java @@ -53,7 +53,7 @@ public class FlowChartDetailRecord implements java.io.Serializable { @ApiModelProperty(value = "步骤类型0:依次,1或签(同时通知,一人通过或拒绝即可),2会签(同时通知,所有人同意才可以)", name = "stepType") private Integer stepType; //第几步从0开始,按照有小到排序 - @ApiModelProperty(value = "第几步从0开始,按照有小到排序", name = "stepIndex") + @ApiModelProperty(value = "第几步从0开始,按照有小到排序,大节点中的排序", name = "stepIndex") private Integer stepIndex; //权重,评分时所占权重 @ApiModelProperty(value = "权重,评分时所占权重", name = "weight") diff --git a/src/main/java/com/lz/modules/flow/model/FlowChartDetailRecordDto.java b/src/main/java/com/lz/modules/flow/model/FlowChartDetailRecordDto.java index 6ae80371..9c4eec7a 100644 --- a/src/main/java/com/lz/modules/flow/model/FlowChartDetailRecordDto.java +++ b/src/main/java/com/lz/modules/flow/model/FlowChartDetailRecordDto.java @@ -42,7 +42,7 @@ public class FlowChartDetailRecordDto { @ApiModelProperty(value = "步骤类型0:依次,1或签(同时通知,一人通过或拒绝即可),2会签(同时通知,所有人同意才可以)", name = "stepType") private Integer stepType; //第几步从0开始,按照有小到排序 - @ApiModelProperty(value = "第几步从0开始,按照有小到排序", name = "stepIndex") + @ApiModelProperty(value = "第几步从0开始,按照有小到排序,大节点中的排序", name = "stepIndex") private Integer stepIndex; //权重,评分时所占权重 @ApiModelProperty(value = "权重,评分时所占权重", name = "weight") diff --git a/src/main/java/com/lz/modules/flow/req/FlowChartDetailRecordReq.java b/src/main/java/com/lz/modules/flow/req/FlowChartDetailRecordReq.java index fed51076..4ff7cc0c 100644 --- a/src/main/java/com/lz/modules/flow/req/FlowChartDetailRecordReq.java +++ b/src/main/java/com/lz/modules/flow/req/FlowChartDetailRecordReq.java @@ -62,7 +62,7 @@ public class FlowChartDetailRecordReq implements java.io.Serializable { @ApiModelProperty(value = "步骤类型0:依次,1或签(同时通知,一人通过或拒绝即可),2会签(同时通知,所有人同意才可以)", name = "stepType") private Integer stepType; //第几步从0开始,按照有小到排序 - @ApiModelProperty(value = "第几步从0开始,按照有小到排序", name = "stepIndex") + @ApiModelProperty(value = "第几步从0开始,按照有小到排序,大节点中的排序", name = "stepIndex") private Integer stepIndex; //权重,评分时所占权重 @ApiModelProperty(value = "权重,评分时所占权重", name = "weight") diff --git a/src/main/java/com/lz/modules/flow/service/FlowChartService.java b/src/main/java/com/lz/modules/flow/service/FlowChartService.java index 8aa7d683..c3a3e84a 100644 --- a/src/main/java/com/lz/modules/flow/service/FlowChartService.java +++ b/src/main/java/com/lz/modules/flow/service/FlowChartService.java @@ -39,4 +39,6 @@ public interface FlowChartService extends IService { List selectChartRoleByChartId(Long id); List selectFlowChartDtoByFlowManagerId(Long id); + + List selectFlowChartsByGroupId(Long groupId); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowChartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowChartServiceImpl.java index 0c52b9bd..57865106 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowChartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowChartServiceImpl.java @@ -77,6 +77,11 @@ public class FlowChartServiceImpl extends ServiceImpl selectFlowChartsByGroupId(Long groupId){ + return flowChartMapper.selectFlowChartsByGroupId(groupId); + } + } 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 cdd06d39..ab1d237a 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 @@ -150,7 +150,7 @@ public class FlowStartServiceImpl extends ServiceImpl chartNameMaps = new HashedMap();//流程节点与流程名称对应map,下面多次循环,减少数据库查找 + Map> staffManages = new HashedMap();//部门(id+几级)和部门几级管理对应关系,减少数据库查找 //下面开始初始化流程 List ids = Arrays.stream(flowStart.getGroupIds().split(",")).map(new Function() { @@ -178,13 +178,25 @@ public class FlowStartServiceImpl extends ServiceImpl 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); + } - List flowChartDetailRecords - = flowChartDetailRecordService.selectFlowChartDetailRecordByGroupId(evaluationGroup.getId()); if(flowChartDetailRecords.size() == 0){ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚 return R.error(evaluationGroup.getName() + "——没有设置考核流程"); } + Map chartNameMaps = + flowCharts.stream().collect(Collectors.toMap(FlowChart::getId, FlowChart::getName));//流程节点与流程名称对应map,下面多次循环,减少数据库查找 List staffManagers = null; if(!StringUtil.isEmpty(evaluationGroup.getManagerIds())){ @@ -255,34 +267,16 @@ public class FlowStartServiceImpl extends ServiceImpl + +