523096025 преди 3 години
родител
ревизия
03b51d4c36
променени са 100 файла, в които са добавени 3064 реда и са изтрити 54 реда
  1. 2 2
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/controller/SysAccountMultilevelController.java
  2. 4 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/entity/Farm.java
  3. 2 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/entity/ProdFarmName.java
  4. 6 0
      huimv-farm-v2/huimv-common/pom.xml
  5. 157 0
      huimv-farm-v2/huimv-common/src/main/java/com/huimv/common/utils/AirQualityIndexUtil.java
  6. 7 0
      huimv-farm-v2/huimv-common/src/main/java/com/huimv/common/utils/DataUill.java
  7. 29 0
      huimv-farm-v2/huimv-common/src/main/java/com/huimv/common/utils/PercentUtil.java
  8. 2 11
      huimv-farm-v2/huimv-gateway/src/main/java/com/farm/gateway/config/CorsConfig.java
  9. 3 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/HuimvProduceWarningApplication.java
  10. 5 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/BaseRoomController.java
  11. 35 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/BaseTelecomRoomController.java
  12. 77 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/ProdCostStatisticsController.java
  13. 42 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/ProdGoodsWarningController.java
  14. 36 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/ProdPayableRankController.java
  15. 53 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/ProdProduceController.java
  16. 48 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/ProdSalesController.java
  17. 36 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/ProdSowPigletStatusController.java
  18. 9 4
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/ProdStockController.java
  19. 37 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/ProdWarningMsgController.java
  20. 50 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/ProdWorkPlanController.java
  21. 62 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/SysTelecomController.java
  22. 45 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/SysThresholdController.java
  23. 185 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/WeatherController.java
  24. 2 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/BaseBox.java
  25. 32 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/BaseTelecomRoom.java
  26. 38 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/Farm.java
  27. 52 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/ProdCostStatistics.java
  28. 49 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/ProdGoodsWarning.java
  29. 44 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/ProdPayableRank.java
  30. 69 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/ProdProduce.java
  31. 58 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/ProdSales.java
  32. 44 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/ProdSowPigletStatus.java
  33. 47 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/ProdWarningMsg.java
  34. 44 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/ProdWorkPlan.java
  35. 1 1
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/SysHumidity.java
  36. 47 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/SysTelecom.java
  37. 1 1
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/SysTemperature.java
  38. 76 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/SysThreshold.java
  39. 49 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/WeatherResultEntity.java
  40. 16 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/dto/ClientHomeDto.java
  41. 24 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/dto/CostDto.java
  42. 12 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/dto/DayWaterDto.java
  43. 10 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/dto/ProdSalesDto.java
  44. 14 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/dto/ProdScreenDto.java
  45. 16 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/dto/ScreenDto.java
  46. 31 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/dto/ScreenWorkPlan.java
  47. 19 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/dto/TelecomDto.java
  48. 1 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/BaseRoomMapper.java
  49. 16 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/BaseTelecomRoomMapper.java
  50. 19 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/FarmMapper.java
  51. 16 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/ProdCostStatisticsMapper.java
  52. 16 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/ProdGoodsWarningMapper.java
  53. 16 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/ProdPayableRankMapper.java
  54. 16 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/ProdProduceMapper.java
  55. 28 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/ProdSalesMapper.java
  56. 16 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/ProdSowPigletStatusMapper.java
  57. 16 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/ProdWarningMsgMapper.java
  58. 24 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/ProdWorkPlanMapper.java
  59. 5 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/SysDayWaterMapper.java
  60. 3 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/SysFodderMapper.java
  61. 6 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/SysHumidityMapper.java
  62. 16 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/SysTelecomMapper.java
  63. 7 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/SysTemperatureMapper.java
  64. 16 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/SysThresholdMapper.java
  65. 2 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IBaseRoomService.java
  66. 16 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IBaseTelecomRoomService.java
  67. 16 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IProdCostStatisticsService.java
  68. 16 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IProdGoodsWarningService.java
  69. 16 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IProdPayableRankService.java
  70. 20 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IProdProduceService.java
  71. 22 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IProdSalesService.java
  72. 16 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IProdSowPigletStatusService.java
  73. 16 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IProdWarningMsgService.java
  74. 20 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IProdWorkPlanService.java
  75. 20 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/ISysTelecomService.java
  76. 16 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/ISysThresholdService.java
  77. 36 8
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/BaseRoomServiceImpl.java
  78. 20 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/BaseTelecomRoomServiceImpl.java
  79. 20 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/ProdCostStatisticsServiceImpl.java
  80. 20 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/ProdGoodsWarningServiceImpl.java
  81. 20 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/ProdPayableRankServiceImpl.java
  82. 265 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/ProdProduceServiceImpl.java
  83. 1 1
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/ProdSalesDetailServiceImpl.java
  84. 110 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/ProdSalesServiceImpl.java
  85. 20 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/ProdSowPigletStatusServiceImpl.java
  86. 2 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/ProdStockServiceImpl.java
  87. 20 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/ProdWarningMsgServiceImpl.java
  88. 41 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/ProdWorkPlanServiceImpl.java
  89. 19 6
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/SysDayWaterServiceImpl.java
  90. 8 6
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/SysFodderServiceImpl.java
  91. 33 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/SysTelecomServiceImpl.java
  92. 20 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/SysThresholdServiceImpl.java
  93. 73 14
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/timer/SgdTimer.java
  94. 33 0
      huimv-farm-v2/huimv-produce-warning/src/main/resources/com/huimv/produce/mapper/ProdSalesMapper.xml
  95. 72 0
      huimv-farm-v2/huimv-produce-warning/src/main/resources/com/huimv/produce/mapper/ProdWorkPlanMapper.xml
  96. 34 0
      huimv-farm-v2/huimv-produce-warning/src/main/resources/com/huimv/produce/mapper/SysDayWaterMapper.xml
  97. 9 0
      huimv-farm-v2/huimv-produce-warning/src/main/resources/com/huimv/produce/mapper/SysFodderMapper.xml
  98. 14 0
      huimv-farm-v2/huimv-produce-warning/src/main/resources/com/huimv/produce/mapper/SysHumidityMapper.xml
  99. 14 0
      huimv-farm-v2/huimv-produce-warning/src/main/resources/com/huimv/produce/mapper/SysTemperatureMapper.xml
  100. 0 0
      huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/controller/CameraAreaController.java

+ 2 - 2
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/controller/SysAccountMultilevelController.java

@@ -70,8 +70,8 @@ public class SysAccountMultilevelController {
     }
 
     @GetMapping("/remove")
