浏览代码

定时器

Newspaper 1 年之前
父节点
当前提交
96be8c1e2e

+ 42 - 42
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/timer/LayEggTimer.java

@@ -49,48 +49,48 @@ public class LayEggTimer {
             }
         }
     }
-//
-//    @Scheduled(cron = "0 10 0 * * ?")
-////    @Scheduled(cron = "0/10 * * * * ?")
-//    @Transactional
-//    public void saveDetail(){
-//        LocalDate localDate = LocalDate.now();
-//        LocalDate yesterday = localDate.minusDays(1);
-//        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
-//        String date = yesterday.format(formatter);
-//        List<LayEgg> layEggs = layEggMapper.selectList(new QueryWrapper<LayEgg>().lambda().eq(LayEgg::getDate, date).orderByAsc(LayEgg::getUnitName));
-//        for (LayEgg layEgg : layEggs) {
-//            FeedEggDetail feedEggDetail = new FeedEggDetail();
-//            feedEggDetail.setDate(date);
-//            feedEggDetail.setUnitName(layEgg.getUnitName());
-//            String[] split = layEgg.getUnitName().split("舍");
-//            String updatedNumber = String.valueOf(Integer.parseInt(split[0]) + 2);
-//            String newUnitName = updatedNumber + "舍";
-//            FeedUsage feedUsage = feedUsageMapper.selectOne(new QueryWrapper<FeedUsage>().lambda().eq(FeedUsage::getUsedDate, date).eq(FeedUsage::getUnitName, newUnitName));
-//
-//            feedEggDetail.setStock(feedUsage.getStock());
-//            feedEggDetail.setEggProduction(layEgg.getEggProduction().toString());
-//            BigDecimal rate = BigDecimal.ZERO;
-//            BigDecimal stock = new BigDecimal(feedUsage.getStock());
-//            BigDecimal eggProduction = new BigDecimal(layEgg.getEggProduction());
-//            if (!feedUsage.getStock().equals("0")){
-//                rate =  eggProduction.divide(stock,4,RoundingMode.HALF_UP).multiply(new BigDecimal(100)).setScale(2);
-//            }
-//            feedEggDetail.setLayEggRate(rate);
-//            feedEggDetail.setEggWeight(layEgg.getTotalWeight());
-//            feedEggDetail.setAvgWeight(layEgg.getAvgWeight());
-//            feedEggDetail.setFeedConsume(feedUsage.getTotalConsume());
-//
-//            BigDecimal ratio = BigDecimal.ZERO;
-//            BigDecimal feedConsume = feedUsage.getTotalConsume();
-//            if (eggProduction.compareTo(BigDecimal.ZERO) != 0){
-//                ratio =  feedConsume.divide(eggProduction).setScale(2,RoundingMode.HALF_UP);
-//            }
-//            feedEggDetail.setFeedEggRatio(ratio);
-//            feedEggDetailMapper.insert(feedEggDetail);
-//        }
-//
-//    }
+
+    @Scheduled(cron = "0 10 0 * * ?")
+//    @Scheduled(cron = "0/10 * * * * ?")
+    @Transactional
+    public void saveDetail(){
+        LocalDate localDate = LocalDate.now();
+        LocalDate yesterday = localDate.minusDays(1);
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
+        String date = yesterday.format(formatter);
+        List<LayEgg> layEggs = layEggMapper.selectList(new QueryWrapper<LayEgg>().lambda().eq(LayEgg::getDate, date).orderByAsc(LayEgg::getUnitName));
+        for (LayEgg layEgg : layEggs) {
+            FeedEggDetail feedEggDetail = new FeedEggDetail();
+            feedEggDetail.setDate(date);
+            feedEggDetail.setUnitName(layEgg.getUnitName());
+            String[] split = layEgg.getUnitName().split("舍");
+            String updatedNumber = String.valueOf(Integer.parseInt(split[0]) + 2);
+            String newUnitName = updatedNumber + "舍";
+            FeedUsage feedUsage = feedUsageMapper.selectOne(new QueryWrapper<FeedUsage>().lambda().eq(FeedUsage::getUsedDate, date).eq(FeedUsage::getUnitName, newUnitName));
+
+            feedEggDetail.setStock(feedUsage.getStock());
+            feedEggDetail.setEggProduction(layEgg.getEggProduction().toString());
+            BigDecimal rate = BigDecimal.ZERO;
+            BigDecimal stock = new BigDecimal(feedUsage.getStock());
+            BigDecimal eggProduction = new BigDecimal(layEgg.getEggProduction());
+            if (!feedUsage.getStock().equals("0")){
+                rate =  eggProduction.divide(stock,4,RoundingMode.HALF_UP).multiply(new BigDecimal(100)).setScale(2);
+            }
+            feedEggDetail.setLayEggRate(rate);
+            feedEggDetail.setEggWeight(layEgg.getTotalWeight());
+            feedEggDetail.setAvgWeight(layEgg.getAvgWeight());
+            feedEggDetail.setFeedConsume(feedUsage.getTotalConsume());
+
+            BigDecimal ratio = BigDecimal.ZERO;
+            BigDecimal feedConsume = feedUsage.getTotalConsume();
+            if (eggProduction.compareTo(BigDecimal.ZERO) != 0){
+                ratio =  feedConsume.divide(eggProduction,2,RoundingMode.HALF_UP);
+            }
+            feedEggDetail.setFeedEggRatio(ratio);
+            feedEggDetailMapper.insert(feedEggDetail);
+        }
+
+    }
 
     public static void main(String[] args) {
         LocalDate localDate = LocalDate.now();