|
@@ -108,33 +108,62 @@ public class CalculateIndicatorItemInfoServiceImpl extends ServiceImpl<Calculate
|
|
|
|
|
|
|
|
|
public int saveCalculate(List<CalculateIndicatorItmeInfo> list) throws Exception {
|
|
|
+
|
|
|
|
|
|
if (list.size() > 0){
|
|
|
Map<String, List<CalculateIndicatorItmeInfo>> collect = list.stream().collect(Collectors.groupingBy(CalculateIndicatorItmeInfo::getOptionCode));
|
|
|
for (Map.Entry<String, List<CalculateIndicatorItmeInfo>> listEntry : collect.entrySet()){
|
|
|
CalculateIndicatorItmeInfo maxNum = listEntry.getValue().stream().max(Comparator.comparing(CalculateIndicatorItmeInfo::getQuantifiedValue)).get();
|
|
|
- CalculateIndicatorItmeInfo minNum = listEntry.getValue().stream().min(Comparator.comparing(CalculateIndicatorItmeInfo::getQuantifiedValue)).get();
|
|
|
- if (listEntry.getKey().equals("CZ")){
|
|
|
-
|
|
|
- maxNum.setOptionCode("CZMAX");
|
|
|
- calculateIndicatorItemInfoMapper.insert(maxNum);
|
|
|
-
|
|
|
- maxNum.setOptionCode("CZMIN");
|
|
|
- calculateIndicatorItemInfoMapper.insert(minNum);
|
|
|
- }else if (listEntry.getKey().equals("LRGXKL")){
|
|
|
- maxNum.setOptionCode("LRGXKLMAX");
|
|
|
- calculateIndicatorItemInfoMapper.insert(maxNum);
|
|
|
-
|
|
|
- maxNum.setOptionCode("LRGXKLMIN");
|
|
|
- calculateIndicatorItemInfoMapper.insert(minNum);
|
|
|
- }else if (listEntry.getKey().equals("DWQWLR")){
|
|
|
- maxNum.setOptionCode("DWQWLRMAX");
|
|
|
- calculateIndicatorItemInfoMapper.insert(maxNum);
|
|
|
-
|
|
|
- maxNum.setOptionCode("DWQWLRMIN");
|
|
|
- calculateIndicatorItemInfoMapper.insert(minNum);
|
|
|
+
|
|
|
+ QueryWrapper<CalculateIndicatorItmeInfo> qw = new QueryWrapper<>();
|
|
|
+ qw.lambda().eq(CalculateIndicatorItmeInfo::getYear, maxNum.getYear());
|
|
|
+ qw.lambda().eq(CalculateIndicatorItmeInfo::getMonth, maxNum.getMonth());
|
|
|
+ qw.lambda().eq(CalculateIndicatorItmeInfo::getOptionCode, maxNum.getOptionCode());
|
|
|
+ qw.lambda().eq(CalculateIndicatorItmeInfo::getCheckCycle, maxNum.getCheckCycle());
|
|
|
+ qw.lambda().eq(CalculateIndicatorItmeInfo::getOrganizationType, maxNum.getOrganizationType());
|
|
|
+ CalculateIndicatorItmeInfo calculateIndicatorItmeInfo = calculateIndicatorItemInfoMapper.selectOne(qw);
|
|
|
+ if (calculateIndicatorItmeInfo != null){
|
|
|
+ calculateIndicatorItemInfoMapper.deleteById(calculateIndicatorItmeInfo.getId());
|
|
|
+ }else {
|
|
|
+ if (listEntry.getKey().equals("CZ")){
|
|
|
+
|
|
|
+ maxNum.setOptionCode("CZMAX");
|
|
|
+ calculateIndicatorItemInfoMapper.insert(maxNum);
|
|
|
+ }else if (listEntry.getKey().equals("LRGXKL")){
|
|
|
+ maxNum.setOptionCode("LRGXKLMAX");
|
|
|
+ calculateIndicatorItemInfoMapper.insert(maxNum);
|
|
|
+ }else if (listEntry.getKey().equals("DWQWLR")){
|
|
|
+ maxNum.setOptionCode("DWQWLRMAX");
|
|
|
+ calculateIndicatorItemInfoMapper.insert(maxNum);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+ CalculateIndicatorItmeInfo minNum = listEntry.getValue().stream().min(Comparator.comparing(CalculateIndicatorItmeInfo::getQuantifiedValue)).get();
|
|
|
+
|
|
|
+ QueryWrapper<CalculateIndicatorItmeInfo> qw1 = new QueryWrapper<>();
|
|
|
+ qw.lambda().eq(CalculateIndicatorItmeInfo::getYear, minNum.getYear());
|
|
|
+ qw.lambda().eq(CalculateIndicatorItmeInfo::getMonth, minNum.getMonth());
|
|
|
+ qw.lambda().eq(CalculateIndicatorItmeInfo::getOptionCode, minNum.getOptionCode());
|
|
|
+ qw.lambda().eq(CalculateIndicatorItmeInfo::getCheckCycle, minNum.getCheckCycle());
|
|
|
+ qw.lambda().eq(CalculateIndicatorItmeInfo::getOrganizationType, minNum.getOrganizationType());
|
|
|
+ CalculateIndicatorItmeInfo calculateIndicatorItmeInfo1 = calculateIndicatorItemInfoMapper.selectOne(qw1);
|
|
|
+ if (calculateIndicatorItmeInfo1 != null){
|
|
|
+ calculateIndicatorItemInfoMapper.deleteById(calculateIndicatorItmeInfo1.getId());
|
|
|
+ }else {
|
|
|
+ if (listEntry.getKey().equals("CZ")){
|
|
|
+
|
|
|
+ maxNum.setOptionCode("CZMIN");
|
|
|
+ calculateIndicatorItemInfoMapper.insert(minNum);
|
|
|
+ }else if (listEntry.getKey().equals("LRGXKL")){
|
|
|
+
|
|
|
+ maxNum.setOptionCode("LRGXKLMIN");
|
|
|
+ calculateIndicatorItemInfoMapper.insert(minNum);
|
|
|
+ }else if (listEntry.getKey().equals("DWQWLR")){
|
|
|
+
|
|
|
+ maxNum.setOptionCode("DWQWLRMIN");
|
|
|
+ calculateIndicatorItemInfoMapper.insert(minNum);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}else {
|
|
|
throw new Exception("计算指标项明细为空");
|