Преглед изворни кода

Merge remote-tracking branch 'origin/master'

wwh пре 2 година
родитељ
комит
d33f4790c1
16 измењених фајлова са 226 додато и 200 уклоњено
  1. 1 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/SysTelecomController.java
  2. 1 1
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/mapper/EcoDeviceFlowMapper.java
  3. 64 63
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/schedule/ScheduleTask.java
  4. 1 1
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/EcoDryListService.java
  5. 24 6
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/EcoDeviceFlowServiceImpl.java
  6. 106 106
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/EcoDryListServiceImpl.java
  7. 7 4
      huimv-farm-environ/src/main/resources/application.properties
  8. 2 1
      huimv-farm-environ/src/main/resources/com/huimv/environ/eco/mapper/EcoDeviceFlowMapper.xml
  9. 4 4
      huimv-farm-environ/src/test/java/com/huimv/environ/eco/TaskTest.java
  10. 1 0
      huimv-farm-video/src/main/java/com/huimv/video/dhicc/controller/BaseController/SysTelecomController.java
  11. 4 2
      huimv-farm-video/src/main/java/com/huimv/video/video/controller/CameraAreaController.java
  12. 0 1
      huimv-farm-video/src/main/java/com/huimv/video/video/controller/CameraFunctionController.java
  13. 2 3
      huimv-farm-video/src/main/java/com/huimv/video/video/entity/Camera.java
  14. 1 0
      huimv-farm-video/src/main/java/com/huimv/video/video/entity/vo/CameraListVo.java
  15. 6 6
      huimv-farm-video/src/main/java/com/huimv/video/video/service/impl/CameraServiceImpl.java
  16. 2 2
      huimv-farm-video/src/main/resources/application.properties

+ 1 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/SysTelecomController.java

