wwh 10 mesiacov pred
rodič
commit
e5f85f1a43
100 zmenil súbory, kde vykonal 2132 pridanie a 245 odobranie
  1. 2 1
      huimv-huyang-admin/src/main/java/com/huimv/admin/config/InterceptorConfig.java
  2. 8 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/controller/BreedAblactationController.java
  3. 6 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/controller/BreedChildbirthController.java
  4. 14 6
      huimv-huyang-admin/src/main/java/com/huimv/admin/controller/BreedTuppingController.java
  5. 10 6
      huimv-huyang-admin/src/main/java/com/huimv/admin/controller/BreedVaccinationRecordController.java
  6. 64 41
      huimv-huyang-admin/src/main/java/com/huimv/admin/controller/EartagController.java
  7. 12 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/controller/ProtEnvDataController.java
  8. 2 2
      huimv-huyang-admin/src/main/java/com/huimv/admin/controller/ProtEnvDeviceController.java
  9. 10 3
      huimv-huyang-admin/src/main/java/com/huimv/admin/controller/ProtSheepInfoController.java
  10. 5 1
      huimv-huyang-admin/src/main/java/com/huimv/admin/controller/ProtWarningController.java
  11. 17 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/controller/CooperateEmployeeController.java
  12. 5 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/controller/CooperateMachiningController.java
  13. 31 1
      huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/controller/CooperateProfitController.java
  14. 5 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/controller/CooperateRecoveryController.java
  15. 7 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/entity/CooperateEmployee.java
  16. 1 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/entity/CooperateMachining.java
  17. 6 1
      huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/entity/CooperateProfit.java
  18. 1 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/entity/CooperateRecovery.java
  19. 14 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/entity/vo/CooperateScreenVo.java
  20. 14 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/entity/vo/CooperateScreenVo2.java
  21. 8 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/mapper/CooperateEmployeeMapper.java
  22. 8 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/mapper/CooperateMachiningMapper.java
  23. 6 1
      huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/mapper/CooperateProfitMapper.java
  24. 7 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/mapper/CooperateRecoveryMapper.java
  25. 3 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/service/ICooperateEmployeeService.java
  26. 3 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/service/ICooperateMachiningService.java
  27. 9 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/service/ICooperateProfitService.java
  28. 3 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/service/ICooperateRecoveryService.java
  29. 19 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/service/impl/CooperateEmployeeServiceImpl.java
  30. 19 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/service/impl/CooperateMachiningServiceImpl.java
  31. 84 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/service/impl/CooperateProfitServiceImpl.java
  32. 19 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/service/impl/CooperateRecoveryServiceImpl.java
  33. 2 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/entity/BreedLeave.java
  34. 2 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/entity/ProtWarning.java
  35. 23 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/entity/vo/ProtDataVo.java
  36. 25 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/entity/vo/ProtDataVo2.java
  37. 17 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/farm/controller/FarmSaleController.java
  38. 4 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/farm/entity/FarmSale.java
  39. 11 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/farm/entity/vo/ScreenSaleVo.java
  40. 1 1
      huimv-huyang-admin/src/main/java/com/huimv/admin/farm/mapper/FarmPurchaseMapper.java
  41. 6 1
      huimv-huyang-admin/src/main/java/com/huimv/admin/farm/mapper/FarmSaleMapper.java
  42. 9 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/farm/service/IFarmSaleService.java
  43. 9 11
      huimv-huyang-admin/src/main/java/com/huimv/admin/farm/service/impl/FarmPurchaseServiceImpl.java
  44. 79 2
      huimv-huyang-admin/src/main/java/com/huimv/admin/farm/service/impl/FarmSaleServiceImpl.java
  45. 1 1
      huimv-huyang-admin/src/main/java/com/huimv/admin/mapper/BreedVaccinationRecordMapper.java
  46. 1 1
      huimv-huyang-admin/src/main/java/com/huimv/admin/mapper/ProtDiseaseMapper.java
  47. 5 1
      huimv-huyang-admin/src/main/java/com/huimv/admin/mapper/ProtEnvDataMapper.java
  48. 1 1
      huimv-huyang-admin/src/main/java/com/huimv/admin/mapper/ProtInvestmentMapper.java
  49. 1 1
      huimv-huyang-admin/src/main/java/com/huimv/admin/mapper/ProtProductionMapper.java
  50. 1 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/mapper/ProtSheepInfoMapper.java
  51. 1 1
      huimv-huyang-admin/src/main/java/com/huimv/admin/mapper/ProtWarningMapper.java
  52. 60 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/controller/ScreenCountController.java
  53. 37 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/controller/ScreenEnvController.java
  54. 58 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/controller/ScreenSaleController.java
  55. 59 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/controller/ScreenStockController.java
  56. 61 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/controller/ScreenWorkingController.java
  57. 60 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/controller/SreccnSummaryController.java
  58. 48 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/entity/ScreenCount.java
  59. 56 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/entity/ScreenEnv.java
  60. 56 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/entity/ScreenSale.java
  61. 76 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/entity/ScreenStock.java
  62. 54 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/entity/ScreenWorking.java
  63. 56 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/entity/SreccnSummary.java
  64. 17 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/entity/vo/ScreenEnvVo.java
  65. 16 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/mapper/ScreenCountMapper.java
  66. 25 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/mapper/ScreenEnvMapper.java
  67. 16 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/mapper/ScreenSaleMapper.java
  68. 16 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/mapper/ScreenStockMapper.java
  69. 16 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/mapper/ScreenWorkingMapper.java
  70. 16 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/mapper/SreccnSummaryMapper.java
  71. 16 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/IScreenCountService.java
  72. 19 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/IScreenEnvService.java
  73. 16 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/IScreenSaleService.java
  74. 16 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/IScreenStockService.java
  75. 16 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/IScreenWorkingService.java
  76. 16 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/ISreccnSummaryService.java
  77. 20 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/impl/ScreenCountServiceImpl.java
  78. 39 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/impl/ScreenEnvServiceImpl.java
  79. 20 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/impl/ScreenSaleServiceImpl.java
  80. 20 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/impl/ScreenStockServiceImpl.java
  81. 20 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/impl/ScreenWorkingServiceImpl.java
  82. 20 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/impl/SreccnSummaryServiceImpl.java
  83. 5 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/service/IBreedAblactationService.java
  84. 2 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/service/IBreedChildbirthService.java
  85. 6 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/service/IProtEnvDataService.java
  86. 10 1
      huimv-huyang-admin/src/main/java/com/huimv/admin/service/IProtSheepInfoService.java
  87. 30 13
      huimv-huyang-admin/src/main/java/com/huimv/admin/service/impl/BaseBuildingServiceImpl.java
  88. 15 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/service/impl/BreedAblactationServiceImpl.java
  89. 9 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/service/impl/BreedChildbirthServiceImpl.java
  90. 20 1
      huimv-huyang-admin/src/main/java/com/huimv/admin/service/impl/BreedLeaveServiceImpl.java
  91. 14 1
      huimv-huyang-admin/src/main/java/com/huimv/admin/service/impl/BreedTuppingServiceImpl.java
  92. 7 2
      huimv-huyang-admin/src/main/java/com/huimv/admin/service/impl/EarmarkThresholdServiceImpl.java
  93. 83 4
      huimv-huyang-admin/src/main/java/com/huimv/admin/service/impl/ProtEnvDataServiceImpl.java
  94. 3 1
      huimv-huyang-admin/src/main/java/com/huimv/admin/service/impl/ProtEnvDeviceServiceImpl.java
  95. 10 3
      huimv-huyang-admin/src/main/java/com/huimv/admin/service/impl/ProtInvestmentServiceImpl.java
  96. 10 4
      huimv-huyang-admin/src/main/java/com/huimv/admin/service/impl/ProtProductionServiceImpl.java
  97. 218 131
      huimv-huyang-admin/src/main/java/com/huimv/admin/service/impl/ProtSheepInfoServiceImpl.java
  98. 22 0
      huimv-huyang-admin/src/main/java/com/huimv/admin/timer/UpdateDayAge.java
  99. 6 0
      huimv-huyang-admin/src/main/resources/mapper/CooperateEmployeeMapper.xml
  100. 0 0
      huimv-huyang-admin/src/main/resources/mapper/CooperateMachiningMapper.xml

+ 2 - 1
huimv-huyang-admin/src/main/java/com/huimv/admin/config/InterceptorConfig.java

@@ -21,6 +21,7 @@ public class InterceptorConfig implements WebMvcConfigurer {
     @Override
     public void addInterceptors(InterceptorRegistry registry) {
         registry.addInterceptor(jwtInterceptor()).
-                excludePathPatterns("/admin/my/*");
+                excludePathPatterns("/admin/my/*",
+                        "/admin/earmark/*");
     }
 }

+ 8 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/controller/BreedAblactationController.java

@@ -39,4 +39,12 @@ public class BreedAblactationController {
         return ablactationService.add(ablactation);
     }
 
+    @RequestMapping("/edit")
+    public Result edit(@RequestBody BreedAblactation ablactation) {
+        return ablactationService.edit(ablactation);
+    }
+    @RequestMapping("/remove")
+    public Result remove(@RequestBody Map<String, String> paramsMap) {
+        return ablactationService.remove(paramsMap);
+    }
 }

+ 6 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/controller/BreedChildbirthController.java

@@ -60,4 +60,10 @@ public class BreedChildbirthController {
         queryWrapper.eq("farm_id", farmId).eq("sheep_id", sheepId);
         return new Result(ResultCode.SUCCESS, childbirthService.list(queryWrapper));
     }
+
+    //种母羊分娩情况
+    @RequestMapping("/birthDetail")
+    public Result birthDetail(@RequestBody Map<String, String> paramsMap) {
+        return childbirthService.birthDetail(paramsMap);
+    }
 }

+ 14 - 6
huimv-huyang-admin/src/main/java/com/huimv/admin/controller/BreedTuppingController.java

