From d502caad139eb06678c89a281bf63dbc19adb228 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 26 六月 2025 09:54:21 +0800
Subject: [PATCH] 水肥机、墒情站、气象站历史数据、最新数据查询
---
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/weather/WeatherCtrl.java | 97 ++++
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWeatherLastMapper.xml | 67 +++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilHistoryMapper.java | 19
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/java/com/dy/pipIrrGlobal/daoRm/RmWeatherLastMapper.java | 23 +
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWeatherHistoryMapper.xml | 50 ++
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/soil/SoilCtrl.java | 97 ++++
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 | 95 ++++
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureCtrl.java | 47 +
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/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-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-global/src/main/resources/mapper/RmManureLastMapper.xml | 21
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureSv.java | 40 +
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoWeather.java | 148 +++++++
22 files changed, 1,178 insertions(+), 24 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/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/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/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..cd5f92c 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,31 @@
}
/**
- * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鍘嗗彶璁板綍
- * @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));
+ 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 {
+
+ return BaseResponseUtils.buildSuccess(sv.oneHistory(manureId));
} catch (Exception e) {
return BaseResponseUtils.buildException(e.getMessage()) ;
}
@@ -54,11 +70,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..122a62b
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/soil/SoilCtrl.java
@@ -0,0 +1,97 @@
+package com.dy.pipIrrRemote.mqttSd1.soil;
+
+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.VoSoil;
+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
+ * @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..cac7ee4
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/soil/SoilSv.java
@@ -0,0 +1,95 @@
+package com.dy.pipIrrRemote.mqttSd1.soil;
+
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoRm.RmSoilHistoryMapper;
+import com.dy.pipIrrGlobal.daoRm.RmSoilLastMapper;
+import com.dy.pipIrrGlobal.voRm.VoSoil;
+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 RmSoilHistoryMapper rmSoilHistoryDao ;
+ @Autowired
+ private RmSoilLastMapper rmSoilLastDao ;
+
+ 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..410677e
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/weather/WeatherCtrl.java
@@ -0,0 +1,97 @@
+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 {
+ 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 {
+
+ 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