Browse Source

调整烘干事件01

yang 3 years ago
parent
commit
c5b99a7817

+ 3 - 3
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/SysTelecomEventController.java

@@ -57,11 +57,11 @@ public class SysTelecomEventController {
         if(StringUtilsWork.isNotBlank(deviceId)){
         if(StringUtilsWork.isNotBlank(deviceId)){
             wrapper.eq("device_id", deviceId);
             wrapper.eq("device_id", deviceId);
         }
         }
-        if (timeGap<1000*60*60*24){
-            startTime = new Date(endTime.getTime()-1000*60*60*72);
+        if (timeGap<1000*60*60*72){
+            startTime = new Date(endTime.getTime()-1000*60*60*100);
         }
         }
         wrapper.between("event_time", startTime, endTime);
         wrapper.between("event_time", startTime, endTime);
-        wrapper.orderByDesc( "id" );
+        wrapper.orderByDesc( "event_time" );
         Page<SysTelecomEvent> page = sysTelecomEventService.page(new Page< >(current, size), wrapper);
         Page<SysTelecomEvent> page = sysTelecomEventService.page(new Page< >(current, size), wrapper);
         //本要写SQL 现在没时间  这样处理一下问题不大
         //本要写SQL 现在没时间  这样处理一下问题不大
         List<SysTelecomEvent> records = page.getRecords();
         List<SysTelecomEvent> records = page.getRecords();

+ 1 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/timer/SgdTimer.java

@@ -725,3 +725,4 @@ public class SgdTimer {
 
 
 
 
 */
 */
+

+ 26 - 23
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/timer/SysTelcomEnentTimmer.java

@@ -18,8 +18,6 @@ import java.util.stream.Collectors;
 //主要用来生产烘干数据的 时间拿时间
 //主要用来生产烘干数据的 时间拿时间
 @Component
 @Component
 public class SysTelcomEnentTimmer {
 public class SysTelcomEnentTimmer {
-    //首先尝试存储数据进新表
-
     @Autowired
     @Autowired
     private SysTelecomMapper  sysTelecomMapper;
     private SysTelecomMapper  sysTelecomMapper;
 
 
@@ -27,9 +25,8 @@ public class SysTelcomEnentTimmer {
     private ISysTelecomEventService sysTelecomEventService;
     private ISysTelecomEventService sysTelecomEventService;
 
 
        //每小时执行一次
        //每小时执行一次
-       @Scheduled(cron = " 0 */59 * * * ?")
+       @Scheduled(cron = " 0 */59 * * * ? ")
        private void updateBox() {
        private void updateBox() {
-           //有好几个基站需要报警数据   现在默认是 fff15aea9c2a4b749efb68db751eaace   //这一台  后面还会加其他的参数吧
            //获得设备列表 查找烘干数据
            //获得设备列表 查找烘干数据
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            LambdaQueryWrapper<SysTelecom> lambdaQueryWrapper =
            LambdaQueryWrapper<SysTelecom> lambdaQueryWrapper =
@@ -37,35 +34,39 @@ public class SysTelcomEnentTimmer {
            lambdaQueryWrapper
            lambdaQueryWrapper
                    .select(SysTelecom::getDeviceId);
                    .select(SysTelecom::getDeviceId);
            List<String> collect = sysTelecomMapper.selectObjs(lambdaQueryWrapper).stream().map(o -> (String) o).collect(Collectors.toList());
            List<String> collect = sysTelecomMapper.selectObjs(lambdaQueryWrapper).stream().map(o -> (String) o).collect(Collectors.toList());
+           //System.out.println(collect);
            for (String deviceId : collect) {
            for (String deviceId : collect) {
-               Calendar c = Calendar.getInstance();
-               c.setTime(new Date());
-               c.add(Calendar.HOUR, -2);
-               Date began1 = c.getTime();
-               String startTime1 = format.format(new Date());
-               String endTime1 = format.format(began1);
+               Calendar TimeDeviceId = Calendar.getInstance();
+               TimeDeviceId.setTime(new Date());
+               TimeDeviceId.add(Calendar.HOUR, -20);
+               Date began1time = TimeDeviceId.getTime();
+               String startTime1 = format.format(began1time);
+               String endTime1 = format.format(new Date());
                LambdaQueryWrapper<SysTelecom> wrapper = Wrappers.lambdaQuery();
                LambdaQueryWrapper<SysTelecom> wrapper = Wrappers.lambdaQuery();
                    wrapper.eq(SysTelecom::getDeviceId, deviceId);
                    wrapper.eq(SysTelecom::getDeviceId, deviceId);
                    wrapper.eq(SysTelecom::getFarmId, 1);
                    wrapper.eq(SysTelecom::getFarmId, 1);
                    wrapper.between(SysTelecom::getTimestamp, startTime1, endTime1);
                    wrapper.between(SysTelecom::getTimestamp, startTime1, endTime1);
-               List<SysTelecom> sysTelecoms = sysTelecomMapper.selectList(wrapper);
+               List<SysTelecom> sysTelecoms = sysTelecomMapper.selectList(wrapper);//System.out.println(sysTelecoms);
                for (SysTelecom sysTelecom : sysTelecoms) {
                for (SysTelecom sysTelecom : sysTelecoms) {
                     if( Double.parseDouble(sysTelecom.getTemp())>50){
                     if( Double.parseDouble(sysTelecom.getTemp())>50){
+                       // System.out.println("温度"+sysTelecom.getTemp()+sysTelecom.getDeviceId()+sysTelecom.getTimestamp());
                         //产生时间段
                         //产生时间段
-                        Calendar c1 = Calendar.getInstance();
-                        c1.setTime(sysTelecom.getTimestamp());
-                        c1.add(Calendar.MINUTE, -60);
-                        Date began = c.getTime();
-                        String startTime = format.format(began);
-                        c.add(Calendar.MINUTE, +110);
-                        Date endTime11 = c.getTime();
-                        String endTime = format.format(endTime11);
+                        Calendar eventTime = Calendar.getInstance();
+                        eventTime.setTime(sysTelecom.getTimestamp());
+                        eventTime.add(Calendar.MINUTE, -60);
+                        Date began = eventTime.getTime();
+                        String EventStartTime = format.format(began);
+                        eventTime.add(Calendar.MINUTE, +110);
+                        Date EventEndTime1 = eventTime.getTime();
+                        String EventEndTime = format.format(EventEndTime1);
                         //查询在大于50摄氏度这条记录的 前60分钟 后60分钟  时间里,有没有存储过报警事件  有就放弃  没有就加一条
                         //查询在大于50摄氏度这条记录的 前60分钟 后60分钟  时间里,有没有存储过报警事件  有就放弃  没有就加一条
-                        int count1 = sysTelecomEventService.count(Wrappers.<SysTelecomEvent>lambdaQuery()
+                        int count = sysTelecomEventService.count(Wrappers.<SysTelecomEvent>lambdaQuery()
                                 .eq(SysTelecomEvent::getDeviceId,sysTelecom.getDeviceId())
                                 .eq(SysTelecomEvent::getDeviceId,sysTelecom.getDeviceId())
                                 .eq(SysTelecomEvent::getFarmId,sysTelecom.getFarmId())
                                 .eq(SysTelecomEvent::getFarmId,sysTelecom.getFarmId())
-                                .between(SysTelecomEvent::getEventTime, startTime, endTime));
-                        if(count1==0){
+                                .between(SysTelecomEvent::getEventTime, EventStartTime, EventEndTime));
+                       // System.out.println("插结果"+count);
+                        if(count==0){
+                           // System.out.println("保存了一条");
                             SysTelecomEvent sysTelecomEvent = new SysTelecomEvent();
                             SysTelecomEvent sysTelecomEvent = new SysTelecomEvent();
                             sysTelecomEvent.setDeviceId(sysTelecom.getDeviceId());
                             sysTelecomEvent.setDeviceId(sysTelecom.getDeviceId());
                             sysTelecomEvent.setEventTime(sysTelecom.getTimestamp());
                             sysTelecomEvent.setEventTime(sysTelecom.getTimestamp());
@@ -74,9 +75,11 @@ public class SysTelcomEnentTimmer {
                             sysTelecomEvent.setRemark(sysTelecom.getTemp());
                             sysTelecomEvent.setRemark(sysTelecom.getTemp());
                             sysTelecomEventService.save(sysTelecomEvent);
                             sysTelecomEventService.save(sysTelecomEvent);
                         }
                         }
-                        System.out.println("抛弃");
+                       // System.out.println("抛弃");
                     }
                     }
                }
                }
            }
            }
        }
        }
+
+
 }
 }