Newspaper 1 rok temu
rodzic
commit
2526de4df4

+ 58 - 0
huimv-admin/src/main/java/com/huimv/admin/timer/EnergyFeedTimer.java

@@ -0,0 +1,58 @@
+package com.huimv.admin.timer;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.admin.entity.BasePigpen;
+import com.huimv.admin.entity.EnergyData;
+import com.huimv.admin.entity.ProdStock;
+import com.huimv.admin.mapper.BaseFarmMapper;
+import com.huimv.admin.mapper.BasePigpenMapper;
+import com.huimv.admin.mapper.EnergyDataMapper;
+import com.huimv.admin.mapper.ProdStockMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.Date;
+
+@Configuration
+@EnableScheduling
+public class EnergyFeedTimer {
+    @Autowired
+    private BasePigpenMapper basePigpenMapper;
+    @Autowired
+    private EnergyDataMapper energyDataMapper;
+    @Autowired
+    private ProdStockMapper prodStockMapper;
+
+    @Scheduled(cron = "5 0 0 * * ? ")
+    private void action(){
+        BigDecimal feedConsume;
+        BasePigpen basePigpen = basePigpenMapper.selectOne(new QueryWrapper<BasePigpen>().lambda()
+                .eq(BasePigpen::getFType, 3)
+                .eq(BasePigpen::getFarmId, 26).last("Limit 1"));
+        if (ObjectUtil.isNotEmpty(basePigpen)){
+            EnergyData energyData = new EnergyData();
+            ProdStock prodStock = prodStockMapper.selectOne(new QueryWrapper<ProdStock>().lambda()
+                    .eq(ProdStock::getFarmId, 26)
+                    .eq(ProdStock::getDisplayType, 0).orderByDesc(ProdStock::getCreatTime).last("LIMIT 1"));
+            if (ObjectUtil.isNotEmpty(prodStock)){
+                feedConsume = BigDecimal.valueOf((800*2.5)*prodStock.getZcl()/1000000);
+                feedConsume = feedConsume.setScale(2, RoundingMode.HALF_UP);
+                energyData.setFeedValue(feedConsume.toString());
+                energyData.setFarmId(26);
+                energyData.setCreateDate(new Date());
+                energyData.setDisplayType(1);
+                energyData.setUnitId(basePigpen.getId());
+                energyData.setUnitName(basePigpen.getBuildName());
+                energyDataMapper.insert(energyData);
+            }
+
+        }
+
+
+    }
+}

+ 3 - 0
huimv-admin/src/main/java/com/huimv/admin/timer/EnergyTimer.java

@@ -30,6 +30,8 @@ public class EnergyTimer {
     private EnergyWarningThresholdMapper warningThresholdMapper;
     @Autowired
     private EnergyWarningInfoMapper infoMapper;
+    @Autowired
+    private BaseFarmMapper baseFarmMapper;
 
     //    能耗数据
     @Scheduled(cron = "0 0 */1 * * ? ")
@@ -148,5 +150,6 @@ public class EnergyTimer {
 
         }
 
+
     }
 }

+ 28 - 28
huimv-admin/src/main/java/com/huimv/admin/timer/EnvTimer.java

@@ -226,34 +226,34 @@ public class EnvTimer {
             envDataService.save(envData);
         }
 
-//        Integer farmId3 = 26;
-//        List<BasePigpen> list3 = basePigpenService.list(new QueryWrapper<BasePigpen>().eq("farm_id", farmId3).eq("f_type", 3));
-////        String url="https://restapi.amap.com/v3/weather/weatherInfo?parameters&key=c1d8179ed2dda7ed48c56bed06c0c86e&city=330782&extensions=base&output=JSON";
-////        String result = HttpUtil.get(url);
-////        WeatherDto weatherDto = JSONUtil.toBean(result, WeatherDto.class);
-////        List<WeatherLives> lives = weatherDto.getLives();
-////        WeatherLives weatherLives = lives.get(0);
-////        int humidity = Integer.parseInt(weatherLives.getHumidity());
-////        int temperature = Integer.parseInt(weatherLives.getTemperature());
-//
-//        for (BasePigpen basePigpen : list3) {
-//            EnvData envData = new EnvData();
-//            envData.setCreateTime(new Date());
-//            envData.setFarmId(farmId3);
-//            envData.setUnitId(basePigpen.getId());
-//            EnvDevice envDevice = new EnvDevice();
-//            envDevice.setUnitName(basePigpen.getBuildName());
-//            envDevice.setUnitId(basePigpen.getId());
-//            envDevice.setFarmId(farmId3);
-//
-//            String tem = NumberUtils.getNum(17, 23, 1);
-//            String hum = NumberUtils.getNum(65, 80, 0);
-//            saveTemWarning(tem, envWarningThreshold2, envDevice, farmId3);
-//            envData.setEnvTemp(tem);
-//            saveHumWarning(hum, envWarningThreshold2, envDevice, farmId3);
-//            envData.setEnvHum(hum);
-//            envDataService.save(envData);
-//        }
+        Integer farmId3 = 26;
+        List<BasePigpen> list3 = basePigpenService.list(new QueryWrapper<BasePigpen>().eq("farm_id", farmId3).eq("f_type", 3));
+        String url="https://restapi.amap.com/v3/weather/weatherInfo?parameters&key=c1d8179ed2dda7ed48c56bed06c0c86e&city=330782&extensions=base&output=JSON";
+        String result = HttpUtil.get(url);
+        WeatherDto weatherDto = JSONUtil.toBean(result, WeatherDto.class);
+        List<WeatherLives> lives = weatherDto.getLives();
+        WeatherLives weatherLives = lives.get(0);
+//        int humidity = Integer.parseInt(weatherLives.getHumidity());
+//        int temperature = Integer.parseInt(weatherLives.getTemperature());
+
+        for (BasePigpen basePigpen : list3) {
+            EnvData envData = new EnvData();
+            envData.setCreateTime(new Date());
+            envData.setFarmId(farmId3);
+            envData.setUnitId(basePigpen.getId());
+            EnvDevice envDevice = new EnvDevice();
+            envDevice.setUnitName(basePigpen.getBuildName());
+            envDevice.setUnitId(basePigpen.getId());
+            envDevice.setFarmId(farmId3);
+
+            String tem = NumberUtils.getNum(17, 23, 1);
+            String hum = NumberUtils.getNum(65, 80, 0);
+            saveTemWarning(tem, envWarningThreshold2, envDevice, farmId3);
+            envData.setEnvTemp(tem);
+            saveHumWarning(hum, envWarningThreshold2, envDevice, farmId3);
+            envData.setEnvHum(hum);
+            envDataService.save(envData);
+        }
 
         Integer farmId4 = 27;
         List<BasePigpen> list4 = basePigpenService.list(new QueryWrapper<BasePigpen>().eq("farm_id", farmId4).eq("f_type", 3));