Преглед на файлове

定时修改异常状态

523096025 преди 3 години
родител
ревизия
4a4f21c15b

+ 3 - 2
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/controller/BasePigpenController.java

@@ -6,6 +6,7 @@ import java.util.stream.Collectors;
 import com.huimv.manager.result.R;
 import com.huimv.manager.utils.PageUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.web.bind.annotation.*;
 
 import com.huimv.manager.entity.BasePigpenEntity;
@@ -155,10 +156,10 @@ public class BasePigpenController {
     /*
      *更新栋舍信息
      */
-    @RequestMapping("/test")
+        @Scheduled(cron = "0 0/10 * * * ?")
+//    @RequestMapping("/test")
     public void test(){
          basePigpenService.test();
-
     }
 
 }

+ 36 - 13
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/service/impl/BasePigpenServiceImpl.java

@@ -17,7 +17,11 @@ import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.awt.*;
+import java.text.DecimalFormat;
+import java.text.NumberFormat;
 import java.util.*;
+import java.util.List;
 import java.util.stream.Collectors;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -272,20 +276,39 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenDao, BasePigpen
                 basePigpenEntity.setPigpenTemp(null);
                 baseMapper.updateById(basePigpenEntity);
             }else {
-                CollectorRegisterEntity collectorRegisterEntity = collectorRegisterEntities.get(0);
-                String deviceCode = collectorRegisterEntity.getDeviceCode();
-                QueryWrapper<DeviceTempEntity> deviceTempEntityQueryWrapper = new QueryWrapper<>();
-
-                deviceTempEntityQueryWrapper.eq("device_code",deviceCode);
-                deviceTempEntityQueryWrapper.orderByDesc("id");
-                deviceTempEntityQueryWrapper.last("limit 1");
-                DeviceTempEntity deviceTempEntity = deviceTempDao.selectOne(deviceTempEntityQueryWrapper);
-                Double tempValue = deviceTempEntity.getTempValue();
-                basePigpenEntity.setPigpenTemp( tempValue );
-                if (tempValue > 35.0||tempValue<10.0){
-                    basePigpenEntity.setTempAnomaly(0);
+                Double tempValue =0.0;
+                Integer count = 0;
+                for (CollectorRegisterEntity collectorRegisterEntity : collectorRegisterEntities) {
+                    String deviceCode = collectorRegisterEntity.getDeviceCode();
+                    QueryWrapper<DeviceTempEntity> deviceTempEntityQueryWrapper = new QueryWrapper<>();
+                    deviceTempEntityQueryWrapper.eq("device_code",deviceCode);
+                    deviceTempEntityQueryWrapper.orderByDesc("id");
+                    deviceTempEntityQueryWrapper.last("limit 1");
+                    DeviceTempEntity deviceTempEntity = deviceTempDao.selectOne(deviceTempEntityQueryWrapper);
+                    if (deviceTempEntity == null){
+                        collectorRegisterEntity.setAcqStatus(2);
+                        collectorRegisterDao.updateById(collectorRegisterEntity);
+                    }
+                    if (deviceTempEntity != null){
+                        tempValue += deviceTempEntity.getTempValue();
+                        count++;
+                    }
                 }
-                baseMapper.updateById(basePigpenEntity);
+
+                if (count != 0){
+                    NumberFormat nf = NumberFormat.getNumberInstance();
+
+                    nf.setMaximumFractionDigits(2);
+                    double temp = Double.parseDouble(nf.format(tempValue / count));
+                    System.out.println(temp);
+                    basePigpenEntity.setPigpenTemp(  temp);
+                    if (temp > 35.0||temp<10.0){
+                        basePigpenEntity.setTempAnomaly(0);
+                    }
+                    baseMapper.updateById(basePigpenEntity);
+                }
+
+
             }
 
         }

+ 1 - 1
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/service/impl/CollectorRegisterServiceImpl.java

@@ -184,7 +184,7 @@ public class CollectorRegisterServiceImpl extends ServiceImpl<CollectorRegisterD
         for (CollectorRegisterEntity collectorRegisterEntity : list) {
             String deviceCode = collectorRegisterEntity.getDeviceCode();
             QueryWrapper<EartagDataEntity> wrapper = new QueryWrapper<>();
-            wrapper.eq("",deviceCode);
+            wrapper.eq("device_code",deviceCode);
             Date now = new Date();
             wrapper.ge("time", DateUtil.offsetMinute(now,-10));
             Integer integer = eartagDataDao.selectCount(wrapper);