-    public Result remove(@RequestParam(name ="ids")List<Integer> ids){
-        accountMultilevelService.removeByIds(ids);
+    public Result remove(@RequestParam(name ="userIds")List<Integer> userIds){
+        accountMultilevelService.removeByIds(userIds);
 
         return new Result(10000,"删除成功",true);
 

+ 4 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/entity/Farm.java

@@ -29,5 +29,9 @@ public class Farm extends Model {
 
     private String farmName;
 
+    private String location;
+
+    private String frontLocation;
+
 
 }

+ 2 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/entity/ProdFarmName.java

@@ -34,4 +34,6 @@ public class ProdFarmName extends Model {
     private String erpShortName;
 
 
+    private String erpFarmId;
+
 }

+ 6 - 0
huimv-farm-v2/huimv-common/pom.xml

@@ -57,6 +57,12 @@
             <version>0.9.1</version>
         </dependency>
         <dependency>
+            <groupId>net.sf.json-lib</groupId>
+            <artifactId>json-lib</artifactId>
+            <version>2.2.3</version>
+            <classifier>jdk15</classifier>
+        </dependency>
+        <dependency>
             <groupId>com.alibaba</groupId>
             <artifactId>fastjson</artifactId>
             <version>1.2.28</version>

+ 157 - 0
huimv-farm-v2/huimv-common/src/main/java/com/huimv/common/utils/AirQualityIndexUtil.java

@@ -0,0 +1,157 @@
+package com.huimv.common.utils;
+
+
+import net.sf.json.JSONObject;
+
+import java.io.*;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @Author Anchor
+ * @Date 2021/7/16 10:30
+ * @Version 1.0.1
+ */
+public class AirQualityIndexUtil {
+
+
+
+    /**
+     * 天气情况查询接口地址
+     */
+    public static String API_URL = "http://apis.juhe.cn/simpleWeather/query";
+    /**
+     * 请求key  ---这个key是杨迪自己注册的.免费版.....希望公司后面买正式版
+     */
+    public static String API_KEY = "b9876f1d1eaec3ae987fcd54646060f7";
+    /*public static void main(String[] args) {
+        String cityName = "嘉兴";
+        queryWeather(cityName);
+    }*/
+    /**
+     * 根据城市名查询天气情况
+     *
+     * @param cityName
+     */
+    public  static   String  queryWeather(String cityName) {
+        //组合参数
+        Map<String, Object> params = new HashMap<>();
+        params.put("city", cityName);
+        params.put("key", API_KEY);
+        String queryParams = urlEncode(params);
+        String response = doGet(API_URL, queryParams);
+        System.out.println(response);
+        try {
+            JSONObject jsonObject = JSONObject.fromObject(response);
+            int errorCode = jsonObject.getInt("error_code");
+            if (errorCode == 0) {
+                System.out.println("调用接口成功");
+                JSONObject result = jsonObject.getJSONObject("result");
+                JSONObject realtime = result.getJSONObject("realtime");
+               /* System.out.printf("城市:%s%n", result.getString("city"));
+                System.out.printf("天气:%s%n", realtime.getString("info"));
+                System.out.printf("温度:%s%n", realtime.getString("temperature"));
+                System.out.printf("湿度:%s%n", realtime.getString("humidity"));
+                System.out.printf("风向:%s%n", realtime.getString("direct"));
+                System.out.printf("风力:%s%n", realtime.getString("power"));
+                System.out.printf("空气质量:%s%n", realtime.getString("aqi"));
+                */
+                return    realtime.getString("aqi");
+            } else {
+                System.out.println("调用接口失败:" + jsonObject.getString("reason"));
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return   null;
+    }
+
+    /**
+     * get方式的http请求
+     *
+     * @param httpUrl 请求地址
+     * @return 返回结果
+     */
+    public static String doGet(String httpUrl, String queryParams) {
+        HttpURLConnection connection = null;
+        InputStream inputStream = null;
+        BufferedReader bufferedReader = null;
+        //返回结果字符串
+        String result = null;
+        try {
+            //创建远程url连接对象
+            URL url = new URL(new StringBuffer(httpUrl).append("?").append(queryParams).toString());
+            //通过远程url连接对象打开一个连接,强转成httpURLConnection类
+            connection = (HttpURLConnection) url.openConnection();
+            //设置连接方式:get
+            connection.setRequestMethod("GET");
+            //设置连接主机服务器的超时时间:5000毫秒
+            connection.setConnectTimeout(5000);
+            //设置读取远程返回的数据时间:6000毫秒
+            connection.setReadTimeout(6000);
+            //发送请求
+            connection.connect();
+            //通过connection连接,获取输入流
+            if (connection.getResponseCode() == 200) {
+                inputStream = connection.getInputStream();
+                //封装输入流,并指定字符集
+                bufferedReader = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8));
+                //存放数据
+                StringBuilder sbf = new StringBuilder();
+                String temp;
+                while ((temp = bufferedReader.readLine()) != null) {
+                    sbf.append(temp);
+                    sbf.append(System.getProperty("line.separator"));
+                }
+                result = sbf.toString();
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        } finally {
+            //关闭资源
+            if (null != bufferedReader) {
+                try {
+                    bufferedReader.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+            if (null != inputStream) {
+                try {
+                    inputStream.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+            if (connection != null) {
+                //关闭远程连接
+                connection.disconnect();
+            }
+        }
+        return result;
+    }
+
+    /**
+     * 将map型转为请求参数型
+     *
+     * @param data
+     * @return
+     */
+    public static String urlEncode(Map<String, ?> data) {
+        StringBuilder sb = new StringBuilder();
+        for (Map.Entry<String, ?> i : data.entrySet()) {
+            try {
+                sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue() + "", "UTF-8")).append("&");
+            } catch (UnsupportedEncodingException e) {
+                e.printStackTrace();
+            }
+        }
+        String result = sb.toString();
+        result = result.substring(0, result.lastIndexOf("&"));
+        return result;
+    }
+}

+ 7 - 0
huimv-farm-v2/huimv-common/src/main/java/com/huimv/common/utils/DataUill.java

@@ -81,6 +81,13 @@ public class DataUill {
         cal.add(Calendar.MONTH, -1);
         return cal.getTime();
     }
+
+    public static Date getTwoLastMonthStartMorning() {
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(getTimesMonthmorning());
+        cal.add(Calendar.MONTH, -2);
+        return cal.getTime();
+    }
   
     public static Date getCurrentQuarterStartTime() {
         Calendar c = Calendar.getInstance();

+ 29 - 0
huimv-farm-v2/huimv-common/src/main/java/com/huimv/common/utils/PercentUtil.java

@@ -0,0 +1,29 @@
+package com.huimv.common.utils;
+
+import java.text.DecimalFormat;
+
+/**
+ * @Author : yuxuexuan
+ * @Create : 2021/11/29 0029 10:52
+ **/
+public class PercentUtil {
+
+    public static String getGrowth(Double lastMonth,Double lastTwoMonth){
+        if (lastMonth.equals( lastTwoMonth)){
+            return "0";
+        }
+        if (lastMonth == 0.0){
+            return "-100";
+        }
+
+        if (lastTwoMonth == 0.0){
+            return "100";
+        }
+        DecimalFormat df = new DecimalFormat("0.00");
+
+        return df.format((lastMonth - lastTwoMonth)/ lastTwoMonth *100);
+    }
+
+
+
+}

+ 2 - 11
huimv-farm-v2/huimv-gateway/src/main/java/com/farm/gateway/config/CorsConfig.java

@@ -11,22 +11,13 @@ package com.farm.gateway.config;
 
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.server.reactive.ServerHttpRequest;
-import org.springframework.http.server.reactive.ServerHttpResponse;
 import org.springframework.web.cors.CorsConfiguration;
-import org.springframework.web.cors.reactive.CorsUtils;
 import org.springframework.web.cors.reactive.CorsWebFilter;
 import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource;
-import org.springframework.web.server.ServerWebExchange;
-import org.springframework.web.server.WebFilter;
-import org.springframework.web.server.WebFilterChain;
 import org.springframework.web.util.pattern.PathPatternParser;
-import reactor.core.publisher.Mono;
 
-/**
+
+/**listCost
  * 跨域配置
  * @author chengwenbing
  */

+ 3 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/HuimvProduceWarningApplication.java

@@ -1,12 +1,15 @@
 package com.huimv.produce;
 
+import com.huimv.common.config.InterceptorConfig;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.Import;
 import org.springframework.scheduling.annotation.EnableScheduling;
 
 @SpringBootApplication
 @MapperScan("com.huimv.produce.mapper")
+@Import(InterceptorConfig.class)
 @EnableScheduling
 public class HuimvProduceWarningApplication {
 

+ 5 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/BaseRoomController.java

@@ -49,4 +49,9 @@ public class BaseRoomController {
         return new Result(ResultCode.SUCCESS,baseRoomService.list(new QueryWrapper<BaseRoom>().eq("box_id",uid)));
     }
 
+
+    @GetMapping("/listLargeScreen")
+    public Result listLargeScreen(@RequestParam(name = "farmId") String farmId){
+        return baseRoomService.listLargeScreen(farmId);
+    }
 }

+ 35 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/BaseTelecomRoomController.java

@@ -0,0 +1,35 @@
+package com.huimv.produce.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.produce.entity.BaseTelecomRoom;
+import com.huimv.produce.service.IBaseTelecomRoomService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-23
+ */
+@RestController
+@RequestMapping("/baseTelecomRoom")
+public class BaseTelecomRoomController {
+
+    @Autowired
+    private IBaseTelecomRoomService baseTelecomRoomService;
+
+    @GetMapping("/list")
+    public Result list(@RequestParam(name = "farmId") Integer farmId){
+        List<BaseTelecomRoom> baseTelecomRooms = baseTelecomRoomService.list(new QueryWrapper<BaseTelecomRoom>().eq("farm_id", farmId));
+        return new Result(ResultCode.SUCCESS,baseTelecomRooms);
+    }
+
+}

+ 77 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/ProdCostStatisticsController.java

@@ -0,0 +1,77 @@
+package com.huimv.produce.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.common.utils.DataUill;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.produce.entity.ProdCostStatistics;
+import com.huimv.produce.entity.dto.CostDto;
+import com.huimv.produce.service.IProdCostStatisticsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.naming.Name;
+import java.util.*;
+
+/**
+ * <p>
+ *  成本表
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@RestController
+@RequestMapping("/prodCostStatistics")
+public class ProdCostStatisticsController {
+    @Autowired
+    private IProdCostStatisticsService costStatisticsService;
+
+    @GetMapping("listCost")
+    public Result getCost(@RequestParam(name = "farmId") Integer farmId){
+        List<ProdCostStatistics> list = costStatisticsService.list(new QueryWrapper<ProdCostStatistics>().eq("farm_id", farmId).eq("add_date", DataUill.getTimesmorning()));
+        CostDto costDto1 = new CostDto("基础猪群","0","0","0");
+        CostDto costDto2 = new CostDto("保育猪群","0","0","0");
+        CostDto costDto3 = new CostDto("育肥猪群","0","0","0");
+        CostDto costDto4 = new CostDto("后备猪群","0","0","0");
+        CostDto costDto5 = new CostDto("总成本","0","0","0");
+        for (ProdCostStatistics prodCostStatistics : list) {
+            String projectName = prodCostStatistics.getProjectName();
+
+            if ("公摊费用项目".equals(projectName)){
+                costDto1.setGtValue(prodCostStatistics.getBaseGroup());
+                costDto2.setGtValue(prodCostStatistics.getPigletGroup());
+                costDto3.setGtValue(prodCostStatistics.getFattenPig());
+                costDto4.setGtValue(prodCostStatistics.getReplaceGilt());
+                costDto5.setGtValue(prodCostStatistics.getTotal());
+            }
+            if ("兽药".equals(projectName)){
+                costDto1.setSyValue(prodCostStatistics.getBaseGroup());
+                costDto2.setSyValue(prodCostStatistics.getPigletGroup());
+                costDto3.setSyValue(prodCostStatistics.getFattenPig());
+                costDto4.setSyValue(prodCostStatistics.getReplaceGilt());
+                costDto5.setSyValue(prodCostStatistics.getTotal());
+
+            }
+            if ("饲料".equals(projectName)){
+                costDto1.setSlValue(prodCostStatistics.getBaseGroup());
+                costDto2.setSlValue(prodCostStatistics.getPigletGroup());
+                costDto3.setSlValue(prodCostStatistics.getFattenPig());
+                costDto4.setSlValue(prodCostStatistics.getReplaceGilt());
+                costDto5.setSlValue(prodCostStatistics.getTotal());
+            }
+        }
+
+        Map map = new HashMap<>();
+
+        map.put("baseGroup",costDto1);
+        map.put("pigletGroup",costDto2);
+        map.put("fattenPig",costDto3);
+        map.put("replaceGilt",costDto4);
+        map.put("total",costDto5);
+
+        return new Result(ResultCode.SUCCESS,map);
+    }
+
+}

+ 42 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/ProdGoodsWarningController.java

@@ -0,0 +1,42 @@
+package com.huimv.produce.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huimv.common.utils.DataUill;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.produce.entity.ProdCostStatistics;
+import com.huimv.produce.entity.ProdGoodsWarning;
+import com.huimv.produce.service.IProdCostStatisticsService;
+import com.huimv.produce.service.IProdGoodsWarningService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@RestController
+@RequestMapping("/prodGoodsWarning")
+public class ProdGoodsWarningController {
+    @Autowired
+    private IProdGoodsWarningService goodsWarningService;
+
+    @PostMapping("listGoodsWarning")
+    public Result getCost(@RequestBody Map<String,Integer> map){
+        Integer current = map.get("current");
+        Integer farmId = map.get("farmId");
+        Integer size = map.get("size");
+        QueryWrapper<ProdGoodsWarning> eq = new QueryWrapper<ProdGoodsWarning>().eq("farm_id", farmId).eq("set_time", DataUill.getTimesmorning());
+
+        return new Result(ResultCode.SUCCESS,goodsWarningService.page(new Page<>(current,size),eq));
+    }
+}

+ 36 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/ProdPayableRankController.java

@@ -0,0 +1,36 @@
+package com.huimv.produce.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.produce.entity.ProdCostStatistics;
+import com.huimv.produce.entity.ProdPayableRank;
+import com.huimv.produce.service.IProdCostStatisticsService;
+import com.huimv.produce.service.IProdPayableRankService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ *   应付表
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@RestController
+@RequestMapping("/prodPayableRank")
+public class ProdPayableRankController {
+    @Autowired
+    private IProdPayableRankService prodPayableRankService;
+
+    @GetMapping("/listPayable")
+    public Result getCost(@RequestParam(name = "farmId") Integer farmId){
+        List<ProdPayableRank> list = prodPayableRankService.list(new QueryWrapper<ProdPayableRank>().eq("farm_id", farmId).eq("add_date", new Date()));
+        return new Result(ResultCode.SUCCESS,list);
+    }
+}

+ 53 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/ProdProduceController.java

@@ -0,0 +1,53 @@
+package com.huimv.produce.controller;
+
+
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.produce.entity.ProdPayableRank;
+import com.huimv.produce.entity.ProdProduce;
+import com.huimv.produce.entity.ProdStock;
+import com.huimv.produce.service.IProdPayableRankService;
+import com.huimv.produce.service.IProdProduceService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@RestController
+@RequestMapping("/prodProduce")
+public class ProdProduceController {
+
+    @Autowired
+    private IProdProduceService prodProduceService;
+
+    @GetMapping("/listProducee")
+    public Result listProducee(@RequestParam(name = "farmId") Integer farmId){
+        Date now = new Date();
+        List<ProdProduce> list = prodProduceService.list(new QueryWrapper<ProdProduce>().eq("farm_id", farmId).eq("year", DateUtil.year(now)).eq("month", DateUtil.month(now)+1));
+        Map map = new HashMap();
+        for (ProdProduce prodProduce : list) {
+            String stockType = prodProduce.getStockType();
+            map.put(stockType,prodProduce);
+        }
+        return new Result(ResultCode.SUCCESS,map);
+    }
+
+    @PostMapping("/listImportance")
+    public Result listImportance(@RequestBody Map<String,String> map){
+
+        return prodProduceService.listImportance(map);
+    }
+}

+ 48 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/ProdSalesController.java

@@ -0,0 +1,48 @@
+package com.huimv.produce.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.common.utils.DataUill;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.produce.entity.ProdPayableRank;
+import com.huimv.produce.entity.ProdSales;
+import com.huimv.produce.service.IProdPayableRankService;
+import com.huimv.produce.service.IProdSalesService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  销售表
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@RestController
+@RequestMapping("/prodSales")
+public class ProdSalesController {
+    @Autowired
+    private IProdSalesService prodSalesService;
+
+//    @GetMapping("/listSales")
+//    public Result getCost(@RequestParam(name = "farmId") Integer farmId){
+//        List<ProdSales> list = prodSalesService.list(new QueryWrapper<ProdSales>().eq("farm_id", farmId).eq("add_date", DataUill.getTimesmorning()));
+//        return new Result(ResultCode.SUCCESS,list);
+//    }
+
+    @PostMapping("/listSales")
+    public Result getCost(@RequestBody Map map){
+            return  prodSalesService.listSales(map);
+    }
+
+    @GetMapping("/listClientHome")
+    public Result listClientHome(@RequestParam(name = "farmId") Integer farmId){
+        return  prodSalesService.listClientHome(farmId);
+    }
+}

+ 36 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/ProdSowPigletStatusController.java

@@ -0,0 +1,36 @@
+package com.huimv.produce.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.produce.entity.ProdSales;
+import com.huimv.produce.entity.ProdSowPigletStatus;
+import com.huimv.produce.service.IProdSalesService;
+import com.huimv.produce.service.IProdSowPigletStatusService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ *  母猪和猪仔状态
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@RestController
+@RequestMapping("/prodSowPigletStatus")
+public class ProdSowPigletStatusController {
+    @Autowired
+    private IProdSowPigletStatusService sowPigletStatusService;
+
+    @GetMapping("/listSowPiglet")
+    public Result getClistSowPigletost(@RequestParam(name = "farmId") Integer farmId){
+        List<ProdSowPigletStatus> list = sowPigletStatusService.list(new QueryWrapper<ProdSowPigletStatus>().eq("farm_id", farmId).eq("add_date", new Date()));
+        return new Result(ResultCode.SUCCESS,list);
+    }
+}

+ 9 - 4
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/ProdStockController.java

@@ -10,9 +10,7 @@ import com.huimv.produce.service.IProdStockService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * <p>
@@ -34,7 +32,14 @@ public class ProdStockController {
         Date now = new Date();
 
         List<ProdStock> list = prodStockService.list(new QueryWrapper<ProdStock>().eq("farm_id", farmId).eq("year",DateUtil.year(now)).eq("month", DateUtil.month(now)+1));
-        return new Result(ResultCode.SUCCESS,list);
+//        List endList = new ArrayList();
+        Map map = new HashMap();
+        for (ProdStock prodStock : list) {
+            String stockType = prodStock.getStockType();
+            map.put(stockType,prodStock);
+
+        }
+        return new Result(ResultCode.SUCCESS,map);
     }
 
     @GetMapping("/listStorage")

+ 37 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/ProdWarningMsgController.java

@@ -0,0 +1,37 @@
+package com.huimv.produce.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.common.utils.DataUill;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.produce.entity.ProdSowPigletStatus;
+import com.huimv.produce.entity.ProdWarningMsg;
+import com.huimv.produce.service.IProdSowPigletStatusService;
+import com.huimv.produce.service.IProdWarningMsgService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ *  预警信息表
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@RestController
+@RequestMapping("/prodWarningMsg")
+public class ProdWarningMsgController {
+    @Autowired
+    private IProdWarningMsgService warningMsgService;
+
+    @GetMapping("/listWarningMsg")
+    public Result listWarningMsg(@RequestParam(name = "farmId") Integer farmId){
+        List<ProdWarningMsg> list = warningMsgService.list(new QueryWrapper<ProdWarningMsg>().eq("farm_id", farmId).eq("add_time", DataUill.getTimesmorning()));
+        return new Result(ResultCode.SUCCESS,list);
+    }
+}

+ 50 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/ProdWorkPlanController.java

@@ -0,0 +1,50 @@
+package com.huimv.produce.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.common.utils.DataUill;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.produce.entity.ProdWarningMsg;
+import com.huimv.produce.entity.ProdWorkPlan;
+import com.huimv.produce.service.IProdWarningMsgService;
+import com.huimv.produce.service.IProdWorkPlanService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ *  工作计划
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@RestController
+@RequestMapping("/prodWorkPlan")
+public class ProdWorkPlanController {
+    @Autowired
+    private IProdWorkPlanService workPlanService;
+
+    @GetMapping("/listWorkPlan")
+    public Result getCost(@RequestParam(name = "farmId") Integer farmId){
+        List<ProdWorkPlan> list = workPlanService.list(new QueryWrapper<ProdWorkPlan>().eq("farm_id", farmId).eq("add_time", DataUill.getTimesmorning()));
+        return new Result(ResultCode.SUCCESS,list);
+    }
+
+    @GetMapping("/listLargeScreen")
+    public Result listLargeScreen(@RequestParam(name = "farmId") Integer farmId){
+
+        return workPlanService.listLargeScreen( farmId);
+    }
+
+
+    @GetMapping("/listScreenWorkPlan")
+    public Result listScreenWorkPlan(@RequestParam(name = "farmId") Integer farmId){
+
+        return workPlanService.listScreenWorkPlan( farmId);
+    }
+}

+ 62 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/SysTelecomController.java

@@ -0,0 +1,62 @@
+package com.huimv.produce.controller;
+
+
+import com.huimv.common.utils.Result;
+import com.huimv.produce.entity.SysTelecom;
+import com.huimv.produce.entity.dto.TelecomDto;
+import com.huimv.produce.service.ISysTelecomService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.sound.midi.Soundbank;
+import java.text.DecimalFormat;
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-22
+ */
+@RestController
+@RequestMapping("/device")
+public class SysTelecomController {
+    @Autowired
+    private ISysTelecomService telecomService;
+
+    @PostMapping("/deviceResponse")
+    public String deviceResponse(@RequestBody TelecomDto telecomDto) {
+        Map<String,Integer> payload = telecomDto.getPayload();
+
+        SysTelecom telecom = new SysTelecom();
+        telecom.setDeviceId(telecomDto.getDeviceId());
+        telecom.setFarmId(1);
+        telecom.setTimestamp(telecomDto.getTimestamp());
+        Integer rssi = payload.get("RSSI");
+        Integer STC = payload.get("STC");
+        Integer HUMI = payload.get("HUMI");
+        Integer TEMP = payload.get("TEMP");
+        telecom.setRssi(rssi);
+        telecom.setStc(STC);
+
+        telecom.setHumi(HUMI);
+        DecimalFormat df = new DecimalFormat("0.0");
+        telecom.setTemp( df.format(TEMP*0.1));
+
+        telecomService.save(telecom);
+        return "200";
+    }
+
+
+    @PostMapping("/listByRoom")
+    public Result listByRoom(@RequestBody Map map) {
+        return telecomService.listByRoom(map);
+    }
+
+}

+ 45 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/SysThresholdController.java

@@ -0,0 +1,45 @@
+package com.huimv.produce.controller;
+
+
+import cn.hutool.core.util.ObjectUtil;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.produce.entity.SysThreshold;
+import com.huimv.produce.service.ISysThresholdService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-30
+ */
+@RestController
+@RequestMapping("/threshold")
+public class SysThresholdController {
+
+
+    @Autowired
+    private ISysThresholdService thresholdService;
+
+    @PostMapping("/addThreshold")
+    public Result addThreshold(@RequestBody SysThreshold threshold){
+        SysThreshold byId = thresholdService.getById(threshold.getFarmId());
+        if (ObjectUtil.isEmpty(byId)){
+            thresholdService.save(threshold);
+        }else {
+            thresholdService.updateById(threshold);
+        }
+
+
+        return new Result(10000,"设置成功",true);
+    }
+
+    @GetMapping("/getThreshold")
+    public Result getThreshold(@RequestParam(name = "farmId") String farmId){
+        return new Result(ResultCode.SUCCESS,thresholdService.getById(farmId));
+    }
+}

+ 185 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/WeatherController.java

@@ -0,0 +1,185 @@
+package com.huimv.produce.controller;
+
+
+import cn.hutool.http.HttpUtil;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+
+
+import com.baomidou.mybatisplus.extension.api.R;
+import com.dahuatech.icc.exception.ClientException;
+
+import com.huimv.common.utils.AirQualityIndexUtil;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.produce.entity.Farm;
+import com.huimv.produce.entity.WeatherResultEntity;
+import com.huimv.produce.mapper.FarmMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import net.sf.json.JSONObject;
+import java.nio.charset.Charset;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/weather")
+public class WeatherController {
+
+
+    @Autowired
+    private FarmMapper farmMapper;
+
+
+    @RequestMapping("/info")
+    public Result getAccidentRecord(@RequestParam Map<String, Object> params) throws ClientException {
+        String farmId = (String) params.get("farmId");
+        LambdaQueryWrapper<Farm> wrapper = Wrappers.lambdaQuery();
+        wrapper.eq(Farm::getId, farmId);//未删除的阈值
+        Farm farm = farmMapper.selectOne(wrapper);
+        String[] location = farm.getFrontLocation().split(",");
+        String province = location[0];
+        String city = location[1];
+        String county = location[2];
+
+
+        // log.info("当前城市为=======>" +province+city+county);
+        //直接通过它计算出24小时之内的温度同时以一个新的数组存入表中,数据的取出和比较值后面进行
+        String url = "https://wis.qq.com/weather/common";
+        String param = "source=xw&weather_type=observe|forecast_1h|forecast_24h|index|alarm|limit|tips&province=" + province + "&city=" + city + "&county=" + county;
+        String result = HttpUtil.urlWithForm(url, param, Charset.defaultCharset(), true);
+//        System.out.println(result);
+        String s = HttpUtil.get(result);
+        //对S进行解析,首先获取当天24小时的温度情况
+        JSONObject jsonObject = JSONObject.fromObject(s);
+        Object data = jsonObject.get("data");
+        JSONObject jsonData = JSONObject.fromObject(data);
+//        System.out.println(jsonData);
+        Object forecastobject24hDetail = JSONObject.fromObject(jsonData.get("forecast_24h")).get("1"); //24小时天气预报的  “1”  为当天的天气预报
+        Object forecastobject01hDetail = JSONObject.fromObject(jsonData.get("forecast_1h")).get("0"); //24小时天气预报的  “1”  为当天的天气预报
+
+
+        Object alarm = JSONObject.fromObject(jsonData).get("alarm");//报警信息
+        Object degree = JSONObject.fromObject(forecastobject01hDetail).get("degree");//当前温度
+
+
+        Object maxDegree = JSONObject.fromObject(forecastobject24hDetail).get("max_degree");//当天最高温
+        Object minDegree = JSONObject.fromObject(forecastobject24hDetail).get("min_degree");//当天最低温
+
+
+        Object day_weather = JSONObject.fromObject(forecastobject24hDetail).get("day_weather");//百天天气
+        Object day_wind_direction = JSONObject.fromObject(forecastobject24hDetail).get("day_wind_direction");//西风
+        Object day_wind_power = JSONObject.fromObject(forecastobject24hDetail).get("day_wind_power");//风力
+
+        Object night_weather = JSONObject.fromObject(forecastobject24hDetail).get("night_weather");//夜间天气
+        Object night_wind_direction = JSONObject.fromObject(forecastobject24hDetail).get("night_wind_direction");//夜间风向
+        Object night_wind_power = JSONObject.fromObject(forecastobject24hDetail).get("night_wind_power");//夜间风力
+
+
+        Object humidityValu = JSONObject.fromObject(jsonData.get("observe")).get("humidity");//湿度
+
+
+        String airQualityIndex = AirQualityIndexUtil.queryWeather(city.substring(0, city.length() - 1));
+        // log.info("空气质量为====>" + airQualityIndex);
+        JSONObject forecastByhour = JSONObject.fromObject(jsonData.get("forecast_1h"));  //获得逐小时数据并遍历
+        List<String>  TimeList = new ArrayList<>();
+        List<String>  TempList = new ArrayList<>();
+
+        for (int i = 0; i <24; i++) {
+            //现在需要将逐小时的气温数据存在表里面  //初步实现,裁剪
+            JSONObject HoureDate = JSONObject.fromObject(forecastByhour.get(String.valueOf(i)));
+            String timeString = (String)HoureDate.get("update_time");
+            //时间为这种格式,进行格式化处理   20210714180000
+            StringBuffer stringDate=new StringBuffer(timeString).insert(4,"-").insert(7,"-").insert(10," ").insert(13,":").insert(16,":");
+            //存储第二天逐小时天气预报以及信息
+            TimeList.add(stringDate.toString());
+            TempList.add(HoureDate.get("degree").toString());
+
+        }
+
+        WeatherResultEntity weatherResultEntity = new WeatherResultEntity();
+        weatherResultEntity.setAlarm( alarm.toString());
+        weatherResultEntity.setDegree((String) degree);
+        weatherResultEntity.setMax_degree((String) maxDegree);
+        weatherResultEntity.setMin_degree((String) minDegree);
+        weatherResultEntity.setDay_weather((String) day_weather);
+        weatherResultEntity.setDay_wind_direction((String) day_wind_direction);
+        weatherResultEntity.setDay_wind_power((String) day_wind_power);
+        weatherResultEntity.setNight_weather((String) night_weather);
+        weatherResultEntity.setNight_wind_direction((String)night_wind_direction);
+        weatherResultEntity.setNight_wind_power((String) night_wind_power);
+        weatherResultEntity.setHumidity((String) humidityValu);
+        weatherResultEntity.setAirQuility( airQualityIndex);
+        weatherResultEntity.setSendTime(new Date());
+        weatherResultEntity.setTimeList(TimeList);
+        weatherResultEntity.setTempList(TempList);
+        return new Result(ResultCode.SUCCESS, weatherResultEntity);
+
+    }
+
+
+    /*public static void main(String[] args) {
+        // 浙江省,杭州市,余杭区,咯咯3
+        String province = "浙江省";
+        String city = "杭州市";
+        String county = "余杭区";
+        Integer farmid =2;
+        // log.info("当前城市为=======>" +province+city+county);
+        //直接通过它计算出24小时之内的温度同时以一个新的数组存入表中,数据的取出和比较值后面进行
+        String url = "https://wis.qq.com/weather/common";
+        String param = "source=xw&weather_type=observe|forecast_1h|forecast_24h|index|alarm|limit|tips&province=" + province + "&city=" + city + "&county=" + county;
+        String result = HttpUtil.urlWithForm(url, param, Charset.defaultCharset(), true);
+        System.out.println(result);
+        String s = HttpUtil.get(result);
+        //对S进行解析,首先获取当天24小时的温度情况
+        JSONObject jsonObject = JSONObject.fromObject(s);
+        Object data = jsonObject.get("data");
+        JSONObject jsonData = JSONObject.fromObject(data);
+        System.out.println(jsonData);
+        Object forecastobject24hDetail = JSONObject.fromObject(jsonData.get("forecast_24h")).get("1"); //24小时天气预报的  “1”  为当天的天气预报
+        Object forecastobject01hDetail = JSONObject.fromObject(jsonData.get("forecast_1h")).get("0"); //24小时天气预报的  “1”  为当天的天气预报
+
+
+
+
+        Object alarm = JSONObject.fromObject(jsonData).get("alarm");//报警信息
+        Object degree = JSONObject.fromObject(forecastobject01hDetail).get("degree");//当前温度
+
+
+        Object maxDegree = JSONObject.fromObject(forecastobject24hDetail).get("max_degree");//当天最高温
+        Object minDegree = JSONObject.fromObject(forecastobject24hDetail).get("min_degree");//当天最低温
+
+
+        Object day_weather = JSONObject.fromObject(forecastobject24hDetail).get("day_weather");//百天天气
+        Object day_wind_direction = JSONObject.fromObject(forecastobject24hDetail).get("day_wind_direction");//西风
+        Object day_wind_power = JSONObject.fromObject(forecastobject24hDetail).get("day_wind_power");//风力
+
+        Object night_weather = JSONObject.fromObject(forecastobject24hDetail).get("night_weather");//夜间天气
+        Object night_wind_direction = JSONObject.fromObject(forecastobject24hDetail).get("night_wind_direction");//夜间风向
+        Object night_wind_power = JSONObject.fromObject(forecastobject24hDetail).get("night_wind_power");//夜间风力
+
+        Object humidityValu =  JSONObject.fromObject(jsonData.get("observe")).get("humidity");//湿度
+
+
+        System.out.println("canshu "+alarm);
+        System.out.println("canshu "+degree);
+        System.out.println("canshu "+maxDegree);
+        System.out.println("canshu "+minDegree);
+        System.out.println("canshu "+day_weather);
+        System.out.println("canshu "+day_wind_direction);
+        System.out.println("canshu "+day_wind_power);
+        System.out.println("canshu "+night_weather);
+        System.out.println("canshu "+night_wind_direction);
+        System.out.println("canshu "+night_wind_power);
+        System.out.println("canshu "+humidityValu);
+
+
+    }*/
+}
+

+ 2 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/BaseBox.java

@@ -1,5 +1,7 @@
 package com.huimv.produce.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import lombok.Data;
 import lombok.EqualsAndHashCode;

+ 32 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/BaseTelecomRoom.java

@@ -0,0 +1,32 @@
+package com.huimv.produce.entity;
+
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-23
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+public class BaseTelecomRoom extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    private String deviceId;
+
+    private String deviceName;
+
+    private String deviceRoom;
+
+    private Integer farmId;
+
+
+}

+ 38 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/Farm.java

@@ -0,0 +1,38 @@
+package com.huimv.produce.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-10-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("base_farm")
+public class Farm extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+    //牧场名称
+    private String farmName;
+    //位置编码
+    private String location;
+    //牧场位置
+    private String frontLocation;
+
+
+
+}

+ 52 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/ProdCostStatistics.java

@@ -0,0 +1,52 @@
+package com.huimv.produce.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.time.LocalDate;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+public class ProdCostStatistics extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private Integer farmId;
+
+    private String farmName;
+
+    private String baseGroup;
+
+    private String pigletGroup;
+
+    private String fattenPig;
+
+    private String replaceGilt;
+
+    private String commonCost;
+
+    private String total;
+
+    private String projectName;
+
+    private Date addDate;
+
+
+}

+ 49 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/ProdGoodsWarning.java

@@ -0,0 +1,49 @@
+package com.huimv.produce.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalTime;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+public class ProdGoodsWarning extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private LocalTime warningTime;
+
+    private String goods;
+
+    private Integer quantity;
+
+    private Integer safeLine;
+
+    /**
+     * 1:报警 0:未报警
+     */
+    private Integer isWarning;
+
+    private Date setTime;
+
+    private Integer farmId;
+
+
+}

+ 44 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/ProdPayableRank.java

@@ -0,0 +1,44 @@
+package com.huimv.produce.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.time.LocalDate;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+public class ProdPayableRank extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private Integer farmId;
+
+    private String farmName;
+
+    private Integer rank;
+
+    private Float money;
+
+    private String supplier;
+
+    private Date addDate;
+
+
+}

+ 69 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/ProdProduce.java

@@ -0,0 +1,69 @@
+package com.huimv.produce.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+public class ProdProduce extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 存栏类型
+     */
+    private String stockType;
+
+    /**
+     * 存栏名称
+     */
+    private String stockName;
+
+    /**
+     * 存栏数量
+     */
+    private String stockQuantity;
+
+    /**
+     * 占比
+     */
+    private Float rate;
+
+    /**
+     * 月份
+     */
+    private Integer month;
+
+    /**
+     * 年份
+     */
+    private Integer year;
+
+    /**
+     * 牧场id
+     */
+    private Integer farmId;
+
+    /**
+     * 分区id
+     */
+    private Integer subareaId;
+
+
+}

