wwh пре 1 година
родитељ
комит
3511600bdb

+ 100 - 50
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/BaseDuckInfoServiceImpl.java

@@ -387,11 +387,11 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
 //            QueryWrapper<EnvMoveCall> queryWrapper1 = new QueryWrapper<>();
 //            QueryWrapper<EnvMoveCall> queryWrapper1 = new QueryWrapper<>();
 //            queryWrapper1.eq("chi_num", baseDuckInfo.getChiNum()).
 //            queryWrapper1.eq("chi_num", baseDuckInfo.getChiNum()).
 //                    between(StringUtils.isNotBlank(startTime), "call_date", startTime, endTime);
 //                    between(StringUtils.isNotBlank(startTime), "call_date", startTime, endTime);
-            List<EnvMoveCall> envMoveCalls = moveCallMapper.listPrint(baseDuckInfo.getChiNum(),startTime,endTime);//日龄体重
+            List<EnvMoveCall> envMoveCalls = moveCallMapper.listPrint(baseDuckInfo.getChiNum(), startTime, endTime);//日龄体重
 
 
             QueryWrapper<EnvRegularCallFeeding> queryWrapper2 = new QueryWrapper<>();
             QueryWrapper<EnvRegularCallFeeding> queryWrapper2 = new QueryWrapper<>();
             queryWrapper2.eq("chi_num", baseDuckInfo.getChiNum()).
             queryWrapper2.eq("chi_num", baseDuckInfo.getChiNum()).