@@ -1,6 +1,7 @@
 package com.huimv.admin.controller;
 
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.common.utils.ResultCode;
@@ -14,6 +15,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -47,6 +50,7 @@ public class BreedTuppingController {
     public Result edit(@RequestBody BreedTupping tupping) {
         return tuppingService.edit(tupping);
     }
+
     @RequestMapping("/remove")
     public Result remove(@RequestBody Map<String, String> paramsMap) {
         return tuppingService.remove(paramsMap);
@@ -58,12 +62,16 @@ public class BreedTuppingController {
         String farmId = paramsMap.get("farmId");
         String sheepId = paramsMap.get("sheepId");
         ProtSheepInfo sheepInfo = sheepInfoService.getOne(new QueryWrapper<ProtSheepInfo>().eq("farm_id", farmId).eq("sheep_id", sheepId));
-        QueryWrapper<BreedTupping> queryWrapper = new QueryWrapper<>();
-        if (sheepInfo.getSex() == 0) {
-            queryWrapper.eq("farm_id", farmId).eq("male_code", sheepInfo.getSheepId());
-        } else {
-            queryWrapper.eq("farm_id", farmId).eq("female_code", sheepInfo.getSheepId());
+        List<BreedTupping> list = new ArrayList<>();
+        if (ObjectUtil.isNotEmpty(sheepInfo)) {
+            QueryWrapper<BreedTupping> queryWrapper = new QueryWrapper<>();
+            if (sheepInfo.getSex() == 1) {
+                queryWrapper.eq("farm_id", farmId).eq("male_code", sheepInfo.getSheepId());
+            } else {
+                queryWrapper.eq("farm_id", farmId).eq("female_code", sheepInfo.getSheepId());
+            }
+            list = tuppingService.list(queryWrapper);
         }
-        return new Result(ResultCode.SUCCESS, tuppingService.list(queryWrapper));
+        return new Result(ResultCode.SUCCESS,list);
     }
 }

+ 10 - 6
huimv-huyang-admin/src/main/java/com/huimv/admin/controller/BreedVaccinationRecordController.java

@@ -1,6 +1,7 @@
 package com.huimv.admin.controller;
 
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -18,6 +19,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -39,7 +42,6 @@ public class BreedVaccinationRecordController {
     private IProtSheepInfoService sheepInfoService;
 
 
-
     @RequestMapping("/listPage")
     public Result listPage(@RequestBody Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
@@ -65,18 +67,20 @@ public class BreedVaccinationRecordController {
     public Result listScreen(@RequestBody Map<String, String> paramsMap) {
         return recordService.listScreen(paramsMap);
     }
+
     //羊只管理中的免疫记录
     @RequestMapping("/listById")
     public Result listById(@RequestBody Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
         String sheepId = paramsMap.get("sheepId");
         ProtSheepInfo sheepInfo = sheepInfoService.getOne(new QueryWrapper<ProtSheepInfo>().eq("farm_id", farmId).eq("sheep_id", sheepId));
-        QueryWrapper<BreedVaccinationRecord> queryWrapper = new QueryWrapper<>();
-        if (sheepInfo.getIsBatch() == 0) {
-            queryWrapper.eq("farm_id", farmId).eq("batch_num", sheepInfo.getBatchNum());
-        } else {
+        List<BreedVaccinationRecord> list = new ArrayList<>();
+        if (ObjectUtil.isNotEmpty(sheepInfo)) {
+            QueryWrapper<BreedVaccinationRecord> queryWrapper = new QueryWrapper<>();
             queryWrapper.eq("farm_id", farmId).eq("sheep_id", sheepInfo.getSheepId());
+            list = recordService.list(queryWrapper);
         }
-        return new Result(ResultCode.SUCCESS, recordService.list(queryWrapper));
+        return new Result(ResultCode.SUCCESS, list);
     }
+
 }

+ 64 - 41
huimv-huyang-admin/src/main/java/com/huimv/admin/controller/EartagController.java

@@ -1,9 +1,13 @@
 package com.huimv.admin.controller;
 
 
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.http.Header;
+import cn.hutool.http.HttpRequest;
 import cn.hutool.http.HttpUtil;
 
-import cn.hutool.json.JSONObject;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.huimv.admin.common.utils.Result;
@@ -11,10 +15,7 @@ import com.huimv.admin.common.utils.ResultCode;
 import com.huimv.admin.entity.SheepEarmark;
 import com.huimv.admin.service.ISheepEarmarkService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.CrossOrigin;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -29,13 +30,10 @@ public class EartagController {
 
     //耳标总数量
     @RequestMapping("/earmarkCount")
-    public JSONObject earmarkCount(@RequestBody Map<String, String> paramsMap) {
+    public String earmarkCount(@RequestBody Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
-        HashMap<String, Object> paramMap = new HashMap<>();
-        paramMap.put("farmId", farmId);
-        String result= HttpUtil.get("http://119.3.44.183:8016/manage/device/getNowAllStatus", paramMap);
-        JSONObject jsonObject = new JSONObject(result);
-        return jsonObject;
+        String result = HttpUtil.get("https://eartag.alafarms.com/api/manage/device/getNowAllStatus?farmId=" + Integer.parseInt(farmId));
+        return result;
     }
 
     //耳标列表
@@ -52,16 +50,18 @@ public class EartagController {
             pageSize = "20";
         }
         String unitId = "";
-        HashMap<String, Object> paramMap = new HashMap<>();
-        paramMap.put("farmId", farmId);
-        paramMap.put("earmark", earmark);
-        paramMap.put("deviceCode", deviceCode);
-        paramMap.put("liveStatus", liveStatus);
-        paramMap.put("pageNo", pageNo);
-        paramMap.put("pageSize", pageSize);
-        paramMap.put("unitId", unitId);
-        String result= HttpUtil.post("http://119.3.44.183:8016/manage2/eartagRegister/listFarmUnitEartagData", paramMap);
-        JSONObject jsonObject = new JSONObject(result);
+        JSONObject jsonObject2 = new JSONObject();
+        jsonObject2.put("farmId", farmId);
+        jsonObject2.put("earmark", earmark);
+        jsonObject2.put("deviceCode", deviceCode);
+        jsonObject2.put("liveStatus", liveStatus);
+        jsonObject2.put("pageNo", pageNo);
+        jsonObject2.put("pageSize", pageSize);
+        jsonObject2.put("unitId", unitId);
+        String result = HttpRequest.get("https://eartag.alafarms.com/api/manage2/eartagRegister/listFarmUnitEartagData").header(Header.CONTENT_TYPE, "application/json")
+                .body(jsonObject2.toJSONString())
+                .timeout(30 * 1000).execute().body();
+        JSONObject jsonObject = JSON.parseObject(result);
         return jsonObject;
     }
 
@@ -74,35 +74,58 @@ public class EartagController {
         String endTime = paramsMap.get("endTime");
         String starTime = paramsMap.get("starTime");
         String startDate = paramsMap.get("startDate");
-        HashMap<String, Object> paramMap = new HashMap<>();
-        paramMap.put("farmId", farmId);
-        paramMap.put("earmark", earmark);
-        paramMap.put("endDate", endDate);
-        paramMap.put("endTime", endTime);
-        paramMap.put("starTime", starTime);
-        paramMap.put("startDate", startDate);
-        String result= HttpUtil.get("http://119.3.44.183:8016/manage2/eartagData/getByTimeFilter", paramMap);
-        JSONObject jsonObject = new JSONObject(result);
+        JSONObject jsonObject2 = new JSONObject();
+        jsonObject2.put("farmId", farmId);
+        jsonObject2.put("earmark", earmark);
+        jsonObject2.put("endDate", endDate);
+        jsonObject2.put("endTime", endTime);
+        jsonObject2.put("starTime", starTime);
+        jsonObject2.put("startDate", startDate);
+        String result = HttpRequest.post("https://eartag.alafarms.com/api/manage2/eartagData/getByTimeFilter").header(Header.CONTENT_TYPE, "application/json")
+                .body(jsonObject2.toJSONString())
+                .timeout(30 * 1000).execute().body();
+        JSONObject jsonObject = JSON.parseObject(result);
         return jsonObject;
     }
 
-    @RequestMapping("/add")
-    public void add() {
-        for (int i = 0; i < 180; i++) {
-            SheepEarmark sheepEarmark = new SheepEarmark();
-            sheepEarmark.setFarmId(1);
-            sheepEarmark.setIsUse(0);
-            sheepEarmark.setEarmark(String.valueOf(1010021 + i));
-            earmarkService.save(sheepEarmark);
-        }
+    //大屏在线情况
+    @GetMapping("/earmarkScreen")
+    public JSONObject earmarkScreen(@RequestBody Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        JSONObject jsonObject1 = new JSONObject();
+        jsonObject1.put("farmId", farmId);
+        jsonObject1.put("days", 7);
+        String request = HttpRequest.get("https://eartag.alafarms.com/api/manage/eartag/listEartagOnlineAllStatus")
+                .body(jsonObject1.toJSONString())
+                .header(Header.CONTENT_TYPE, "application/json")
+                .timeout(30 * 1000).execute().body();
+        JSONObject jsonObject = JSON.parseObject(request);
+        return jsonObject;
     }
 
+
     @RequestMapping("/list")
     public Result list(@RequestBody Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
-        String isUser =paramsMap.get("isUser");
+        String isUser = paramsMap.get("isUser");
         QueryWrapper<SheepEarmark> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("farm_id", farmId).eq(StringUtils.isNotBlank(isUser), "is_use", isUser);
-        return new Result(ResultCode.SUCCESS,earmarkService.list(queryWrapper));
+        return new Result(ResultCode.SUCCESS, earmarkService.list(queryWrapper));
+    }
+
+    @RequestMapping("/add")
+    public Result add(@RequestBody Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String earmark = paramsMap.get("earmark");
+        QueryWrapper<SheepEarmark> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId).eq("earmark", earmark);
+        if (ObjectUtil.isEmpty(earmarkService.getOne(queryWrapper))) {
+            SheepEarmark sheepEarmark = new SheepEarmark();
+            sheepEarmark.setIsUse(0);
+            sheepEarmark.setFarmId(Integer.parseInt(farmId));
+            sheepEarmark.setEarmark(earmark);
+            earmarkService.save(sheepEarmark);
+        }
+        return new Result(ResultCode.SUCCESS);
     }
 }

+ 12 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/controller/ProtEnvDataController.java

@@ -36,4 +36,16 @@ public class ProtEnvDataController {
     public Result listHistory(@RequestBody Map<String, String> paramsMap) {
         return envDataService.listHistory(paramsMap);
     }
+
+    //大屏环境监测
+    @RequestMapping("/listScreen")
+    public Result listScreen(@RequestBody Map<String, String> paramsMap) {
+        return envDataService.listScreen(paramsMap);
+    }
+
+    //大屏物联设备控制折线图
+    @RequestMapping("/listByType")
+    public Result listByType(@RequestBody Map<String, String> paramsMap) {
+        return envDataService.listByType(paramsMap);
+    }
 }

+ 2 - 2
huimv-huyang-admin/src/main/java/com/huimv/admin/controller/ProtEnvDeviceController.java

@@ -31,12 +31,12 @@ public class ProtEnvDeviceController {
     @Autowired
     private IProtEnvDeviceService deviceService;
 
-    @RequestMapping("/listDevice")
+    @RequestMapping("/listPage")
     public Result listDevice(@RequestBody Map<String, String> paramsMap) {
         return deviceService.listDevice(paramsMap);
     }
 
-    @RequestMapping("/delete")
+    @RequestMapping("/remove")
     public Result delete(@RequestBody Map<String, String> paramsMap) {
         String ids = paramsMap.get("ids");
         String[] split = ids.split(",");

+ 10 - 3
huimv-huyang-admin/src/main/java/com/huimv/admin/controller/ProtSheepInfoController.java

@@ -67,8 +67,10 @@ public class ProtSheepInfoController {
             return new Result(10001, "添加失败,羊只档案已存在", false);
         }
         SheepEarmark earmark = earmarkService.getOne(new QueryWrapper<SheepEarmark>().eq("earmark", sheepId));
-        earmark.setIsUse(1);
-        earmarkService.updateById(earmark);
+        if (ObjectUtil.isNotEmpty(earmark)) {
+            earmark.setIsUse(1);
+            earmarkService.updateById(earmark);
+        }
         Date date = new Date();
         protSheepInfo.setCreateTime(date);
         long l = date.getTime() - protSheepInfo.getBirthTime().getTime();
@@ -151,10 +153,15 @@ public class ProtSheepInfoController {
     }
     //预警信息
     @RequestMapping("/listWarning")
-    public Result listWarning(@RequestBody Map<String, String> paramsMap) {
+    public String listWarning(@RequestBody Map<String, String> paramsMap) {
         return sheepInfoService.listWarning(paramsMap);
     }
 
+    @RequestMapping("/listWarning2")
+    public String listWarning2(@RequestBody Map<String, String> paramsMap) {
+        return sheepInfoService.listWarning2(paramsMap);
+    }
+
     //谱系查看
     @RequestMapping("/pedigree")
     public Result pedigree(@RequestBody Map<String, String> paramsMap) {

+ 5 - 1
huimv-huyang-admin/src/main/java/com/huimv/admin/controller/ProtWarningController.java

@@ -3,6 +3,7 @@ package com.huimv.admin.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.huimv.admin.common.utils.DataUill;
 import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.common.utils.ResultCode;
 import com.huimv.admin.entity.ProtWarning;
@@ -14,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Date;
 import java.util.Map;
 
 /**
@@ -35,9 +37,11 @@ public class ProtWarningController {
     @RequestMapping("/list")
     public Result listWarning(@RequestBody Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
+        Date timesmorning = DataUill.getTimesmorning();
         String warningType = paramsMap.get("warningType");
         return new Result(ResultCode.SUCCESS, warningService.list(new QueryWrapper<ProtWarning>()
-                .eq("farm_id", farmId).eq(StringUtils.isNotBlank(warningType), "warning_type", warningType)
+                .eq("farm_id", farmId).ge("create_time", timesmorning)
+                .eq(StringUtils.isNotBlank(warningType), "warning_type", warningType)
                 .orderByDesc("create_time")));
     }
 

+ 17 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/controller/CooperateEmployeeController.java

@@ -1,7 +1,9 @@
 package com.huimv.admin.cooperate.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.common.utils.ResultCode;
 import com.huimv.admin.cooperate.entity.CooperateEmployee;
 import com.huimv.admin.cooperate.service.ICooperateEmployeeService;
 import com.huimv.admin.farm.entity.FarmCheck;
@@ -12,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Date;
 import java.util.Map;
 
 /**
@@ -36,6 +39,7 @@ public class CooperateEmployeeController {
 
     @RequestMapping("/add")
     public Result add(@RequestBody CooperateEmployee employee) {
+        employee.setCreateTime(new Date());
         return employeeService.add(employee);
     }
 
@@ -48,4 +52,17 @@ public class CooperateEmployeeController {
         return employeeService.remove(paramsMap);
     }
 
+
+    //人员列表接口
+    @RequestMapping("/listDetail")
+    public Result listDetail(@RequestBody  Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        return new Result(ResultCode.SUCCESS,employeeService.list(new QueryWrapper<CooperateEmployee>().eq("farm_id", farmId)));
+    }
+
+    //村名就业
+    @RequestMapping("/listScreen")
+    public Result listScreen(@RequestBody Map<String, String> paramsMap) {
+        return employeeService.listScreen(paramsMap);
+    }
 }

+ 5 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/controller/CooperateMachiningController.java

@@ -47,4 +47,9 @@ public class CooperateMachiningController {
     public Result remove(@RequestBody Map<String, String> paramsMap) {
         return machiningService.remove(paramsMap);
     }
+
+    @RequestMapping("/listScreen")
+    public Result listScreen(@RequestBody Map<String, String> paramsMap) {
+        return machiningService.listScreen(paramsMap);
+    }
 }

+ 31 - 1
huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/controller/CooperateProfitController.java

@@ -1,7 +1,9 @@
 package com.huimv.admin.cooperate.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.common.utils.ResultCode;
 import com.huimv.admin.cooperate.entity.CooperateProfit;
 import com.huimv.admin.cooperate.service.ICooperateProfitService;
 import com.huimv.admin.farm.entity.FarmCheck;
@@ -35,7 +37,7 @@ public class CooperateProfitController {
     }
 
     @RequestMapping("/add")
-    public Result add(@RequestBody CooperateProfit  profit) {
+    public Result add(@RequestBody CooperateProfit profit) {
         return profitService.add(profit);
     }
 
@@ -43,6 +45,7 @@ public class CooperateProfitController {
     public Result edit(@RequestBody CooperateProfit profit) {
         return profitService.edit(profit);
     }
+
     @RequestMapping("/remove")
     public Result remove(@RequestBody Map<String, String> paramsMap) {
         return profitService.remove(paramsMap);
@@ -53,4 +56,31 @@ public class CooperateProfitController {
     public Result moneyCount(@RequestBody Map<String, String> paramsMap) {
         return profitService.profitCount(paramsMap);
     }
+
+    //大屏横栏
+    @RequestMapping("/listScreen")
+    public Result listScreen(@RequestBody Map<String, String> paramsMap) {
+        return profitService.listScreen(paramsMap);
+    }
+
+    //大屏收益明细
+    @RequestMapping("/listDetail")
+    public Result listDetail(@RequestBody Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        QueryWrapper<CooperateProfit> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId).orderByDesc("profit_time");
+        return new Result(ResultCode.SUCCESS, profitService.list(queryWrapper));
+    }
+
+    //大屏集体收益金额
+    @RequestMapping("/listCollective")
+    public Result listCollective(@RequestBody Map<String, String> paramsMap) {
+        return profitService.listCollective(paramsMap);
+    }
+
+    //大屏岗位配置
+    @RequestMapping("/listType")
+    public Result listType(@RequestBody Map<String, String> paramsMap) {
+        return profitService.listType(paramsMap);
+    }
 }

+ 5 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/controller/CooperateRecoveryController.java

@@ -47,4 +47,9 @@ public class CooperateRecoveryController {
     public Result remove(@RequestBody Map<String, String> paramsMap) {
         return recoveryService.remove(paramsMap);
     }
+
+    @RequestMapping("/listScreen")
+    public Result listScreen(@RequestBody Map<String, String> paramsMap) {
+        return recoveryService.listScreen(paramsMap);
+    }
 }

+ 7 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/entity/CooperateEmployee.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -63,4 +66,8 @@ public class CooperateEmployee implements Serializable {
     private Integer farmId;
 
 
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date createTime;
+
+
 }

+ 1 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/entity/CooperateMachining.java

@@ -57,5 +57,6 @@ public class CooperateMachining implements Serializable {
      */
     private Integer farmId;
 
+    private Integer userId;
 
 }

+ 6 - 1
huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/entity/CooperateProfit.java

@@ -45,7 +45,7 @@ public class CooperateProfit implements Serializable {
     /**
      * 合作项目
      */
-    private String project;
+    private Integer project;
 
     /**
      * 收益金额
@@ -62,5 +62,10 @@ public class CooperateProfit implements Serializable {
      */
     private Integer farmId;
 
+    private Integer userId;
+
+    private String phone;
+
+    private String idCard;
 
 }

+ 1 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/entity/CooperateRecovery.java

@@ -52,5 +52,6 @@ public class CooperateRecovery implements Serializable {
      */
     private Integer farmId;
 
+    private Integer userId;
 
 }

+ 14 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/entity/vo/CooperateScreenVo.java

@@ -0,0 +1,14 @@
+package com.huimv.admin.cooperate.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class CooperateScreenVo {
+    private String values;
+
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date createTime;
+}

+ 14 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/entity/vo/CooperateScreenVo2.java

@@ -0,0 +1,14 @@
+package com.huimv.admin.cooperate.entity.vo;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class CooperateScreenVo2 {
+    private String peopleValues;
+
+    private String collectiveValues;
+
+    private Date createTime;
+}

+ 8 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/mapper/CooperateEmployeeMapper.java

@@ -1,7 +1,14 @@
 package com.huimv.admin.cooperate.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.huimv.admin.cooperate.entity.CooperateEmployee;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.admin.cooperate.entity.CooperateMachining;
+import com.huimv.admin.cooperate.entity.vo.CooperateScreenVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +20,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface CooperateEmployeeMapper extends BaseMapper<CooperateEmployee> {
 
+    List<CooperateScreenVo> listScreen(@Param(Constants.WRAPPER) QueryWrapper<CooperateEmployee> queryWrapper);
 }

+ 8 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/mapper/CooperateMachiningMapper.java

@@ -1,7 +1,14 @@
 package com.huimv.admin.cooperate.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.huimv.admin.cooperate.entity.CooperateMachining;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.admin.cooperate.entity.CooperateRecovery;
+import com.huimv.admin.cooperate.entity.vo.CooperateScreenVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +20,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface CooperateMachiningMapper extends BaseMapper<CooperateMachining> {
 
+    List<CooperateScreenVo> listScreen(@Param(Constants.WRAPPER) QueryWrapper<CooperateMachining> queryWrapper);
 }

+ 6 - 1
huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/mapper/CooperateProfitMapper.java

@@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.huimv.admin.cooperate.entity.CooperateProfit;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.admin.cooperate.entity.vo.CooperateScreenVo2;
 import com.huimv.admin.farm.entity.vo.CountScreenVo;
-import org.springframework.data.repository.query.Param;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -17,4 +20,6 @@ import org.springframework.data.repository.query.Param;
  */
 public interface CooperateProfitMapper extends BaseMapper<CooperateProfit> {
     CountScreenVo profitCount(@Param(Constants.WRAPPER)QueryWrapper<CooperateProfit> queryWrapper);
+
+    List<CooperateScreenVo2> listCollective(@Param(Constants.WRAPPER)QueryWrapper<CooperateProfit> queryWrapper);
 }

+ 7 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/mapper/CooperateRecoveryMapper.java

@@ -1,7 +1,13 @@
 package com.huimv.admin.cooperate.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.huimv.admin.cooperate.entity.CooperateRecovery;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.admin.cooperate.entity.vo.CooperateScreenVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +19,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface CooperateRecoveryMapper extends BaseMapper<CooperateRecovery> {
 
+    List<CooperateScreenVo> listScreen(@Param(Constants.WRAPPER) QueryWrapper<CooperateRecovery> queryWrapper);
 }

+ 3 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/service/ICooperateEmployeeService.java

@@ -24,4 +24,7 @@ public interface ICooperateEmployeeService extends IService<CooperateEmployee> {
     Result edit(CooperateEmployee employee);
 
     Result remove(Map<String, String> paramsMap);
+
+    //村名就业
+    Result listScreen(Map<String, String> paramsMap);
 }

+ 3 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/service/ICooperateMachiningService.java

@@ -23,4 +23,7 @@ public interface ICooperateMachiningService extends IService<CooperateMachining>
     Result edit(CooperateMachining machining);
 
     Result remove(Map<String, String> paramsMap);
+
+    //羊粪采收
+    Result listScreen(Map<String, String> paramsMap);
 }

+ 9 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/service/ICooperateProfitService.java

@@ -26,4 +26,13 @@ public interface ICooperateProfitService extends IService<CooperateProfit> {
 
     //大屏农民总创收
     Result profitCount(Map<String, String> paramsMap);
+
+    //大屏横栏
+    Result listScreen(Map<String, String> paramsMap);
+
+    //集体/人均收益
+    Result listCollective(Map<String, String> paramsMap);
+
+    //大屏岗位配置
+    Result listType(Map<String, String> paramsMap);
 }

+ 3 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/service/ICooperateRecoveryService.java

@@ -23,4 +23,7 @@ public interface ICooperateRecoveryService extends IService<CooperateRecovery> {
     Result edit(CooperateRecovery recovery);
 
     Result remove(Map<String, String> paramsMap);
+
+    //秸秆采收
+    Result listScreen(Map<String, String> paramsMap);
 }

+ 19 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/service/impl/CooperateEmployeeServiceImpl.java

@@ -1,10 +1,13 @@
 package com.huimv.admin.cooperate.service.impl;
 
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.common.utils.ResultCode;
 import com.huimv.admin.cooperate.entity.CooperateEmployee;
+import com.huimv.admin.cooperate.entity.CooperateMachining;
 import com.huimv.admin.cooperate.mapper.CooperateEmployeeMapper;
 import com.huimv.admin.cooperate.service.ICooperateEmployeeService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -12,6 +15,7 @@ import com.huimv.admin.farm.entity.FarmCheck;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
 import java.util.Map;
 
 /**
@@ -61,4 +65,19 @@ public class CooperateEmployeeServiceImpl extends ServiceImpl<CooperateEmployeeM
         }
         return new Result(ResultCode.SUCCESS);
     }
+
+    @Override
+    public Result listScreen(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String year = paramsMap.get("year");//2024
+        QueryWrapper<CooperateEmployee> queryWrapper = new QueryWrapper<>();
+        DateTime dateTime = DateUtil.beginOfYear(new Date());
+        queryWrapper.eq("farm_id", farmId);
+        if ("".equals(year) || null == year) {
+            queryWrapper.ge("create_time", dateTime);
+        } else {
+            queryWrapper.between("create_time", year + "-01-01 00:00:00", year + "-12-31 23:59:59");
+        }
+        return new Result(ResultCode.SUCCESS, employeeMapper.listScreen(queryWrapper));
+    }
 }

+ 19 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/service/impl/CooperateMachiningServiceImpl.java

@@ -1,10 +1,13 @@
 package com.huimv.admin.cooperate.service.impl;
 
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.common.utils.ResultCode;
 import com.huimv.admin.cooperate.entity.CooperateMachining;
+import com.huimv.admin.cooperate.entity.CooperateRecovery;
 import com.huimv.admin.cooperate.mapper.CooperateMachiningMapper;
 import com.huimv.admin.cooperate.service.ICooperateMachiningService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -12,6 +15,7 @@ import com.huimv.admin.farm.entity.FarmCheck;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
 import java.util.Map;
 
 /**
@@ -61,4 +65,19 @@ public class CooperateMachiningServiceImpl extends ServiceImpl<CooperateMachinin
         }
         return new Result(ResultCode.SUCCESS);
     }
+
+    @Override
+    public Result listScreen(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String year = paramsMap.get("year");//2024
+        QueryWrapper<CooperateMachining> queryWrapper = new QueryWrapper<>();
+        DateTime dateTime = DateUtil.beginOfYear(new Date());
+        queryWrapper.eq("farm_id", farmId);
+        if ("".equals(year) || null == year) {
+            queryWrapper.ge("machining_time", dateTime);
+        } else {
+            queryWrapper.between("machining_time", year + "-01-01 00:00:00", year + "-12-31 23:59:59");
+        }
+        return new Result(ResultCode.SUCCESS, machiningMapper.listScreen(queryWrapper));
+    }
 }

+ 84 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/service/impl/CooperateProfitServiceImpl.java

@@ -1,5 +1,9 @@
 package com.huimv.admin.cooperate.service.impl;
 
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huimv.admin.common.utils.DataUill;
@@ -14,7 +18,9 @@ import com.huimv.admin.farm.entity.FarmSale;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.text.DecimalFormat;
 import java.util.Date;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -73,4 +79,82 @@ public class CooperateProfitServiceImpl extends ServiceImpl<CooperateProfitMappe
         queryWrapper.eq("farm_id", farmId).ge("profit_time", yearStartTime);
         return new Result(ResultCode.SUCCESS, profitMapper.profitCount(queryWrapper));
     }
+
+    @Override
+    public Result listScreen(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        DateTime dateTime = DateUtil.beginOfYear(new Date());
+        QueryWrapper<CooperateProfit> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId).ge("profit_time", dateTime);
+        List<CooperateProfit> profits = profitMapper.selectList(queryWrapper);
+        Date yearStartTime = DataUill.getLastYearStartTime();
+        QueryWrapper<CooperateProfit> queryWrapper1 = new QueryWrapper<>();
+        queryWrapper1.eq("farm_id", farmId).between("profit_time", yearStartTime, dateTime);
+        List<CooperateProfit> profit2 = profitMapper.selectList(queryWrapper1);
+
+        double moneyCount = 0.00;
+        double lastYearCount = 0.00;
+        JSONObject jsonObject = new JSONObject();
+        if (profits.size() != 0) {
+            for (CooperateProfit profit : profits) {
+                moneyCount = moneyCount + Double.valueOf(profit.getProfitMoney());
+            }
+            DecimalFormat def = new DecimalFormat("0.00");
+            double a = moneyCount / profits.size();
+            jsonObject.put("yearCount", moneyCount);
+            jsonObject.put("peopleCount", def.format(a));
+            jsonObject.put("number", profits.size());
+            if (profit2.size() == 0) {
+                jsonObject.put("rank", "100.00");
+            } else {
+                for (CooperateProfit profit : profit2) {
+                    lastYearCount = lastYearCount + Double.valueOf(profit.getProfitMoney());
+                }
+                double b = (moneyCount - lastYearCount) / lastYearCount * 100;
+                jsonObject.put("rank", def.format(b));
+            }
+        }
+        return new Result(ResultCode.SUCCESS, jsonObject);
+    }
+
+    @Override
+    public Result listCollective(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        DateTime dateTime = DateUtil.beginOfYear(new Date());
+        QueryWrapper<CooperateProfit> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId).ge("profit_time", dateTime);
+        return new Result(ResultCode.SUCCESS, profitMapper.listCollective(queryWrapper));
+    }
+
+    @Override
+    public Result listType(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        List<CooperateProfit> profits = profitMapper.selectList(new QueryWrapper<CooperateProfit>().eq("farm_id", farmId));
+        Integer type = 2;
+        Integer number1 = 0;
+        Integer number2 = 0;
+        if (profits.size() != 0) {
+            for (CooperateProfit profit : profits) {
+                if (profit.getProject() == 0) {
+                    number1 = number1 + 1;
+                } else {
+                    number2 = number2 + 1;
+                }
+            }
+        }
+        JSONArray jsonArray = new JSONArray();
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("count", profits.size());
+        jsonObject.put("type", type);
+        JSONObject jsonObject1 = new JSONObject();
+        jsonObject1.put("name", "务工");
+        jsonObject1.put("value", number1);
+        jsonArray.add(jsonObject1);
+        JSONObject jsonObject2 = new JSONObject();
+        jsonObject2.put("name", "有机肥");
+        jsonObject2.put("value", number2);
+        jsonArray.add(jsonObject2);
+        jsonObject.put("list",jsonArray);
+        return new Result(ResultCode.SUCCESS, jsonObject);
+    }
 }

+ 19 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/cooperate/service/impl/CooperateRecoveryServiceImpl.java

@@ -1,5 +1,7 @@
 package com.huimv.admin.cooperate.service.impl;
 
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huimv.admin.common.utils.Result;
@@ -12,6 +14,8 @@ import com.huimv.admin.farm.entity.FarmCheck;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.Map;
 
 /**
@@ -61,4 +65,19 @@ public class CooperateRecoveryServiceImpl extends ServiceImpl<CooperateRecoveryM
         }
         return new Result(ResultCode.SUCCESS);
     }
+
+    @Override
+    public Result listScreen(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String year = paramsMap.get("year");//2024
+        QueryWrapper<CooperateRecovery> queryWrapper = new QueryWrapper<>();
+        DateTime dateTime = DateUtil.beginOfYear(new Date());
+        queryWrapper.eq("farm_id", farmId);
+        if ("".equals(year) || null == year) {
+            queryWrapper.ge("recovery_time", dateTime);
+        } else {
+            queryWrapper.between("recovery_time", year + "-01-01 00:00:00", year + "-12-31 23:59:59");
+        }
+        return new Result(ResultCode.SUCCESS, recoveryMapper.listScreen(queryWrapper));
+    }
 }

+ 2 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/entity/BreedLeave.java

@@ -72,5 +72,7 @@ public class BreedLeave implements Serializable {
      */
     private Integer farmId;
 
+    private Integer isWithdraw;
+
 
 }

+ 2 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/entity/ProtWarning.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
 import java.util.Date;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -34,6 +35,7 @@ public class ProtWarning implements Serializable {
      * 创建时间
      */
 
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
 
     /**

+ 23 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/entity/vo/ProtDataVo.java

@@ -0,0 +1,23 @@
+package com.huimv.admin.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class ProtDataVo {
+    private String nh3n;
+    private String hum;
+    private String temp;
+
+    private String h2s;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+
+    private String unitName;
+
+    private Integer unitId;
+
+}

+ 25 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/entity/vo/ProtDataVo2.java

@@ -0,0 +1,25 @@
+package com.huimv.admin.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class ProtDataVo2 {
+    private String unitName;
+
+    private Integer unitId;
+
+    private List<ProtDataVo> list;
+
+    private String temp;
+
+    private String hum;
+
+    private String nh3n;
+
+    private String h2s;
+
+}

+ 17 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/farm/controller/FarmSaleController.java

@@ -66,4 +66,21 @@ public class FarmSaleController {
     public Result listSaleAnalysis(@RequestBody Map<String, String> paramsMap) {
         return saleService.listSaleAnalysis(paramsMap);
     }
+    //销售运营中销售明细
+    @RequestMapping("/listDetail")
+    public Result listDetail(@RequestBody Map<String, String> paramsMap) {
+        return saleService.listDetail(paramsMap);
+    }
+
+    //销售运营中销售收入(按产品)
+    @RequestMapping("/listBySale")
+    public Result listBySale(@RequestBody Map<String, String> paramsMap) {
+        return saleService.listBySale(paramsMap);
+    }
+
+    //销售运营中销售收入(按时间)
+    @RequestMapping("/listByTime")
+    public Result listByTime(@RequestBody Map<String, String> paramsMap) {
+        return saleService.listByTime(paramsMap);
+    }
 }

+ 4 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/farm/entity/FarmSale.java

@@ -95,4 +95,8 @@ public class FarmSale implements Serializable {
 
     private Integer produceType;
 
+    private String saleChannel;
+
+    private String produceGo;
+
 }

+ 11 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/farm/entity/vo/ScreenSaleVo.java

@@ -0,0 +1,11 @@
+package com.huimv.admin.farm.entity.vo;
+
+import lombok.Data;
+
+@Data
+public class ScreenSaleVo {
+
+    private String values;
+
+    private Integer type;
+}

+ 1 - 1
huimv-huyang-admin/src/main/java/com/huimv/admin/farm/mapper/FarmPurchaseMapper.java

@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.huimv.admin.farm.entity.FarmPurchase;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huimv.admin.farm.entity.vo.AnalysisVo;
-import org.springframework.data.repository.query.Param;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 

+ 6 - 1
huimv-huyang-admin/src/main/java/com/huimv/admin/farm/mapper/FarmSaleMapper.java

@@ -8,7 +8,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huimv.admin.farm.entity.vo.AnalysisVo;
 import com.huimv.admin.farm.entity.vo.AnalysisVo2;
 import com.huimv.admin.farm.entity.vo.CountScreenVo;
-import org.springframework.data.repository.query.Param;
+import com.huimv.admin.farm.entity.vo.ScreenSaleVo;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -28,4 +29,8 @@ public interface FarmSaleMapper extends BaseMapper<FarmSale> {
     List<AnalysisVo2> analysis(@Param(Constants.WRAPPER) QueryWrapper<FarmSale> queryWrapper);
 
     List<AnalysisVo> saleAnalysis(@Param(Constants.WRAPPER) QueryWrapper<FarmSale> queryWrapper);
+
+    List<ScreenSaleVo> listBySale(@Param(Constants.WRAPPER) QueryWrapper<FarmSale> queryWrapper);
+
+    List<AnalysisVo> litsByTime(@Param(Constants.WRAPPER) QueryWrapper<FarmSale> queryWrapper);
 }

+ 9 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/farm/service/IFarmSaleService.java

@@ -36,4 +36,13 @@ public interface IFarmSaleService extends IService<FarmSale> {
     Result listSaleAnalysis(Map<String, String> paramsMap);
 
 
+    //销售运营中销售明细
+    Result listDetail(Map<String, String> paramsMap);
+
+    //销售运营中销售收入(按产品)
+    Result listBySale(Map<String, String> paramsMap);
+
+    //销售运营中销售收入(按时间)
+    Result listByTime(Map<String, String> paramsMap);
+
 }

+ 9 - 11
huimv-huyang-admin/src/main/java/com/huimv/admin/farm/service/impl/FarmPurchaseServiceImpl.java

@@ -10,6 +10,7 @@ import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.common.utils.ResultCode;
 import com.huimv.admin.farm.entity.FarmAssets;
 import com.huimv.admin.farm.entity.FarmPurchase;
+import com.huimv.admin.farm.entity.FarmSale;
 import com.huimv.admin.farm.mapper.FarmPurchaseMapper;
 import com.huimv.admin.farm.service.IFarmPurchaseService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -72,18 +73,15 @@ public class FarmPurchaseServiceImpl extends ServiceImpl<FarmPurchaseMapper, Far
     @Override
     public Result listAnalysis(Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
-        String month = paramsMap.get("month");
-        String endMonth = "";
-        endMonth = month;
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-        if ("".equals(month) || null == month) {
-            Date monthmorning = DataUill.getTimesMonthmorning();
-            month = sdf.format(monthmorning);
-            DateTime endOfMonth = DateUtil.endOfMonth(new Date());
-            endMonth = sdf.format(endOfMonth);
-        }
+        String year = paramsMap.get("year");//2024
         QueryWrapper<FarmPurchase> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_id", farmId).between("purchase_time",month+" 00:00:00",endMonth+" 23:59:59");
+        DateTime dateTime = DateUtil.beginOfYear(new Date());
+        queryWrapper.eq("farm_id", farmId);
+        if ("".equals(year) || null == year) {
+            queryWrapper.ge("purchase_time", dateTime);
+        } else {
+            queryWrapper.between("purchase_time", year + "-01-01 00:00:00", year + "-12-31 23:59:59");
+        }
         return new Result(ResultCode.SUCCESS, purchaseMapper.analysis(queryWrapper));
     }
 

+ 79 - 2
huimv-huyang-admin/src/main/java/com/huimv/admin/farm/service/impl/FarmSaleServiceImpl.java

@@ -2,22 +2,30 @@ package com.huimv.admin.farm.service.impl;
 
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSONArray;
+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.admin.common.utils.DataUill;
 import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.common.utils.ResultCode;
+import com.huimv.admin.cooperate.entity.CooperateEmployee;
 import com.huimv.admin.farm.entity.FarmRepair;
 import com.huimv.admin.farm.entity.FarmSale;
+import com.huimv.admin.farm.entity.vo.AnalysisVo;
+import com.huimv.admin.farm.entity.vo.ScreenSaleVo;
 import com.huimv.admin.farm.mapper.FarmSaleMapper;
 import com.huimv.admin.farm.service.IFarmSaleService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.aspectj.weaver.ast.Var;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.text.SimpleDateFormat;
+import java.util.Calendar;
 import java.util.Date;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -51,6 +59,11 @@ public class FarmSaleServiceImpl extends ServiceImpl<FarmSaleMapper, FarmSale> i
 
     @Override
     public Result add(FarmSale sale) {
+        Integer count = saleMapper.selectCount(new QueryWrapper<FarmSale>().eq("farm_id", sale.getFarmId()).eq("sale_order", sale.getSaleOrder()));
+        if (count > 0) {
+            return new Result(10001, "新增失败,订单号已存在!", false);
+        }
+
         return new Result(ResultCode.SUCCESS, saleMapper.insert(sale));
     }
 
@@ -92,16 +105,80 @@ public class FarmSaleServiceImpl extends ServiceImpl<FarmSaleMapper, FarmSale> i
             endMonth = sdf.format(endOfMonth);
         }
         QueryWrapper<FarmSale> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_id", farmId).between("sale_time", month + " 00:00:00", endMonth + " 23:59:59");
+        queryWrapper.eq("farm_id", farmId).between("sale_time", month + "-01 00:00:00", endMonth + "-31 23:59:59");
         return new Result(ResultCode.SUCCESS, saleMapper.analysis(queryWrapper));
     }
 
     @Override
     public Result listSaleAnalysis(Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
+        String year = paramsMap.get("year");//2024
+        QueryWrapper<FarmSale> queryWrapper = new QueryWrapper<>();
+        DateTime dateTime = DateUtil.beginOfYear(new Date());
+        queryWrapper.eq("farm_id", farmId);
+        if ("".equals(year) || null == year) {
+            queryWrapper.ge("sale_time", dateTime);
+        } else {
+            queryWrapper.between("sale_time", year + "-01-01 00:00:00", year + "-12-31 23:59:59");
+        }
+        return new Result(ResultCode.SUCCESS, saleMapper.saleAnalysis(queryWrapper));
+    }
+
+    @Override
+    public Result listDetail(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        QueryWrapper<FarmSale> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId).orderByDesc("sale_time");
+        return new Result(ResultCode.SUCCESS, saleMapper.selectList(queryWrapper));
+    }
+
+    @Override
+    public Result listBySale(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
         DateTime dateTime = DateUtil.beginOfYear(new Date());
         QueryWrapper<FarmSale> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("farm_id", farmId).ge("sale_time", dateTime);
-        return new Result(ResultCode.SUCCESS, saleMapper.saleAnalysis(queryWrapper));
+        List<ScreenSaleVo> saleVos = saleMapper.listBySale(queryWrapper);
+        return new Result(ResultCode.SUCCESS, saleVos);
+    }
+
+    @Override
+    public Result listByTime(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        DateTime dateTime = DateUtil.beginOfYear(new Date());
+        Date startTime = DataUill.getLastYearStartTime();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
+        QueryWrapper<FarmSale> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId).ge("sale_time", dateTime);
+        List<AnalysisVo> analysisVos = saleMapper.litsByTime(queryWrapper);//本年度
+        String lastYear = sdf.format(startTime);
+        QueryWrapper<FarmSale> queryWrapper1 = new QueryWrapper<>();
+        queryWrapper1.eq("farm_id", farmId).between("sale_time", lastYear+"-01-01 00:00:00",lastYear+"-12-31 23:59:59");
+        List<AnalysisVo> analysisVos1 = saleMapper.litsByTime(queryWrapper1);//上年度
+        JSONArray jsonArray = new JSONArray();
+        for (int i = 1; i <13 ; i++) {
+            JSONObject jsonObject = new JSONObject();
+            jsonObject.put("time", i + "月");
+            jsonObject.put("value1", "--");
+            jsonObject.put("value2", "--");
+            for (AnalysisVo analysisVo : analysisVos1) {
+                Calendar calendar = Calendar.getInstance();
+                calendar.setTime(analysisVo.getCreateTime());
+                int month = calendar.get(Calendar.MONTH) + 1;
+                if (month == i) {
+                    jsonObject.put("value1", analysisVo.getValues());
+                }
+            }
+            for (AnalysisVo analysisVo : analysisVos) {
+                Calendar calendar = Calendar.getInstance();
+                calendar.setTime(analysisVo.getCreateTime());
+                int month = calendar.get(Calendar.MONTH) + 1;
+                if (month == i) {
+                    jsonObject.put("value2", analysisVo.getValues());
+                }
+            }
+            jsonArray.add(jsonObject);
+        }
+        return new Result(ResultCode.SUCCESS, jsonArray);
     }
 }

+ 1 - 1
huimv-huyang-admin/src/main/java/com/huimv/admin/mapper/BreedVaccinationRecordMapper.java

@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.huimv.admin.entity.BreedVaccinationRecord;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huimv.admin.entity.vo.BreedVaccinationVo;
-import org.springframework.data.repository.query.Param;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 

+ 1 - 1
huimv-huyang-admin/src/main/java/com/huimv/admin/mapper/ProtDiseaseMapper.java

@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.huimv.admin.entity.ProtDisease;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huimv.admin.entity.vo.DiseaseVo;
-import org.springframework.data.repository.query.Param;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 

+ 5 - 1
huimv-huyang-admin/src/main/java/com/huimv/admin/mapper/ProtEnvDataMapper.java

@@ -4,7 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.huimv.admin.entity.ProtEnvData;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.springframework.data.repository.query.Param;
+import com.huimv.admin.entity.vo.ProtDataVo;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -20,4 +21,7 @@ public interface ProtEnvDataMapper extends BaseMapper<ProtEnvData> {
     List<ProtEnvData> listData(@Param(Constants.WRAPPER)QueryWrapper<ProtEnvData> queryWrapper);
 
     List<ProtEnvData> listDataDay(@Param(Constants.WRAPPER)QueryWrapper<ProtEnvData> queryWrapper);
+
+    List<ProtDataVo> listScreen(@Param(Constants.WRAPPER) QueryWrapper<ProtEnvData> queryWrapper);
+
 }

+ 1 - 1
huimv-huyang-admin/src/main/java/com/huimv/admin/mapper/ProtInvestmentMapper.java

@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huimv.admin.farm.entity.FarmSale;
 import com.huimv.admin.farm.entity.vo.AnalysisVo;
 import com.huimv.admin.farm.entity.vo.AnalysisVo2;
-import org.springframework.data.repository.query.Param;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 

+ 1 - 1
huimv-huyang-admin/src/main/java/com/huimv/admin/mapper/ProtProductionMapper.java

@@ -6,7 +6,7 @@ import com.huimv.admin.entity.ProtProduction;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huimv.admin.entity.vo.ProduceVo;
 import com.huimv.admin.farm.entity.vo.AnalysisVo;
-import org.springframework.data.repository.query.Param;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 

+ 1 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/mapper/ProtSheepInfoMapper.java

@@ -13,4 +13,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ProtSheepInfoMapper extends BaseMapper<ProtSheepInfo> {
 
+    void updateDayAge();
 }

+ 1 - 1
huimv-huyang-admin/src/main/java/com/huimv/admin/mapper/ProtWarningMapper.java

@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.huimv.admin.entity.ProtWarning;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.huimv.admin.farm.entity.vo.AnalysisVo;
-import org.springframework.data.repository.query.Param;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 

+ 60 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/controller/ScreenCountController.java

@@ -0,0 +1,60 @@
+package com.huimv.admin.screen.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.common.utils.ResultCode;
+import com.huimv.admin.screen.entity.ScreenCount;
+import com.huimv.admin.screen.entity.ScreenStock;
+import com.huimv.admin.screen.service.IScreenCountService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+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>
+ * 大屏生产管理存栏统计 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+@RestController
+@RequestMapping("/screen-count")
+@CrossOrigin
+public class ScreenCountController {
+
+    @Autowired
+    private IScreenCountService countService;
+
+    @RequestMapping("/list")
+    public Result list(@RequestBody Map<String, String> paramsMap) {
+        ScreenCount list = countService.getOne(new QueryWrapper<ScreenCount>().eq("farm_id", paramsMap.get("farmId")));
+        return new Result(ResultCode.SUCCESS,list);
+    }
+
+    @RequestMapping("/add")
+    public Result add(@RequestBody ScreenCount screenStock) {
+        int count = countService.count(new QueryWrapper<ScreenCount>().eq("farm_id", screenStock.getFarmId()));
+        if (count != 0) {
+            return new Result(10001, "已存在,无需再次添加", false);
+        }
+        return new Result(ResultCode.SUCCESS, countService.save(screenStock));
+    }
+
+    @RequestMapping("/remove")
+    public Result add(@RequestBody Map<String, String> paramsMap) {
+        return new Result(ResultCode.SUCCESS,countService.removeById(paramsMap.get("id")));
+    }
+
+    @RequestMapping("/edit")
+    public Result edit(@RequestBody ScreenCount screenStock) {
+        return new Result(ResultCode.SUCCESS, countService.updateById(screenStock));
+    }
+
+}

+ 37 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/controller/ScreenEnvController.java

@@ -0,0 +1,37 @@
+package com.huimv.admin.screen.controller;
+
+
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.common.utils.ResultCode;
+import com.huimv.admin.screen.service.IScreenEnvService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+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>
+ *  前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+@RestController
+@RequestMapping("/screen-env")
+@CrossOrigin
+public class ScreenEnvController {
+
+    @Autowired
+    private IScreenEnvService screenEnvService;
+
+    @RequestMapping("/list")
+    public Result list(@RequestBody Map<String, String> paramsMap) {
+        return screenEnvService.listScreen(paramsMap);
+    }
+
+}

+ 58 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/controller/ScreenSaleController.java

@@ -0,0 +1,58 @@
+package com.huimv.admin.screen.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.common.utils.ResultCode;
+import com.huimv.admin.screen.entity.ScreenSale;
+import com.huimv.admin.screen.entity.ScreenStock;
+import com.huimv.admin.screen.service.IScreenSaleService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+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>
+ * 销售运营横栏 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+@RestController
+@RequestMapping("/screen-sale")
+@CrossOrigin
+public class ScreenSaleController {
+
+    @Autowired
+    private IScreenSaleService screenSaleService;
+    @RequestMapping("/list")
+    public Result list(@RequestBody Map<String, String> paramsMap) {
+        ScreenSale list = screenSaleService.getOne(new QueryWrapper<ScreenSale>().eq("farm_id", paramsMap.get("farmId")));
+        return new Result(ResultCode.SUCCESS,list);
+    }
+
+    @RequestMapping("/add")
+    public Result add(@RequestBody ScreenSale screenStock) {
+        int count = screenSaleService.count(new QueryWrapper<ScreenSale>().eq("farm_id", screenStock.getFarmId()));
+        if (count != 0) {
+            return new Result(10001, "已存在,无需再次添加", false);
+        }
+        return new Result(ResultCode.SUCCESS, screenSaleService.save(screenStock));
+    }
+
+    @RequestMapping("/remove")
+    public Result add(@RequestBody Map<String, String> paramsMap) {
+        return new Result(ResultCode.SUCCESS,screenSaleService.removeById(paramsMap.get("id")));
+    }
+
+    @RequestMapping("/edit")
+    public Result edit(@RequestBody ScreenSale screenStock) {
+        return new Result(ResultCode.SUCCESS, screenSaleService.updateById(screenStock));
+    }
+}

+ 59 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/controller/ScreenStockController.java

@@ -0,0 +1,59 @@
+package com.huimv.admin.screen.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.common.utils.ResultCode;
+import com.huimv.admin.entity.BreedChildbirth;
+import com.huimv.admin.screen.entity.ScreenStock;
+import com.huimv.admin.screen.service.IScreenStockService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+@RestController
+@RequestMapping("/screen-stock")
+@CrossOrigin
+public class ScreenStockController {
+    @Autowired
+    private IScreenStockService stockService;
+
+    @RequestMapping("/list")
+    public Result list(@RequestBody Map<String, String> paramsMap) {
+        ScreenStock list = stockService.getOne(new QueryWrapper<ScreenStock>().eq("farm_id", paramsMap.get("farmId")));
+        return new Result(ResultCode.SUCCESS,list);
+    }
+
+    @RequestMapping("/add")
+    public Result add(@RequestBody ScreenStock screenStock) {
+        int count = stockService.count(new QueryWrapper<ScreenStock>().eq("farm_id", screenStock.getFarmId()));
+        if (count != 0) {
+            return new Result(10001, "已存在,无需再次添加", false);
+        }
+        return new Result(ResultCode.SUCCESS, stockService.save(screenStock));
+    }
+
+    @RequestMapping("/remove")
+    public Result add(@RequestBody Map<String, String> paramsMap) {
+        return new Result(ResultCode.SUCCESS,stockService.removeById(paramsMap.get("id")));
+    }
+
+    @RequestMapping("/edit")
+    public Result edit(@RequestBody ScreenStock screenStock) {
+        return new Result(ResultCode.SUCCESS, stockService.updateById(screenStock));
+    }
+}

+ 61 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/controller/ScreenWorkingController.java

@@ -0,0 +1,61 @@
+package com.huimv.admin.screen.controller;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.common.utils.ResultCode;
+import com.huimv.admin.screen.entity.ScreenStock;
+import com.huimv.admin.screen.entity.ScreenWorking;
+import com.huimv.admin.screen.service.IScreenWorkingService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 大屏销售运营岗位配置 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+@RestController
+@RequestMapping("/screen-working")
+@CrossOrigin
+public class ScreenWorkingController {
+
+    @Autowired
+    private IScreenWorkingService workingService;
+
+    @RequestMapping("/list")
+    public Result list(@RequestBody Map<String, String> paramsMap) {
+        List<ScreenWorking> list = workingService.list(new QueryWrapper<ScreenWorking>().eq("farm_id", paramsMap.get("farmId")));
+        return new Result(ResultCode.SUCCESS,list);
+    }
+
+    @RequestMapping("/add")
+    public Result add(@RequestBody ScreenWorking screenStock) {
+        int count = workingService.count(new QueryWrapper<ScreenWorking>().eq("farm_id", screenStock.getFarmId()));
+        if (count != 0) {
+            return new Result(10001, "已存在,无需再次添加", false);
+        }
+        return new Result(ResultCode.SUCCESS, workingService.save(screenStock));
+    }
+
+    @RequestMapping("/remove")
+    public Result add(@RequestBody Map<String, String> paramsMap) {
+        return new Result(ResultCode.SUCCESS,workingService.removeById(paramsMap.get("id")));
+    }
+
+    @RequestMapping("/edit")
+    public Result edit(@RequestBody ScreenWorking screenStock) {
+        return new Result(ResultCode.SUCCESS, workingService.updateById(screenStock));
+    }
+}

+ 60 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/controller/SreccnSummaryController.java

@@ -0,0 +1,60 @@
+package com.huimv.admin.screen.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.common.utils.ResultCode;
+import com.huimv.admin.screen.entity.ScreenStock;
+import com.huimv.admin.screen.entity.SreccnSummary;
+import com.huimv.admin.screen.service.ISreccnSummaryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 项目概述的横栏 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+@RestController
+@RequestMapping("/sreccn-summary")
+@CrossOrigin
+public class SreccnSummaryController {
+    @Autowired
+    private ISreccnSummaryService summaryService;
+
+    @RequestMapping("/list")
+    public Result list(@RequestBody Map<String, String> paramsMap) {
+        SreccnSummary list = summaryService.getOne(new QueryWrapper<SreccnSummary>().eq("farm_id", paramsMap.get("farmId")));
+        return new Result(ResultCode.SUCCESS,list);
+    }
+
+    @RequestMapping("/add")
+    public Result add(@RequestBody SreccnSummary summary) {
+        int count = summaryService.count(new QueryWrapper<SreccnSummary>().eq("farm_id", summary.getFarmId()));
+        if (count != 0) {
+            return new Result(10001, "已存在,无需再次添加", false);
+        }
+        return new Result(ResultCode.SUCCESS, summaryService.save(summary));
+    }
+
+    @RequestMapping("/remove")
+    public Result add(@RequestBody Map<String, String> paramsMap) {
+        return new Result(ResultCode.SUCCESS,summaryService.removeById(paramsMap.get("id")));
+    }
+
+    @RequestMapping("/edit")
+    public Result edit(@RequestBody SreccnSummary summary) {
+        return new Result(ResultCode.SUCCESS, summaryService.updateById(summary));
+    }
+
+}

+ 48 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/entity/ScreenCount.java

@@ -0,0 +1,48 @@
+package com.huimv.admin.screen.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 大屏生产管理存栏统计
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("screen_count")
+public class ScreenCount implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 品种
+     */
+    private String sheepVariety;
+
+    /**
+     * 批次
+     */
+    private String batch;
+
+    /**
+     * 数量
+     */
+    private Integer count;
+
+    private Integer farmId;
+
+
+}

+ 56 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/entity/ScreenEnv.java

@@ -0,0 +1,56 @@
+package com.huimv.admin.screen.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("screen_env")
+public class ScreenEnv implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 温度
+     */
+    private String temp;
+
+    /**
+     * 湿度
+     */
+    private String hum;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 牧场编码
+     */
+    private Integer farmId;
+
+    private String nh3n;
+
+    private String h2s;
+
+
+}

+ 56 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/entity/ScreenSale.java

@@ -0,0 +1,56 @@
+package com.huimv.admin.screen.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 销售运营横栏
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("screen_sale")
+public class ScreenSale implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 年度出栏量
+     */
+    private Integer outStock;
+
+    /**
+     * 综合产品产值
+     */
+    private String price;
+
+    /**
+     * 平均单只产值
+     */
+    private String avgPrice;
+
+    /**
+     * 产值收益率
+     */
+    private String rank;
+
+    /**
+     * 牧场编码
+     */
+    private Integer farmId;
+
+
+}

+ 76 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/entity/ScreenStock.java

@@ -0,0 +1,76 @@
+package com.huimv.admin.screen.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("screen_stock")
+public class ScreenStock implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 0-7日龄
+     */
+    private Integer day1;
+
+    /**
+     * 7-30
+     */
+    private Integer day2;
+
+    /**
+     * 30-90
+     */
+    private Integer day3;
+
+    /**
+     * 90-180
+     */
+    private Integer day4;
+
+    /**
+     * 180-365
+     */
+    private Integer day5;
+
+    /**
+     * 1-2
+     */
+    private Integer day6;
+
+    /**
+     * 2-3年龄
+     */
+    private Integer day7;
+
+    /**
+     * 总存栏数
+     */
+    private Integer stockCount;
+
+    /**
+     * 牧场编码
+     */
+    private Integer farmId;
+
+
+}

+ 54 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/entity/ScreenWorking.java

@@ -0,0 +1,54 @@
+package com.huimv.admin.screen.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 大屏销售运营岗位配置
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("screen_working")
+public class ScreenWorking implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 员工人数
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 岗位数量
+     */
+    private Integer people;
+
+    /**
+     * 岗位类别
+     */
+    private Integer number;
+
+    /**
+     * 0养殖管理类1动物护理类2维护与后勤类3销售与市场类
+     */
+    private Integer type;
+
+    /**
+     * 牧场编码
+     */
+    private Integer farmId;
+
+
+}

+ 56 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/entity/SreccnSummary.java

@@ -0,0 +1,56 @@
+package com.huimv.admin.screen.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 项目概述的横栏
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("sreccn_summary")
+public class SreccnSummary implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 养殖规模
+     */
+    private Integer stockCount;
+
+    /**
+     * 年底出栏量
+     */
+    private Integer outStock;
+
+    /**
+     * 投资总额
+     */
+    private String money;
+
+    /**
+     * 土地规模
+     */
+    private String land;
+
+    /**
+     * 牧场编码
+     */
+    private Integer farmId;
+
+
+}

+ 17 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/entity/vo/ScreenEnvVo.java

@@ -0,0 +1,17 @@
+package com.huimv.admin.screen.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class ScreenEnvVo {
+    private String hum;
+
+    private String temp;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH")
+    private Date createTime;
+
+}

+ 16 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/mapper/ScreenCountMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.admin.screen.mapper;
+
+import com.huimv.admin.screen.entity.ScreenCount;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 大屏生产管理存栏统计 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+public interface ScreenCountMapper extends BaseMapper<ScreenCount> {
+
+}

+ 25 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/mapper/ScreenEnvMapper.java

@@ -0,0 +1,25 @@
+package com.huimv.admin.screen.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.huimv.admin.screen.entity.ScreenEnv;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.admin.screen.entity.vo.ScreenEnvVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+public interface ScreenEnvMapper extends BaseMapper<ScreenEnv> {
+
+    List<ScreenEnvVo> listScreen(@Param(Constants.WRAPPER) QueryWrapper<ScreenEnv> queryWrapper);
+
+//    List<ScreenEnvVo> listScreen(@Param(Constants.WRAPPER) QueryWrapper<ScreenEnv> queryWrapper);
+}

+ 16 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/mapper/ScreenSaleMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.admin.screen.mapper;
+
+import com.huimv.admin.screen.entity.ScreenSale;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 销售运营横栏 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+public interface ScreenSaleMapper extends BaseMapper<ScreenSale> {
+
+}

+ 16 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/mapper/ScreenStockMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.admin.screen.mapper;
+
+import com.huimv.admin.screen.entity.ScreenStock;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+public interface ScreenStockMapper extends BaseMapper<ScreenStock> {
+
+}

+ 16 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/mapper/ScreenWorkingMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.admin.screen.mapper;
+
+import com.huimv.admin.screen.entity.ScreenWorking;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 大屏销售运营岗位配置 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+public interface ScreenWorkingMapper extends BaseMapper<ScreenWorking> {
+
+}

+ 16 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/mapper/SreccnSummaryMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.admin.screen.mapper;
+
+import com.huimv.admin.screen.entity.SreccnSummary;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 项目概述的横栏 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+public interface SreccnSummaryMapper extends BaseMapper<SreccnSummary> {
+
+}

+ 16 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/IScreenCountService.java

@@ -0,0 +1,16 @@
+package com.huimv.admin.screen.service;
+
+import com.huimv.admin.screen.entity.ScreenCount;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 大屏生产管理存栏统计 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+public interface IScreenCountService extends IService<ScreenCount> {
+
+}

+ 19 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/IScreenEnvService.java

@@ -0,0 +1,19 @@
+package com.huimv.admin.screen.service;
+
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.screen.entity.ScreenEnv;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+public interface IScreenEnvService extends IService<ScreenEnv> {
+    Result listScreen(Map<String,String> paramsMap);
+}

+ 16 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/IScreenSaleService.java

@@ -0,0 +1,16 @@
+package com.huimv.admin.screen.service;
+
+import com.huimv.admin.screen.entity.ScreenSale;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 销售运营横栏 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+public interface IScreenSaleService extends IService<ScreenSale> {
+
+}

+ 16 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/IScreenStockService.java

@@ -0,0 +1,16 @@
+package com.huimv.admin.screen.service;
+
+import com.huimv.admin.screen.entity.ScreenStock;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+public interface IScreenStockService extends IService<ScreenStock> {
+
+}

+ 16 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/IScreenWorkingService.java

@@ -0,0 +1,16 @@
+package com.huimv.admin.screen.service;
+
+import com.huimv.admin.screen.entity.ScreenWorking;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 大屏销售运营岗位配置 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+public interface IScreenWorkingService extends IService<ScreenWorking> {
+
+}

+ 16 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/ISreccnSummaryService.java

@@ -0,0 +1,16 @@
+package com.huimv.admin.screen.service;
+
+import com.huimv.admin.screen.entity.SreccnSummary;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 项目概述的横栏 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+public interface ISreccnSummaryService extends IService<SreccnSummary> {
+
+}

+ 20 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/impl/ScreenCountServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.admin.screen.service.impl;
+
+import com.huimv.admin.screen.entity.ScreenCount;
+import com.huimv.admin.screen.mapper.ScreenCountMapper;
+import com.huimv.admin.screen.service.IScreenCountService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 大屏生产管理存栏统计 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+@Service
+public class ScreenCountServiceImpl extends ServiceImpl<ScreenCountMapper, ScreenCount> implements IScreenCountService {
+
+}

+ 39 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/impl/ScreenEnvServiceImpl.java

@@ -0,0 +1,39 @@
+package com.huimv.admin.screen.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.admin.common.utils.DataUill;
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.common.utils.ResultCode;
+import com.huimv.admin.screen.entity.ScreenEnv;
+import com.huimv.admin.screen.mapper.ScreenEnvMapper;
+import com.huimv.admin.screen.service.IScreenEnvService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+@Service
+public class ScreenEnvServiceImpl extends ServiceImpl<ScreenEnvMapper, ScreenEnv> implements IScreenEnvService {
+
+    @Autowired
+    private ScreenEnvMapper envMapper;
+
+    @Override
+    public Result listScreen(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        QueryWrapper<ScreenEnv> queryWrapper = new QueryWrapper<>();
+        Date timesmorning = DataUill.getTimesmorning();
+        queryWrapper.eq("farm_id", farmId).ge("create_time", timesmorning);
+        return new Result(ResultCode.SUCCESS, envMapper.listScreen(queryWrapper));
+    }
+}

+ 20 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/impl/ScreenSaleServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.admin.screen.service.impl;
+
+import com.huimv.admin.screen.entity.ScreenSale;
+import com.huimv.admin.screen.mapper.ScreenSaleMapper;
+import com.huimv.admin.screen.service.IScreenSaleService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 销售运营横栏 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+@Service
+public class ScreenSaleServiceImpl extends ServiceImpl<ScreenSaleMapper, ScreenSale> implements IScreenSaleService {
+
+}

+ 20 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/impl/ScreenStockServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.admin.screen.service.impl;
+
+import com.huimv.admin.screen.entity.ScreenStock;
+import com.huimv.admin.screen.mapper.ScreenStockMapper;
+import com.huimv.admin.screen.service.IScreenStockService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+@Service
+public class ScreenStockServiceImpl extends ServiceImpl<ScreenStockMapper, ScreenStock> implements IScreenStockService {
+
+}

+ 20 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/impl/ScreenWorkingServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.admin.screen.service.impl;
+
+import com.huimv.admin.screen.entity.ScreenWorking;
+import com.huimv.admin.screen.mapper.ScreenWorkingMapper;
+import com.huimv.admin.screen.service.IScreenWorkingService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 大屏销售运营岗位配置 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+@Service
+public class ScreenWorkingServiceImpl extends ServiceImpl<ScreenWorkingMapper, ScreenWorking> implements IScreenWorkingService {
+
+}

+ 20 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/screen/service/impl/SreccnSummaryServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.admin.screen.service.impl;
+
+import com.huimv.admin.screen.entity.SreccnSummary;
+import com.huimv.admin.screen.mapper.SreccnSummaryMapper;
+import com.huimv.admin.screen.service.ISreccnSummaryService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 项目概述的横栏 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2024-08-30
+ */
+@Service
+public class SreccnSummaryServiceImpl extends ServiceImpl<SreccnSummaryMapper, SreccnSummary> implements ISreccnSummaryService {
+
+}

+ 5 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/service/IBreedAblactationService.java

@@ -19,4 +19,9 @@ public interface IBreedAblactationService extends IService<BreedAblactation> {
     Result listPage(Map<String, String> paramsMap);
 
     Result add(BreedAblactation ablactation);
+
+
+    Result edit(BreedAblactation ablactation);
+
+    Result remove(Map<String, String> paramsMap);
 }

+ 2 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/service/IBreedChildbirthService.java

@@ -24,4 +24,6 @@ public interface IBreedChildbirthService extends IService<BreedChildbirth> {
 
     Result remove(Map<String, String> paramsMap);
 
+    //种母羊分娩情况
+    Result birthDetail(Map<String, String> paramsMap);
 }

+ 6 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/service/IProtEnvDataService.java

@@ -21,4 +21,10 @@ public interface IProtEnvDataService extends IService<ProtEnvData> {
 
     //历史曲线统计
     Result listHistory(Map<String, String> paramsMap);
+
+    //大屏环境监测
+    Result listScreen(Map<String, String> paramsMap);
+
+    //大屏物联设备控制折线图
+    Result listByType(Map<String, String> paramsMap);
 }

+ 10 - 1
huimv-huyang-admin/src/main/java/com/huimv/admin/service/IProtSheepInfoService.java

@@ -20,6 +20,9 @@ public interface IProtSheepInfoService extends IService<ProtSheepInfo> {
     //大屏羊群阶段分布
     Result sheepDetail(Map<String,String> paramsMap);
 
+    //大屏项目概述存栏结构
+    Result stockDetail(Map<String,String> paramsMap);
+
     //大屏存栏
     Result stockCount(Map<String,String> paramsMap);
 
@@ -42,8 +45,14 @@ public interface IProtSheepInfoService extends IService<ProtSheepInfo> {
     Result listTemp(Map<String,String> paramsMap);
 
     //预警信息
-    Result listWarning(Map<String,String> paramsMap);
+    String listWarning(Map<String,String> paramsMap);
+
+    String listWarning2(Map<String,String> paramsMap);
 
     //谱系追踪
     Result pedigree(Map<String,String> paramsMap);
+
+
+    //更新日龄
+    void updateDayAge();
 }

+ 30 - 13
huimv-huyang-admin/src/main/java/com/huimv/admin/service/impl/BaseBuildingServiceImpl.java

@@ -8,6 +8,8 @@ import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.common.utils.ResultCode;
 import com.huimv.admin.common.utils.ResultUtil;
 import com.huimv.admin.entity.BaseBuilding;
+import com.huimv.admin.entity.ProtEnvData;
+import com.huimv.admin.entity.ProtEnvDevice;
 import com.huimv.admin.entity.ProtSheepInfo;
 import com.huimv.admin.entity.vo.TreeBaseBuilding;
 import com.huimv.admin.mapper.BaseBuildingMapper;
@@ -60,6 +62,21 @@ public class BaseBuildingServiceImpl extends ServiceImpl<BaseBuildingMapper, Bas
             return new Result(10001, "栋舍名已存在", false);
         }
         //TODO:后面补充羊只和设备的名称修改
+        QueryWrapper<ProtSheepInfo> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("unit_id", baseBuilding.getId()).eq("farm_id", baseBuilding.getFarmId()).eq("is_leave", 0);
+        List<ProtSheepInfo> protSheepInfos = sheepInfoMapper.selectList(queryWrapper);
+        for (ProtSheepInfo protSheepInfo : protSheepInfos) {
+            protSheepInfo.setUnitId(baseBuilding.getId());
+            protSheepInfo.setUnitName(baseBuilding.getBuildName());
+            sheepInfoMapper.updateById(protSheepInfo);
+        }
+        QueryWrapper<ProtEnvDevice> queryWrapper1 = new QueryWrapper<>();
+        queryWrapper1.eq("farm_id", baseBuilding.getFarmId()).eq("unit_id", baseBuilding.getId());
+        List<ProtEnvDevice> envDevices = deviceMapper.selectList(queryWrapper1);
+        for (ProtEnvDevice envDevice : envDevices) {
+            envDevice.setUnitName(baseBuilding.getBuildName());
+            deviceMapper.updateById(envDevice);
+        }
         baseBuildingMapper.updateById(baseBuilding);
         return ResultUtil.updateResult(1);
     }
