Selaa lähdekoodia

智慧选育修改4

wwh 1 kuukausi sitten
vanhempi
commit
425af3f2c9

+ 9 - 19
huimv-admin/src/main/java/com/huimv/guowei/admin/group/service/impl/GroupDuckInfoServiceImpl.java

@@ -682,6 +682,9 @@ public class GroupDuckInfoServiceImpl extends ServiceImpl<GroupDuckInfoMapper, G
         Date monthmorning = DataUill.getTimesMonthmorning();
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         List<BreedingVo> breedingVos = duckInfoMapper.breedingRank(farmId, sdf.format(timesmorning), sdf.format(monthmorning));
+        Integer firstCount = 0;
+        Integer secondCount = 0;
+        Integer threeCont = 0;
         if (breedingVos.size() != 0) {
             for (BreedingVo record : breedingVos) {
                 Double aDouble = Double.valueOf(record.getFeedingMonth());
@@ -692,17 +695,9 @@ public class GroupDuckInfoServiceImpl extends ServiceImpl<GroupDuckInfoMapper, G
                     DecimalFormat def = new DecimalFormat("0.00");
                     record.setFeedEgg(def.format(v));
                 }
-
-            }
-        }
-        Integer firstCount = 0;
-        Integer secondCount = 0;
-        Integer threeCont = 0;
-        if (breedingVos.size() != 0) {
-            for (BreedingVo breedingVo : breedingVos) {
-                if (Double.valueOf(breedingVo.getFeedEgg()) <= first) {
+                if (Double.valueOf(record.getFeedEgg()) <= first) {
                     firstCount = firstCount + 1;
-                } else if (Double.valueOf(breedingVo.getFeedEgg()) <= second && Double.valueOf(breedingVo.getFeedEgg()) > first) {
+                } else if (Double.valueOf(record.getFeedEgg()) <= second && Double.valueOf(record.getFeedEgg()) > first) {
                     secondCount = secondCount + 1;
                 } else {
                     threeCont = threeCont + 1;
@@ -723,7 +718,6 @@ public class GroupDuckInfoServiceImpl extends ServiceImpl<GroupDuckInfoMapper, G
         String farmId = paramsMap.get("farmId");
         String type = paramsMap.get("type");
         String deviceCode = paramsMap.get("deviceCode");
-//        List<BreedingVo> list = new ArrayList<>();
         Date timesmorning = DataUill.getTimesmorning();
         Date monthmorning = DataUill.getTimesMonthmorning();
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -758,15 +752,12 @@ public class GroupDuckInfoServiceImpl extends ServiceImpl<GroupDuckInfoMapper, G
                         record.setFeedEgg(def.format(v));
                     }
                     record.setEggWeight(String.valueOf(record.getEggCount()*70));
-
-                }
-            }
-            for (BreedingVo breedingVo : breedingVos) {
-                if (Double.valueOf(breedingVo.getFeedEgg()) < upper && Double.valueOf(breedingVo.getFeedEgg()) >= down) {
-                    breedingVo.setType(Integer.parseInt(type));
-//                    list.add(breedingVo);
+                    if (Double.valueOf(record.getFeedEgg()) < upper && Double.valueOf(record.getFeedEgg()) >= down) {
+                        record.setType(Integer.parseInt(type));
+                    }
                 }
             }
+
         } else {
              breedingVoPage = duckInfoMapper.breedingList2(farmId,sdf.format(DataUill.getYesterdaymorning())
                     ,sdf.format(timesmorning), sdf.format(monthmorning), deviceCode,page);
@@ -792,7 +783,6 @@ public class GroupDuckInfoServiceImpl extends ServiceImpl<GroupDuckInfoMapper, G
                         }
                         breedingVo.setEggWeight(String.valueOf(breedingVo.getEggCount()*70));
                     }
-//                    list.add(breedingVo);
                 }
             }
         }

+ 12 - 30
huimv-admin/src/main/resources/mapper/GroupDuckInfoMapper.xml

@@ -46,41 +46,23 @@
     </select>
 
     <select id="breedingRank" resultType="com.huimv.guowei.admin.group.entity.vo.BreedingVo">
