瀏覽代碼

定时检测机器是否故障,添加查询昨天数据的接口

523096025 4 年之前
父節點
當前提交
8665313491

+ 12 - 1
huimv-ql-farm/huimv-ql-environment/pom.xml

@@ -51,7 +51,18 @@
             <artifactId>druid-spring-boot-starter</artifactId>
             <version>1.2.5</version>
         </dependency>
-<!--        <dependency>-->
+        <dependency>
+            <groupId>commons-collections</groupId>
+            <artifactId>commons-collections</artifactId>
+            <version>3.2.2</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-lang</groupId>
+            <artifactId>commons-lang</artifactId>
+            <version>2.6</version>
+            <scope>compile</scope>
+        </dependency>
+        <!--        <dependency>-->
 <!--            <groupId>org.springframework.boot</groupId>-->
 <!--            <artifactId>spring-boot-starter-log4j2</artifactId>-->
 <!--        </dependency>-->

+ 9 - 2
huimv-ql-farm/huimv-ql-environment/src/main/java/com/huimv/environment/controller/EnvironmentControlController.java

@@ -55,9 +55,16 @@ public class EnvironmentControlController {
 
 
     //定时检测数据库中是否有数据
-//    @Scheduled(cron = "0 0 23 1 * ? ")
-    @RequestMapping(value = "/examine")
+    @Scheduled(cron = "0 0 23 1 * ? ")
+//    @RequestMapping(value = "/examine")
     public void examine(){
         envControlService.examine();
     }
+
+
+    @RequestMapping(value = "/findExamine")
+    public Result findExamine(){
+       return envControlService.findExamine();
+    }
+
 }

+ 2 - 1
huimv-ql-farm/huimv-ql-environment/src/main/java/com/huimv/environment/repo/DeviceUpDataEntityRepo.java

@@ -7,6 +7,7 @@ import org.springframework.data.jpa.repository.Query;
 
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 public interface DeviceUpDataEntityRepo extends JpaRepository<DeviceUpDataEntity, Integer>, JpaSpecificationExecutor<DeviceUpDataEntity> {
 
@@ -25,7 +26,7 @@ public interface DeviceUpDataEntityRepo extends JpaRepository<DeviceUpDataEntity
     List<DeviceUpDataEntity> findAllByTimestampBetween(Double minTemp,Double maxTemp, String today );
 
     @Query(nativeQuery = true,value = "SELECT  any_value(`timestamp`),device_id FROM `device_up_data` WHERE DATE_FORMAT(TIMESTAMP,'%Y-%m-%d')=DATE_FORMAT(?1,'%Y-%m-%d') GROUP BY device_id")
-    List findAllByIdAfter(String today);
+    List<Map<String,String>> findAllByIdAfter(String today);
 
 
 

+ 4 - 0
huimv-ql-farm/huimv-ql-environment/src/main/java/com/huimv/environment/repo/WarningInfoEntityRepo.java

@@ -4,6 +4,10 @@ import com.huimv.environment.entity.WarningInfoEntity;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 
+import java.util.Date;
+import java.util.List;
+
 public interface WarningInfoEntityRepo extends JpaRepository<WarningInfoEntity, Integer>, JpaSpecificationExecutor<WarningInfoEntity> {
 
+    List<WarningInfoEntity> findAllByUploadTimeBetween(Date startTime, Date endTime);
 }

+ 2 - 0
huimv-ql-farm/huimv-ql-environment/src/main/java/com/huimv/environment/service/IEnvironmentControlService.java

@@ -18,4 +18,6 @@ public interface IEnvironmentControlService {
     Result findByZSID();
 
     void examine();
+
+    Result findExamine();
 }

+ 73 - 5
huimv-ql-farm/huimv-ql-environment/src/main/java/com/huimv/environment/service/impl/EnvironmentControlServiceImpl.java

@@ -10,11 +10,12 @@ import com.huimv.common.result.ResultCode;
 import com.huimv.environment.entity.*;
 import com.huimv.environment.repo.*;
 import com.huimv.environment.service.IEnvironmentControlService;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang.ArrayUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
-import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -233,13 +234,80 @@ public class EnvironmentControlServiceImpl implements IEnvironmentControlService
     @Override
     @DS("slave")
     public void examine() {
-        String todayDate = new DateUtil().formatDate(new Date());
-        System.out.println(todayDate);
-        List allByIdAfter = deviceUpDataEntityRepo.findAllByIdAfter(todayDate);
-        System.out.println(allByIdAfter);
+        String today= cn.hutool.core.date.DateUtil.today();
+        System.out.println(today);
+        List<FarmSm> all = farmSmRepository.findAll();
+        List<Map<String,String>> allByIdAfter = deviceUpDataEntityRepo.findAllByIdAfter(today);
+
+        if (allByIdAfter == null){
+            for (FarmSm farmSm : all) {
+                WarningInfoEntity warningInfoEntity = new WarningInfoEntity();
+                warningInfoEntity.setLQID(farmSm.getLqid());
+                warningInfoEntity.setType("故障");
+                warningInfoEntity.setUploadTime(new Date());
+                warningInfoEntityRepo.save(warningInfoEntity);
+            }
+
+        }else {
+            List list1= new ArrayList();
+            List list2= new ArrayList();
+            for (Map<String, String> stringStringMap : allByIdAfter) {
+                String lqid = stringStringMap.get("device_id");
+                list1.add(lqid);
+            }
+            for (FarmSm farmSm : all) {
+                list2.add(farmSm.getLqid());
+            }
+
+            Collection<String> subtract = CollectionUtils.subtract(list2, list1);
+            if (subtract == null){
+                return;
+            }else {
+                for (String s : subtract) {
+                    WarningInfoEntity warningInfoEntity = new WarningInfoEntity();
+                    warningInfoEntity.setLQID(s);
+                    warningInfoEntity.setType("故障");
+                    warningInfoEntity.setUploadTime(new Date());
+                    warningInfoEntityRepo.save(warningInfoEntity);
+                }
+            }
+        }
+
 
     }
 
+    @Override
+    public Result findExamine() {
+
+
+        Date stratTime = cn.hutool.core.date.DateUtil.beginOfDay(cn.hutool.core.date.DateUtil.offsetDay(new Date(),-1));
+        Date  endTime = cn.hutool.core.date.DateUtil.endOfDay(cn.hutool.core.date.DateUtil.offsetDay(new Date(),-1));
+
+        List<WarningInfoEntity> allByUploadTimeBetween = warningInfoEntityRepo.findAllByUploadTimeBetween(stratTime, endTime);
+
+        List list = new ArrayList();
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        for (WarningInfoEntity warningInfoEntity : allByUploadTimeBetween) {
+
+            FarmSm byLqid = farmSmRepository.findByLqid(warningInfoEntity.getLQID());
+            Date uploadTime = warningInfoEntity.getUploadTime();
+
+            String str = warningInfoEntity.getType()+"报警,当天无数据上传";
+
+            Map map = new HashMap();
+            map.put("farmName",byLqid.getName());
+            map.put("time",simpleDateFormat.format(uploadTime));
+            map.put("msg",str);
+            list.add(map);
+        }
+
+
+
+        return new Result(ResultCode.SUCCESS,list);
+    }
+
+
+
   /*  @Override
     public Result getAllFarm() {