Browse Source

Merge branch 'master' of http://nokia.tianhaikj.tk:13000/other/hb_nokia_pm_ui

wangrulan 2 years ago
parent
commit
5c217dc29f

+ 10 - 1
src/main/java/com/nokia/hb/controller/IndicatorController.java

@@ -22,9 +22,18 @@ public class IndicatorController {
     /**
      * 查询指标树形结构
      */
-    @Operation(summary = "查询指标树形结构")
+    @Operation(summary = "查询指标树形结构(添加修改指标模板)")
     @PostMapping("/api/initTreeIndicator")
     public R<List<TreeNode>> initTreeIndicator() {
         return indicatorService.initTreeIndicator();
     }
+
+    /**
+     * 查询指标树形结构
+     */
+    @Operation(summary = "查询指标树形结构(所有指标)")
+    @PostMapping("/api/allIndicator")
+    public R<List<TreeNode>> allIndicator() {
+        return indicatorService.allIndicator();
+    }
 }

+ 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);
     }
 }

+ 18 - 0
src/main/java/com/nokia/hb/service/IndicatorService.java

@@ -39,4 +39,22 @@ public class IndicatorService {
         m.forEach((k, v) -> allTree.getChildren().add(new TreeNode(k, k, v)));
         return R.ok(res);
     }
+
+    public R<List<TreeNode>> allIndicator() {
+        List<PerCfgIndicator> indicators = perCfgIndicatorMapper.all();
+        Map<String, List<TreeNode>> m = new HashMap<>();
+        TreeNode allTree = new TreeNode("所有指标", "所有指标", new ArrayList<>());
+        List<TreeNode> res = new ArrayList<>();
+        res.add(allTree);
+        indicators.forEach(i -> {
+            String indicatorType = i.getIndicatorType();
+            String indicatorCn = i.getIndicatorCn();
+            String indicatorId = i.getIndicatorEn();
+            TreeNode t = new TreeNode(indicatorCn, indicatorId, null);
+            m.putIfAbsent(indicatorType, new ArrayList<>());
+            m.get(indicatorType).add(t);
+        });
+        m.forEach((k, v) -> allTree.getChildren().add(new TreeNode(k, k, v)));
+        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/application.yml

@@ -25,4 +25,4 @@ spring:
     username: pmparse
     password: abc123!
 session:
-  timeout: 60
+  timeout: 300

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

@@ -397,7 +397,7 @@
             if (checkData1) {
                 checkData1.forEach(eee => {
                     citys.add(eee.title)
-                    eee.children.forEach(ee => {
+                    eee?.children?.forEach(ee => {
                         quxians.add(ee.title)
                     })
                 });
@@ -420,6 +420,7 @@
                 })
             });
             indicators.add('eci')
+            indicators.add('sdate')
             let timeType = $('#timeType').val()
             let sdate = $('#time1').val()
             const [startTime, endTime] = sdate.split(' - ')