|
@@ -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();
|
|
|
}
|