|
@@ -703,116 +703,156 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
|
|
|
callQueryWrapper.eq("farm_id", farmId).eq("duck_num", duckNum);
|
|
|
List<EnvMoveCall> moveCalls = moveCallMapper.selectList(callQueryWrapper);
|
|
|
if (moveCalls.size() == 0) {
|
|
|
- QueryWrapper<EnvMoveCall> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.eq("farm_id", farmId).ge("call_date", dateTime);
|
|
|
- List<EnvMoveCallVo> envMoveCallVos = moveCallMapper.listScreen2(queryWrapper);
|
|
|
- for (EnvMoveCallVo envMoveCallVo : envMoveCallVos) {
|
|
|
- EnvMoveCallVo moveCallVo = new EnvMoveCallVo();
|
|
|
- moveCallVo.setCallDate(envMoveCallVo.getCallDate());
|
|
|
- moveCallVo.setDuckWeight(BigDecimal.ZERO);
|
|
|
- moveCallVo.setAvgWeight(envMoveCallVo.getAvgWeight());
|
|
|
- envMoveCallVoList.add(moveCallVo);
|
|
|
- }
|
|
|
- jsonObject.put("weight", envMoveCallVoList);
|
|
|
- } else {
|
|
|
- QueryWrapper<EnvMoveCall> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.eq("farm_id", farmId).ge("call_date", dateTime);
|
|
|
- List<EnvMoveCallVo> envMoveCallVos = moveCallMapper.listScreen2(queryWrapper);
|
|
|
+ QueryWrapper<BaseDuckInfo> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("farm_id", farmId).eq("duck_num", duckNum);
|
|
|
+ BaseDuckInfo baseDuckInfo = duckInfoMapper.selectOne(queryWrapper);
|
|
|
int i = 7;
|
|
|
- QueryWrapper<EnvMoveCall> queryWrapper2 = new QueryWrapper<>();
|
|
|
- queryWrapper2.eq("farm_id", farmId).eq("duck_num", duckNum)
|
|
|
- .orderByDesc("id").last(" limit 1");
|
|
|
- EnvMoveCall call = moveCallMapper.selectOne(queryWrapper2);
|
|
|
- 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());
|
|
|
- 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);
|
|
|
+ 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(baseDuckInfo.getNowWeight());
|
|
|
+ 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();
|
|
|
}
|
|
|
- envMoveCallVoList.add(moveCallVo);
|
|
|
- i--;
|
|
|
- }
|
|
|
- } else {
|
|
|
- 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--;
|
|
|
+ moveCallVo.setAvgWeight(avgWeight);
|
|
|
}
|
|
|
+ envMoveCallVoList.add(moveCallVo);
|
|
|
+ i--;
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
} else {
|
|
|
+ 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(baseDuckInfo.getNowWeight());
|
|
|
+ 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(baseDuckInfo.getNowWeight());
|
|
|
+ moveCallVo1.setAvgWeight(decimal);
|
|
|
+ envMoveCallVoList.add(moveCallVo1);
|
|
|
+ a--;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ jsonObject.put("weight", envMoveCallVoList);
|
|
|
+ } else
|
|
|
+
|
|
|
+ {
|
|
|
+ QueryWrapper<EnvMoveCall> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("farm_id", farmId).ge("call_date", dateTime);
|
|
|
+ List<EnvMoveCallVo> envMoveCallVos = moveCallMapper.listScreen2(queryWrapper);
|
|
|
+ int i = 7;
|
|
|
+ QueryWrapper<EnvMoveCall> queryWrapper2 = new QueryWrapper<>();
|
|
|
+ queryWrapper2.eq("farm_id", farmId).eq("duck_num", duckNum)
|
|
|
+ .orderByDesc("id").last(" limit 1");
|
|
|
+ EnvMoveCall call = moveCallMapper.selectOne(queryWrapper2);
|
|
|
+ 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++) {
|
|
|
- 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());
|
|
|
+ EnvMoveCallVo moveCallVo = new EnvMoveCallVo();
|
|
|
+ DateTime dateTime1 = DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -i);
|
|
|
+ moveCallVo.setCallDate(dateTime1);
|
|
|
+ moveCallVo.setDuckWeight(call.getDuckWeight());
|
|
|
+ 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--;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ 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--;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- moveCallVo.setAvgWeight(envMoveCallVos.get(j).getAvgWeight());
|
|
|
- envMoveCallVoList.add(moveCallVo);
|
|
|
- } else {
|
|
|
- DateTime dateTime1 = DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -i);
|
|
|
- EnvMoveCallVo moveCallVo = new EnvMoveCallVo();
|
|
|
+
|
|
|
+ } 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());
|
|
|
- moveCallVo.setCallDate(dateTime1);
|
|
|
- if (ObjectUtil.isNull(envMoveCallVos) || envMoveCallVos.size() < 1) {
|
|
|
- moveCallVo.setAvgWeight(new BigDecimal(0));
|
|
|
- } else {
|
|
|
- moveCallVo.setAvgWeight(envMoveCallVos.get(0).getAvgWeight());
|
|
|
- }
|
|
|
+ } else {
|
|
|
+ moveCallVo.setDuckWeight(envMoveCall.getDuckWeight());
|
|
|
+ }
|
|
|
|
|
|
- envMoveCallVoList.add(moveCallVo);
|
|
|
+ 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());
|
|
|
}
|
|
|
- i--;
|
|
|
+
|
|
|
+ envMoveCallVoList.add(moveCallVo);
|
|
|
}
|
|
|
+ i--;
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
|
|
|
// for (EnvMoveCallVo envMoveCallVo : envMoveCallVos) {
|
|
@@ -844,65 +884,75 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
|
|
|
//
|
|
|
// envMoveCallVoList.add(moveCallVo);
|
|
|
// }
|
|
|
- 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);
|
|
|
+ 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);
|
|
|
}
|
|
|
- return new Result(ResultCode.SUCCESS, jsonObject);
|
|
|
+ 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);
|
|
|
+
|
|
|
+}
|
|
|
|
|
|
@Override
|
|
|
public Result listAppDuck(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
|