wwh 5 months ago
parent
commit
7a333163ab
33 changed files with 12869 additions and 103 deletions
  1. 153 0
      huimv-admin/hs_err_pid28604.log
  2. 328 0
      huimv-admin/hs_err_pid30796.log
  3. 328 0
      huimv-admin/hs_err_pid31900.log
  4. 328 0
      huimv-admin/hs_err_pid35112.log
  5. 153 0
      huimv-admin/hs_err_pid35180.log
  6. 328 0
      huimv-admin/hs_err_pid36276.log
  7. 334 0
      huimv-admin/hs_err_pid41056.log
  8. 334 0
      huimv-admin/hs_err_pid41776.log
  9. 334 0
      huimv-admin/hs_err_pid45848.log
  10. 4830 0
      huimv-admin/replay_pid30796.log
  11. 5138 0
      huimv-admin/replay_pid31900.log
  12. 50 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/group/controller/GroupThresholdController.java
  13. 3 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/group/entity/GroupDuckInfo.java
  14. 3 1
      huimv-admin/src/main/java/com/huimv/guowei/admin/group/entity/GroupLeave.java
  15. 2 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/group/entity/GroupRank.java
  16. 20 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/group/entity/GroupThreshold.java
  17. 1 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/group/entity/vo/BreedingVo.java
  18. 3 1
      huimv-admin/src/main/java/com/huimv/guowei/admin/group/mapper/GroupDuckInfoMapper.java
  19. 2 2
      huimv-admin/src/main/java/com/huimv/guowei/admin/group/mapper/GroupEatingMapper.java
  20. 3 2
      huimv-admin/src/main/java/com/huimv/guowei/admin/group/mapper/GroupFeedingEggMapper.java
  21. 1 1
      huimv-admin/src/main/java/com/huimv/guowei/admin/group/service/IGroupEatingService.java
  22. 49 40
      huimv-admin/src/main/java/com/huimv/guowei/admin/group/service/impl/GroupDuckInfoServiceImpl.java
  23. 23 9
      huimv-admin/src/main/java/com/huimv/guowei/admin/group/service/impl/GroupEatingServiceImpl.java
  24. 22 6
      huimv-admin/src/main/java/com/huimv/guowei/admin/group/service/impl/GroupEggServiceImpl.java
  25. 9 6
      huimv-admin/src/main/java/com/huimv/guowei/admin/group/service/impl/GroupFeedingEggServiceImpl.java
  26. 46 11
      huimv-admin/src/main/java/com/huimv/guowei/admin/group/service/impl/GroupLeaveServiceImpl.java
  27. 4 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/group/service/impl/GroupThresholdServiceImpl.java
  28. 1 1
      huimv-admin/src/main/java/com/huimv/guowei/admin/timer/FootTimer.java
  29. 4 2
      huimv-admin/src/main/java/com/huimv/guowei/admin/timer/GroupRankTimer.java
  30. 26 12
      huimv-admin/src/main/resources/mapper/GroupDuckInfoMapper.xml
  31. 2 2
      huimv-admin/src/main/resources/mapper/GroupEatingMapper.xml
  32. 6 6
      huimv-admin/src/main/resources/mapper/GroupFeedingEggMapper.xml
  33. 1 1
      huimv-admin/src/main/resources/mapper/GroupRankMapper.xml

File diff suppressed because it is too large
+ 153 - 0
huimv-admin/hs_err_pid28604.log


File diff suppressed because it is too large
+ 328 - 0
huimv-admin/hs_err_pid30796.log


File diff suppressed because it is too large
+ 328 - 0
huimv-admin/hs_err_pid31900.log


File diff suppressed because it is too large
+ 328 - 0
huimv-admin/hs_err_pid35112.log


File diff suppressed because it is too large
+ 153 - 0
huimv-admin/hs_err_pid35180.log


File diff suppressed because it is too large
+ 328 - 0
huimv-admin/hs_err_pid36276.log


File diff suppressed because it is too large
+ 334 - 0
huimv-admin/hs_err_pid41056.log


File diff suppressed because it is too large
+ 334 - 0
huimv-admin/hs_err_pid41776.log


File diff suppressed because it is too large
+ 334 - 0
huimv-admin/hs_err_pid45848.log


File diff suppressed because it is too large
+ 4830 - 0
huimv-admin/replay_pid30796.log


File diff suppressed because it is too large
+ 5138 - 0
huimv-admin/replay_pid31900.log


+ 50 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/group/controller/GroupThresholdController.java

@@ -1,8 +1,14 @@
 package com.huimv.guowei.admin.group.controller;
 
 
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.guowei.admin.common.utils.Result;
+import com.huimv.guowei.admin.common.utils.ResultCode;
+import com.huimv.guowei.admin.group.entity.GroupDuckInfo;
 import com.huimv.guowei.admin.group.entity.GroupThreshold;
+import com.huimv.guowei.admin.group.service.IGroupDuckInfoService;
 import com.huimv.guowei.admin.group.service.IGroupThresholdService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.CrossOrigin;
