From 6a37769c086788122ec3dd54b72803e25aaf9aeb Mon Sep 17 00:00:00 2001 From: wulin Date: Wed, 18 Nov 2020 20:01:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=90=E7=BA=BF=E7=A8=8B=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lz/modules/flow/dao/FlowMapper.java | 2 + .../lz/modules/flow/model/StartStartDto.java | 10 ++- .../lz/modules/flow/service/FlowService.java | 2 + .../flow/service/impl/FlowServiceImpl.java | 2 + .../service/impl/FlowStartServiceImpl.java | 71 ++++++++++++------- .../sys/service/app/ResultRecordService.java | 5 +- .../app/impl/ResultRecordServiceImpl.java | 14 ++-- src/main/resources/mapper/flow/FlowMapper.xml | 2 + 8 files changed, 73 insertions(+), 35 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/dao/FlowMapper.java b/src/main/java/com/lz/modules/flow/dao/FlowMapper.java index 35eb72ef..fea7c412 100644 --- a/src/main/java/com/lz/modules/flow/dao/FlowMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/FlowMapper.java @@ -34,4 +34,6 @@ public interface FlowMapper extends BaseMapper { List selectByFlowId(@Param("flowId") Long flowId, @Param("startId") Long startId); + + } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/model/StartStartDto.java b/src/main/java/com/lz/modules/flow/model/StartStartDto.java index c9b00db6..cb177103 100644 --- a/src/main/java/com/lz/modules/flow/model/StartStartDto.java +++ b/src/main/java/com/lz/modules/flow/model/StartStartDto.java @@ -1,12 +1,16 @@ package com.lz.modules.flow.model; +import com.lz.modules.flow.entity.Flow; +import com.lz.modules.flow.entity.FlowApprovalRole; import com.lz.modules.sys.entity.app.ResultRecord; import lombok.Data; import java.util.ArrayList; import java.util.List; @Data -public class StartStartDto { - private int status; - private List resultRecordList = new ArrayList<>(); +public class StartStartDto {//发起一个考评组对应的返回的数据 + private int status;//返回结果 + private List flows ; + private List flowApprovalRoles; + private List resultRecordList; } diff --git a/src/main/java/com/lz/modules/flow/service/FlowService.java b/src/main/java/com/lz/modules/flow/service/FlowService.java index 3e96a946..37f43fea 100644 --- a/src/main/java/com/lz/modules/flow/service/FlowService.java +++ b/src/main/java/com/lz/modules/flow/service/FlowService.java @@ -36,4 +36,6 @@ public interface FlowService extends IService { List selectByFlowId(Long flowId,Long startId); FlowChart selectFlowChartByChartId(Long flowId); + + } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowServiceImpl.java index 4c6a11b8..18161ddb 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowServiceImpl.java @@ -78,4 +78,6 @@ public class FlowServiceImpl extends ServiceImpl implements Fl } + + } 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 a48a65d3..47505a3b 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 @@ -161,7 +161,7 @@ public class FlowStartServiceImpl extends ServiceImpl> mustRole = new HashMap<>(); Map> selfMustRole = new HashMap<>(); List noticeStaff = new ArrayList<>(); - List resultRecords = new ArrayList<>(); + List resultRecords = new ArrayList<>(); for (GroupStaffs groupStaffs:startGroupStaffIds.getGroups() ) { List staffSimpleInfos = staffService.selectStaffSimpleInfos(groupStaffs.getStaffIds()); @@ -187,7 +187,7 @@ public class FlowStartServiceImpl extends ServiceImpl> mustRole = new HashMap<>(); Map> selfMustRole = new HashMap<>(); List noticeStaff = new ArrayList<>(); - List resultRecords = new ArrayList<>(); + List resultRecords = new ArrayList<>(); for (int n = 0; n < evaluationGroups.size(); n++ ) { EvaluationGroup evaluationGroup = evaluationGroups.get(n); @@ -323,7 +323,7 @@ public class FlowStartServiceImpl extends ServiceImpl resultRecords = new ArrayList<>(); + List flows; + List flowApprovalRoles; //下面拷贝一份考评组信息发起后所使用的考评组id为复制后的id if(!isInsert){ evaluationGroup.setCopyId(evaluationGroup.getId()); @@ -450,12 +453,10 @@ public class FlowStartServiceImpl extends ServiceImpl evaluationStartStaffs = new ArrayList<>(); List resultDetails = new ArrayList(); - //下面初始化参与人员 for (StaffSimpleInfo staffInfo:staffIds ) { staffInfo.setStartId(flowStart.getId()); - EvaluationStartStaff evaluationStartStaff = new EvaluationStartStaff(); evaluationStartStaff.setEvaluationId(evaluationGroup.getId()); evaluationStartStaff.setEvaluationName(evaluationGroup.getName()); @@ -482,9 +483,9 @@ public class FlowStartServiceImpl extends ServiceImpl flowIds = flows.stream().map(new Function() { + @Override + public Long apply(Flow flow) { + return flow.getId(); + } + }).collect(Collectors.toList()); + + flowApprovalRoles =flowApprovalRoleService.selectFlowApprovalRoleList(flowIds); + startStartDto.setFlows(flows); + startStartDto.setFlowApprovalRoles(flowApprovalRoles); startStartDto.setStatus(0); return startStartDto; } //下面初始化lz_flow流程表 lz_flow_approval_role流程审批表 - List flowApprovalRoles = new ArrayList<>(); + flows = new ArrayList<>(); + flowApprovalRoles = new ArrayList<>(); int stepIndex = 0; for (FlowChartDetailRecord flowChartDetailRecord:flowChartDetailRecords - ) { + ) {//初始化考评组对应的的flow Flow flow = new Flow(); flow.setFlowId(evaluationGroup.getId()); flow.setOpt("+"); flow.setStartId(flowStart.getId()); flow.setChartId(flowChartDetailRecord.getChartId()); flow.setOptDesc(chartNameMaps.get(flowChartDetailRecord.getChartId())); - + flows.add(flow); flowService.insertFlow(flow); FlowApprovalRole flowApprovalRole = null; List flowChartRoles = null; @@ -564,7 +578,7 @@ public class FlowStartServiceImpl extends ServiceImpl resultDetails = new ArrayList<>(); List evaluationStartStaffs = new ArrayList<>(); - List resultRecords = new ArrayList<>(); + //下面初始化参与人员 for (StaffSimpleInfo staffInfo:staffIds ) { @@ -746,9 +760,11 @@ public class FlowStartServiceImpl extends ServiceImpl 0){ // @@ -794,6 +813,7 @@ public class FlowStartServiceImpl extends ServiceImpl resultRecords, List noticeStaff){ + private void initFlowRecordAnsy(List resultRecords, List noticeStaff){ if(resultRecords.size() > 0){ ThreadInitFlowRecord threadInitFlowRecord = new ThreadInitFlowRecord(resultRecords, noticeStaff); @@ -819,14 +839,13 @@ public class FlowStartServiceImpl extends ServiceImpl resultRecords = new ArrayList<>(); - List noticeStaff = new ArrayList<>(); + List resultRecords; + List noticeStaff; - public ThreadInitFlowRecord(List resultRecords, List noticeStaff){ - //CollectionUtils.addAll(this.resultRecords, new Object[resultRecords.size()]); - //Collections.copy(resultRecords, resultRecords); - this.resultRecords.addAll(resultRecords); - this.noticeStaff.addAll(noticeStaff); + public ThreadInitFlowRecord(List resultRecords, List noticeStaff){ + + this.resultRecords = resultRecords; + this.noticeStaff = noticeStaff; } @Override @@ -836,9 +855,13 @@ public class FlowStartServiceImpl extends ServiceImpl { R initFlowRecord(Long resultRecordId); - R newApproval(ApprovalDto approvalDto) throws Exception; + R initFlowRecord(ResultRecord resultRecord, List flows, List flowApprovalRoles); + + R newApproval(ApprovalDto approvalDto) throws Exception; R newResultRecordList(RecordDetailDto recordDetailDto); diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index ae0f1373..7fedbeba 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -772,19 +772,19 @@ public class ResultRecordServiceImpl extends ServiceImpl flows = flowService.selectByFlowId(resultRecord.getEvaluationId(),resultRecord.getStartId()); - log.info("flows"); List flowIds = new ArrayList<>(); for(Flow flow:flows){ flowIds.add(flow.getId()); } - log.info("flowId"); List flowApprovalRoles =flowApprovalRoleService.selectFlowApprovalRoleList(flowIds); - log.info("flowApprovalRoles"); + + return initFlowRecord(resultRecord, flows, flowApprovalRoles); + } + + @Override + public R initFlowRecord(ResultRecord resultRecord, List flows, List flowApprovalRoles) { + int i = 0; for (FlowApprovalRole flowApprovalRole : flowApprovalRoles) { FlowRecord flowRecord = new FlowRecord(); diff --git a/src/main/resources/mapper/flow/FlowMapper.xml b/src/main/resources/mapper/flow/FlowMapper.xml index 0d59c825..4fe27512 100644 --- a/src/main/resources/mapper/flow/FlowMapper.xml +++ b/src/main/resources/mapper/flow/FlowMapper.xml @@ -103,5 +103,7 @@ select * from lz_flow where flow_id = #{flowId} and is_delete = 0 and start_id = #{startId} + +