@@ -69,18 +86,16 @@ public class BaseBuildingServiceImpl extends ServiceImpl<BaseBuildingMapper, Bas
     public Result deleteBuilding(Map<String, Integer> map) {
         Integer id = map.get("id");
         //TODO:后面再进行补充羊只和设备情况
-
-//        if (ObjectUtil.isNotEmpty(cageIds)){
-//            if (ObjectUtil.isNotEmpty(baseDuckInfoMapper.selectList(new QueryWrapper<BaseDuckInfo>().in("unit_id",cageIds)))) {
-//                return new Result(10001,"删除失败,该栋舍下属笼中存在鸭只",false);
-//            }
-//            if (ObjectUtil.isNotEmpty(envDeviceMapper.selectList(new QueryWrapper<EnvDevice>().in("unit_id",cageIds)))) {
-//                return new Result(10001,"删除失败,该栋舍下属笼中存在设备",false);
-//            }
-//        }
-//        if (ObjectUtil.isNotEmpty(envDeviceMapper.selectList(new QueryWrapper<EnvDevice>().eq("unit_id",id)))) {
-//            return new Result(10001,"删除失败,该栋舍存在设备",false);
-//        }
+        QueryWrapper<ProtSheepInfo> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("unit_id", id).eq("is_leave", 0);
+        if (sheepInfoMapper.selectCount(queryWrapper) != 0) {
+            return new Result(10001,"删除失败,该栋舍下属笼中存在羊只",false);
+        }
+        QueryWrapper<ProtEnvDevice> queryWrapper1 = new QueryWrapper<>();
+        queryWrapper1.eq("unit_id", id);
+        if (deviceMapper.selectCount(queryWrapper1) != 0) {
+            return new Result(10001,"删除失败,该栋舍存在设备",false);
+        }
         this.removeById(id);
         return new Result(10000, "删除成功", true);
 
@@ -89,9 +104,11 @@ public class BaseBuildingServiceImpl extends ServiceImpl<BaseBuildingMapper, Bas
     @Override
     public Result listBuilding(Map<String, String> map) {
         String farmId = map.get("farmId");
+        String buildType = map.get("buildType");
         QueryWrapper<BaseBuilding> queryWrapper = new QueryWrapper<BaseBuilding>()
                 .eq("farm_id", farmId)
-                .eq("f_type", 1);
+                .eq("f_type", 1)
+                .eq(StringUtils.isNotBlank(buildType), "build_type", buildType);
         return new Result(ResultCode.SUCCESS, baseBuildingMapper.selectList(queryWrapper));
     }
 

+ 15 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/service/impl/BreedAblactationServiceImpl.java

@@ -86,4 +86,19 @@ public class BreedAblactationServiceImpl extends ServiceImpl<BreedAblactationMap
         return new Result(ResultCode.SUCCESS);
     }
 
