Ver Fonte

体尺、孵化、蛋质、设备、栋舍

Newspaper há 2 anos atrás
pai
commit
b5be17e0dd
22 ficheiros alterados com 416 adições e 2 exclusões
  1. 5 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/controller/BaseBuildingController.java
  2. 39 2
      huimv-admin/src/main/java/com/huimv/guowei/admin/controller/DuckBodySizeInfoController.java
  3. 39 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/controller/DuckEggTextureInfoController.java
  4. 45 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/controller/DuckIncubateInfoController.java
  5. 80 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/controller/EnvDeviceController.java
  6. 3 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/entity/DuckBodySizeInfo.java
  7. 4 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/entity/DuckEggTextureInfo.java
  8. 4 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/entity/DuckIncubateInfo.java
  9. 9 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/entity/vo/DuckBodySizeInfoVo.java
  10. 7 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/mapper/DuckBodySizeInfoMapper.java
  11. 4 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/mapper/DuckEggTextureInfoMapper.java
  12. 4 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/mapper/DuckIncubateInfoMapper.java
  13. 2 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/IBaseBuildingService.java
  14. 6 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/IDuckBodySizeInfoService.java
  15. 6 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/IDuckEggTextureInfoService.java
  16. 8 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/IDuckIncubateInfoService.java
  17. 34 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/BaseBuildingServiceImpl.java
  18. 30 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/DuckBodySizeInfoServiceImpl.java
  19. 32 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/DuckEggTextureInfoServiceImpl.java
  20. 40 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/DuckIncubateInfoServiceImpl.java
  21. 10 0
      huimv-admin/src/main/resources/mapper/DuckBodySizeInfoMapper.xml
  22. 5 0
      huimv-admin/src/main/resources/mapper/DuckIncubateInfoMapper.xml

+ 5 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/controller/BaseBuildingController.java

@@ -30,6 +30,11 @@ public class BaseBuildingController {
         return baseBuildingService.addBuilding(baseBuilding);
     }
 
+    @PostMapping("/addSubBuilding")
+    public Result addSubBuilding(@RequestBody Map<String, String> map) {
+        return baseBuildingService.addSubBuilding(map);
+    }
+
 //    @PostMapping( "/addUnit")
 //    public Result addUnit(@RequestBody BasePigpen basePigpen) {
 //        BasePigpen byId = basePigpenService.getById(basePigpen.getParentId());

+ 39 - 2
huimv-admin/src/main/java/com/huimv/guowei/admin/controller/DuckBodySizeInfoController.java

@@ -1,9 +1,13 @@
 package com.huimv.guowei.admin.controller;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.huimv.guowei.admin.common.utils.Result;
+import com.huimv.guowei.admin.entity.DuckBodySizeInfo;
+import com.huimv.guowei.admin.service.IDuckBodySizeInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import java.util.Map;
 
 /**
  * <p>
@@ -15,6 +19,39 @@ import org.springframework.web.bind.annotation.RestController;
  */
 @RestController
 @RequestMapping("/duck-body-size-info")
+@CrossOrigin
 public class DuckBodySizeInfoController {
+    @Autowired
+    private IDuckBodySizeInfoService duckBodySizeInfoService;
+
+    @PostMapping("/addInfo")
+    public Result addInfo(@RequestBody DuckBodySizeInfo duckBodySizeInfo){
+        duckBodySizeInfoService.save(duckBodySizeInfo);
+        return Result.SUCCESS();
+    }
+
+    @PostMapping("/deleteInfo")
+    public Result deleteInfo(@RequestBody Map<String, String> paramsMap){
+        String id = paramsMap.get("id");
+        duckBodySizeInfoService.removeById(id);
+        return Result.SUCCESS();
+    }
+
+    @PostMapping("/updateInfo")
+    public Result updateInfo(@RequestBody DuckBodySizeInfo duckBodySizeInfo){
+        duckBodySizeInfoService.updateById(duckBodySizeInfo);
+        return Result.SUCCESS();
+    }
+
+    @PostMapping("/listInfo")
+    public Result listInfo(@RequestBody Map<String, String> paramsMap){
+        return duckBodySizeInfoService.listLimitInfo(paramsMap);
+    }
+
+    @PostMapping("/listPageInfo")
+    public Result listPageInfo(@RequestBody Map<String, String> paramsMap){
+        return duckBodySizeInfoService.listPageInfo(paramsMap);
+    }
+
 
 }

