523096025 1 年間 前
コミット
9ad26e7713

+ 0 - 1
huimv-admin/src/main/java/com/huimv/guowei/admin/controller/BaseDuckBreedImgController.java

@@ -25,7 +25,6 @@ public class BaseDuckBreedImgController {
     @Autowired
     private IBaseDuckBreedImgService baseDuckBreedImgService;
 
-
     @GetMapping("/list")
     public Result addBuilding() {
         return new Result(ResultCode.SUCCESS,baseDuckBreedImgService.list());

+ 4 - 2
huimv-admin/src/main/java/com/huimv/guowei/admin/timer/DeviceTimer.java

@@ -27,8 +27,9 @@ public class DeviceTimer {
     @Resource
     private IBaseDuckInfoService baseDuckInfoService;
 
-    @Scheduled(cron = "0 */5 * * * ?")
+
 //    @Scheduled(cron = "*/5 * * * * ?")
+    @Scheduled(cron = "0 */5 * * * ?")
     private void saveOnlineDevice(){
         String farmId = "21";
         double rate = 0.0;
@@ -50,8 +51,9 @@ public class DeviceTimer {
         envDeviceOnlineService.save(envDeviceOnline);
     }
 
-    @Scheduled(cron = "0 0 23 * * ?")
+
 //    @Scheduled(cron = "0 * * * * ?")
+    @Scheduled(cron = "0 0 23 * * ?")
     private void setDayAge(){
         System.out.println("--->更新日龄");
         baseDuckInfoService.updateDayAge();

+ 50 - 35
input/src/main/java/com/huimv/input/server/EnvInputServerHandler.java

@@ -14,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.lang.model.element.VariableElement;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.text.ParseException;
@@ -119,8 +120,13 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
         }
 
         try {
-
-        //循环获取体重
+            BigDecimal bigDecimal3 = new BigDecimal(3);
+            BigDecimal bigDecimala3 = new BigDecimal(-3);
+            BigDecimal bigDecimal0 = new BigDecimal(0);
+            BigDecimal bigDecimal10 = new BigDecimal(10);
+            BigDecimal bigDecimal800 = new BigDecimal(-800);
+            BigDecimal bigDecimal2 = new BigDecimal(2);
+            //循环获取体重
         for (int i = 0; i < 60; i++) {
             //当时时间
             Date thenTime = new Date(l - ((60-i)*10000));
@@ -128,10 +134,19 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
             String str1 = s[i * 2 + 11] + s[i * 2 + 10];
             BigDecimal weight = new BigDecimal(Integer.parseInt(str1,16));
             BigDecimal subtract = weight.subtract(lastWeight);
+            if (subtract.compareTo(bigDecimal3)<0&& subtract.compareTo(bigDecimal0)>0){
+                System.out.println("波动小于0.3g,舍弃");
+                continue;
+            }
+            if (subtract.compareTo(bigDecimala3)>0 && subtract.compareTo(bigDecimal0)<0){
+                System.out.println("波动小于0.3g,舍弃");
+                continue;
+            }
+
             int compare = subtract.compareTo(new BigDecimal(1500));
             System.out.println(subtract +"------>"+weight+"----------->"+lastWeight);
             EnvRegularCallFeeding envRegularCallFeeding = new EnvRegularCallFeeding();
-            envRegularCallFeeding.setBattery(new BigDecimal(Integer.parseInt(bat, 16)).divide(new BigDecimal(10), 1, BigDecimal.ROUND_HALF_UP).toString());
+            envRegularCallFeeding.setBattery(new BigDecimal(Integer.parseInt(bat, 16)).divide(bigDecimal10, 1, BigDecimal.ROUND_HALF_UP).toString());
             envRegularCallFeeding.setCallDate(thenTime);
             envRegularCallFeeding.setCallCode(decId+"");
             envRegularCallFeeding.setCallName(envDevice.getDeviceName());
@@ -140,22 +155,22 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
             envRegularCallFeeding.setFarmId(baseDuckInfo.getFarmId());
             envRegularCallFeeding.setUnitId(baseDuckInfo.getUnitId());
             envRegularCallFeeding.setUnitName(baseDuckInfo.getUnitName());
-            if (weight.compareTo(new BigDecimal(0) )==0){
-                envRegularCallFeeding.setDuckFeedingOriginal((new BigDecimal(0)));
+            if (weight.compareTo(bigDecimal0 )==0){
+                envRegularCallFeeding.setDuckFeedingOriginal(bigDecimal0);
             }else {
-                envRegularCallFeeding.setDuckFeedingOriginal(weight.divide(new BigDecimal(10), 1, BigDecimal.ROUND_HALF_UP) );
+                envRegularCallFeeding.setDuckFeedingOriginal(weight.divide(bigDecimal10, 1, BigDecimal.ROUND_HALF_UP) );
             }
-            if (subtract.compareTo(new BigDecimal(0) )==0){
-                envRegularCallFeeding.setDuckWeight((new BigDecimal(0)));
+            if (subtract.compareTo(bigDecimal0 )==0){
+                envRegularCallFeeding.setDuckWeight(bigDecimal0);
             }else {
-                envRegularCallFeeding.setDuckWeight(subtract.divide(new BigDecimal(10), 1, BigDecimal.ROUND_HALF_UP) );
+                envRegularCallFeeding.setDuckWeight(subtract.divide(bigDecimal10, 1, BigDecimal.ROUND_HALF_UP) );
             }
 
             //加料
             if (compare>0){
 
                 EnvRegularCallFeedingCopy envRegularCallFeedingCopy = new EnvRegularCallFeedingCopy();
-                envRegularCallFeedingCopy.setBattery(new BigDecimal(Integer.parseInt(bat, 16)).divide(new BigDecimal(10), 1, BigDecimal.ROUND_HALF_UP).toString());
+                envRegularCallFeedingCopy.setBattery(new BigDecimal(Integer.parseInt(bat, 16)).divide(bigDecimal10, 1, BigDecimal.ROUND_HALF_UP).toString());
                 envRegularCallFeedingCopy.setCallDate(thenTime);
                 envRegularCallFeedingCopy.setCallCode(decId+"");
                 envRegularCallFeedingCopy.setCallName(envDevice.getDeviceName());
@@ -164,15 +179,15 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
                 envRegularCallFeedingCopy.setFarmId(baseDuckInfo.getFarmId());
                 envRegularCallFeedingCopy.setUnitId(baseDuckInfo.getUnitId());
                 envRegularCallFeedingCopy.setUnitName(baseDuckInfo.getUnitName());
-                if (weight.compareTo(new BigDecimal(0) )==0){
-                    envRegularCallFeedingCopy.setDuckFeedingOriginal((new BigDecimal(0)));
+                if (weight.compareTo(bigDecimal0)==0){
+                    envRegularCallFeedingCopy.setDuckFeedingOriginal(bigDecimal0);
                 }else {
-                    envRegularCallFeedingCopy.setDuckFeedingOriginal(weight.divide(new BigDecimal(10), 1, BigDecimal.ROUND_HALF_UP) );
+                    envRegularCallFeedingCopy.setDuckFeedingOriginal(weight.divide(bigDecimal10, 1, BigDecimal.ROUND_HALF_UP) );
                 }
-                if (subtract.compareTo(new BigDecimal(0) )==0){
-                    envRegularCallFeedingCopy.setDuckWeight((new BigDecimal(0)));
+                if (subtract.compareTo(bigDecimal0 )==0){
+                    envRegularCallFeedingCopy.setDuckWeight(bigDecimal0);
                 }else {
-                    envRegularCallFeedingCopy.setDuckWeight(subtract.divide(new BigDecimal(10), 1, BigDecimal.ROUND_HALF_UP) );
+                    envRegularCallFeedingCopy.setDuckWeight(subtract.divide(bigDecimal10, 1, BigDecimal.ROUND_HALF_UP) );
                 }
 
                 envRegularCallFeedingCopy.setEventType(1);
@@ -180,7 +195,7 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
                 lastWeight =weight;
                 continue;
             }
-            int compare50 = subtract.compareTo(new BigDecimal(300));
+            int compare50 = subtract.compareTo(new BigDecimal(800));
             //下蛋
             if (compare50>0){
                 EnvRegularCallEgg envRegularCallEgg = new EnvRegularCallEgg();
@@ -194,30 +209,30 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
                 envRegularCallEgg.setUnitId(baseDuckInfo.getUnitId());
                 envRegularCallEgg.setUnitName(baseDuckInfo.getUnitName());
                 envRegularCallEgg.setEggNum(1);
-                if (weight.compareTo(new BigDecimal(0) )==0){
-                    envRegularCallEgg.setDuckFeedingOriginal((new BigDecimal(0)));
+                if (weight.compareTo(bigDecimal0)==0){
+                    envRegularCallEgg.setDuckFeedingOriginal(bigDecimal0);
                 }else {
-                    envRegularCallEgg.setDuckFeedingOriginal(weight.divide(new BigDecimal(10), 1, BigDecimal.ROUND_HALF_UP) );
+                    envRegularCallEgg.setDuckFeedingOriginal(weight.divide(bigDecimal10, 1, BigDecimal.ROUND_HALF_UP) );
                 }
-                if (subtract.compareTo(new BigDecimal(0) )==0){
-                    envRegularCallEgg.setDuckWeight((new BigDecimal(0)));
+                if (subtract.compareTo(bigDecimal0 )==0){
+                    envRegularCallEgg.setDuckWeight(bigDecimal0);
                 }else {
-                    envRegularCallEgg.setDuckWeight(subtract.divide(new BigDecimal(10), 1, BigDecimal.ROUND_HALF_UP) );
+                    envRegularCallEgg.setDuckWeight(subtract.divide(bigDecimal10, 1, BigDecimal.ROUND_HALF_UP) );
                 }
                 envRegularCallEggMapper.insert(envRegularCallEgg);
                 lastWeight =weight;
                 continue;
             }
 
-            int compare0 = subtract.compareTo(new BigDecimal(0));
+            int compare0 = subtract.compareTo(bigDecimal0);
             //小于零大于负八十
-            int compare80 = subtract.compareTo(new BigDecimal(-80));
+            int compare80 = subtract.compareTo(bigDecimal800);
             //吃料
             if (compare0<0 && compare80 >=0){
-                if (subtract.compareTo(new BigDecimal(0) )==0){
-                    envRegularCallFeeding.setDuckWeight((new BigDecimal(0)));
+                if (subtract.compareTo(bigDecimal0 )==0){
+                    envRegularCallFeeding.setDuckWeight(bigDecimal0);
                 }else {
-                    envRegularCallFeeding.setDuckWeight(subtract.subtract(subtract.multiply(new BigDecimal(2))).divide(new BigDecimal(10), 1, BigDecimal.ROUND_HALF_UP));
+                    envRegularCallFeeding.setDuckWeight(subtract.subtract(subtract.multiply(bigDecimal2)).divide(bigDecimal10, 1, BigDecimal.ROUND_HALF_UP));
                 }
                 envRegularCallFeeding.setEventType(0);
                 envRegularCallFeedingMapper.insert(envRegularCallFeeding);
@@ -226,7 +241,7 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
             }
             //其它
             EnvRegularCallFeedingCopy envRegularCallFeedingCopy = new EnvRegularCallFeedingCopy();
-            envRegularCallFeedingCopy.setBattery(new BigDecimal(Integer.parseInt(bat, 16)).divide(new BigDecimal(10), 1, BigDecimal.ROUND_HALF_UP).toString());
+            envRegularCallFeedingCopy.setBattery(new BigDecimal(Integer.parseInt(bat, 16)).divide(bigDecimal10, 1, BigDecimal.ROUND_HALF_UP).toString());
             envRegularCallFeedingCopy.setCallDate(thenTime);
             envRegularCallFeedingCopy.setCallCode(decId+"");
             envRegularCallFeedingCopy.setCallName(envDevice.getDeviceName());
@@ -235,15 +250,15 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
             envRegularCallFeedingCopy.setFarmId(baseDuckInfo.getFarmId());
             envRegularCallFeedingCopy.setUnitId(baseDuckInfo.getUnitId());
             envRegularCallFeedingCopy.setUnitName(baseDuckInfo.getUnitName());
-            if (weight.compareTo(new BigDecimal(0) )==0){
-                envRegularCallFeedingCopy.setDuckFeedingOriginal((new BigDecimal(0)));
+            if (weight.compareTo(bigDecimal0 )==0){
+                envRegularCallFeedingCopy.setDuckFeedingOriginal(bigDecimal0);
             }else {
-                envRegularCallFeedingCopy.setDuckFeedingOriginal(weight.divide(new BigDecimal(10), 1, BigDecimal.ROUND_HALF_UP) );
+                envRegularCallFeedingCopy.setDuckFeedingOriginal(weight.divide(bigDecimal10, 1, BigDecimal.ROUND_HALF_UP) );
             }
-            if (subtract.compareTo(new BigDecimal(0) )==0){
-                envRegularCallFeedingCopy.setDuckWeight((new BigDecimal(0)));
+            if (subtract.compareTo(bigDecimal0 )==0){
+                envRegularCallFeedingCopy.setDuckWeight(bigDecimal0);
             }else {
-                envRegularCallFeedingCopy.setDuckWeight(subtract.divide(new BigDecimal(10), 1, BigDecimal.ROUND_HALF_UP) );
+                envRegularCallFeedingCopy.setDuckWeight(subtract.divide(bigDecimal10, 1, BigDecimal.ROUND_HALF_UP) );
             }
 
             envRegularCallFeedingCopy.setEventType(2);