+    @Override
+    public Result edit(BreedAblactation ablactation) {
+        return new Result(ResultCode.SUCCESS, ablactationMapper.updateById(ablactation));
+    }
+
+    @Override
+    public Result remove(Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        String[] split = ids.split(",");
+        for (String s : split) {
+            ablactationMapper.deleteById(s);
+        }
+        return new Result(ResultCode.SUCCESS);
+    }
+
 }

+ 9 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/service/impl/BreedChildbirthServiceImpl.java

@@ -64,4 +64,13 @@ public class BreedChildbirthServiceImpl extends ServiceImpl<BreedChildbirthMappe
         return new Result(ResultCode.SUCCESS);
     }
 
+    @Override
+    public Result birthDetail(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String sheepId = paramsMap.get("sheepId");
+        QueryWrapper<BreedChildbirth> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId).eq("sheep_id", sheepId).orderByDesc("create_time");
+        return new Result(ResultCode.SUCCESS, childbirthMapper.selectList(queryWrapper));
+    }
+
 }

+ 20 - 1
huimv-huyang-admin/src/main/java/com/huimv/admin/service/impl/BreedLeaveServiceImpl.java

@@ -79,7 +79,26 @@ public class BreedLeaveServiceImpl extends ServiceImpl<BreedLeaveMapper, BreedLe
 
     @Override
     public Result edit(BreedLeave breedLeave) {
-        return new Result(ResultCode.SUCCESS, leaveMapper.updateById(breedLeave));
+        if (breedLeave.getIsWithdraw() == 1) {
+            String sheepId = breedLeave.getSheepId();
+            QueryWrapper<SheepEarmark> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("earmark", sheepId);
+            SheepEarmark earmark = earmarkMapper.selectOne(queryWrapper);
+            if (ObjectUtil.isNotEmpty(earmark)) {
+                earmark.setIsUse(1);
+                earmarkMapper.updateById(earmark);
+            }
+            QueryWrapper<ProtSheepInfo> queryWrapper1 = new QueryWrapper<>();
+            queryWrapper1.eq("sheep_id", sheepId);
+            ProtSheepInfo sheepInfo = sheepInfoMapper.selectOne(queryWrapper1);
+            sheepInfo.setIsLeave(0);
+            sheepInfoMapper.updateById(sheepInfo);
+            leaveMapper.deleteById(breedLeave);
+            return new Result(ResultCode.SUCCESS);
+        } else {
+            return new Result(ResultCode.SUCCESS, leaveMapper.updateById(breedLeave));
+        }
+
     }
 
     @Override

