Quellcode durchsuchen

报告对比接口

hanzhengyi vor 1 Jahr
Ursprung
Commit
4838d15b70

+ 83 - 3
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/ReportIndexResultServiceImpl.java

@@ -25,8 +25,7 @@ import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.temporal.ChronoUnit;
-import java.util.ArrayList;
-import java.util.Calendar;
+import java.util.*;
 import java.util.List;
 
 /**
@@ -1613,14 +1612,95 @@ public class ReportIndexResultServiceImpl extends AbstractCrudService<ReportInde
     @Override
     public List<Object> reportContrast(ReportResultVO reportResultVO) {
         List<Object> list = new ArrayList<>();
+        List<Object> list2 = new ArrayList<>();
+        List<Object> list3 = new ArrayList<>();
         LambdaQueryWrapper<ReportResult> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.select(ReportResult::getId,ReportResult::getObjectId,ReportResult::getReportObject,
+        queryWrapper.select(ReportResult::getId,ReportResult::getObjectType,ReportResult::getObjectId,
+                ReportResult::getReportObject,
                 ReportResult::getCreateDate, ReportResult::getOverallScore)
                 .in(ReportResult::getId,reportResultVO.getReportId());
         List<ReportResult> list1 = reportResultService.list(queryWrapper);
+        Map<String, Object> map1 = new HashMap<>();
         if (CollectionUtils.isNotEmpty(list1)) {
+            for (int i = 0; i < list1.size(); i++) {
+                List<Object> list8 = new ArrayList<>();
+                LambdaQueryWrapper<ReportIndexResult> queryWrapper1 = Wrappers.lambdaQuery();
+                queryWrapper1
+                        .eq(ReportIndexResult::getObjectId,list1.get(i).getObjectId())
+                        .eq(ReportIndexResult::getCreateDate,list1.get(i).getCreateDate());
+                List<ReportIndexResult> list4 = this.list(queryWrapper1);
+                List<String> indexIdList = new ArrayList<>();
+                if (CollectionUtils.isNotEmpty(list4)) {
+                    for (int a = 0; a < list4.size(); a++) {
+                        indexIdList.add(list4.get(a).getIndexCode());
+                    }
+                    LambdaQueryWrapper<ReportIndexConfig> queryWrapper2 = Wrappers.lambdaQuery();
+                    queryWrapper2
+                            .in(ReportIndexConfig::getIndexCode, indexIdList);
+                    List<ReportIndexConfig> list5 = reportIndexConfigService.list(queryWrapper2);
+                    Map<String, Object> map = new HashMap<>();
+                    map.put("objectType", list1.get(i).getObjectType().equals(1)?"重点单位":"其他");
+                    map.put("reportObject", list1.get(i).getReportObject());
+                    map.put("overallScore", list1.get(i).getOverallScore());
+                    map.put("createDate", list1.get(i).getCreateDate());
+                    map.put("associationField", "indexScore" + i);
+                    list2.add(map);
+                    for (int j = 0; j < list4.size(); j++) {
+                        if (CollectionUtils.isNotEmpty(list5)) {
+                            for (int k = 0; k < list5.size(); k++) {
+                                if (list4.get(j).getIndexCode().equals(list5.get(k).getIndexCode()) && list5.get(k).getIndexGrade().equals(1)) {
+                                    Map<String, Object> map2 = new HashMap<>();
+                                    map2.put("id", list5.get(k).getId());
+                                    map2.put("indexName", list4.get(j).getIndexName());
+                                    map2.put("indexWeight", list5.get(k).getIndexWeight());
+                                    map2.put("scoreDesc", list4.get(j).getScoreDesc());
+                                    map2.put("indexScore", list4.get(j).getIndexScore());
+                                    List<Object> list6 = new ArrayList<>();
+                                    for (int m = 0; m < list5.size(); m++) {
+                                        if (list5.get(m).getSeniorIndex().equals(list5.get(k).getId()) && list5.get(m).getIndexGrade().equals(2)) {
+                                            for (int l = 0; l < list4.size(); l++) {
+                                                if (list4.get(l).getIndexCode().equals(list5.get(m).getIndexCode())) {
+                                                    Map<String, Object> map3 = new HashMap<>();
+                                                    map3.put("id", list5.get(m).getId());
+                                                    map3.put("indexName", list4.get(l).getIndexName());
+                                                    map3.put("indexWeight", list5.get(m).getIndexWeight());
+                                                    map3.put("scoreDesc", list4.get(l).getScoreDesc());
+                                                    map3.put("indexScore", list4.get(l).getIndexScore());
+                                                    List<Object> list7 = new ArrayList<>();
+                                                    for (int o = 0; o < list5.size(); o++) {
+                                                        if (list5.get(o).getSeniorIndex().equals(list5.get(m).getId()) && list5.get(o).getIndexGrade().equals(3)) {
+                                                            for (int n = 0; n < list4.size(); n++) {
+                                                                if (list4.get(n).getIndexCode().equals(list5.get(o).getIndexCode())) {
+                                                                    Map<String, Object> map4 = new HashMap<>();
+                                                                    map4.put("id", list5.get(o).getId());
+                                                                    map4.put("indexName", list4.get(l).getIndexName());
+                                                                    map4.put("indexWeight", list5.get(m).getIndexWeight());
+                                                                    map4.put("scoreDesc", list4.get(l).getScoreDesc());
+                                                                    map4.put("indexScore", list4.get(l).getIndexScore());
+                                                                    list7.add(map4);
+                                                                }
+                                                            }
+                                                        }
+                                                    }
+                                                    map3.put("children",list7);
+                                                    list6.add(map3);
+                                                }
+                                            }
+                                        }
+                                    }
+                                    map2.put("children",list6);
+                                    list8.add(map2);
+                                }
+                            }
+                        }
+                    }
 
+                }
+                map1.put("indexScore"+i, list8);
+            }
+            map1.put("objectInfo", list2);
         }
+        list.add(map1);
         return list;
     }
 }