Newspaper 1 éve
szülő
commit
3ebddadc22

+ 53 - 51
huimv-farm-datacenter-egg/huimv-farm-admin/src/main/java/com/huimv/admin/system/util/Print.java

@@ -1,5 +1,6 @@
 package com.huimv.admin.system.util;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.huimv.admin.system.entity.FeedEggDetail;
 import com.huimv.admin.system.entity.FeedEggPrintVo;
 import com.huimv.admin.system.entity.FeedEggVo;
@@ -30,63 +31,64 @@ public class Print {
             feedEggPrintVo.setTotalFeedConsume(feedEggVo.getTotalFeedConsume() + "吨");
             feedEggPrintVo.setTotalFeedEggRate(feedEggVo.getTotalFeedEggRate().toString()+"g:1");
 
-            List<FeedEggDetail> list1 = feedEggVo.getList();
-            feedEggPrintVo.setStock1(list1.get(0).getStock());
-            feedEggPrintVo.setEggProduction1(list1.get(0).getEggProduction());
-            feedEggPrintVo.setLayEggRate1(list1.get(0).getLayEggRate()+"%");
-            feedEggPrintVo.setEggWeight1(list1.get(0).getEggWeight()+"吨");
-            feedEggPrintVo.setAvgWeight1(list1.get(0).getAvgWeight()+"克");
-            feedEggPrintVo.setFeedConsume1(list1.get(0).getFeedConsume()+"Kg");
-            feedEggPrintVo.setFeedEggRatio1(list1.get(0).getFeedEggRatio()+"g:1");
+            if (ObjectUtil.isNotEmpty(feedEggVo.getList())){
+                List<FeedEggDetail> list1 = feedEggVo.getList();
+                feedEggPrintVo.setStock1(list1.get(0).getStock());
+                feedEggPrintVo.setEggProduction1(list1.get(0).getEggProduction());
+                feedEggPrintVo.setLayEggRate1(list1.get(0).getLayEggRate()+"%");
+                feedEggPrintVo.setEggWeight1(list1.get(0).getEggWeight()+"吨");
+                feedEggPrintVo.setAvgWeight1(list1.get(0).getAvgWeight()+"克");
+                feedEggPrintVo.setFeedConsume1(list1.get(0).getFeedConsume()+"Kg");
+                feedEggPrintVo.setFeedEggRatio1(list1.get(0).getFeedEggRatio()+"g:1");
 
-            feedEggPrintVo.setStock2(list1.get(1).getStock());
-            feedEggPrintVo.setEggProduction2(list1.get(1).getEggProduction());
-            feedEggPrintVo.setLayEggRate2(list1.get(1).getLayEggRate()+"%");
-            feedEggPrintVo.setEggWeight2(list1.get(1).getEggWeight()+"吨");
-            feedEggPrintVo.setAvgWeight2(list1.get(1).getAvgWeight()+"克");
-            feedEggPrintVo.setFeedConsume2(list1.get(1).getFeedConsume()+"Kg");
-            feedEggPrintVo.setFeedEggRatio2(list1.get(1).getFeedEggRatio()+"g:1");
+                feedEggPrintVo.setStock2(list1.get(1).getStock());
+                feedEggPrintVo.setEggProduction2(list1.get(1).getEggProduction());
+                feedEggPrintVo.setLayEggRate2(list1.get(1).getLayEggRate()+"%");
+                feedEggPrintVo.setEggWeight2(list1.get(1).getEggWeight()+"吨");
+                feedEggPrintVo.setAvgWeight2(list1.get(1).getAvgWeight()+"克");
+                feedEggPrintVo.setFeedConsume2(list1.get(1).getFeedConsume()+"Kg");
+                feedEggPrintVo.setFeedEggRatio2(list1.get(1).getFeedEggRatio()+"g:1");
 
-            feedEggPrintVo.setStock3(list1.get(2).getStock());
-            feedEggPrintVo.setEggProduction3(list1.get(2).getEggProduction());
-            feedEggPrintVo.setLayEggRate3(list1.get(2).getLayEggRate()+"%");
-            feedEggPrintVo.setEggWeight3(list1.get(2).getEggWeight()+"吨");
-            feedEggPrintVo.setAvgWeight3(list1.get(2).getAvgWeight()+"克");
-            feedEggPrintVo.setFeedConsume3(list1.get(2).getFeedConsume()+"Kg");
-            feedEggPrintVo.setFeedEggRatio3(list1.get(2).getFeedEggRatio()+"g:1");
+                feedEggPrintVo.setStock3(list1.get(2).getStock());
+                feedEggPrintVo.setEggProduction3(list1.get(2).getEggProduction());
+                feedEggPrintVo.setLayEggRate3(list1.get(2).getLayEggRate()+"%");
+                feedEggPrintVo.setEggWeight3(list1.get(2).getEggWeight()+"吨");
+                feedEggPrintVo.setAvgWeight3(list1.get(2).getAvgWeight()+"克");
+                feedEggPrintVo.setFeedConsume3(list1.get(2).getFeedConsume()+"Kg");
+                feedEggPrintVo.setFeedEggRatio3(list1.get(2).getFeedEggRatio()+"g:1");
 
-            feedEggPrintVo.setStock4(list1.get(3).getStock());
-            feedEggPrintVo.setEggProduction4(list1.get(3).getEggProduction());
-            feedEggPrintVo.setLayEggRate4(list1.get(3).getLayEggRate()+"%");
-            feedEggPrintVo.setEggWeight4(list1.get(3).getEggWeight()+"吨");
-            feedEggPrintVo.setAvgWeight4(list1.get(3).getAvgWeight()+"克");
-            feedEggPrintVo.setFeedConsume4(list1.get(3).getFeedConsume()+"Kg");
-            feedEggPrintVo.setFeedEggRatio4(list1.get(3).getFeedEggRatio()+"g:1");
+                feedEggPrintVo.setStock4(list1.get(3).getStock());
+                feedEggPrintVo.setEggProduction4(list1.get(3).getEggProduction());
+                feedEggPrintVo.setLayEggRate4(list1.get(3).getLayEggRate()+"%");
+                feedEggPrintVo.setEggWeight4(list1.get(3).getEggWeight()+"吨");
+                feedEggPrintVo.setAvgWeight4(list1.get(3).getAvgWeight()+"克");
+                feedEggPrintVo.setFeedConsume4(list1.get(3).getFeedConsume()+"Kg");
+                feedEggPrintVo.setFeedEggRatio4(list1.get(3).getFeedEggRatio()+"g:1");
 
-            feedEggPrintVo.setStock5(list1.get(4).getStock());
-            feedEggPrintVo.setEggProduction5(list1.get(4).getEggProduction());
-            feedEggPrintVo.setLayEggRate5(list1.get(4).getLayEggRate()+"%");
-            feedEggPrintVo.setEggWeight5(list1.get(4).getEggWeight()+"吨");
-            feedEggPrintVo.setAvgWeight5(list1.get(4).getAvgWeight()+"克");
-            feedEggPrintVo.setFeedConsume5(list1.get(4).getFeedConsume()+"Kg");
-            feedEggPrintVo.setFeedEggRatio5(list1.get(4).getFeedEggRatio()+"g:1");
+                feedEggPrintVo.setStock5(list1.get(4).getStock());
+                feedEggPrintVo.setEggProduction5(list1.get(4).getEggProduction());
+                feedEggPrintVo.setLayEggRate5(list1.get(4).getLayEggRate()+"%");
+                feedEggPrintVo.setEggWeight5(list1.get(4).getEggWeight()+"吨");
+                feedEggPrintVo.setAvgWeight5(list1.get(4).getAvgWeight()+"克");
+                feedEggPrintVo.setFeedConsume5(list1.get(4).getFeedConsume()+"Kg");
+                feedEggPrintVo.setFeedEggRatio5(list1.get(4).getFeedEggRatio()+"g:1");
 
-            feedEggPrintVo.setStock6(list1.get(5).getStock());
-            feedEggPrintVo.setEggProduction6(list1.get(5).getEggProduction());
-            feedEggPrintVo.setLayEggRate6(list1.get(5).getLayEggRate()+"%");
-            feedEggPrintVo.setEggWeight6(list1.get(5).getEggWeight()+"吨");
-            feedEggPrintVo.setAvgWeight6(list1.get(5).getAvgWeight()+"克");
-            feedEggPrintVo.setFeedConsume6(list1.get(5).getFeedConsume()+"Kg");
-            feedEggPrintVo.setFeedEggRatio6(list1.get(5).getFeedEggRatio()+"g:1");
-
-            feedEggPrintVo.setStock7(list1.get(6).getStock());
-            feedEggPrintVo.setEggProduction7(list1.get(6).getEggProduction());
-            feedEggPrintVo.setLayEggRate7(list1.get(6).getLayEggRate()+"%");
-            feedEggPrintVo.setEggWeight7(list1.get(6).getEggWeight()+"吨");
-            feedEggPrintVo.setAvgWeight7(list1.get(6).getAvgWeight()+"克");
-            feedEggPrintVo.setFeedConsume7(list1.get(6).getFeedConsume()+"Kg");
-            feedEggPrintVo.setFeedEggRatio7(list1.get(6).getFeedEggRatio()+"g:1");
+                feedEggPrintVo.setStock6(list1.get(5).getStock());
+                feedEggPrintVo.setEggProduction6(list1.get(5).getEggProduction());
+                feedEggPrintVo.setLayEggRate6(list1.get(5).getLayEggRate()+"%");
+                feedEggPrintVo.setEggWeight6(list1.get(5).getEggWeight()+"吨");
+                feedEggPrintVo.setAvgWeight6(list1.get(5).getAvgWeight()+"克");
+                feedEggPrintVo.setFeedConsume6(list1.get(5).getFeedConsume()+"Kg");
+                feedEggPrintVo.setFeedEggRatio6(list1.get(5).getFeedEggRatio()+"g:1");
 
+                feedEggPrintVo.setStock7(list1.get(6).getStock());
+                feedEggPrintVo.setEggProduction7(list1.get(6).getEggProduction());
+                feedEggPrintVo.setLayEggRate7(list1.get(6).getLayEggRate()+"%");
+                feedEggPrintVo.setEggWeight7(list1.get(6).getEggWeight()+"吨");
+                feedEggPrintVo.setAvgWeight7(list1.get(6).getAvgWeight()+"克");
+                feedEggPrintVo.setFeedConsume7(list1.get(6).getFeedConsume()+"Kg");
+                feedEggPrintVo.setFeedEggRatio7(list1.get(6).getFeedEggRatio()+"g:1");
+            }
             list.add(feedEggPrintVo);
         }
         context.putVar("list", list);

