فهرست منبع

大屏弹窗修改2

wwh 2 سال پیش
والد
کامیت
95ab918467
1فایلهای تغییر یافته به همراه27 افزوده شده و 11 حذف شده
  1. 27 11
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/BaseDuckInfoServiceImpl.java

+ 27 - 11
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/BaseDuckInfoServiceImpl.java

@@ -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());