wukai 9 сар өмнө
parent
commit
ada1bd6ba4

+ 28 - 14
jjt-biz/src/main/java/com/jjt/biz/controller/AlarmRecordController.java

@@ -162,7 +162,7 @@ public class AlarmRecordController extends BaseController {
                 "    SELECT bom.obj_metrics_id, bom.obj_id,md.metrics_code" +
                 "    FROM biz_obj_metrics bom" +
                 "    JOIN metrics_def md ON bom.metrics_id = md.metrics_id" +
-                "    WHERE md.metrics_code = 'pp.error' OR md.metrics_code='pp.tot' OR md.metrics_code='D_10163'" +
+                "    WHERE md.metrics_code = 'pp.error' OR md.metrics_code='pp.tot'" +
                 ") subq ON bmd.obj_metrics_id = subq.obj_metrics_id" +
                 " JOIN biz_model_detail bmdetail ON subq.obj_id = bmdetail.obj_id" +
                 " WHERE bmd.CREATE_TIME BETWEEN ? AND ?" +
@@ -171,7 +171,7 @@ public class AlarmRecordController extends BaseController {
         Map<Integer, List<Map<String, Object>>> resultMap = acList.stream().collect(Collectors.groupingBy(mp -> (Integer) mp.get("model_id")));
 
         List<BizModel> modelList = bizModelService.selectBizModelList(new BizModel());
-        modelList.forEach(model -> {
+        for (BizModel model : modelList) {
             BizAccessVO vo = new BizAccessVO();
             Map<String, Object> map = new HashMap<>(16);
             vo.setModelId(model.getModelId());
@@ -184,25 +184,39 @@ public class AlarmRecordController extends BaseController {
             sql1 = "SELECT COUNT(*) FROM biz_obj WHERE obj_type=1 AND obj_id IN(SELECT obj_id FROM biz_model_detail where model_id=?)";
             num = jdbcTemplate.queryForObject(sql1, Long.class, model.getModelId());
             vo.setN2(num);
+
+            sql1 = "SELECT IFNULL(SUM(d_value),0) FROM biz_obj_metrics WHERE metrics_code='D_10163' AND obj_id IN(SELECT obj_id FROM biz_model_detail where model_id=?)";
+            BigDecimal qdNum = jdbcTemplate.queryForObject(sql1, BigDecimal.class, model.getModelId());
+            if (qdNum == null) {
+                qdNum = BigDecimal.ZERO;
+            }
+            vo.setN3(qdNum.longValue());
             List<Map<String, Object>> vList = resultMap.get(model.getModelId().intValue());
-            for (Map<String, Object> objectMap : vList) {
-                String code = (String) objectMap.get("metrics_code");
-                BigDecimal value = (BigDecimal) objectMap.get("total_value");
-                if ("pp.error".equals(code)) {
-                    vo.setNum(value.longValue());
-                }
-                if ("pp.tot".equals(code)) {
-                    vo.setAccess(value.longValue());
-                }
-                if ("D_10163".equals(code)) {
-                    vo.setN3(value.longValue());
+            if (vList != null) {
+                for (Map<String, Object> objectMap : vList) {
+                    String code = (String) objectMap.get("metrics_code");
+                    BigDecimal value = (BigDecimal) objectMap.get("total_value");
+                    if ("pp.error".equals(code)) {
+                        vo.setNum(value.longValue());
+                    }
+                    if ("pp.tot".equals(code)) {
+                        vo.setAccess(value.longValue());
+                    }
                 }
+            } else {
+                vo.setNum(0L);
+                vo.setAccess(0L);
             }
+
+//            if ("D_10163".equals(code)) {
+//                vo.setN3(value.longValue());
+//            }
+
             if (vo.getN3() == null) {
                 vo.setN3(0L);
             }
             list.add(vo);
-        });
+        }
 
 
 //        //还是得先用模拟数据。

+ 15 - 10
jjt-biz/src/main/java/com/jjt/biz/controller/IndexController.java

@@ -282,22 +282,27 @@ public class IndexController extends BaseController {
         Map<Integer, List<Map<String, Object>>> resultMap = list.stream().collect(Collectors.groupingBy(mp -> (Integer) mp.get("model_id")));
 
         List<BizModel> modelList = bizModelService.selectBizModelList(new BizModel());
-        modelList.forEach(model -> {
+        for (BizModel model : modelList) {
             Map<String, Object> map = new HashMap<>(16);
             map.put("name", model.getModelName());
             List<Map<String, Object>> vList = resultMap.get(model.getModelId().intValue());
-            for (Map<String, Object> objectMap : vList) {
-                String code = (String) objectMap.get("metrics_code");
-                BigDecimal value = (BigDecimal) objectMap.get("total_value");
-                if ("pp.error".equals(code)) {
-                    map.put("error", value);
-                }
-                if ("pp.tot".equals(code)) {
-                    map.put("total", value);
+            if (vList != null) {
+                for (Map<String, Object> objectMap : vList) {
+                    String code = (String) objectMap.get("metrics_code");
+                    BigDecimal value = (BigDecimal) objectMap.get("total_value");
+                    if ("pp.error".equals(code)) {
+                        map.put("error", value);
+                    }
+                    if ("pp.tot".equals(code)) {
+                        map.put("total", value);
+                    }
                 }
+            } else {
+                map.put("error", 0);
+                map.put("total", 0);
             }
             result.add(map);
-        });
+        }
         return success(result);
     }