Переглянути джерело

Merge remote-tracking branch 'origin/master'

yang 3 роки тому
батько
коміт
e762c8105a

+ 32 - 6
huimv-farm-produce/src/main/java/com/huimv/produce/produce/controller/ProdProduceController.java

@@ -2,6 +2,8 @@ package com.huimv.produce.produce.controller;
 
 
 import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.common.utils.Result;
 import com.huimv.common.utils.ResultCode;
@@ -17,7 +19,7 @@ import java.util.Map;
 
 /**
  * <p>
- *  前端控制器
+ * 前端控制器
  * </p>
  *
  * @author astupidcoder
@@ -29,21 +31,45 @@ public class ProdProduceController {
 
     @Autowired
     private IProdProduceService prodProduceService;
+    private String[] fullDataType = new String[]{"avg_farrow_1", "avg_farrow_2", "avg_farrow_3", "avg_weight", "break_grice", "break_rate", "breed_rate",
+            "fatpig_rate", "grice_rate", "nest_times", "piglet_rate", "psy"};
 
     @GetMapping("/listProducee")
-    public Result listProducee(@RequestParam(name = "farmId") Integer farmId){
+    public Result listProducee(@RequestParam(name = "farmId") Integer farmId) {
         Date now = new Date();
-        List<ProdProduce> list = prodProduceService.list(new QueryWrapper<ProdProduce>().eq("farm_id", farmId).eq("year", DateUtil.year(now)).eq("month", DateUtil.month(now)+1));
+        List<ProdProduce> list = prodProduceService.list(new QueryWrapper<ProdProduce>().eq("farm_id", farmId).eq("year", DateUtil.year(now)).eq("month", DateUtil.month(now) + 1));
         Map map = new HashMap();
+        JSONArray stockTypeJa = new JSONArray();
         for (ProdProduce prodProduce : list) {
             String stockType = prodProduce.getStockType();
-            map.put(stockType,prodProduce);
+            stockTypeJa.add(stockType);
+            map.put(stockType, prodProduce);
+        }
+        //结果完整性检查
+        checkFullResult(map, stockTypeJa);
+        return new Result(ResultCode.SUCCESS, map);
+    }
+    //结果完整性检查
+    public void checkFullResult(Map map, JSONArray stockTypeJa) {
+        for(int a=0;a<fullDataType.length;a++){
+            boolean isExist = false;
+            for (int b = 0; b < stockTypeJa.size(); b++) {
+                if (stockTypeJa.getString(b).trim().equalsIgnoreCase(fullDataType[a])) {
+                    isExist = true;
+                    break;
+                }
+            }
+            if (!isExist) {
+                JSONObject newJo = new JSONObject();
+                newJo.put("stockQuantity","0");
+                newJo.put("stockType","'"+fullDataType[a]+"'");
+                map.put(fullDataType[a],newJo);
+            }
         }
-        return new Result(ResultCode.SUCCESS,map);
     }
 
     @PostMapping("/listImportance")
-    public Result listImportance(@RequestBody Map<String, String> map){
+    public Result listImportance(@RequestBody Map<String, String> map) {
 
         return prodProduceService.listImportance(map);
     }

+ 37 - 32
huimv-farm-produce/src/main/java/com/huimv/produce/warning/service/impl/AlarmServiceImpl.java

@@ -73,37 +73,40 @@ public class AlarmServiceImpl implements IAlarmService {
 
     //事件提醒
     private String getEventTotal(Integer farmId) throws ParseException, ClientException {
-        //获取人员违规
-        String startTime = dateUtil.getTodayDateText() + " 00:00:00";
-        log.info("今日事件提醒.开始时间>>" + startTime);
-        String endTime = dateUtil.getTodayDateText() + " 23:59:59";
-        log.info("今日事件提醒.结束时间>>" + endTime);
+        if(farmId == 1) {
+            //获取人员违规
+            String startTime = dateUtil.getTodayDateText() + " 00:00:00";
+            log.info("今日事件提醒.开始时间>>" + startTime);
+            String endTime = dateUtil.getTodayDateText() + " 23:59:59";
+            log.info("今日事件提醒.结束时间>>" + endTime);
 
-        //人员违规事件数量
-        String personAlarmTotal = SendMassageGetPagePersonAlarm(startTime, endTime);
-        log.info("人员违规事件数量>>"+personAlarmTotal);
-        Integer rywgQuantity = 0;
-        if (personAlarmTotal != null) {
-            rywgQuantity = Integer.parseInt(personAlarmTotal);
-        }
-        //车辆闸机事件数量
-        String carEventTimes = SendMassageGetPage(startTime,endTime);
-        log.info("车辆闸机事件数量>>"+carEventTimes);
-        Integer carEventTimesInt = 0;
-        if(carEventTimes != null){
-            carEventTimesInt = Integer.parseInt(carEventTimes);
-        }
-        //周界检测事件数量
-        String borderEventTimes = getBorderEvent(startTime,endTime);
-        log.info("周界检测事件数量>>"+borderEventTimes);
-        Integer borderEventTimesInt = 0;
-        if(borderEventTimes != null){
-            borderEventTimesInt = Integer.parseInt(borderEventTimes);
+            //人员违规事件数量
+            String personAlarmTotal = SendMassageGetPagePersonAlarm(startTime, endTime);
+            log.info("人员违规事件数量>>" + personAlarmTotal);
+            Integer rywgQuantity = 0;
+            if (personAlarmTotal != null) {
+                rywgQuantity = Integer.parseInt(personAlarmTotal);
+            }
+            //车辆闸机事件数量
+            String carEventTimes = SendMassageGetPage(startTime, endTime);
+            log.info("车辆闸机事件数量>>" + carEventTimes);
+            Integer carEventTimesInt = 0;
+            if (carEventTimes != null) {
+                carEventTimesInt = Integer.parseInt(carEventTimes);
+            }
+            //周界检测事件数量
+            String borderEventTimes = getBorderEvent(startTime, endTime);
+            log.info("周界检测事件数量>>" + borderEventTimes);
+            Integer borderEventTimesInt = 0;
+            if (borderEventTimes != null) {
+                borderEventTimesInt = Integer.parseInt(borderEventTimes);
+            }
+            //所有事件累计
+            Integer allEventInt = rywgQuantity + carEventTimesInt + borderEventTimesInt;
+            log.info("今日事件总数量>>" + allEventInt);
+            return allEventInt + "次";
         }
-        //所有事件累计
-        Integer allEventInt = rywgQuantity + carEventTimesInt + borderEventTimesInt;
-        log.info("今日事件总数量>>"+allEventInt);
-        return allEventInt+"次";
+        return "0次";
     }
 
     //周界检测事件数量
@@ -183,10 +186,12 @@ public class AlarmServiceImpl implements IAlarmService {
             String endTime = dateUtil.getTodayDateText() + " 23:59:59";
             log.info("结束时间>>" + endTime);
             //获取人员违规
-            String personAlarmTotal = SendMassageGetPagePersonAlarm(startTime, endTime);
             int rywgQuantity = 0;
-            if (personAlarmTotal != null) {
-                rywgQuantity = Integer.parseInt(personAlarmTotal);
+            if(farmId == 1) {
+                String personAlarmTotal = SendMassageGetPagePersonAlarm(startTime, endTime);
+                if (personAlarmTotal != null) {
+                    rywgQuantity = Integer.parseInt(personAlarmTotal);
+                }
             }
             //报警总量
             int total = stjcQuantity + hjjcQuantity + rywgQuantity;