-      SELECT
-    z.device_code deviceCode,
-    COALESCE(q.eggMonth, 0) AS eggMonth,
-    CAST(COALESCE(w.feedingMonth, 0) AS DECIMAL(10,2)) AS feedingMonth
-FROM group_duck_info z
-LEFT JOIN (
-    SELECT
-        device_code,
-        SUM(CASE WHEN egg_date >= #{month} THEN egg_num ELSE 0 END) AS eggMonth
-    FROM group_egg
-    WHERE farm_id = #{farmId}
-    GROUP BY device_code
-) q ON z.device_code = q.device_code
-LEFT JOIN (
-    SELECT
-        device_code,
-        SUM(CASE WHEN eating_date >= #{month} THEN eating_value ELSE 0 END) AS feedingMonth
-    FROM group_eating_generate
-    WHERE farm_id = #{farmId}
-    GROUP BY device_code
-) w ON z.device_code = w.device_code
-WHERE z.farm_id = #{farmId}
-GROUP BY z.device_code;
+    select c.device_code,SUM(CASE WHEN a.egg_date >= #{month} THEN egg_num ELSE 0 END) AS eggMonth
+    ,convert(SUM(CASE WHEN b.eating_date >= #{month} THEN eating_value ELSE 0 END),decimal(10,2)) AS feedingMonth from group_duck_info c
+    INNER JOIN group_egg a ON c.device_code=a.device_code
+    INNER JOIN group_eating_generate b ON c.device_code=b.device_code
+GROUP BY c.device_code
 
     </select>
     <select id="breedingRank1" resultType="com.huimv.guowei.admin.group.entity.vo.BreedingVo">
-        select IFNULL(q.eggDay,'0') 'eggDay',IFNULL(w.feedingDay,'0') 'feedingDay',z.deviceCode 'deviceCode',IFNULL(q.eggCount,'0') 'eggCount',IFNULL(q.eggMonth,'0')
+   select IFNULL(q.eggDay,'0') 'eggDay',IFNULL(w.feedingDay,'0') 'feedingDay',z.deviceCode 'deviceCode',IFNULL(q.eggCount,'0') 'eggCount',IFNULL(q.eggMonth,'0')
         'eggMonth',
         convert(IFNULL(w.feedingCount,'0'),decimal(10,2)) 'feedingCount',convert(IFNULL(w.feedingMonth,'0'),decimal(10,2)) 'feedingMonth'
-        ,z.dayAge 'dayAge',z.unitId 'unitId',z.unitName 'unitName',z.batchNum 'batchNum',z.id 'id',z.deviceCode 'deviceCode' FROM
+        ,z.dayAge 'dayAge',z.unitId 'unitId',z.unitName 'unitName',z.batchNum 'batchNum' FROM
 
         (select g.device_code 'deviceCode', max(g.egg_count) 'eggCount',
         IFNULL(sum(case when g.egg_date >= #{today} then g.egg_num else 0 END),'0') as 'eggDay',
-        IFNULL(sum(case when g.egg_date >= #{month} then g.egg_num else 0 END),'0') as 'eggMonth' from
-        group_egg g where farm_id=#{farmId}
+        IFNULL(sum(case when g.egg_date >=#{month} then g.egg_num else 0 END),'0') as 'eggMonth' from
+        group_egg g
         GROUP BY device_code) q
 
         RIGHT JOIN
@@ -90,14 +72,14 @@ GROUP BY z.device_code;
         CONVERT(IFNULL(sum(case when b.eating_date >= #{month} then b.eating_value else 0
         END),'0'),DECIMAL(10,2)) as 'feedingMonth'
         ,IFNULL(sum(b.eating_value),'0') 'feedingCount'
-        FROM group_eating_generate b WHERE farm_id=#{farmId}
+        FROM group_eating_generate b
         GROUP BY device_code) w
         on q.deviceCode=w.deviceCode
 
         RIGHT JOIN
 
-        (select id 'id', device_code 'deviceCode',unit_id 'unitId',unit_name 'unitName',day_num 'dayAge',batch_num
-        'batchNum' FROM group_duck_info where farm_id=#{farmId}  GROUP BY device_code) z
+        (select  device_code 'deviceCode',unit_id 'unitId',unit_name 'unitName',day_num 'dayAge',batch_num
+        'batchNum' FROM group_duck_info    GROUP BY device_code) z
 
         on w.deviceCode=z.deviceCode