+ 14 - 1
huimv-huyang-admin/src/main/java/com/huimv/admin/service/impl/BreedTuppingServiceImpl.java

@@ -7,7 +7,9 @@ import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.common.utils.ResultCode;
 import com.huimv.admin.entity.BreedChildbirth;
 import com.huimv.admin.entity.BreedTupping;
+import com.huimv.admin.entity.ProtSheepInfo;
 import com.huimv.admin.mapper.BreedTuppingMapper;
+import com.huimv.admin.mapper.ProtSheepInfoMapper;
 import com.huimv.admin.service.IBreedTuppingService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -28,6 +30,8 @@ public class BreedTuppingServiceImpl extends ServiceImpl<BreedTuppingMapper, Bre
 
     @Autowired
     private BreedTuppingMapper tuppingMapper;
+    @Autowired
+    private ProtSheepInfoMapper sheepInfoMapper;
     @Override
     public Result listPage(Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
@@ -38,9 +42,18 @@ public class BreedTuppingServiceImpl extends ServiceImpl<BreedTuppingMapper, Bre
             pageNum = "1";
             pageSize = "20";
         }
+        QueryWrapper<ProtSheepInfo> sheepInfoQueryWrapper = new QueryWrapper<>();
+        sheepInfoQueryWrapper.eq("farm_id", farmId).eq("sheep_id", sheepId);
+        ProtSheepInfo protSheepInfo = sheepInfoMapper.selectOne(sheepInfoQueryWrapper);
         Page<BreedTupping> page = new Page(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
         QueryWrapper<BreedTupping> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_id", farmId).like(StringUtils.isNotBlank(sheepId), "sheep_id", sheepId);
+        queryWrapper.eq("farm_id", farmId);
+        if (protSheepInfo.getSex() == 0) {
+            queryWrapper.eq(StringUtils.isNotBlank(sheepId), "female_code", sheepId);
+        } else {
+            queryWrapper.eq(StringUtils.isNotBlank(sheepId), "male_code", sheepId);
+        }
+
         return new Result(ResultCode.SUCCESS, tuppingMapper.selectPage(page, queryWrapper));
     }
 

