Ver código fonte

添加摄像头回放

523096025 2 anos atrás
pai
commit
40f12607ce

+ 5 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/EggDataController.java

@@ -45,4 +45,9 @@ public class EggDataController {
     public Result getOneFood(@RequestBody Map<String,String> map){
         return eggDataService.getOneFood(map);
     }
+
+    @PostMapping("/getAllWater")
+    public Result getAllWater(@RequestBody Map<String,String> map){
+        return eggDataService.getAllWater(map);
+    }
 }

+ 2 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/mapper/EggDataMapper.java

@@ -26,4 +26,6 @@ public interface EggDataMapper extends BaseMapper<EggData> {
     List<EggVo> getAllDayFood(@Param(Constants.WRAPPER)QueryWrapper<EggData> wrapper);
 
     List<EggVo> getAllWeekFood(@Param(Constants.WRAPPER)QueryWrapper<EggData> wrapper);
+
+    List<EggVo> getAllWater(@Param(Constants.WRAPPER)QueryWrapper<EggData> wrapper);
 }

+ 2 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/IEggDataService.java

@@ -23,4 +23,6 @@ public interface IEggDataService extends IService<EggData> {
     Result getAllFood(Map<String, String> map);
 
     Result getOneFood(Map<String, String> map);
+
+    Result getAllWater(Map<String, String> map);
 }

+ 69 - 10
huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/EggDataServiceImpl.java

@@ -42,6 +42,7 @@ public class EggDataServiceImpl extends ServiceImpl<EggDataMapper, EggData> impl
 
 
         QueryWrapper<EggData> wrapper = new QueryWrapper<>();
+
         //周
         if (type.equals("1")){
             wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
@@ -49,7 +50,7 @@ public class EggDataServiceImpl extends ServiceImpl<EggDataMapper, EggData> impl
         }
         //月
         else if (type.equals("2")){
-            wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
+            wrapper.ge("upload_time", DateUtil.beginOfMonth(now));
         }
         //自定义
         else if (type.equals("3")){
@@ -58,7 +59,7 @@ public class EggDataServiceImpl extends ServiceImpl<EggDataMapper, EggData> impl
         }
         //今日
         else {
-            wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
+            wrapper.ge("upload_time", DateUtil.beginOfDay(now));
            List<EggVo> list =  eggDataMapper.getAllDay(wrapper);
            double maxFood = 0.0;
            double maxWater = 0.0;
@@ -107,6 +108,7 @@ public class EggDataServiceImpl extends ServiceImpl<EggDataMapper, EggData> impl
             i ="1";
         }
         QueryWrapper<EggData> wrapper = new QueryWrapper<>();
+
         wrapper.eq("i",i);
         //周
         if (type.equals("1")){
@@ -115,7 +117,7 @@ public class EggDataServiceImpl extends ServiceImpl<EggDataMapper, EggData> impl
         }
         //月
         else if (type.equals("2")){
-            wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
+            wrapper.ge("upload_time", DateUtil.beginOfMonth(now));
         }
         //自定义
         else if (type.equals("3")){
@@ -124,8 +126,9 @@ public class EggDataServiceImpl extends ServiceImpl<EggDataMapper, EggData> impl
         }
         //今日
         else {
-            wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
+            wrapper.ge("upload_time", DateUtil.beginOfDay(now));
             List<EggVo> list =  eggDataMapper.getAllDay(wrapper);
+
             double maxFood = 0.0;
             double maxWater = 0.0;
 
@@ -172,6 +175,7 @@ public class EggDataServiceImpl extends ServiceImpl<EggDataMapper, EggData> impl
 
 
         QueryWrapper<EggData> wrapper = new QueryWrapper<>();
+
         //周
         if (type.equals("1")){
             wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
@@ -179,7 +183,7 @@ public class EggDataServiceImpl extends ServiceImpl<EggDataMapper, EggData> impl
         }
         //月
         else if (type.equals("2")){
-            wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
+            wrapper.ge("upload_time", DateUtil.beginOfMonth(now));
         }
         //自定义
         else if (type.equals("3")){
@@ -188,7 +192,7 @@ public class EggDataServiceImpl extends ServiceImpl<EggDataMapper, EggData> impl
         }
         //今日
         else {
-            wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
+            wrapper.ge("upload_time", DateUtil.beginOfDay(now));
             List<EggVo> list =  eggDataMapper.getAllDayFood(wrapper);
             double maxFood = 0.0;
             double maxWater = 0.0;
@@ -207,6 +211,7 @@ public class EggDataServiceImpl extends ServiceImpl<EggDataMapper, EggData> impl
             return new Result(ResultCode.SUCCESS,endMap);
         }
 
+
         List<EggVo> list =  eggDataMapper.getAllWeekFood(wrapper);
         double maxFood = 0.0;
         double maxWater = 0.0;
@@ -215,12 +220,18 @@ public class EggDataServiceImpl extends ServiceImpl<EggDataMapper, EggData> impl
             maxFood += eggVo.getFtDoTalTdy();
             maxWater += eggVo.getWtrTdy();
         }
