From 564a791d5f6173fff432b55fa92e1dba479821e5 Mon Sep 17 00:00:00 2001 From: wulin Date: Fri, 13 Nov 2020 16:06:21 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=BB=A9=E6=95=88=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E5=A2=9E=E5=8A=A0=E5=AF=B9=E8=AF=84=E5=88=86=E6=88=96?= =?UTF-8?q?=E7=AD=BE=E7=9A=84=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ResultRecordController.java | 49 ++++++++++++------- 1 file changed, 31 insertions(+), 18 deletions(-) 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 b1056ebc..218e071c 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -39,6 +39,7 @@ import org.springframework.web.bind.annotation.*; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.math.BigDecimal; +import java.math.RoundingMode; import java.text.SimpleDateFormat; import java.util.*; import java.util.function.Function; @@ -367,6 +368,7 @@ public class ResultRecordController extends AbstractController { flowChartDetailRecordService.selectFlowChartDetailRecordsByFlowProcess(resultRecord.getEvaluationId(), ChartFlowType.SCORE.getCode());//获取参与评分的人 List staffs = new ArrayList<>(); Boolean isAllScore = true;//false表示返回所有的评分,true表示值返回评分了的人 + Boolean isOrScore = false;//是否为或签 for (FlowChartDetailRecord record:flowChartDetailRecords ) { List staffs1 = new ArrayList<>(); @@ -398,23 +400,11 @@ public class ResultRecordController extends AbstractController { log.info("无法找到评分人员,开始找绩效管理人员"); staffs1 = staffService.findManger(resultRecord.getId(), ChartFlowType.SCORE.getCode()); } - List flowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(resultRecord.getId(), 0);//获取未执行的节点 - if(flowRecords.size() > 0){ - if(flowRecords.get(0).getFlowProcess().intValue() > ChartFlowType.SCORE.getCode()){ - //流程已经到了审批节点,那么判断评分是否为或签,如果是那么只需要返回实际评分的那个人即可,否则全部返回 - flowRecords = flowRecordService.selectFlowRecordByRecordIdFlowProcess(resultRecord.getId(), ChartFlowType.SCORE.getCode());//获取当前的流程节点 - if(flowRecords.get(0).getType().intValue() == 1){ - //或签 - isAllScore = false; - } - } - }else{//绩效流程已经走完 - //流程已经到了审批节点,那么判断评分是否为或签,如果是那么只需要返回实际评分的那个人即可,否则全部返回 - flowRecords = flowRecordService.selectFlowRecordByRecordIdFlowProcess(resultRecord.getId(), ChartFlowType.SCORE.getCode());//获取当前的流程节点 - if(flowRecords.get(0).getType().intValue() == 1){ - //或签 - isAllScore = false; - } + //流程已经到了审批节点,那么判断评分是否为或签,如果是那么只需要返回实际评分的那个人即可,否则全部返回 + List flowRecords = flowRecordService.selectFlowRecordByRecordIdFlowProcess(resultRecord.getId(), ChartFlowType.SCORE.getCode());//获取当前的流程节点 + if(flowRecords.get(0).getType().intValue() == 1){ + //或签 + isOrScore = true; } for (StaffEntity staff:staffs1 @@ -422,9 +412,32 @@ public class ResultRecordController extends AbstractController { ResultScoreDto resultScore = new ResultScoreDto(); resultScore.setApprovalId(staff.getId()); resultScore.setApprovalName(staff.getName()); - resultScore.setWeight(record.getWeight().divide(BigDecimal.valueOf(staffs1.size())));//多人的时候权重平分 + if(isOrScore){ + //或签每个权重一样 + resultScore.setWeight(record.getWeight()); + }else{ + //多人的时候权重平分 + resultScore.setWeight(record.getWeight().divide(BigDecimal.valueOf(staffs1.size()), RoundingMode.CEILING)); + } + scoreDtos.add(resultScore); } + + flowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(resultRecord.getId(), 0);//获取未执行的节点 + if(flowRecords.size() > 0){ + if(flowRecords.get(0).getFlowProcess().intValue() > ChartFlowType.SCORE.getCode()){ + //流程已经到了审批节点,那么判断评分是否为或签,如果是那么只需要返回实际评分的那个人即可,否则全部返回 + if(isOrScore){ + isAllScore = false; + } + } + }else{//绩效流程已经走完 + if(isOrScore){ + isAllScore = false; + } + } + + staffs.addAll(staffs1); }