+ 7 - 2
huimv-huyang-admin/src/main/java/com/huimv/admin/service/impl/EarmarkThresholdServiceImpl.java

@@ -1,6 +1,9 @@
 package com.huimv.admin.service.impl;
 
+import cn.hutool.http.Header;
+import cn.hutool.http.HttpRequest;
 import cn.hutool.http.HttpUtil;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.common.utils.ResultCode;
@@ -46,13 +49,15 @@ public class EarmarkThresholdServiceImpl extends ServiceImpl<EarmarkThresholdMap
             thresholdMapper.updateById(threshold);
         }
         //TODO:这里需要将阈值发送到耳标平台进行联动
-        HashMap<String, Object> paramMap = new HashMap<>();
+        JSONObject paramMap = new JSONObject();
         paramMap.put("farmId", farmId);
         paramMap.put("deviceOfflineTime", threshold.getCollectorHour()*60);
         paramMap.put("eartagMaxTem", threshold.getActUpper());
         paramMap.put("eartagMinTem", threshold.getTempDown());
         paramMap.put("eartagOfflineTime", threshold.getEarmarkHour() * 60);
-        String result= HttpUtil.post("http://119.3.44.183:8016/manage2/config/updateWarning", paramMap);
+        String result = HttpRequest.post("https://eartag.alafarms.com/api/manage2/config/updateWarning").header(Header.CONTENT_TYPE, "application/json")
+                .body(paramMap.toJSONString())
+                .timeout(30 * 1000).execute().body();
         return new Result(ResultCode.SUCCESS, result);
     }
 }

+ 83 - 4
huimv-huyang-admin/src/main/java/com/huimv/admin/service/impl/ProtEnvDataServiceImpl.java

@@ -2,12 +2,19 @@ package com.huimv.admin.service.impl;
 
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.huimv.admin.common.utils.DataUill;
 import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.common.utils.ResultCode;
+import com.huimv.admin.entity.BaseBuilding;
 import com.huimv.admin.entity.ProtEnvData;
+import com.huimv.admin.entity.vo.ProtDataVo;
+import com.huimv.admin.entity.vo.ProtDataVo2;
+import com.huimv.admin.mapper.BaseBuildingMapper;
 import com.huimv.admin.mapper.ProtEnvDataMapper;
 import com.huimv.admin.service.IProtEnvDataService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -33,6 +40,8 @@ public class ProtEnvDataServiceImpl extends ServiceImpl<ProtEnvDataMapper, ProtE
 
     @Autowired
     private ProtEnvDataMapper envDataMapper;
+    @Autowired
+    private BaseBuildingMapper buildingMapper;
 
     @Override
     public Result listData(Map<String, String> paramsMap) {
@@ -42,7 +51,7 @@ public class ProtEnvDataServiceImpl extends ServiceImpl<ProtEnvDataMapper, ProtE
         String endDate = paramsMap.get("endDate");
         QueryWrapper<ProtEnvData> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("farm_id", farmId).eq("unit_id", unitId).between(StringUtils.isNotBlank(startDate), "create_time", startDate, endDate);
-        return new Result(ResultCode.SUCCESS,envDataMapper.selectList(queryWrapper));
+        return new Result(ResultCode.SUCCESS, envDataMapper.selectList(queryWrapper));
     }
 
     @Override
@@ -73,15 +82,85 @@ public class ProtEnvDataServiceImpl extends ServiceImpl<ProtEnvDataMapper, ProtE
         else if ("3".equals(timeType)) {
             Date monthmorning = DataUill.getTimesMonthmorning();
             queryWrapper.ge("create_time", monthmorning);
-            protEnvData=envDataMapper.listData(queryWrapper);
+            protEnvData = envDataMapper.listData(queryWrapper);
         }
         //自定义
         else if ("4".equals(timeType)) {
             String startDate = paramsMap.get("startDate");
             String endDate = paramsMap.get("endDate");
-            queryWrapper.between("create_time", startDate,endDate);
-            protEnvData=envDataMapper.listData(queryWrapper);
+            queryWrapper.between("create_time", startDate, endDate);
+            protEnvData = envDataMapper.listData(queryWrapper);
         }
         return new Result(ResultCode.SUCCESS, protEnvData);
     }
+
+    @Override
+    public Result listScreen(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        QueryWrapper<BaseBuilding> buildingQueryWrapper = new QueryWrapper<>();
+        buildingQueryWrapper.eq("farm_id", farmId).eq("f_type", 1);
+        List<BaseBuilding> buildings = buildingMapper.selectList(buildingQueryWrapper);
+        JSONArray jsonArray = new JSONArray();
+        if (buildings.size() != 0) {
+            for (BaseBuilding building : buildings) {
+                JSONObject jsonObject = new JSONObject();
+                jsonObject.put("unitName", building.getBuildName());
+                jsonObject.put("unitId", building.getId());
+                QueryWrapper<ProtEnvData> queryWrapper = new QueryWrapper<>();
+                queryWrapper.eq("farm_id", farmId).orderByDesc("id").last(" limit 1").eq("unit_id", building.getId());
+                ProtEnvData protEnvData = envDataMapper.selectOne(queryWrapper);
+                if (ObjectUtil.isNotEmpty(protEnvData)) {
+                    jsonObject.put("hum", protEnvData.getHum());
+                    jsonObject.put("temp", protEnvData.getTemp());
+                    jsonObject.put("nh3n", protEnvData.getNh3n());
+                    jsonObject.put("h2s", protEnvData.getH2s());
+                    jsonObject.put("lighting", protEnvData.getLighting());
+                } else {
+                    jsonObject.put("hum", "--");
+                    jsonObject.put("temp", "--");
+                    jsonObject.put("nh3n", "--");
+                    jsonObject.put("h2s", "--");
+                    jsonObject.put("lighting", "--");
+                }
+                jsonArray.add(jsonObject);
+            }
+        }
+        return new Result(ResultCode.SUCCESS, jsonArray);
+    }
+
+    @Override
+    public Result listByType(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        Date timesmorning = DataUill.getTimesmorning();
+        List<ProtDataVo2> list = new ArrayList<>();
+
+        QueryWrapper<BaseBuilding> queryWrapper1 = new QueryWrapper<>();
+        queryWrapper1.eq("farm_id", farmId).eq("f_type", 1);
+        List<BaseBuilding> buildings = buildingMapper.selectList(queryWrapper1);
+        if (buildings.size() != 0) {
+            for (BaseBuilding building : buildings) {
+                ProtDataVo2 protDataVo2 = new ProtDataVo2();
+                protDataVo2.setUnitId(building.getId());
+                protDataVo2.setUnitName(building.getBuildName());
+                QueryWrapper<ProtEnvData> queryWrapper = new QueryWrapper<>();
+                queryWrapper.eq("farm_id", farmId).eq("unit_id", building.getId()).ge("create_time", timesmorning);
+                List<ProtDataVo>  protDataVos = envDataMapper.listScreen(queryWrapper);
+                protDataVo2.setList(protDataVos);
+                if (protDataVos.size() != 0) {
+                    ProtDataVo protDataVo = protDataVos.get(protDataVos.size() - 1);
+                    protDataVo2.setH2s(protDataVo.getHum());
+                    protDataVo2.setNh3n(protDataVo.getNh3n());
+                    protDataVo2.setTemp(protDataVo.getTemp());
+                    protDataVo2.setHum(protDataVo.getHum());
+                } else {
+                    protDataVo2.setH2s("0");
+                    protDataVo2.setNh3n("0");
+                    protDataVo2.setTemp("0");
+                    protDataVo2.setHum("0");
+                }
+                list.add(protDataVo2);
+            }
+        }
+        return new Result(ResultCode.SUCCESS,list);
+    }
 }

+ 3 - 1
huimv-huyang-admin/src/main/java/com/huimv/admin/service/impl/ProtEnvDeviceServiceImpl.java

@@ -1,6 +1,7 @@
 package com.huimv.admin.service.impl;
 
 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.admin.common.utils.Result;
 import com.huimv.admin.common.utils.ResultCode;
@@ -32,13 +33,14 @@ public class ProtEnvDeviceServiceImpl extends ServiceImpl<ProtEnvDeviceMapper, P
         String farmId = paramsMap.get("farmId");
         String pageNum = paramsMap.get("pageNum");
         String pageSize = paramsMap.get("pageSize");
+        String deviceCode = paramsMap.get("deviceCode");
         if ("".equals(pageNum) || null == pageNum) {
             pageNum = "1";
             pageSize = "20";
         }
         Page<ProtEnvDevice> page = new Page(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
         QueryWrapper<ProtEnvDevice> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_id", farmId);
+        queryWrapper.eq("farm_id", farmId).like(StringUtils.isNotBlank(deviceCode), "device_code", deviceCode);
         return new Result(ResultCode.SUCCESS, deviceMapper.selectPage(page, queryWrapper));
     }
 }

+ 10 - 3
huimv-huyang-admin/src/main/java/com/huimv/admin/service/impl/ProtInvestmentServiceImpl.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huimv.admin.common.utils.DataUill;
 import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.common.utils.ResultCode;
+import com.huimv.admin.cooperate.entity.CooperateMachining;
 import com.huimv.admin.entity.BreedChildbirth;
 import com.huimv.admin.entity.ProtInvestment;
 import com.huimv.admin.farm.entity.FarmSale;