@@ -11,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Date;
 import java.util.Map;
 
 /**
@@ -28,6 +35,8 @@ public class GroupThresholdController {
 
     @Autowired
     private IGroupThresholdService thresholdService;
+    @Autowired
+    private IGroupDuckInfoService infoService;
 
     @RequestMapping("/list")
     public Result list(@RequestBody Map<String, String> paramsMap) {
@@ -38,4 +47,45 @@ public class GroupThresholdController {
     public Result addAndEdit(@RequestBody GroupThreshold groupThreshold) {
         return thresholdService.addAndEdit(groupThreshold);
     }
+
+    @RequestMapping("/getResult")
+    public Result getResult(@RequestBody Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        QueryWrapper<GroupThreshold> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        GroupThreshold groupThreshold = thresholdService.getOne(queryWrapper);
+
+        if (ObjectUtil.isNotEmpty(groupThreshold)) {
+            Date updateTime = groupThreshold.getUpdateTime();
+            Date date = new Date();
+            long abs = Math.abs(date.getTime() - updateTime.getTime());
+            long l = abs / (24 * 60 * 60 * 1000);
+            if (l < 30) {
+                return new Result(ResultCode.FAIL,false);
+
+            } else {
+                return new Result(ResultCode.SUCCESS,true);
+            }
+        } else {
+            return new Result(ResultCode.SUCCESS,true);
+        }
+    }
+
+
+    @RequestMapping("/getDuckCount")
+    public Result getDuckCount(@RequestBody Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        QueryWrapper<GroupDuckInfo> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId).eq("is_leave", 0);
+        queryWrapper.eq("unit_id", 9942);
+        int count = infoService.count(queryWrapper);
+        queryWrapper.clear();
+        queryWrapper.eq("farm_id", farmId).eq("is_leave", 0);
+        queryWrapper.eq("unit_id", 9943);
+        int count1 = infoService.count(queryWrapper);
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("five", count);
+        jsonObject.put("six", count1);
+        return new Result(ResultCode.SUCCESS, jsonObject);
+    }
 }

+ 3 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/group/entity/GroupDuckInfo.java

@@ -91,5 +91,8 @@ public class GroupDuckInfo implements Serializable {
 
     private Integer isLeave;
 
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+
 
 }

+ 3 - 1
huimv-admin/src/main/java/com/huimv/guowei/admin/group/entity/GroupLeave.java

@@ -50,7 +50,7 @@ public class GroupLeave implements Serializable {
     /**
      * 创建时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
 
     /**
@@ -68,5 +68,7 @@ public class GroupLeave implements Serializable {
 
     private String remark;
 
+    private String batchNum;
+
 
 }

+ 2 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/group/entity/GroupRank.java

@@ -61,4 +61,6 @@ public class GroupRank implements Serializable {
 
     private String eatingEgg;
 
+    private String batchNum;
+
 }

+ 20 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/group/entity/GroupThreshold.java

@@ -104,4 +104,24 @@ public class GroupThreshold implements Serializable {
     private String second;
 
 
+    private String fiveFeedCount;
+
+    private String fiveDuckCount;
+
+    private String fiveFeedTimeCount;
+
+    private String fiveAvgTime;
+
+    private String sixFeedCount;
+
+    private String sixDuckCount;
+
+    private String sixFeedTimeCount;
+
+    private String sixAvgTime;
+
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updateTime;
+
 }

+ 1 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/group/entity/vo/BreedingVo.java

@@ -5,6 +5,7 @@ import lombok.Data;
 @Data
 public class BreedingVo {
 
+    private Integer id;
 
     private String deviceCode;
 

+ 3 - 1
huimv-admin/src/main/java/com/huimv/guowei/admin/group/mapper/GroupDuckInfoMapper.java

@@ -24,7 +24,9 @@ public interface GroupDuckInfoMapper extends BaseMapper<GroupDuckInfo> {
 
     List<BreedingVo> breedingRank(String farmId,String today,String month);
 
-    BreedingVo breedingList1(String farmId,String today,String month,String deviceCode);
+    BreedingVo breedingList1(String farmId,String today,String month,String deviceCode,String batchNum);
+
+    List<BreedingVo> breedingList2(String farmId,String today,String month,String deviceCode);
 
     void updateDayAge();
 

+ 2 - 2
huimv-admin/src/main/java/com/huimv/guowei/admin/group/mapper/GroupEatingMapper.java

@@ -24,7 +24,7 @@ public interface GroupEatingMapper extends BaseMapper<GroupEating> {
 
     List<GroupEatingVo> listDetail(@Param(Constants.WRAPPER) QueryWrapper<GroupEating> queryWrapper);
 
-    EggAndFeedingVo getCount(String deviceCode,String startTime );
+    EggAndFeedingVo getCount(String deviceCode,String batchNum,String startTime );
 
     List<BreedEatingVo> breedList(@Param(Constants.WRAPPER) QueryWrapper<GroupEating> queryWrapper);
 
@@ -34,5 +34,5 @@ public interface GroupEatingMapper extends BaseMapper<GroupEating> {
 
     List<BreedEatingEgg> breedEggEating2(String farmId,String deviceCode,String dateTime);
 
-    GroupEatingVo getEating(String deviceCode);
+    GroupEatingVo getEating(String deviceCode,String batchNum);
 }

+ 3 - 2
huimv-admin/src/main/java/com/huimv/guowei/admin/group/mapper/GroupFeedingEggMapper.java

@@ -3,6 +3,7 @@ package com.huimv.guowei.admin.group.mapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.huimv.guowei.admin.group.entity.GroupEating;
 import com.huimv.guowei.admin.group.entity.GroupFeedingEgg;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huimv.guowei.admin.group.entity.dto.ScreenBreedVo;
@@ -24,7 +25,7 @@ public interface GroupFeedingEggMapper extends BaseMapper<GroupFeedingEgg> {
 
     IPage<GroupFeedAndEggVo> listFeed(@Param(Constants.WRAPPER)QueryWrapper<GroupFeedingEgg> queryWrapper,IPage<GroupFeedAndEggVo> page);
 
-    List<ScreenBreedVo> screenBreed(@Param(Constants.WRAPPER)QueryWrapper<GroupFeedingEgg> queryWrapper);
+    List<ScreenBreedVo> screenBreed(@Param(Constants.WRAPPER)QueryWrapper<GroupEating> queryWrapper);
 
-    List<ScreenBreedVo> screenBreedMonth(@Param(Constants.WRAPPER)QueryWrapper<GroupFeedingEgg> queryWrapper);
+    List<ScreenBreedVo> screenBreedMonth(@Param(Constants.WRAPPER)QueryWrapper<GroupEating> queryWrapper);
 }

+ 1 - 1
huimv-admin/src/main/java/com/huimv/guowei/admin/group/service/IGroupEatingService.java

@@ -28,6 +28,6 @@ public interface IGroupEatingService extends IService<GroupEating> {
     //鸭只生产性能中的料单比统计分析
     Result BreedingEatingEgg(Map<String, String> paramsMap);
 
-    GroupEatingVo getEatingCount(String deviceCode);
+    GroupEatingVo getEatingCount(String deviceCode,String batchNum);
 
 }

+ 49 - 40
huimv-admin/src/main/java/com/huimv/guowei/admin/group/service/impl/GroupDuckInfoServiceImpl.java

@@ -96,7 +96,7 @@ public class GroupDuckInfoServiceImpl extends ServiceImpl<GroupDuckInfoMapper, G
                     .or().like(StringUtils.isNotBlank(keyword), "batch_num", keyword));
         }
 
-        queryWrapper.orderByDesc("id");
+        queryWrapper.orderByDesc("create_time");
         return new Result(ResultCode.SUCCESS, duckInfoMapper.selectPage(page, queryWrapper));
     }
 
@@ -109,16 +109,17 @@ public class GroupDuckInfoServiceImpl extends ServiceImpl<GroupDuckInfoMapper, G
         duckInfo.setDeviceCode(deviceCode);
         QueryWrapper<GroupDuckInfo> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("farm_id", farmId).eq("is_leave", 0);
-        if (StringUtils.isNotBlank(paramsMap.get("chiCode"))) {
-            queryWrapper.eq("device_code", deviceCode).or().eq("chi_code", paramsMap.get("chiCode"));
-        } else {
-            queryWrapper.eq("device_code", deviceCode);
-        }
+        queryWrapper.eq("device_code", deviceCode);
         if (duckInfoMapper.selectCount(queryWrapper) != 0) {
             return new Result(10001, "脚环号已存在", false);
         }
-        if (StringUtils.isNotBlank(paramsMap.get("chiCode"))) {
-            duckInfo.setChiCode(paramsMap.get("chiCode"));
+        GroupBatch batch = batchMapper.selectOne(new QueryWrapper<GroupBatch>().eq("batch_num", paramsMap.get("batchNum"))
+                .eq("farm_id", farmId));
+        if ("".equals(batch.getDuckId()) || null == batch.getDuckId()) {
+        }else {
+            if (batch.getDuckId().contains(deviceCode)) {
+                return new Result(10001, "相同批次号的脚环号已存在", false);
+            }
         }
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         Date date = new Date();
@@ -143,9 +144,12 @@ public class GroupDuckInfoServiceImpl extends ServiceImpl<GroupDuckInfoMapper, G
             String content = uploadImage.getImageCom(imgUrl);
             duckInfo.setDuckImgUrl(content);
         }
+        duckInfo.setCreateTime(new Date());
         duckInfoMapper.insert(duckInfo);
-        GroupDuckInfo duckInfo1 = duckInfoMapper.selectOne(new QueryWrapper<GroupDuckInfo>().eq("device_code", deviceCode));
-        GroupBatch groupBatch = batchMapper.selectOne(new QueryWrapper<GroupBatch>().eq("batch_num", paramsMap.get("batchNum")));
+        GroupDuckInfo duckInfo1 = duckInfoMapper.selectOne(new QueryWrapper<GroupDuckInfo>().eq("device_code", deviceCode)
+                .eq("batch_num",paramsMap.get("batchNum")).eq("is_leave",0));
+        GroupBatch groupBatch = batchMapper.selectOne(new QueryWrapper<GroupBatch>().eq("batch_num", paramsMap.get("batchNum"))
+                .eq("farm_id",paramsMap.get("farmId")));
         String batchDuckId = groupBatch.getDuckId();
         if (StringUtils.isBlank(batchDuckId)) {
             groupBatch.setDuckId(duckInfo1.getDeviceCode());
@@ -176,10 +180,8 @@ public class GroupDuckInfoServiceImpl extends ServiceImpl<GroupDuckInfoMapper, G
     public Result editDuck(HttpServletRequest httpServletRequest, GroupDuckInfo groupDuckInfo) {
         QueryWrapper<GroupDuckInfo> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("farm_id", groupDuckInfo.getFarmId()).eq("is_leave", 0)
-                .ne("id", groupDuckInfo.getId()).eq("device_code", groupDuckInfo.getDeviceCode());
-        if (StringUtils.isNotBlank(groupDuckInfo.getChiCode())) {
-            queryWrapper.eq("chi_code", groupDuckInfo.getChiCode());
-        }
+                .ne("id", groupDuckInfo.getId()).eq("device_code", groupDuckInfo.getDeviceCode())
+                .eq("batch_num",groupDuckInfo.getBatchNum());
         if (duckInfoMapper.selectCount(queryWrapper) != 0) {
             return new Result(10001, "脚环号已存在", false);
         }
@@ -225,17 +227,21 @@ public class GroupDuckInfoServiceImpl extends ServiceImpl<GroupDuckInfoMapper, G
 
     @Override
     public Result duckDetail(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
-        String deviceCode = paramsMap.get("deviceCode");
-        GroupDuckInfo duckInfo = duckInfoMapper.selectOne(new QueryWrapper<GroupDuckInfo>().eq("device_code", deviceCode));
+        String id = paramsMap.get("id");
+        GroupDuckInfo duckInfo = duckInfoMapper.selectOne(new QueryWrapper<GroupDuckInfo>().eq("id", id));
         GroupDuckInfoVo duckInfoVo = new GroupDuckInfoVo();
         duckInfoVo.setDuckInfo(duckInfo);
         DecimalFormat def = new DecimalFormat("0.00");
-        EggAndFeedingVo feedingVo = eatingMapper.getCount(deviceCode, null);
+        EggAndFeedingVo feedingVo = eatingMapper.getCount(duckInfo.getDeviceCode(),duckInfo.getBatchNum(), null);
         duckInfoVo.setFeedingCount(feedingVo.getFeedingCount());
         duckInfoVo.setEggCount(feedingVo.getEggCount());
-        double v = Double.valueOf(feedingVo.getFeedingCount()) / 1000 / Double.valueOf(feedingVo.getEggCount()) * 0.07;
+        if (feedingVo.getEggCount() == 0) {
+            duckInfoVo.setFeedEgg("0");
+        } else {
+            double v = Double.valueOf(feedingVo.getFeedingCount()) / 1000 / Double.valueOf(feedingVo.getEggCount()) * 0.07;
+            duckInfoVo.setFeedEgg(def.format(v));
+        }
         duckInfoVo.setEggWeight(String.valueOf(feedingVo.getEggCount()*70));
-        duckInfoVo.setFeedEgg(def.format(v));
         return new Result(ResultCode.SUCCESS, duckInfoVo);
     }
 
@@ -282,10 +288,11 @@ public class GroupDuckInfoServiceImpl extends ServiceImpl<GroupDuckInfoMapper, G
     public Result breedingDetail(Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
         String deviceCode = paramsMap.get("deviceCode");
+        String batchNum = paramsMap.get("batchNum");
         Date timesmorning = DataUill.getTimesmorning();
         Date monthmorning = DataUill.getTimesMonthmorning();
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        BreedingVo breedingVo = duckInfoMapper.breedingList1(farmId, sdf.format(timesmorning), sdf.format(monthmorning), deviceCode);
+        BreedingVo breedingVo = duckInfoMapper.breedingList1(farmId, sdf.format(timesmorning), sdf.format(monthmorning), deviceCode,batchNum);
         if (ObjectUtil.isNotEmpty(breedingVo)) {
             Double aDouble = Double.valueOf(breedingVo.getFeedingMonth());
             if (0 == breedingVo.getEggCount()) {
@@ -706,7 +713,6 @@ public class GroupDuckInfoServiceImpl extends ServiceImpl<GroupDuckInfoMapper, G
         String farmId = paramsMap.get("farmId");
         String type = paramsMap.get("type");
         String deviceCode = paramsMap.get("deviceCode");
-
         List<BreedingVo> list = new ArrayList<>();
         Date timesmorning = DataUill.getTimesmorning();
         Date monthmorning = DataUill.getTimesMonthmorning();
@@ -748,29 +754,32 @@ public class GroupDuckInfoServiceImpl extends ServiceImpl<GroupDuckInfoMapper, G
                 }
             }
         } else {
-            BreedingVo breedingVo = duckInfoMapper.breedingList1(farmId, sdf.format(timesmorning), sdf.format(monthmorning), deviceCode);
-            if (ObjectUtil.isNotEmpty(breedingVo)) {
-                Double aDouble = Double.valueOf(breedingVo.getFeedingMonth());
-                if (0 == breedingVo.getEggMonth()) {
-                    breedingVo.setFeedEgg("0");
-                    breedingVo.setType(1);
-                } else {
-                    double v = aDouble / 1000 / breedingVo.getEggMonth();
-                    DecimalFormat def = new DecimalFormat("0.00");
-                    breedingVo.setFeedEgg(def.format(v));
-                    if (v <= Double.valueOf(groupThreshold.getFirst())) {
-                        breedingVo.setType(1);
-                    } else if (v <= Double.valueOf(groupThreshold.getSecond()) && v > Double.valueOf(groupThreshold.getSecond())) {
-                        breedingVo.setType(2);
-                    } else {
-                        breedingVo.setType(3);
+            List<BreedingVo> breedingVos = duckInfoMapper.breedingList2(farmId, sdf.format(timesmorning), sdf.format(monthmorning), deviceCode);
+            if (breedingVos.size() != 0) {
+                for (BreedingVo breedingVo : breedingVos) {
+                    if (ObjectUtil.isNotEmpty(breedingVo)) {
+                        Double aDouble = Double.valueOf(breedingVo.getFeedingMonth());
+                        if (0 == breedingVo.getEggMonth()) {
+                            breedingVo.setFeedEgg("0");
+                            breedingVo.setType(1);
+                        } else {
+                            double v = aDouble / 1000 / breedingVo.getEggMonth();
+                            DecimalFormat def = new DecimalFormat("0.00");
+                            breedingVo.setFeedEgg(def.format(v));
+                            if (v <= Double.valueOf(groupThreshold.getFirst())) {
+                                breedingVo.setType(1);
+                            } else if (v <= Double.valueOf(groupThreshold.getSecond()) && v > Double.valueOf(groupThreshold.getSecond())) {
+                                breedingVo.setType(2);
+                            } else {
+                                breedingVo.setType(3);
+                            }
+                        }
+                        breedingVo.setEggWeight(String.valueOf(breedingVo.getEggCount()*70));
                     }
+                    list.add(breedingVo);
                 }
-                breedingVo.setEggWeight(String.valueOf(breedingVo.getEggCount()*70));
             }
-            list.add(breedingVo);
         }
-
         return new Result(ResultCode.SUCCESS, list);
     }
 

+ 23 - 9
huimv-admin/src/main/java/com/huimv/guowei/admin/group/service/impl/GroupEatingServiceImpl.java

@@ -8,10 +8,12 @@ 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.group.entity.GroupDuckInfo;
 import com.huimv.guowei.admin.group.entity.GroupEating;
 import com.huimv.guowei.admin.group.entity.GroupRank;
 import com.huimv.guowei.admin.group.entity.vo.BreedEatingEgg;
 import com.huimv.guowei.admin.group.entity.vo.GroupEatingVo;
+import com.huimv.guowei.admin.group.mapper.GroupDuckInfoMapper;
 import com.huimv.guowei.admin.group.mapper.GroupEatingMapper;
 import com.huimv.guowei.admin.group.mapper.GroupRankMapper;
 import com.huimv.guowei.admin.group.service.IGroupEatingService;
@@ -40,7 +42,8 @@ public class GroupEatingServiceImpl extends ServiceImpl<GroupEatingMapper, Group
     private GroupEatingMapper eatingMapper;
     @Autowired
     private GroupRankMapper rankMapper;
-
+    @Autowired
+    private GroupDuckInfoMapper infoMapper;
     @Override
     public Result listPage(Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
@@ -52,12 +55,19 @@ public class GroupEatingServiceImpl extends ServiceImpl<GroupEatingMapper, Group
         }
         String keyword = paramsMap.get("keyword");
         String time = paramsMap.get("time");
+        String id = paramsMap.get("id");
         Page<GroupEating> page = new Page(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
         QueryWrapper<GroupEating> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("farm_id", farmId).orderByDesc("eating_date");
-        if (StringUtils.isNotBlank(keyword)) {
-            queryWrapper.and(wrapper -> wrapper.like(StringUtils.isNotBlank(keyword), "device_code", keyword)
-                    .or().like(StringUtils.isNotBlank(keyword), "batch_num", keyword));
+        if (StringUtils.checkValNotNull(id)) {
+            GroupDuckInfo duckInfo = infoMapper.selectById(id);
+            queryWrapper.eq("farm_id", farmId).orderByDesc("eating_date");
+            queryWrapper.eq("device_code", keyword).eq( "batch_num", duckInfo.getBatchNum());
+        }else {
+            if (StringUtils.isNotBlank(keyword)) {
+                queryWrapper.and(wrapper -> wrapper.like(StringUtils.isNotBlank(keyword), "device_code", keyword)
+                        .or().like(StringUtils.isNotBlank(keyword), "batch_num", keyword));
+            }
         }
         queryWrapper.between(StringUtils.isNotBlank(time), "eating_date", time + " 00:00:00", time + " 23:59:59");
         return new Result(ResultCode.SUCCESS, eatingMapper.selectPage(page, queryWrapper));
@@ -67,8 +77,10 @@ public class GroupEatingServiceImpl extends ServiceImpl<GroupEatingMapper, Group
     public Result listDetail(Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
         String deviceCode = paramsMap.get("id");
+        String batchNum = paramsMap.get("batchNum");
         QueryWrapper<GroupEating> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_id", farmId).eq("device_code", deviceCode);
+        queryWrapper.eq("farm_id", farmId).eq("device_code", deviceCode)
+                .eq(StringUtils.isNotBlank(batchNum), "batch_num", batchNum);
         return new Result(ResultCode.SUCCESS, eatingMapper.listDetail(queryWrapper));
     }
 
@@ -76,12 +88,13 @@ public class GroupEatingServiceImpl extends ServiceImpl<GroupEatingMapper, Group
     public Result BreedingEating(Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
         String deviceCode = paramsMap.get("deviceCode");
+        String batchNum = paramsMap.get("batchNum");
         String type = paramsMap.get("type");
         if ("".equals(type) || null == type) {
             type = "2";
         }
         QueryWrapper<GroupEating> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_id", farmId).eq("device_code", deviceCode);
+        queryWrapper.eq("farm_id", farmId).eq("device_code", deviceCode).eq("batch_num", batchNum);
         if ("1".equals(type)) {
             Date timesmorning = DataUill.getTimesmorning();
             queryWrapper.ge("eating_date", timesmorning);
@@ -106,13 +119,14 @@ public class GroupEatingServiceImpl extends ServiceImpl<GroupEatingMapper, Group
     public Result BreedingEatingEgg(Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
         String deviceCode = paramsMap.get("deviceCode");
+        String batchNum = paramsMap.get("batchNum");
         String type = paramsMap.get("type");
         if ("".equals(type) || null == type) {
             type = "1";
         }
         List<GroupRank> list = new ArrayList<>();
         QueryWrapper<GroupRank> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("device_code", deviceCode).eq("farm_id", farmId);
+        queryWrapper.eq("device_code", deviceCode).eq("farm_id", farmId).eq("batch_num",batchNum);
         if ("1".equals(type)) {
             DateTime beginOfWeek = DateUtil.beginOfWeek(new Date());
             queryWrapper.ge("date_time", beginOfWeek);
@@ -135,8 +149,8 @@ public class GroupEatingServiceImpl extends ServiceImpl<GroupEatingMapper, Group
     }
 
     @Override
-    public GroupEatingVo getEatingCount(String deviceCode) {
-        return eatingMapper.getEating(deviceCode);
+    public GroupEatingVo getEatingCount(String deviceCode,String batchNum) {
+        return eatingMapper.getEating(deviceCode,batchNum);
     }
 
 }

+ 22 - 6
huimv-admin/src/main/java/com/huimv/guowei/admin/group/service/impl/GroupEggServiceImpl.java

@@ -9,9 +9,11 @@ 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.group.entity.GroupDuckInfo;
 import com.huimv.guowei.admin.group.entity.GroupEating;
 import com.huimv.guowei.admin.group.entity.GroupEgg;
 import com.huimv.guowei.admin.group.entity.vo.GroupEatingVo;
+import com.huimv.guowei.admin.group.mapper.GroupDuckInfoMapper;
 import com.huimv.guowei.admin.group.mapper.GroupEggMapper;
 import com.huimv.guowei.admin.group.service.IGroupEggService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -36,13 +38,18 @@ public class GroupEggServiceImpl extends ServiceImpl<GroupEggMapper, GroupEgg> i
 
     @Autowired
     private GroupEggMapper eggMapper;
+    @Autowired
+    private GroupDuckInfoMapper infoMapper;
 
     @Override
     public Result listDetail(Map<String, String> paramsMap) {
         String deviceCode = paramsMap.get("id");
         String farmId = paramsMap.get("farmId");
+        String batchNum = paramsMap.get("batchNum");
         QueryWrapper<GroupEgg> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_id", farmId).eq(StringUtils.isNotBlank(deviceCode), "device_code", deviceCode);
+        queryWrapper.eq("farm_id", farmId)
+                .eq(StringUtils.isNotBlank(deviceCode), "device_code", deviceCode)
+                .eq(StringUtils.isNotBlank(batchNum), "batch_num", batchNum);
         return new Result(ResultCode.SUCCESS, eggMapper.listDetail(queryWrapper));
     }
 
@@ -57,12 +64,20 @@ public class GroupEggServiceImpl extends ServiceImpl<GroupEggMapper, GroupEgg> i
         }
         String keyword = paramsMap.get("keyword");
         String time = paramsMap.get("time");
+        String id = paramsMap.get("id");
         Page<GroupEgg> page = new Page(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
         QueryWrapper<GroupEgg> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_id", farmId).orderByDesc("egg_date");
-        if (StringUtils.isNotBlank(keyword)) {
-            queryWrapper.and(wrapper -> wrapper.like(StringUtils.isNotBlank(keyword), "device_code", keyword)
-                    .or().like(StringUtils.isNotBlank(keyword), "batch_num", keyword));
+        if (StringUtils.checkValNotNull(id)) {
+            GroupDuckInfo duckInfo = infoMapper.selectById(id);
+            queryWrapper.eq("farm_id", farmId).orderByDesc("egg_date");
+            queryWrapper.eq("device_code", keyword).eq( "batch_num", duckInfo.getBatchNum());
+
+        } else {
+            queryWrapper.eq("farm_id", farmId).orderByDesc("egg_date");
+            if (StringUtils.isNotBlank(keyword)) {
+                queryWrapper.and(wrapper -> wrapper.like(StringUtils.isNotBlank(keyword), "device_code", keyword)
+                        .or().like(StringUtils.isNotBlank(keyword), "batch_num", keyword));
+            }
         }
         queryWrapper.between(StringUtils.isNotBlank(time), "egg_date", time + " 00:00:00", time + " 23:59:59");
         return new Result(ResultCode.SUCCESS, eggMapper.selectPage(page, queryWrapper));
@@ -72,12 +87,13 @@ public class GroupEggServiceImpl extends ServiceImpl<GroupEggMapper, GroupEgg> i
     public Result BreedingEgg(Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
         String deviceCode = paramsMap.get("deviceCode");
+        String batchNum = paramsMap.get("batchNum");
         String type = paramsMap.get("type");
         if ("".equals(type) || null == type) {
             type = "2";
         }
         QueryWrapper<GroupEgg> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_id", farmId).eq("device_code", deviceCode);
+        queryWrapper.eq("farm_id", farmId).eq("device_code", deviceCode).eq("batch_num",batchNum);
         if ("1".equals(type)) {
             Date timesmorning = DataUill.getTimesmorning();
             queryWrapper.ge("egg_date", timesmorning);

+ 9 - 6
huimv-admin/src/main/java/com/huimv/guowei/admin/group/service/impl/GroupFeedingEggServiceImpl.java

@@ -23,6 +23,7 @@ import com.huimv.guowei.admin.group.entity.dto.ScreenBreedVo;
 import com.huimv.guowei.admin.group.entity.vo.GroupFeedAndEggVo;
 import com.huimv.guowei.admin.group.entity.vo.ImportEggVo;
 import com.huimv.guowei.admin.group.entity.vo.ImportFeedingVo;
+import com.huimv.guowei.admin.group.mapper.GroupEatingMapper;
 import com.huimv.guowei.admin.group.mapper.GroupFeedingEggMapper;
 import com.huimv.guowei.admin.group.service.IGroupFeedingEggService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -60,6 +61,8 @@ public class GroupFeedingEggServiceImpl extends ServiceImpl<GroupFeedingEggMappe
     private GroupFeedingEggMapper feedingEggMapper;
     @Autowired
     private BaseBuildingMapper buildingMapper;
+    @Autowired
+    private GroupEatingMapper eatingMapper;
 
     @Override
     public Result listPage(Map<String, String> paramsMap) {
@@ -225,15 +228,15 @@ public class GroupFeedingEggServiceImpl extends ServiceImpl<GroupFeedingEggMappe
         String farmId = paramsMap.get("farmId");
         String unitId = paramsMap.get("unitId");
         Date monthmorning = DataUill.getTimesMonthmorning();
-        DateTime dateTime = DateUtil.beginOfYear(new Date());
+        Date dateTime = DataUill.getTimesmorning();
 
-        QueryWrapper<GroupFeedingEgg> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_id",farmId).eq("type",0).eq("unit_id",unitId);
-        queryWrapper.ge("date_time", monthmorning);
+        QueryWrapper<GroupEating> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id",farmId).eq("unit_id",unitId);
+        queryWrapper.ge("create_time", dateTime);
         List<ScreenBreedVo> breedVos = feedingEggMapper.screenBreed(queryWrapper);
         queryWrapper.clear();
-        queryWrapper.eq("farm_id",farmId).eq("type",0).eq("unit_id",unitId);
-        queryWrapper.ge("date_time", dateTime);
+        queryWrapper.eq("farm_id",farmId).eq("unit_id",unitId);
+        queryWrapper.ge("create_time", monthmorning);
         List<ScreenBreedVo> breedVos1 = feedingEggMapper.screenBreedMonth(queryWrapper);
 
         JSONObject jsonObject = new JSONObject();

+ 46 - 11
huimv-admin/src/main/java/com/huimv/guowei/admin/group/service/impl/GroupLeaveServiceImpl.java

@@ -18,6 +18,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -60,31 +61,39 @@ public class GroupLeaveServiceImpl extends ServiceImpl<GroupLeaveMapper, GroupLe
                     .or().like(StringUtils.isNotBlank(keyword), "device_code", keyword));
         }
         queryWrapper.between(StringUtils.isNotBlank(time), "leave_date", time + " 00:00:00", time + " 23:59:59");
+        queryWrapper.orderByDesc("create_time");
         return new Result(ResultCode.SUCCESS, leaveMapper.selectPage(page, queryWrapper));
     }
 
     @Override
     public Result add(GroupLeave leave) {
-        leave.setCreateTime(new Date());
         if (leave.getType() == 0) {
+            GroupDuckInfo groupDuckInfo = duckInfoMapper.selectOne(new QueryWrapper<GroupDuckInfo>().
+                    eq("device_code", leave.getDeviceCode()).eq("is_leave", 0));
+            leave.setBatchNum(groupDuckInfo.getBatchNum());
+            leave.setCreateTime(new Date());
             String deviceCode = leave.getDeviceCode();
             QueryWrapper<GroupDuckInfo> queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("farm_id", leave.getFarmId()).eq("device_code", deviceCode);
+            queryWrapper.eq("farm_id", leave.getFarmId()).eq("device_code", deviceCode).eq("batch_num",groupDuckInfo.getBatchNum());
             GroupDuckInfo duckInfo = duckInfoMapper.selectOne(queryWrapper);
             duckInfo.setIsLeave(1);
+            duckInfo.setCreateTime(new Date());
             duckInfoMapper.updateById(duckInfo);
         } else {
-            String deviceCode = leave.getDeviceCode();
+            leave.setBatchNum(leave.getDeviceCode());
+            leave.setCreateTime(new Date());
             QueryWrapper<GroupBatch> queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("farm_id", leave.getFarmId()).eq("batch_num", deviceCode);
+            queryWrapper.eq("farm_id", leave.getFarmId()).eq("batch_num", leave.getDeviceCode());
             GroupBatch groupBatch = batchMapper.selectOne(queryWrapper);
             String duckId = groupBatch.getDuckId();
             if (StringUtils.isNotBlank(duckId)) {
                 String[] split = duckId.split(",");
                 for (String muskId : split) {
-                    GroupDuckInfo duckInfo = duckInfoMapper.selectOne(new QueryWrapper<GroupDuckInfo>().eq("device_code", muskId));
+                    GroupDuckInfo duckInfo = duckInfoMapper.selectOne(new QueryWrapper<GroupDuckInfo>().eq("device_code", muskId)
+                            .eq("batch_num",leave.getDeviceCode()));
                     if (ObjectUtil.isNotEmpty(duckInfo)) {
                         duckInfo.setIsLeave(1);
+                        duckInfo.setCreateTime(new Date());
                         duckInfoMapper.updateById(duckInfo);
                     }
                 }
@@ -100,24 +109,48 @@ public class GroupLeaveServiceImpl extends ServiceImpl<GroupLeaveMapper, GroupLe
     public Result edit(GroupLeave leave) {
         if (leave.getIsWithdraw() == 1) {
             if (leave.getType() == 0) {
+                leave.setCreateTime(new Date());
                 String deviceCode = leave.getDeviceCode();
                 QueryWrapper<GroupDuckInfo> queryWrapper = new QueryWrapper<>();
-                queryWrapper.eq("farm_id", leave.getFarmId()).eq("device_code", deviceCode);
+                queryWrapper.eq("farm_id", leave.getFarmId()).eq("device_code", deviceCode).eq("is_leave",0);
                 GroupDuckInfo duckInfo = duckInfoMapper.selectOne(queryWrapper);
-                duckInfo.setIsLeave(0);
-                duckInfoMapper.updateById(duckInfo);
+                if (ObjectUtil.isNotEmpty(duckInfo)) {
+                    return new Result(10001, "撤回失败,存在同批次同脚环的鸭只", false);
+                } else {
+                    GroupLeave groupLeave = leaveMapper.selectById(leave.getId());
+                    String batchNum = groupLeave.getBatchNum();
+                    GroupDuckInfo groupDuckInfo = duckInfoMapper.selectOne(new QueryWrapper<GroupDuckInfo>().eq("farm_id", leave.getFarmId())
+                            .eq("device_code", deviceCode).eq("batch_num", batchNum));
+                    groupDuckInfo.setIsLeave(0);
+                    groupDuckInfo.setCreateTime(new Date());
+                    duckInfoMapper.updateById(groupDuckInfo);
+                }
             } else {
-                String deviceCode = leave.getDeviceCode();
+                leave.setCreateTime(new Date());
                 QueryWrapper<GroupBatch> queryWrapper = new QueryWrapper<>();
-                queryWrapper.eq("farm_id", leave.getFarmId()).eq("batch_num", deviceCode);
+                queryWrapper.eq("farm_id", leave.getFarmId()).eq("batch_num",leave.getDeviceCode());
                 GroupBatch groupBatch = batchMapper.selectOne(queryWrapper);
+
                 String duckIds = "";
+                List<String> deviceCodes = new ArrayList<>();
                 if (ObjectUtil.isNotEmpty(groupBatch)) {
                     String batchNum = groupBatch.getBatchNum();
-                    List<GroupDuckInfo> groupDuckInfos = duckInfoMapper.selectList(new QueryWrapper<GroupDuckInfo>().eq("batch_num", batchNum));
+                    List<GroupDuckInfo> groupDuckInfos = duckInfoMapper.selectList(new QueryWrapper<GroupDuckInfo>()
+                            .eq("batch_num", batchNum).eq("farm_id",leave.getFarmId()));
+                    groupDuckInfos.forEach(item->{
+                        deviceCodes.add(item.getDeviceCode());
+                    });
+                    if (deviceCodes.size() != 0) {
+                        Integer count = duckInfoMapper.selectCount(new QueryWrapper<GroupDuckInfo>().in("device_code", deviceCodes)
+                                .eq("farm_id",leave.getFarmId()).eq("is_leave",0));
+                        if (count != 0) {
+                            return new Result(10001, "撤回失败,当前档案中存在相同脚环号鸭只!", false);
+                        }
+                    }
                     if (groupDuckInfos.size() != 0) {
                         for (int i = 0; i < groupDuckInfos.size(); i++) {
                             groupDuckInfos.get(i).setIsLeave(0);
+                            groupDuckInfos.get(i).setCreateTime(new Date());
                             duckInfoMapper.updateById(groupDuckInfos.get(i));
                             if (i < groupDuckInfos.size() - 1) {
                                 duckIds = groupDuckInfos.get(i).getDeviceCode() + ",";
@@ -126,6 +159,8 @@ public class GroupLeaveServiceImpl extends ServiceImpl<GroupLeaveMapper, GroupLe
                             }
                         }
                     }
+                    leaveMapper.delete(new QueryWrapper<GroupLeave>().eq("farm_id", leave.getFarmId())
+                            .eq("batch_num", groupBatch.getBatchNum()).eq("type", 0));
                 }
                 groupBatch.setDuckId(duckIds);
                 groupBatch.setDisable(0);

+ 4 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/group/service/impl/GroupThresholdServiceImpl.java

@@ -11,6 +11,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.text.DecimalFormat;
+import java.util.Date;
 import java.util.Map;
 
 /**
@@ -40,8 +42,10 @@ public class GroupThresholdServiceImpl extends ServiceImpl<GroupThresholdMapper,
         QueryWrapper<GroupThreshold> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("farm_id", groupThreshold.getFarmId());
         if (ObjectUtil.isNotEmpty(thresholdMapper.selectOne(queryWrapper))) {
+            groupThreshold.setUpdateTime(new Date());
             thresholdMapper.updateById(groupThreshold);
         } else {
+            groupThreshold.setUpdateTime(new Date());
             thresholdMapper.insert(groupThreshold);
         }
         return new Result(ResultCode.SUCCESS);

+ 1 - 1
huimv-admin/src/main/java/com/huimv/guowei/admin/timer/FootTimer.java

@@ -40,7 +40,7 @@ public class FootTimer {
         List<GroupDuckInfo> duckInfoList = duckInfoService.list(new QueryWrapper<GroupDuckInfo>().eq("is_leave", 0));
         for (GroupDuckInfo groupDuckInfo : duckInfoList) {
             String deviceCode = groupDuckInfo.getDeviceCode();
-            int countAdvise = groupAdviseService.count(new QueryWrapper<GroupAdvise>().eq("device_code", deviceCode).ge("date_time", DateUtil.offsetDay(new Date(),-10)));
+            int countAdvise = groupAdviseService.count(new QueryWrapper<GroupAdvise>().eq("device_code", deviceCode).ge("create_time", DateUtil.offsetDay(new Date(),-10)));
             if (countAdvise >0){
                 return;
             }

+ 4 - 2
huimv-admin/src/main/java/com/huimv/guowei/admin/timer/GroupRankTimer.java

@@ -56,13 +56,15 @@ public class GroupRankTimer {
         if (duckInfos.size() != 0) {
             for (GroupDuckInfo duckInfo : duckInfos) {
                 String deviceCode = duckInfo.getDeviceCode();
+                String batchNum = duckInfo.getBatchNum();
                 QueryWrapper<GroupEgg> eggQueryWrapper = new QueryWrapper<>();
-                eggQueryWrapper.eq("device_code", deviceCode).orderByDesc("id")
+                eggQueryWrapper.eq("device_code", deviceCode).eq("batch_num",batchNum).orderByDesc("id")
                         .last(" limit 1");
                 GroupEgg groupEgg = eggService.getOne(eggQueryWrapper);
-                GroupEatingVo eatingCount = eatingService.getEatingCount(deviceCode);
+                GroupEatingVo eatingCount = eatingService.getEatingCount(deviceCode,batchNum);
 
                 GroupRank groupRank = new GroupRank();
+                groupRank.setBatchNum(batchNum);
                 groupRank.setDeviceCode(deviceCode);
                 groupRank.setDateTime(new Date());
                 groupRank.setFarmId(21);

+ 26 - 12
huimv-admin/src/main/resources/mapper/GroupDuckInfoMapper.xml

@@ -3,47 +3,61 @@
 <mapper namespace="com.huimv.guowei.admin.group.mapper.GroupDuckInfoMapper">
 
     <select id="breedingList" resultType="com.huimv.guowei.admin.group.entity.vo.BreedingVo">
-      select a.deviceCode 'deviceCode',a.dayAge 'dayAge',a.unitId 'unitId',a.unitName 'unitName',a.batchNum 'batchNum',IFNULL(g.egg_count,'0') 'eggCount'
+      select a.id 'id',a.deviceCode 'deviceCode',a.dayAge 'dayAge',a.unitId 'unitId',a.unitName 'unitName',a.batchNum 'batchNum',IFNULL(g.egg_count,'0') 'eggCount'
       ,CONVERT(IFNULL(sum(case when b.eating_date >= #{today} then b.eating_value else 0 END),'0'),DECIMAL(10,2)) as 'feedingDay',
             CONVERT(IFNULL(sum(case when b.eating_date >= #{month} then b.eating_value else 0 END),'0'),DECIMAL(10,2)) as 'feedingMonth'
             ,IFNULL(sum(case when g.egg_date >= #{today} then g.egg_num else 0 END),'0') as 'eggDay',
             IFNULL(sum(case when g.egg_date >= #{month} then g.egg_num else 0 END),'0') as 'eggMonth',
             IFNULL(sum(b.eating_value),'0') 'feedingCount'
 						FROM group_eating b RIGHT JOIN
-(select device_code 'deviceCode',unit_id 'unitId',unit_name 'unitName',day_num 'dayAge',batch_num 'batchNum' FROM group_duck_info
+(select id 'id',device_code 'deviceCode',unit_id 'unitId',unit_name 'unitName',day_num 'dayAge',batch_num 'batchNum' FROM group_duck_info where farm_id=#{farmId}
         <if test="deviceCode!=null and deviceCode!=''">
-            where device_code=#{deviceCode}
+            and device_code like '%${deviceCode}%'
         </if>
-        ) a ON a.deviceCode=b.device_code
-LEFT JOIN group_egg g ON a.deviceCode=g.device_code
-GROUP BY a.deviceCode
+        ) a ON a.deviceCode=b.device_code and a.batchNum=b.batch_num
+LEFT JOIN group_egg g ON a.deviceCode=g.device_code and a.batchNum=g.batch_num
+GROUP BY a.id
     </select>
 
     <select id="breedingRank" resultType="com.huimv.guowei.admin.group.entity.vo.BreedingVo">
-        select a.deviceCode 'deviceCode',a.dayAge 'dayAge',a.unitId 'unitId',a.unitName 'unitName',a.batchNum 'batchNum',IFNULL(g.egg_count,'0') 'eggCount'
+        select a.id 'id',a.deviceCode 'deviceCode',a.dayAge 'dayAge',a.unitId 'unitId',a.unitName 'unitName',a.batchNum 'batchNum',IFNULL(g.egg_count,'0') 'eggCount'
         ,CONVERT(IFNULL(sum(case when b.eating_date >= #{today} then b.eating_value else 0 END),'0'),DECIMAL(10,2)) as 'feedingDay',
         CONVERT(IFNULL(sum(case when b.eating_date >= #{month} then b.eating_value else 0 END),'0'),DECIMAL(10,2)) as 'feedingMonth'
         ,IFNULL(sum(case when g.egg_date >= #{today} then g.egg_num else 0 END),'0') as 'eggDay',
         IFNULL(sum(case when g.egg_date >= #{month} then g.egg_num else 0 END),'0') as 'eggMonth',
         IFNULL(sum(b.eating_value),'0') 'feedingCount'
         FROM group_eating b RIGHT JOIN
-        (select device_code 'deviceCode',unit_id 'unitId',unit_name 'unitName',day_num 'dayAge',batch_num 'batchNum' FROM group_duck_info
+        (select id 'id',device_code 'deviceCode',unit_id 'unitId',unit_name 'unitName',day_num 'dayAge',batch_num 'batchNum' FROM group_duck_info
         ) a ON a.deviceCode=b.device_code
         LEFT JOIN group_egg g ON a.deviceCode=g.device_code
-        GROUP BY a.deviceCode
+        GROUP BY a.id
     </select>
 
     <select id="breedingList1" resultType="com.huimv.guowei.admin.group.entity.vo.BreedingVo">
-     select a.deviceCode 'deviceCode',a.dayAge 'dayAge',a.unitId 'unitId',a.unitName 'unitName',a.batchNum 'batchNum',IFNULL(g.egg_count,'0') 'eggCount'
+     select a.id 'id',a.deviceCode 'deviceCode',a.dayAge 'dayAge',a.unitId 'unitId',a.unitName 'unitName',a.batchNum 'batchNum',IFNULL(g.egg_count,'0') 'eggCount'
       ,CONVERT(IFNULL(sum(case when b.eating_date >= #{today} then b.eating_value else 0 END),'0'),DECIMAL(10,2)) as 'feedingDay',
             CONVERT(IFNULL(sum(case when b.eating_date >= #{month} then b.eating_value else 0 END),'0'),DECIMAL(10,2)) as 'feedingMonth'
             ,IFNULL(sum(case when g.egg_date >= #{today} then g.egg_num else 0 END),'0') as 'eggDay',
             IFNULL(sum(case when g.egg_date >= #{month} then g.egg_num else 0 END),'0') as 'eggMonth',
             IFNULL(sum(b.eating_value),'0') 'feedingCount'
 						FROM group_eating b RIGHT JOIN
-(select device_code 'deviceCode',unit_id 'unitId',unit_name 'unitName',day_num 'dayAge',batch_num 'batchNum' FROM group_duck_info where farm_id=#{farmId} and device_code=#{deviceCode}) a ON a.deviceCode=b.device_code
+(select id 'id',device_code 'deviceCode',unit_id 'unitId',unit_name 'unitName',day_num 'dayAge',batch_num 'batchNum' FROM group_duck_info where farm_id=#{farmId}
+and device_code like '%${deviceCode}%') a ON a.deviceCode=b.device_code
 LEFT JOIN group_egg g ON a.deviceCode=g.device_code
-GROUP BY a.deviceCode
+GROUP BY a.id
+    </select>
+    <select id="breedingList2" resultType="com.huimv.guowei.admin.group.entity.vo.BreedingVo">
+     select a.id 'id',a.deviceCode 'deviceCode',a.dayAge 'dayAge',a.unitId 'unitId',a.unitName 'unitName',a.batchNum 'batchNum',IFNULL(g.egg_count,'0') 'eggCount'
+      ,CONVERT(IFNULL(sum(case when b.eating_date >= #{today} then b.eating_value else 0 END),'0'),DECIMAL(10,2)) as 'feedingDay',
+            CONVERT(IFNULL(sum(case when b.eating_date >= #{month} then b.eating_value else 0 END),'0'),DECIMAL(10,2)) as 'feedingMonth'
+            ,IFNULL(sum(case when g.egg_date >= #{today} then g.egg_num else 0 END),'0') as 'eggDay',
+            IFNULL(sum(case when g.egg_date >= #{month} then g.egg_num else 0 END),'0') as 'eggMonth',
+            IFNULL(sum(b.eating_value),'0') 'feedingCount'
+						FROM group_eating b RIGHT JOIN
+(select id 'id', device_code 'deviceCode',unit_id 'unitId',unit_name 'unitName',day_num 'dayAge',batch_num 'batchNum' FROM group_duck_info where farm_id=#{farmId}
+and device_code like '%${deviceCode}%') a ON a.deviceCode=b.device_code
+LEFT JOIN group_egg g ON a.deviceCode=g.device_code
+GROUP BY a.id
     </select>
 
     <update id="updateDayAge">

+ 2 - 2
huimv-admin/src/main/resources/mapper/GroupEatingMapper.xml

@@ -12,7 +12,7 @@
     <select id="getCount" resultType="com.huimv.guowei.admin.group.entity.vo.EggAndFeedingVo">
         select IFNULL(sum(a.eating_value),'0') 'feedingCount',IFNULL(sum(b.egg_num),'0') 'eggCount' from group_eating a inner join group_egg b
         on a.device_code=b.device_code
-        where a.device_code=#{deviceCode}
+        where a.device_code=#{deviceCode} and a.batch_num=#{batchNum}
         <if test="startTime !=null and startTime!=''">
             and a.eating_date >=#{startTime}
         </if>
@@ -52,6 +52,6 @@
 
     <select id="getEating" resultType="com.huimv.guowei.admin.group.entity.vo.GroupEatingVo">
         select device_code 'deviceCode',IFNULL(sum(eating_value),'0') 'values' from group_eating
-        where device_code=#{deviceCode}
+        where device_code=#{deviceCode} and batch_num=#{batchNum}
     </select>
 </mapper>

+ 6 - 6
huimv-admin/src/main/resources/mapper/GroupFeedingEggMapper.xml

@@ -11,17 +11,17 @@
     </select>
 
     <select id="screenBreed" resultType="com.huimv.guowei.admin.group.entity.dto.ScreenBreedVo">
-        select CONVERT(IFNULL(sum(feed_value),'0'),decimal(10,2)) 'values',date_time 'createDate' from group_feeding_egg
+        select CONVERT(IFNULL(sum(eating_value),'0'),decimal(10,2)) 'values',create_time 'createDate' from group_eating
         ${ew.customSqlSegment}
-        group by DATE_FORMAT(date_time,'%y-%m-%d')
-        order by date_time asc
+        group by DATE_FORMAT(create_time,'%y-%m-%d')
+        order by create_time asc
     </select>
 
     <select id="screenBreedMonth" resultType="com.huimv.guowei.admin.group.entity.dto.ScreenBreedVo">
-        select CONVERT(IFNULL(sum(feed_value),'0'),decimal(10,2)) 'values',date_time 'createDate' from group_feeding_egg
+        select CONVERT(IFNULL(sum(eating_value),'0'),decimal(10,2)) 'values',create_time 'createDate' from group_eating
         ${ew.customSqlSegment}
-        group by DATE_FORMAT(date_time,'%y-%m')
-        order by date_time asc
+        group by DATE_FORMAT(create_time,'%y-%m')
+        order by create_time asc
     </select>
 
 </mapper>

+ 1 - 1
huimv-admin/src/main/resources/mapper/GroupRankMapper.xml

@@ -3,7 +3,7 @@
 <mapper namespace="com.huimv.guowei.admin.group.mapper.GroupRankMapper">
 
     <select id="getList" resultType="com.huimv.guowei.admin.group.entity.GroupRank">
-     select device_code 'deviceCode',date_time 'dateTime',egg_num 'eggNum',egg_weight 'eggWeight',eating_value 'eatingValue',
+     select device_code 'deviceCode',date_time 'dateTime',IFNULL(sum(egg_num),'0') 'eggNum',IFNULL(sum(egg_weight),'0') 'eggWeight',IFNULL(sum(eating_value),'0') 'eatingValue',
      farm_id 'farmId',eating_egg 'eatingEgg' from group_rank
        ${ew.customSqlSegment}
         GROUP BY DATE_FORMAT(date_time,'%Y-%m')