+ 58 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/ProdSales.java

@@ -0,0 +1,58 @@
+package com.huimv.produce.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.time.LocalDate;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+public class ProdSales extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private Integer farmId;
+
+    private String farmName;
+
+    private String todayQuantity;
+
+    private String todayWeight;
+
+    private String todayMoney;
+
+    private String weekQuantity;
+
+    private String weekWeight;
+
+    private String weekMoney;
+
+    private String monthQuantity;
+
+    private String monthWeight;
+
+    private String monthMoney;
+
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private Date addDate;
+
+
+}

+ 44 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/ProdSowPigletStatus.java

@@ -0,0 +1,44 @@
+package com.huimv.produce.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.time.LocalDate;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+public class ProdSowPigletStatus extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private Integer farmId;
+
+    private String farmName;
+
+    private Integer status1;
+
+    private Integer status2;
+
+    private Integer status3;
+
+    private Date addDate;
+
+
+}

+ 47 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/ProdWarningMsg.java

@@ -0,0 +1,47 @@
+package com.huimv.produce.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+public class ProdWarningMsg extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private String tipTime;
+
+    private String farmName;
+
+    private String warningContent;
+
+    private Integer farmId;
+
+    private LocalDate addTime;
+
+    private Integer handleState;
+
+    private Date handleTime;
+
+
+}

