Pārlūkot izejas kodu

feature 代码提交

xiahan 7 mēneši atpakaļ
vecāks
revīzija
79df7459f7

+ 8 - 1
jsglkh-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ExamineServiceImpl.java

@@ -16,6 +16,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -97,12 +98,18 @@ public class ExamineServiceImpl implements ExamineService {
             ScoreCalculationService scoreCalculationService = SpringContextUtils.getBean("scoreCalculationServiceNum" + rule.getNum());
             saveData.add(scoreCalculationService.soreCalculation(jtYcpfhz, khbmList, jtKhxmList, jtGsjtbsj, rule, currentUser));
         });
+        List<String> removeIds = new ArrayList<>();
         // 不为空 先删除旧数据 在新增
         if (!oldData.isEmpty()) {
             List<Integer> sortNoList = saveData.stream().map(JtYcpfhzDetail::getSortno).collect(Collectors.toList());
-            List<String> removeIds = oldData.stream().filter(info -> sortNoList.contains(info.getSortno())).map(JtYcpfhzDetail::getId).collect(Collectors.toList());
+            removeIds.addAll(oldData.stream().filter(info -> sortNoList.contains(info.getSortno())).map(JtYcpfhzDetail::getId).collect(Collectors.toList()));
             jtYcpfhzDetailService.removeByIds(removeIds);
         }
+        // 重新计算得分
+        double sum = oldData.stream().filter(info -> !removeIds.contains(info.getId())).mapToDouble(info -> info.getYcpf().intValue()).sum();
+        double sum1 = saveData.stream().mapToDouble(info -> info.getYcpf().intValue()).sum();
+        jtYcpfhz.setZpf(BigDecimal.valueOf(sum1).add(BigDecimal.valueOf(sum)));
+        jtYcpfhzService.updateById(jtYcpfhz);
         jtYcpfhzDetailService.saveBatch(saveData, 10);
         return R.ok();
     }