Explorar el Código

智慧选育修改4

wwh hace 2 meses
padre
commit
5e69667333

+ 2 - 2
huimv-admin/src/main/java/com/huimv/guowei/admin/group/mapper/GroupDuckInfoMapper.java

@@ -24,11 +24,11 @@ public interface GroupDuckInfoMapper extends BaseMapper<GroupDuckInfo> {
 
     List<BreedingVo> breedingRank(String farmId,String today,String month);
 
-    List<BreedingVo> breedingRank1(String farmId,String yesterday,String today,String month);
+    Page<BreedingVo> breedingRank1(String farmId,String yesterday,String today,String month,Page<BreedingVo> page);
 
     BreedingVo breedingList1(String farmId,String today,String month,String deviceCode,String batchNum);
 
-    List<BreedingVo> breedingList2(String farmId,String yesterday,String today,String month,String deviceCode);
+    Page<BreedingVo> breedingList2(String farmId,String yesterday,String today,String month,String deviceCode,Page<BreedingVo> page);
 
     void updateDayAge();
 

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

@@ -687,18 +687,10 @@ public class GroupDuckInfoServiceImpl extends ServiceImpl<GroupDuckInfoMapper, G
                 Double aDouble = Double.valueOf(record.getFeedingMonth());
                 if (record.getEggMonth() == 0) {
                     record.setFeedEgg("0");
-                    record.setType(1);
                 } else {
                     double v = aDouble / 1000 / record.getEggMonth();
                     DecimalFormat def = new DecimalFormat("0.00");
                     record.setFeedEgg(def.format(v));
-                    if (v <= first) {
-                        record.setType(1);
-                    } else if (v <= second && v > first) {
-                        record.setType(2);
-                    } else {
-                        record.setType(3);
-                    }
                 }
 
             }
@@ -726,14 +718,18 @@ public class GroupDuckInfoServiceImpl extends ServiceImpl<GroupDuckInfoMapper, G
 
     @Override
     public Result listRankList(Map<String, String> paramsMap) {
+        String pageNum = paramsMap.get("pageNum");
+        String pageSize = paramsMap.get("pageSize");
         String farmId = paramsMap.get("farmId");
         String type = paramsMap.get("type");
         String deviceCode = paramsMap.get("deviceCode");
-        List<BreedingVo> list = new ArrayList<>();
+//        List<BreedingVo> list = new ArrayList<>();
         Date timesmorning = DataUill.getTimesmorning();
         Date monthmorning = DataUill.getTimesMonthmorning();
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         GroupThreshold groupThreshold = thresholdMapper.selectOne(new QueryWrapper<GroupThreshold>().eq("farm_id", farmId));
+        Page<BreedingVo> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
+        Page<BreedingVo> breedingVoPage;
         if ("".equals(deviceCode) || null == deviceCode) {
             Double down = 0.00;
             Double upper = 0.00;
@@ -748,7 +744,9 @@ public class GroupDuckInfoServiceImpl extends ServiceImpl<GroupDuckInfoMapper, G
                     upper = Double.MAX_VALUE;
                 }
             }
-            List<BreedingVo> breedingVos = duckInfoMapper.breedingRank1(farmId,sdf.format(DataUill.getYesterdaymorning()),sdf.format(timesmorning), sdf.format(monthmorning));
+             breedingVoPage = duckInfoMapper.breedingRank1(farmId,sdf.format(DataUill.getYesterdaymorning())
+                    ,sdf.format(timesmorning), sdf.format(monthmorning),page);
+            List<BreedingVo> breedingVos = breedingVoPage.getRecords();
             if (breedingVos.size() != 0) {
                 for (BreedingVo record : breedingVos) {
                     Double aDouble = Double.valueOf(record.getFeedingCount());
@@ -766,11 +764,13 @@ public class GroupDuckInfoServiceImpl extends ServiceImpl<GroupDuckInfoMapper, G
             for (BreedingVo breedingVo : breedingVos) {
                 if (Double.valueOf(breedingVo.getFeedEgg()) < upper && Double.valueOf(breedingVo.getFeedEgg()) >= down) {
                     breedingVo.setType(Integer.parseInt(type));
-                    list.add(breedingVo);
+//                    list.add(breedingVo);
                 }
             }
         } else {
-            List<BreedingVo> breedingVos = duckInfoMapper.breedingList2(farmId,sdf.format(DataUill.getYesterdaymorning()),sdf.format(timesmorning), sdf.format(monthmorning), deviceCode);
+             breedingVoPage = duckInfoMapper.breedingList2(farmId,sdf.format(DataUill.getYesterdaymorning())
+                    ,sdf.format(timesmorning), sdf.format(monthmorning), deviceCode,page);
+            List<BreedingVo> breedingVos = breedingVoPage.getRecords();
             if (breedingVos.size() != 0) {
                 for (BreedingVo breedingVo : breedingVos) {
                     if (ObjectUtil.isNotEmpty(breedingVo)) {
@@ -792,11 +792,11 @@ public class GroupDuckInfoServiceImpl extends ServiceImpl<GroupDuckInfoMapper, G
                         }
                         breedingVo.setEggWeight(String.valueOf(breedingVo.getEggCount()*70));
                     }
-                    list.add(breedingVo);
+//                    list.add(breedingVo);
                 }
             }
         }
-        return new Result(ResultCode.SUCCESS, list);
+        return new Result(ResultCode.SUCCESS, breedingVoPage);
     }
 
 

+ 23 - 28
huimv-admin/src/main/resources/mapper/GroupDuckInfoMapper.xml

@@ -46,34 +46,29 @@
     </select>
 
     <select id="breedingRank" 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')
-        '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
-
-        (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}
-        GROUP BY device_code) q
-
-        RIGHT JOIN
-
-        (select b.device_code 'deviceCode',CONVERT(IFNULL(sum(case when b.eating_date >= #{today} then
-        b.eating_value else 0 END),'0'),DECIMAL(10,2)) as 'feedingDay',
-        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}
-        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
-
-        on w.deviceCode=z.deviceCode
+      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>
     <select id="breedingRank1" resultType="com.huimv.guowei.admin.group.entity.vo.BreedingVo">