Просмотр исходного кода

烘干阈值设置已经写好了

yang 3 лет назад
Родитель
Сommit
cd9ec8c059

+ 1 - 1
huimv-farm-video/src/main/java/com/huimv/video/dhicc/controller/ClientController/ClientCarManageController.java

@@ -186,6 +186,7 @@ public class ClientCarManageController {
     }
     }
 
 
 
 
+    
     //添加车辆进黑名单列表
     //添加车辆进黑名单列表
     @RequestMapping("/addCarBlackList")
     @RequestMapping("/addCarBlackList")
     public GeneralResponse addCarBlackList (@RequestBody Map<String, Object> params ) throws ClientException {
     public GeneralResponse addCarBlackList (@RequestBody Map<String, Object> params ) throws ClientException {
@@ -354,7 +355,6 @@ public class ClientCarManageController {
 
 
 
 
 
 
-
         @RequestMapping("/get_person_detail")
         @RequestMapping("/get_person_detail")
         public GeneralResponse getPersonDetail( @RequestBody Map<String, Object> params ) throws ClientException {
         public GeneralResponse getPersonDetail( @RequestBody Map<String, Object> params ) throws ClientException {
 
 

+ 24 - 4
huimv-farm-video/src/main/java/com/huimv/video/dhicc/controller/ClientController/ClientDoorController.java

@@ -30,6 +30,26 @@ import java.util.Map;
 @RequestMapping("door")
 @RequestMapping("door")
 public class ClientDoorController {
 public class ClientDoorController {
 
 
+    public static void main(String[] args) {
+        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_OF_DAY, 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);
+        System.out.println(formatA+formatD);
+    }
+
+
+
+
+
     //
     //
     @RequestMapping("/ListDoorEvent")
     @RequestMapping("/ListDoorEvent")
     public R ListDoorEvent(@RequestBody Map<String, Object> params1) throws ClientException, ParseException {
     public R ListDoorEvent(@RequestBody Map<String, Object> params1) throws ClientException, ParseException {
@@ -46,12 +66,12 @@ public class ClientDoorController {
         Calendar c = Calendar.getInstance();
         Calendar c = Calendar.getInstance();
         Date date = new Date();
         Date date = new Date();
         c.setTime(date);
         c.setTime(date);
-        c.set(Calendar.HOUR, 0);
+        c.set(Calendar.HOUR_OF_DAY, 0);
         c.set(Calendar.MINUTE, 0);
         c.set(Calendar.MINUTE, 0);
         c.set(Calendar.SECOND, 0);
         c.set(Calendar.SECOND, 0);
         Date A = c.getTime();
         Date A = c.getTime();
         String formatA = format.format(A);
         String formatA = format.format(A);
-        c.set(Calendar.HOUR, +24);
+        c.set(Calendar.HOUR_OF_DAY, +24);
         Date d = c.getTime();
         Date d = c.getTime();
         String formatD = format.format(d);
         String formatD = format.format(d);
         Map<String, Object> params = new HashMap<>();
         Map<String, Object> params = new HashMap<>();
@@ -89,12 +109,12 @@ public class ClientDoorController {
         Calendar c = Calendar.getInstance();
         Calendar c = Calendar.getInstance();
         Date date = new Date();
         Date date = new Date();
         c.setTime(date);
         c.setTime(date);
-        c.set(Calendar.HOUR, 0);
+        c.set(Calendar.HOUR_OF_DAY, 0);
         c.set(Calendar.MINUTE, 0);
         c.set(Calendar.MINUTE, 0);
         c.set(Calendar.SECOND, 0);
         c.set(Calendar.SECOND, 0);
         Date A = c.getTime();
         Date A = c.getTime();
         String formatA = format.format(A);
         String formatA = format.format(A);
-        c.set(Calendar.HOUR, +24);
+        c.set(Calendar.HOUR_OF_DAY, +24);
         Date d = c.getTime();
         Date d = c.getTime();
         String formatD = format.format(d);
         String formatD = format.format(d);
         Map<String, Object> params = new HashMap<>();
         Map<String, Object> params = new HashMap<>();

+ 8 - 8
huimv-farm-video/src/main/java/com/huimv/video/dhicc/controller/ScreenController/ScreenPersonController.java

@@ -35,35 +35,35 @@ public class ScreenPersonController {
         c.set(Calendar.MINUTE, 0);
         c.set(Calendar.MINUTE, 0);
         c.set(Calendar.SECOND, 0);
         c.set(Calendar.SECOND, 0);
 
 
-        c.add(Calendar.HOUR, +2);
+        c.add(Calendar.HOUR_OF_DAY, +2);
         Date A = c.getTime();
         Date A = c.getTime();
         String formatA = format.format(A);
         String formatA = format.format(A);
 
 
-        c.add(Calendar.HOUR, -2);
+        c.add(Calendar.HOUR_OF_DAY, -2);
         Date B = c.getTime();
         Date B = c.getTime();
         String formatB = format.format(B);
         String formatB = format.format(B);
 
 
-        c.add(Calendar.HOUR, -2);
+        c.add(Calendar.HOUR_OF_DAY, -2);
         Date C = c.getTime();
         Date C = c.getTime();
         String formatC = format.format(C);
         String formatC = format.format(C);
 
 
-        c.add(Calendar.HOUR, -2);
+        c.add(Calendar.HOUR_OF_DAY, -2);
         Date D = c.getTime();
         Date D = c.getTime();
         String formatD = format.format(D);
         String formatD = format.format(D);
 
 
-        c.add(Calendar.HOUR, -2);
+        c.add(Calendar.HOUR_OF_DAY, -2);
         Date E = c.getTime();
         Date E = c.getTime();
         String formatE = format.format(E);
         String formatE = format.format(E);
 
 
-        c.add(Calendar.HOUR, -2);
+        c.add(Calendar.HOUR_OF_DAY, -2);
         Date F = c.getTime();
         Date F = c.getTime();
         String formatF = format.format(F);
         String formatF = format.format(F);
 
 
-        c.add(Calendar.HOUR, -2);
+        c.add(Calendar.HOUR_OF_DAY, -2);
         Date G = c.getTime();
         Date G = c.getTime();
         String formatG = format.format(G);
         String formatG = format.format(G);
 
 
-        c.add(Calendar.HOUR, -2);
+        c.add(Calendar.HOUR_OF_DAY, -2);
         Date H = c.getTime();
         Date H = c.getTime();
         String formatH = format.format(H);
         String formatH = format.format(H);
 
 

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

@@ -114,12 +114,12 @@ public class ScreenSiZhuController {
                  Calendar c = Calendar.getInstance();
                  Calendar c = Calendar.getInstance();
                  Date date = new Date();
                  Date date = new Date();
                  c.setTime(date);
                  c.setTime(date);
-                 c.set(Calendar.HOUR, 0);
+                 c.set(Calendar.HOUR_OF_DAY, 0);
                  c.set(Calendar.MINUTE, 0);
                  c.set(Calendar.MINUTE, 0);
                  c.set(Calendar.SECOND, 0);
                  c.set(Calendar.SECOND, 0);
                  Date A = c.getTime();
                  Date A = c.getTime();
                  String formatA = format.format(A);
                  String formatA = format.format(A);
-                 c.set(Calendar.HOUR, +24);
+                 c.set(Calendar.HOUR_OF_DAY, +24);
                  Date d = c.getTime();
                  Date d = c.getTime();
                  String formatD = format.format(d);
                  String formatD = format.format(d);
                  Map<String, Object> params = new HashMap<>();
                  Map<String, Object> params = new HashMap<>();
@@ -156,7 +156,7 @@ public class ScreenSiZhuController {
         Calendar c = Calendar.getInstance();
         Calendar c = Calendar.getInstance();
         Date date = new Date();
         Date date = new Date();
         c.setTime(date);
         c.setTime(date);
-        c.set(Calendar.HOUR, 0);
+        c.set(Calendar.HOUR_OF_DAY, 0);
         c.set(Calendar.MINUTE, 0);
         c.set(Calendar.MINUTE, 0);
         c.set(Calendar.SECOND, 0);
         c.set(Calendar.SECOND, 0);
         Date A = c.getTime();
         Date A = c.getTime();

+ 102 - 0
huimv-farm-video/src/main/java/com/huimv/video/dhicc/entity/SysThreshold.java

@@ -0,0 +1,102 @@
+package com.huimv.video.dhicc.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-30
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+public class SysThreshold extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "farm_id")
+    private Integer farmId;
+
+    /**
+     * 高温
+     */
+    private String maxTem;
+
+    /**
+     * 低温
+     */
+    private String minTem;
+
+    /**
+     * 高湿度
+     */
+    private String maxHum;
+
+    /**
+     * 低湿度
+     */
+    private String minHum;
+
+    /**
+     * 累计流量
+     */
+    private String totalFlow;
+
+    /**
+     * 化学需氧量
+     */
+    @TableField("COD")
+    private String COD;
+
+    /**
+     * 氨氮
+     */
+    private String ammonia;
+
+    /**
+     * 氮
+     */
+    private String nitrogen;
+
+    /**
+     * 磷
+     */
+    private String phosphorus;
+
+
+    /**
+     * ph
+     */
+    private String ph;
+
+
+     /**
+     * 瞬时流量
+     */
+    private String flow;
+
+    /**
+     * 天气高温阈值
+     */
+    private String weatherMaxTem;
+
+
+    /**
+     * 天气低温阈值
+     */
+    private String weatherMinTem;
+
+    private String benconValue;
+
+    private String benconTime;
+
+
+}

+ 17 - 0
huimv-farm-video/src/main/java/com/huimv/video/dhicc/mapper/SysThresholdMapper.java

@@ -0,0 +1,17 @@
+package com.huimv.video.dhicc.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.video.dhicc.entity.SysThreshold;
+
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-30
+ */
+public interface SysThresholdMapper extends BaseMapper<SysThreshold> {
+
+}

+ 17 - 0
huimv-farm-video/src/main/java/com/huimv/video/dhicc/service/ISysThresholdService.java

@@ -0,0 +1,17 @@
+package com.huimv.video.dhicc.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.video.dhicc.entity.SysThreshold;
+
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-30
+ */
+public interface ISysThresholdService extends IService<SysThreshold> {
+
+}

+ 21 - 0
huimv-farm-video/src/main/java/com/huimv/video/dhicc/service/impl/SysThresholdServiceImpl.java

@@ -0,0 +1,21 @@
+package com.huimv.video.dhicc.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import com.huimv.video.dhicc.entity.SysThreshold;
+import com.huimv.video.dhicc.mapper.SysThresholdMapper;
+import com.huimv.video.dhicc.service.ISysThresholdService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-30
+ */
+@Service
+public class SysThresholdServiceImpl extends ServiceImpl<SysThresholdMapper, SysThreshold> implements ISysThresholdService {
+
+}

+ 73 - 2
huimv-farm-video/src/main/java/com/huimv/video/dhicc/timmer/SysTelcomEnentTimmer.java

@@ -4,8 +4,12 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.huimv.video.dhicc.entity.SysTelecom;
 import com.huimv.video.dhicc.entity.SysTelecom;
 import com.huimv.video.dhicc.entity.SysTelecomEvent;
 import com.huimv.video.dhicc.entity.SysTelecomEvent;
+import com.huimv.video.dhicc.entity.SysThreshold;
+import com.huimv.video.dhicc.mapper.SysTelecomEventMapper;
 import com.huimv.video.dhicc.mapper.SysTelecomMapper;
 import com.huimv.video.dhicc.mapper.SysTelecomMapper;
+import com.huimv.video.dhicc.mapper.SysThresholdMapper;
 import com.huimv.video.dhicc.service.ISysTelecomEventService;
 import com.huimv.video.dhicc.service.ISysTelecomEventService;
+import jdk.jfr.Threshold;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
@@ -22,14 +26,80 @@ import java.util.stream.Collectors;
 public class SysTelcomEnentTimmer {
 public class SysTelcomEnentTimmer {
     @Autowired
     @Autowired
     private SysTelecomMapper sysTelecomMapper;
     private SysTelecomMapper sysTelecomMapper;
-
+    @Autowired
+    private SysTelecomEventMapper sysTelecomEventMapperMapper;
     @Autowired
     @Autowired
     private ISysTelecomEventService sysTelecomEventService;
     private ISysTelecomEventService sysTelecomEventService;
 
 
+    @Autowired
+    private SysThresholdMapper sysThresholdMapper ;
+    //检查烘干是否合格--找出时间 阈值直接计算
+   // @Scheduled(cron = " 0/10 * * * * ? ")
+    @Scheduled(cron = " 0 */59 * * * ? ")
+    private void checkOk() {
+
+        //拿对应牧场的阈值
+        LambdaQueryWrapper<SysThreshold> wrapper1 = Wrappers.lambdaQuery();
+        wrapper1.eq(SysThreshold::getFarmId, 1);
+        SysThreshold sysThreshold = sysThresholdMapper.selectOne(wrapper1);//System.out.println(sysTelecoms);
+       // System.out.println("yuzhi"+sysThreshold);
+
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        Calendar TimeDeviceId = Calendar.getInstance();
+        TimeDeviceId.setTime(new Date());
+        TimeDeviceId.add(Calendar.HOUR_OF_DAY, -300);
+        Date began1time = TimeDeviceId.getTime();
+        String startTime1 = format.format(began1time);
+        String endTime1 = format.format(new Date());
+
+        //拿事件
+        LambdaQueryWrapper<SysTelecomEvent> wrapper = Wrappers.lambdaQuery();
+        wrapper.eq(SysTelecomEvent::getFarmId, 1);
+        wrapper.between(SysTelecomEvent::getEventTime, startTime1, endTime1);
+        List<SysTelecomEvent> SysTelecomEvent = sysTelecomEventMapperMapper.selectList(wrapper);//System.out.println(sysTelecoms);
+       // System.out.println("yuzhi"+SysTelecomEvent);
+
+        for (SysTelecomEvent sysTelecomEvent : SysTelecomEvent) {
+           // System.out.println("yuzhi"+sysTelecomEvent);
+            Calendar eventTime = Calendar.getInstance();
+            eventTime.setTime(sysTelecomEvent.getEventTime());
+            //事件时间就是开始时间
+            String EventStartTime = format.format(sysTelecomEvent.getEventTime());
+            //一次烘干50度以上一般在8次左右  就是说40分钟  这里取一小时
+            eventTime.add(Calendar.MINUTE, +60);
+            Date EventEndTime1 = eventTime.getTime();
+            String EventEndTime = format.format(EventEndTime1);
+
+            //查第一次五十度事件之后的数据  统计持续在设定温度之上的事件
+            LambdaQueryWrapper<SysTelecom> wrapper3 = Wrappers.lambdaQuery();
+            wrapper3.eq(SysTelecom::getDeviceId, sysTelecomEvent.getDeviceId());
+            wrapper3.eq(SysTelecom::getFarmId, 1);
+            wrapper3.between(SysTelecom::getTimestamp, EventStartTime, EventEndTime);
+            List<SysTelecom> sysTelecoms = sysTelecomMapper.selectList(wrapper3);//System.out.println(sysTelecoms);
+
+           Integer count  =0;
+            for (SysTelecom sysTelecom : sysTelecoms) {
+                if (Double.parseDouble(sysTelecom.getTemp())>Double.parseDouble(sysThreshold.getBenconValue())){
+                    count++;
+
+                }
+            }
+             if(   Double.parseDouble(sysThreshold.getBenconValue())<  count*5){
+               //  System.out.println("高于阈值温度时间"+count*5);
+                 //正确烘干为1
+                 sysTelecomEvent.setRemark("1");
+             }else { sysTelecomEvent.setRemark("0");}
+
+            sysTelecomEventService.updateById(sysTelecomEvent);
+
+            //System.out.println("事件时间=" + EventStartTime + sysTelecoms);
+        }
+    }
+
        //每小时执行一次
        //每小时执行一次
        //@Scheduled(cron = " 0 */59 * * * ? ")
        //@Scheduled(cron = " 0 */59 * * * ? ")
        // @Scheduled(cron = " 0/5 * * * * ? ")
        // @Scheduled(cron = " 0/5 * * * * ? ")
-       //@Scheduled(cron = " 0/50 * * * * ? ")
+      // @Scheduled(cron = " 0/50 * * * * ? ")
        private void updateBox() {
        private void updateBox() {
            //获得设备列表 查找烘干数据
            //获得设备列表 查找烘干数据
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -83,6 +153,7 @@ public class SysTelcomEnentTimmer {
                     }
                     }
                }
                }
            }
            }
+
        }
        }