+ 44 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/ProdWorkPlan.java

@@ -0,0 +1,44 @@
+package com.huimv.produce.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.time.LocalDate;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+public class ProdWorkPlan extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private Integer farmId;
+
+    private String farmName;
+
+    private Integer planTimes;
+
+    private Integer pigQuantity;
+
+    private String planName;
+
+    private Date addTime;
+
+
+}

+ 1 - 1
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/SysHumidity.java

@@ -30,7 +30,7 @@ public class SysHumidity extends Model {
 
     private String id;
 
-    private String value;
+    private Double value;
 
     @JsonFormat(pattern = "MM-dd HH:mm",timezone = "GMT+8")
     private Date createTime;

+ 47 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/SysTelecom.java

@@ -0,0 +1,47 @@
+package com.huimv.produce.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-22
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+public class SysTelecom extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private Integer farmId;
+
+    private Date timestamp;
+
+    private String temp;
+
+    private Integer stc;
+
+    private Integer rssi;
+
+    private Integer humi;
+
+    private String deviceId;
+
+
+}

+ 1 - 1
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/SysTemperature.java

@@ -30,7 +30,7 @@ public class SysTemperature extends Model {
 
     private String id;
 
-    private String value;
+    private Double value;
 
     @JsonFormat(pattern = "MM-dd HH:mm",timezone = "GMT+8")
     private Date createTime;

+ 76 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/SysThreshold.java

@@ -0,0 +1,76 @@
+package com.huimv.produce.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-30
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+public class SysThreshold extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "farm_id")
+    private Integer farmId;
+
+    /**
+     * 高温
+     */
+    private String maxTem;
+
+    /**
+     * 低温
+     */
+    private String minTem;
+
+    /**
+     * 高湿度
+     */
+    private String maxHum;
+
+    /**
+     * 低湿度
+     */
+    private String minHum;
+
+    /**
+     * 累计流量
+     */
+    private String totalFlow;
+
+    /**
+     * 化学需氧量
+     */
+    @TableField("COD")
+    private String COD;
+
+    /**
+     * 氨氮
+     */
+    private String ammonia;
+
+    /**
+     * 氮
+     */
+    private String nitrogen;
+
+    /**
+     * 磷
+     */
+    private String phosphorus;
+
+
+}

+ 49 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/WeatherResultEntity.java

@@ -0,0 +1,49 @@
+package com.huimv.produce.entity;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class WeatherResultEntity {
+
+
+
+    //报警
+    private   String    alarm ;
+    //当前温度
+    private   String    degree ;
+    //当日最高温
+    private   String    max_degree ;
+    //当日最低温
+    private   String    min_degree ;
+    //白天天气
+    private   String    day_weather ;
+    //白天风向
+    private   String    day_wind_direction ;
+    //白天风力
+    private   String    day_wind_power ;
+    //夜间天气
+    private   String    night_weather ;
+    //夜间风向
+    private   String    night_wind_direction ;
+    //夜间风力
+    private   String    night_wind_power ;
+    //空气湿度
+    private   String    humidity ;
+    //空气质量
+    private   String    airQuility ;
+    //上传时间
+    private   Date     sendTime ;
+    //24 小时 时间
+    private List     timeList ;
+    //24小时 温度
+    private  List     tempList ;
+
+
+
+
+}

+ 16 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/dto/ClientHomeDto.java

@@ -0,0 +1,16 @@
+package com.huimv.produce.entity.dto;
+
+import lombok.Data;
+
+@Data
+public class ClientHomeDto {
+
+    private String warning;
+
+    private String money;
+
+    private String quantity;
+
+    private String weekQuantity;
+
+}

+ 24 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/dto/CostDto.java

@@ -0,0 +1,24 @@
+package com.huimv.produce.entity.dto;
+
+
+import lombok.Data;
+
+@Data
+public class CostDto {
+
+    private String name;
+
+    private String slValue;
+
+    private String syValue;
+
+    private String gtValue;
+
+
+    public CostDto(String name, String slValue, String syValue, String gtValue) {
+        this.name = name;
+        this.slValue = slValue;
+        this.syValue = syValue;
+        this.gtValue = gtValue;
+    }
+}

+ 12 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/dto/DayWaterDto.java

@@ -0,0 +1,12 @@
+package com.huimv.produce.entity.dto;
+
+import lombok.Data;
+
+@Data
+public class DayWaterDto {
+
+    private Double lastMonth;
+    private Double lastTwoMonth;
+    private Double lastWeek;
+    private Double lastTwoWeek;
+}

+ 10 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/dto/ProdSalesDto.java

@@ -0,0 +1,10 @@
+package com.huimv.produce.entity.dto;
+
+import lombok.Data;
+
+@Data
+public class ProdSalesDto {
+    private Double quantity;
+    private Double money;
+
+}

+ 14 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/dto/ProdScreenDto.java

@@ -0,0 +1,14 @@
+package com.huimv.produce.entity.dto;
+
+import lombok.Data;
+
+@Data
+public class ProdScreenDto {
+
+    private String total;
+    private String money;
+    private String task;
+
+
+
+}

+ 16 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/dto/ScreenDto.java

@@ -0,0 +1,16 @@
+package com.huimv.produce.entity.dto;
+
+import lombok.Data;
+
+@Data
+public class ScreenDto {
+
+    private String minHum;
+    private String maxHum;
+    private String minTem;
+    private String maxTem;
+    private String dayWater;
+    private String monthWater;
+
+
+}

+ 31 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/dto/ScreenWorkPlan.java

@@ -0,0 +1,31 @@
+package com.huimv.produce.entity.dto;
+
+
+import lombok.Data;
+
+@Data
+public class ScreenWorkPlan {
+    //报警
+    private Integer  warning;
+    //配种
+    private Integer  hybridization;
+    //分娩
+    private Integer  delivery;
+    //断奶
+    private Integer  weaning;
+    //日常
+    private Integer  dayPlan;
+    //转舍
+    private Integer  turnPlan;
+    //普免
+    private Integer  healthPlan;
+    //免疫
+    private Integer  immunePlan;
+
+
+
+
+
+
+
+}

+ 19 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/dto/TelecomDto.java

@@ -0,0 +1,19 @@
+package com.huimv.produce.entity.dto;
+
+
+import lombok.Data;
+
+import java.util.Date;
+import java.util.Map;
+
+@Data
+public class TelecomDto {
+
+
+    private Date timestamp;
+
+    private String deviceId;
+
+    private Map<String,Integer> payload;
+
+}

+ 1 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/BaseRoomMapper.java

@@ -1,6 +1,7 @@
 package com.huimv.produce.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.common.utils.Result;
 import com.huimv.produce.entity.BaseRoom;
 import org.springframework.stereotype.Repository;
 

+ 16 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/BaseTelecomRoomMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.produce.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.produce.entity.BaseTelecomRoom;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-23
+ */
+public interface BaseTelecomRoomMapper extends BaseMapper<BaseTelecomRoom> {
+
+}

+ 19 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/FarmMapper.java

@@ -0,0 +1,19 @@
+package com.huimv.produce.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import com.huimv.produce.entity.Farm;
+import org.springframework.stereotype.Repository;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-10-14
+ */
+@Repository
+public interface FarmMapper extends BaseMapper<Farm> {
+
+}

+ 16 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/ProdCostStatisticsMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.produce.mapper;
+
+import com.huimv.produce.entity.ProdCostStatistics;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+public interface ProdCostStatisticsMapper extends BaseMapper<ProdCostStatistics> {
+
+}

+ 16 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/ProdGoodsWarningMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.produce.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.produce.entity.ProdGoodsWarning;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+public interface ProdGoodsWarningMapper extends BaseMapper<ProdGoodsWarning> {
+
+}

+ 16 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/ProdPayableRankMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.produce.mapper;
+
+import com.huimv.produce.entity.ProdPayableRank;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+public interface ProdPayableRankMapper extends BaseMapper<ProdPayableRank> {
+
+}

+ 16 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/ProdProduceMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.produce.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.produce.entity.ProdProduce;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+public interface ProdProduceMapper extends BaseMapper<ProdProduce> {
+
+}

+ 28 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/ProdSalesMapper.java

@@ -0,0 +1,28 @@
+package com.huimv.produce.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.huimv.produce.entity.ProdSales;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.produce.entity.dto.ClientHomeDto;
+import com.huimv.produce.entity.dto.ProdSalesDto;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@Repository
+public interface ProdSalesMapper extends BaseMapper<ProdSales> {
+
+    ProdSalesDto countMonth(@Param(Constants.WRAPPER)QueryWrapper<ProdSales> wrapper);
+
+    ClientHomeDto listClientHome(@Param("farmId") Integer farmId);
+}

+ 16 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/ProdSowPigletStatusMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.produce.mapper;
+
+import com.huimv.produce.entity.ProdSowPigletStatus;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+public interface ProdSowPigletStatusMapper extends BaseMapper<ProdSowPigletStatus> {
+
+}

+ 16 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/ProdWarningMsgMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.produce.mapper;
+
+import com.huimv.produce.entity.ProdWarningMsg;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+public interface ProdWarningMsgMapper extends BaseMapper<ProdWarningMsg> {
+
+}

+ 24 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/ProdWorkPlanMapper.java

@@ -0,0 +1,24 @@
+package com.huimv.produce.mapper;
+
+import com.huimv.produce.entity.ProdWorkPlan;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.produce.entity.dto.ProdScreenDto;
+import com.huimv.produce.entity.dto.ScreenWorkPlan;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@Repository
+public interface ProdWorkPlanMapper extends BaseMapper<ProdWorkPlan> {
+
+    ProdScreenDto listLargeScreen(@Param("farmId") Integer farmId);
+
+    ScreenWorkPlan listScreenWorkPlan(@Param("farmId")Integer farmId);
+}

+ 5 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/SysDayWaterMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.huimv.produce.entity.SysDayWater;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.produce.entity.dto.DayWaterDto;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
@@ -23,4 +24,8 @@ public interface SysDayWaterMapper extends BaseMapper<SysDayWater> {
     Double countWater(@Param(Constants.WRAPPER) QueryWrapper<SysDayWater> wrapper);
 
     List<SysDayWater> listAllWater(@Param(Constants.WRAPPER) QueryWrapper<SysDayWater> wrapper);
+
+    List<SysDayWater> listDay(@Param(Constants.WRAPPER) QueryWrapper<SysDayWater> wrapper);
+
+    DayWaterDto countMonthAndWeek(@Param(Constants.WRAPPER)  QueryWrapper<SysDayWater> wrapper);
 }