@@ -85,16 +86,22 @@ public class ProtInvestmentServiceImpl extends ServiceImpl<ProtInvestmentMapper,
             endMonth = sdf.format(endOfMonth);
         }
         QueryWrapper<ProtInvestment> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_id", farmId).between("create_time", month + " 00:00:00", endMonth + " 23:59:59");
+        queryWrapper.eq("farm_id", farmId).between("create_time", month + "-01 00:00:00", endMonth + "-31 23:59:59");
         return new Result(ResultCode.SUCCESS, investmentMapper.typeAnalysis(queryWrapper));
     }
 
     @Override
     public Result investmentAnalysis(Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
-        DateTime dateTime = DateUtil.beginOfYear(new Date());
+        String year = paramsMap.get("year");
         QueryWrapper<ProtInvestment> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_id", farmId).ge("sale_time", dateTime);
+        DateTime dateTime = DateUtil.beginOfYear(new Date());
+        queryWrapper.eq("farm_id", farmId);
+        if ("".equals(year) || null == year) {
+            queryWrapper.ge("create_time", dateTime);
+        } else {
+            queryWrapper.between("create_time", year + "-01-01 00:00:00", year + "-12-31 23:59:59");
+        }
         return new Result(ResultCode.SUCCESS, investmentMapper.investmentAnalysis(queryWrapper));
     }
 }

+ 10 - 4
huimv-huyang-admin/src/main/java/com/huimv/admin/service/impl/ProtProductionServiceImpl.java

@@ -84,16 +84,22 @@ public class ProtProductionServiceImpl extends ServiceImpl<ProtProductionMapper,
             endMonth = sdf.format(endOfMonth);
         }
         QueryWrapper<ProtProduction> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_id", farmId).between("create_time", month + " 00:00:00", endMonth + " 23:59:59");
+        queryWrapper.eq("farm_id", farmId).between("create_time", month + "-01 00:00:00", endMonth + "-31 23:59:59");
         return new Result(ResultCode.SUCCESS, productionMapper.typeAnalysis(queryWrapper));
     }
 
     @Override
     public Result analysis(Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
-        DateTime dateTime = DateUtil.beginOfYear(new Date());
+        String year = paramsMap.get("year");
         QueryWrapper<ProtProduction> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_id", farmId).ge("create_time", dateTime);
-        return new Result(ResultCode.SUCCESS, queryWrapper);
+        DateTime dateTime = DateUtil.beginOfYear(new Date());
+        queryWrapper.eq("farm_id", farmId);
+        if ("".equals(year) || null == year) {
+            queryWrapper.ge("create_time", dateTime);
+        } else {
+            queryWrapper.between("create_time", year + "-01-01 00:00:00", year + "-12-31 23:59:59");
+        }
+        return new Result(ResultCode.SUCCESS, productionMapper.analysis(queryWrapper));
     }
 }

+ 218 - 131
huimv-huyang-admin/src/main/java/com/huimv/admin/service/impl/ProtSheepInfoServiceImpl.java

@@ -1,7 +1,11 @@
 package com.huimv.admin.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.http.Header;
+import cn.hutool.http.HttpRequest;
 import cn.hutool.http.HttpUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@@ -18,11 +22,11 @@ import com.huimv.admin.mapper.BreedVaccinationRecordMapper;
 import com.huimv.admin.mapper.ProtSheepInfoMapper;
 import com.huimv.admin.service.IProtSheepInfoService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import net.sf.json.JSONArray;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.text.DecimalFormat;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -89,15 +93,10 @@ public class ProtSheepInfoServiceImpl extends ServiceImpl<ProtSheepInfoMapper, P
                     day4++;
                 }
             }
-            double a1 = (double) day1 / protSheepInfos.size() * 100;
-            double a2 = (double) day2 / protSheepInfos.size() * 100;
-            double a3 = (double) day3 / protSheepInfos.size() * 100;
-            double a4 = (double) day4 / protSheepInfos.size() * 100;
-            DecimalFormat def = new DecimalFormat("0.00");
-            jsonObject.put("day1", def.format(a1));
-            jsonObject.put("day2", def.format(a2));
-            jsonObject.put("day3", def.format(a3));
-            jsonObject.put("day4", def.format(a4));
+            jsonObject.put("day1", day1);
+            jsonObject.put("day2", day2);
+            jsonObject.put("day3", day3);
+            jsonObject.put("day4", day4);
         } else {
             jsonObject.put("day1", "0");
             jsonObject.put("day2", "0");
@@ -108,8 +107,13 @@ public class ProtSheepInfoServiceImpl extends ServiceImpl<ProtSheepInfoMapper, P
     }
 
     @Override