-        Set<String> set = new HashSet();
+        Set<String> set = new HashSet<>();
         for (EggVo eggVo : list) {
             set.add(eggVo.getUploadTime());
         }
         List endList = new ArrayList();
-        for (String o : set) {
+        List<String> list2 = new ArrayList<String>();
+        for (String s : set) {
+            list2.add(s);
+        }
+        for(int i = list2.size() ; i >0 ;i --){
+            String o = list2.get(i-1);
+
             Map map1 = new HashMap();
 
             for (EggVo eggVo : list) {
@@ -232,6 +243,18 @@ public class EggDataServiceImpl extends ServiceImpl<EggDataMapper, EggData> impl
             endList.add(map1);
         }
 
+//        for (String o : set) {
+//            Map map1 = new HashMap();
+//
+//            for (EggVo eggVo : list) {
+//                if (eggVo.getUploadTime().equals(o)){
+//                    map1.put("value"+eggVo.getI(),eggVo.getFtDoTalTdy());
+//                }
+//            }
+//            map1.put("updateTime",o);
+//            endList.add(map1);
+//        }
+
         Map endMap = new HashMap();
         endMap.put("list" ,endList);
 
@@ -262,7 +285,7 @@ public class EggDataServiceImpl extends ServiceImpl<EggDataMapper, EggData> impl
         }
         //月
         else if (type.equals("2")){
-            wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
+            wrapper.ge("upload_time", DateUtil.beginOfMonth(now));
         }
         //自定义
         else if (type.equals("3")){
@@ -271,7 +294,7 @@ public class EggDataServiceImpl extends ServiceImpl<EggDataMapper, EggData> impl
         }
         //今日
         else {
-            wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
+            wrapper.ge("upload_time", DateUtil.beginOfDay(now));
             List<EggVo> list =  eggDataMapper.getAllDayFood(wrapper);
             double maxFood = 0.0;
             double maxWater = 0.0;
@@ -308,4 +331,40 @@ public class EggDataServiceImpl extends ServiceImpl<EggDataMapper, EggData> impl
         return new Result(ResultCode.SUCCESS,endMap);
     }
 
+    @Override
+    public Result getAllWater(Map<String, String> map) {
+        String startDate = map.get("startDate");
+        String endDate = map.get("endDate");
+        String type = map.get("type");
+        Date now = new Date();
+        DecimalFormat df = new DecimalFormat("0.00");
+
+        QueryWrapper<EggData> wrapper = new QueryWrapper<>();
+
+        //周
+        if (type.equals("1")){
+            wrapper.ge("upload_time", DateUtil.beginOfWeek(now));
+
+        }
+        //月
+        else if (type.equals("2")){
+            wrapper.ge("upload_time", DateUtil.beginOfMonth(now));
+        }
+        //自定义
+        else if (type.equals("3")){
+
+            wrapper.between("upload_time",startDate,endDate);
+        }
+        //今日
+        else {
+            wrapper.ge("upload_time", DateUtil.beginOfDay(now));
+
+        }
+
+        List<EggVo> list =  eggDataMapper.getAllWater(wrapper);
+
+
+        return new Result(ResultCode.SUCCESS,list);
+    }
+
 }

+ 16 - 4
huimv-farm-environ/src/main/resources/com/huimv/environ/eco/mapper/EggDataMapper.xml

@@ -10,7 +10,7 @@
 
         FROM `egg_data`
    ${ew.customSqlSegment}
- GROUP BY DATE_FORMAT(upload_time,'%Y-%m-%d %H')  ,i) a GROUP BY  a.upload_time
+ GROUP BY DATE_FORMAT(upload_time,'%Y-%m-%d %H')  ,i   ORDER BY upload_time DESC ) a GROUP BY  a.upload_time
 
     </select>
     <select id="getAllWeek" resultType="com.huimv.environ.eco.entity.eggvo.EggVo">
@@ -22,7 +22,7 @@
         FROM `egg_data`
 
           ${ew.customSqlSegment}
-         GROUP BY DATE_FORMAT(upload_time,'%Y-%m-%d')  ,i) a GROUP BY  a.upload_time
+         GROUP BY DATE_FORMAT(upload_time,'%Y-%m-%d')  ,i   ORDER BY upload_time DESC  ) a GROUP BY  a.upload_time
 
     </select>
     <select id="getAllDayFood" resultType="com.huimv.environ.eco.entity.eggvo.EggVo">