+ 3 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/SysFodderMapper.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.huimv.produce.entity.SysFodder;
 import com.huimv.produce.entity.dto.FodderDto;
+import com.huimv.produce.entity.dto.ScreenDto;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
@@ -26,4 +27,6 @@ public interface SysFodderMapper extends BaseMapper<SysFodder> {
     List<FodderDto> countAllDayValue(@Param(Constants.WRAPPER)QueryWrapper<SysFodder> wrapper);
 
     Integer countAllValue(@Param(Constants.WRAPPER)QueryWrapper<SysFodder> wrapper);
+
+    ScreenDto fodderMapper();
 }

+ 6 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/SysHumidityMapper.java

@@ -1,9 +1,14 @@
 package com.huimv.produce.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.huimv.produce.entity.SysHumidity;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 /**
  * <p>
  *  Mapper 接口
@@ -15,4 +20,5 @@ import org.springframework.stereotype.Repository;
 @Repository
 public interface SysHumidityMapper extends BaseMapper<SysHumidity> {
 
+    List<SysHumidity> listDay(@Param(Constants.WRAPPER) QueryWrapper<SysHumidity> humidityWrapper);
 }

+ 16 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/SysTelecomMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.produce.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.produce.entity.SysTelecom;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-22
+ */
+public interface SysTelecomMapper extends BaseMapper<SysTelecom> {
+
+}

+ 7 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/SysTemperatureMapper.java

@@ -1,9 +1,15 @@
 package com.huimv.produce.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.huimv.common.utils.Result;
 import com.huimv.produce.entity.SysTemperature;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 /**
  * <p>
  *  Mapper 接口
@@ -15,4 +21,5 @@ import org.springframework.stereotype.Repository;
 @Repository
 public interface SysTemperatureMapper extends BaseMapper<SysTemperature> {
 
+    List<SysTemperature> listDay(@Param(Constants.WRAPPER) QueryWrapper<SysTemperature> temperatureWrapper);
 }

+ 16 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/mapper/SysThresholdMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.produce.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.produce.entity.SysThreshold;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-30
+ */
+public interface SysThresholdMapper extends BaseMapper<SysThreshold> {
+
+}

+ 2 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IBaseRoomService.java

@@ -19,4 +19,6 @@ public interface IBaseRoomService extends IService<BaseRoom> {
     Result getAllRoomEnvironment(Integer farmId);
 
     Result listByRoom(Map<String,String> map);
+
+    Result listLargeScreen(String farmId);
 }

+ 16 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IBaseTelecomRoomService.java

@@ -0,0 +1,16 @@
+package com.huimv.produce.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.produce.entity.BaseTelecomRoom;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-23
+ */
+public interface IBaseTelecomRoomService extends IService<BaseTelecomRoom> {
+
+}

+ 16 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IProdCostStatisticsService.java

@@ -0,0 +1,16 @@
+package com.huimv.produce.service;
+
+import com.huimv.produce.entity.ProdCostStatistics;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+public interface IProdCostStatisticsService extends IService<ProdCostStatistics> {
+
+}

+ 16 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IProdGoodsWarningService.java

@@ -0,0 +1,16 @@
+package com.huimv.produce.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.produce.entity.ProdGoodsWarning;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+public interface IProdGoodsWarningService extends IService<ProdGoodsWarning> {
+
+}

+ 16 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IProdPayableRankService.java

@@ -0,0 +1,16 @@
+package com.huimv.produce.service;
+
+import com.huimv.produce.entity.ProdPayableRank;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+public interface IProdPayableRankService extends IService<ProdPayableRank> {
+
+}

+ 20 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IProdProduceService.java

@@ -0,0 +1,20 @@
+package com.huimv.produce.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.common.utils.Result;
+import com.huimv.produce.entity.ProdProduce;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+public interface IProdProduceService extends IService<ProdProduce> {
+
+    Result listImportance(Map<String,String> map);
+}

+ 22 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IProdSalesService.java

@@ -0,0 +1,22 @@
+package com.huimv.produce.service;
+
+import com.huimv.common.utils.Result;
+import com.huimv.produce.entity.ProdSales;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+public interface IProdSalesService extends IService<ProdSales> {
+
+    Result listSales(Map map);
+
+    Result listClientHome(Integer farmId);
+}

+ 16 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IProdSowPigletStatusService.java

@@ -0,0 +1,16 @@
+package com.huimv.produce.service;
+
+import com.huimv.produce.entity.ProdSowPigletStatus;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+public interface IProdSowPigletStatusService extends IService<ProdSowPigletStatus> {
+
+}

+ 16 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IProdWarningMsgService.java

@@ -0,0 +1,16 @@
+package com.huimv.produce.service;
+
+import com.huimv.produce.entity.ProdWarningMsg;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+public interface IProdWarningMsgService extends IService<ProdWarningMsg> {
+
+}

+ 20 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IProdWorkPlanService.java

@@ -0,0 +1,20 @@
+package com.huimv.produce.service;
+
+import com.huimv.common.utils.Result;
+import com.huimv.produce.entity.ProdWorkPlan;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+public interface IProdWorkPlanService extends IService<ProdWorkPlan> {
+
+    Result listLargeScreen(Integer farmId);
+
+    Result listScreenWorkPlan(Integer farmId);
+}

+ 20 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/ISysTelecomService.java

@@ -0,0 +1,20 @@
+package com.huimv.produce.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.common.utils.Result;
+import com.huimv.produce.entity.SysTelecom;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-22
+ */
+public interface ISysTelecomService extends IService<SysTelecom> {
+
+    Result listByRoom(Map map);
+}

+ 16 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/ISysThresholdService.java

@@ -0,0 +1,16 @@
+package com.huimv.produce.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.produce.entity.SysThreshold;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-30
+ */
+public interface ISysThresholdService extends IService<SysThreshold> {
+
+}

+ 36 - 8
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/BaseRoomServiceImpl.java

@@ -10,9 +10,12 @@ import com.huimv.common.utils.DataUill;
 import com.huimv.common.utils.Result;
 import com.huimv.common.utils.ResultCode;
 import com.huimv.produce.entity.BaseRoom;
+import com.huimv.produce.entity.SysFodder;
 import com.huimv.produce.entity.SysHumidity;
 import com.huimv.produce.entity.SysTemperature;
+import com.huimv.produce.entity.dto.ScreenDto;
 import com.huimv.produce.mapper.BaseRoomMapper;
+import com.huimv.produce.mapper.SysFodderMapper;
 import com.huimv.produce.mapper.SysHumidityMapper;
 import com.huimv.produce.mapper.SysTemperatureMapper;
 import com.huimv.produce.service.IBaseRoomService;
@@ -38,6 +41,10 @@ public class BaseRoomServiceImpl extends ServiceImpl<BaseRoomMapper, BaseRoom> i
     @Autowired
     private SysTemperatureMapper temperatureMapper;
 
+    @Autowired
+    private SysFodderMapper fodderMapper;
+
+
     @Override
     public Result getAllRoomEnvironment(Integer farmId) {
         List<BaseRoom> roomList = this.list();
@@ -59,6 +66,7 @@ public class BaseRoomServiceImpl extends ServiceImpl<BaseRoomMapper, BaseRoom> i
 
 
             map.put("room",baseRoom.getAlias()+baseRoom.getRoomName());
+            map.put("roomId",baseRoom.getId());
             resultList.add(map);
         }
         return new Result(ResultCode.SUCCESS,resultList);
@@ -75,8 +83,10 @@ public class BaseRoomServiceImpl extends ServiceImpl<BaseRoomMapper, BaseRoom> i
 
         BaseRoom baseRoom = new BaseRoom();
         if (StrUtil.isBlank(roomId)){
-            baseRoom =  this.getOne(new QueryWrapper<BaseRoom>().eq("farm_id",farmId).last("limit 1"));
-            roomId = baseRoom.getId()+"";
+//            baseRoom =  this.getOne(new QueryWrapper<BaseRoom>().eq("farm_id",farmId).last("limit 1"));
+//            roomId = baseRoom.getId()+"";
+            roomId ="157";
+            baseRoom =this.getById(roomId);
         }else {
             baseRoom =this.getById(roomId);
         }
@@ -91,8 +101,13 @@ public class BaseRoomServiceImpl extends ServiceImpl<BaseRoomMapper, BaseRoom> i
         //根据自定义
         Map resultMap = new HashMap<>();
         if ("4".equals(type) ){
-             humidities = humidityMapper.selectList(humidityWrapper.between("create_time", startDate, endDate));
-             semperatures = temperatureMapper.selectList(temperatureWrapper.between("create_time", startDate, endDate));
+            humidityWrapper.between("create_time", startDate, endDate);
+            temperatureWrapper.between("create_time", startDate, endDate);
+
+            humidities =   humidityMapper.listDay(humidityWrapper);
+            semperatures =   temperatureMapper.listDay(temperatureWrapper);
+
+
             resultMap.put("humidities",humidities);
             resultMap.put("semperatures",semperatures);
         }
@@ -100,16 +115,22 @@ public class BaseRoomServiceImpl extends ServiceImpl<BaseRoomMapper, BaseRoom> i
         //本月
         else if ("3".equals(type)){
             Date timesMonthmorning = DataUill.getTimesMonthmorning();
-            humidities = humidityMapper.selectList(humidityWrapper.ge("create_time",timesMonthmorning ));
-             semperatures = temperatureMapper.selectList(temperatureWrapper.ge("create_time", timesMonthmorning));
+            humidityWrapper.ge("create_time",timesMonthmorning );
+            temperatureWrapper.ge("create_time", timesMonthmorning);
+            humidities =   humidityMapper.listDay(humidityWrapper);
+            semperatures =   temperatureMapper.listDay(temperatureWrapper);
+
             resultMap.put("humidities",humidities);
             resultMap.put("semperatures",semperatures);
         }
         //本周
         else if ("2".equals(type)){
             Date timesWeekmorning = DataUill.getTimesWeekmorning();
-             humidities = humidityMapper.selectList(humidityWrapper.ge("create_time",timesWeekmorning ));
-             semperatures = temperatureMapper.selectList(temperatureWrapper.ge("create_time", timesWeekmorning));
+            humidityWrapper.ge("create_time",timesWeekmorning );
+            temperatureWrapper.ge("create_time", timesWeekmorning);
+            humidities =   humidityMapper.listDay(humidityWrapper);
+            semperatures =   temperatureMapper.listDay(temperatureWrapper);
+
             resultMap.put("humidities",humidities);
             resultMap.put("semperatures",semperatures);
         }
@@ -130,6 +151,13 @@ public class BaseRoomServiceImpl extends ServiceImpl<BaseRoomMapper, BaseRoom> i
         return new Result(ResultCode.SUCCESS,resultMap);
     }
 
+    @Override
+    public Result listLargeScreen(String farmId) {
+        ScreenDto screenDto =  fodderMapper.fodderMapper();
+        return new Result(ResultCode.SUCCESS,screenDto);
+
+    }
+
 //    private void writerExcel(List list,String title) {
 //        ExcelWriter writer = ExcelUtil.getWriter("C:\\Users\\Administrator\\Desktop\\writeBeanTest.xlsx");
 //        writer.merge(4, title);

+ 20 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/BaseTelecomRoomServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.produce.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.produce.entity.BaseTelecomRoom;
+import com.huimv.produce.mapper.BaseTelecomRoomMapper;
+import com.huimv.produce.service.IBaseTelecomRoomService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-23
+ */
+@Service
+public class BaseTelecomRoomServiceImpl extends ServiceImpl<BaseTelecomRoomMapper, BaseTelecomRoom> implements IBaseTelecomRoomService {
+
+}

+ 20 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/ProdCostStatisticsServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.produce.service.impl;
+
+import com.huimv.produce.entity.ProdCostStatistics;
+import com.huimv.produce.mapper.ProdCostStatisticsMapper;
+import com.huimv.produce.service.IProdCostStatisticsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@Service
+public class ProdCostStatisticsServiceImpl extends ServiceImpl<ProdCostStatisticsMapper, ProdCostStatistics> implements IProdCostStatisticsService {
+
+}

+ 20 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/ProdGoodsWarningServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.produce.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.produce.entity.ProdGoodsWarning;
+import com.huimv.produce.mapper.ProdGoodsWarningMapper;
+import com.huimv.produce.service.IProdGoodsWarningService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@Service
+public class ProdGoodsWarningServiceImpl extends ServiceImpl<ProdGoodsWarningMapper, ProdGoodsWarning> implements IProdGoodsWarningService {
+
+}

+ 20 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/ProdPayableRankServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.produce.service.impl;
+
+import com.huimv.produce.entity.ProdPayableRank;
+import com.huimv.produce.mapper.ProdPayableRankMapper;
+import com.huimv.produce.service.IProdPayableRankService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@Service
+public class ProdPayableRankServiceImpl extends ServiceImpl<ProdPayableRankMapper, ProdPayableRank> implements IProdPayableRankService {
+
+}

+ 265 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/ProdProduceServiceImpl.java