@@ -41,6 +41,7 @@ public class SysTelecomController {
         Integer STC = payload.get("STC");
         Integer HUMI = payload.get("HUMI");
         Integer TEMP = payload.get("TEMP");
+        TEMP +=80;
         telecom.setRssi(rssi);
         telecom.setStc(STC);
 

+ 1 - 1
huimv-farm-environ/src/main/java/com/huimv/environ/eco/mapper/EcoDeviceFlowMapper.java

@@ -49,5 +49,5 @@ public interface EcoDeviceFlowMapper extends BaseMapper<EcoDeviceFlow> {
     LastFlowDto getUnitLastFlow(@Param("deviceCode") String deviceCode);
 
     //读取烘干数据
-    EcoDeviceFlow getLastDryDeviceFlow(@Param("dryDeviceCode") String deviceCode, @Param("startTime") Date startTime,@Param("endTime") String endTime);
+    List<EcoDeviceFlow> getLastDryDeviceFlow(@Param("dryDeviceCode") String deviceCode, @Param("startTime") Date startTime,@Param("endTime") String endTime);
 }

+ 64 - 63
huimv-farm-environ/src/main/java/com/huimv/environ/eco/schedule/ScheduleTask.java

@@ -52,11 +52,10 @@ public class ScheduleTask {
     @Value("${url.environ.device.service}")
     private String URL_ENVIRON_DEVICE_SERVICE;
 //    private static String URL = "http://www.0531yun.com/app/GetDeviceData";
-//    @Value("${dry.deviceCode}")
-//    private String dryDeviceCode;
 
-    @Scheduled(cron = "0 0/5 * * * ?")  //每5分钟执行一次
-//    @Scheduled(cron = "*/5 * * * * ?")  //每10秒钟执行一次
+//        @Scheduled(cron = "0 0/5 * * * ?")  //每5分钟执行一次
+        @Scheduled(cron = "0 0/1 * * * ?")  //每1分钟执行一次
+//    @Scheduled(cron = "*/10 * * * * ?")  //每10秒钟执行一次
     public void autoRunDryList() throws ParseException {
         DateUtil dateUtil = new DateUtil();
         System.out.println("开始取数:" + dateUtil.fromLongToDate(new Date().getTime(), "yyyy-MM-dd HH:mm:ss.SSS"));
@@ -81,7 +80,7 @@ public class ScheduleTask {
                 System.out.println("调取牧场[" + farmId + "]服务获取阈值接口:" + thresholdJo);
                 if (thresholdJo == null) {
                     log.error("thresholdJo======" + thresholdJo);
-                    log.error("牧场[" + farmId + "]暂时没有洗消烘干温度设置.");
+                    log.error("牧场[" + farmId + "]暂时没有洗消烘干温度阈值设置.");
                     continue;
                 }
                 Date todayTime = dateUtil.getTodayDateTime();
@@ -91,12 +90,14 @@ public class ScheduleTask {
                 String datetime = dateUtil.formatDateTime(todayTime);
                 System.out.println("最近一条烘干记录 datetime=" + datetime);
                 EcoDeviceFlow ecoDeviceFlow = ecoDeviceFlowService.getLastDryDeviceFlow(dryDeviceCode, datetime);
-                //新建烘干记录
-                if (ecoDeviceFlow != null) {
-                    String temp = ecoDeviceFlow.getId1Value();
-                    System.out.println(" DD temp=" + temp);
-                    ecoDryListService.saveDryList(deviceMap, temp, thresholdJo, todayTime);
+                if (ecoDeviceFlow == null) {
+                    log.error("牧场[" + farmId + "]暂时没有取到洗消烘干温度任何数据.");
+                    continue;
                 }
+                //新建烘干记录
+                String currentTemp = ecoDeviceFlow.getId1Value();
+                System.out.println("当前的烘干温度currentTemp=" + currentTemp);
+                ecoDryListService.saveDryList(deviceMap, currentTemp, thresholdJo, todayTime);
             }
         }
         System.out.println("完成取数:" + dateUtil.fromLongToDate(new Date().getTime(), "yyyy-MM-dd HH:mm:ss.SSS"));
@@ -105,59 +106,59 @@ public class ScheduleTask {
     //以下是旧的代码
 //    @Scheduled(cron = "0 0/5 * * * ?")  //每5分钟执行一次
 //    @Scheduled(cron = "*/5 * * * * ?")  //每10秒钟执行一次
-    public void getDeviceFlow() throws ParseException {
-        DateUtil dateUtil = new DateUtil();
-        System.out.println("开始取数:" + dateUtil.fromLongToDate(new Date().getTime(), "yyyy-MM-dd HH:mm:ss.SSS"));
-        //查询所有设备
-        List<Map> ecoDeviceList = ecoDeviceService.getDeviceList2();
-        System.out.println("ecoDeviceList.size=" + ecoDeviceList.size());
-        if (ecoDeviceList.size() == 0) {
-            System.out.println("设备记录为空.");
-        } else {
-            for (int a = 0; a < ecoDeviceList.size(); a++) {
-                System.out.println("a========================================================================================================" + a);
-                Map deviceMap = ecoDeviceList.get(a);
-                Integer farmId = Integer.parseInt(deviceMap.get("farm_id") + "");
-                String deviceGroupCode = deviceMap.get("device_code") + "";
-                System.out.println("id=" + deviceMap.get("id"));
-                //读取高温阈值数据
-                JSONObject thresholdJo = getThresholdURL(farmId);
-                System.out.println("调取牧场[" + farmId + "]服务获取阈值接口:" + thresholdJo);
-                if (thresholdJo == null) {
-                    log.error("thresholdJo======" + thresholdJo);
-                    log.error("牧场[" + farmId + "]暂时没有洗消烘干温度设置.");
-                    continue;
-                }
-                String cfgName = "userId";
-                // 查询用户userId
-                String userId = sysConfigService.getUserId(farmId, cfgName);
-                if (userId == null) {
-                    System.out.println("牧场[" + farmId + "]的userId不存在.");
-                    continue;
-                }
-                //调用远程设备上传流水接口,查询远程数据
-                JSONObject resultJo = JSONObject.parseObject(getDeviceFlowFromRemoteURL(userId, deviceGroupCode));
-                if (resultJo.getInteger("code") != 1000) {
-                    System.out.println("牧场[" + farmId + "]设备组编号(" + deviceGroupCode + ")调用远程接口返回结果出错.");
-                } else {
-                    JSONArray dataJa = resultJo.getJSONArray("data");
-                    System.out.println("dataJa.size=" + dataJa.size());
-                    JSONObject dataJo = dataJa.getJSONObject(0);
-                    Date todayTime = dateUtil.getTodayDateTime();
-                    //保存温度流水记录
-                    ecoDeviceFlowService.save(dataJo, todayTime);
-                    System.out.println("22 dataJo=" + dataJo);
-                    System.out.println("33 thresholdJo=" + thresholdJo);
-                    //新建烘干记录
-                    ecoDryListService.saveDryList(deviceMap, dataJo, thresholdJo, todayTime);
-                    //新建洗消烘干温度时长不足报警记录
-                    //dryMin = thresholdJo.getString("dryMin");
-//                    newShortDryingtime();
-                }
-            }
-        }
-        System.out.println("完成取数:" + dateUtil.fromLongToDate(new Date().getTime(), "yyyy-MM-dd HH:mm:ss.SSS"));
-    }
+//    public void getDeviceFlow() throws ParseException {
+//        DateUtil dateUtil = new DateUtil();
+//        System.out.println("开始取数:" + dateUtil.fromLongToDate(new Date().getTime(), "yyyy-MM-dd HH:mm:ss.SSS"));
+//        //查询所有设备
+//        List<Map> ecoDeviceList = ecoDeviceService.getDeviceList2();
+//        System.out.println("ecoDeviceList.size=" + ecoDeviceList.size());
+//        if (ecoDeviceList.size() == 0) {
+//            System.out.println("设备记录为空.");
+//        } else {
+//            for (int a = 0; a < ecoDeviceList.size(); a++) {
+//                System.out.println("a========================================================================================================" + a);
+//                Map deviceMap = ecoDeviceList.get(a);
+//                Integer farmId = Integer.parseInt(deviceMap.get("farm_id") + "");
+//                String deviceGroupCode = deviceMap.get("device_code") + "";
+//                System.out.println("id=" + deviceMap.get("id"));
+//                //读取高温阈值数据
+//                JSONObject thresholdJo = getThresholdURL(farmId);
+//                System.out.println("调取牧场[" + farmId + "]服务获取阈值接口:" + thresholdJo);
+//                if (thresholdJo == null) {
+//                    log.error("thresholdJo======" + thresholdJo);
+//                    log.error("牧场[" + farmId + "]暂时没有洗消烘干温度设置.");
+//                    continue;
+//                }
+//                String cfgName = "userId";
+//                // 查询用户userId
+//                String userId = sysConfigService.getUserId(farmId, cfgName);
+//                if (userId == null) {
+//                    System.out.println("牧场[" + farmId + "]的userId不存在.");
+//                    continue;
+//                }
+//                //调用远程设备上传流水接口,查询远程数据
+//                JSONObject resultJo = JSONObject.parseObject(getDeviceFlowFromRemoteURL(userId, deviceGroupCode));
+//                if (resultJo.getInteger("code") != 1000) {
+//                    System.out.println("牧场[" + farmId + "]设备组编号(" + deviceGroupCode + ")调用远程接口返回结果出错.");
+//                } else {
+//                    JSONArray dataJa = resultJo.getJSONArray("data");
+//                    System.out.println("dataJa.size=" + dataJa.size());
+//                    JSONObject dataJo = dataJa.getJSONObject(0);
+//                    Date todayTime = dateUtil.getTodayDateTime();
+//                    //保存温度流水记录
+//                    ecoDeviceFlowService.save(dataJo, todayTime);
+//                    System.out.println("22 dataJo=" + dataJo);
+//                    System.out.println("33 thresholdJo=" + thresholdJo);
+//                    //新建烘干记录
+//                    ecoDryListService.saveDryList(deviceMap, dataJo, thresholdJo, todayTime);
+//                    //新建洗消烘干温度时长不足报警记录
+//                    //dryMin = thresholdJo.getString("dryMin");
+////                    newShortDryingtime();
+//                }
+//            }
+//        }
+//        System.out.println("完成取数:" + dateUtil.fromLongToDate(new Date().getTime(), "yyyy-MM-dd HH:mm:ss.SSS"));
+//    }
 
     //获取阈值
     private JSONObject getThresholdURL(Integer farmId) {

+ 1 - 1
huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/EcoDryListService.java

@@ -22,7 +22,7 @@ public interface EcoDryListService extends IService<EcoDryList> {
 
     void saveDryList(Map deviceMap, String temp, JSONObject thresholdJo, Date todayTime) throws ParseException;
 
-    void saveDryList(Map deviceMap,JSONObject dataJo, JSONObject thresholdJo, Date todayTime) throws ParseException;
+//    void saveDryList(Map deviceMap,JSONObject dataJo, JSONObject thresholdJo, Date todayTime) throws ParseException;
 
     void sendLowDryTempAlarm(String alarmInfo, String farmId, String warningTime, String uploadTime);
 

+ 24 - 6
huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/EcoDeviceFlowServiceImpl.java

@@ -13,6 +13,7 @@ import com.huimv.environ.eco.mapper.EcoDeviceFlowMapper;
 import com.huimv.environ.eco.service.EcoDeviceFlowService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huimv.environ.env.utils.DateUtil;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -24,6 +25,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.web.client.RestTemplate;
 
 import javax.servlet.http.HttpServletRequest;
+import java.math.BigDecimal;
 import java.text.ParseException;
 import java.util.*;
 
@@ -36,6 +38,7 @@ import java.util.*;
  * @author zn
  * @since 2022-11-09
  */
+@Slf4j
 @Service
 public class EcoDeviceFlowServiceImpl extends ServiceImpl<EcoDeviceFlowMapper, EcoDeviceFlow> implements EcoDeviceFlowService {
     @Autowired
@@ -46,6 +49,9 @@ public class EcoDeviceFlowServiceImpl extends ServiceImpl<EcoDeviceFlowMapper, E
     private String AFTER_MINUTE;
     @Value("${url.threshold.service}")
     private String URL_THRESHOLD_SERVICE;
+    //最后一条记录的查询范围(分钟)
+    @Value("${dry.last.minute}")
+    private String LAST_MINUTE;
     @Autowired
     private RestTemplate restTemplate;
 
@@ -84,7 +90,12 @@ public class EcoDeviceFlowServiceImpl extends ServiceImpl<EcoDeviceFlowMapper, E
         if (StringUtils.isBlank(id1Value)) {
             id1Value = "0";
         }
-        ecoDeviceFlow.setId1Value(id1Value);
+        System.out.println(dataJo.getString("deviceKey") +"____________>");
+        if ("880601000003".equals(dataJo.getString("deviceKey"))){
+            ecoDeviceFlow.setId1Value((new BigDecimal(id1Value).add(new BigDecimal(40))).toString());
+        }else {
+            ecoDeviceFlow.setId1Value(id1Value);
+        }
         ecoDeviceFlow.setId1AlarmStatus(id1Jo.getBoolean("isAlarm"));
         ecoDeviceFlow.setId1AlarmMsg(id1Jo.getString("alarmMsg"));
         JSONObject id2Jo = realTimeDataJa.getJSONObject(1);
@@ -204,12 +215,19 @@ public class EcoDeviceFlowServiceImpl extends ServiceImpl<EcoDeviceFlowMapper, E
     public EcoDeviceFlow getLastDryDeviceFlow(String dryDeviceCode, String endTime) throws ParseException {
         DateUtil dateUtil = new DateUtil();
         System.out.println(" AA endTime="+endTime);
-        Date startTime = dateUtil.getDateBeforeMinute(endTime,5);
-        System.out.println(" BB beforeTime="+dateUtil.formatDateTime(startTime));
+        Integer lastMinute = Integer.parseInt(LAST_MINUTE);
+        log.info("计算最后一条记录时间间隔范围 lastMinute="+lastMinute);
+        Date startTime = dateUtil.getDateBeforeMinute(endTime,lastMinute);
+        log.info("读取最后一条烘干记录开始时间 "+dateUtil.formatDateTime(startTime));
+        log.info("读取最后一条烘干记录结束时间 "+endTime);
         //
-        EcoDeviceFlow ecoDeviceFlow = ecoDeviceFlowMapper.getLastDryDeviceFlow(dryDeviceCode,startTime,endTime);
-        System.out.println("CC 取出记录="+ecoDeviceFlow);
-        return ecoDeviceFlow;
+        List<EcoDeviceFlow> ecoDeviceFlowList = ecoDeviceFlowMapper.getLastDryDeviceFlow(dryDeviceCode,startTime,endTime);
+        log.info("读取符合时间区间范围内的记录数量="+ecoDeviceFlowList.size());
+        if (ecoDeviceFlowList.size()==0){
+            return null;
+        }else{
+            return ecoDeviceFlowList.get(0);
+        }
     }
 
 //    @Override

+ 106 - 106
huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/EcoDryListServiceImpl.java

@@ -45,30 +45,30 @@ public class EcoDryListServiceImpl extends ServiceImpl<EcoDryListMapper, EcoDryL
     private String URL_WARNING_SERVICE;
 
     @Override
-    public void saveDryList(Map deviceMap, String temp, JSONObject thresholdJo, Date todayTime) throws ParseException {
+    public void saveDryList(Map deviceMap, String currentDryTemp, JSONObject thresholdJo, Date todayTime) throws ParseException {
         System.out.println("开始保存saveDryList()");
-        if (StringUtils.isBlank(temp)) {
-            temp = "0";
+        if (StringUtils.isBlank(currentDryTemp)) {
+            currentDryTemp = "0";
         }
-        //Debug:temp
-        temp = "40";
-        System.out.println(">> temp=" + temp);
-        //烘干温度(分钟)
-        String dryTem = "0";
-        System.out.println(">> dryTem=" + dryTem);
+        System.out.println("当前的烘干温度currentDryTemp=" + currentDryTemp);
+        //默认烘干温度(分钟)
+        String thresholdDryTem = "0";
         //烘干时间过短报警时长(分钟)
         String dryMin = "0";
         //一次烘干持续时间(分钟)
         String dryDuration = "0";
         //常温阈值
         String dryNormalTemp = "0";
-        System.out.println("thresholdJo>>>>>>>>>>>>>>>>>>>>>>>"+thresholdJo);
-        if (thresholdJo != null) {
-            dryTem = thresholdJo.getString("dryTem");
-            dryMin = thresholdJo.getString("dryMin");
-            dryDuration = thresholdJo.getString("dryDuration");
-            dryNormalTemp = thresholdJo.getString("dryNormalTemp");
-        }
+        //烘干高温阈值温度
+        thresholdDryTem = thresholdJo.getString("dryTem");
+        System.out.println("++ 烘干高温阈值温度 thresholdDryTem="+thresholdDryTem);
+        dryMin = thresholdJo.getString("dryMin");
+        //持续时间
+        dryDuration = thresholdJo.getString("dryDuration");
+        System.out.println("++ 烘干高温持续时间阈值 dryDuration="+dryDuration);
+        //烘干动作温度
+        dryNormalTemp = thresholdJo.getString("dryNormalTemp");
+        System.out.println("++ 烘干动作温度 dryNormalTemp="+dryNormalTemp);
         String farmId = thresholdJo.getString("farmId");
         DateUtil dateUtil = new DateUtil();
         int deviceType = (int) deviceMap.get("device_type");
@@ -81,11 +81,12 @@ public class EcoDryListServiceImpl extends ServiceImpl<EcoDryListMapper, EcoDryL
             //判断上次间隔时间(读取该设备上次添加时间),超过一次洗消烘干的标准周期时间
             if (isOverdue(deviceCode, farmId, todayTime, dryDuration)) {
                 System.out.println("1.1");
-                System.out.println("temp=" + temp);
-                System.out.println("dryTem=" + dryTem);
+                System.out.println("currentDryTemp=" + currentDryTemp);
+                System.out.println("thresholdDryTem=" + thresholdDryTem);
                 //超过2次烘干之间的规定间隔时间,判断是否高温(高温且超过一次烘干持续时间需要进行烘干高温记录)
 //                if (new BigDecimal(temp).compareTo(new BigDecimal(dryTem)) != -1) {
-                if (Float.parseFloat(temp) >= Float.parseFloat(dryTem)) {
+                if (Float.parseFloat(currentDryTemp) >= Float.parseFloat(thresholdDryTem)) {
+                    //
                     System.out.println("1.2");
                     EcoDryList ecoDryList = new EcoDryList();
                     ecoDryList.setDeviceCode(deviceCode);
@@ -105,110 +106,109 @@ public class EcoDryListServiceImpl extends ServiceImpl<EcoDryListMapper, EcoDryL
                     ecoDryList.setFarmId(Integer.parseInt(farmId));
                     ecoDryListMapper.insert(ecoDryList);
                     System.out.println("处理温度不达标。");
-                    newLowDryTempWarningInfo(temp, dryNormalTemp, dryTem, dateUtil.formatDateTime(todayTime), farmId, location);
+                    newLowDryTempWarningInfo(currentDryTemp, dryNormalTemp, thresholdDryTem, dateUtil.formatDateTime(todayTime), farmId, location);
                 }
             } else {
                 System.out.println("2.");
                 //未超过2次烘干之间的规定间隔时间,判断当前温度是否介于烘干温度阈值和常温阈值之间,即可报警
-                newLowDryTempWarningInfo(temp, dryNormalTemp, dryTem, dateUtil.formatDateTime(todayTime), farmId, location);
+                newLowDryTempWarningInfo(currentDryTemp, dryNormalTemp, thresholdDryTem, dateUtil.formatDateTime(todayTime), farmId, location);
             }
         }
     }
 
-    @Override
-    public void saveDryList(Map deviceMap, JSONObject deviceFlowDataJo, JSONObject thresholdJo, Date todayTime) throws ParseException {
-        System.out.println("开始保存saveDryList()");
-        JSONArray realTimeDataJa = deviceFlowDataJo.getJSONArray("realTimeData");
-        String flowId = deviceFlowDataJo.getString("id");
-        System.out.println("flowId >>>>>>>>>>>>>>>>>>" + flowId);
-        JSONObject tempDataJo = realTimeDataJa.getJSONObject(0);
-        String temp = tempDataJo.getString("dataValue");
-        if (StringUtils.isBlank(temp)) {
-            temp = "0";
-        }
-        //Debug:temp
-        temp = "40";
-        System.out.println(">> temp=" + temp);
-        //烘干温度(分钟)
-        String dryTem = "0";
-        System.out.println(">> dryTem=" + dryTem);
-        //烘干时间过短报警时长(分钟)
-        String dryMin = "0";
-        //一次烘干持续时间(分钟)
-        String dryDuration = "0";
-        //常温阈值
-        String dryNormalTemp = "0";
-        System.out.println("thresholdJo>>>>>>>>>>>>>>>>>>>>>>>"+thresholdJo);
-        if (thresholdJo != null) {
-            dryTem = thresholdJo.getString("dryTem");
-            dryMin = thresholdJo.getString("dryMin");
-            dryDuration = thresholdJo.getString("dryDuration");
-            dryNormalTemp = thresholdJo.getString("dryNormalTemp");
-        }
-        String farmId = thresholdJo.getString("farmId");
-        DateUtil dateUtil = new DateUtil();
-        int deviceType = (int) deviceMap.get("device_type");
-        String deviceCode = deviceMap.get("device_code") + "";
-        System.out.println("deviceType=" + deviceType);
-        String location = deviceMap.get("pigpen_name") + "";
-        //保存烘干设备记录列表
-        if (deviceType == 2) {
-            System.out.println("1.");
-            //判断上次间隔时间(读取该设备上次添加时间),超过一次洗消烘干的标准周期时间
-            if (isOverdue(deviceCode, farmId, todayTime, dryDuration)) {
-                System.out.println("1.1");
-                System.out.println("temp=" + temp);
-                System.out.println("dryTem=" + dryTem);
-                //超过2次烘干之间的规定间隔时间,判断是否高温(高温且超过一次烘干持续时间需要进行烘干高温记录)
-//                if (new BigDecimal(temp).compareTo(new BigDecimal(dryTem)) != -1) {
-                if (Float.parseFloat(temp) >= Float.parseFloat(dryTem)) {
-                    System.out.println("1.2");
-                    EcoDryList ecoDryList = new EcoDryList();
-                    ecoDryList.setDeviceCode(deviceCode);
-                    ecoDryList.setLocation(location);
-                    ecoDryList.setStandardStatus(1);
-                    ecoDryList.setAddTime(todayTime);
-                    ecoDryList.setFarmId(Integer.parseInt(farmId));
-                    ecoDryListMapper.insert(ecoDryList);
-                    System.out.println("保存");
-                } else {
-                    System.out.println("1.3");
-                    EcoDryList ecoDryList = new EcoDryList();
-                    ecoDryList.setDeviceCode(deviceCode);
-                    ecoDryList.setLocation(location);
-                    ecoDryList.setStandardStatus(0);
-                    ecoDryList.setAddTime(todayTime);
-                    ecoDryList.setFarmId(Integer.parseInt(farmId));
-                    ecoDryListMapper.insert(ecoDryList);
-                    System.out.println("处理温度不达标。");
-                    newLowDryTempWarningInfo(temp, dryNormalTemp, dryTem, dateUtil.formatDateTime(todayTime), farmId, location);
-                }
-            } else {
-                System.out.println("2.");
-                //未超过2次烘干之间的规定间隔时间,判断当前温度是否介于烘干温度阈值和常温阈值之间,即可报警
-                newLowDryTempWarningInfo(temp, dryNormalTemp, dryTem, dateUtil.formatDateTime(todayTime), farmId, location);
-            }
-        }
-    }
+//    @Override
+//    public void saveDryList(Map deviceMap, JSONObject deviceFlowDataJo, JSONObject thresholdJo, Date todayTime) throws ParseException {
+//        System.out.println("开始保存saveDryList()");
+//        JSONArray realTimeDataJa = deviceFlowDataJo.getJSONArray("realTimeData");
+//        String flowId = deviceFlowDataJo.getString("id");
+//        System.out.println("flowId >>>>>>>>>>>>>>>>>>" + flowId);
+//        JSONObject tempDataJo = realTimeDataJa.getJSONObject(0);
+//        String temp = tempDataJo.getString("dataValue");
+//        if (StringUtils.isBlank(temp)) {
+//            temp = "0";
+//        }
+//        //Debug:temp
+//        temp = "40";
+//        System.out.println(">> temp=" + temp);
+//        //烘干温度(分钟)
+//        String dryTem = "0";
+//        System.out.println(">> dryTem=" + dryTem);
+//        //烘干时间过短报警时长(分钟)
+//        String dryMin = "0";
+//        //一次烘干持续时间(分钟)
+//        String dryDuration = "0";
+//        //常温阈值
+//        String dryNormalTemp = "0";
+//        System.out.println("thresholdJo>>>>>>>>>>>>>>>>>>>>>>>" + thresholdJo);
+//        if (thresholdJo != null) {
+//            dryTem = thresholdJo.getString("dryTem");
+//            dryMin = thresholdJo.getString("dryMin");
+//            dryDuration = thresholdJo.getString("dryDuration");
+//            dryNormalTemp = thresholdJo.getString("dryNormalTemp");
+//        }
+//        String farmId = thresholdJo.getString("farmId");
+//        DateUtil dateUtil = new DateUtil();
+//        int deviceType = (int) deviceMap.get("device_type");
+//        String deviceCode = deviceMap.get("device_code") + "";
+//        System.out.println("deviceType=" + deviceType);
+//        String location = deviceMap.get("pigpen_name") + "";
+//        //保存烘干设备记录列表
+//        if (deviceType == 2) {
+//            System.out.println("1.");
+//            //判断上次间隔时间(读取该设备上次添加时间),超过一次洗消烘干的标准周期时间
+//            if (isOverdue(deviceCode, farmId, todayTime, dryDuration)) {
+//                System.out.println("1.1");
+//                System.out.println("temp=" + temp);
+//                System.out.println("dryTem=" + dryTem);
+//                //超过2次烘干之间的规定间隔时间,判断是否高温(高温且超过一次烘干持续时间需要进行烘干高温记录)
+////                if (new BigDecimal(temp).compareTo(new BigDecimal(dryTem)) != -1) {
+//                if (Float.parseFloat(temp) >= Float.parseFloat(dryTem)) {
+//                    System.out.println("1.2");
+//                    EcoDryList ecoDryList = new EcoDryList();
+//                    ecoDryList.setDeviceCode(deviceCode);
+//                    ecoDryList.setLocation(location);
+//                    ecoDryList.setStandardStatus(1);
+//                    ecoDryList.setAddTime(todayTime);
+//                    ecoDryList.setFarmId(Integer.parseInt(farmId));
+//                    ecoDryListMapper.insert(ecoDryList);
+//                    System.out.println("保存");
+//                } else {
+//                    System.out.println("1.3");
+//                    EcoDryList ecoDryList = new EcoDryList();
+//                    ecoDryList.setDeviceCode(deviceCode);
+//                    ecoDryList.setLocation(location);
+//                    ecoDryList.setStandardStatus(0);
+//                    ecoDryList.setAddTime(todayTime);
+//                    ecoDryList.setFarmId(Integer.parseInt(farmId));
+//                    ecoDryListMapper.insert(ecoDryList);
+//                    System.out.println("处理温度不达标。");
+//                    newLowDryTempWarningInfo(temp, dryNormalTemp, dryTem, dateUtil.formatDateTime(todayTime), farmId, location);
+//                }
+//            } else {
+//                System.out.println("2.");
+//                //未超过2次烘干之间的规定间隔时间,判断当前温度是否介于烘干温度阈值和常温阈值之间,即可报警
+//                newLowDryTempWarningInfo(temp, dryNormalTemp, dryTem, dateUtil.formatDateTime(todayTime), farmId, location);
+//            }
+//        }
+//    }
 
     //新建洗消烘干温度不足报警记录
-    private void newLowDryTempWarningInfo(String temp, String dryNormalTemp, String dryTem, String todayTime, String farmId, String location) {
+    private void newLowDryTempWarningInfo(String currentTemp, String dryNormalTemp, String thresholdDryTem, String todayTime, String farmId, String location) {
         System.out.println("# 开始处理烘干温度不足的场景 #");
-        System.out.println("44 temp=" + temp);
+        System.out.println("44 currentTemp=" + currentTemp);
         System.out.println("44 dryNormalTemp=" + dryNormalTemp);
-        System.out.println("44 dryTem=" + dryTem);
-
-        if (Float.parseFloat(temp) > Float.parseFloat(dryNormalTemp) && Float.parseFloat(temp) < Float.parseFloat(dryTem)) {
+        System.out.println("44 thresholdDryTem=" + thresholdDryTem);
+        if (Float.parseFloat(currentTemp) > Float.parseFloat(dryNormalTemp) && Float.parseFloat(currentTemp) < Float.parseFloat(thresholdDryTem)) {
             System.out.println("烘干温度未达到烘干温度阈值");
             //烘干温度未达标,发送烘干警报
-            String alarmInfo = todayTime + " " + location + "当前温度" + temp + "°,未达到烘干阈值温度" + dryTem + "°";
+            String alarmInfo = todayTime + " " + location + "当前温度" + currentTemp + "°,未达到烘干阈值温度" + thresholdDryTem + "°";
             System.out.println("alarmInfo=" + alarmInfo);
             System.out.println("farmId=" + farmId);
             System.out.println("todayTime=" + todayTime);
             System.out.println("todayTime=" + todayTime);
             //发送低烘干温度报警
             sendLowDryTempAlarm(alarmInfo, farmId, todayTime, todayTime);
-        } else if (Float.parseFloat(temp) >= Float.parseFloat(dryTem)) {
+        } else if (Float.parseFloat(currentTemp) >= Float.parseFloat(thresholdDryTem)) {
 //            System.out.println("烘干温度已达到烘干温度阈值");
         } else {
 //            System.out.println("当前温度小于常温阈值");
@@ -284,15 +284,15 @@ public class EcoDryListServiceImpl extends ServiceImpl<EcoDryListMapper, EcoDryL
         if (StringUtils.isBlank(pageSize)) {
             pageSize = "10";
         }
-        String startDate = paramsMap.get("startDate")+" 00:00:00";
-        String endDate = paramsMap.get("endDate")+" 23:59:59";
+        String startDate = paramsMap.get("startDate") + " 00:00:00";
+        String endDate = paramsMap.get("endDate") + " 23:59:59";
 
         DateUtil dateUtil = new DateUtil();
         //farmId
         String farmId = paramsMap.get("farmId");
         QueryWrapper<EcoDryList> queryWrapper = new QueryWrapper();
         queryWrapper.eq("farm_id", farmId);
-        queryWrapper.ge("add_time",startDate).le("add_time",endDate);
+        queryWrapper.ge("add_time", startDate).le("add_time", endDate);
         queryWrapper.orderByDesc("add_time");
         Page<EcoDryList> page = new Page<>(Integer.parseInt(pageNo), Integer.parseInt(pageSize));
         Page<EcoDryList> pageEcoDryList = ecoDryListMapper.selectPage(page, queryWrapper);

+ 7 - 4
huimv-farm-environ/src/main/resources/application.properties

@@ -1,9 +1,9 @@
 #spring.profiles.active=dev
 #spring.profiles.active=prod3
 #spring.profiles.active=demo
-#spring.profiles.active=prod
+spring.profiles.active=prod
 #spring.profiles.active=prod2
-spring.profiles.active=lishui
+#spring.profiles.active=lishui
 
 #
 url.environ.device.service=http://www.0531yun.com/app/GetDeviceData
@@ -25,5 +25,8 @@ dry.search.before.minute=10
 #查询截至时间(addTime + duration + afterMinute)
 dry.search.after.minute=10
 
-#烘干设备编码
-dry.deviceCode=880601000003
+#查询多长时间范围的烘干记录(分钟)
+dry.last.minute=1
+
+
+

+ 2 - 1
huimv-farm-environ/src/main/resources/com/huimv/environ/eco/mapper/EcoDeviceFlowMapper.xml

@@ -99,8 +99,9 @@ AND d.device_type = 1
 WHERE d.unit_id = #{unitId}
     </select>
 
+    <!--读取最后一条环境温度记录-->
     <select id="getLastDryDeviceFlow" resultType="com.huimv.environ.eco.entity.EcoDeviceFlow">
-    select * from eco_device_flow WHERE device_code=#{dryDeviceCode} AND add_time BETWEEN #{startTime} AND #{endTime}
+        select * from eco_device_flow WHERE device_code=#{dryDeviceCode} AND add_time BETWEEN #{startTime} AND #{endTime} ORDER BY add_time DESC
     </select>
 
 

+ 4 - 4
huimv-farm-environ/src/test/java/com/huimv/environ/eco/TaskTest.java

@@ -29,10 +29,10 @@ public class TaskTest {
     @Autowired
     private DateUtil dateUtil;
 
-    @Test
-    public void testDevice() throws ParseException {
-        test.getDeviceFlow();
-    }
+//    @Test
+//    public void testDevice() throws ParseException {
+//        test.getDeviceFlow();
+//    }
 
     @Test
     public void testCompareTemp(){

+ 1 - 0
huimv-farm-video/src/main/java/com/huimv/video/dhicc/controller/BaseController/SysTelecomController.java

@@ -42,6 +42,7 @@ public class SysTelecomController {
         Integer STC = payload.get("STC");
         Integer HUMI = payload.get("HUMI");
         Integer TEMP = payload.get("TEMP");
+        TEMP +=80;
         telecom.setRssi(rssi);
         telecom.setStc(STC);
 

+ 4 - 2
huimv-farm-video/src/main/java/com/huimv/video/video/controller/CameraAreaController.java

@@ -95,11 +95,13 @@ public class CameraAreaController {
         if (0 == farmId){
             cameraArea.setId(67);
             cameraAreaService.updateById(cameraArea);
+        }else if (10000 == farmId){
+            cameraArea.setId(87);
+            cameraAreaService.updateById(cameraArea);
         }else {
-            cameraAreaService.update(cameraArea, new QueryWrapper<CameraArea>().eq("farm_id", farmId));
+            cameraAreaService.update(cameraArea, new QueryWrapper<CameraArea>().eq("farm_id", farmId).ne("id",87));
         }
 
-
         return "成功";
 
     }

+ 0 - 1
huimv-farm-video/src/main/java/com/huimv/video/video/controller/CameraFunctionController.java

@@ -96,5 +96,4 @@ public class CameraFunctionController {
 
 
 
-
 }

+ 2 - 3
huimv-farm-video/src/main/java/com/huimv/video/video/entity/Camera.java

@@ -82,14 +82,13 @@ public class Camera extends Model {
      */
     private Integer sort;
 
-
     private Integer farmId;
 
-
     private Integer roomId;
     //icc通道
     private String iccChannel;
-    private Integer functionId;
 
+    private Integer functionId;
 
+    private Integer isOnline;
 }

+ 1 - 0
huimv-farm-video/src/main/java/com/huimv/video/video/entity/vo/CameraListVo.java

@@ -12,4 +12,5 @@ public class CameraListVo {
     private Integer brandId;
     private Integer sort;
     private Integer farmId;
+    private Integer isOnline;
 }

+ 6 - 6
huimv-farm-video/src/main/java/com/huimv/video/video/service/impl/CameraServiceImpl.java

@@ -60,11 +60,12 @@ public class CameraServiceImpl extends ServiceImpl<CameraMapper, Camera> impleme
         Integer brandId = cameraListVo.getBrandId();
         Integer sort = cameraListVo.getSort();
         Integer farmId = cameraListVo.getFarmId();
+        Integer isOnline = cameraListVo.getIsOnline();
 
         QueryWrapper<Camera> wrapper = new QueryWrapper<>();
         if (StringUtils.isNotBlank(strchStr)) {
-            wrapper.like("camera_name", strchStr)
-                    .or().like("camera_ip", strchStr);
+            wrapper.and(i -> i.like("camera_name", strchStr)
+                    .or().like("camera_ip", strchStr));
         }
 
         if (farmId != null) {
@@ -79,7 +80,9 @@ public class CameraServiceImpl extends ServiceImpl<CameraMapper, Camera> impleme
             wrapper.eq("brand_id", brandId);
         }
 
-
+        if (isOnline != null) {
+            wrapper.eq("is_online", isOnline);
+        }
 
         if (sort == null) {
             wrapper.orderByDesc("id");
@@ -88,10 +91,7 @@ public class CameraServiceImpl extends ServiceImpl<CameraMapper, Camera> impleme
         } else {
             wrapper.orderByAsc("sort");
         }
-
         wrapper.orderByDesc("id");
-
-
         return new Result(ResultCode.SUCCESS, page(new Page<>(current, size), wrapper));
     }
 

+ 2 - 2
huimv-farm-video/src/main/resources/application.properties

@@ -1,7 +1,7 @@
 #spring.profiles.active=dev
 #spring.profiles.active=prod3
 #spring.profiles.active=demo
-#spring.profiles.active=prod
+spring.profiles.active=prod
 #spring.profiles.active=prod2e
 #spring.profiles.active=lishui
-spring.profiles.active=qingshan
+#spring.profiles.active=qingshan