Selaa lähdekoodia

Merge remote-tracking branch 'origin/master'

zhoutg 5 vuotta sitten
vanhempi
commit
16389d4ae7
1 muutettua tiedostoa jossa 30 lisäystä ja 3 poistoa
  1. 30 3
      src/main/java/com/diagbot/facade/AlgorithmFacade.java

+ 30 - 3
src/main/java/com/diagbot/facade/AlgorithmFacade.java

@@ -53,7 +53,7 @@ public class AlgorithmFacade {
         }
         //得分≤90分且得分>80分为乙级
         if (BigDecimalUtil.compareTo(score, new BigDecimal(90)) == 5
-                && BigDecimalUtil.compareTo(score, new BigDecimal(80)) == 3) {
+                && BigDecimalUtil.compareTo(score, new BigDecimal(80)) == 4) {
             level = "乙";
         }
         //得分≤80分为丙级
@@ -95,12 +95,17 @@ public class AlgorithmFacade {
             }
             //操作数据
             if (ListUtil.isNotEmpty(qcResultAlgVOList)) {
+                Boolean hasData = false;
                 for (QcResultAlgVO qcResultAlgVO : qcResultAlgVOList) {
                     if (qcResultAlgVO.getId().equals(algorithmVO.getOptResultAlgVO().getId())) {
                         qcResultAlgVOList.remove(qcResultAlgVO);
+                        hasData = true;
                         break;
                     }
                 }
+                if (!hasData){
+                    throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "删除的条目不存在!");
+                }
             }
         }
         //修改
@@ -110,13 +115,18 @@ public class AlgorithmFacade {
             }
             //操作数据
             if (ListUtil.isNotEmpty(qcResultAlgVOList)) {
+                Boolean hasData = false;
                 for (QcResultAlgVO qcResultAlgVO : qcResultAlgVOList) {
                     if (qcResultAlgVO.getId().equals(algorithmVO.getOptResultAlgVO().getId())) {
                         qcResultAlgVOList.remove(qcResultAlgVO);
                         qcResultAlgVOList.add(algorithmVO.getOptResultAlgVO());
+                        hasData = true;
                         break;
                     }
                 }
+                if (!hasData){
+                    throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "修改的条目不存在!");
+                }
             }
         }
     }
@@ -147,13 +157,13 @@ public class AlgorithmFacade {
                     //非单票否决计分
                     if (casesScoreMap.containsKey(qcResultAlgVO.getCasesId())) {
                         BigDecimal casesScore = casesScoreMap.get(qcResultAlgVO.getCasesId());
-                        casesScore= casesScore.add(qcResultAlgVO.getScore());
+                        casesScore = casesScore.add(qcResultAlgVO.getScore());
                         casesScoreMap.put(qcResultAlgVO.getCasesId(), casesScore);
                     }
                 }
             }
 
-            //结果先减去单票否决计分
+            //结果先减去单票否决计分总和
             res = res.subtract(rejectScore);
             //结果小于0按0计算
             if (BigDecimalUtil.compareTo(res, BigDecimal.ZERO) == 1) {
@@ -163,8 +173,10 @@ public class AlgorithmFacade {
                 for (Map.Entry<Long, BigDecimal> casesScore : casesScoreMap.entrySet()) {
                     BigDecimal allSccore = casesMap.get(casesScore.getKey());
                     if (BigDecimalUtil.compareTo(allSccore, casesScore.getValue()) == 5) {
+                        //模块标准分小于等于模块减分总和就用模块标准分
                         res = res.subtract(allSccore);
                     } else {
+                        //模块标准分大于模块减分总和就用模块减分总和
                         res = res.subtract(casesScore.getValue());
                     }
                 }
@@ -176,4 +188,19 @@ public class AlgorithmFacade {
         }
         return res;
     }
+
+    public static void main(String[] args) {
+        AlgorithmFacade algorithmFacade = new AlgorithmFacade();
+        System.out.println("100:" + algorithmFacade.getLevel(new BigDecimal(100)));
+        System.out.println("95:" + algorithmFacade.getLevel(new BigDecimal(95)));
+        System.out.println("90.1:" + algorithmFacade.getLevel(new BigDecimal(90.1)));
+        System.out.println("90:" + algorithmFacade.getLevel(new BigDecimal(90)));
+        System.out.println("85:" + algorithmFacade.getLevel(new BigDecimal(85)));
+        System.out.println("80.1:" + algorithmFacade.getLevel(new BigDecimal(80.1)));
+        System.out.println("80:" + algorithmFacade.getLevel(new BigDecimal(80)));
+        System.out.println("79.9:" + algorithmFacade.getLevel(new BigDecimal(79.9)));
+        System.out.println("60:" + algorithmFacade.getLevel(new BigDecimal(60)));
+        System.out.println("0:" + algorithmFacade.getLevel(new BigDecimal(0)));
+
+    }
 }