@@ -0,0 +1,265 @@
+package com.huimv.produce.service.impl;
+
+import cn.hutool.core.convert.Convert;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.produce.entity.ProdProduce;
+import com.huimv.produce.mapper.ProdProduceMapper;
+import com.huimv.produce.service.IProdProduceService;
+import org.springframework.stereotype.Service;
+
+import java.lang.annotation.Documented;
+import java.text.DecimalFormat;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@Service
+public class ProdProduceServiceImpl extends ServiceImpl<ProdProduceMapper, ProdProduce> implements IProdProduceService {
+
+    @Override
+    public Result listImportance(Map<String,String> map) {
+        String farmId = map.get("farmId");
+        String type = map.get("type");
+        String startDate = map.get("startDate");
+        String endtDate = map.get("endtDate");
+        QueryWrapper<ProdProduce> wrapper = new QueryWrapper<>();
+        wrapper.eq("farm_id",farmId);
+        if (StringUtils.isNotBlank(startDate)){
+            Integer year =Integer.parseInt(startDate.substring(0,4));
+            Integer month =Integer.parseInt(startDate.substring(5,7));
+            wrapper.ge("year",year);
+            wrapper.ge("month",month);
+        }
+        if (StringUtils.isNotBlank(endtDate)){
+            Integer year =Integer.parseInt(endtDate.substring(0,4));
+            Integer month =Integer.parseInt(endtDate.substring(5,7));
+            wrapper.le("year",year);
+            wrapper.le("month",month);
+        }
+        List<String> stockTypes = new ArrayList();
+        List<ProdProduce> prodProduces = new ArrayList<>();
+        // 成活率:产房,保育,肥猪
+        Map endMap = new HashMap();
+        if ("4".equals(type)){
+            stockTypes.add("grice_rate");
+            stockTypes.add("piglet_rate");
+            stockTypes.add("fatpig_rate");
+            wrapper.in("stock_type",stockTypes);
+
+
+            prodProduces = this.list(wrapper);
+            List  priceTime = new ArrayList();
+            List  priceValue = new ArrayList();
+
+            List  pigletTime = new ArrayList();
+            List  pigletValue = new ArrayList();
+
+            List  fatpigTime = new ArrayList();
+            List  fatpigValue = new ArrayList();
+
+
+            for (ProdProduce prodProduce : prodProduces) {
+                String stockType = prodProduce.getStockType();
+                String quantity = prodProduce.getStockQuantity();
+                String time =  prodProduce.getYear()+"-"+ prodProduce.getMonth() ;
+
+                if ("grice_rate".equals(stockType)){
+                    priceValue.add(toBaifenbi(quantity));
+                    priceTime.add(time);
+
+                }
+                if ("piglet_rate".equals(stockType)){
+                    pigletValue.add(toBaifenbi(quantity));
+                    pigletTime.add(time);
+                }
+                if ("fatpig_rate".equals(stockType)){
+                    fatpigValue.add(toBaifenbi(quantity));
+                    fatpigTime.add(time);
+                }
+            }
+
+            Map map1 = new HashMap();
+            map1.put("value",priceValue);
+            map1.put("time",priceTime);
+            map1.put("isPercentage",1);
+            endMap.put("grice_rate",map1);
+
+            Map map2 = new HashMap();
+            map2.put("value",pigletValue);
+            map2.put("time",pigletTime);
+            map2.put("isPercentage",1);
+            endMap.put("piglet_rate",map2);
+
+            Map map3 = new HashMap();
+            map3.put("value",fatpigValue);
+            map3.put("time",fatpigTime);
+            map3.put("isPercentage",1);
+            endMap.put("fatpig_rate",map3);
+
+            endMap.put("isPercentage",1);
+            endMap.put("isWeight",0);
+            endMap.put("isHead",0);
+        }
+        // 断奶:平均断奶窝重,窝断奶仔猪数
+        else if ("3".equals(type)){
+            stockTypes.add("avg_weight");
+            stockTypes.add("break_grice");
+            wrapper.in("stock_type",stockTypes);
+            prodProduces = this.list(wrapper);
+
+            List  priceTime = new ArrayList();
+            List  priceValue = new ArrayList();
+
+            List  pigletTime = new ArrayList();
+            List  pigletValue = new ArrayList();
+
+
+            for (ProdProduce prodProduce : prodProduces) {
+                String stockType = prodProduce.getStockType();
+                String quantity = prodProduce.getStockQuantity();
+                String time =  prodProduce.getYear()+"-"+ prodProduce.getMonth() ;
+                if ("avg_weight".equals(stockType)){
+                    priceValue.add(quantity);
+                    priceTime.add(time);
+
+                }
+                if ("break_grice".equals(stockType)){
+                    pigletValue.add(quantity);
+                    pigletTime.add(time);
+                }
+            }
+
+            Map map1 = new HashMap();
+            map1.put("value",priceValue);
+            map1.put("time",priceTime);
+            map1.put("isPercentage",2);
+            endMap.put("avg_weight",map1);
+
+            Map map2 = new HashMap();
+            map2.put("value",pigletValue);
+            map2.put("time",pigletTime);
+            map2.put("isPercentage",0);
+            endMap.put("break_grice",map2);
+
+            endMap.put("isPercentage",0);
+            endMap.put("isWeight",1);
+            endMap.put("isHead",1);
+
+
+        }
+        //   分娩:平均窝产(3)
+        else if ("2".equals(type)){
+            stockTypes.add("avg_farrow_1");
+            stockTypes.add("avg_farrow_2");
+            stockTypes.add("avg_farrow_3");
+            wrapper.in("stock_type",stockTypes);
+            prodProduces = this.list(wrapper);
+            List  priceTime = new ArrayList();
+            List  priceValue = new ArrayList();
+
+            List  pigletTime = new ArrayList();
+            List  pigletValue = new ArrayList();
+
+            List  fatpigTime = new ArrayList();
+            List  fatpigValue = new ArrayList();
+
+
+            for (ProdProduce prodProduce : prodProduces) {
+                String stockType = prodProduce.getStockType();
+                String quantity = prodProduce.getStockQuantity();
+                String time =  prodProduce.getYear()+"-"+ prodProduce.getMonth() ;
+                if ("avg_farrow_1".equals(stockType)){
+                    priceValue.add(quantity);
+                    priceTime.add(time);
+
+                }
+                if ("avg_farrow_2".equals(stockType)){
+                    pigletValue.add(quantity);
+                    pigletTime.add(time);
+                }
+                if ("avg_farrow_3".equals(stockType)){
+                    fatpigValue.add(quantity);
+                    fatpigTime.add(time);
+                }
+            }
+
+            Map map1 = new HashMap();
+            map1.put("value",priceValue);
+            map1.put("time",priceTime);
+            map1.put("isPercentage",0);
+            endMap.put("avg_farrow_1",map1);
+
+            Map map2 = new HashMap();
+            map2.put("value",pigletValue);
+            map2.put("time",pigletTime);
+            map2.put("isPercentage",0);
+            endMap.put("avg_farrow_2",map2);
+
+            Map map3 = new HashMap();
+            map3.put("value",fatpigValue);
+            map3.put("time",fatpigTime);
+            map3.put("isPercentage",0);
+            endMap.put("avg_farrow_3",map3);
+
+            endMap.put("isPercentage",0);
+            endMap.put("isWeight",0);
+            endMap.put("isHead",1);
+        }
+        // 配种:七日,
+        else {
+            stockTypes.add("break_rate");
+            wrapper.in("stock_type",stockTypes);
+            prodProduces = this.list(wrapper);
+
+            List  priceTime = new ArrayList();
+            List  priceValue = new ArrayList();
+
+            for (ProdProduce prodProduce : prodProduces) {
+                String stockType = prodProduce.getStockType();
+                String quantity = prodProduce.getStockQuantity();
+                String time =  prodProduce.getYear()+"-"+ prodProduce.getMonth() ;
+                if ("break_rate".equals(stockType)){
+                    priceValue.add(toBaifenbi(quantity));
+                    priceTime.add(time);
+
+                }
+
+            }
+
+            Map map1 = new HashMap();
+            map1.put("value",priceValue);
+            map1.put("time",priceTime);
+            map1.put("isPercentage",1);
+            endMap.put("break_rate",map1);
+            endMap.put("isPercentage",1);
+            endMap.put("isWeight",0);
+            endMap.put("isHead",0);
+        }
+
+
+        return new Result(ResultCode.SUCCESS,endMap);
+    }
+
+    private String toBaifenbi(String quantity) {
+
+        DecimalFormat df = new DecimalFormat("0.00");
+        return df.format(Double.parseDouble(quantity) * 100) ;
+
+    }
+
+
+
+}

+ 1 - 1
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/ProdSalesDetailServiceImpl.java