+    public Result stockDetail(Map<String, String> paramsMap) {
+        return null;
+    }
+
+    @Override
     public Result stockCount(Map<String, String> paramsMap) {
-        String farmId = paramsMap.get("farm_id");
+        String farmId = paramsMap.get("farmId");
         List<ProtSheepInfo> protSheepInfos = sheepInfoMapper.selectList(new QueryWrapper<ProtSheepInfo>().eq("farm_id", farmId));
         Integer count = 0;
         Integer femaleCount = 0;
@@ -120,18 +124,18 @@ public class ProtSheepInfoServiceImpl extends ServiceImpl<ProtSheepInfoMapper, P
         if (protSheepInfos.size() != 0) {
             for (ProtSheepInfo protSheepInfo : protSheepInfos) {
                 if (protSheepInfo.getIsLeave() == 1) {
-                    isLeaveCount++;
+                    isLeaveCount = isLeaveCount + 1;
                 } else {
                     if (protSheepInfo.getSheepType() == 0) {
-                        goodsCount++;
+                        goodsCount = goodsCount + 1;
                     } else if (protSheepInfo.getSheepType() == 1) {
                         if (protSheepInfo.getSex() == 0) {
-                            femaleCount++;
+                            femaleCount = femaleCount + 1;
                         } else {
-                            maleCount++;
+                            maleCount = maleCount + 1;
                         }
                     }
-                    count++;
+                    count = count + 1;
                 }
             }
             jsonObject.put("count", count);
@@ -165,24 +169,33 @@ public class ProtSheepInfoServiceImpl extends ServiceImpl<ProtSheepInfoMapper, P
             screenVo.setUnitName(sheepInfo.getUnitName());
             screenVo.setSheepDay(sheepInfo.getSheepDay());
 
-            HashMap<String, Object> paramMap = new HashMap<>();
-            paramMap.put("farmId", farmId);
-            paramMap.put("earmark", sheepId);
-            paramMap.put("status", "");
-            paramMap.put("pageNo", 1);
-            paramMap.put("pageSize", 20);
-            String result= HttpUtil.post("http://119.3.44.183:8016/manage2/eartagRegister/listUserEartagData", paramMap);
-            cn.hutool.json.JSONObject jsonObject = new cn.hutool.json.JSONObject(result);
-            net.sf.json.JSONObject data = (net.sf.json.JSONObject) jsonObject.get("data");
-            JSONArray records = data.getJSONArray("records");
-            JSONObject record = (JSONObject) records.get(0);
-            screenVo.setAct(record.get("actRange").toString());
-
-            Integer count=0;
+            JSONObject jsonObject2 = new JSONObject();
+            jsonObject2.put("farmId", "330110007");
+            jsonObject2.put("earmark", "1010003");
+            jsonObject2.put("pageNo", 1);
+            jsonObject2.put("pageSize", 20);
+            jsonObject2 .put("status", "");
+
+            String result = HttpRequest.post("https://eartag.alafarms.com/api/manage2/eartagRegister/listUserEartagData").header(Header.CONTENT_TYPE, "application/json")
+                    .body(jsonObject2.toJSONString())
+                    .timeout(30 * 1000).execute().body();
+            System.out.println(result);
+            JSONObject jsonObject = JSON.parseObject(result);
+            JSONObject data = (JSONObject) jsonObject.get("data");
+            com.alibaba.fastjson.JSONArray records = data.getJSONArray("records");
+            if (records.size() != 0) {
+                JSONObject record = (JSONObject) records.get(0);
+                screenVo.setAct(record.get("actRange").toString());
+            } else {
+                screenVo.setAct("0");
+            }
+
+
+            Integer count = 0;
             if (sheepInfo.getIsBatch() == 0) {
-                 count = recordMapper.selectCount(new QueryWrapper<BreedVaccinationRecord>().eq("farm_id", farmId).eq("sheep_id", sheepInfo.getSheepId()));
+                count = recordMapper.selectCount(new QueryWrapper<BreedVaccinationRecord>().eq("farm_id", farmId).eq("sheep_id", sheepInfo.getSheepId()));
             } else {
-                 count = recordMapper.selectCount(new QueryWrapper<BreedVaccinationRecord>().eq("farm_id", farmId).eq("batch_num", sheepInfo.getBatchNum()));
+                count = recordMapper.selectCount(new QueryWrapper<BreedVaccinationRecord>().eq("farm_id", farmId).eq("batch_num", sheepInfo.getBatchNum()));
             }
             if (count == 0) {
                 screenVo.setVaccinationResult("未接种");
@@ -205,23 +218,34 @@ public class ProtSheepInfoServiceImpl extends ServiceImpl<ProtSheepInfoMapper, P
         JSONArray jsonArray = new JSONArray();
         if (sheepInfos.size() != 0) {
             for (ProtSheepInfo sheepInfo : sheepInfos) {
-                HashMap<String, Object> paramMap = new HashMap<>();
+                JSONObject paramMap = new JSONObject();
                 paramMap.put("farmId", farmId);
                 paramMap.put("earmark", sheepInfo.getSheepId());
                 paramMap.put("status", "");
                 paramMap.put("pageNo", 1);
                 paramMap.put("pageSize", 20);
-                String result= HttpUtil.post("http://119.3.44.183:8016/manage2/eartagRegister/listUserEartagData", paramMap);
-                cn.hutool.json.JSONObject jsonObject = new cn.hutool.json.JSONObject(result);
-                net.sf.json.JSONObject data = (net.sf.json.JSONObject) jsonObject.get("data");
-                JSONArray records = data.getJSONArray("records");
-                JSONObject record = (JSONObject) records.get(0);
+                String result = HttpRequest.post("https://eartag.alafarms.com/api/manage2/eartagRegister/listUserEartagData").header(Header.CONTENT_TYPE, "application/json")
+                        .body(paramMap.toJSONString())
+                        .timeout(30 * 1000).execute().body();
+                JSONObject jsonObject = JSON.parseObject(result);
+                JSONObject data = (JSONObject) jsonObject.get("data");
+                com.alibaba.fastjson.JSONArray records = data.getJSONArray("records");
+
 
                 JSONObject object = new JSONObject();
+                object.put("sex", sheepInfo.getSex());
+                object.put("sheepVariety", sheepInfo.getSheepVariety());
+                object.put("unitName", sheepInfo.getUnitName());
                 object.put("sheepId", sheepInfo.getSheepId());
                 object.put("day", sheepInfo.getSheepDay());
-                object.put("hum", record.get("earTemp1"));
-                object.put("act", record.get("actRange"));
+                if (records.size() != 0) {
+                    JSONObject record = (JSONObject) records.get(0);
+                    object.put("hum", record.get("earTemp1"));
+                    object.put("act", record.get("actRange"));
+                } else {
+                    object.put("hum", 0);
+                    object.put("act", 0);
+                }
                 jsonArray.add(object);
             }
         }
@@ -246,27 +270,33 @@ public class ProtSheepInfoServiceImpl extends ServiceImpl<ProtSheepInfoMapper, P
         if (sheepInfos.size() != 0) {
             for (ProtSheepInfo sheepInfo : sheepInfos) {
                 if (StringUtils.isNotBlank(sheepInfo.getSheepId())) {
-                    earmarkCount++;
-                    HashMap<String, Object> paramMap = new HashMap<>();
+
+                    JSONObject paramMap = new JSONObject();
                     paramMap.put("farmId", farmId);
                     paramMap.put("earmark", sheepInfo.getSheepId());
                     paramMap.put("status", "");
                     paramMap.put("pageNo", 1);
                     paramMap.put("pageSize", 20);
-                    String result= HttpUtil.post("http://119.3.44.183:8016/manage2/eartagRegister/listUserEartagData", paramMap);
-                    cn.hutool.json.JSONObject jsonObject = new cn.hutool.json.JSONObject(result);
-                    net.sf.json.JSONObject data = (net.sf.json.JSONObject) jsonObject.get("data");
-                    JSONArray records = data.getJSONArray("records");
-                    JSONObject record = (JSONObject) records.get(0);
-                    if (Double.valueOf(record.get("earTemp1").toString()) > 37.5) {
-                        errorCount++;
+                    String result = HttpRequest.post("https://eartag.alafarms.com/api/manage2/eartagRegister/listUserEartagData").header(Header.CONTENT_TYPE, "application/json")
+                            .body(paramMap.toJSONString())
+                            .timeout(30 * 1000).execute().body();
+
+                    JSONObject jsonObject = JSON.parseObject(result);
+                    JSONObject data = (JSONObject) jsonObject.get("data");
+                    com.alibaba.fastjson.JSONArray records = data.getJSONArray("records");
+                    if (records.size() != 0) {
+                        JSONObject record = (JSONObject) records.get(0);
+                        if (Double.valueOf(record.get("earTemp1").toString()) > 37.5) {
+                            errorCount++;
+                        }
+                        earmarkCount++;
                     }
                 }
             }
         }
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("count", sheepInfos.size());
-        jsonObject.put("buildCount",buildCount);
+        jsonObject.put("buildCount", buildCount);
         jsonObject.put("earmarkCount", earmarkCount);
         jsonObject.put("errorCount", errorCount);
         return new Result(ResultCode.SUCCESS, jsonObject);
@@ -279,73 +309,101 @@ public class ProtSheepInfoServiceImpl extends ServiceImpl<ProtSheepInfoMapper, P
         Integer errorCount = 0;
         Integer earmarkCount = 0;
         double temp = 0.00;
-        double act = 0.00;
+        Integer act = 0;
         JSONObject object = new JSONObject();
         DecimalFormat def = new DecimalFormat("0.00");
         List<ProtSheepInfo> sheepInfos = sheepInfoMapper.selectList(new QueryWrapper<ProtSheepInfo>().eq("farm_id", farmId).eq("is_leave", 0));
         if (sheepInfos.size() != 0) {
             for (ProtSheepInfo sheepInfo : sheepInfos) {
                 if (StringUtils.isNotBlank(sheepInfo.getSheepId())) {
-                    HashMap<String, Object> paramMap = new HashMap<>();
+                    JSONObject paramMap = new JSONObject();
                     paramMap.put("farmId", farmId);
                     paramMap.put("earmark", sheepInfo.getSheepId());
                     paramMap.put("status", "");
                     paramMap.put("pageNo", 1);
                     paramMap.put("pageSize", 20);
-                    String result= HttpUtil.post("http://119.3.44.183:8016/manage2/eartagRegister/listUserEartagData", paramMap);
-                    cn.hutool.json.JSONObject jsonObject = new cn.hutool.json.JSONObject(result);
-                    net.sf.json.JSONObject data = (net.sf.json.JSONObject) jsonObject.get("data");
-                    JSONArray records = data.getJSONArray("records");
-                    JSONObject record = (JSONObject) records.get(0);
-                    if (Double.valueOf(record.get("earTemp1").toString()) > 37.5) {
-                        errorCount++;
+                    String result = HttpRequest.post("https://eartag.alafarms.com/api/manage2/eartagRegister/listUserEartagData").header(Header.CONTENT_TYPE, "application/json")
+                            .body(paramMap.toJSONString())
+                            .timeout(30 * 1000).execute().body();
+                    System.out.println(result);
+                    JSONObject jsonObject = JSON.parseObject(result);
+                    JSONObject data = (JSONObject) jsonObject.get("data");
+                    com.alibaba.fastjson.JSONArray records = data.getJSONArray("records");
+                    if (records.size() != 0) {
+                        JSONObject record = (JSONObject) records.get(0);
+                        if (Double.valueOf(record.get("earTemp1").toString()) > 37.5) {
+                            errorCount++;
+                        }
+                        temp = temp + Double.valueOf(record.get("earTemp1").toString());
+                        act = act + Integer.parseInt(record.get("actRange").toString());
+                        earmarkCount++;
                     }
-                    temp = temp + Double.valueOf(record.get("earTemp1").toString());
-                    act = act + Integer.parseInt(record.get("actRange").toString());
-                    earmarkCount++;
                 }
             }
-            act = (double) act / earmarkCount;
-            temp = temp / earmarkCount;
+            if (earmarkCount != 0) {
+                act = act / earmarkCount;
+                temp = temp / earmarkCount;
+            }
         }
         object.put("earmarkCount", earmarkCount);
         object.put("temp", def.format(temp));
-        object.put("act", def.format(act));
-        object.put("errorCount", def.format(errorCount));
+        object.put("act",act);
+        object.put("errorCount", errorCount);
         return new Result(ResultCode.SUCCESS, object);
     }
 
     @Override
     public Result listAct(Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
-        HashMap<String, Object> paramMap = new HashMap<>();
-        paramMap.put("farmId", farmId);
-        String result= HttpUtil.post("http://119.3.44.183:8016/manage2/eartag-hour-act/listActAvg", paramMap);
-        cn.hutool.json.JSONObject jsonObject = new cn.hutool.json.JSONObject(result);
-        cn.hutool.json.JSONArray records = jsonObject.getJSONArray("data");
+        HashMap<String, String> map = new HashMap<>();
+        JSONObject jsonObject1 = new JSONObject();
+        jsonObject1.put("farmId", farmId);
+        map.put("Content-Type", "application/json;charset=utf-8");
+        String result = HttpRequest.post("https://eartag.alafarms.com/api/manage2/eartag-hour-act/listActAvg")
+                .headerMap(map, false).body(jsonObject1.toJSONString()).timeout(30 * 1000).execute().body();
+        JSONObject jsonObject = JSON.parseObject(result);
+        com.alibaba.fastjson.JSONArray records = jsonObject.getJSONArray("data");
         return new Result(ResultCode.SUCCESS, records);
     }
 
     @Override
     public Result listTemp(Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
-        HashMap<String, Object> paramMap = new HashMap<>();
+        JSONObject paramMap = new JSONObject();
         paramMap.put("farmId", farmId);
-        String result= HttpUtil.post("http://119.3.44.183:8016/api/pig/allHealthy", paramMap);
-        cn.hutool.json.JSONObject jsonObject = new cn.hutool.json.JSONObject(result);
-        cn.hutool.json.JSONArray records = jsonObject.getJSONArray("data");
+        String result = HttpRequest.post("https://eartag.alafarms.com/api/manage2/pig/allHealthy2").header(Header.CONTENT_TYPE, "application/json")
+                .body(paramMap.toJSONString())
+                .timeout(30 * 1000).execute().body();
+        JSONObject jsonObject = JSON.parseObject(result);
+        com.alibaba.fastjson.JSONArray records = jsonObject.getJSONArray("data");
         return new Result(ResultCode.SUCCESS, records);
     }
 
     @Override
-    public Result listWarning(Map<String, String> paramsMap) {
+    public String listWarning(Map<String, String> paramsMap) {
         String farmId = paramsMap.get("farmId");
-        HashMap<String, Object> paramMap = new HashMap<>();
-        paramMap.put("farmId", farmId);
-        String result= HttpUtil.post("http://119.3.44.183:8016/manage2/pig/listWarning", paramMap);
-        cn.hutool.json.JSONObject jsonObject = new cn.hutool.json.JSONObject(result);
-        cn.hutool.json.JSONArray records = jsonObject.getJSONArray("data");
-        return new Result(ResultCode.SUCCESS, records);
+        HashMap<String, String> map = new HashMap<>();
+        JSONObject jsonObject1 = new JSONObject();
+        jsonObject1.put("farmId", farmId);
+        map.put("Content-Type", "application/json;charset=utf-8");
+        String result = HttpRequest.post("https://eartag.alafarms.com/api/manage2/pig/listWarning")
+                .headerMap(map, false).body(jsonObject1.toJSONString()).timeout(30 * 1000).execute().body();
+        return  result;
+    }
+
+    @Override
+    public String listWarning2(Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        HashMap<String, String> map = new HashMap<>();
+        JSONObject jsonObject1 = new JSONObject();
+        jsonObject1.put("farmId", farmId);
+        jsonObject1.put("pageNum", paramsMap.get("pageNum"));
+        jsonObject1.put("pageSize", paramsMap.get("pageSize"));
+        map.put("Content-Type", "application/json;charset=utf-8");
+        String result = HttpRequest.post("https://eartag.alafarms.com/api/manage2/pig/listWarning2")
+                .headerMap(map, false).body(jsonObject1.toJSONString()).timeout(30 * 1000).execute().body();
+        System.out.println(result);
+        return  result;
     }
 
     @Override
@@ -355,65 +413,72 @@ public class ProtSheepInfoServiceImpl extends ServiceImpl<ProtSheepInfoMapper, P
         QueryWrapper<ProtSheepInfo> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("farm_id", farmId).eq("sheep_id", sheepId).eq("is_leave", 0);
         ProtSheepInfo sheepInfo = sheepInfoMapper.selectOne(queryWrapper);
-
         TreeSheepInfo treeSheepInfo = new TreeSheepInfo();
-        treeSheepInfo.setDayNum(sheepInfo.getSheepDay());
-        treeSheepInfo.setSex(sheepInfo.getSex());
-        treeSheepInfo.setSheepId(sheepInfo.getSheepId());
-        treeSheepInfo.setSheepVariety(sheepInfo.getSheepVariety());
-        treeSheepInfo.setUnitName(sheepInfo.getUnitName());
-        treeSheepInfo.setId(sheepInfo.getId());
-        if (StringUtils.isNotBlank(sheepInfo.getSheepMother())) {
-            ProtSheepInfo mother = sheepInfoMapper.selectOne(new QueryWrapper<ProtSheepInfo>().eq("sheep_id", sheepInfo.getSheepMother()));
-            TreeSheepInfo treeSheepInfo1 = new TreeSheepInfo();
-            treeSheepInfo1.setDayNum(mother.getSheepDay());
-            treeSheepInfo1.setSex(mother.getSex());
-            treeSheepInfo1.setSheepId(mother.getSheepId());
-            treeSheepInfo1.setSheepVariety(mother.getSheepVariety());
-            treeSheepInfo1.setUnitName(mother.getUnitName());
-            treeSheepInfo1.setId(mother.getId());
-            treeSheepInfo.setMotherSheep(treeSheepInfo1);
-            if (StringUtils.isNotBlank(mother.getSheepMother())) {
-                ProtSheepInfo grandma = sheepInfoMapper.selectOne(new QueryWrapper<ProtSheepInfo>().eq("sheep_id", mother.getSheepMother()));
-                TreeSheepInfo treeSheepInfo2 = new TreeSheepInfo();
-                treeSheepInfo2.setDayNum(grandma.getSheepDay());
-                treeSheepInfo2.setSex(grandma.getSex());
-                treeSheepInfo2.setSheepId(grandma.getSheepId());
-                treeSheepInfo2.setSheepVariety(grandma.getSheepVariety());
-                treeSheepInfo2.setUnitName(grandma.getUnitName());
-                treeSheepInfo2.setId(grandma.getId());
-                treeSheepInfo1.setMotherSheep(treeSheepInfo2);
+        if (ObjectUtil.isNotEmpty(sheepInfo)) {
+            treeSheepInfo.setDayNum(sheepInfo.getSheepDay());
+            treeSheepInfo.setSex(sheepInfo.getSex());
+            treeSheepInfo.setSheepId(sheepInfo.getSheepId());
+            treeSheepInfo.setSheepVariety(sheepInfo.getSheepVariety());
+            treeSheepInfo.setUnitName(sheepInfo.getUnitName());
+            treeSheepInfo.setId(sheepInfo.getId());
+            if (StringUtils.isNotBlank(sheepInfo.getSheepMother())) {
+                ProtSheepInfo mother = sheepInfoMapper.selectOne(new QueryWrapper<ProtSheepInfo>().eq("sheep_id", sheepInfo.getSheepMother()));
+                TreeSheepInfo treeSheepInfo1 = new TreeSheepInfo();
+                treeSheepInfo1.setDayNum(mother.getSheepDay());
+                treeSheepInfo1.setSex(mother.getSex());
+                treeSheepInfo1.setSheepId(mother.getSheepId());
+                treeSheepInfo1.setSheepVariety(mother.getSheepVariety());
+                treeSheepInfo1.setUnitName(mother.getUnitName());
+                treeSheepInfo1.setId(mother.getId());
+                treeSheepInfo.setMotherSheep(treeSheepInfo1);
+                if (StringUtils.isNotBlank(mother.getSheepMother())) {
+                    ProtSheepInfo grandma = sheepInfoMapper.selectOne(new QueryWrapper<ProtSheepInfo>().eq("sheep_id", mother.getSheepMother()));
+                    TreeSheepInfo treeSheepInfo2 = new TreeSheepInfo();
+                    treeSheepInfo2.setDayNum(grandma.getSheepDay());
+                    treeSheepInfo2.setSex(grandma.getSex());
+                    treeSheepInfo2.setSheepId(grandma.getSheepId());
+                    treeSheepInfo2.setSheepVariety(grandma.getSheepVariety());
+                    treeSheepInfo2.setUnitName(grandma.getUnitName());
+                    treeSheepInfo2.setId(grandma.getId());
+                    treeSheepInfo1.setMotherSheep(treeSheepInfo2);
+                }
             }
-        }
-        if (StringUtils.isNotBlank(sheepInfo.getSheepFather())) {
-            ProtSheepInfo father = sheepInfoMapper.selectOne(new QueryWrapper<ProtSheepInfo>().eq("sheep_id", sheepInfo.getSheepFather()));
-            TreeSheepInfo treeSheepInfo1 = new TreeSheepInfo();
-            treeSheepInfo1.setDayNum(father.getSheepDay());
-            treeSheepInfo1.setSex(father.getSex());
-            treeSheepInfo1.setSheepId(father.getSheepId());
-            treeSheepInfo1.setSheepVariety(father.getSheepVariety());
-            treeSheepInfo1.setUnitName(father.getUnitName());
-            treeSheepInfo1.setId(father.getId());
-            treeSheepInfo.setMotherSheep(treeSheepInfo1);
-            if (StringUtils.isNotBlank(father.getSheepFather())) {
-                ProtSheepInfo grandfa = sheepInfoMapper.selectOne(new QueryWrapper<ProtSheepInfo>().eq("sheep_id", father.getSheepFather()));
-                TreeSheepInfo treeSheepInfo2 = new TreeSheepInfo();
-                treeSheepInfo2.setDayNum(grandfa.getSheepDay());
-                treeSheepInfo2.setSex(grandfa.getSex());
-                treeSheepInfo2.setSheepId(grandfa.getSheepId());
-                treeSheepInfo2.setSheepVariety(grandfa.getSheepVariety());
-                treeSheepInfo2.setUnitName(grandfa.getUnitName());
-                treeSheepInfo2.setId(grandfa.getId());
-                treeSheepInfo1.setMotherSheep(treeSheepInfo2);
+            if (StringUtils.isNotBlank(sheepInfo.getSheepFather())) {
+                ProtSheepInfo father = sheepInfoMapper.selectOne(new QueryWrapper<ProtSheepInfo>().eq("sheep_id", sheepInfo.getSheepFather()));
+                TreeSheepInfo treeSheepInfo1 = new TreeSheepInfo();
+                treeSheepInfo1.setDayNum(father.getSheepDay());
+                treeSheepInfo1.setSex(father.getSex());
+                treeSheepInfo1.setSheepId(father.getSheepId());
+                treeSheepInfo1.setSheepVariety(father.getSheepVariety());
+                treeSheepInfo1.setUnitName(father.getUnitName());
+                treeSheepInfo1.setId(father.getId());
+                treeSheepInfo.setFatherSheep(treeSheepInfo1);
+                if (StringUtils.isNotBlank(father.getSheepFather())) {
+                    ProtSheepInfo grandfa = sheepInfoMapper.selectOne(new QueryWrapper<ProtSheepInfo>().eq("sheep_id", father.getSheepFather()));
+                    TreeSheepInfo treeSheepInfo2 = new TreeSheepInfo();
+                    treeSheepInfo2.setDayNum(grandfa.getSheepDay());
+                    treeSheepInfo2.setSex(grandfa.getSex());
+                    treeSheepInfo2.setSheepId(grandfa.getSheepId());
+                    treeSheepInfo2.setSheepVariety(grandfa.getSheepVariety());
+                    treeSheepInfo2.setUnitName(grandfa.getUnitName());
+                    treeSheepInfo2.setId(grandfa.getId());
+                    treeSheepInfo1.setFatherSheep(treeSheepInfo2);
+                }
             }
         }
+
         return new Result(ResultCode.SUCCESS, treeSheepInfo);
     }
 
+    @Override
+    public void updateDayAge() {
+
+    }
+
     /**
      * 查询结果 转换成树形结构
      *
-     * @param bizBaseAreas 原始数据
+     * @param
      * @return 树
      */
 //    private List<TreeBasePigpen> parseBizBaseArea(List<BasePigpen> bizBaseAreas) {
@@ -445,4 +510,26 @@ public class ProtSheepInfoServiceImpl extends ServiceImpl<ProtSheepInfoMapper, P
 //        });
 //        return roots;
 //    }
+    public static void main(String[] args) {
+//        HashMap<String, Object> paramMap = new HashMap<>();
+//        paramMap.put("farmId", "330110007");
+//        paramMap.put("earmark", "1010003");
+//        paramMap.put("status", "");
+//        paramMap.put("pageNo", 1);
+//        paramMap.put("pageSize", 20);
+//        String result = HttpUtil.post("https://eartag.alafarms.com/api/manage2/eartagRegister/listUserEartagData", paramMap);
+//        System.out.println(result);
+
+        JSONObject jsonObject2 = new JSONObject();
+        jsonObject2.put("farmId", "330110007");
+        jsonObject2.put("earmark", "1010003");
+        jsonObject2.put("pageNo", 1);
+        jsonObject2.put("pageSize", 20);
+        jsonObject2.put("status", "");
+
+        String body = HttpRequest.post("https://eartag.alafarms.com/api/manage2/eartagRegister/listUserEartagData").header(Header.CONTENT_TYPE, "application/json")
+                .body(jsonObject2.toJSONString())
+                .timeout(30 * 1000).execute().body();
+        System.out.println(body);
+    }
 }

+ 22 - 0
huimv-huyang-admin/src/main/java/com/huimv/admin/timer/UpdateDayAge.java

@@ -0,0 +1,22 @@
+//package com.huimv.admin.timer;
+//
+//import com.huimv.admin.service.IProtSheepInfoService;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.scheduling.annotation.EnableScheduling;
+//import org.springframework.scheduling.annotation.Scheduled;
+//import org.springframework.stereotype.Component;
+//
+//
+//@Component
+//@EnableScheduling
+//public class UpdateDayAge {
+//
+//    @Autowired
+//    private IProtSheepInfoService sheepInfoService;
+//    @Scheduled(cron = "0 0 23 * * ?")
+//    private void setDayAge(){
+//        System.out.println("--->更新日龄");
+//        sheepInfoService.updateDayAge();
+//        System.out.println("--->更新成功");
+//    }
+//}

+ 6 - 0
huimv-huyang-admin/src/main/resources/mapper/CooperateEmployeeMapper.xml

@@ -2,4 +2,10 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.huimv.admin.cooperate.mapper.CooperateEmployeeMapper">
 
+    <select id="listScreen" resultType="com.huimv.admin.cooperate.entity.vo.CooperateScreenVo">
+        select IFNULL(count(*),'0') 'values',create_time 'createTime' from cooperate_employee
+        ${ew.customSqlSegment}
+        group by DATE_FORMAT(create_time,'%y-%m')
+        order by create_time asc
+    </select>
 </mapper>

+ 0 - 0
huimv-huyang-admin/src/main/resources/mapper/CooperateMachiningMapper.xml


Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov