From 0836ce27bedf950ec559bc2f4b76c61fd9aa0ee8 Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Tue, 27 Oct 2020 14:58:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lz/modules/app/resp/FlowDetailResp.java | 1 + .../app/impl/ResultRecordServiceImpl.java | 190 ++++++++++-------- 2 files changed, 105 insertions(+), 86 deletions(-) diff --git a/src/main/java/com/lz/modules/app/resp/FlowDetailResp.java b/src/main/java/com/lz/modules/app/resp/FlowDetailResp.java index 80a98625..7f957050 100644 --- a/src/main/java/com/lz/modules/app/resp/FlowDetailResp.java +++ b/src/main/java/com/lz/modules/app/resp/FlowDetailResp.java @@ -6,4 +6,5 @@ import lombok.Data; public class FlowDetailResp { private Long currentStaffId; private String staffName; + private Long flowRecordId; } 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 75c41e56..15824907 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 @@ -838,11 +838,16 @@ public class ResultRecordServiceImpl extends ServiceImpl flowRecords = flowRecordService.selectFlowRecordByResultRecordId(recordDetailDto.getResultRecordId()); - List flowRecordList = new ArrayList<>(); - int flowIndex = -1; - for (FlowRecord flowRecord : flowRecords) { - if (flowRecord.getFlowIndex().equals(flowIndex)) { //表示有重复数据 - FlowRecordResp lastResp = flowRecordList.get(flowRecordList.size() - 1); - List mulFlowRecord = flowRecordService.selectFlowRecordByRecordIdFlowIndex(recordDetailDto.getResultRecordId(), flowIndex); - FlowRecord fisrt = mulFlowRecord.get(0); - int stepIndex = fisrt.getType(); - boolean flag0 = false; - boolean flag1 = false; - boolean flag2 = false; - boolean flag4 = false; - List flowDetailRespList = lastResp.getFlowDetailRespList(); - mySetFlowDetailRespList(flowDetailRespList, flowRecord); - for (FlowRecord mul : mulFlowRecord) { - if (mul.getStatus().equals(FlowRecordStatusEnums.UN_TO_STATUS.getStatus())) { - flag0 = true; - } else if (mul.getStatus().equals(FlowRecordStatusEnums.FINISHED_STATUS.getStatus())) { - flag1 = true; - } else if (mul.getStatus().equals(FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus())) { - flag2 = true; - } else if (mul.getStatus().equals(FlowRecordStatusEnums.SKIP_STATUS.getStatus())) { - flag4 = true; - } - if(mul.getApprovalStaffId().equals(recordDetailDto.getLoginUserId())){ - lastResp.setStaffName(mul.getApprovalStaffName()); - } - } - if (stepIndex == 0 || stepIndex == 1) { // 依次 - if(flag0){ - lastResp.setStatus(0); - }else if(flag1){ - lastResp.setStatus(1); - }else if(flag2){ - lastResp.setStatus(1); - }else if (flag4){ - lastResp.setStatus(4); - } - } else { //所有 - if(flag0){ //只要有 0 表示当前节点所有的为0 - lastResp.setStatus(0); - }else if(flag2){ // 只要有 2 表示所有的结点停留在当前 - lastResp.setStatus(1); - }else if(flag1){ - lastResp.setStatus(1); // 当前步骤中只存在1和4 ,那么当前结点肯定通过了 - }else if (flag4){ - lastResp.setStatus(4); // 当前步骤中所有的结点都跳过了 - } - } - continue; - } - FlowRecordResp resp = new FlowRecordResp(); - resp.setFlowName(flowRecord.getFlowName()); - resp.setStaffName(flowRecord.getApprovalStaffName()); - resp.setStatus(flowRecord.getStatus()); - - List flowDetailRespList = new ArrayList<>(); - mySetFlowDetailRespList(flowDetailRespList,flowRecord); - - resp.setFlowDetailRespList(flowDetailRespList); - flowRecordList.add(resp); - flowIndex = flowRecord.getFlowIndex(); - } - FlowRecordResp end = new FlowRecordResp(); - end.setFlowName("线束"); - flowRecordList.add(end); - List resultCommentList = resultCommentService.selectByRecordId(recordDetailDto.getResultRecordId()); - Map map = new HashMap<>(); - map.put("flowRecordList", flowRecordList); - map.put("resultCommentList", resultCommentList); - return R.ok().put("data", map); + private R skip(ApprovalDto approvalDto) { + approvalDto.setLoginUserId(approvalDto.getCurrentStaffId()); + return newSubmit(approvalDto,FlowRecordStatusEnums.SKIP_STATUS.getStatus()); } - public void mySetFlowDetailRespList(List flowDetailRespList ,FlowRecord flowRecord){ - FlowDetailResp flowDetailResp = new FlowDetailResp(); - flowDetailResp.setCurrentStaffId(flowRecord.getApprovalStaffId()); - flowDetailResp.setStaffName(flowRecord.getApprovalStaffName()); - flowDetailRespList.add(flowDetailResp); - } private R transfer(ApprovalDto approvalDto) { + return null; } @@ -968,7 +897,7 @@ public class ResultRecordServiceImpl extends ServiceImpl 0) { if (stepType == 0 || stepType == 1) { //表示只要一个人通过就可以了 for (FlowRecord flowRecord : flowRecords) { if (flowRecord.getApprovalStaffId().equals(approvalDto.getLoginUserId())) { - flowRecord.setStatus(FlowRecordStatusEnums.FINISHED_STATUS.getStatus());//当前审批己经完成 + flowRecord.setStatus(finishedStatus);//当前审批己经完成 } else { flowRecord.setStatus(FlowRecordStatusEnums.OTHER_APPROVAL.getStatus()); //其他审批 } @@ -1001,14 +933,14 @@ public class ResultRecordServiceImpl extends ServiceImpl flowRecords = flowRecordService.selectFlowRecordByResultRecordId(recordDetailDto.getResultRecordId()); + List flowRecordList = new ArrayList<>(); + int flowIndex = -1; + for (FlowRecord flowRecord : flowRecords) { + if (flowRecord.getFlowIndex().equals(flowIndex)) { //表示有重复数据 + FlowRecordResp lastResp = flowRecordList.get(flowRecordList.size() - 1); + List mulFlowRecord = flowRecordService.selectFlowRecordByRecordIdFlowIndex(recordDetailDto.getResultRecordId(), flowIndex); + FlowRecord fisrt = mulFlowRecord.get(0); + int stepIndex = fisrt.getType(); + boolean flag0 = false; + boolean flag1 = false; + boolean flag2 = false; + boolean flag4 = false; + List flowDetailRespList = lastResp.getFlowDetailRespList(); + mySetFlowDetailRespList(flowDetailRespList, flowRecord); + for (FlowRecord mul : mulFlowRecord) { + if (mul.getStatus().equals(FlowRecordStatusEnums.UN_TO_STATUS.getStatus())) { + flag0 = true; + } else if (mul.getStatus().equals(FlowRecordStatusEnums.FINISHED_STATUS.getStatus())) { + flag1 = true; + } else if (mul.getStatus().equals(FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus())) { + flag2 = true; + } else if (mul.getStatus().equals(FlowRecordStatusEnums.SKIP_STATUS.getStatus())) { + flag4 = true; + } + if(mul.getApprovalStaffId().equals(recordDetailDto.getLoginUserId())){ + lastResp.setStaffName(mul.getApprovalStaffName()); + } + } + if (stepIndex == 0 || stepIndex == 1) { // 依次 + if(flag0){ + lastResp.setStatus(0); + }else if(flag1){ + lastResp.setStatus(1); + }else if(flag2){ + lastResp.setStatus(1); + }else if (flag4){ + lastResp.setStatus(4); + } + } else { //所有 + if(flag0){ //只要有 0 表示当前节点所有的为0 + lastResp.setStatus(0); + }else if(flag2){ // 只要有 2 表示所有的结点停留在当前 + lastResp.setStatus(1); + }else if(flag1){ + lastResp.setStatus(1); // 当前步骤中只存在1和4 ,那么当前结点肯定通过了 + }else if (flag4){ + lastResp.setStatus(4); // 当前步骤中所有的结点都跳过了 + } + } + continue; + } + FlowRecordResp resp = new FlowRecordResp(); + resp.setFlowName(flowRecord.getFlowName()); + resp.setStaffName(flowRecord.getApprovalStaffName()); + resp.setStatus(flowRecord.getStatus()); + + List flowDetailRespList = new ArrayList<>(); + mySetFlowDetailRespList(flowDetailRespList,flowRecord); + + resp.setFlowDetailRespList(flowDetailRespList); + flowRecordList.add(resp); + flowIndex = flowRecord.getFlowIndex(); + } + FlowRecordResp end = new FlowRecordResp(); + end.setFlowName("线束"); + flowRecordList.add(end); + List resultCommentList = resultCommentService.selectByRecordId(recordDetailDto.getResultRecordId()); + Map map = new HashMap<>(); + map.put("flowRecordList", flowRecordList); + map.put("resultCommentList", resultCommentList); + return R.ok().put("data", map); + } + + + public void mySetFlowDetailRespList(List flowDetailRespList ,FlowRecord flowRecord){ + FlowDetailResp flowDetailResp = new FlowDetailResp(); + flowDetailResp.setCurrentStaffId(flowRecord.getApprovalStaffId()); + flowDetailResp.setStaffName(flowRecord.getApprovalStaffName()); + flowDetailResp.setFlowRecordId(flowRecord.getId()); + flowDetailRespList.add(flowDetailResp); + } + public StaffEntity getDepartmentStaff(Long staffId, int level) { DepartManagers departManagers = staffService.findLeader( staffId, level); List staffEntities = departManagers.getManagers();