@@ -31,7 +31,7 @@
 
         FROM `egg_data`
    ${ew.customSqlSegment}
- GROUP BY DATE_FORMAT(upload_time,'%Y-%m-%d %H')  ,i
+ GROUP BY DATE_FORMAT(upload_time,'%Y-%m-%d %H')  ,i   ORDER BY upload_time ASC
     </select>
     <select id="getAllWeekFood" resultType="com.huimv.environ.eco.entity.eggvo.EggVo">
           SELECT
@@ -40,6 +40,18 @@
         FROM `egg_data`
 
           ${ew.customSqlSegment}
-         GROUP BY DATE_FORMAT(upload_time,'%Y-%m-%d')  ,i
+         GROUP BY DATE_FORMAT(upload_time,'%Y-%m-%d')  ,i ORDER BY id DESC
+    </select>
+
+    <select id="getAllWater" resultType="com.huimv.environ.eco.entity.eggvo.EggVo">
+
+     SELECT i , ROUND(SUM(a.wtr),2)  wtrTdy, SUM(a.ft)ftDoTalTdy ,a.upload_time FROM (
+        SELECT
+        i , DATE_FORMAT(upload_time,'%Y-%m-%d')  upload_time, MAX(wtr_tdy) wtr,MAX(ft_do_tal_tdy) ft
+
+
+        FROM `egg_data` ${ew.customSqlSegment}  GROUP BY DATE_FORMAT(upload_time,'%Y-%m-%d')  ,i   ORDER BY upload_time ASC ) a GROUP BY  a.i
+
+
     </select>
 </mapper>

Diferenças do arquivo suprimidas por serem muito extensas
+ 54 - 42
huimv-farm-video/src/main/java/com/huimv/video/dhicc/controller/ClientController/ClientAllVideoPlayBack.java


+ 114 - 0
huimv-farm-video/src/main/java/com/huimv/video/dhicc/controller/ClientController/ClientWeiQiangController.java

@@ -0,0 +1,114 @@
+package com.huimv.video.dhicc.controller.ClientController;
+
+import com.alibaba.fastjson.JSON;
+import com.dahuatech.hutool.http.Method;
+import com.dahuatech.icc.exception.ClientException;
+import com.dahuatech.icc.oauth.http.DefaultClient;
+import com.dahuatech.icc.oauth.http.IClient;
+import com.dahuatech.icc.oauth.model.v202010.GeneralRequest;
+import com.dahuatech.icc.oauth.model.v202010.GeneralResponse;
+import com.huimv.common.utils.StringUtilsWork;
+import com.huimv.video.dhicc.icc.CommonConstant;
+import com.huimv.video.dhicc.result.R;
+import net.sf.json.JSONObject;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+
+//其实可以整合到一起去了
+@RestController
+@RequestMapping("/event")
+public class ClientWeiQiangController {
+
+    //所有的事件接口
+    @RequestMapping("/weiQiang")
+    public R SiZhuList(@RequestBody Map<String, Object> params1) throws ClientException, ParseException {
+        Integer farmId = (int) params1.get("farmId");
+        if (farmId != 1) {
+            return R.ok("当前牧场无设备").put("data", null);
+        }
+        return R.ok("请求成功").put("data", getEventList(params1)).put("total", CountTimes(params1));
+    }
+
+
+    //围墙事件
+    public GeneralResponse getEventList(Map<String, Object> params1) throws ClientException {
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        Calendar c = Calendar.getInstance();
+        Date date = new Date();
+        c.setTime(date);
+        c.set(Calendar.HOUR, 0);
+        c.set(Calendar.MINUTE, 0);
+        c.set(Calendar.SECOND, 0);
+        Date A = c.getTime();
+        String formatA = format.format(A);
+        c.set(Calendar.HOUR, +24);
+        Date d = c.getTime();
+        String formatD = format.format(d);
+        Map<String, Object> params = new HashMap<>();
+        params.put("alarmStartDateString", formatA);
+        params.put("alarmEndDateString", formatD);
+        if (StringUtilsWork.isNotEmpty((String) params1.get("alarmStartDateString"))) {
+            params.put("alarmStartDateString", (String) params1.get("alarmStartDateString"));
+            params.put("alarmEndDateString", (String) params1.get("alarmEndDateString"));
+        }
+        params.put("pageNum", (Integer) params1.get("pageNum"));
+        params.put("pageSize", (Integer) params1.get("pageSize"));
+        params.put("alarmType", 303);
+        params.put("dbType", 0);
+        params.put("deviceCategory", 1);
+        String[] nodeCodeList = CommonConstant.EggWeiQiang;
+        params.put("nodeCodeList", nodeCodeList);
+        String URL = "/evo-apigw/evo-event/1.2.0/alarm-record/page";  //获取事件URL    post请求
+        IClient iClient = new DefaultClient();
+        GeneralRequest generalRequest = new GeneralRequest(URL, Method.POST);
+        generalRequest.header("Content-Type", " application/json");
+        generalRequest.body(JSON.toJSONString(params));
+        GeneralResponse generalResponse = iClient.doAction(generalRequest, generalRequest.getResponseClass());
+        return generalResponse;
+    }
+
+
+    public String CountTimes(Map<String, Object> params1) throws ClientException {
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        Calendar c = Calendar.getInstance();
+        Date date = new Date();
+        c.setTime(date);
+        c.set(Calendar.HOUR, 0);
+        c.set(Calendar.MINUTE, 0);
+        c.set(Calendar.SECOND, 0);
+        Date A = c.getTime();
+        String formatA = format.format(A);
+        c.set(Calendar.HOUR, +24);
+        Date d = c.getTime();
+        String formatD = format.format(d);
+        Map<String, Object> params = new HashMap<>();
+        params.put("alarmStartDateString", formatA);
+        params.put("alarmEndDateString", formatD);
+        if (StringUtilsWork.isNotEmpty((String) params1.get("alarmStartDateString"))) {
+            params.put("alarmStartDateString", params1.get("alarmStartDateString"));
+            params.put("alarmEndDateString", params1.get("alarmEndDateString"));
+        }
+        params.put("alarmType", 303);
+        params.put("dbType", 0);
+        params.put("deviceCategory", 1);
+        String[] nodeCodeList = CommonConstant.EggWeiQiang;
+        params.put("nodeCodeList", nodeCodeList);
+        String URL = "/evo-apigw/evo-event/1.0.0/alarm-record/count-num";  //获取事件URL    post请求
+        IClient iClient = new DefaultClient();
+        GeneralRequest generalRequest = new GeneralRequest(URL, Method.POST);
+        generalRequest.header("Content-Type", " application/json");
+        generalRequest.body(JSON.toJSONString(params));
+        JSONObject jsonObject = JSONObject.fromObject(JSONObject.fromObject(iClient.doAction(generalRequest, generalRequest.getResponseClass()).getResult()).get("data"));
+        return jsonObject.get("value").toString();
+    }
+}
+

