|
@@ -9,7 +9,6 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
-import com.huimv.guowei.admin.common.utils.DataUill;
|
|
|
import com.huimv.guowei.admin.common.utils.Result;
|
|
|
import com.huimv.guowei.admin.common.utils.ResultCode;
|
|
|
import com.huimv.guowei.admin.common.utils.UploadImage;
|
|
@@ -418,16 +417,24 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
|
|
|
int i = 0;
|
|
|
for (EnvMoveCallVo envMoveCallVo : envMoveCallVos) {
|
|
|
EnvMoveCallVo moveCallVo = new EnvMoveCallVo();
|
|
|
+ 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<>();
|
|
|
- Date callDate = envMoveCallVo.getCallDate();
|
|
|
- queryWrapper1.eq("farm_id", farmId).eq("duck_num", duckNum).between("call_date",DateUtil.offsetDay(dateTime,i),DateUtil.offsetDay(dateTime,i+1)).orderByDesc("id").last(" limit 1");
|
|
|
+ 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(callDate);
|
|
|
+ moveCallVo.setCallDate(envMoveCallVo.getCallDate());
|
|
|
} else {
|
|
|
moveCallVo.setDuckWeight(envMoveCall.getDuckWeight());
|
|
|
- moveCallVo.setCallDate(envMoveCall.getCallDate());
|
|
|
+ moveCallVo.setCallDate(envMoveCallVo.getCallDate());
|
|
|
}
|
|
|
moveCallVo.setAvgWeight(envMoveCallVo.getAvgWeight());
|
|
|
envMoveCallVoList.add(moveCallVo);
|
|
@@ -460,20 +467,29 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
|
|
|
jsonObject.put("feed", feedingVoList);
|
|
|
} else {
|
|
|
QueryWrapper<EnvRegularCallFeeding> queryWrapper1 = new QueryWrapper<>();
|
|
|
- queryWrapper1.eq("farm_id", farmId).eq("event_type", 0).ge("call_date",dateTime);
|
|
|
- Integer integer = feedingMapper.selectCount(queryWrapper1);
|
|
|
- queryWrapper1.eq("duck_num", duckNum);
|
|
|
- List<EnvRegularCallFeedingVo> feedingVoList1 = feedingMapper.listScreen2(queryWrapper1);//某只鸭子的总采食量
|
|
|
+ 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", DateUtil.offsetDay(dateTime,i), DateUtil.offsetDay(dateTime, i));
|
|
|
+ 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(integer);
|
|
|
+ BigDecimal decimal = BigDecimal.valueOf(list.size());
|
|
|
BigDecimal decimal1 = value.divide(decimal, 2);//pingjun
|
|
|
feedingVo.setAvgWeight(decimal1);
|
|
|
feedingVo.setDuckWeight(envRegularCallFeedingVo.getDuckWeight());
|