-                    between(StringUtils.isNotBlank(startTime), "call_date",startTime+" 00:00:00", endTime+" 23:59:59");
+                    between(StringUtils.isNotBlank(startTime), "call_date", startTime + " 00:00:00", endTime + " 23:59:59");
             List<EnvRegularCallFeeding> feedings = feedingMapper.selectList(queryWrapper2);//采食
             List<EnvRegularCallFeeding> feedings = feedingMapper.selectList(queryWrapper2);//采食
             double count = 0;
             double count = 0;
             for (EnvRegularCallFeeding feeding : feedings) {
             for (EnvRegularCallFeeding feeding : feedings) {
@@ -404,41 +404,41 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
             DateTime date = DateUtil.offsetDay(duckBirthday, 298);
             DateTime date = DateUtil.offsetDay(duckBirthday, 298);
             Date dateTime = new Date(date.getTime());
             Date dateTime = new Date(date.getTime());
             List<EnvRegularCallEgg> envRegularCallEggs = eggMapper.selectList(new QueryWrapper<EnvRegularCallEgg>().lambda()
             List<EnvRegularCallEgg> envRegularCallEggs = eggMapper.selectList(new QueryWrapper<EnvRegularCallEgg>().lambda()
-                    .eq(EnvRegularCallEgg::getDuckNum,baseDuckInfo.getDuckNum())
+                    .eq(EnvRegularCallEgg::getDuckNum, baseDuckInfo.getDuckNum())
                     .ge(EnvRegularCallEgg::getCallDate, dateTime));
                     .ge(EnvRegularCallEgg::getCallDate, dateTime));
-            if (ObjectUtil.isNotEmpty(envRegularCallEggs)){
+            if (ObjectUtil.isNotEmpty(envRegularCallEggs)) {
                 for (EnvRegularCallEgg envRegularCallEgg : envRegularCallEggs) {
                 for (EnvRegularCallEgg envRegularCallEgg : envRegularCallEggs) {
                     totalEgg += envRegularCallEgg.getEggNum();
                     totalEgg += envRegularCallEgg.getEggNum();
-                    if (totalEgg > 3){
+                    if (totalEgg > 3) {
                         resultDate = envRegularCallEgg.getCallDate();
                         resultDate = envRegularCallEgg.getCallDate();
-                        System.out.println("满足日龄的日期为:"+ resultDate);
+                        System.out.println("满足日龄的日期为:" + resultDate);
                         break;
                         break;
                     }
                     }
                 }
                 }
             }
             }
             printEntrty.setBaseDuckInfo(baseDuckInfo);
             printEntrty.setBaseDuckInfo(baseDuckInfo);
             printEntrty.setFeeding(def.format(count));
             printEntrty.setFeeding(def.format(count));
-            Date endDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(endTime+" 23:59:59");
+            Date endDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(endTime + " 23:59:59");
             Date startDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(startTime + " 00:00:00");
             Date startDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(startTime + " 00:00:00");
             System.out.println("开始时间:" + startDate);
             System.out.println("开始时间:" + startDate);
             System.out.println("结束时间:" + endDate);
             System.out.println("结束时间:" + endDate);
             System.out.println("满足日龄日期:" + resultDate);
             System.out.println("满足日龄日期:" + resultDate);
-            if (ObjectUtil.isNotEmpty(resultDate)){
-                if (resultDate.after(endDate)){
+            if (ObjectUtil.isNotEmpty(resultDate)) {
+                if (resultDate.after(endDate)) {
                     System.out.println("满足日龄在结束日期之后");
                     System.out.println("满足日龄在结束日期之后");
                     printEntrty.setEggNum("0");
                     printEntrty.setEggNum("0");
                     printEntrty.setEgging("0");
                     printEntrty.setEgging("0");
                     printEntrty.setAvgWeiht("0");
                     printEntrty.setAvgWeiht("0");
-                }else {
+                } else {
                     QueryWrapper<EnvRegularCallEgg> queryWrapper1 = new QueryWrapper<>();
                     QueryWrapper<EnvRegularCallEgg> queryWrapper1 = new QueryWrapper<>();
-                    queryWrapper.eq("duck_num",baseDuckInfo.getDuckNum());
+                    queryWrapper.eq("duck_num", baseDuckInfo.getDuckNum());
                     EggVo eggVo = new EggVo();
                     EggVo eggVo = new EggVo();
-                    if (resultDate.before(startDate)){
-                        queryWrapper1.between("call_date",startDate,endDate);
+                    if (resultDate.before(startDate)) {
+                        queryWrapper1.between("call_date", startDate, endDate);
                         System.out.println("满足日龄在开始日期之前");
                         System.out.println("满足日龄在开始日期之前");
                         eggVo = eggMapper.print(queryWrapper1);
                         eggVo = eggMapper.print(queryWrapper1);
-                    }else {
-                        queryWrapper1.between("call_date",resultDate,endDate);
+                    } else {
+                        queryWrapper1.between("call_date", resultDate, endDate);
                         System.out.println("满足日龄在开始日期之后");
                         System.out.println("满足日龄在开始日期之后");
                         eggVo = eggMapper.print(queryWrapper1);
                         eggVo = eggMapper.print(queryWrapper1);
                     }
                     }
@@ -446,7 +446,7 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
                     printEntrty.setEgging(eggVo.getTotalWeight());
                     printEntrty.setEgging(eggVo.getTotalWeight());
                     printEntrty.setAvgWeiht(eggVo.getAvgWeight());
                     printEntrty.setAvgWeiht(eggVo.getAvgWeight());
                 }
                 }
-            }else {
+            } else {
                 System.out.println("日龄不满足");
                 System.out.println("日龄不满足");
                 printEntrty.setEggNum("0");
                 printEntrty.setEggNum("0");
                 printEntrty.setEgging("0");
                 printEntrty.setEgging("0");
@@ -462,7 +462,6 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
     }
     }
 
 
 
 
-
     @Override
     @Override
     public void printChi(HttpServletResponse response, Map<String, String> paramsMap) throws Exception {
     public void printChi(HttpServletResponse response, Map<String, String> paramsMap) throws Exception {
         String farmId = paramsMap.get("farmId");
         String farmId = paramsMap.get("farmId");
@@ -724,47 +723,98 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
             queryWrapper2.eq("farm_id", farmId).eq("duck_num", duckNum)
             queryWrapper2.eq("farm_id", farmId).eq("duck_num", duckNum)
                     .orderByDesc("id").last(" limit 1");
                     .orderByDesc("id").last(" limit 1");
             EnvMoveCall call = moveCallMapper.selectOne(queryWrapper2);
             EnvMoveCall call = moveCallMapper.selectOne(queryWrapper2);
-            for (int j = 0; j < 7; j++) {
-                if (envMoveCallVos.size() > j) {
-                    System.out.println("这个是平均值的时间:" + envMoveCallVos.get(j).getCallDate());
-                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-                    String format = sdf.format(envMoveCallVos.get(j).getCallDate());
-                    System.out.println("格式化后的时间:" + format);
-                    EnvMoveCallVo moveCallVo = new EnvMoveCallVo();
-                    moveCallVo.setCallDate(sdf.parse(format));
-                    String start = format + " 00:00:00";
-                    String end = format + " 23:59:59";
-                    QueryWrapper<EnvMoveCall> queryWrapper1 = new QueryWrapper<>();
-                    queryWrapper1.eq("farm_id", farmId).eq("duck_num", duckNum)
-                            .between("call_date", start, end)
-                            .orderByDesc("id")
-                            .last(" limit 1");
-                    EnvMoveCall envMoveCall = moveCallMapper.selectOne(queryWrapper1);
-
-                    if (ObjectUtil.isEmpty(envMoveCall)) {
+            if (envMoveCallVos.size() == 0) {
+                QueryWrapper<EnvMoveCall> queryWrapper1 = new QueryWrapper<>();
+                queryWrapper1.eq("farm_id", farmId);
+                List<EnvMoveCallVo> moveCallVoList = moveCallMapper.listScreen2(queryWrapper1);
+                BigDecimal avgWeight = BigDecimal.ZERO;
+                if (moveCallVoList.size() > 6) {
+                    for (int j = 0; j < 7; j++) {
+                        EnvMoveCallVo moveCallVo = new EnvMoveCallVo();
+                        DateTime dateTime1 = DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -i);
+                        moveCallVo.setCallDate(dateTime1);
                         moveCallVo.setDuckWeight(call.getDuckWeight());
                         moveCallVo.setDuckWeight(call.getDuckWeight());
-                    } else {
-                        moveCallVo.setDuckWeight(envMoveCall.getDuckWeight());
+                        envMoveCallVoList.add(moveCallVo);
+                        if (moveCallVoList.size() > 7) {
+                            moveCallVo.setAvgWeight(moveCallVoList.get(moveCallVoList.size() - 7 + j).getAvgWeight());
+                        } else {
+                            if (ObjectUtil.isNotEmpty(moveCallVoList.get(j))) {
+                                avgWeight = moveCallVoList.get(j).getAvgWeight();
+                            }
+                            moveCallVo.setAvgWeight(avgWeight);
+                        }
+                        envMoveCallVoList.add(moveCallVo);
+                        i--;
                     }
                     }
-
-                    moveCallVo.setAvgWeight(envMoveCallVos.get(j).getAvgWeight());
-                    envMoveCallVoList.add(moveCallVo);
                 } else {
                 } else {
-                    DateTime dateTime1 = DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -i);
-                    EnvMoveCallVo moveCallVo = new EnvMoveCallVo();
-                    moveCallVo.setDuckWeight(call.getDuckWeight());
-                    moveCallVo.setCallDate(dateTime1);
-                    if (ObjectUtil.isNull(envMoveCallVos) || envMoveCallVos.size()< 1){
-                        moveCallVo.setAvgWeight(new BigDecimal(0));
-                    }else  {
-                        moveCallVo.setAvgWeight(envMoveCallVos.get(0).getAvgWeight());
+                    BigDecimal decimal = BigDecimal.ZERO;
+                    for (EnvMoveCallVo moveCallVo : moveCallVoList) {
+                        EnvMoveCallVo moveCallVo1 = new EnvMoveCallVo();
+                        DateTime dateTime1 = DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -i);
+                        moveCallVo1.setCallDate(dateTime1);
+                        moveCallVo1.setDuckWeight(call.getDuckWeight());
+                        decimal = moveCallVo.getAvgWeight();
+                        moveCallVo1.setAvgWeight(decimal);
+                        envMoveCallVoList.add(moveCallVo1);
+                        i--;
                     }
                     }
+                    int a = 7 - moveCallVoList.size();
+                    for (int j = 0; j < 7 - moveCallVoList.size(); j++) {
+                        EnvMoveCallVo moveCallVo1 = new EnvMoveCallVo();
+                        DateTime dateTime1 = DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -a);
+                        moveCallVo1.setCallDate(dateTime1);
+                        moveCallVo1.setDuckWeight(call.getDuckWeight());
+                        moveCallVo1.setAvgWeight(decimal);
+                        envMoveCallVoList.add(moveCallVo1);
+                        a--;
+                    }
+                }
+
 
 
-                    envMoveCallVoList.add(moveCallVo);
+            } else {
+                for (int j = 0; j < 7; j++) {
+                    if (envMoveCallVos.size() > j) {
+                        System.out.println("这个是平均值的时间:" + envMoveCallVos.get(j).getCallDate());
+                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                        String format = sdf.format(envMoveCallVos.get(j).getCallDate());
+                        System.out.println("格式化后的时间:" + format);
+                        EnvMoveCallVo moveCallVo = new EnvMoveCallVo();
+                        moveCallVo.setCallDate(sdf.parse(format));
+                        String start = format + " 00:00:00";
+                        String end = format + " 23:59:59";
+                        QueryWrapper<EnvMoveCall> queryWrapper1 = new QueryWrapper<>();
+                        queryWrapper1.eq("farm_id", farmId).eq("duck_num", duckNum)
+                                .between("call_date", start, end)
+                                .orderByDesc("id")
+                                .last(" limit 1");
+                        EnvMoveCall envMoveCall = moveCallMapper.selectOne(queryWrapper1);
+
+                        if (ObjectUtil.isEmpty(envMoveCall)) {
+                            moveCallVo.setDuckWeight(call.getDuckWeight());
+                        } else {
+                            moveCallVo.setDuckWeight(envMoveCall.getDuckWeight());
+                        }
+
+                        moveCallVo.setAvgWeight(envMoveCallVos.get(j).getAvgWeight());
+                        envMoveCallVoList.add(moveCallVo);
+                    } else {
+                        DateTime dateTime1 = DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -i);
+                        EnvMoveCallVo moveCallVo = new EnvMoveCallVo();
+                        moveCallVo.setDuckWeight(call.getDuckWeight());
+                        moveCallVo.setCallDate(dateTime1);
+                        if (ObjectUtil.isNull(envMoveCallVos) || envMoveCallVos.size() < 1) {
+                            moveCallVo.setAvgWeight(new BigDecimal(0));
+                        } else {
+                            moveCallVo.setAvgWeight(envMoveCallVos.get(0).getAvgWeight());
+                        }
+
+                        envMoveCallVoList.add(moveCallVo);
+                    }
+                    i--;
                 }
                 }
-                i--;
             }
             }
 
 
+
 //            for (EnvMoveCallVo envMoveCallVo : envMoveCallVos) {
 //            for (EnvMoveCallVo envMoveCallVo : envMoveCallVos) {
 //
 //
 //                System.out.println("这个是平均值的时间:"+envMoveCallVo.getCallDate());
 //                System.out.println("这个是平均值的时间:"+envMoveCallVo.getCallDate());