+ 39 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/controller/DuckEggTextureInfoController.java

@@ -1,10 +1,18 @@
 package com.huimv.guowei.admin.controller;
 
 
+import com.huimv.guowei.admin.common.utils.Result;
+import com.huimv.guowei.admin.entity.DuckEggTextureInfo;
+import com.huimv.guowei.admin.service.IDuckEggTextureInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Map;
+
 /**
  * <p>
  *  前端控制器
@@ -16,5 +24,36 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RequestMapping("/duck-egg-texture-info")
 public class DuckEggTextureInfoController {
+    @Autowired
+    private IDuckEggTextureInfoService duckEggTextureInfoService;
+
+    @PostMapping("/addInfo")
+    public Result addInfo(@RequestBody DuckEggTextureInfo duckEggTextureInfo){
+        duckEggTextureInfoService.save(duckEggTextureInfo);
+        return Result.SUCCESS();
+    }
+
+    @PostMapping("/deleteInfo")
+    public Result deleteInfo(@RequestBody Map<String, String> paramsMap){
+        String id = paramsMap.get("id");
+        duckEggTextureInfoService.removeById(id);
+        return Result.SUCCESS();
+    }
+
+    @PostMapping("/updateInfo")
+    public Result updateInfo(@RequestBody DuckEggTextureInfo duckEggTextureInfo){
+        duckEggTextureInfoService.updateById(duckEggTextureInfo);
+        return Result.SUCCESS();
+    }
+
+    @PostMapping("/listInfo")
+    public Result listInfo(@RequestBody Map<String, String> paramsMap){
+        return duckEggTextureInfoService.listLimitInfo(paramsMap);
+    }
+
+    @PostMapping("/listPageInfo")
+    public Result listPageInfo(@RequestBody Map<String, String> paramsMap){
+        return duckEggTextureInfoService.listPageInfo(paramsMap);
+    }
 
 }

+ 45 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/controller/DuckIncubateInfoController.java

@@ -1,10 +1,19 @@
 package com.huimv.guowei.admin.controller;
 
 
+import com.huimv.guowei.admin.common.utils.Result;
+import com.huimv.guowei.admin.entity.DuckEggTextureInfo;
+import com.huimv.guowei.admin.entity.DuckIncubateInfo;
+import com.huimv.guowei.admin.service.IDuckIncubateInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Map;
+
 /**
  * <p>
  * 孵化登记 前端控制器
@@ -16,5 +25,41 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RequestMapping("/duck-incubate-info")
 public class DuckIncubateInfoController {
+    @Autowired
+    private IDuckIncubateInfoService duckIncubateInfoService;
+
+    @PostMapping("/addInfo")
+    public Result addInfo(@RequestBody DuckIncubateInfo duckIncubateInfo){
+        duckIncubateInfoService.save(duckIncubateInfo);
+        return Result.SUCCESS();
+    }
+
+    @PostMapping("/deleteInfo")
+    public Result deleteInfo(@RequestBody Map<String, String> paramsMap){
+        String id = paramsMap.get("id");
+        duckIncubateInfoService.removeById(id);
+        return Result.SUCCESS();
+    }
+
+    @PostMapping("/updateInfo")
+    public Result updateInfo(@RequestBody DuckIncubateInfo duckIncubateInfo){
+        duckIncubateInfoService.updateById(duckIncubateInfo);
+        return Result.SUCCESS();
+    }
+
+    @PostMapping("/listInfo")
+    public Result listInfo(@RequestBody Map<String, String> paramsMap){
+        return duckIncubateInfoService.listLimitInfo(paramsMap);
+    }
+
+    @PostMapping("/listPageInfo")
+    public Result listPageInfo(@RequestBody Map<String, String> paramsMap){
+        return duckIncubateInfoService.listPageInfo(paramsMap);
+    }
+
+    @PostMapping("/listWeekInfo")
+    public Result listWeekInfo(@RequestBody Map<String, String> paramsMap){
+        return duckIncubateInfoService.listWeekInfo(paramsMap);
+    }
 
 }

+ 80 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/controller/EnvDeviceController.java

@@ -7,7 +7,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huimv.guowei.admin.common.utils.Result;
 import com.huimv.guowei.admin.common.utils.ResultCode;
 import com.huimv.guowei.admin.entity.EnvDevice;
+import com.huimv.guowei.admin.entity.EnvDeviceEquipment;
+import com.huimv.guowei.admin.service.IEnvDeviceEquipmentService;
 import com.huimv.guowei.admin.service.IEnvDeviceService;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -27,6 +31,8 @@ import java.util.Map;
 public class EnvDeviceController {
     @Resource
     private IEnvDeviceService envDeviceService;
+    @Resource
+    private IEnvDeviceEquipmentService envDeviceEquipmentService;
     @PostMapping("/listDevice")
     public Result listDevice(@RequestBody Map<String ,String> paramsMap){
         String deviceType = paramsMap.get("deviceType");
@@ -40,5 +46,79 @@ public class EnvDeviceController {
                         .eq("farm_id",farmId)));
     }
 
+    @PostMapping("/addDevice")
+    @Transactional(rollbackFor = RuntimeException.class)
+    public Result addDevice(@RequestBody Map<String ,Object> paramsMap){
+        String deviceCode = (String) paramsMap.get("deviceCode");
+        Integer unitId = (Integer) paramsMap.get("unitId");
+        String unitName = (String) paramsMap.get("unitName");
+        Integer farmId = (Integer) paramsMap.get("farmId");
+        Integer deviceType = (Integer) paramsMap.get("deviceType");
+        String deviceName = unitName;
+        switch (deviceType){
+            case 1: deviceName += "环控";
+            break;
+            case 2: deviceName += "移动电子秤";
+            break;
+            case 3: deviceName += "固定电子秤";
+            break;
+        }
+        EnvDevice envDevice = new EnvDevice();
+        envDevice.setDeviceCode(deviceCode);
+        envDevice.setDeviceName(deviceName);
+        envDevice.setDeviceType(deviceType);
+        if (deviceType != 3){
+            envDevice.setUnitName(unitName);
+            envDevice.setUnitId(unitId);
+        }
+        envDevice.setFarmId(farmId);
+        envDeviceService.save(envDevice);
+        //环控设备
+        if (deviceType == 1){
+            Integer[] list = (Integer[]) paramsMap.get("list");
+            int fan = 1;
+            int tp = 1;
+            int spray = 1;
+            for (int i = 0; i <list.length ; i++) {
+                EnvDeviceEquipment envDeviceEquipment = new EnvDeviceEquipment();
+                envDeviceEquipment.setEquipmentPort(i+1);
+                envDeviceEquipment.setUnitId(unitId);
+                envDeviceEquipment.setDeviceCode(deviceCode);
+                switch (list[i]){
+                    case 1:
+                        envDeviceEquipment.setEquipmentName("风机"+fan);
+                        envDeviceEquipment.setDeviceAlias(unitName+"风机");
+                        fan++;
+                    break;
+                    case 2:
+                        envDeviceEquipment.setEquipmentName("传送带"+tp);
+                        envDeviceEquipment.setDeviceAlias(unitName+"传送带");
+                        tp++;
+                    break;
+                    case 3:
+                        envDeviceEquipment.setEquipmentName("喷雾"+spray);
+                        envDeviceEquipment.setDeviceAlias(unitName+"喷雾");
+                        spray++;
+                    break;
+                }
+                if (!envDeviceEquipmentService.save(envDeviceEquipment)) {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return new Result(10001,"操作失败",false);
+                }
+            }
+        }
+        return Result.SUCCESS();
+    }
+
+    @PostMapping("/deleteDevice")
+    @Transactional
+    public Result deleteDevice(@RequestBody Map<String ,String> paramsMap){
+        String deviceCode = paramsMap.get("deviceCode");
+        envDeviceService.remove(new QueryWrapper<EnvDevice>().eq("device_code",deviceCode));
+        envDeviceEquipmentService.remove(new QueryWrapper<EnvDeviceEquipment>().eq("device_code",deviceCode));
+        return Result.SUCCESS();
+    }
+
+
 
 }

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

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -47,6 +49,7 @@ public class DuckBodySizeInfo implements Serializable {
     /**
      * 测量日期
      */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
     private LocalDateTime measureDate;
 
     /**

+ 4 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/entity/DuckEggTextureInfo.java

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -47,11 +49,13 @@ public class DuckEggTextureInfo implements Serializable {
     /**
      * 产蛋日期
      */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
     private LocalDateTime layEggsTime;
 
     /**
      * 测定日期
      */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
     private LocalDateTime determineTime;
 
     /**

+ 4 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/entity/DuckIncubateInfo.java

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -47,6 +49,7 @@ public class DuckIncubateInfo implements Serializable {
     /**
      * 产蛋日期
      */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
     private LocalDateTime layEggsTime;
 
     /**
@@ -57,6 +60,7 @@ public class DuckIncubateInfo implements Serializable {
     /**
      * 孵化日期
      */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
     private LocalDateTime incubateTime;
 
     /**

+ 9 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/entity/vo/DuckBodySizeInfoVo.java

@@ -0,0 +1,9 @@
+package com.huimv.guowei.admin.entity.vo;
+
+import com.huimv.guowei.admin.entity.DuckBodySizeInfo;
+import lombok.Data;
+
+@Data
+public class DuckBodySizeInfoVo extends DuckBodySizeInfo {
+    private Integer dayAge;
+}

+ 7 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/mapper/DuckBodySizeInfoMapper.java

@@ -1,7 +1,11 @@
 package com.huimv.guowei.admin.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huimv.guowei.admin.entity.DuckBodySizeInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.guowei.admin.entity.vo.DuckBodySizeInfoVo;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +17,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface DuckBodySizeInfoMapper extends BaseMapper<DuckBodySizeInfo> {
 
+    List<DuckBodySizeInfoVo> listLimitInfo(String num, String farmId);
+
+    Page<DuckBodySizeInfoVo> listPageInfo(Page<DuckBodySizeInfoVo> page, String unitName, String farmId);
 }

+ 4 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/mapper/DuckEggTextureInfoMapper.java

@@ -1,8 +1,11 @@
 package com.huimv.guowei.admin.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huimv.guowei.admin.entity.DuckEggTextureInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
+import java.util.List;
+
 /**
  * <p>
  *  Mapper 接口
@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface DuckEggTextureInfoMapper extends BaseMapper<DuckEggTextureInfo> {
 
+    List<DuckEggTextureInfo> listLimitInfo(String farmId, String num);
 }

+ 4 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/mapper/DuckIncubateInfoMapper.java

@@ -1,8 +1,11 @@
 package com.huimv.guowei.admin.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huimv.guowei.admin.entity.DuckIncubateInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
+import java.util.List;
+
 /**
  * <p>
  * 孵化登记 Mapper 接口
@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface DuckIncubateInfoMapper extends BaseMapper<DuckIncubateInfo> {
 
+    List<DuckIncubateInfo> listWeekInfo(String farmId, String unitName);
 }

+ 2 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/IBaseBuildingService.java

@@ -27,4 +27,6 @@ public interface IBaseBuildingService extends IService<BaseBuilding> {
     Result listBuilding(Map<String, String> map);
 
     Result listTreeBuilding(Map<String, String> map);
+
+    Result addSubBuilding(Map<String, String> map);
 }

+ 6 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/IDuckBodySizeInfoService.java

@@ -1,8 +1,11 @@
 package com.huimv.guowei.admin.service;
 
+import com.huimv.guowei.admin.common.utils.Result;
 import com.huimv.guowei.admin.entity.DuckBodySizeInfo;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.Map;
+
 /**
  * <p>
  *  服务类
@@ -13,4 +16,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IDuckBodySizeInfoService extends IService<DuckBodySizeInfo> {
 
+    Result listLimitInfo(Map<String, String> paramsMap);
+
+    Result listPageInfo(Map<String, String> paramsMap);
 }

+ 6 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/IDuckEggTextureInfoService.java

@@ -1,8 +1,11 @@
 package com.huimv.guowei.admin.service;
 
+import com.huimv.guowei.admin.common.utils.Result;
 import com.huimv.guowei.admin.entity.DuckEggTextureInfo;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.Map;
+
 /**
  * <p>
  *  服务类
@@ -13,4 +16,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IDuckEggTextureInfoService extends IService<DuckEggTextureInfo> {
 
+    Result listLimitInfo(Map<String, String> paramsMap);
+
+    Result listPageInfo(Map<String, String> paramsMap);
 }

+ 8 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/IDuckIncubateInfoService.java

@@ -1,8 +1,11 @@
 package com.huimv.guowei.admin.service;
 
+import com.huimv.guowei.admin.common.utils.Result;
 import com.huimv.guowei.admin.entity.DuckIncubateInfo;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.Map;
+
 /**
  * <p>
  * 孵化登记 服务类
@@ -13,4 +16,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IDuckIncubateInfoService extends IService<DuckIncubateInfo> {
 
+    Result listLimitInfo(Map<String, String> paramsMap);
+
+    Result listPageInfo(Map<String, String> paramsMap);
+
+    Result listWeekInfo(Map<String, String> paramsMap);
 }

+ 34 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/BaseBuildingServiceImpl.java

@@ -19,9 +19,11 @@ import com.huimv.guowei.admin.service.IBaseBuildingService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -143,6 +145,38 @@ public class BaseBuildingServiceImpl extends ServiceImpl<BaseBuildingMapper, Bas
         return new Result(ResultCode.SUCCESS,treeBaseBuildings);
     }
 
+    @Override
+    @Transactional(rollbackFor = RuntimeException.class)
+    public Result addSubBuilding(Map<String, String> map) {
+        String farmId = map.get("farmId");
+        String parentId = map.get("parentId");
+        String num = map.get("cageNum");
+        String stageCode = map.get("stageCode");
+
+        BaseBuilding baseBuilding = baseBuildingMapper.selectById(parentId);
+        String buildName = baseBuilding.getBuildName();
+
+        List<BaseBuilding> baseBuildingList = baseBuildingMapper.selectList(new QueryWrapper<BaseBuilding>().eq("parent_id", parentId));
+        System.out.println(num);
+        for (int i = 0; i < Integer.parseInt(num); i++) {
+            BaseBuilding building = new BaseBuilding();
+            int no = baseBuildingList.size()+i+1;
+            building.setBuildName(buildName+no+"笼");
+            building.setParentId(Integer.valueOf(parentId));
+            building.setFType(2);
+            building.setStageCode(Integer.valueOf(stageCode));
+            building.setFarmId(Integer.parseInt(farmId));
+            building.setCageName(no+"笼");
+            if (baseBuildingMapper.insert(building) != 1){
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return new Result(10001,"操作失败",false);
+            }
+        }
+        baseBuilding.setCageNum(baseBuilding.getCageNum()+Integer.parseInt(num));
+        baseBuildingMapper.updateById(baseBuilding);
+        return Result.SUCCESS();
+    }
+
 
 //    @Override
 //    public Result list(String farmCode, String buildName, String stageCode) {

+ 30 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/DuckBodySizeInfoServiceImpl.java

@@ -1,11 +1,21 @@
 package com.huimv.guowei.admin.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huimv.guowei.admin.common.utils.Result;
+import com.huimv.guowei.admin.common.utils.ResultCode;
 import com.huimv.guowei.admin.entity.DuckBodySizeInfo;
+import com.huimv.guowei.admin.entity.vo.DuckBodySizeInfoVo;
 import com.huimv.guowei.admin.mapper.DuckBodySizeInfoMapper;
 import com.huimv.guowei.admin.service.IDuckBodySizeInfoService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  *  服务实现类
@@ -16,5 +26,25 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class DuckBodySizeInfoServiceImpl extends ServiceImpl<DuckBodySizeInfoMapper, DuckBodySizeInfo> implements IDuckBodySizeInfoService {
+    @Resource
+    private DuckBodySizeInfoMapper duckBodySizeInfoMapper;
+
+    @Override
+    public Result listLimitInfo(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String num = paramsMap.get("num");
+        List<DuckBodySizeInfoVo> duckBodySizeInfoList = duckBodySizeInfoMapper.listLimitInfo(num,farmId);
+        return new Result(ResultCode.SUCCESS,duckBodySizeInfoList);
+    }
 
+    @Override
+    public Result listPageInfo(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String pageNo = paramsMap.get("pageNum");
+        String pageSize = paramsMap.get("pageSize");
+        String unitName = paramsMap.get("unitName");
+        Page<DuckBodySizeInfoVo> page = new Page(Integer.parseInt(pageNo),Integer.parseInt(pageSize));
+        Page<DuckBodySizeInfoVo> duckBodySizeInfoPage = duckBodySizeInfoMapper.listPageInfo(page,unitName,farmId);
+        return new Result(ResultCode.SUCCESS,duckBodySizeInfoPage);
+    }
 }

+ 32 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/DuckEggTextureInfoServiceImpl.java

@@ -1,11 +1,21 @@
 package com.huimv.guowei.admin.service.impl;
 
+import com.alibaba.druid.util.StringUtils;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huimv.guowei.admin.common.utils.Result;
+import com.huimv.guowei.admin.common.utils.ResultCode;
+import com.huimv.guowei.admin.entity.DuckBodySizeInfo;
 import com.huimv.guowei.admin.entity.DuckEggTextureInfo;
 import com.huimv.guowei.admin.mapper.DuckEggTextureInfoMapper;
 import com.huimv.guowei.admin.service.IDuckEggTextureInfoService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  *  服务实现类
@@ -16,5 +26,27 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class DuckEggTextureInfoServiceImpl extends ServiceImpl<DuckEggTextureInfoMapper, DuckEggTextureInfo> implements IDuckEggTextureInfoService {
+    @Resource
+    private DuckEggTextureInfoMapper duckEggTextureInfoMapper;
+
+    @Override
+    public Result listLimitInfo(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String num = paramsMap.get("num");
+        List<DuckEggTextureInfo> duckEggTextureInfoList = duckEggTextureInfoMapper.selectList(new QueryWrapper<DuckEggTextureInfo>()
+                .eq("farm_id",farmId).orderByDesc("determine_time").last("limit "+num));
+        return new Result(ResultCode.SUCCESS,duckEggTextureInfoList);
+    }
 
+    @Override
+    public Result listPageInfo(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String pageNo = paramsMap.get("pageNum");
+        String pageSize = paramsMap.get("pageSize");
+        String unitName = paramsMap.get("unitName");
+        Page<DuckEggTextureInfo> page = new Page(Integer.parseInt(pageNo),Integer.parseInt(pageSize));
+        Page<DuckEggTextureInfo> duckEggTextureInfoPage = duckEggTextureInfoMapper.selectPage(page,
+                new QueryWrapper<DuckEggTextureInfo>().like("unit_name",unitName).eq("farm_id",farmId));
+        return new Result(ResultCode.SUCCESS,duckEggTextureInfoPage);
+    }
 }

+ 40 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/DuckIncubateInfoServiceImpl.java

@@ -1,11 +1,21 @@
 package com.huimv.guowei.admin.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huimv.guowei.admin.common.utils.Result;
+import com.huimv.guowei.admin.common.utils.ResultCode;
+import com.huimv.guowei.admin.entity.DuckBodySizeInfo;
+import com.huimv.guowei.admin.entity.DuckEggTextureInfo;
 import com.huimv.guowei.admin.entity.DuckIncubateInfo;
 import com.huimv.guowei.admin.mapper.DuckIncubateInfoMapper;
 import com.huimv.guowei.admin.service.IDuckIncubateInfoService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 孵化登记 服务实现类
@@ -16,5 +26,35 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class DuckIncubateInfoServiceImpl extends ServiceImpl<DuckIncubateInfoMapper, DuckIncubateInfo> implements IDuckIncubateInfoService {
+    @Resource
+    private DuckIncubateInfoMapper duckIncubateInfoMapper;
+
+    @Override
+    public Result listLimitInfo(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String num = paramsMap.get("num");
+        List<DuckIncubateInfo> duckIncubateInfoList = duckIncubateInfoMapper.selectList(new QueryWrapper<DuckIncubateInfo>()
+                .eq("farm_id",farmId).orderByDesc("incubate_time").last("limit "+num));
+        return new Result(ResultCode.SUCCESS,duckIncubateInfoList);
+    }
+
+    @Override
+    public Result listPageInfo(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String pageNo = paramsMap.get("pageNum");
+        String pageSize = paramsMap.get("pageSize");
+        String unitName = paramsMap.get("unitName");
+        Page<DuckIncubateInfo> page = new Page(Integer.parseInt(pageNo),Integer.parseInt(pageSize));
+        Page<DuckIncubateInfo> duckIncubateInfoPage = duckIncubateInfoMapper.selectPage(page,
+                new QueryWrapper<DuckIncubateInfo>().eq("farm_id",farmId).like("unit_name",unitName));
+        return new Result(ResultCode.SUCCESS,duckIncubateInfoPage);
+    }
 
+    @Override
+    public Result listWeekInfo(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String unitName = paramsMap.get("unitName");
+        List<DuckIncubateInfo> duckIncubateInfoList = duckIncubateInfoMapper.listWeekInfo(farmId,unitName);
+        return new Result(ResultCode.SUCCESS,duckIncubateInfoList);
+    }
 }

+ 10 - 0
huimv-admin/src/main/resources/mapper/DuckBodySizeInfoMapper.xml

@@ -23,4 +23,14 @@
         <result column="farm_id" property="farmId" />
     </resultMap>
 
+    <select id="listLimitInfo" resultType="com.huimv.guowei.admin.entity.vo.DuckBodySizeInfoVo">
+        SELECT s.*,b.day_age FROM `duck_body_size_info` s LEFT JOIN `base_duck_info` b ON s.duck_id = b.id
+        WHERE s.farm_id = #{farmId} ORDER BY s.measure_date DESC LIMIT ${num}
+    </select>
+
+    <select id="listPageInfo" resultType="com.huimv.guowei.admin.entity.vo.DuckBodySizeInfoVo">
+        SELECT s.*,b.day_age FROM `duck_body_size_info` s LEFT JOIN `base_duck_info` b ON s.duck_id = b.id
+        WHERE s.farm_id = #{farmId} AND s.unit_name Like '%${unitName}%' ORDER BY s.measure_date DESC
+    </select>
+
 </mapper>

+ 5 - 0
huimv-admin/src/main/resources/mapper/DuckIncubateInfoMapper.xml

@@ -19,4 +19,9 @@
         <result column="farm_id" property="farmId" />
     </resultMap>
 
+    <select id="listWeekInfo" resultType="com.huimv.guowei.admin.entity.DuckIncubateInfo">
+        SELECT incubate_time,SUM(incubate_num) AS incubate_num FROM `duck_incubate_info`
+        WHERE farm_id = #{farmId} AND unit_name LIKE '%${unitName}%' AND incubate_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
+        GROUP BY DATE_FORMAT(incubate_time,"%y-%m-%d")
+    </select>
 </mapper>