Bläddra i källkod

feat: 添加其他查询

weijianghai 2 år sedan
förälder
incheckning
d77315ef96

+ 18 - 0
src/main/java/com/nokia/hb/dao/mapper/PerCfgCellMapper.java

@@ -80,4 +80,22 @@ public interface PerCfgCellMapper extends BaseMapper<PerCfgCell> {
     List<Map<String, Object>> searchByEci(@Param("ecis") Set<String> ecis, @Param("indicators") String indicators,
                                           @Param("timeType") String timeType, @Param("startTime") LocalDateTime startTime,
                                           @Param("endTime") LocalDateTime endTime);
+
+    /**
+     * 其他
+     *
+     * @param indicators 指标
+     * @param timeType   时间类型
+     * @param startTime  开始时间
+     * @param endTime    结束时间
+     * @return {@link List}<{@link Map}<{@link String}, {@link Object}>>
+     */
+    @Select("<script>"
+            + "select ${indicators} from pm_parse.pm_4g_${timeType}"
+            + " where sdate <![CDATA[ >= ]]> #{startTime}"
+            + " and sdate <![CDATA[ <= ]]> #{endTime}"
+            + " and eci not in (select eci from pm_parse.per_cfg_cell)"
+            + " </script>")
+    List<Map<String, Object>> others(@Param("indicators") String indicators, @Param("timeType") String timeType,
+                                     @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime);
 }

+ 1 - 0
src/main/java/com/nokia/hb/service/AreaService.java

@@ -37,6 +37,7 @@ public class AreaService {
             m.get(city).add(t);
         });
         m.forEach((key, value) -> allTree.getChildren().add(new TreeNode(key, key, value)));
+        allTree.getChildren().add(new TreeNode("其他", "其他", null));
         return R.ok(res);
     }
 }

+ 11 - 3
src/main/java/com/nokia/hb/service/PmService.java

@@ -37,13 +37,21 @@ public class PmService {
             Map<String, String> areas = (Map<String, String>) session.getAttribute("areas");
             // 地区权限校验
             for (String t : dto.getCitys()) {
-                if (!areas.containsKey(t)) {
+                if (!"其他".equals(t) && !areas.containsKey(t)) {
                     log.debug("没有权限的city: {}", t);
                     return R.error("没有" + t + "的权限");
                 }
             }
-            list = perCfgCellMapper.searchByCity(dto.getCitys(), dto.getQuxians(), indicators,
-                    dto.getTimeType().name().toLowerCase(), dto.getStartTime(), dto.getEndTime());
+            if (!CollectionUtils.isEmpty(dto.getQuxians())) {
+                List<Map<String, Object>> l = perCfgCellMapper.searchByCity(dto.getCitys(), dto.getQuxians(), indicators,
+                        dto.getTimeType().name().toLowerCase(), dto.getStartTime(), dto.getEndTime());
+                list.addAll(l);
+            }
+            if (dto.getCitys().contains("其他")) {
+                List<Map<String, Object>> l = perCfgCellMapper.others(indicators, dto.getTimeType().name(),
+                        dto.getStartTime(), dto.getEndTime());
+                list.addAll(l);
+            }
         }
         // 按eci查询
         if (SearchTypeEnum.ECI.equals(dto.getSearchType())) {

+ 2 - 0
src/main/resources/application-dev.yml

@@ -1,3 +1,5 @@
 logging:
   level:
     com.nokia.hb: debug
+session:
+  timeout: 600

+ 1 - 1
src/main/resources/templates/template.html

@@ -362,7 +362,7 @@
             if (checkData1) {
                 checkData1.forEach(eee => {
                     citys.add(eee.title)
-                    eee.children.forEach(ee => {
+                    eee?.children?.forEach(ee => {
                         quxians.add(ee.title)
                     })
                 });