+ 14 - 6
huimv-farm-video/src/main/java/com/huimv/video/dhicc/controller/ScreenController/ScreenSiZhuController.java

@@ -1,5 +1,6 @@
 package com.huimv.video.dhicc.controller.ScreenController;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSON;
 import com.dahuatech.hutool.http.Method;
 import com.dahuatech.icc.exception.ClientException;
@@ -22,7 +23,6 @@ import java.util.*;
 
 @RestController
 @RequestMapping("/screen/sizhu")
-
 public class ScreenSiZhuController {
     /**
      * xuyao   直接都写在这里了
@@ -83,7 +83,7 @@ public class ScreenSiZhuController {
         c.add(Calendar.DATE, -7);
         Date B = c.getTime();
         String formatB = format.format(B);
-        return getResponse.SendMassageXixiaoPerson(formatB, formatA);
+        return getResponse.SendCountSiZhu(formatB, formatA);
     }
 
 
@@ -103,7 +103,7 @@ public class ScreenSiZhuController {
         c.add(Calendar.DATE, -1);
         Date B = c.getTime();
         String formatB = format.format(B);
-        return getResponse.SendMassageXixiaoPerson(formatB, formatA);
+        return getResponse.SendCountSiZhu(formatB, formatA);
     }
 
 
@@ -141,10 +141,18 @@ public class ScreenSiZhuController {
         generalRequest.header("Content-Type", " application/json");
         generalRequest.body(JSON.toJSONString(params));
         GeneralResponse generalResponse = iClient.doAction(generalRequest, generalRequest.getResponseClass());
+
+
         JSONObject jsondata = (JSONObject) JSONObject.fromObject(generalResponse.getResult()).get("data");
-        JSONObject jsonObject1 = JSONObject.fromObject(jsondata.get("pageData").toString().substring(1, jsondata.get("pageData").toString().length() - 1));
-        Object alarmDate = jsonObject1.get("alarmDate");
-        return alarmDate.toString();
+        String substring = jsondata.get("pageData").toString().substring(1, jsondata.get("pageData").toString().length() - 1);
+        if (ObjectUtil.isNotEmpty(substring)){
+            JSONObject jsonObject1 = JSONObject.fromObject(substring);
+            Object alarmDate = jsonObject1.get("alarmDate");
+
+            return alarmDate.toString();
+        }
+        return null;
+
     }
 
 

Diferenças do arquivo suprimidas por serem muito extensas
+ 14 - 10
huimv-farm-video/src/main/java/com/huimv/video/dhicc/icc/CommonConstant.java