From 4f97850c9cc2098f460124a66266bdf6157319dd Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期四, 26 六月 2025 15:46:29 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV
---
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilHistoryMapper.java | 19
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherLastMapper.java | 23
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmManureLastMapper.java | 7
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilLastMapper.xml | 67 ++
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/weather/WeatherSv.java | 94 +++
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/soil/SoilSv.java | 123 ++++
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureCtrl.java | 52 +
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/weather/WeatherQo.java | 57 ++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilLastMapper.java | 24
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureSv.java | 40 +
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/weather/WeatherCtrl.java | 102 +++
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWeatherLastMapper.xml | 67 ++
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilHistoryMapper.xml | 51 +
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/soil/SoilQo.java | 57 ++
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWeatherHistoryMapper.xml | 50 +
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilDayMapper.xml | 78 ++
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/soil/SoilCtrl.java | 159 ++++++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoSoil.java | 117 ++++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherHistoryMapper.java | 18
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoSoilDay.java | 118 ++++
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmManureHistoryMapper.xml | 4
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureQo.java | 2
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmManureLastMapper.xml | 21
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilDayMapper.java | 24
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoWeather.java | 148 +++++
25 files changed, 1,497 insertions(+), 25 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmManureLastMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmManureLastMapper.java
index 7bfba0f..1fa5b88 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmManureLastMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmManureLastMapper.java
@@ -37,6 +37,13 @@
*/
List<VoManure> selectSome(Map<?, ?> params);
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍
+ * @param manureId
+ * @return
+ */
+ List<VoManure> selectSomeByManureId(@Param("manureId") Long manureId);
+
int updateByPrimaryKeySelective(RmManureLast record);
int updateByPrimaryKey(RmManureLast record);
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilDayMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilDayMapper.java
index 5211723..4310755 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilDayMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilDayMapper.java
@@ -2,9 +2,12 @@
import com.dy.pipIrrGlobal.pojoRm.RmSoilDay;
import com.dy.pipIrrGlobal.pojoRm.RmSoilLast;
+import com.dy.pipIrrGlobal.voRm.VoSoil;
+import com.dy.pipIrrGlobal.voRm.VoSoilDay;
import org.apache.ibatis.annotations.Param;
import java.util.List;
+import java.util.Map;
/**
* @Author: liurunyu
@@ -21,6 +24,27 @@
RmSoilDay selectByPrimaryKey(Long id);
List<RmSoilDay> selectRmSoilDay(@Param("stSoilId") Long stSoilId, @Param("ymd") Integer ymd) ;
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍
+ * @param soilId
+ * @return
+ */
+ List<VoSoilDay> selectOneBySoilId(@Param("soilId") Long soilId, @Param("ymd") Integer ymd);
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍鏁伴噺
+ * @param params
+ * @return
+ */
+ Long selectCount(Map<?, ?> params);
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍
+ * @param params
+ * @return
+ */
+ List<VoSoilDay> selectSome(Map<?, ?> params);
+
int updateByPrimaryKeySelective(RmSoilDay record);
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilHistoryMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilHistoryMapper.java
index c976c7b..9d07be9 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilHistoryMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilHistoryMapper.java
@@ -1,6 +1,10 @@
package com.dy.pipIrrGlobal.daoRm;
import com.dy.pipIrrGlobal.pojoRm.RmSoilHistory;
+import com.dy.pipIrrGlobal.voRm.VoSoil;
+
+import java.util.List;
+import java.util.Map;
/**
* @Author: liurunyu
@@ -16,6 +20,21 @@
RmSoilHistory selectByPrimaryKey(Long id);
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍鏁伴噺
+ * @param params
+ * @return
+ */
+ Long selectCount(Map<?, ?> params);
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍
+ * @param params
+ * @return
+ */
+ List<VoSoil> selectSome(Map<?, ?> params);
+
+
int updateByPrimaryKeySelective(RmSoilHistory record);
int updateByPrimaryKey(RmSoilHistory record);
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilLastMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilLastMapper.java
index a81e20a..f2f5382 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilLastMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilLastMapper.java
@@ -1,10 +1,11 @@
package com.dy.pipIrrGlobal.daoRm;
-import com.dy.pipIrrGlobal.pojoRm.RmManureLast;
import com.dy.pipIrrGlobal.pojoRm.RmSoilLast;
+import com.dy.pipIrrGlobal.voRm.VoSoil;
import org.apache.ibatis.annotations.Param;
import java.util.List;
+import java.util.Map;
/**
* @Author: liurunyu
@@ -22,6 +23,27 @@
List<RmSoilLast> selectRmSoilLast(@Param("stSoilId") Long stSoilId) ;
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍鏁伴噺
+ * @param params
+ * @return
+ */
+ Long selectCount(Map<?, ?> params);
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍
+ * @param params
+ * @return
+ */
+ List<VoSoil> selectSome(Map<?, ?> params);
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍
+ * @param soilId
+ * @return
+ */
+ List<VoSoil> selectSomeBySoilId(@Param("soilId") Long soilId);
+
int updateByPrimaryKeySelective(RmSoilLast record);
int updateByPrimaryKey(RmSoilLast record);
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherHistoryMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherHistoryMapper.java
index 5c0c8e9..10ae489 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherHistoryMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherHistoryMapper.java
@@ -1,6 +1,10 @@
package com.dy.pipIrrGlobal.daoRm;
import com.dy.pipIrrGlobal.pojoRm.RmWeatherHistory;
+import com.dy.pipIrrGlobal.voRm.VoWeather;
+
+import java.util.List;
+import java.util.Map;
/**
* @Author: liurunyu
@@ -16,6 +20,20 @@
RmWeatherHistory selectByPrimaryKey(Long id);
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍鏁伴噺
+ * @param params
+ * @return
+ */
+ Long selectCount(Map<?, ?> params);
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍
+ * @param params
+ * @return
+ */
+ List<VoWeather> selectSome(Map<?, ?> params);
+
int updateByPrimaryKeySelective(RmWeatherHistory record);
int updateByPrimaryKey(RmWeatherHistory record);
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherLastMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherLastMapper.java
index 60618b3..d5e33d1 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherLastMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherLastMapper.java
@@ -1,9 +1,11 @@
package com.dy.pipIrrGlobal.daoRm;
import com.dy.pipIrrGlobal.pojoRm.RmWeatherLast;
+import com.dy.pipIrrGlobal.voRm.VoWeather;
import org.apache.ibatis.annotations.Param;
import java.util.List;
+import java.util.Map;
/**
* @Author: liurunyu
@@ -21,6 +23,27 @@
List<RmWeatherLast> selectRmWeatherLast(@Param("stWeatherId") Long stWeatherId) ;
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍鏁伴噺
+ * @param params
+ * @return
+ */
+ Long selectCount(Map<?, ?> params);
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍
+ * @param params
+ * @return
+ */
+ List<VoWeather> selectSome(Map<?, ?> params);
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍
+ * @param weatherId
+ * @return
+ */
+ List<VoWeather> selectSomeByWeatherId(@Param("weatherId") Long weatherId);
+
int updateByPrimaryKeySelective(RmWeatherLast record);
int updateByPrimaryKey(RmWeatherLast record);
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoSoil.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoSoil.java
new file mode 100644
index 0000000..db2a3ff
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoSoil.java
@@ -0,0 +1,117 @@
+package com.dy.pipIrrGlobal.voRm;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/6/26 9:03
+ * @Description
+ */
+@Data
+public class VoSoil {
+ public static final long serialVersionUID = 202506260903001L;
+
+ /**
+ * 璁板綍ID
+ */
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ public Long id;
+
+ /**
+ * 澧掓儏绔橧D
+ */
+ @Schema(description = "澧掓儏绔橧D", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ public Long soilId;
+
+ /**
+ * 澧掓儏绔欏悕绉�
+ */
+ @Schema(description = "澧掓儏绔欏悕绉�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ public Long soilName;
+
+
+ /**
+ * 鏁版嵁涓婃姤鏃堕棿锛堝勾鏈堟棩鏃跺垎绉掞級
+ */
+ @Schema(description = "鏁版嵁鎺ユ敹鏃ユ湡鏃堕棿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ public Date dt;
+
+
+ /**
+ * 鍦熷¥婀垮害1
+ */
+ @Schema(description = "鍦熷¥婀垮害1", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
+ public Double soilHumidity1;
+
+ /**
+ * 鍦熷¥婀垮害2
+ */
+ @Schema(description = "鍦熷¥婀垮害2", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
+ public Double soilHumidity2;
+
+ /**
+ * 鍦熷¥婀垮害3
+ */
+ @Schema(description = "鍦熷¥婀垮害3", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
+ public Double soilHumidity3;
+
+ /**
+ * 鍦熷¥婀垮害4
+ */
+ @Schema(description = "鍦熷¥婀垮害4", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
+ public Double soilHumidity4;
+
+ /**
+ * 鍦熷¥婀垮害5
+ */
+ @Schema(description = "鍦熷¥婀垮害5", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
+ public Double soilHumidity5;
+
+ /**
+ * 鍦熷¥娓╁害1
+ */
+ @Schema(description = "鍦熷¥娓╁害1", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
+ public Double soilTemperature1;
+
+ /**
+ * 鍦熷¥娓╁害2
+ */
+ @Schema(description = "鍦熷¥娓╁害2", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
+ public Double soilTemperature2;
+
+ /**
+ * 鍦熷¥娓╁害3
+ */
+ @Schema(description = "鍦熷¥娓╁害3", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
+ public Double soilTemperature3;
+
+ /**
+ * 鍦熷¥娓╁害4
+ */
+ @Schema(description = "鍦熷¥娓╁害4", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
+ public Double soilTemperature4;
+
+ /**
+ * 鍦熷¥娓╁害5
+ */
+ @Schema(description = "鍦熷¥娓╁害5", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
+ public Double soilTemperature5;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoSoilDay.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoSoilDay.java
new file mode 100644
index 0000000..e7bceca
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoSoilDay.java
@@ -0,0 +1,118 @@
+package com.dy.pipIrrGlobal.voRm;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/6/26 9:03
+ * @Description
+ */
+@Data
+public class VoSoilDay {
+ public static final long serialVersionUID = 202506261020001L;
+
+ /**
+ * 璁板綍ID
+ */
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ public Long id;
+
+ /**
+ * 澧掓儏绔橧D
+ */
+ @Schema(description = "澧掓儏绔橧D", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ public Long soilId;
+
+ /**
+ * 澧掓儏绔欏悕绉�
+ */
+ @Schema(description = "澧掓儏绔欏悕绉�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ public Long soilName;
+
+
+ /**
+ * 鏁版嵁鏃ユ湡锛堝勾鏈堟棩锛�
+ */
+ @Schema(description = "鏁版嵁鏃ユ湡", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ public Date dt;
+
+
+ /**
+ * 鏃ュ钩鍧囧湡澹ゆ箍搴�1
+ */
+ @Schema(description = "鏃ュ钩鍧囧湡澹ゆ箍搴�1", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
+ public Double soilHumidity1;
+
+ /**
+ * 鏃ュ钩鍧囧湡澹ゆ箍搴�2
+ */
+ @Schema(description = "鏃ュ钩鍧囧湡澹ゆ箍搴�2", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
+ public Double soilHumidity2;
+
+ /**
+ * 鏃ュ钩鍧囧湡澹ゆ箍搴�3
+ */
+ @Schema(description = "鏃ュ钩鍧囧湡澹ゆ箍搴�3", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
+ public Double soilHumidity3;
+
+ /**
+ * 鏃ュ钩鍧囧湡澹ゆ箍搴�4
+ */
+ @Schema(description = "鏃ュ钩鍧囧湡澹ゆ箍搴�4", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
+ public Double soilHumidity4;
+
+ /**
+ * 鏃ュ钩鍧囧湡澹ゆ箍搴�5
+ */
+ @Schema(description = "鏃ュ钩鍧囧湡澹ゆ箍搴�5", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
+ public Double soilHumidity5;
+
+ /**
+ * 鏃ュ钩鍧囧湡澹ゆ俯搴�1
+ */
+ @Schema(description = "鏃ュ钩鍧囧湡澹ゆ俯搴�1", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
+ public Double soilTemperature1;
+
+ /**
+ * 鏃ュ钩鍧囧湡澹ゆ俯搴�2
+ */
+ @Schema(description = "鏃ュ钩鍧囧湡澹ゆ俯搴�2", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
+ public Double soilTemperature2;
+
+ /**
+ * 鏃ュ钩鍧囧湡澹ゆ俯搴�3
+ */
+ @Schema(description = "鏃ュ钩鍧囧湡澹ゆ俯搴�3", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
+ public Double soilTemperature3;
+
+ /**
+ * 鏃ュ钩鍧囧湡澹ゆ俯搴�4
+ */
+ @Schema(description = "鏃ュ钩鍧囧湡澹ゆ俯搴�4", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
+ public Double soilTemperature4;
+
+ /**
+ * 鏃ュ钩鍧囧湡澹ゆ俯搴�5
+ */
+ @Schema(description = "鏃ュ钩鍧囧湡澹ゆ俯搴�5", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
+ public Double soilTemperature5;
+
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoWeather.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoWeather.java
new file mode 100644
index 0000000..2b16a61
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoWeather.java
@@ -0,0 +1,148 @@
+package com.dy.pipIrrGlobal.voRm;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/6/26 9:16
+ * @Description
+ */
+@Data
+public class VoWeather {
+ public static final long serialVersionUID = 202506260903001L;
+
+ /**
+ * 璁板綍ID
+ */
+ @JSONField(serializeUsing = ObjectWriterImplToString.class)
+ public Long id;
+
+ /**
+ * 姘旇薄绔橧D
+ */
+ @Schema(description = "姘旇薄绔橧D", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JSONField(serializeUsing = ObjectWriterImplToString.class)
+ public Long weatherId;
+
+ /**
+ * 姘旇薄绔欏悕绉�
+ */
+ @Schema(description = "姘旇薄绔欏悕绉�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ public Long weatherName;
+
+
+ /**
+ * 鏁版嵁涓婃姤鏃堕棿锛堝勾鏈堟棩鏃跺垎绉掞級
+ */
+ @Schema(description = "鏁版嵁鎺ユ敹鏃ユ湡鏃堕棿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ public Date dt;
+
+ /**
+ * 绌烘皵娓╁害
+ */
+ @Schema(description = "绌烘皵娓╁害", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern = "0.00")
+ public Double airTemperature;
+
+ /**
+ * 绌烘皵婀垮害
+ */
+ @Schema(description = "绌烘皵婀垮害", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern = "0.00")
+ public Double airHumidity;
+
+ /**
+ * 绱绾�
+ */
+ @Schema(description = "绱绾�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ public Integer ultraviolet;
+
+ /**
+ * 鍏夌収寮哄害
+ */
+ @Schema(description = "鍏夌収寮哄害", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ public Integer lightIntensity;
+
+ /**
+ * 闆ㄩ噺
+ */
+ @Schema(description = "闆ㄩ噺", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern = "0.00")
+ public Double rainfall;
+
+ /**
+ * 椋庨��
+ */
+ @Schema(description = "椋庨��", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern = "0.00")
+ public Double windSpeed;
+
+ /**
+ * 椋庡悜
+ */
+ @Schema(description = "椋庡悜", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ public Integer windDirection;
+ /**
+ 椋庡悜鍚嶇О
+ 鏂逛綅鍚嶇О 瑙掑害鑼冨洿 涓績瑙掑害
+ 鍖楋紙N锛� 348.75掳~11.25掳 0掳
+ 涓滃寳锛圢E锛� 11.25掳~33.75掳 22.5掳
+ 涓滐紙E锛� 33.75掳~56.25掳 45掳
+ 涓滃崡锛圫E锛� 56.25掳~78.75掳 67.5掳
+ 鍗楋紙S锛� 78.75掳~101.25掳 90掳
+ 瑗垮崡锛圫W锛� 101.25掳~123.75掳 112.5掳
+ 瑗匡紙W锛� 123.75掳~146.25掳 135掳
+ 瑗垮寳锛圢W锛� 146.25掳~168.75掳 157.5掳
+ 鍖楋紙N锛� 168.75掳~191.25掳 180掳
+
+ 鍥涜垗浜斿叆鍚�
+ 鏂逛綅鍚嶇О 瑙掑害鑼冨洿 涓績瑙掑害
+ 鍖楋紙N锛� 349掳~11掳 0掳
+ 涓滃寳锛圢E锛� 11掳~34掳 22.5掳
+ 涓滐紙E锛� 34掳~56掳 45掳
+ 涓滃崡锛圫E锛� 56掳~79掳 67.5掳
+ 鍗楋紙S锛� 79掳~101掳 90掳
+ 瑗垮崡锛圫W锛� 101掳~124掳 112.5掳
+ 瑗匡紙W锛� 124掳~146掳 135掳
+ 瑗垮寳锛圢W锛� 146掳~169掳 157.5掳
+ 鍖楋紙N锛� 169掳~191掳 180掳
+ */
+ @Schema(description = "椋庡悜", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ public String windDirectionStr;
+ public String getWindDirectionStr() {
+ String str = "" ;
+ if (windDirection != null) {
+ if (windDirection >= 349 || windDirection < 11) {
+ str = "鍖�" ;
+ }else if(windDirection >= 11 && windDirection < 34){
+ str = "涓滃寳" ;
+ }else if(windDirection >= 34 && windDirection < 56){
+ str = "涓�" ;
+ }else if(windDirection >= 56 && windDirection < 79){
+ str = "涓滃崡" ;
+ }else if(windDirection >= 79 && windDirection < 101){
+ str = "鍗�" ;
+ }else if(windDirection >= 101 && windDirection < 124){
+ str = "瑗垮崡" ;
+ }else if(windDirection >= 124 && windDirection < 146){
+ str = "瑗�" ;
+ }else if(windDirection >= 146 && windDirection < 169){
+ str = "瑗垮寳" ;
+ }
+ }
+ if(str != null && !str.equals("")){
+ str = str + "(" + windDirection + ")" ;
+ }else{
+ str = "" + windDirection ;
+ }
+ return str ;
+ }
+
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmManureHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmManureHistoryMapper.xml
index 20cc470..c94dc1e 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmManureHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmManureHistoryMapper.xml
@@ -46,7 +46,7 @@
AND mtb.no = #{no}
</if>
<if test = "name != null and name !=''">
- AND mtb.name LIKE CONCAT('%',#{intakeNum},'%')
+ AND mtb.name LIKE CONCAT('%',#{name},'%')
</if>
<if test = "timeStart != null and timeStop != null">
AND htb.dt BETWEEN #{timeStart} AND #{timeStop}
@@ -69,7 +69,7 @@
AND mtb.no = #{no}
</if>
<if test = "name != null and name !=''">
- AND mtb.name LIKE CONCAT('%',#{intakeNum},'%')
+ AND mtb.name LIKE CONCAT('%',#{name},'%')
</if>
<if test = "timeStart != null and timeStop != null">
AND htb.dt BETWEEN #{timeStart} AND #{timeStop}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmManureLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmManureLastMapper.xml
index c1bbf6f..a620094 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmManureLastMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmManureLastMapper.xml
@@ -49,7 +49,7 @@
</select>
- <!--鏍规嵁鎸囧畾鏉′欢鏌ヨ鍘嗗彶璁板綍鏁伴噺-->
+ <!--鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍鏁伴噺-->
<select id="selectCount" resultType="java.lang.Long">
SELECT
COUNT(*) AS recordCount
@@ -63,7 +63,7 @@
AND mtb.no = #{no}
</if>
<if test = "name != null and name !=''">
- AND mtb.name LIKE CONCAT('%',#{intakeNum},'%')
+ AND mtb.name LIKE CONCAT('%',#{name},'%')
</if>
<if test = "timeStart != null and timeStop != null">
AND ltb.dt BETWEEN #{timeStart} AND #{timeStop}
@@ -71,7 +71,7 @@
</where>
</select>
- <!--鏍规嵁鎸囧畾鏉′欢鏌ヨ鍘嗗彶璁板綍-->
+ <!--鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍-->
<select id="selectSome" resultType="com.dy.pipIrrGlobal.voRm.VoManure">
SELECT
<include refid="Base_Column_List" />,
@@ -86,7 +86,7 @@
AND mtb.no = #{no}
</if>
<if test = "name != null and name !=''">
- AND mtb.name LIKE CONCAT('%',#{intakeNum},'%')
+ AND mtb.name LIKE CONCAT('%',#{name},'%')
</if>
<if test = "timeStart != null and timeStop != null">
AND ltb.dt BETWEEN #{timeStart} AND #{timeStop}
@@ -100,6 +100,19 @@
</trim>
</select>
+ <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍-->
+ <select id="selectSomeByManureId" resultType="com.dy.pipIrrGlobal.voRm.VoManure">
+ select
+ <include refid="Base_Column_List" />
+ from rm_manure_last
+ <where>
+ <if test="manureId != null">
+ and manure_id = #{manureId}
+ </if>
+ </where>
+ limit 0,1
+ </select>
+
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
<!--@mbg.generated-->
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilDayMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilDayMapper.xml
index 89a332f..a63c315 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilDayMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilDayMapper.xml
@@ -38,6 +38,12 @@
soil_sum_humidity4, soil_sum_humidity5, soil_sum_temperature1, soil_sum_temperature2,
soil_sum_temperature3, soil_sum_temperature4, soil_sum_temperature5
</sql>
+ <sql id="Part_Column_List">
+ <!--@mbg.generated-->
+ id, soil_id, dt, ymd, soil_humidity1, soil_humidity2, soil_humidity3, soil_humidity4,
+ soil_humidity5, soil_temperature1, soil_temperature2, soil_temperature3, soil_temperature4,
+ soil_temperature5
+ </sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
<!--@mbg.generated-->
select
@@ -55,13 +61,83 @@
<if test="stSoilId != null and stSoilId != ''">
and soil_id = #{stSoilId}
</if>
- <if test="ymd != null and ymd != ''">
+ <if test="ymd != null">
and ymd = #{ymd}
</if>
</where>
limit 0,1
</select>
+
+ <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍-->
+ <select id="selectOneBySoilId" resultType="com.dy.pipIrrGlobal.voRm.VoSoilDay">
+ select
+ <include refid="Part_Column_List" />
+ from rm_soil_day
+ <where>
+ <if test="soilId != null">
+ and soil_id = #{soilId}
+ </if>
+ <if test="ymd != null">
+ and ymd = #{ymd}
+ </if>
+ </where>
+ limit 0,1
+ </select>
+
+
+
+ <!--鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍鏁伴噺-->
+ <select id="selectCount" resultType="java.lang.Long">
+ SELECT
+ COUNT(*) AS recordCount
+ FROM rm_soil_day ltb
+ INNER JOIN pr_st_soil mtb ON mtb.id = ltb.soil_id
+ <where>
+ <if test="soilId != null">
+ AND ltb.soil_id = #{soilId}
+ </if>
+ <if test = "no != null">
+ AND mtb.no = #{no}
+ </if>
+ <if test = "name != null and name !=''">
+ AND mtb.name LIKE CONCAT('%',#{name},'%')
+ </if>
+ <if test = "timeStart != null and timeStop != null">
+ AND ltb.dt BETWEEN #{timeStart} AND #{timeStop}
+ </if>
+ </where>
+ </select>
+
+ <!--鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍-->
+ <select id="selectSome" resultType="com.dy.pipIrrGlobal.voRm.VoSoilDay">
+ SELECT
+ <include refid="Base_Column_List" />,
+ mtb.`name` AS soilName
+ FROM rm_soil_day ltb
+ INNER JOIN pr_st_soil mtb ON mtb.id = ltb.soil_id
+ <where>
+ <if test="soilId != null">
+ AND ltb.soil_id = #{soilId}
+ </if>
+ <if test = "no != null">
+ AND mtb.no = #{no}
+ </if>
+ <if test = "name != null and name !=''">
+ AND mtb.name LIKE CONCAT('%',#{name},'%')
+ </if>
+ <if test = "timeStart != null and timeStop != null">
+ AND ltb.dt BETWEEN #{timeStart} AND #{timeStop}
+ </if>
+ </where>
+ ORDER BY ltb.soil_id DESC
+ <trim prefix="limit " >
+ <if test="start != null and count != null">
+ #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
+ </if>
+ </trim>
+ </select>
+
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
<!--@mbg.generated-->
delete from rm_soil_day
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilHistoryMapper.xml
index 4a66ef7..b05d596 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilHistoryMapper.xml
@@ -31,6 +31,57 @@
from rm_soil_history
where id = #{id,jdbcType=BIGINT}
</select>
+ <!--鏍规嵁鎸囧畾鏉′欢鏌ヨ鍘嗗彶璁板綍鏁伴噺-->
+ <select id="selectCount" resultType="java.lang.Long">
+ SELECT
+ COUNT(*) AS recordCount
+ FROM rm_soil_history htb
+ INNER JOIN pr_st_soil mtb ON mtb.id = htb.soil_id
+ <where>
+ <if test="soilId != null">
+ AND htb.soil_id = #{soilId}
+ </if>
+ <if test = "no != null">
+ AND mtb.no = #{no}
+ </if>
+ <if test = "name != null and name !=''">
+ AND mtb.name LIKE CONCAT('%',#{name},'%')
+ </if>
+ <if test = "timeStart != null and timeStop != null">
+ AND htb.dt BETWEEN #{timeStart} AND #{timeStop}
+ </if>
+ </where>
+ </select>
+
+ <!--鏍规嵁鎸囧畾鏉′欢鏌ヨ鍘嗗彶璁板綍-->
+ <select id="selectSome" resultType="com.dy.pipIrrGlobal.voRm.VoSoil">
+ SELECT
+ <include refid="Base_Column_List" />,
+ mtb.`name` AS soilName
+ FROM rm_soil_history htb
+ INNER JOIN pr_st_soil mtb ON mtb.id = htb.soil_id
+ <where>
+ <if test="soilId != null">
+ AND htb.soil_id = #{soilId}
+ </if>
+ <if test = "no != null">
+ AND mtb.no = #{no}
+ </if>
+ <if test = "name != null and name !=''">
+ AND mtb.name LIKE CONCAT('%',#{name},'%')
+ </if>
+ <if test = "timeStart != null and timeStop != null">
+ AND htb.dt BETWEEN #{timeStart} AND #{timeStop}
+ </if>
+ </where>
+ ORDER BY htb.id DESC
+ <trim prefix="limit " >
+ <if test="start != null and count != null">
+ #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
+ </if>
+ </trim>
+ </select>
+
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
<!--@mbg.generated-->
delete from rm_soil_history
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilLastMapper.xml
index 2e10b41..478e8e1 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilLastMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilLastMapper.xml
@@ -45,6 +45,73 @@
</where>
limit 0,1
</select>
+
+
+
+ <!--鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍鏁伴噺-->
+ <select id="selectCount" resultType="java.lang.Long">
+ SELECT
+ COUNT(*) AS recordCount
+ FROM rm_soil_last ltb
+ INNER JOIN pr_st_soil mtb ON mtb.id = ltb.soil_id
+ <where>
+ <if test="soilId != null">
+ AND ltb.soil_id = #{soilId}
+ </if>
+ <if test = "no != null">
+ AND mtb.no = #{no}
+ </if>
+ <if test = "name != null and name !=''">
+ AND mtb.name LIKE CONCAT('%',#{name},'%')
+ </if>
+ <if test = "timeStart != null and timeStop != null">
+ AND ltb.dt BETWEEN #{timeStart} AND #{timeStop}
+ </if>
+ </where>
+ </select>
+
+ <!--鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍-->
+ <select id="selectSome" resultType="com.dy.pipIrrGlobal.voRm.VoSoil">
+ SELECT
+ <include refid="Base_Column_List" />,
+ mtb.`name` AS soilName
+ FROM rm_soil_last ltb
+ INNER JOIN pr_st_soil mtb ON mtb.id = ltb.soil_id
+ <where>
+ <if test="soilId != null">
+ AND ltb.soil_id = #{soilId}
+ </if>
+ <if test = "no != null">
+ AND mtb.no = #{no}
+ </if>
+ <if test = "name != null and name !=''">
+ AND mtb.name LIKE CONCAT('%',#{name},'%')
+ </if>
+ <if test = "timeStart != null and timeStop != null">
+ AND ltb.dt BETWEEN #{timeStart} AND #{timeStop}
+ </if>
+ </where>
+ ORDER BY ltb.soil_id DESC
+ <trim prefix="limit " >
+ <if test="start != null and count != null">
+ #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
+ </if>
+ </trim>
+ </select>
+
+ <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍-->
+ <select id="selectSomeBySoilId" resultType="com.dy.pipIrrGlobal.voRm.VoSoil">
+ select
+ <include refid="Base_Column_List" />
+ from rm_soil_last
+ <where>
+ <if test="soilId != null">
+ and soil_id = #{soilId}
+ </if>
+ </where>
+ limit 0,1
+ </select>
+
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
<!--@mbg.generated-->
delete from rm_soil_last
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWeatherHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWeatherHistoryMapper.xml
index c241300..3019090 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWeatherHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWeatherHistoryMapper.xml
@@ -27,6 +27,56 @@
from rm_weather_history
where id = #{id,jdbcType=BIGINT}
</select>
+ <!--鏍规嵁鎸囧畾鏉′欢鏌ヨ鍘嗗彶璁板綍鏁伴噺-->
+ <select id="selectCount" resultType="java.lang.Long">
+ SELECT
+ COUNT(*) AS recordCount
+ FROM rm_weather_history htb
+ INNER JOIN pr_st_weather mtb ON mtb.id = htb.weather_id
+ <where>
+ <if test="weatherId != null">
+ AND htb.weather_id = #{weatherId}
+ </if>
+ <if test = "no != null">
+ AND mtb.no = #{no}
+ </if>
+ <if test = "name != null and name !=''">
+ AND mtb.name LIKE CONCAT('%',#{name},'%')
+ </if>
+ <if test = "timeStart != null and timeStop != null">
+ AND htb.dt BETWEEN #{timeStart} AND #{timeStop}
+ </if>
+ </where>
+ </select>
+
+ <!--鏍规嵁鎸囧畾鏉′欢鏌ヨ鍘嗗彶璁板綍-->
+ <select id="selectSome" resultType="com.dy.pipIrrGlobal.voRm.VoWeather">
+ SELECT
+ <include refid="Base_Column_List" />,
+ mtb.`name` AS weatherName
+ FROM rm_weather_history htb
+ INNER JOIN pr_st_weather mtb ON mtb.id = htb.weather_id
+ <where>
+ <if test="weatherId != null">
+ AND htb.weather_id = #{weatherId}
+ </if>
+ <if test = "no != null">
+ AND mtb.no = #{no}
+ </if>
+ <if test = "name != null and name !=''">
+ AND mtb.name LIKE CONCAT('%',#{name},'%')
+ </if>
+ <if test = "timeStart != null and timeStop != null">
+ AND htb.dt BETWEEN #{timeStart} AND #{timeStop}
+ </if>
+ </where>
+ ORDER BY htb.id DESC
+ <trim prefix="limit " >
+ <if test="start != null and count != null">
+ #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
+ </if>
+ </trim>
+ </select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
<!--@mbg.generated-->
delete from rm_weather_history
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWeatherLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWeatherLastMapper.xml
index 4014fc3..9be0f00 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWeatherLastMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWeatherLastMapper.xml
@@ -41,6 +41,73 @@
</where>
limit 0,1
</select>
+
+
+
+ <!--鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍鏁伴噺-->
+ <select id="selectCount" resultType="java.lang.Long">
+ SELECT
+ COUNT(*) AS recordCount
+ FROM rm_weather_last ltb
+ INNER JOIN pr_st_weather mtb ON mtb.id = ltb.weather_id
+ <where>
+ <if test="weatherId != null">
+ AND ltb.weather_id = #{weatherId}
+ </if>
+ <if test = "no != null">
+ AND mtb.no = #{no}
+ </if>
+ <if test = "name != null and name !=''">
+ AND mtb.name LIKE CONCAT('%',#{name},'%')
+ </if>
+ <if test = "timeStart != null and timeStop != null">
+ AND ltb.dt BETWEEN #{timeStart} AND #{timeStop}
+ </if>
+ </where>
+ </select>
+
+ <!--鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍-->
+ <select id="selectSome" resultType="com.dy.pipIrrGlobal.voRm.VoWeather">
+ SELECT
+ <include refid="Base_Column_List" />,
+ mtb.`name` AS weatherName
+ FROM rm_weather_last ltb
+ INNER JOIN pr_st_weather mtb ON mtb.id = ltb.weather_id
+ <where>
+ <if test="weatherId != null">
+ AND ltb.weather_id = #{weatherId}
+ </if>
+ <if test = "no != null">
+ AND mtb.no = #{no}
+ </if>
+ <if test = "name != null and name !=''">
+ AND mtb.name LIKE CONCAT('%',#{name},'%')
+ </if>
+ <if test = "timeStart != null and timeStop != null">
+ AND ltb.dt BETWEEN #{timeStart} AND #{timeStop}
+ </if>
+ </where>
+ ORDER BY ltb.weather_id DESC
+ <trim prefix="limit " >
+ <if test="start != null and count != null">
+ #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
+ </if>
+ </trim>
+ </select>
+
+ <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍-->
+ <select id="selectSomeByWeatherId" resultType="com.dy.pipIrrGlobal.voRm.VoWeather">
+ select
+ <include refid="Base_Column_List" />
+ from rm_weather_last
+ <where>
+ <if test="weatherId != null">
+ and weather_id = #{weatherId}
+ </if>
+ </where>
+ limit 0,1
+ </select>
+
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
<!--@mbg.generated-->
delete from rm_weather_last
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureCtrl.java
index 1b6f71b..b441754 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureCtrl.java
@@ -35,15 +35,36 @@
}
/**
- * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鍘嗗彶璁板綍
- * @param qo
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鏈�鏂拌褰�
+ * @param manureId
* @return
*/
- @GetMapping(path = "history")
+ @GetMapping(path = "oneLast")
@SsoAop()
- public BaseResponse<QueryResultVo<List<VoManure>>> selectHistory(ManureQo qo){
+ public BaseResponse<VoManure> oneLast(Long manureId){
try {
- return BaseResponseUtils.buildSuccess(sv.selectHistory(qo));
+ if(manureId == null){
+ return BaseResponseUtils.buildFail("姘磋偉鏈篿d涓嶈兘涓虹┖") ;
+ }
+ return BaseResponseUtils.buildSuccess(sv.oneLast(manureId));
+ } catch (Exception e) {
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鍘嗗彶璁板綍
+ * @param manureId
+ * @return
+ */
+ @GetMapping(path = "oneHistory")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoManure>>> oneHistory(Long manureId){
+ try {
+ if(manureId == null){
+ return BaseResponseUtils.buildFail("姘磋偉鏈篿d涓嶈兘涓虹┖") ;
+ }
+ return BaseResponseUtils.buildSuccess(sv.oneHistory(manureId));
} catch (Exception e) {
return BaseResponseUtils.buildException(e.getMessage()) ;
}
@@ -54,11 +75,26 @@
* @param qo
* @return
*/
- @GetMapping(path = "last")
+ @GetMapping(path = "someLast")
@SsoAop()
- public BaseResponse<QueryResultVo<List<VoManure>>> selectLast(ManureQo qo){
+ public BaseResponse<QueryResultVo<List<VoManure>>> someLast(ManureQo qo){
try {
- return BaseResponseUtils.buildSuccess(sv.selectLast(qo));
+ return BaseResponseUtils.buildSuccess(sv.someLast(qo));
+ } catch (Exception e) {
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鍘嗗彶璁板綍
+ * @param qo
+ * @return
+ */
+ @GetMapping(path = "someHistory")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoManure>>> someHistory(ManureQo qo){
+ try {
+ return BaseResponseUtils.buildSuccess(sv.someHistory(qo));
} catch (Exception e) {
return BaseResponseUtils.buildException(e.getMessage()) ;
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureQo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureQo.java
index 05076fb..4ba8a6e 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureQo.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureQo.java
@@ -20,7 +20,7 @@
* 姘磋偉鏈篒D
*/
@Schema(description = "姘磋偉鏈篒D", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
- private Long manureId;
+ public Long manureId;
/**
* 姘磋偉绔欑紪鍙�
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureSv.java
index 609c9fd..5ea1a61 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureSv.java
@@ -28,14 +28,17 @@
@Autowired
private RmManureLastMapper rmManureLastDao ;
- /**
- * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鍘嗗彶璁板綍
- * @param qo
- * @return
- */
- public QueryResultVo<List<VoManure>> selectHistory(ManureQo qo) {
- qo.completionTime();
+ public VoManure oneLast(Long manureId) {
+ List<VoManure> list = this.rmManureLastDao.selectSomeByManureId(manureId) ;
+ if(list != null && list.size() > 0) {
+ return list.get(0) ;
+ }
+ return null ;
+ }
+ public QueryResultVo<List<VoManure>> oneHistory(Long manureId) {
+ ManureQo qo = new ManureQo() ;
+ qo.manureId = manureId ;
Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
Long itemTotal = rmManureHistoryDao.selectCount(params);
@@ -53,7 +56,7 @@
* @param qo
* @return
*/
- public QueryResultVo<List<VoManure>> selectLast(ManureQo qo) {
+ public QueryResultVo<List<VoManure>> someLast(ManureQo qo) {
qo.completionTime();
Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
@@ -67,4 +70,25 @@
rsVo.obj = rmManureLastDao.selectSome(params);
return rsVo ;
}
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鍘嗗彶璁板綍
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoManure>> someHistory(ManureQo qo) {
+ qo.completionTime();
+
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+ Long itemTotal = rmManureHistoryDao.selectCount(params);
+
+ QueryResultVo<List<VoManure>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmManureHistoryDao.selectSome(params);
+ return rsVo ;
+ }
+
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/soil/SoilCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/soil/SoilCtrl.java
new file mode 100644
index 0000000..90468c2
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/soil/SoilCtrl.java
@@ -0,0 +1,159 @@
+package com.dy.pipIrrRemote.mqttSd1.soil;
+
+import com.dy.common.aop.SsoAop;
+import com.dy.common.util.NumUtil;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.voRm.VoSoil;
+import com.dy.pipIrrGlobal.voRm.VoSoilDay;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/6/26 09:31
+ * @Description
+ */
+@Slf4j
+@Tag(name = "澧掓儏鏁版嵁鏌ヨ", description = "澧掓儏鏁版嵁鏌ヨ")
+@RestController("rmSoilCtrl")
+@RequestMapping(path = "soil")
+@RequiredArgsConstructor
+public class SoilCtrl {
+
+ private SoilSv sv;
+
+ @Autowired
+ public void setSv(SoilSv sv){
+ this.sv = sv ;
+ }
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鏌愭皵璞$珯鏌愪竴鏃ヨ褰�
+ * @param soilId
+ * @param yyyy_MM_dd
+ * @return
+ */
+ @GetMapping(path = "oneDay")
+ @SsoAop()
+ public BaseResponse<VoSoilDay> oneDay(Long soilId, String yyyy_MM_dd){
+ try {
+ if(soilId == null){
+ return BaseResponseUtils.buildFail("澧掓儏绔檌d涓嶈兘涓虹┖") ;
+ }
+ if(yyyy_MM_dd == null || yyyy_MM_dd.trim().equals("")){
+ return BaseResponseUtils.buildFail("鏌ヨ鏃ユ湡涓嶈兘涓虹┖") ;
+ }
+ String ymdStr = yyyy_MM_dd.replaceAll("-", "") ;
+ if(!NumUtil.isPlusIntNumber(ymdStr)){
+ return BaseResponseUtils.buildFail("鏌ヨ鏃ユ湡鏍煎紡涓嶆纭紝鏍煎紡瑙勫畾涓簓yyy-MM-dd") ;
+ }
+ return BaseResponseUtils.buildSuccess(sv.oneDay(soilId, Integer.parseInt(ymdStr)));
+ } catch (Exception e) {
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鏌愭皵璞$珯涓�浜涙棩璁板綍
+ * @param qo
+ * @return
+ */
+ @GetMapping(path = "oneSomeDay")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoSoilDay>>> oneSomeDay(SoilQo qo){
+ try {
+ if(qo.soilId == null){
+ return BaseResponseUtils.buildFail("澧掓儏绔檌d涓嶈兘涓虹┖") ;
+ }
+ return BaseResponseUtils.buildSuccess(sv.someDay(qo));
+ } catch (Exception e) {
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ涓�浜涙皵璞$珯鏃ヨ褰�
+ * @param qo
+ * @return
+ */
+ @GetMapping(path = "someDay")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoSoilDay>>> someDay(SoilQo qo){
+ try {
+ return BaseResponseUtils.buildSuccess(sv.someDay(qo));
+ } catch (Exception e) {
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鏈�鏂拌褰�
+ * @param soilId
+ * @return
+ */
+ @GetMapping(path = "oneLast")
+ @SsoAop()
+ public BaseResponse<VoSoil> oneLast(Long soilId){
+ try {
+ return BaseResponseUtils.buildSuccess(sv.oneLast(soilId));
+ } catch (Exception e) {
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鍘嗗彶璁板綍
+ * @param soilId
+ * @return
+ */
+ @GetMapping(path = "oneHistory")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoSoil>>> oneHistory(Long soilId){
+ try {
+
+ return BaseResponseUtils.buildSuccess(sv.oneHistory(soilId));
+ } catch (Exception e) {
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
+
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鏈�鏂拌褰�
+ * @param qo
+ * @return
+ */
+ @GetMapping(path = "someLast")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoSoil>>> someLast(SoilQo qo){
+ try {
+ return BaseResponseUtils.buildSuccess(sv.someLast(qo));
+ } catch (Exception e) {
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鍘嗗彶璁板綍
+ * @param qo
+ * @return
+ */
+ @GetMapping(path = "someHistory")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoSoil>>> someHistory(SoilQo qo){
+ try {
+ return BaseResponseUtils.buildSuccess(sv.someHistory(qo));
+ } catch (Exception e) {
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/soil/SoilQo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/soil/SoilQo.java
new file mode 100644
index 0000000..be5e066
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/soil/SoilQo.java
@@ -0,0 +1,57 @@
+package com.dy.pipIrrRemote.mqttSd1.soil;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/6/26 09:31
+ * @Description
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ToString(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class SoilQo extends QueryConditionVo {
+ /**
+ * 澧掓儏绔橧D
+ */
+ @Schema(description = "澧掓儏绔橧D", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ public Long soilId;
+
+ /**
+ * 澧掓儏绔欑紪鍙�
+ */
+ @Schema(description = "澧掓儏绔欑紪鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ public Integer no ;
+
+ /**
+ * 澧掓儏绔欏悕绉�
+ */
+ @Schema(description = "澧掓儏绔欏悕绉�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ public String name;
+ /**
+ * 鏌ヨ寮�濮嬫棩鏈�
+ */
+ @Schema(description = "鏌ヨ寮�濮嬫棩鏈�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ public String timeStart;
+
+ /**
+ * 鏌ヨ缁撴潫鏃ユ湡
+ */
+ @Schema(description = "鏌ヨ缁撴潫鏃ユ湡", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ public String timeStop;
+
+
+ public void completionTime(){
+ if(timeStart != null && !timeStart.trim().equals("")) {
+ timeStart = timeStart + " 00:00:00";
+ }
+ if(timeStop != null && !timeStop.trim().equals("")) {
+ timeStop = timeStop + " 23:59:59";
+ }
+ }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/soil/SoilSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/soil/SoilSv.java
new file mode 100644
index 0000000..f25ca0f
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/soil/SoilSv.java
@@ -0,0 +1,123 @@
+package com.dy.pipIrrRemote.mqttSd1.soil;
+
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoRm.RmSoilDayMapper;
+import com.dy.pipIrrGlobal.daoRm.RmSoilHistoryMapper;
+import com.dy.pipIrrGlobal.daoRm.RmSoilLastMapper;
+import com.dy.pipIrrGlobal.voRm.VoSoil;
+import com.dy.pipIrrGlobal.voRm.VoSoilDay;
+import com.dy.pipIrrRemote.mqttSd1.soil.SoilQo;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.common.utils.PojoUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/6/26 09:31
+ * @Description
+ */
+@Slf4j
+@Service("rmSoilSv")
+@RequiredArgsConstructor
+public class SoilSv {
+
+ @Autowired
+ private RmSoilDayMapper rmSoilDayDao ;
+ @Autowired
+ private RmSoilHistoryMapper rmSoilHistoryDao ;
+ @Autowired
+ private RmSoilLastMapper rmSoilLastDao ;
+
+ public VoSoilDay oneDay(Long soilId, Integer yyyyMMdd) {
+ List<VoSoilDay> list = this.rmSoilDayDao.selectOneBySoilId(soilId, yyyyMMdd) ;
+ if(list != null && list.size() > 0) {
+ return list.get(0) ;
+ }
+ return null ;
+ }
+
+
+ public QueryResultVo<List<VoSoilDay>> someDay(SoilQo qo) {
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+ Long itemTotal = rmSoilDayDao.selectCount(params);
+
+ QueryResultVo<List<VoSoilDay>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmSoilDayDao.selectSome(params);
+ return rsVo ;
+ }
+
+
+
+ public VoSoil oneLast(Long soilId) {
+ List<VoSoil> list = this.rmSoilLastDao.selectSomeBySoilId(soilId) ;
+ if(list != null && list.size() > 0) {
+ return list.get(0) ;
+ }
+ return null ;
+ }
+
+ public QueryResultVo<List<VoSoil>> oneHistory(Long soilId) {
+ SoilQo qo = new SoilQo() ;
+ qo.soilId = soilId ;
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+ Long itemTotal = rmSoilHistoryDao.selectCount(params);
+
+ QueryResultVo<List<VoSoil>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmSoilHistoryDao.selectSome(params);
+ return rsVo ;
+ }
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鏈�鏂拌褰�
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoSoil>> someLast(SoilQo qo) {
+ qo.completionTime();
+
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+ Long itemTotal = rmSoilLastDao.selectCount(params);
+
+ QueryResultVo<List<VoSoil>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmSoilLastDao.selectSome(params);
+ return rsVo ;
+ }
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鍘嗗彶璁板綍
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoSoil>> someHistory(SoilQo qo) {
+ qo.completionTime();
+
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+ Long itemTotal = rmSoilHistoryDao.selectCount(params);
+
+ QueryResultVo<List<VoSoil>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmSoilHistoryDao.selectSome(params);
+ return rsVo ;
+ }
+
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/weather/WeatherCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/weather/WeatherCtrl.java
new file mode 100644
index 0000000..5ed8380
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/weather/WeatherCtrl.java
@@ -0,0 +1,102 @@
+package com.dy.pipIrrRemote.mqttSd1.weather;
+
+import com.dy.common.aop.SsoAop;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.voRm.VoWeather;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/6/26 09:33
+ * @Description
+ */
+@Slf4j
+@Tag(name = "姘旇薄鏁版嵁鏌ヨ", description = "姘旇薄鏁版嵁鏌ヨ")
+@RestController("rmWeatherCtrl")
+@RequestMapping(path = "weather")
+@RequiredArgsConstructor
+public class WeatherCtrl {
+
+ private WeatherSv sv;
+
+ @Autowired
+ public void setSv(WeatherSv sv){
+ this.sv = sv ;
+ }
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鏈�鏂拌褰�
+ * @param weatherId
+ * @return
+ */
+ @GetMapping(path = "oneLast")
+ @SsoAop()
+ public BaseResponse<VoWeather> oneLast(Long weatherId){
+ try {
+ if(weatherId == null){
+ return BaseResponseUtils.buildFail("姘旇薄绔檌d涓嶈兘涓虹┖") ;
+ }
+ return BaseResponseUtils.buildSuccess(sv.oneLast(weatherId));
+ } catch (Exception e) {
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鍘嗗彶璁板綍
+ * @param weatherId
+ * @return
+ */
+ @GetMapping(path = "oneHistory")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoWeather>>> oneHistory(Long weatherId){
+ try {
+ if(weatherId == null){
+ return BaseResponseUtils.buildFail("姘旇薄绔檌d涓嶈兘涓虹┖") ;
+ }
+ return BaseResponseUtils.buildSuccess(sv.oneHistory(weatherId));
+ } catch (Exception e) {
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鏈�鏂拌褰�
+ * @param qo
+ * @return
+ */
+ @GetMapping(path = "someLast")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoWeather>>> someLast(WeatherQo qo){
+ try {
+ return BaseResponseUtils.buildSuccess(sv.someLast(qo));
+ } catch (Exception e) {
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鍘嗗彶璁板綍
+ * @param qo
+ * @return
+ */
+ @GetMapping(path = "someHistory")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoWeather>>> someHistory(WeatherQo qo){
+ try {
+ return BaseResponseUtils.buildSuccess(sv.someHistory(qo));
+ } catch (Exception e) {
+ return BaseResponseUtils.buildException(e.getMessage()) ;
+ }
+ }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/weather/WeatherQo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/weather/WeatherQo.java
new file mode 100644
index 0000000..e2b9816
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/weather/WeatherQo.java
@@ -0,0 +1,57 @@
+package com.dy.pipIrrRemote.mqttSd1.weather;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/6/26 09:33
+ * @Description
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ToString(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class WeatherQo extends QueryConditionVo {
+ /**
+ * 姘旇薄绔橧D
+ */
+ @Schema(description = "姘旇薄绔橧D", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ public Long weatherId;
+
+ /**
+ * 姘旇薄绔欑紪鍙�
+ */
+ @Schema(description = "姘旇薄绔欑紪鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ public Integer no ;
+
+ /**
+ * 姘旇薄绔欏悕绉�
+ */
+ @Schema(description = "姘旇薄绔欏悕绉�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ public String name;
+ /**
+ * 鏌ヨ寮�濮嬫棩鏈�
+ */
+ @Schema(description = "鏌ヨ寮�濮嬫棩鏈�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ public String timeStart;
+
+ /**
+ * 鏌ヨ缁撴潫鏃ユ湡
+ */
+ @Schema(description = "鏌ヨ缁撴潫鏃ユ湡", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+ public String timeStop;
+
+
+ public void completionTime(){
+ if(timeStart != null && !timeStart.trim().equals("")) {
+ timeStart = timeStart + " 00:00:00";
+ }
+ if(timeStop != null && !timeStop.trim().equals("")) {
+ timeStop = timeStop + " 23:59:59";
+ }
+ }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/weather/WeatherSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/weather/WeatherSv.java
new file mode 100644
index 0000000..e0e19e5
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/weather/WeatherSv.java
@@ -0,0 +1,94 @@
+package com.dy.pipIrrRemote.mqttSd1.weather;
+
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoRm.RmWeatherHistoryMapper;
+import com.dy.pipIrrGlobal.daoRm.RmWeatherLastMapper;
+import com.dy.pipIrrGlobal.voRm.VoWeather;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.common.utils.PojoUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/6/26 09:33
+ * @Description
+ */
+@Slf4j
+@Service("rmWeatherSv")
+@RequiredArgsConstructor
+public class WeatherSv {
+
+ @Autowired
+ private RmWeatherHistoryMapper rmWeatherHistoryDao ;
+ @Autowired
+ private RmWeatherLastMapper rmWeatherLastDao ;
+
+ public VoWeather oneLast(Long weatherId) {
+ List<VoWeather> list = this.rmWeatherLastDao.selectSomeByWeatherId(weatherId) ;
+ if(list != null && list.size() > 0) {
+ return list.get(0) ;
+ }
+ return null ;
+ }
+
+ public QueryResultVo<List<VoWeather>> oneHistory(Long weatherId) {
+ WeatherQo qo = new WeatherQo() ;
+ qo.weatherId = weatherId ;
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+ Long itemTotal = rmWeatherHistoryDao.selectCount(params);
+
+ QueryResultVo<List<VoWeather>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmWeatherHistoryDao.selectSome(params);
+ return rsVo ;
+ }
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鏈�鏂拌褰�
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoWeather>> someLast(WeatherQo qo) {
+ qo.completionTime();
+
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+ Long itemTotal = rmWeatherLastDao.selectCount(params);
+
+ QueryResultVo<List<VoWeather>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmWeatherLastDao.selectSome(params);
+ return rsVo ;
+ }
+
+ /**
+ * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鍘嗗彶璁板綍
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoWeather>> someHistory(WeatherQo qo) {
+ qo.completionTime();
+
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+ Long itemTotal = rmWeatherHistoryDao.selectCount(params);
+
+ QueryResultVo<List<VoWeather>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = rmWeatherHistoryDao.selectSome(params);
+ return rsVo ;
+ }
+
+}
--
Gitblit v1.8.0