|
@@ -386,13 +386,11 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
|
|
|
jsonObject.put("feedInfo", jsonArray);
|
|
|
return new Result(ResultCode.SUCCESS, jsonObject);
|
|
|
}
|
|
|
-
|
|
|
@Override
|
|
|
- public Result listDuckByScreen2(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
|
|
|
+ public Result listDuckByScreen2(HttpServletRequest httpServletRequest, Map<String, String> paramsMap){
|
|
|
String farmId = paramsMap.get("farmId");
|
|
|
String duckNum = paramsMap.get("duckNum");
|
|
|
DateTime dateTime = DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -7);
|
|
|
-
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
List<EnvMoveCallVo> envMoveCallVoList = new ArrayList<>();
|
|
|
QueryWrapper<EnvMoveCall> callQueryWrapper = new QueryWrapper<>();
|
|
@@ -420,87 +418,166 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
|
|
|
System.out.println("这个是平均值的时间:"+envMoveCallVo.getCallDate());
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
String format = sdf.format(envMoveCallVo.getCallDate());
|
|
|
+
|
|
|
System.out.println("格式化后的时间:"+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(BigDecimal.ZERO);
|
|
|
+
|
|
|
moveCallVo.setCallDate(envMoveCallVo.getCallDate());
|
|
|
+
|
|
|
} else {
|
|
|
+
|
|
|
moveCallVo.setDuckWeight(envMoveCall.getDuckWeight());
|
|
|
+
|
|
|
moveCallVo.setCallDate(envMoveCallVo.getCallDate());
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
moveCallVo.setAvgWeight(envMoveCallVo.getAvgWeight());
|
|
|
+
|
|
|
envMoveCallVoList.add(moveCallVo);
|
|
|
- i++;
|
|
|
+
|
|
|
+ i++;
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
jsonObject.put("weight", envMoveCallVoList);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
List<EnvRegularCallFeedingVo> feedingVoList = new ArrayList<>();
|
|
|
+
|
|
|
QueryWrapper<EnvRegularCallFeeding> feedingQueryWrapper = new QueryWrapper<>();
|
|
|
+
|
|
|
feedingQueryWrapper.eq("farm_id", farmId).eq("duck_num", duckNum);
|
|
|
+
|
|
|
List<EnvRegularCallFeeding> feedings = feedingMapper.selectList(feedingQueryWrapper);
|
|
|
+
|
|
|
if (feedings.size() == 0) {
|
|
|
+
|
|
|
QueryWrapper<EnvRegularCallFeeding> queryWrapper1 = new QueryWrapper<>();
|
|
|
+
|
|
|
queryWrapper1.eq("farm_id", farmId).eq("event_type", 0).ge("call_date",dateTime);
|
|
|
+
|
|
|
List<EnvRegularCallFeedingVo> envRegularCallFeedingVos = feedingMapper.listScreen2(queryWrapper1);
|
|
|
+
|
|
|
queryWrapper1.groupBy("duck_num");
|
|
|
+
|
|
|
List<EnvRegularCallFeeding> list = feedingMapper.selectList(queryWrapper1);
|
|
|
+
|
|
|
for (EnvRegularCallFeedingVo envRegularCallFeedingVo : envRegularCallFeedingVos) {
|
|
|
+
|
|
|
EnvRegularCallFeedingVo feedingVo = new EnvRegularCallFeedingVo();
|
|
|
+
|
|
|
BigDecimal value = BigDecimal.valueOf(envRegularCallFeedingVo.getDuckWeight());
|
|
|
+
|
|
|
BigDecimal decimal = BigDecimal.valueOf(list.size());
|
|
|
+
|
|
|
BigDecimal decimal1 = value.divide(decimal, 2);//pingjun
|
|
|
+
|
|
|
feedingVo.setAvgWeight(decimal1);
|
|
|
+
|
|
|
feedingVo.setDuckWeight(0);
|
|
|
+
|
|
|
feedingVo.setCallDate(envRegularCallFeedingVo.getCallDate());
|
|
|
+
|
|
|
feedingVoList.add(feedingVo);
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
jsonObject.put("feed", feedingVoList);
|
|
|
+
|
|
|
} else {
|
|
|
+
|
|
|
QueryWrapper<EnvRegularCallFeeding> queryWrapper1 = new QueryWrapper<>();
|
|
|
+
|
|
|
queryWrapper1.eq("farm_id", farmId).eq("event_type", 0);
|
|
|
+
|
|
|
queryWrapper1.groupBy("duck_num");
|
|
|
+
|
|
|
List<EnvRegularCallFeeding> list = feedingMapper.selectList(queryWrapper1);
|
|
|
+
|
|
|
QueryWrapper<EnvRegularCallFeeding> queryWrapper2 = new QueryWrapper<>();
|
|
|
+
|
|
|
queryWrapper2.eq("farm_id",farmId).eq("duck_num",duckNum).eq("event_type", 0).ge("call_date",dateTime);
|
|
|
+
|
|
|
List<EnvRegularCallFeedingVo> feedingVoList1 = feedingMapper.listScreen2(queryWrapper2);//某只鸭子的总采食量
|
|
|
+
|
|
|
int i = 0;
|
|
|
+
|
|
|
for (EnvRegularCallFeedingVo envRegularCallFeedingVo : feedingVoList1) {
|
|
|
+
|
|
|
Date callDate = envRegularCallFeedingVo.getCallDate();
|
|
|
+
|
|
|
System.out.println("这个是平均值的时间:"+callDate);
|
|
|
+
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+
|
|
|
String format = sdf.format(callDate);
|
|
|
+
|
|
|
System.out.println("格式化后的时间:"+format);
|
|
|
+
|
|
|
String start= format + " 00:00:00";
|
|
|
+
|
|
|
String end= format + " 23:59:59";
|
|
|
+
|
|
|
QueryWrapper<EnvRegularCallFeeding> callFeedingQueryWrapper = new QueryWrapper<>();
|
|
|
+
|
|
|
callFeedingQueryWrapper.eq("farm_id", farmId).eq("event_type", 0).between("call_date", start, end);
|
|
|
|
|
|
+
|
|
|
+
|
|
|
callFeedingQueryWrapper.select("IFNULL(SUM(duck_weight),0) duckWeight");
|
|
|
+
|
|
|
EnvRegularCallFeeding feeding = feedingMapper.selectOne(callFeedingQueryWrapper);
|
|
|
+
|
|
|
EnvRegularCallFeedingVo feedingVo = new EnvRegularCallFeedingVo();
|
|
|
+
|
|
|
BigDecimal value = BigDecimal.valueOf(feeding.getDuckWeight());
|
|
|
+
|
|
|
BigDecimal decimal = BigDecimal.valueOf(list.size());
|
|
|
+
|
|
|
BigDecimal decimal1 = value.divide(decimal, 2);//pingjun
|
|
|
+
|
|
|
feedingVo.setAvgWeight(decimal1);
|
|
|
+
|
|
|
feedingVo.setDuckWeight(envRegularCallFeedingVo.getDuckWeight());
|
|
|
+
|
|
|
feedingVo.setCallDate(envRegularCallFeedingVo.getCallDate());
|
|
|
+
|
|
|
feedingVoList.add(feedingVo);
|
|
|
+
|
|
|
i++;
|
|
|
+
|
|
|
}
|
|
|
jsonObject.put("feed", feedingVoList);
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
return new Result(ResultCode.SUCCESS, jsonObject);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
+
|
|
|
}
|