@@ -31,7 +31,7 @@ public class ProdSalesDetailServiceImpl extends ServiceImpl<ProdSalesDetailMappe
     @Override
     public Result getSalesDetail(String beginDate, String endDate, Integer farmId) {
         List<ProdSalesDetail> prodSalesDetails ;
-        if (StringUtils.isNotEmpty(beginDate)){
+        if (StringUtils.isNotBlank(beginDate)){
             prodSalesDetails = this.list(new QueryWrapper<ProdSalesDetail>().between("sell_date", beginDate, endDate));
         }else {
             prodSalesDetails = this.list(new QueryWrapper<ProdSalesDetail>().ge("sell_date", DateUtil.offsetDay(new Date(),-7)));

+ 110 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/ProdSalesServiceImpl.java

@@ -0,0 +1,110 @@
+package com.huimv.produce.service.impl;
+
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.common.utils.DataUill;
+import com.huimv.common.utils.PercentUtil;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.produce.entity.ProdCostStatistics;
+import com.huimv.produce.entity.ProdSales;
+import com.huimv.produce.entity.dto.ClientHomeDto;
+import com.huimv.produce.entity.dto.ProdSalesDto;
+import com.huimv.produce.mapper.ProdSalesMapper;
+import com.huimv.produce.service.IProdSalesService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@Service
+public class ProdSalesServiceImpl extends ServiceImpl<ProdSalesMapper, ProdSales> implements IProdSalesService {
+
+    @Autowired
+    private ProdSalesMapper salesMapper;
+
+    @Override
+    public Result listSales(Map map) {
+        Integer farmId = (Integer)map.get("farmId");
+        Integer type = (Integer)map.get("type");
+        String startDate = (String)map.get("startDate");
+        String endDate = (String)map.get("endDate");
+        QueryWrapper<ProdSales> wrapper = new QueryWrapper<>();
+        wrapper.eq("farm_id",farmId);
+        Map endMap = new HashMap();
+        List<ProdSales> list = new ArrayList<>();
+        //本周
+        if (1==type){
+            wrapper.ge("add_date", DataUill.getTimesWeekmorning());
+            wrapper.isNotNull("today_quantity");
+            list = this.list(wrapper);
+        }//自定义
+        else if (3==type) {
+            endDate = endDate+" 23:59:59";
+            startDate = startDate+" 00:00:00";
+            wrapper.between("add_date",startDate,endDate);
+            wrapper.isNotNull("today_quantity");
+            list = this.list(wrapper);
+        }
+        //本月
+        else {
+            wrapper.ge("add_date", DataUill.getTimesMonthmorning());
+            wrapper.isNotNull("today_quantity");
+            list = this.list(wrapper);
+        }
+        wrapper.clear();
+
+        wrapper.eq("farm_id",farmId);
+        wrapper.last("AND PERIOD_DIFF( DATE_FORMAT( NOW( ) , '%Y%m' ) , DATE_FORMAT( add_date, '%Y%m' ) ) =1  ");
+        ProdSalesDto lastProdSales = salesMapper.countMonth(wrapper);
+
+
+        wrapper.clear();
+
+        wrapper.eq("farm_id",farmId);
+        wrapper.last("AND PERIOD_DIFF( DATE_FORMAT( NOW( ) , '%Y%m' ) , DATE_FORMAT( add_date, '%Y%m' ) ) =2  ");
+        ProdSalesDto lastTwoProdSales = salesMapper.countMonth(wrapper);
+
+        List timeList = new ArrayList();
+        List moneyList = new ArrayList();
+        List quantityList = new ArrayList();
+
+
+        for (ProdSales prodSales : list) {
+            timeList.add(DateUtil.format(prodSales.getAddDate(),"MM-dd"));
+            moneyList.add(  prodSales.getTodayMoney());
+            quantityList.add(  prodSales.getTodayQuantity());
+        }
+
+        endMap.put("timeList",timeList);
+        endMap.put("moneyList",moneyList);
+        endMap.put("quantityList",quantityList);
+
+
+        endMap.put("quantity",lastProdSales.getQuantity());
+        endMap.put("quantityPercent", PercentUtil.getGrowth(lastProdSales.getQuantity(),lastTwoProdSales.getQuantity()));
+        endMap.put("money",lastProdSales.getMoney());
+        endMap.put("moneyPercent", PercentUtil.getGrowth(lastProdSales.getMoney(),lastTwoProdSales.getMoney()));
+        return new Result(ResultCode.SUCCESS,endMap);
+    }
+
+    @Override
+    public Result listClientHome(Integer farmId) {
+        ClientHomeDto clientHomeDto = salesMapper.listClientHome(farmId);
+        return new Result(ResultCode.SUCCESS,clientHomeDto);
+    }
+
+
+}

+ 20 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/ProdSowPigletStatusServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.produce.service.impl;
+
+import com.huimv.produce.entity.ProdSowPigletStatus;
+import com.huimv.produce.mapper.ProdSowPigletStatusMapper;
+import com.huimv.produce.service.IProdSowPigletStatusService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@Service
+public class ProdSowPigletStatusServiceImpl extends ServiceImpl<ProdSowPigletStatusMapper, ProdSowPigletStatus> implements IProdSowPigletStatusService {
+
+}

+ 2 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/ProdStockServiceImpl.java

@@ -64,7 +64,9 @@ public class ProdStockServiceImpl extends ServiceImpl<ProdStockMapper, ProdStock
         list.add("fatpig_stock");
         QueryWrapper<ProdStock> wrapper = new QueryWrapper<>();
         wrapper.in("stock_type",list);
+        wrapper.eq("farm_id",farmId);
         List<ProdStock> prodStockList = this.list(wrapper);
+
         Set month = new HashSet();
         List sowStock = new ArrayList();
         List boarStock = new ArrayList();

+ 20 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/ProdWarningMsgServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.produce.service.impl;
+
+import com.huimv.produce.entity.ProdWarningMsg;
+import com.huimv.produce.mapper.ProdWarningMsgMapper;
+import com.huimv.produce.service.IProdWarningMsgService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@Service
+public class ProdWarningMsgServiceImpl extends ServiceImpl<ProdWarningMsgMapper, ProdWarningMsg> implements IProdWarningMsgService {
+
+}

+ 41 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/ProdWorkPlanServiceImpl.java

@@ -0,0 +1,41 @@
+package com.huimv.produce.service.impl;
+
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.produce.dhicc.result.R;
+import com.huimv.produce.entity.ProdWorkPlan;
+import com.huimv.produce.entity.dto.ProdScreenDto;
+import com.huimv.produce.entity.dto.ScreenWorkPlan;
+import com.huimv.produce.mapper.ProdWorkPlanMapper;
+import com.huimv.produce.service.IProdWorkPlanService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-25
+ */
+@Service
+public class ProdWorkPlanServiceImpl extends ServiceImpl<ProdWorkPlanMapper, ProdWorkPlan> implements IProdWorkPlanService {
+
+    @Autowired
+    private ProdWorkPlanMapper workPlanMapper;
+
+
+    @Override
+    public Result listLargeScreen(Integer farmId) {
+       ProdScreenDto workPlan =  workPlanMapper.listLargeScreen( farmId);
+        return new Result(ResultCode.SUCCESS,workPlan);
+    }
+
+    @Override
+    public Result listScreenWorkPlan(Integer farmId) {
+        ScreenWorkPlan screenWorkPlan = workPlanMapper.listScreenWorkPlan( farmId);
+        return new Result(ResultCode.SUCCESS,screenWorkPlan);
+    }
+}

+ 19 - 6
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/SysDayWaterServiceImpl.java

@@ -4,10 +4,13 @@ import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.huimv.common.utils.DataUill;
+import com.huimv.common.utils.PercentUtil;
 import com.huimv.common.utils.Result;
 import com.huimv.common.utils.ResultCode;
 import com.huimv.produce.entity.BaseRoom;
 import com.huimv.produce.entity.SysMonthWater;
+import com.huimv.produce.entity.dto.DayWaterDto;
+import com.huimv.produce.entity.dto.ProdSalesDto;
 import com.huimv.produce.mapper.BaseRoomMapper;
 import com.huimv.produce.mapper.SysDayWaterMapper;
 import com.huimv.produce.mapper.SysMonthWaterMapper;
@@ -55,8 +58,8 @@ public class SysDayWaterServiceImpl extends ServiceImpl<SysDayWaterMapper, SysDa
         DecimalFormat df = new DecimalFormat("#.00");
         BaseRoom baseRoom ;
         if (roomId == null){
-            baseRoom = baseRoomMapper.selectList(new QueryWrapper<BaseRoom>().eq("farm_id",farmId)).get(0);
-            roomId = baseRoom.getId()+"";
+            roomId ="157";
+            baseRoom =baseRoomMapper.selectById(roomId);
         }else {
             baseRoom = baseRoomMapper.selectById(roomId);
         }
@@ -64,7 +67,7 @@ public class SysDayWaterServiceImpl extends ServiceImpl<SysDayWaterMapper, SysDa
 
 
         QueryWrapper<SysDayWater> wrapper = new QueryWrapper<>();
-        wrapper.eq(StringUtils.isNotEmpty(roomId),"room_id",roomId);
+        wrapper.eq(StringUtils.isNotBlank(roomId),"room_id",roomId);
 
 
         Map endMap = new HashMap();
@@ -72,7 +75,7 @@ public class SysDayWaterServiceImpl extends ServiceImpl<SysDayWaterMapper, SysDa
         if ("4".equals(type)){
             endDate= endDate+" 23:59:59";
             wrapper.between("create_time", startDate, endDate);
-            List<SysDayWater> dayWater = this.list(wrapper);
+            List<SysDayWater> dayWater = dayWaterMapper.listDay(wrapper);
             endMap.put("data",dayWater);
             Double countWater = dayWaterMapper.countWater(wrapper);
             endMap.put("countWater",countWater);
@@ -80,7 +83,7 @@ public class SysDayWaterServiceImpl extends ServiceImpl<SysDayWaterMapper, SysDa
         //本月
         else if ("3".equals(type)) {
             wrapper.ge("create_time", DataUill.getTimesMonthmorning());
-            List<SysDayWater> dayWater = this.list(wrapper);
+            List<SysDayWater> dayWater = dayWaterMapper.listDay(wrapper);
             endMap.put("data",dayWater);
 
 
@@ -91,7 +94,7 @@ public class SysDayWaterServiceImpl extends ServiceImpl<SysDayWaterMapper, SysDa
         //本周
         else if ("2".equals(type)) {
             wrapper.ge("create_time", DataUill.getTimesWeekmorning());
-            List<SysDayWater> dayWater = this.list(wrapper);
+            List<SysDayWater> dayWater = dayWaterMapper.listDay(wrapper);
             endMap.put("data",dayWater);
             Double countWater = dayWaterMapper.countWater(wrapper);
             endMap.put("countWater",countWater);
@@ -124,6 +127,16 @@ public class SysDayWaterServiceImpl extends ServiceImpl<SysDayWaterMapper, SysDa
         }
         endMap.put("room",baseRoom.getAlias()+baseRoom.getRoomName());
 
+        wrapper.clear();
+        wrapper.eq("room_id",roomId);
+        DayWaterDto dayWaterDto = dayWaterMapper.countMonthAndWeek(wrapper);
+
+        endMap.put("monthWater",dayWaterDto.getLastMonth());
+        endMap.put("monthWeekPercent", PercentUtil.getGrowth(dayWaterDto.getLastMonth(),dayWaterDto.getLastTwoMonth()));
+
+        endMap.put("weekWater",dayWaterDto.getLastWeek());
+        endMap.put("weekWeekPercent", PercentUtil.getGrowth(dayWaterDto.getLastWeek(),dayWaterDto.getLastTwoWeek()));
+
 
         return new Result(ResultCode.SUCCESS,endMap);
     }

+ 8 - 6
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/SysFodderServiceImpl.java

@@ -42,7 +42,7 @@ public class SysFodderServiceImpl extends ServiceImpl<SysFodderMapper, SysFodder
 
     @Override
     public Result getAllFodder(Map map) {
-        String startDate = (String) map.get("satrtDate");
+        String startDate = (String) map.get("startDate");
         String endDate = (String) map.get("endDate");
         Integer type = (Integer) map.get("type");
         Integer farmId = (Integer) map.get("farmId");
@@ -50,8 +50,9 @@ public class SysFodderServiceImpl extends ServiceImpl<SysFodderMapper, SysFodder
         wrapper.eq("farm_id",farmId);
         Map endMap = new HashMap();
         //自定义
-        if ("3".equals(type)){
+        if ("3".equals(type+"")){
             endDate = endDate +" 23:59:59";
+            startDate = startDate+" 00:00:00";
             wrapper.between("create_time",startDate,endDate);
 
             List<FodderDto> sysFodders = fodderMapper.countAllDayValue(wrapper);
@@ -60,7 +61,7 @@ public class SysFodderServiceImpl extends ServiceImpl<SysFodderMapper, SysFodder
             endMap.put("value",countAllValue);
         }
         //本周
-        else if ("1".equals(type)){
+        else if ("1".equals(type+"")){
             wrapper.ge("create_time", DataUill.getTimesWeekmorning());
             List<FodderDto> sysFodders = fodderMapper.countAllDayValue(wrapper);
             Integer countAllValue = fodderMapper.countAllValue(wrapper);
@@ -80,7 +81,7 @@ public class SysFodderServiceImpl extends ServiceImpl<SysFodderMapper, SysFodder
 
     @Override
     public Result getFodder(Map map) {
-        String startDate = (String) map.get("satrtDate");
+        String startDate = (String) map.get("startDate");
         String endDate = (String) map.get("endDate");
         Integer type = (Integer) map.get("type");
         Integer floorId = (Integer)map.get("floorId");
@@ -93,8 +94,9 @@ public class SysFodderServiceImpl extends ServiceImpl<SysFodderMapper, SysFodder
         wrapper.eq("floor_id",floorId);
         Map endMap = new HashMap();
         //自定义
-        if ("3".equals(type)){
+        if ("3".equals(type+"")){
             endDate = endDate +" 23:59:59";
+            startDate = startDate+" 00:00:00";
             wrapper.between("create_time",startDate,endDate);
 
             List<SysFodder> sysFodders = fodderMapper.countDayValue(wrapper);
@@ -103,7 +105,7 @@ public class SysFodderServiceImpl extends ServiceImpl<SysFodderMapper, SysFodder
             endMap.put("value",countAllValue);
         }
         //本周
-        else if ("1".equals(type)){
+        else if ("1".equals(type+"")){
             wrapper.ge("create_time", DataUill.getTimesWeekmorning());
             List<SysFodder> sysFodders = fodderMapper.countDayValue(wrapper);
             Integer countAllValue = fodderMapper.countAllValue(wrapper);

+ 33 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/SysTelecomServiceImpl.java

@@ -0,0 +1,33 @@
+package com.huimv.produce.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.produce.entity.SysTelecom;
+import com.huimv.produce.mapper.SysTelecomMapper;
+import com.huimv.produce.service.ISysTelecomService;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-22
+ */
+@Service
+public class SysTelecomServiceImpl extends ServiceImpl<SysTelecomMapper, SysTelecom> implements ISysTelecomService {
+
+    @Override
+    public Result listByRoom(Map map) {
+        String deviceId = (String)map.get("deviceId");
+        QueryWrapper<SysTelecom> wrapper = new QueryWrapper<>();
+        wrapper.eq("device_id",deviceId);
+        this.list(wrapper);
+        return new Result(ResultCode.SUCCESS,wrapper);
+    }
+}

+ 20 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/SysThresholdServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.produce.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.produce.entity.SysThreshold;
+import com.huimv.produce.mapper.SysThresholdMapper;
+import com.huimv.produce.service.ISysThresholdService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-11-30
+ */
+@Service
+public class SysThresholdServiceImpl extends ServiceImpl<SysThresholdMapper, SysThreshold> implements ISysThresholdService {
+
+}

+ 73 - 14
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/timer/SgdTimer.java

@@ -159,9 +159,9 @@ public class SgdTimer {
                             sysTemperature.setFarmId(hyFarmId);
                             sysTemperature.setRoomId(roomId);
                             if (value != 0.0){
-                                sysTemperature.setValue(df.format(value));
+                                sysTemperature.setValue(Double.parseDouble(df.format(value)));
                             }else {
-                                sysTemperature.setValue(value+"");
+                                sysTemperature.setValue(value);
                             }
                             sysTemperature.setCreateTime(monitoryValue.getTimestamp());
                             temList.add(sysTemperature);
@@ -176,9 +176,9 @@ public class SgdTimer {
                         humidity.setFarmId(hyFarmId);
                         if (ObjectUtil.isNotEmpty(value)){
                             if (value != 0.0){
-                                humidity.setValue(df.format(value));
+                                humidity.setValue(Double.parseDouble(df.format(value)));
                             }else{
-                                humidity.setValue(value+"");
+                                humidity.setValue(value);
                             }
 
                             humidity.setCreateTime(monitoryValue.getTimestamp());
@@ -286,7 +286,7 @@ public class SgdTimer {
         System.out.println("更新日用水信息,更新时间------------->"+ new Date());
     }
 
-    //更新两个小时用水
+    //更新两个小时用水数据
     @Scheduled(cron = "0 59 0,2,4,6,8,10,12,14,16,18,20,22 * * ? ")
 //    @Scheduled(cron = "0 0/5 * * * ?")
     private void updateMonthWater(){
@@ -422,7 +422,7 @@ public class SgdTimer {
         if (oldVale < value){
             oneFodder.setValue(value);
             fodderService.updateById(oneFodder);
-            System.out.println("一号楼更新------------>"+monitoryValue);
+//            System.out.println("一号楼更新------------>"+monitoryValue);
         }else if (value < oldVale){
             SysFodder fodder = new SysFodder();
             fodder.setValue(value);
@@ -431,9 +431,9 @@ public class SgdTimer {
             fodder.setId(monitoryValue.getId());
             fodder.setFodderId(hyFarmId);
             fodderService.save(fodder);
-            System.out.println("一号楼新增------------>"+monitoryValue);
+//            System.out.println("一号楼新增------------>"+monitoryValue);
         }else {
-            System.out.println("一号楼舍弃------------>"+monitoryValue);
+//            System.out.println("一号楼舍弃------------>"+monitoryValue);
         }
 
 
@@ -446,7 +446,7 @@ public class SgdTimer {
         if (twoOldVale < twoValue){
             twoFodder.setValue(twoValue);
             fodderService.updateById(twoFodder);
-            System.out.println("二号楼更新------------>"+twoFodder);
+//            System.out.println("二号楼更新------------>"+twoFodder);
         }else if (twoValue < twoOldVale){
             SysFodder fodder = new SysFodder();
             fodder.setValue(twoValue);
@@ -455,9 +455,9 @@ public class SgdTimer {
             fodder.setId(twoMonitoryValue.getId());
             fodder.setFarmId(hyFarmId);
             fodderService.save(fodder);
-            System.out.println("二号楼新增------------>"+twoMonitoryValue);
+//            System.out.println("二号楼新增------------>"+twoMonitoryValue);
         }else {
-            System.out.println("二号楼舍弃------------>"+twoMonitoryValue);
+//            System.out.println("二号楼舍弃------------>"+twoMonitoryValue);
         }
 
 
@@ -469,7 +469,7 @@ public class SgdTimer {
         if (threeOldVale < threeValue){
             threeFodder.setValue(threeValue);
             fodderService.updateById(threeFodder);
-            System.out.println("三号楼更新------------>"+threeFodder);
+//            System.out.println("三号楼更新------------>"+threeFodder);
         }else if (threeValue < threeOldVale){
             SysFodder fodder = new SysFodder();
             fodder.setValue(threeValue);
@@ -478,9 +478,9 @@ public class SgdTimer {
             fodder.setId(threeMonitoryValue.getId());
             fodder.setFarmId(hyFarmId);
             fodderService.save(fodder);
-            System.out.println("三号楼新增------------>"+threeMonitoryValue);
+//            System.out.println("三号楼新增------------>"+threeMonitoryValue);
         }else {
-            System.out.println("三号楼舍弃------------>"+threeMonitoryValue);
+//            System.out.println("三号楼舍弃------------>"+threeMonitoryValue);
         }
 
 
@@ -488,6 +488,65 @@ public class SgdTimer {
         System.out.println("更新料塔信息,更新时间------------->" + new Date());
 
     }
+//    @Scheduled(cron = "0 * * * * ? ")
+//    private void ss()   {
+//        ConsoleLoggerFactory loggerFactory = new ConsoleLoggerFactory();
+//        // 指定连接服务器的凭据参数
+//        TokenManager tokenManager = new TokenManager(new StaticCredentialProvider(Global.clientId, Global.clientSecret, Global.username, Global.password), Global.idServerUrl, loggerFactory);
+//        ServerCaller apiBaseServer = new ServerCaller(tokenManager, Global.apiBaserUrl, Global.signalrClientId, loggerFactory);
+//        Global.apiBaseServer = apiBaseServer;
+//        DecimalFormat df = new DecimalFormat("#.00");
+//
+//
+//        try {
+//
+//            List<BaseBox> boxes = baseBoxService.list();
+//            for (BaseBox box : boxes) {
+//                String uid = box.getUid();
+//                Monitory[] monitories = apiBaseServer.executeGet("/v2/box/" + uid + "/dmon/grouped", Monitory[].class);
+//                List names = new ArrayList();
+//                for (Monitory monitory : monitories) {
+//                    for (Item item : monitory.items) {
+//                        String name = item.name;
+//                        if (monitory.name.contains("房舍名") && name != null) {
+//                            if (name.contains("房舍")) {
+//                                names.add(name);
+//                            }
+//                        }
+//                    }
+//                }
+//                System.out.println(box+names.toString());
+//
+//                if (ObjectUtil.isNotEmpty(names)) {
+//                    MonitoryValue[] monitoryValues = apiBaseServer.executePost("/v2/box/" +uid + "/dmon/value/get", new MonitoryGetArgs(names, null, new ArrayList()), MonitoryValue[].class);
+//                    for (MonitoryValue monitoryValue : monitoryValues) {
+//                        System.out.println(monitoryValue);
+//                    }
+//                  /*  for (MonitoryValue monitoryValue : monitoryValues) {
+//                        if (ObjectUtil.isEmpty(monitoryValue)){
+//                            continue;
+//                        }
+//                        String name = monitoryValue.getName();
+//                        String[] split = name.split("-");
+//                        BaseRoom room = baseRoomService.getOne(new QueryWrapper<BaseRoom>().eq("room_name", split[0]).eq("box_id", uid));
+//                        Integer roomId = room.getId();
+//                        System.out.println(roomId);
+//                        System.out.println(monitoryValue);
+//                    }*/
+//
+//                }
+//
+//            }
+//
+//
+//
+//        } catch (IOException e) {
+//            e.printStackTrace();
+//        }
+//        System.out.println("------------->"+ new Date());
+//    }
+
+
 }
 
 

+ 33 - 0
huimv-farm-v2/huimv-produce-warning/src/main/resources/com/huimv/produce/mapper/ProdSalesMapper.xml

@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.produce.mapper.ProdSalesMapper">
+
+
+    <select id="countMonth" resultType="com.huimv.produce.entity.dto.ProdSalesDto">
+        SELECT
+        IFNULL(SUM(today_quantity),0) quantity,IFNULL(SUM(today_money),0) money
+        FROM `prod_sales`
+        ${ew.customSqlSegment}
+
+    </select>
+    <select id="listClientHome" resultType="com.huimv.produce.entity.dto.ClientHomeDto">
+
+
+        SELECT
+        (SELECT COUNT(*)
+        FROM `prod_warning_msg`
+        WHERE farm_id = #{farmId} AND TO_DAYS(add_time) = TO_DAYS(NOW())) warning,
+
+       IFNULL((SELECT today_money
+        FROM `prod_sales`
+        WHERE farm_id = #{farmId} AND TO_DAYS(NOW( ) ) - TO_DAYS( add_date) &lt;= 1  ) ,0)money,
+
+       IFNULL ( (SELECT today_quantity
+        FROM `prod_sales`
+        WHERE farm_id = #{farmId} AND TO_DAYS(NOW( ) ) - TO_DAYS( add_date) &lt;= 1  ),0) quantity,
+
+        IFNULL ((SELECT week_quantity
+        FROM `prod_sales`
+        WHERE farm_id = #{farmId}  AND TO_DAYS(add_date) = TO_DAYS(NOW())) ,0) weekQuantity
+    </select>
+</mapper>

+ 72 - 0
huimv-farm-v2/huimv-produce-warning/src/main/resources/com/huimv/produce/mapper/ProdWorkPlanMapper.xml

@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.produce.mapper.ProdWorkPlanMapper">
+
+
+    <select id="listLargeScreen" resultType="com.huimv.produce.entity.dto.ProdScreenDto">
+
+
+            SELECT
+            (SELECT IFNULL(stock_quantity,0)
+            FROM `prod_stock`
+             WHERE  farm_id = #{farmId}
+             AND stock_name= "总存栏"  ORDER BY id DESC LIMIT 1) total,
+
+             (SELECT IFNULL(month_money,0)
+            FROM `prod_sales`
+             WHERE  farm_id = #{farmId}
+              ORDER BY id DESC LIMIT 1 )money,
+
+            IFNULL((SELECT SUM(plan_times)
+            FROM `prod_work_plan`
+             WHERE  farm_id = #{farmId}
+              AND TO_DAYS(add_time) = TO_DAYS(NOW()) ),0)task
+
+    </select>
+    <select id="listScreenWorkPlan" resultType="com.huimv.produce.entity.dto.ScreenWorkPlan">
+
+
+            SELECT
+            (SELECT IFNULL(SUM(plan_times),0)
+            FROM `prod_work_plan`
+             WHERE  farm_id = #{farmId}
+             AND plan_name= "免疫计划"   AND TO_DAYS(add_time) = TO_DAYS(NOW())  ) immunePlan,
+
+             (SELECT IFNULL(SUM(plan_times),0)
+            FROM `prod_work_plan`
+             WHERE  farm_id = #{farmId}
+             AND plan_name= "普免计划"   AND TO_DAYS(add_time) = TO_DAYS(NOW())  ) healthPlan,
+
+             (SELECT IFNULL(SUM(plan_times),0)
+            FROM `prod_work_plan`
+             WHERE  farm_id = #{farmId}
+             AND plan_name= "日常计划"   AND TO_DAYS(add_time) = TO_DAYS(NOW())  ) dayPlan,
+
+             (SELECT IFNULL(SUM(plan_times),0)
+            FROM `prod_work_plan`
+             WHERE  farm_id = #{farmId}
+             AND plan_name= "转舍计划"   AND TO_DAYS(add_time) = TO_DAYS(NOW())  ) turnPlan,
+
+
+              (SELECT IFNULL(COUNT(id),0)
+            FROM `prod_warning_msg`
+             WHERE  farm_id = #{farmId}
+              AND TO_DAYS(add_time) = TO_DAYS(NOW())  ) warning,
+
+               (SELECT IFNULL(SUM(status_1),0)
+            FROM `prod_sow_piglet_status`
+             WHERE  farm_id = #{farmId}
+              AND TO_DAYS(add_date) = TO_DAYS(NOW())  )  delivery,
+
+               (SELECT IFNULL(SUM(status_2),0)
+            FROM `prod_sow_piglet_status`
+             WHERE  farm_id = #{farmId}
+              AND TO_DAYS(add_date) = TO_DAYS(NOW())  )  weaning,
+
+               (SELECT IFNULL(SUM(status_3),0)
+            FROM `prod_sow_piglet_status`
+             WHERE  farm_id = #{farmId}
+              AND TO_DAYS(add_date) = TO_DAYS(NOW())  )  hybridization
+
+    </select>
+</mapper>

+ 34 - 0
huimv-farm-v2/huimv-produce-warning/src/main/resources/com/huimv/produce/mapper/SysDayWaterMapper.xml

@@ -18,6 +18,40 @@
               GROUP BY DATE_FORMAT(create_time,"%y-%m-%d")
 
     </select>
+    <select id="listDay" resultType="com.huimv.produce.entity.SysDayWater">
+
+          SELECT * FROM `sys_day_water`
+        ${ew.customSqlSegment}
+
+       GROUP BY DATE_FORMAT( `create_time`, '%m%d' )
+    </select>
+    <select id="countMonthAndWeek" resultType="com.huimv.produce.entity.dto.DayWaterDto">
+                    SELECT
+             (SELECT
+            IFNULL(SUM(`value`),0) monthQuantity
+            FROM `sys_day_water`
+                ${ew.customSqlSegment} AND PERIOD_DIFF( DATE_FORMAT( NOW( ) , '%Y%m' ) , DATE_FORMAT( create_time, '%Y%m' ) ) =1 ) lastMonth,
+
+
+            (SELECT
+            IFNULL(SUM(`value`),0) monthQuantity
+            FROM `sys_day_water`
+              ${ew.customSqlSegment} AND PERIOD_DIFF( DATE_FORMAT( NOW( ) , '%Y%m' ) , DATE_FORMAT( create_time, '%Y%m' ) ) =2) lastTwoMonth,
+
+
+            (SELECT
+            IFNULL(SUM(`value`),0) monthQuantity
+            FROM `sys_day_water`
+               ${ew.customSqlSegment} AND YEARWEEK(DATE_FORMAT(create_time,'%Y-%m-%d')) =YEARWEEK(NOW())-1 ) lastWeek,
+
+
+            (SELECT
+            IFNULL(SUM(`value`),0) monthQuantity
+            FROM `sys_day_water`
+               ${ew.customSqlSegment} AND YEARWEEK(DATE_FORMAT(create_time,'%Y-%m-%d')) =YEARWEEK(NOW())-2 )lastTwoWeek
+
+
+    </select>
 
 
 </mapper>

+ 9 - 0
huimv-farm-v2/huimv-produce-warning/src/main/resources/com/huimv/produce/mapper/SysFodderMapper.xml

@@ -31,6 +31,15 @@
         ${ew.customSqlSegment}
 
     </select>
+    <select id="fodderMapper" resultType="com.huimv.produce.entity.dto.ScreenDto">
+      SELECT
+ (SELECT MIN(`value`) FROM `sys_humidity`  WHERE TO_DAYS(`create_time`) = TO_DAYS(NOW())  )minHum ,
+ (SELECT MAX(`value`) FROM `sys_humidity`  WHERE TO_DAYS(`create_time`) = TO_DAYS(NOW())  )maxHum,
+(SELECT MAX(`value`) FROM `sys_temperature` WHERE TO_DAYS(`create_time`) = TO_DAYS(NOW())  )maxTem,
+ (SELECT MIN(`value`) FROM `sys_temperature` WHERE TO_DAYS(`create_time`) = TO_DAYS(NOW())  )minTem,
+ (SELECT ROUND(SUM(`value`),2) FROM `sys_day_water` WHERE TO_DAYS(`create_time`) = TO_DAYS(NOW()) ) dayWater,
+ (SELECT ROUND(SUM(`value`),2) FROM `sys_day_water` WHERE DATE_FORMAT( `create_time`, '%Y%m' ) =DATE_FORMAT( CURDATE( ) , '%Y%m' )   ) monthWater
+    </select>
 
 
 </mapper>

+ 14 - 0
huimv-farm-v2/huimv-produce-warning/src/main/resources/com/huimv/produce/mapper/SysHumidityMapper.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.produce.mapper.SysHumidityMapper">
+
+
+    <select id="listDay" resultType="com.huimv.produce.entity.SysHumidity">
+
+        SELECT * FROM  `sys_humidity`
+        ${ew.customSqlSegment}
+
+       GROUP BY DATE_FORMAT( `create_time`, '%m%d' )
+
+    </select>
+</mapper>

+ 14 - 0
huimv-farm-v2/huimv-produce-warning/src/main/resources/com/huimv/produce/mapper/SysTemperatureMapper.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.produce.mapper.SysTemperatureMapper">
+
+
+    <select id="listDay" resultType="com.huimv.produce.entity.SysTemperature">
+
+        SELECT * FROM  `sys_temperature`
+        ${ew.customSqlSegment}
+
+       GROUP BY DATE_FORMAT( `create_time`, '%m%d' )
+
+    </select>
+</mapper>

+ 0 - 0
huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/controller/CameraAreaController.java


Някои файлове не бяха показани, защото твърде много файлове са промени