+ 0 - 7
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/FeedEggDetailServiceImpl.java

@@ -49,13 +49,6 @@ public class FeedEggDetailServiceImpl extends ServiceImpl<FeedEggDetailMapper, F
         Iterator<FeedEggVo> iterator = records.iterator();
         while (iterator.hasNext()){
             FeedEggVo feedEggVo = iterator.next();
-            BigDecimal totalEggWeight = feedEggVo.getTotalEggWeight();
-            BigDecimal totalFeedConsume = feedEggVo.getTotalFeedConsume();
-            BigDecimal rate = BigDecimal.ZERO;
-            if (totalEggWeight.compareTo(BigDecimal.ZERO) != 0){
-                rate = totalFeedConsume.divide(totalEggWeight,2, RoundingMode.HALF_UP);
-            }
-            feedEggVo.setTotalFeedEggRate(rate);
             List<FeedEggDetail> feedEggDetails = feedEggDetailMapper.selectList(new QueryWrapper<FeedEggDetail>().lambda().eq(FeedEggDetail::getDate, feedEggVo.getDate()).orderByAsc(FeedEggDetail::getUnitName));
             if (ObjectUtil.isNotEmpty(feedEggDetails)){
                 feedEggVo.setList(feedEggDetails);

+ 7 - 1
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/resources/mapper/FeedEggDetailMapper.xml

@@ -10,7 +10,13 @@
         SELECT
             e.date,
             e.total_egg_weight AS 'totalEggWeight',
-            COALESCE(ROUND(u.total_feed_consume / 1000, 2), 0) AS 'totalFeedConsume'
+            COALESCE(ROUND(u.total_feed_consume / 1000, 2), 0) AS 'totalFeedConsume',
+            ROUND(
+                CASE
+                WHEN e.egg_production IS NULL OR e.egg_production = 0 THEN 0
+                ELSE COALESCE(u.total_feed_consume, 0) * 1000 / e.egg_production
+                END, 2
+            ) AS 'totalFeedEggRate'
         FROM
             (SELECT
                 DATE AS DATE,