From cb02d710e3a984b2e66fe3b2648dad555d832880 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期四, 26 六月 2025 09:44:23 +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/RmWeatherLastMapper.java | 27 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmManureLastMapper.java | 43 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilLastMapper.xml | 222 +++ pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardCtrl.java | 7 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkRtuDealCommandResponse.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java | 2 pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/DtoRecharge.java | 1 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrStWeatherMapper.xml | 9 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDay.java | 2 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmSoilLast.java | 145 ++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWeatherLastMapper.xml | 186 ++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWeatherLast.java | 119 + pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWeatherHistoryMapper.xml | 162 ++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDayLast.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkRtuDealCommandResponseV2.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/pSdV1/upVos/SoilVo.java | 2 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilDayMapper.xml | 355 +++++ pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml | 2 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWeatherHistory.java | 110 + pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmManureHistoryMapper.xml | 273 +++ pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkPreGenObjs4WeatherSdV1.java | 59 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmManureLast.java | 149 ++ pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkFindComResponse.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealWeatherSdV1.java | 105 + pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkFindComResponseSdV1.java | 37 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmManureHistory.java | 142 ++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilDayMapper.java | 28 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrStManureMapper.xml | 8 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilHistoryMapper.java | 22 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/ServerProperties.java | 3 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkPreGenObjs4ManureSdV1.java | 59 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkPreGenObjs4SoilSdV1.java | 59 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoManure.java | 120 + pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java | 230 +++ pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureCtrl.java | 66 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmSoilHistory.java | 137 + pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealSoilSdV1.java | 133 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttSubMsg.java | 4 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealCommandResponseSdV1.java | 58 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilLastMapper.java | 28 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrStManureMapper.java | 2 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureSv.java | 70 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmSoilDay.java | 257 +++ pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttTopic.java | 4 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrStSoilMapper.xml | 9 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrStSoilMapper.java | 4 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmManureHistoryMapper.java | 41 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilHistoryMapper.xml | 198 ++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrStWeatherMapper.java | 4 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponseV202404.java | 2 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherHistoryMapper.java | 22 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml | 20 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureQo.java | 57 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkFindPSdV1.java | 6 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttPubMsg.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealManureSdV1.java | 127 + pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmManureLastMapper.xml | 300 ++++ 57 files changed, 4,227 insertions(+), 20 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttPubMsg.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttPubMsg.java index 2c1c6f1..89e4058 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttPubMsg.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttPubMsg.java @@ -14,7 +14,7 @@ public String cd ;//鍔熻兘鐮� - public String deviceId ;//璁惧ID + public String deviceId ;//璁惧ID(FBox搴忓垪鍙�) public String mqttResultSendWebUrl ;//Mqtt杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttSubMsg.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttSubMsg.java index 7577e67..82e6c0d 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttSubMsg.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttSubMsg.java @@ -14,8 +14,8 @@ public String commandId ;//鍛戒护ID public String mqttResultSendWebUrl ;//Mtt杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL - public String deviceId ;//璁惧ID - public String protocol;//鍗忚 + public String deviceId ;//璁惧ID(FBox搴忓垪鍙�) + public String protocol;//鍗忚(鍚嶇О+鐗堟湰) public MqttTopic topic ;//娑堟伅涓婚 public String metaData;//MQTT鎺ㄩ�佹潵鐨勫厓鏁版嵁 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttTopic.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttTopic.java index 5bc518e..697991e 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttTopic.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttTopic.java @@ -14,8 +14,8 @@ @AllArgsConstructor public class MqttTopic { public String orgTag ;//缁勭粐鏍囪瘑 - public String protocol ;//鍗忚鍚嶇О - public String devId ;//璁惧锛團Box锛塈D + public String protocol ;//鍗忚鍚嶇О(鍚嶇О+鐗堟湰) + public String devId ;//璁惧ID(FBox搴忓垪鍙�) public String type;//鏁版嵁锛堝懡浠わ級绫诲瀷 public Integer no;//娴嬬珯缂栧彿 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/pSdV1/upVos/SoilVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/pSdV1/upVos/SoilVo.java index 7a01088..088dc27 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/pSdV1/upVos/SoilVo.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/pSdV1/upVos/SoilVo.java @@ -32,7 +32,7 @@ @JSONField(name = "鍦熷¥婀垮害5") public Float soilHumidity5 ; - @JSONField(name = "鍦熷¥婀垮害1") + @JSONField(name = "鍦熷¥娓╁害1") public Float soilTemperature1 ; @JSONField(name = "鍦熷¥娓╁害2") diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrStManureMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrStManureMapper.java index a36c38c..bb8d2eb 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrStManureMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrStManureMapper.java @@ -6,6 +6,7 @@ import com.dy.pipIrrGlobal.voPr.VoMqttSimple; import com.dy.pipIrrGlobal.voPr.VoSoil; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; @@ -50,6 +51,7 @@ */ List<VoManure> selectSome(Map<?, ?> params); + List<PrStManure> selectStPoByFBoxIdAndNo(@Param("fbox_id")String fboxId, @Param("no")Integer no) ; int updateByPrimaryKeySelective(PrStManure record); diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrStSoilMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrStSoilMapper.java index 9e3dfcf..f83acbe 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrStSoilMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrStSoilMapper.java @@ -1,10 +1,12 @@ package com.dy.pipIrrGlobal.daoPr; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dy.pipIrrGlobal.pojoPr.PrStManure; import com.dy.pipIrrGlobal.pojoPr.PrStSoil; import com.dy.pipIrrGlobal.voPr.VoMqttSimple; import com.dy.pipIrrGlobal.voPr.VoSoil; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; @@ -49,6 +51,8 @@ */ List<VoSoil> selectSome(Map<?, ?> params); + List<PrStSoil> selectStPoByFBoxIdAndNo(@Param("fbox_id")String fboxId, @Param("no")Integer no) ; + int updateByPrimaryKeySelective(PrStSoil record); int updateByPrimaryKey(PrStSoil record); diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrStWeatherMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrStWeatherMapper.java index 385526c..46f8cda 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrStWeatherMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrStWeatherMapper.java @@ -1,10 +1,12 @@ package com.dy.pipIrrGlobal.daoPr; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dy.pipIrrGlobal.pojoPr.PrStSoil; import com.dy.pipIrrGlobal.pojoPr.PrStWeather; import com.dy.pipIrrGlobal.voPr.VoMqttSimple; import com.dy.pipIrrGlobal.voPr.VoWeather; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; @@ -47,6 +49,8 @@ */ List<VoWeather> selectSome(Map<?, ?> params); + List<PrStWeather> selectStPoByFBoxIdAndNo(@Param("fbox_id")String fboxId, @Param("no")Integer no) ; + List<VoMqttSimple> selectAllSimple() ; int updateByPrimaryKeySelective(PrStWeather record); diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmManureHistoryMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmManureHistoryMapper.java new file mode 100644 index 0000000..c4f3aa0 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmManureHistoryMapper.java @@ -0,0 +1,41 @@ +package com.dy.pipIrrGlobal.daoRm; + +import com.dy.pipIrrGlobal.pojoRm.RmManureHistory; +import com.dy.pipIrrGlobal.voRm.VoManure; + +import java.util.List; +import java.util.Map; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 10:03 + * @Description + */ +public interface RmManureHistoryMapper { + int deleteByPrimaryKey(Long id); + + int insert(RmManureHistory record); + + int insertSelective(RmManureHistory record); + + RmManureHistory selectByPrimaryKey(Long id); + + /** + * 鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍鏁伴噺 + * @param params + * @return + */ + Long selectCount(Map<?, ?> params); + + /** + * 鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍 + * @param params + * @return + */ + List<VoManure> selectSome(Map<?, ?> params); + + + int updateByPrimaryKeySelective(RmManureHistory record); + + int updateByPrimaryKey(RmManureHistory record); +} \ No newline at end of file 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 new file mode 100644 index 0000000..7bfba0f --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmManureLastMapper.java @@ -0,0 +1,43 @@ +package com.dy.pipIrrGlobal.daoRm; + +import com.dy.pipIrrGlobal.pojoRm.RmManureLast; +import com.dy.pipIrrGlobal.voRm.VoManure; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 10:03 + * @Description + */ +public interface RmManureLastMapper { + int deleteByPrimaryKey(Long id); + + int insert(RmManureLast record); + + int insertSelective(RmManureLast record); + + RmManureLast selectByPrimaryKey(Long id); + + List<RmManureLast> selectRmManureLast(@Param("stManureId") Long stManureId) ; + + /** + * 鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍鏁伴噺 + * @param params + * @return + */ + Long selectCount(Map<?, ?> params); + + /** + * 鏍规嵁鎸囧畾鏉′欢鏌ヨ璁板綍 + * @param params + * @return + */ + List<VoManure> selectSome(Map<?, ?> params); + + int updateByPrimaryKeySelective(RmManureLast record); + + int updateByPrimaryKey(RmManureLast record); +} \ No newline at end of file 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 new file mode 100644 index 0000000..5211723 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilDayMapper.java @@ -0,0 +1,28 @@ +package com.dy.pipIrrGlobal.daoRm; + +import com.dy.pipIrrGlobal.pojoRm.RmSoilDay; +import com.dy.pipIrrGlobal.pojoRm.RmSoilLast; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 10:04 + * @Description + */ +public interface RmSoilDayMapper { + int deleteByPrimaryKey(Long id); + + int insert(RmSoilDay record); + + int insertSelective(RmSoilDay record); + + RmSoilDay selectByPrimaryKey(Long id); + + List<RmSoilDay> selectRmSoilDay(@Param("stSoilId") Long stSoilId, @Param("ymd") Integer ymd) ; + + int updateByPrimaryKeySelective(RmSoilDay record); + + int updateByPrimaryKey(RmSoilDay record); +} \ No newline at end of file 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 new file mode 100644 index 0000000..c976c7b --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilHistoryMapper.java @@ -0,0 +1,22 @@ +package com.dy.pipIrrGlobal.daoRm; + +import com.dy.pipIrrGlobal.pojoRm.RmSoilHistory; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 10:04 + * @Description + */ +public interface RmSoilHistoryMapper { + int deleteByPrimaryKey(Long id); + + int insert(RmSoilHistory record); + + int insertSelective(RmSoilHistory record); + + RmSoilHistory selectByPrimaryKey(Long id); + + int updateByPrimaryKeySelective(RmSoilHistory record); + + int updateByPrimaryKey(RmSoilHistory record); +} \ No newline at end of file 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 new file mode 100644 index 0000000..a81e20a --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilLastMapper.java @@ -0,0 +1,28 @@ +package com.dy.pipIrrGlobal.daoRm; + +import com.dy.pipIrrGlobal.pojoRm.RmManureLast; +import com.dy.pipIrrGlobal.pojoRm.RmSoilLast; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 10:04 + * @Description + */ +public interface RmSoilLastMapper { + int deleteByPrimaryKey(Long id); + + int insert(RmSoilLast record); + + int insertSelective(RmSoilLast record); + + RmSoilLast selectByPrimaryKey(Long id); + + List<RmSoilLast> selectRmSoilLast(@Param("stSoilId") Long stSoilId) ; + + int updateByPrimaryKeySelective(RmSoilLast record); + + int updateByPrimaryKey(RmSoilLast record); +} \ No newline at end of file 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 new file mode 100644 index 0000000..5c0c8e9 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherHistoryMapper.java @@ -0,0 +1,22 @@ +package com.dy.pipIrrGlobal.daoRm; + +import com.dy.pipIrrGlobal.pojoRm.RmWeatherHistory; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 10:39 + * @Description + */ +public interface RmWeatherHistoryMapper { + int deleteByPrimaryKey(Long id); + + int insert(RmWeatherHistory record); + + int insertSelective(RmWeatherHistory record); + + RmWeatherHistory selectByPrimaryKey(Long id); + + int updateByPrimaryKeySelective(RmWeatherHistory record); + + int updateByPrimaryKey(RmWeatherHistory record); +} \ No newline at end of file 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 new file mode 100644 index 0000000..60618b3 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherLastMapper.java @@ -0,0 +1,27 @@ +package com.dy.pipIrrGlobal.daoRm; + +import com.dy.pipIrrGlobal.pojoRm.RmWeatherLast; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 10:39 + * @Description + */ +public interface RmWeatherLastMapper { + int deleteByPrimaryKey(Long id); + + int insert(RmWeatherLast record); + + int insertSelective(RmWeatherLast record); + + RmWeatherLast selectByPrimaryKey(Long id); + + List<RmWeatherLast> selectRmWeatherLast(@Param("stWeatherId") Long stWeatherId) ; + + int updateByPrimaryKeySelective(RmWeatherLast record); + + int updateByPrimaryKey(RmWeatherLast record); +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDay.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDay.java index 5181be6..457735a 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDay.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDay.java @@ -22,7 +22,7 @@ * @LastEditTime 2024/2/28 15:31 * @Description 鎺у埗鍣ㄦ棩婕忔崯姘撮噺鍘嗗彶鏁版嵁 */ -@TableName(value="rm_loss_history_history", autoResultMap = true) +@TableName(value="rm_loss_history", autoResultMap = true) @Data @Builder @ToString diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDayLast.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDayLast.java index 4cd2166..2dea69b 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDayLast.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDayLast.java @@ -22,7 +22,7 @@ * @LastEditTime 2024/2/28 15:31 * @Description 鎺у埗鍣ㄦ棩婕忔崯姘撮噺鏈�鏂版暟鎹� */ -@TableName(value="rm_loss_last_history", autoResultMap = true) +@TableName(value="rm_loss_last", autoResultMap = true) @Data @Builder @ToString diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmManureHistory.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmManureHistory.java new file mode 100644 index 0000000..3a5daef --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmManureHistory.java @@ -0,0 +1,142 @@ +package com.dy.pipIrrGlobal.pojoRm; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.alibaba.fastjson2.writer.ObjectWriterImplToString; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.dy.common.mw.protocol4Mqtt.MqttSubMsg; +import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.ManureVo; +import com.dy.common.po.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.util.Date; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 10:03 + * @Description + */ +@TableName(value="rm_manure_history", autoResultMap = true) +@Data +@Builder +@ToString +@NoArgsConstructor +@AllArgsConstructor +@Schema(name = "姘磋偉鏈哄巻鍙叉暟鎹�") +public class RmManureHistory implements BaseEntity { + + public static final long serialVersionUID = 202506251021001L; + /** + * 涓婚敭 + */ + @Schema(description = "涓婚敭", requiredMode = Schema.RequiredMode.REQUIRED) + @JSONField(serializeUsing= ObjectWriterImplToString.class) + @TableId(type = IdType.INPUT) + public Long id; + + /** + * 姘磋偉鏈哄疄浣撳閿甶d + */ + @Schema(description = "姘磋偉鏈哄疄浣撳閿甶d", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JSONField(serializeUsing= ObjectWriterImplToString.class) + public Long manureId; + + /** + * 鏁版嵁涓婃姤鏃堕棿锛堝勾鏈堟棩鏃跺垎绉掞級 + */ + @Schema(description = "鏁版嵁鎺ユ敹鏃ユ湡鏃堕棿", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + public Date dt; + + /** + * 鎼呮媽1杩愯鐘舵��(1杩愯锛�0鍋滄) + */ + @Schema(description = "鎼呮媽1杩愯鐘舵��(1杩愯锛�0鍋滄)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Byte stirRunning1; + + /** + * 鎼呮媽2杩愯鐘舵��(1杩愯锛�0鍋滄) + */ + @Schema(description = "鎼呮媽2杩愯鐘舵��(1杩愯锛�0鍋滄)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Byte stirRunning2; + + /** + * 鎼呮媽3杩愯鐘舵��(1杩愯锛�0鍋滄) + */ + @Schema(description = "鎼呮媽3杩愯鐘舵��(1杩愯锛�0鍋滄)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Byte stirRunning3; + + /** + * 鎼呮媽4杩愯鐘舵��(1杩愯锛�0鍋滄) + */ + @Schema(description = "鎼呮媽4杩愯鐘舵��(1杩愯锛�0鍋滄)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Byte stirRunning4; + + /** + * 娉ㄨ偉杩愯鐘舵��(1杩愯锛�0鍋滄) + */ + @Schema(description = "娉ㄨ偉杩愯鐘舵��(1杩愯锛�0鍋滄)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Byte injectRunning; + + /** + * 鐏屾簤杩愯鐘舵��(1杩愯锛�0鍋滄) + */ + @Schema(description = "鐏屾簤杩愯鐘舵��(1杩愯锛�0鍋滄)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Byte irrRunning; + + /** + * 鎶ヨ锛�1:娉ㄨ偉娉垫湁鏁呴殰锛�0:娉ㄨ偉娉垫病鏈夋晠闅滐級 + */ + @Schema(description = "鎶ヨ锛�1:娉ㄨ偉娉垫湁鏁呴殰锛�0:娉ㄨ偉娉垫病鏈夋晠闅滐級", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Byte alarm; + + /** + * 鑲ユ枡娴侀噺锛堝崌锛� + */ + @Schema(description = "鑲ユ枡娴侀噺锛堝崌锛�", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) + public Double manureFlow; + + /** + * 娉ㄨ偉缁忚繃鏃堕棿(绉�) + */ + @Schema(description = "娉ㄨ偉缁忚繃鏃堕棿(绉�)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Integer manureTime; + + /** + * 鎼呮媽缁忚繃鏃堕棿(绉掞級 + */ + @Schema(description = "鎼呮媽缁忚繃鏃堕棿(绉掞級", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Integer stirTime; + + /** + * 鎼呮媽璁惧畾鏃堕棿(绉�) + */ + @Schema(description = "鎼呮媽璁惧畾鏃堕棿(绉�)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Integer stirDuration; + + /** + * 娉ㄨ偉璁惧畾鏃堕棿(绉�) + */ + @Schema(description = "娉ㄨ偉璁惧畾鏃堕棿(绉�)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Integer injectDuration; + + public void valueFrom(MqttSubMsg msg, ManureVo cdData) throws Exception{ + this.dt = new Date(); + this.stirRunning1 = cdData.stirRunning1 ; + this.stirRunning2 = cdData.stirRunning2 ; + this.stirRunning3 = cdData.stirRunning3 ; + this.stirRunning4 = cdData.stirRunning4 ; + this.injectRunning = cdData.injectRunning ; + this.irrRunning = cdData.irrRunning ; + this.alarm = cdData.alarm ; + this.manureFlow = cdData.manureFlow==null?null:(0.0D + cdData.manureFlow) ; + this.manureTime = cdData.manureTime ; + this.stirTime = cdData.stirTime ; + this.stirDuration = cdData.stirDuration ; + this.injectDuration = cdData.injectDuration ; + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmManureLast.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmManureLast.java new file mode 100644 index 0000000..02ef15e --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmManureLast.java @@ -0,0 +1,149 @@ +package com.dy.pipIrrGlobal.pojoRm; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.alibaba.fastjson2.writer.ObjectWriterImplToString; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.dy.common.mw.protocol4Mqtt.MqttSubMsg; +import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.ManureVo; +import com.dy.common.po.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.util.Date; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 10:03 + * @Description + */ +@TableName(value="rm_manure_last", autoResultMap = true) +@Data +@Builder +@ToString +@NoArgsConstructor +@AllArgsConstructor +@Schema(name = "姘磋偉鏈烘渶鏂版暟鎹�") +public class RmManureLast implements BaseEntity { + + public static final long serialVersionUID = 202506251021002L; + /** + * 涓婚敭 + */ + @Schema(description = "涓婚敭", requiredMode = Schema.RequiredMode.REQUIRED) + @JSONField(serializeUsing= ObjectWriterImplToString.class) + @TableId(type = IdType.INPUT) + public Long id; + + /** + * 鍘嗗彶鏁版嵁琛ㄤ腑鏈�鏂拌褰曠殑澶栭敭id + */ + @Schema(hidden=true) + @JSONField(serialize = false) + public Long lastHistoryId; + + /** + * 姘磋偉鏈哄疄浣撳閿甶d + */ + @Schema(description = "姘磋偉鏈哄疄浣撳閿甶d", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JSONField(serializeUsing= ObjectWriterImplToString.class) + public Long manureId; + + /** + * 鏁版嵁涓婃姤鏃堕棿锛堝勾鏈堟棩鏃跺垎绉掞級 + */ + @Schema(description = "鏁版嵁鎺ユ敹鏃ユ湡鏃堕棿", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + public Date dt; + + /** + * 鎼呮媽1杩愯鐘舵��(1杩愯锛�0鍋滄) + */ + @Schema(description = "鎼呮媽1杩愯鐘舵��(1杩愯锛�0鍋滄)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Byte stirRunning1; + + /** + * 鎼呮媽2杩愯鐘舵��(1杩愯锛�0鍋滄) + */ + @Schema(description = "鎼呮媽2杩愯鐘舵��(1杩愯锛�0鍋滄)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Byte stirRunning2; + + /** + * 鎼呮媽3杩愯鐘舵��(1杩愯锛�0鍋滄) + */ + @Schema(description = "鎼呮媽3杩愯鐘舵��(1杩愯锛�0鍋滄)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Byte stirRunning3; + + /** + * 鎼呮媽4杩愯鐘舵��(1杩愯锛�0鍋滄) + */ + @Schema(description = "鎼呮媽4杩愯鐘舵��(1杩愯锛�0鍋滄)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Byte stirRunning4; + + /** + * 娉ㄨ偉杩愯鐘舵��(1杩愯锛�0鍋滄) + */ + @Schema(description = "娉ㄨ偉杩愯鐘舵��(1杩愯锛�0鍋滄)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Byte injectRunning; + + /** + * 鐏屾簤杩愯鐘舵��(1杩愯锛�0鍋滄) + */ + @Schema(description = "鐏屾簤杩愯鐘舵��(1杩愯锛�0鍋滄)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Byte irrRunning; + + /** + * 鎶ヨ锛�1:娉ㄨ偉娉垫湁鏁呴殰锛�0:娉ㄨ偉娉垫病鏈夋晠闅滐級 + */ + @Schema(description = "鎶ヨ锛�1:娉ㄨ偉娉垫湁鏁呴殰锛�0:娉ㄨ偉娉垫病鏈夋晠闅滐級", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Byte alarm; + + /** + * 鑲ユ枡娴侀噺锛堝崌锛� + */ + @Schema(description = "鑲ユ枡娴侀噺锛堝崌锛�", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) + public Double manureFlow; + + /** + * 娉ㄨ偉缁忚繃鏃堕棿(绉�) + */ + @Schema(description = "娉ㄨ偉缁忚繃鏃堕棿(绉�)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Integer manureTime; + + /** + * 鎼呮媽缁忚繃鏃堕棿(绉掞級 + */ + @Schema(description = "鎼呮媽缁忚繃鏃堕棿(绉掞級", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Integer stirTime; + + /** + * 鎼呮媽璁惧畾鏃堕棿(绉�) + */ + @Schema(description = "鎼呮媽璁惧畾鏃堕棿(绉�)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Integer stirDuration; + + /** + * 娉ㄨ偉璁惧畾鏃堕棿(绉�) + */ + @Schema(description = "娉ㄨ偉璁惧畾鏃堕棿(绉�)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Integer injectDuration; + + public void valueFrom(MqttSubMsg msg, ManureVo cdData) throws Exception{ + this.dt = new Date(); + this.stirRunning1 = cdData.stirRunning1 ; + this.stirRunning2 = cdData.stirRunning2 ; + this.stirRunning3 = cdData.stirRunning3 ; + this.stirRunning4 = cdData.stirRunning4 ; + this.injectRunning = cdData.injectRunning ; + this.irrRunning = cdData.irrRunning ; + this.alarm = cdData.alarm ; + this.manureFlow = cdData.manureFlow==null?null:(0.0D + cdData.manureFlow) ; + this.manureTime = cdData.manureTime ; + this.stirTime = cdData.stirTime ; + this.stirDuration = cdData.stirDuration ; + this.injectDuration = cdData.injectDuration ; + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmSoilDay.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmSoilDay.java new file mode 100644 index 0000000..2ab8f5a --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmSoilDay.java @@ -0,0 +1,257 @@ +package com.dy.pipIrrGlobal.pojoRm; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.alibaba.fastjson2.writer.ObjectWriterImplToString; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.dy.common.mw.protocol4Mqtt.MqttSubMsg; +import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.SoilVo; +import com.dy.common.po.BaseEntity; +import com.dy.common.util.DateTime; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.util.Date; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 10:04 + * @Description + */ +@TableName(value="rm_soil_day", autoResultMap = true) +@Data +@Builder +@ToString +@NoArgsConstructor +@AllArgsConstructor +@Schema(name = "澧掓儏鏃ュ钩鍧囨暟鎹�") +public class RmSoilDay implements BaseEntity { + + public static final long serialVersionUID = 202506251022003L; + /** + * 涓婚敭 + */ + @Schema(description = "涓婚敭", requiredMode = Schema.RequiredMode.REQUIRED) + @JSONField(serializeUsing= ObjectWriterImplToString.class) + @TableId(type = IdType.INPUT) + 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) + @JsonFormat(pattern = "yyyy-MM-dd") + public Date dt; + /** + * 鏁版嵁鏃ユ湡锛堝勾鏈堟棩锛� + */ + @Schema(hidden=true) + @JSONField(serialize = false) + public Integer ymd ; + + /** + * 鏃ュ钩鍧囧湡澹ゆ箍搴�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; + + /** + * 鏃ユ暟鎹鏁� + */ + @Schema(description = "鏃ユ暟鎹鏁�", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Integer times; + + /** + * 鏃ョ疮璁″湡澹ゆ箍搴�1 + */ + @Schema(description = "鏃ョ疮璁″湡澹ゆ箍搴�1", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) + public Double soilSumHumidity1; + + /** + * 鏃ョ疮璁″湡澹ゆ箍搴�2 + */ + @Schema(description = "鏃ョ疮璁″湡澹ゆ箍搴�2", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) + public Double soilSumHumidity2; + + /** + * 鏃ョ疮璁″湡澹ゆ箍搴�3 + */ + @Schema(description = "鏃ョ疮璁″湡澹ゆ箍搴�3", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) + public Double soilSumHumidity3; + + /** + * 鏃ョ疮璁″湡澹ゆ箍搴�4 + */ + @Schema(description = "鏃ョ疮璁″湡澹ゆ箍搴�4", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) + public Double soilSumHumidity4; + + /** + * 鏃ョ疮璁″湡澹ゆ箍搴�5 + */ + @Schema(description = "鏃ョ疮璁″湡澹ゆ箍搴�5", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) + public Double soilSumHumidity5; + + /** + * 鏃ョ疮璁″湡澹ゆ俯搴�1 + */ + @Schema(description = "鏃ョ疮璁″湡澹ゆ俯搴�1", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) + public Double soilSumTemperature1; + + /** + * 鏃ョ疮璁″湡澹ゆ俯搴�2 + */ + @Schema(description = "鏃ョ疮璁″湡澹ゆ俯搴�2", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) + public Double soilSumTemperature2; + + /** + * 鏃ョ疮璁″湡澹ゆ俯搴�3 + */ + @Schema(description = "鏃ョ疮璁″湡澹ゆ俯搴�3", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) + public Double soilSumTemperature3; + + /** + * 鏃ョ疮璁″湡澹ゆ俯搴�4 + */ + @Schema(description = "鏃ョ疮璁″湡澹ゆ俯搴�4", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) + public Double soilSumTemperature4; + + /** + * 鏃ョ疮璁″湡澹ゆ俯搴�5 + */ + @Schema(description = "鏃ョ疮璁″湡澹ゆ俯搴�5", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) + public Double soilSumTemperature5; + + public void valueFrom(MqttSubMsg msg, SoilVo cdData) throws Exception{ + this.dt = new Date(); + this.ymd = Integer.parseInt(DateTime.yyyyMMdd()) ; + this.soilSumHumidity1 = cdData.soilHumidity1==null?0.0D:(0.0D + cdData.soilHumidity1) ; + this.soilSumHumidity2 = cdData.soilHumidity2==null?0.0D:(0.0D + cdData.soilHumidity2) ; + this.soilSumHumidity3 = cdData.soilHumidity3==null?0.0D:(0.0D + cdData.soilHumidity3) ; + this.soilSumHumidity4 = cdData.soilHumidity4==null?0.0D:(0.0D + cdData.soilHumidity4) ; + this.soilSumHumidity5 = cdData.soilHumidity5==null?0.0D:(0.0D + cdData.soilHumidity5) ; + this.soilSumTemperature1 = cdData.soilTemperature1==null?0.0D:(0.0D + cdData.soilTemperature1) ; + this.soilSumTemperature2 = cdData.soilTemperature2==null?0.0D:(0.0D + cdData.soilTemperature2) ; + this.soilSumTemperature3 = cdData.soilTemperature3==null?0.0D:(0.0D + cdData.soilTemperature3) ; + this.soilSumTemperature4 = cdData.soilTemperature4==null?0.0D:(0.0D + cdData.soilTemperature4) ; + this.soilSumTemperature5 = cdData.soilTemperature5==null?0.0D:(0.0D + cdData.soilTemperature5) ; + this.times = 1 ; + this.soilHumidity1 = this.soilSumHumidity1 ; + this.soilHumidity2 = this.soilSumHumidity2 ; + this.soilHumidity3 = this.soilSumHumidity3 ; + this.soilHumidity4 = this.soilSumHumidity4 ; + this.soilHumidity5 = this.soilSumHumidity5 ; + this.soilTemperature1 = this.soilSumTemperature1 ; + this.soilTemperature2 = this.soilSumTemperature2 ; + this.soilTemperature3 = this.soilSumTemperature3 ; + this.soilTemperature4 = this.soilSumTemperature4 ; + this.soilTemperature5 = this.soilSumTemperature5 ; + } + + public void updateFrom(MqttSubMsg msg, SoilVo cdData) throws Exception{ + this.soilSumHumidity1 += cdData.soilHumidity1==null?0.0D:(0.0D + cdData.soilHumidity1) ; + this.soilSumHumidity2 += cdData.soilHumidity2==null?0.0D:(0.0D + cdData.soilHumidity2) ; + this.soilSumHumidity3 += cdData.soilHumidity3==null?0.0D:(0.0D + cdData.soilHumidity3) ; + this.soilSumHumidity4 += cdData.soilHumidity4==null?0.0D:(0.0D + cdData.soilHumidity4) ; + this.soilSumHumidity5 += cdData.soilHumidity5==null?0.0D:(0.0D + cdData.soilHumidity5) ; + this.soilSumTemperature1 += cdData.soilTemperature1==null?0.0D:(0.0D + cdData.soilTemperature1) ; + this.soilSumTemperature2 += cdData.soilTemperature2==null?0.0D:(0.0D + cdData.soilTemperature2) ; + this.soilSumTemperature3 += cdData.soilTemperature3==null?0.0D:(0.0D + cdData.soilTemperature3) ; + this.soilSumTemperature4 += cdData.soilTemperature4==null?0.0D:(0.0D + cdData.soilTemperature4) ; + this.soilSumTemperature5 += cdData.soilTemperature5==null?0.0D:(0.0D + cdData.soilTemperature5) ; + this.times = this.times + 1 ; + this.soilHumidity1 = this.soilSumHumidity1 / this.times ; + this.soilHumidity2 = this.soilSumHumidity2 / this.times ; + this.soilHumidity3 = this.soilSumHumidity3 / this.times ; + this.soilHumidity4 = this.soilSumHumidity4 / this.times ; + this.soilHumidity5 = this.soilSumHumidity5 / this.times ; + this.soilTemperature1 = this.soilSumTemperature1 / this.times ; + this.soilTemperature2 = this.soilSumTemperature2 / this.times ; + this.soilTemperature3 = this.soilSumTemperature3 / this.times ; + this.soilTemperature4 = this.soilSumTemperature4 / this.times ; + this.soilTemperature5 = this.soilSumTemperature5 / this.times ; + } + +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmSoilHistory.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmSoilHistory.java new file mode 100644 index 0000000..4b8bb2e --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmSoilHistory.java @@ -0,0 +1,137 @@ +package com.dy.pipIrrGlobal.pojoRm; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.alibaba.fastjson2.writer.ObjectWriterImplToString; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.dy.common.mw.protocol4Mqtt.MqttSubMsg; +import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.SoilVo; +import com.dy.common.po.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.util.Date; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 10:04 + * @Description + */ +@TableName(value="rm_soil_history", autoResultMap = true) +@Data +@Builder +@ToString +@NoArgsConstructor +@AllArgsConstructor +@Schema(name = "澧掓儏鏈�鏂版暟鎹�") +public class RmSoilHistory implements BaseEntity { + + public static final long serialVersionUID = 202506251022002L; + /** + * 涓婚敭 + */ + @Schema(description = "涓婚敭", requiredMode = Schema.RequiredMode.REQUIRED) + @JSONField(serializeUsing= ObjectWriterImplToString.class) + @TableId(type = IdType.INPUT) + 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) + @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; + + public void valueFrom(MqttSubMsg msg, SoilVo cdData) throws Exception{ + this.dt = new Date(); + this.soilHumidity1 = cdData.soilHumidity1==null?null:(0.0D + cdData.soilHumidity1) ; + this.soilHumidity2 = cdData.soilHumidity2==null?null:(0.0D + cdData.soilHumidity2) ; + this.soilHumidity3 = cdData.soilHumidity3==null?null:(0.0D + cdData.soilHumidity3) ; + this.soilHumidity4 = cdData.soilHumidity4==null?null:(0.0D + cdData.soilHumidity4) ; + this.soilHumidity5 = cdData.soilHumidity5==null?null:(0.0D + cdData.soilHumidity5) ; + this.soilTemperature1 = cdData.soilTemperature1==null?null:(0.0D + cdData.soilTemperature1) ; + this.soilTemperature2 = cdData.soilTemperature2==null?null:(0.0D + cdData.soilTemperature2) ; + this.soilTemperature3 = cdData.soilTemperature3==null?null:(0.0D + cdData.soilTemperature3) ; + this.soilTemperature4 = cdData.soilTemperature4==null?null:(0.0D + cdData.soilTemperature4) ; + this.soilTemperature5 = cdData.soilTemperature5==null?null:(0.0D + cdData.soilTemperature5) ; + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmSoilLast.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmSoilLast.java new file mode 100644 index 0000000..105d58e --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmSoilLast.java @@ -0,0 +1,145 @@ +package com.dy.pipIrrGlobal.pojoRm; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.alibaba.fastjson2.writer.ObjectWriterImplToString; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.dy.common.mw.protocol4Mqtt.MqttSubMsg; +import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.ManureVo; +import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.SoilVo; +import com.dy.common.po.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.util.Date; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 10:04 + * @Description + */ +@TableName(value="rm_soil_last", autoResultMap = true) +@Data +@Builder +@ToString +@NoArgsConstructor +@AllArgsConstructor +@Schema(name = "澧掓儏鏈�鏂版暟鎹�") +public class RmSoilLast implements BaseEntity { + + public static final long serialVersionUID = 202506251022001L; + /** + * 涓婚敭 + */ + @Schema(description = "涓婚敭", requiredMode = Schema.RequiredMode.REQUIRED) + @JSONField(serializeUsing= ObjectWriterImplToString.class) + @TableId(type = IdType.INPUT) + public Long id; + + /** + * 鍘嗗彶鏁版嵁琛ㄤ腑鏈�鏂拌褰曠殑澶栭敭id + */ + @Schema(hidden=true) + @JSONField(serialize = false) + public Long lastHistoryId; + + /** + * 澧掓儏绔欏疄浣撳閿甶d + */ + @Schema(description = "澧掓儏绔欏疄浣撳閿甶d", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JSONField(serializeUsing= ObjectWriterImplToString.class) + public Long soilId; + + /** + * 鏁版嵁涓婃姤鏃堕棿锛堝勾鏈堟棩鏃跺垎绉掞級 + */ + @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; + + public void valueFrom(MqttSubMsg msg, SoilVo cdData) throws Exception{ + this.dt = new Date(); + this.soilHumidity1 = cdData.soilHumidity1==null?null:(0.0D + cdData.soilHumidity1) ; + this.soilHumidity2 = cdData.soilHumidity2==null?null:(0.0D + cdData.soilHumidity2) ; + this.soilHumidity3 = cdData.soilHumidity3==null?null:(0.0D + cdData.soilHumidity3) ; + this.soilHumidity4 = cdData.soilHumidity4==null?null:(0.0D + cdData.soilHumidity4) ; + this.soilHumidity5 = cdData.soilHumidity5==null?null:(0.0D + cdData.soilHumidity5) ; + this.soilTemperature1 = cdData.soilTemperature1==null?null:(0.0D + cdData.soilTemperature1) ; + this.soilTemperature2 = cdData.soilTemperature2==null?null:(0.0D + cdData.soilTemperature2) ; + this.soilTemperature3 = cdData.soilTemperature3==null?null:(0.0D + cdData.soilTemperature3) ; + this.soilTemperature4 = cdData.soilTemperature4==null?null:(0.0D + cdData.soilTemperature4) ; + this.soilTemperature5 = cdData.soilTemperature5==null?null:(0.0D + cdData.soilTemperature5) ; + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWeatherHistory.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWeatherHistory.java new file mode 100644 index 0000000..982489d --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWeatherHistory.java @@ -0,0 +1,110 @@ +package com.dy.pipIrrGlobal.pojoRm; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.alibaba.fastjson2.writer.ObjectWriterImplToString; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.dy.common.mw.protocol4Mqtt.MqttSubMsg; +import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.WeatherVo; +import com.dy.common.po.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.util.Date; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 10:39 + * @Description + */ +@TableName(value="rm_weather_history", autoResultMap = true) +@Data +@Builder +@ToString +@NoArgsConstructor +@AllArgsConstructor +@Schema(name = "姘旇薄鍘嗗彶鏁版嵁") +public class RmWeatherHistory implements BaseEntity { + + public static final long serialVersionUID = 202506251035002L; + /** + * 涓婚敭 + */ + @Schema(description = "涓婚敭", requiredMode = Schema.RequiredMode.REQUIRED) + @JSONField(serializeUsing= ObjectWriterImplToString.class) + @TableId(type = IdType.INPUT) + 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) + @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; + + public void valueFrom(MqttSubMsg msg, WeatherVo cdData) throws Exception{ + this.dt = new Date(); + this.airTemperature = cdData.airTemperature==null?null:(0.0D + cdData.airTemperature) ; + this.airHumidity = cdData.airHumidity==null?null:(0.0D + cdData.airHumidity) ; + this.ultraviolet = cdData.ultraviolet ; + this.lightIntensity = cdData.lightIntensity ; + this.rainfall = cdData.rainfall==null?null:(0.0D + cdData.rainfall) ; + this.windSpeed = cdData.windSpeed==null?null:(0.0D + cdData.windSpeed) ; + this.windDirection = cdData.windDirection ; + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWeatherLast.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWeatherLast.java new file mode 100644 index 0000000..bbe7eed --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmWeatherLast.java @@ -0,0 +1,119 @@ +package com.dy.pipIrrGlobal.pojoRm; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.alibaba.fastjson2.writer.ObjectWriterImplToString; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.dy.common.mw.protocol4Mqtt.MqttSubMsg; +import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.SoilVo; +import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.WeatherVo; +import com.dy.common.po.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.util.Date; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 10:04 + * @Description + */ +@TableName(value="rm_weather_last", autoResultMap = true) +@Data +@Builder +@ToString +@NoArgsConstructor +@AllArgsConstructor +@Schema(name = "姘旇薄鏈�鏂版暟鎹�") +public class RmWeatherLast implements BaseEntity { + + public static final long serialVersionUID = 202506251035001L; + /** + * 涓婚敭 + */ + @Schema(description = "涓婚敭", requiredMode = Schema.RequiredMode.REQUIRED) + @JSONField(serializeUsing= ObjectWriterImplToString.class) + @TableId(type = IdType.INPUT) + public Long id; + + /** + * 鍘嗗彶鏁版嵁琛ㄤ腑鏈�鏂拌褰曠殑澶栭敭id + */ + @Schema(hidden=true) + @JSONField(serialize = false) + public Long lastHistoryId; + + /** + * 姘旇薄绔欏疄浣撳閿甶d + */ + @Schema(description = "姘旇薄绔欏疄浣撳閿甶d", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JSONField(serializeUsing= ObjectWriterImplToString.class) + public Long weatherId; + + /** + * 鏁版嵁涓婃姤鏃堕棿锛堝勾鏈堟棩鏃跺垎绉掞級 + */ + @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; + + + public void valueFrom(MqttSubMsg msg, WeatherVo cdData) throws Exception{ + this.dt = new Date(); + this.airTemperature = cdData.airTemperature==null?null:(0.0D + cdData.airTemperature) ; + this.airHumidity = cdData.airHumidity==null?null:(0.0D + cdData.airHumidity) ; + this.ultraviolet = cdData.ultraviolet ; + this.lightIntensity = cdData.lightIntensity ; + this.rainfall = cdData.rainfall==null?null:(0.0D + cdData.rainfall) ; + this.windSpeed = cdData.windSpeed==null?null:(0.0D + cdData.windSpeed) ; + this.windDirection = cdData.windDirection ; + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoManure.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoManure.java new file mode 100644 index 0000000..ceaac69 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoManure.java @@ -0,0 +1,120 @@ +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/25 16:34 + * @Description + */ +@Data +public class VoManure { + public static final long serialVersionUID = 202506251634001L; + + /** + * 璁板綍ID + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + public Long id; + + /** + * 姘磋偉鏈篒D + */ + @Schema(description = "姘磋偉鏈篒D", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JSONField(serializeUsing= ObjectWriterImplToString.class) + public Long manureId; + + /** + * 姘磋偉鏈哄悕绉� + */ + @Schema(description = "姘磋偉鏈哄悕绉�", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Long manureName; + + + /** + * 鏁版嵁涓婃姤鏃堕棿锛堝勾鏈堟棩鏃跺垎绉掞級 + */ + @Schema(description = "鏁版嵁鎺ユ敹鏃ユ湡鏃堕棿", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + public Date dt; + + /** + * 鎼呮媽1杩愯鐘舵��(1杩愯锛�0鍋滄) + */ + @Schema(description = "鎼呮媽1杩愯鐘舵��(1杩愯锛�0鍋滄)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Byte stirRunning1; + + /** + * 鎼呮媽2杩愯鐘舵��(1杩愯锛�0鍋滄) + */ + @Schema(description = "鎼呮媽2杩愯鐘舵��(1杩愯锛�0鍋滄)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Byte stirRunning2; + + /** + * 鎼呮媽3杩愯鐘舵��(1杩愯锛�0鍋滄) + */ + @Schema(description = "鎼呮媽3杩愯鐘舵��(1杩愯锛�0鍋滄)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Byte stirRunning3; + + /** + * 鎼呮媽4杩愯鐘舵��(1杩愯锛�0鍋滄) + */ + @Schema(description = "鎼呮媽4杩愯鐘舵��(1杩愯锛�0鍋滄)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Byte stirRunning4; + + /** + * 娉ㄨ偉杩愯鐘舵��(1杩愯锛�0鍋滄) + */ + @Schema(description = "娉ㄨ偉杩愯鐘舵��(1杩愯锛�0鍋滄)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Byte injectRunning; + + /** + * 鐏屾簤杩愯鐘舵��(1杩愯锛�0鍋滄) + */ + @Schema(description = "鐏屾簤杩愯鐘舵��(1杩愯锛�0鍋滄)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Byte irrRunning; + + /** + * 鎶ヨ锛�1:娉ㄨ偉娉垫湁鏁呴殰锛�0:娉ㄨ偉娉垫病鏈夋晠闅滐級 + */ + @Schema(description = "鎶ヨ锛�1:娉ㄨ偉娉垫湁鏁呴殰锛�0:娉ㄨ偉娉垫病鏈夋晠闅滐級", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Byte alarm; + + /** + * 鑲ユ枡娴侀噺锛堝崌锛� + */ + @Schema(description = "鑲ユ枡娴侀噺锛堝崌锛�", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" ) + public Double manureFlow; + + /** + * 娉ㄨ偉缁忚繃鏃堕棿(绉�) + */ + @Schema(description = "娉ㄨ偉缁忚繃鏃堕棿(绉�)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Integer manureTime; + + /** + * 鎼呮媽缁忚繃鏃堕棿(绉掞級 + */ + @Schema(description = "鎼呮媽缁忚繃鏃堕棿(绉掞級", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Integer stirTime; + + /** + * 鎼呮媽璁惧畾鏃堕棿(绉�) + */ + @Schema(description = "鎼呮媽璁惧畾鏃堕棿(绉�)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Integer stirDuration; + + /** + * 娉ㄨ偉璁惧畾鏃堕棿(绉�) + */ + @Schema(description = "娉ㄨ偉璁惧畾鏃堕棿(绉�)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + public Integer injectDuration; + +} diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrStManureMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrStManureMapper.xml index eed8ceb..210b2c3 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrStManureMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrStManureMapper.xml @@ -88,6 +88,14 @@ </trim> </select> + <!--鏍规嵁FBox搴忓垪鍙峰緱鍒板疄浣撳垪琛�--> + <select id="selectStPoByFBoxIdAndNo" resultMap="BaseResultMap"> + select + <include refid="part_Column_List" /> + FROM pr_st_manure + WHERE deleted = 0 AND fbox_id=#{fbox_id,jdbcType=VARCHAR} AND no=#{fbox_id,jdbcType=INTEGER} + </select> + <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> <!--@mbg.generated--> delete from pr_st_manure diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrStSoilMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrStSoilMapper.xml index f07307c..6d8fdd8 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrStSoilMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrStSoilMapper.xml @@ -86,6 +86,15 @@ </if> </trim> </select> + + <!--鏍规嵁FBox搴忓垪鍙峰緱鍒板疄浣撳垪琛�--> + <select id="selectStPoByFBoxIdAndNo" resultMap="BaseResultMap"> + select + <include refid="part_Column_List" /> + FROM pr_st_soil + WHERE deleted = 0 AND fbox_id=#{fbox_id,jdbcType=VARCHAR} AND no=#{fbox_id,jdbcType=INTEGER} + </select> + <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> <!--@mbg.generated--> delete from pr_st_soil diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrStWeatherMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrStWeatherMapper.xml index 84f86e4..cbf0c66 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrStWeatherMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrStWeatherMapper.xml @@ -80,6 +80,15 @@ </if> </trim> </select> + + <!--鏍规嵁FBox搴忓垪鍙峰緱鍒板疄浣撳垪琛�--> + <select id="selectStPoByFBoxIdAndNo" resultMap="BaseResultMap"> + select + <include refid="part_Column_List" /> + FROM pr_st_weather + WHERE deleted = 0 AND fbox_id=#{fbox_id,jdbcType=VARCHAR} AND no=#{fbox_id,jdbcType=INTEGER} + </select> + <select id="selectAllSimple" resultType="com.dy.pipIrrGlobal.voPr.VoMqttSimple"> <!--@mbg.generated--> select diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmManureHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmManureHistoryMapper.xml new file mode 100644 index 0000000..20cc470 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmManureHistoryMapper.xml @@ -0,0 +1,273 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dy.pipIrrGlobal.daoRm.RmManureHistoryMapper"> + <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmManureHistory"> + <!--@mbg.generated--> + <!--@Table rm_manure_history--> + <id column="id" jdbcType="BIGINT" property="id" /> + <result column="manure_id" jdbcType="BIGINT" property="manureId" /> + <result column="dt" jdbcType="TIMESTAMP" property="dt" /> + <result column="stir_running1" jdbcType="TINYINT" property="stirRunning1" /> + <result column="stir_running2" jdbcType="TINYINT" property="stirRunning2" /> + <result column="stir_running3" jdbcType="TINYINT" property="stirRunning3" /> + <result column="stir_running4" jdbcType="TINYINT" property="stirRunning4" /> + <result column="inject_running" jdbcType="TINYINT" property="injectRunning" /> + <result column="irr_running" jdbcType="TINYINT" property="irrRunning" /> + <result column="alarm" jdbcType="TINYINT" property="alarm" /> + <result column="manure_flow" jdbcType="FLOAT" property="manureFlow" /> + <result column="manure_time" jdbcType="INTEGER" property="manureTime" /> + <result column="stir_time" jdbcType="INTEGER" property="stirTime" /> + <result column="stir_duration" jdbcType="INTEGER" property="stirDuration" /> + <result column="inject_duration" jdbcType="INTEGER" property="injectDuration" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, manure_id, dt, stir_running1, stir_running2, stir_running3, stir_running4, inject_running, + irr_running, alarm, manure_flow, manure_time, stir_time, stir_duration, inject_duration + </sql> + <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> + <!--@mbg.generated--> + select + <include refid="Base_Column_List" /> + from rm_manure_history + where id = #{id,jdbcType=BIGINT} + </select> + <!--鏍规嵁鎸囧畾鏉′欢鏌ヨ鍘嗗彶璁板綍鏁伴噺--> + <select id="selectCount" resultType="java.lang.Long"> + SELECT + COUNT(*) AS recordCount + FROM rm_manure_history htb + INNER JOIN pr_st_manure mtb ON mtb.id = htb.manure_id + <where> + <if test="manureId != null"> + AND htb.manure_id = #{manureId} + </if> + <if test = "no != null"> + AND mtb.no = #{no} + </if> + <if test = "name != null and name !=''"> + AND mtb.name LIKE CONCAT('%',#{intakeNum},'%') + </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.VoManure"> + SELECT + <include refid="Base_Column_List" />, + mtb.`name` AS manureName + FROM rm_manure_history htb + INNER JOIN pr_st_manure mtb ON mtb.id = htb.manure_id + <where> + <if test="manureId != null"> + AND htb.manure_id = #{manureId} + </if> + <if test = "no != null"> + AND mtb.no = #{no} + </if> + <if test = "name != null and name !=''"> + AND mtb.name LIKE CONCAT('%',#{intakeNum},'%') + </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_manure_history + where id = #{id,jdbcType=BIGINT} + </delete> + <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmManureHistory"> + <!--@mbg.generated--> + insert into rm_manure_history (id, manure_id, dt, + stir_running1, stir_running2, stir_running3, + stir_running4, inject_running, irr_running, + alarm, manure_flow, manure_time, + stir_time, stir_duration, inject_duration + ) + values (#{id,jdbcType=BIGINT}, #{manureId,jdbcType=BIGINT}, #{dt,jdbcType=TIMESTAMP}, + #{stirRunning1,jdbcType=TINYINT}, #{stirRunning2,jdbcType=TINYINT}, #{stirRunning3,jdbcType=TINYINT}, + #{stirRunning4,jdbcType=TINYINT}, #{injectRunning,jdbcType=TINYINT}, #{irrRunning,jdbcType=TINYINT}, + #{alarm,jdbcType=TINYINT}, #{manureFlow,jdbcType=FLOAT}, #{manureTime,jdbcType=INTEGER}, + #{stirTime,jdbcType=INTEGER}, #{stirDuration,jdbcType=INTEGER}, #{injectDuration,jdbcType=INTEGER} + ) + </insert> + <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmManureHistory"> + <!--@mbg.generated--> + insert into rm_manure_history + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null"> + id, + </if> + <if test="manureId != null"> + manure_id, + </if> + <if test="dt != null"> + dt, + </if> + <if test="stirRunning1 != null"> + stir_running1, + </if> + <if test="stirRunning2 != null"> + stir_running2, + </if> + <if test="stirRunning3 != null"> + stir_running3, + </if> + <if test="stirRunning4 != null"> + stir_running4, + </if> + <if test="injectRunning != null"> + inject_running, + </if> + <if test="irrRunning != null"> + irr_running, + </if> + <if test="alarm != null"> + alarm, + </if> + <if test="manureFlow != null"> + manure_flow, + </if> + <if test="manureTime != null"> + manure_time, + </if> + <if test="stirTime != null"> + stir_time, + </if> + <if test="stirDuration != null"> + stir_duration, + </if> + <if test="injectDuration != null"> + inject_duration, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null"> + #{id,jdbcType=BIGINT}, + </if> + <if test="manureId != null"> + #{manureId,jdbcType=BIGINT}, + </if> + <if test="dt != null"> + #{dt,jdbcType=TIMESTAMP}, + </if> + <if test="stirRunning1 != null"> + #{stirRunning1,jdbcType=TINYINT}, + </if> + <if test="stirRunning2 != null"> + #{stirRunning2,jdbcType=TINYINT}, + </if> + <if test="stirRunning3 != null"> + #{stirRunning3,jdbcType=TINYINT}, + </if> + <if test="stirRunning4 != null"> + #{stirRunning4,jdbcType=TINYINT}, + </if> + <if test="injectRunning != null"> + #{injectRunning,jdbcType=TINYINT}, + </if> + <if test="irrRunning != null"> + #{irrRunning,jdbcType=TINYINT}, + </if> + <if test="alarm != null"> + #{alarm,jdbcType=TINYINT}, + </if> + <if test="manureFlow != null"> + #{manureFlow,jdbcType=FLOAT}, + </if> + <if test="manureTime != null"> + #{manureTime,jdbcType=INTEGER}, + </if> + <if test="stirTime != null"> + #{stirTime,jdbcType=INTEGER}, + </if> + <if test="stirDuration != null"> + #{stirDuration,jdbcType=INTEGER}, + </if> + <if test="injectDuration != null"> + #{injectDuration,jdbcType=INTEGER}, + </if> + </trim> + </insert> + <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmManureHistory"> + <!--@mbg.generated--> + update rm_manure_history + <set> + <if test="manureId != null"> + manure_id = #{manureId,jdbcType=BIGINT}, + </if> + <if test="dt != null"> + dt = #{dt,jdbcType=TIMESTAMP}, + </if> + <if test="stirRunning1 != null"> + stir_running1 = #{stirRunning1,jdbcType=TINYINT}, + </if> + <if test="stirRunning2 != null"> + stir_running2 = #{stirRunning2,jdbcType=TINYINT}, + </if> + <if test="stirRunning3 != null"> + stir_running3 = #{stirRunning3,jdbcType=TINYINT}, + </if> + <if test="stirRunning4 != null"> + stir_running4 = #{stirRunning4,jdbcType=TINYINT}, + </if> + <if test="injectRunning != null"> + inject_running = #{injectRunning,jdbcType=TINYINT}, + </if> + <if test="irrRunning != null"> + irr_running = #{irrRunning,jdbcType=TINYINT}, + </if> + <if test="alarm != null"> + alarm = #{alarm,jdbcType=TINYINT}, + </if> + <if test="manureFlow != null"> + manure_flow = #{manureFlow,jdbcType=FLOAT}, + </if> + <if test="manureTime != null"> + manure_time = #{manureTime,jdbcType=INTEGER}, + </if> + <if test="stirTime != null"> + stir_time = #{stirTime,jdbcType=INTEGER}, + </if> + <if test="stirDuration != null"> + stir_duration = #{stirDuration,jdbcType=INTEGER}, + </if> + <if test="injectDuration != null"> + inject_duration = #{injectDuration,jdbcType=INTEGER}, + </if> + </set> + where id = #{id,jdbcType=BIGINT} + </update> + <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmManureHistory"> + <!--@mbg.generated--> + update rm_manure_history + set manure_id = #{manureId,jdbcType=BIGINT}, + dt = #{dt,jdbcType=TIMESTAMP}, + stir_running1 = #{stirRunning1,jdbcType=TINYINT}, + stir_running2 = #{stirRunning2,jdbcType=TINYINT}, + stir_running3 = #{stirRunning3,jdbcType=TINYINT}, + stir_running4 = #{stirRunning4,jdbcType=TINYINT}, + inject_running = #{injectRunning,jdbcType=TINYINT}, + irr_running = #{irrRunning,jdbcType=TINYINT}, + alarm = #{alarm,jdbcType=TINYINT}, + manure_flow = #{manureFlow,jdbcType=FLOAT}, + manure_time = #{manureTime,jdbcType=INTEGER}, + stir_time = #{stirTime,jdbcType=INTEGER}, + stir_duration = #{stirDuration,jdbcType=INTEGER}, + inject_duration = #{injectDuration,jdbcType=INTEGER} + where id = #{id,jdbcType=BIGINT} + </update> +</mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmManureLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmManureLastMapper.xml new file mode 100644 index 0000000..c1bbf6f --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmManureLastMapper.xml @@ -0,0 +1,300 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dy.pipIrrGlobal.daoRm.RmManureLastMapper"> + <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmManureLast"> + <!--@mbg.generated--> + <!--@Table rm_manure_last--> + <id column="id" jdbcType="BIGINT" property="id" /> + <result column="last_history_id" jdbcType="BIGINT" property="lastHistoryId" /> + <result column="manure_id" jdbcType="BIGINT" property="manureId" /> + <result column="dt" jdbcType="TIMESTAMP" property="dt" /> + <result column="stir_running1" jdbcType="TINYINT" property="stirRunning1" /> + <result column="stir_running2" jdbcType="TINYINT" property="stirRunning2" /> + <result column="stir_running3" jdbcType="TINYINT" property="stirRunning3" /> + <result column="stir_running4" jdbcType="TINYINT" property="stirRunning4" /> + <result column="inject_running" jdbcType="TINYINT" property="injectRunning" /> + <result column="irr_running" jdbcType="TINYINT" property="irrRunning" /> + <result column="alarm" jdbcType="TINYINT" property="alarm" /> + <result column="manure_flow" jdbcType="FLOAT" property="manureFlow" /> + <result column="manure_time" jdbcType="INTEGER" property="manureTime" /> + <result column="stir_time" jdbcType="INTEGER" property="stirTime" /> + <result column="stir_duration" jdbcType="INTEGER" property="stirDuration" /> + <result column="inject_duration" jdbcType="INTEGER" property="injectDuration" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, last_history_id, manure_id, dt, stir_running1, stir_running2, stir_running3, + stir_running4, inject_running, irr_running, alarm, manure_flow, manure_time, stir_time, + stir_duration, inject_duration + </sql> + <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> + <!--@mbg.generated--> + select + <include refid="Base_Column_List" /> + from rm_manure_last + where id = #{id,jdbcType=BIGINT} + </select> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍--> + <select id="selectRmManureLast" resultType="com.dy.pipIrrGlobal.pojoRm.RmManureLast"> + select + <include refid="Base_Column_List" /> + from rm_manure_last + <where> + <if test="stManureId != null and stManureId != ''"> + and manure_id = #{stManureId} + </if> + </where> + limit 0,1 + </select> + + + <!--鏍规嵁鎸囧畾鏉′欢鏌ヨ鍘嗗彶璁板綍鏁伴噺--> + <select id="selectCount" resultType="java.lang.Long"> + SELECT + COUNT(*) AS recordCount + FROM rm_manure_last ltb + INNER JOIN pr_st_manure mtb ON mtb.id = ltb.manure_id + <where> + <if test="manureId != null"> + AND ltb.manure_id = #{manureId} + </if> + <if test = "no != null"> + AND mtb.no = #{no} + </if> + <if test = "name != null and name !=''"> + AND mtb.name LIKE CONCAT('%',#{intakeNum},'%') + </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.VoManure"> + SELECT + <include refid="Base_Column_List" />, + mtb.`name` AS manureName + FROM rm_manure_last ltb + INNER JOIN pr_st_manure mtb ON mtb.id = ltb.manure_id + <where> + <if test="manureId != null"> + AND ltb.manure_id = #{manureId} + </if> + <if test = "no != null"> + AND mtb.no = #{no} + </if> + <if test = "name != null and name !=''"> + AND mtb.name LIKE CONCAT('%',#{intakeNum},'%') + </if> + <if test = "timeStart != null and timeStop != null"> + AND ltb.dt BETWEEN #{timeStart} AND #{timeStop} + </if> + </where> + ORDER BY ltb.manure_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_manure_last + where id = #{id,jdbcType=BIGINT} + </delete> + <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmManureLast"> + <!--@mbg.generated--> + insert into rm_manure_last (id, last_history_id, manure_id, + dt, stir_running1, stir_running2, + stir_running3, stir_running4, inject_running, + irr_running, alarm, manure_flow, + manure_time, stir_time, stir_duration, + inject_duration) + values (#{id,jdbcType=BIGINT}, #{lastHistoryId,jdbcType=BIGINT}, #{manureId,jdbcType=BIGINT}, + #{dt,jdbcType=TIMESTAMP}, #{stirRunning1,jdbcType=TINYINT}, #{stirRunning2,jdbcType=TINYINT}, + #{stirRunning3,jdbcType=TINYINT}, #{stirRunning4,jdbcType=TINYINT}, #{injectRunning,jdbcType=TINYINT}, + #{irrRunning,jdbcType=TINYINT}, #{alarm,jdbcType=TINYINT}, #{manureFlow,jdbcType=FLOAT}, + #{manureTime,jdbcType=INTEGER}, #{stirTime,jdbcType=INTEGER}, #{stirDuration,jdbcType=INTEGER}, + #{injectDuration,jdbcType=INTEGER}) + </insert> + <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmManureLast"> + <!--@mbg.generated--> + insert into rm_manure_last + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null"> + id, + </if> + <if test="lastHistoryId != null"> + last_history_id, + </if> + <if test="manureId != null"> + manure_id, + </if> + <if test="dt != null"> + dt, + </if> + <if test="stirRunning1 != null"> + stir_running1, + </if> + <if test="stirRunning2 != null"> + stir_running2, + </if> + <if test="stirRunning3 != null"> + stir_running3, + </if> + <if test="stirRunning4 != null"> + stir_running4, + </if> + <if test="injectRunning != null"> + inject_running, + </if> + <if test="irrRunning != null"> + irr_running, + </if> + <if test="alarm != null"> + alarm, + </if> + <if test="manureFlow != null"> + manure_flow, + </if> + <if test="manureTime != null"> + manure_time, + </if> + <if test="stirTime != null"> + stir_time, + </if> + <if test="stirDuration != null"> + stir_duration, + </if> + <if test="injectDuration != null"> + inject_duration, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null"> + #{id,jdbcType=BIGINT}, + </if> + <if test="lastHistoryId != null"> + #{lastHistoryId,jdbcType=BIGINT}, + </if> + <if test="manureId != null"> + #{manureId,jdbcType=BIGINT}, + </if> + <if test="dt != null"> + #{dt,jdbcType=TIMESTAMP}, + </if> + <if test="stirRunning1 != null"> + #{stirRunning1,jdbcType=TINYINT}, + </if> + <if test="stirRunning2 != null"> + #{stirRunning2,jdbcType=TINYINT}, + </if> + <if test="stirRunning3 != null"> + #{stirRunning3,jdbcType=TINYINT}, + </if> + <if test="stirRunning4 != null"> + #{stirRunning4,jdbcType=TINYINT}, + </if> + <if test="injectRunning != null"> + #{injectRunning,jdbcType=TINYINT}, + </if> + <if test="irrRunning != null"> + #{irrRunning,jdbcType=TINYINT}, + </if> + <if test="alarm != null"> + #{alarm,jdbcType=TINYINT}, + </if> + <if test="manureFlow != null"> + #{manureFlow,jdbcType=FLOAT}, + </if> + <if test="manureTime != null"> + #{manureTime,jdbcType=INTEGER}, + </if> + <if test="stirTime != null"> + #{stirTime,jdbcType=INTEGER}, + </if> + <if test="stirDuration != null"> + #{stirDuration,jdbcType=INTEGER}, + </if> + <if test="injectDuration != null"> + #{injectDuration,jdbcType=INTEGER}, + </if> + </trim> + </insert> + <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmManureLast"> + <!--@mbg.generated--> + update rm_manure_last + <set> + <if test="lastHistoryId != null"> + last_history_id = #{lastHistoryId,jdbcType=BIGINT}, + </if> + <if test="manureId != null"> + manure_id = #{manureId,jdbcType=BIGINT}, + </if> + <if test="dt != null"> + dt = #{dt,jdbcType=TIMESTAMP}, + </if> + <if test="stirRunning1 != null"> + stir_running1 = #{stirRunning1,jdbcType=TINYINT}, + </if> + <if test="stirRunning2 != null"> + stir_running2 = #{stirRunning2,jdbcType=TINYINT}, + </if> + <if test="stirRunning3 != null"> + stir_running3 = #{stirRunning3,jdbcType=TINYINT}, + </if> + <if test="stirRunning4 != null"> + stir_running4 = #{stirRunning4,jdbcType=TINYINT}, + </if> + <if test="injectRunning != null"> + inject_running = #{injectRunning,jdbcType=TINYINT}, + </if> + <if test="irrRunning != null"> + irr_running = #{irrRunning,jdbcType=TINYINT}, + </if> + <if test="alarm != null"> + alarm = #{alarm,jdbcType=TINYINT}, + </if> + <if test="manureFlow != null"> + manure_flow = #{manureFlow,jdbcType=FLOAT}, + </if> + <if test="manureTime != null"> + manure_time = #{manureTime,jdbcType=INTEGER}, + </if> + <if test="stirTime != null"> + stir_time = #{stirTime,jdbcType=INTEGER}, + </if> + <if test="stirDuration != null"> + stir_duration = #{stirDuration,jdbcType=INTEGER}, + </if> + <if test="injectDuration != null"> + inject_duration = #{injectDuration,jdbcType=INTEGER}, + </if> + </set> + where id = #{id,jdbcType=BIGINT} + </update> + <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmManureLast"> + <!--@mbg.generated--> + update rm_manure_last + set last_history_id = #{lastHistoryId,jdbcType=BIGINT}, + manure_id = #{manureId,jdbcType=BIGINT}, + dt = #{dt,jdbcType=TIMESTAMP}, + stir_running1 = #{stirRunning1,jdbcType=TINYINT}, + stir_running2 = #{stirRunning2,jdbcType=TINYINT}, + stir_running3 = #{stirRunning3,jdbcType=TINYINT}, + stir_running4 = #{stirRunning4,jdbcType=TINYINT}, + inject_running = #{injectRunning,jdbcType=TINYINT}, + irr_running = #{irrRunning,jdbcType=TINYINT}, + alarm = #{alarm,jdbcType=TINYINT}, + manure_flow = #{manureFlow,jdbcType=FLOAT}, + manure_time = #{manureTime,jdbcType=INTEGER}, + stir_time = #{stirTime,jdbcType=INTEGER}, + stir_duration = #{stirDuration,jdbcType=INTEGER}, + inject_duration = #{injectDuration,jdbcType=INTEGER} + where id = #{id,jdbcType=BIGINT} + </update> +</mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilDayMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilDayMapper.xml new file mode 100644 index 0000000..89a332f --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilDayMapper.xml @@ -0,0 +1,355 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dy.pipIrrGlobal.daoRm.RmSoilDayMapper"> + <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmSoilDay"> + <!--@mbg.generated--> + <!--@Table rm_soil_day--> + <id column="id" jdbcType="BIGINT" property="id" /> + <result column="soil_id" jdbcType="BIGINT" property="soilId" /> + <result column="dt" jdbcType="DATE" property="dt" /> + <result column="ymd" jdbcType="INTEGER" property="ymd" /> + <result column="soil_humidity1" jdbcType="FLOAT" property="soilHumidity1" /> + <result column="soil_humidity2" jdbcType="FLOAT" property="soilHumidity2" /> + <result column="soil_humidity3" jdbcType="FLOAT" property="soilHumidity3" /> + <result column="soil_humidity4" jdbcType="FLOAT" property="soilHumidity4" /> + <result column="soil_humidity5" jdbcType="FLOAT" property="soilHumidity5" /> + <result column="soil_temperature1" jdbcType="FLOAT" property="soilTemperature1" /> + <result column="soil_temperature2" jdbcType="FLOAT" property="soilTemperature2" /> + <result column="soil_temperature3" jdbcType="FLOAT" property="soilTemperature3" /> + <result column="soil_temperature4" jdbcType="FLOAT" property="soilTemperature4" /> + <result column="soil_temperature5" jdbcType="FLOAT" property="soilTemperature5" /> + <result column="times" jdbcType="INTEGER" property="times" /> + <result column="soil_sum_humidity1" jdbcType="FLOAT" property="soilSumHumidity1" /> + <result column="soil_sum_humidity2" jdbcType="FLOAT" property="soilSumHumidity2" /> + <result column="soil_sum_humidity3" jdbcType="FLOAT" property="soilSumHumidity3" /> + <result column="soil_sum_humidity4" jdbcType="FLOAT" property="soilSumHumidity4" /> + <result column="soil_sum_humidity5" jdbcType="FLOAT" property="soilSumHumidity5" /> + <result column="soil_sum_temperature1" jdbcType="FLOAT" property="soilSumTemperature1" /> + <result column="soil_sum_temperature2" jdbcType="FLOAT" property="soilSumTemperature2" /> + <result column="soil_sum_temperature3" jdbcType="FLOAT" property="soilSumTemperature3" /> + <result column="soil_sum_temperature4" jdbcType="FLOAT" property="soilSumTemperature4" /> + <result column="soil_sum_temperature5" jdbcType="FLOAT" property="soilSumTemperature5" /> + </resultMap> + <sql id="Base_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, times, soil_sum_humidity1, soil_sum_humidity2, soil_sum_humidity3, + soil_sum_humidity4, soil_sum_humidity5, soil_sum_temperature1, soil_sum_temperature2, + soil_sum_temperature3, soil_sum_temperature4, soil_sum_temperature5 + </sql> + <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> + <!--@mbg.generated--> + select + <include refid="Base_Column_List" /> + from rm_soil_day + where id = #{id,jdbcType=BIGINT} + </select> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍--> + <select id="selectRmSoilDay" resultType="com.dy.pipIrrGlobal.pojoRm.RmSoilDay"> + select + <include refid="Base_Column_List" /> + from rm_soil_day + <where> + <if test="stSoilId != null and stSoilId != ''"> + and soil_id = #{stSoilId} + </if> + <if test="ymd != null and ymd != ''"> + and ymd = #{ymd} + </if> + </where> + limit 0,1 + </select> + + <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> + <!--@mbg.generated--> + delete from rm_soil_day + where id = #{id,jdbcType=BIGINT} + </delete> + <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmSoilDay"> + <!--@mbg.generated--> + insert into rm_soil_day (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, + times, soil_sum_humidity1, soil_sum_humidity2, + soil_sum_humidity3, soil_sum_humidity4, soil_sum_humidity5, + soil_sum_temperature1, soil_sum_temperature2, soil_sum_temperature3, + soil_sum_temperature4, soil_sum_temperature5) + values (#{id,jdbcType=BIGINT}, #{soilId,jdbcType=BIGINT}, #{dt,jdbcType=DATE}, #{ymd,jdbcType=INTEGER}, #{soilHumidity1,jdbcType=FLOAT}, + #{soilHumidity2,jdbcType=FLOAT}, #{soilHumidity3,jdbcType=FLOAT}, #{soilHumidity4,jdbcType=FLOAT}, + #{soilHumidity5,jdbcType=FLOAT}, #{soilTemperature1,jdbcType=FLOAT}, #{soilTemperature2,jdbcType=FLOAT}, + #{soilTemperature3,jdbcType=FLOAT}, #{soilTemperature4,jdbcType=FLOAT}, #{soilTemperature5,jdbcType=FLOAT}, + #{times,jdbcType=INTEGER}, #{soilSumHumidity1,jdbcType=FLOAT}, #{soilSumHumidity2,jdbcType=FLOAT}, + #{soilSumHumidity3,jdbcType=FLOAT}, #{soilSumHumidity4,jdbcType=FLOAT}, #{soilSumHumidity5,jdbcType=FLOAT}, + #{soilSumTemperature1,jdbcType=FLOAT}, #{soilSumTemperature2,jdbcType=FLOAT}, #{soilSumTemperature3,jdbcType=FLOAT}, + #{soilSumTemperature4,jdbcType=FLOAT}, #{soilSumTemperature5,jdbcType=FLOAT}) + </insert> + <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmSoilDay"> + <!--@mbg.generated--> + insert into rm_soil_day + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null"> + id, + </if> + <if test="soilId != null"> + soil_id, + </if> + <if test="dt != null"> + dt, + </if> + <if test="ymd != null"> + ymd, + </if> + <if test="soilHumidity1 != null"> + soil_humidity1, + </if> + <if test="soilHumidity2 != null"> + soil_humidity2, + </if> + <if test="soilHumidity3 != null"> + soil_humidity3, + </if> + <if test="soilHumidity4 != null"> + soil_humidity4, + </if> + <if test="soilHumidity5 != null"> + soil_humidity5, + </if> + <if test="soilTemperature1 != null"> + soil_temperature1, + </if> + <if test="soilTemperature2 != null"> + soil_temperature2, + </if> + <if test="soilTemperature3 != null"> + soil_temperature3, + </if> + <if test="soilTemperature4 != null"> + soil_temperature4, + </if> + <if test="soilTemperature5 != null"> + soil_temperature5, + </if> + <if test="times != null"> + times, + </if> + <if test="soilSumHumidity1 != null"> + soil_sum_humidity1, + </if> + <if test="soilSumHumidity2 != null"> + soil_sum_humidity2, + </if> + <if test="soilSumHumidity3 != null"> + soil_sum_humidity3, + </if> + <if test="soilSumHumidity4 != null"> + soil_sum_humidity4, + </if> + <if test="soilSumHumidity5 != null"> + soil_sum_humidity5, + </if> + <if test="soilSumTemperature1 != null"> + soil_sum_temperature1, + </if> + <if test="soilSumTemperature2 != null"> + soil_sum_temperature2, + </if> + <if test="soilSumTemperature3 != null"> + soil_sum_temperature3, + </if> + <if test="soilSumTemperature4 != null"> + soil_sum_temperature4, + </if> + <if test="soilSumTemperature5 != null"> + soil_sum_temperature5, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null"> + #{id,jdbcType=BIGINT}, + </if> + <if test="soilId != null"> + #{soilId,jdbcType=BIGINT}, + </if> + <if test="dt != null"> + #{dt,jdbcType=DATE}, + </if> + <if test="ymd != null"> + #{ymd,jdbcType=INTEGER}, + </if> + <if test="soilHumidity1 != null"> + #{soilHumidity1,jdbcType=FLOAT}, + </if> + <if test="soilHumidity2 != null"> + #{soilHumidity2,jdbcType=FLOAT}, + </if> + <if test="soilHumidity3 != null"> + #{soilHumidity3,jdbcType=FLOAT}, + </if> + <if test="soilHumidity4 != null"> + #{soilHumidity4,jdbcType=FLOAT}, + </if> + <if test="soilHumidity5 != null"> + #{soilHumidity5,jdbcType=FLOAT}, + </if> + <if test="soilTemperature1 != null"> + #{soilTemperature1,jdbcType=FLOAT}, + </if> + <if test="soilTemperature2 != null"> + #{soilTemperature2,jdbcType=FLOAT}, + </if> + <if test="soilTemperature3 != null"> + #{soilTemperature3,jdbcType=FLOAT}, + </if> + <if test="soilTemperature4 != null"> + #{soilTemperature4,jdbcType=FLOAT}, + </if> + <if test="soilTemperature5 != null"> + #{soilTemperature5,jdbcType=FLOAT}, + </if> + <if test="times != null"> + #{times,jdbcType=INTEGER}, + </if> + <if test="soilSumHumidity1 != null"> + #{soilSumHumidity1,jdbcType=FLOAT}, + </if> + <if test="soilSumHumidity2 != null"> + #{soilSumHumidity2,jdbcType=FLOAT}, + </if> + <if test="soilSumHumidity3 != null"> + #{soilSumHumidity3,jdbcType=FLOAT}, + </if> + <if test="soilSumHumidity4 != null"> + #{soilSumHumidity4,jdbcType=FLOAT}, + </if> + <if test="soilSumHumidity5 != null"> + #{soilSumHumidity5,jdbcType=FLOAT}, + </if> + <if test="soilSumTemperature1 != null"> + #{soilSumTemperature1,jdbcType=FLOAT}, + </if> + <if test="soilSumTemperature2 != null"> + #{soilSumTemperature2,jdbcType=FLOAT}, + </if> + <if test="soilSumTemperature3 != null"> + #{soilSumTemperature3,jdbcType=FLOAT}, + </if> + <if test="soilSumTemperature4 != null"> + #{soilSumTemperature4,jdbcType=FLOAT}, + </if> + <if test="soilSumTemperature5 != null"> + #{soilSumTemperature5,jdbcType=FLOAT}, + </if> + </trim> + </insert> + <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmSoilDay"> + <!--@mbg.generated--> + update rm_soil_day + <set> + <if test="soilId != null"> + soil_id = #{soilId,jdbcType=BIGINT}, + </if> + <if test="dt != null"> + dt = #{dt,jdbcType=DATE}, + </if> + <if test="ymd != null"> + ymd = #{ymd,jdbcType=INTEGER}, + </if> + <if test="soilHumidity1 != null"> + soil_humidity1 = #{soilHumidity1,jdbcType=FLOAT}, + </if> + <if test="soilHumidity2 != null"> + soil_humidity2 = #{soilHumidity2,jdbcType=FLOAT}, + </if> + <if test="soilHumidity3 != null"> + soil_humidity3 = #{soilHumidity3,jdbcType=FLOAT}, + </if> + <if test="soilHumidity4 != null"> + soil_humidity4 = #{soilHumidity4,jdbcType=FLOAT}, + </if> + <if test="soilHumidity5 != null"> + soil_humidity5 = #{soilHumidity5,jdbcType=FLOAT}, + </if> + <if test="soilTemperature1 != null"> + soil_temperature1 = #{soilTemperature1,jdbcType=FLOAT}, + </if> + <if test="soilTemperature2 != null"> + soil_temperature2 = #{soilTemperature2,jdbcType=FLOAT}, + </if> + <if test="soilTemperature3 != null"> + soil_temperature3 = #{soilTemperature3,jdbcType=FLOAT}, + </if> + <if test="soilTemperature4 != null"> + soil_temperature4 = #{soilTemperature4,jdbcType=FLOAT}, + </if> + <if test="soilTemperature5 != null"> + soil_temperature5 = #{soilTemperature5,jdbcType=FLOAT}, + </if> + <if test="times != null"> + times = #{times,jdbcType=INTEGER}, + </if> + <if test="soilSumHumidity1 != null"> + soil_sum_humidity1 = #{soilSumHumidity1,jdbcType=FLOAT}, + </if> + <if test="soilSumHumidity2 != null"> + soil_sum_humidity2 = #{soilSumHumidity2,jdbcType=FLOAT}, + </if> + <if test="soilSumHumidity3 != null"> + soil_sum_humidity3 = #{soilSumHumidity3,jdbcType=FLOAT}, + </if> + <if test="soilSumHumidity4 != null"> + soil_sum_humidity4 = #{soilSumHumidity4,jdbcType=FLOAT}, + </if> + <if test="soilSumHumidity5 != null"> + soil_sum_humidity5 = #{soilSumHumidity5,jdbcType=FLOAT}, + </if> + <if test="soilSumTemperature1 != null"> + soil_sum_temperature1 = #{soilSumTemperature1,jdbcType=FLOAT}, + </if> + <if test="soilSumTemperature2 != null"> + soil_sum_temperature2 = #{soilSumTemperature2,jdbcType=FLOAT}, + </if> + <if test="soilSumTemperature3 != null"> + soil_sum_temperature3 = #{soilSumTemperature3,jdbcType=FLOAT}, + </if> + <if test="soilSumTemperature4 != null"> + soil_sum_temperature4 = #{soilSumTemperature4,jdbcType=FLOAT}, + </if> + <if test="soilSumTemperature5 != null"> + soil_sum_temperature5 = #{soilSumTemperature5,jdbcType=FLOAT}, + </if> + </set> + where id = #{id,jdbcType=BIGINT} + </update> + <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmSoilDay"> + <!--@mbg.generated--> + update rm_soil_day + set soil_id = #{soilId,jdbcType=BIGINT}, + dt = #{dt,jdbcType=DATE}, + ymd = #{ymd,jdbcType=INTEGER}, + soil_humidity1 = #{soilHumidity1,jdbcType=FLOAT}, + soil_humidity2 = #{soilHumidity2,jdbcType=FLOAT}, + soil_humidity3 = #{soilHumidity3,jdbcType=FLOAT}, + soil_humidity4 = #{soilHumidity4,jdbcType=FLOAT}, + soil_humidity5 = #{soilHumidity5,jdbcType=FLOAT}, + soil_temperature1 = #{soilTemperature1,jdbcType=FLOAT}, + soil_temperature2 = #{soilTemperature2,jdbcType=FLOAT}, + soil_temperature3 = #{soilTemperature3,jdbcType=FLOAT}, + soil_temperature4 = #{soilTemperature4,jdbcType=FLOAT}, + soil_temperature5 = #{soilTemperature5,jdbcType=FLOAT}, + times = #{times,jdbcType=INTEGER}, + soil_sum_humidity1 = #{soilSumHumidity1,jdbcType=FLOAT}, + soil_sum_humidity2 = #{soilSumHumidity2,jdbcType=FLOAT}, + soil_sum_humidity3 = #{soilSumHumidity3,jdbcType=FLOAT}, + soil_sum_humidity4 = #{soilSumHumidity4,jdbcType=FLOAT}, + soil_sum_humidity5 = #{soilSumHumidity5,jdbcType=FLOAT}, + soil_sum_temperature1 = #{soilSumTemperature1,jdbcType=FLOAT}, + soil_sum_temperature2 = #{soilSumTemperature2,jdbcType=FLOAT}, + soil_sum_temperature3 = #{soilSumTemperature3,jdbcType=FLOAT}, + soil_sum_temperature4 = #{soilSumTemperature4,jdbcType=FLOAT}, + soil_sum_temperature5 = #{soilSumTemperature5,jdbcType=FLOAT} + where id = #{id,jdbcType=BIGINT} + </update> +</mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilHistoryMapper.xml new file mode 100644 index 0000000..4a66ef7 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilHistoryMapper.xml @@ -0,0 +1,198 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dy.pipIrrGlobal.daoRm.RmSoilHistoryMapper"> + <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmSoilHistory"> + <!--@mbg.generated--> + <!--@Table rm_soil_history--> + <id column="id" jdbcType="BIGINT" property="id" /> + <result column="soil_id" jdbcType="BIGINT" property="soilId" /> + <result column="dt" jdbcType="TIMESTAMP" property="dt" /> + <result column="soil_humidity1" jdbcType="FLOAT" property="soilHumidity1" /> + <result column="soil_humidity2" jdbcType="FLOAT" property="soilHumidity2" /> + <result column="soil_humidity3" jdbcType="FLOAT" property="soilHumidity3" /> + <result column="soil_humidity4" jdbcType="FLOAT" property="soilHumidity4" /> + <result column="soil_humidity5" jdbcType="FLOAT" property="soilHumidity5" /> + <result column="soil_temperature1" jdbcType="FLOAT" property="soilTemperature1" /> + <result column="soil_temperature2" jdbcType="FLOAT" property="soilTemperature2" /> + <result column="soil_temperature3" jdbcType="FLOAT" property="soilTemperature3" /> + <result column="soil_temperature4" jdbcType="FLOAT" property="soilTemperature4" /> + <result column="soil_temperature5" jdbcType="FLOAT" property="soilTemperature5" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, soil_id, dt, 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 + <include refid="Base_Column_List" /> + from rm_soil_history + where id = #{id,jdbcType=BIGINT} + </select> + <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> + <!--@mbg.generated--> + delete from rm_soil_history + where id = #{id,jdbcType=BIGINT} + </delete> + <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmSoilHistory"> + <!--@mbg.generated--> + insert into rm_soil_history (id, soil_id, dt, + soil_humidity1, soil_humidity2, soil_humidity3, + soil_humidity4, soil_humidity5, soil_temperature1, + soil_temperature2, soil_temperature3, soil_temperature4, + soil_temperature5) + values (#{id,jdbcType=BIGINT}, #{soilId,jdbcType=BIGINT}, #{dt,jdbcType=TIMESTAMP}, + #{soilHumidity1,jdbcType=FLOAT}, #{soilHumidity2,jdbcType=FLOAT}, #{soilHumidity3,jdbcType=FLOAT}, + #{soilHumidity4,jdbcType=FLOAT}, #{soilHumidity5,jdbcType=FLOAT}, #{soilTemperature1,jdbcType=FLOAT}, + #{soilTemperature2,jdbcType=FLOAT}, #{soilTemperature3,jdbcType=FLOAT}, #{soilTemperature4,jdbcType=FLOAT}, + #{soilTemperature5,jdbcType=FLOAT}) + </insert> + <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmSoilHistory"> + <!--@mbg.generated--> + insert into rm_soil_history + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null"> + id, + </if> + <if test="soilId != null"> + soil_id, + </if> + <if test="dt != null"> + dt, + </if> + <if test="soilHumidity1 != null"> + soil_humidity1, + </if> + <if test="soilHumidity2 != null"> + soil_humidity2, + </if> + <if test="soilHumidity3 != null"> + soil_humidity3, + </if> + <if test="soilHumidity4 != null"> + soil_humidity4, + </if> + <if test="soilHumidity5 != null"> + soil_humidity5, + </if> + <if test="soilTemperature1 != null"> + soil_temperature1, + </if> + <if test="soilTemperature2 != null"> + soil_temperature2, + </if> + <if test="soilTemperature3 != null"> + soil_temperature3, + </if> + <if test="soilTemperature4 != null"> + soil_temperature4, + </if> + <if test="soilTemperature5 != null"> + soil_temperature5, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null"> + #{id,jdbcType=BIGINT}, + </if> + <if test="soilId != null"> + #{soilId,jdbcType=BIGINT}, + </if> + <if test="dt != null"> + #{dt,jdbcType=TIMESTAMP}, + </if> + <if test="soilHumidity1 != null"> + #{soilHumidity1,jdbcType=FLOAT}, + </if> + <if test="soilHumidity2 != null"> + #{soilHumidity2,jdbcType=FLOAT}, + </if> + <if test="soilHumidity3 != null"> + #{soilHumidity3,jdbcType=FLOAT}, + </if> + <if test="soilHumidity4 != null"> + #{soilHumidity4,jdbcType=FLOAT}, + </if> + <if test="soilHumidity5 != null"> + #{soilHumidity5,jdbcType=FLOAT}, + </if> + <if test="soilTemperature1 != null"> + #{soilTemperature1,jdbcType=FLOAT}, + </if> + <if test="soilTemperature2 != null"> + #{soilTemperature2,jdbcType=FLOAT}, + </if> + <if test="soilTemperature3 != null"> + #{soilTemperature3,jdbcType=FLOAT}, + </if> + <if test="soilTemperature4 != null"> + #{soilTemperature4,jdbcType=FLOAT}, + </if> + <if test="soilTemperature5 != null"> + #{soilTemperature5,jdbcType=FLOAT}, + </if> + </trim> + </insert> + <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmSoilHistory"> + <!--@mbg.generated--> + update rm_soil_history + <set> + <if test="soilId != null"> + soil_id = #{soilId,jdbcType=BIGINT}, + </if> + <if test="dt != null"> + dt = #{dt,jdbcType=TIMESTAMP}, + </if> + <if test="soilHumidity1 != null"> + soil_humidity1 = #{soilHumidity1,jdbcType=FLOAT}, + </if> + <if test="soilHumidity2 != null"> + soil_humidity2 = #{soilHumidity2,jdbcType=FLOAT}, + </if> + <if test="soilHumidity3 != null"> + soil_humidity3 = #{soilHumidity3,jdbcType=FLOAT}, + </if> + <if test="soilHumidity4 != null"> + soil_humidity4 = #{soilHumidity4,jdbcType=FLOAT}, + </if> + <if test="soilHumidity5 != null"> + soil_humidity5 = #{soilHumidity5,jdbcType=FLOAT}, + </if> + <if test="soilTemperature1 != null"> + soil_temperature1 = #{soilTemperature1,jdbcType=FLOAT}, + </if> + <if test="soilTemperature2 != null"> + soil_temperature2 = #{soilTemperature2,jdbcType=FLOAT}, + </if> + <if test="soilTemperature3 != null"> + soil_temperature3 = #{soilTemperature3,jdbcType=FLOAT}, + </if> + <if test="soilTemperature4 != null"> + soil_temperature4 = #{soilTemperature4,jdbcType=FLOAT}, + </if> + <if test="soilTemperature5 != null"> + soil_temperature5 = #{soilTemperature5,jdbcType=FLOAT}, + </if> + </set> + where id = #{id,jdbcType=BIGINT} + </update> + <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmSoilHistory"> + <!--@mbg.generated--> + update rm_soil_history + set soil_id = #{soilId,jdbcType=BIGINT}, + dt = #{dt,jdbcType=TIMESTAMP}, + soil_humidity1 = #{soilHumidity1,jdbcType=FLOAT}, + soil_humidity2 = #{soilHumidity2,jdbcType=FLOAT}, + soil_humidity3 = #{soilHumidity3,jdbcType=FLOAT}, + soil_humidity4 = #{soilHumidity4,jdbcType=FLOAT}, + soil_humidity5 = #{soilHumidity5,jdbcType=FLOAT}, + soil_temperature1 = #{soilTemperature1,jdbcType=FLOAT}, + soil_temperature2 = #{soilTemperature2,jdbcType=FLOAT}, + soil_temperature3 = #{soilTemperature3,jdbcType=FLOAT}, + soil_temperature4 = #{soilTemperature4,jdbcType=FLOAT}, + soil_temperature5 = #{soilTemperature5,jdbcType=FLOAT} + where id = #{id,jdbcType=BIGINT} + </update> +</mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilLastMapper.xml new file mode 100644 index 0000000..2e10b41 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmSoilLastMapper.xml @@ -0,0 +1,222 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dy.pipIrrGlobal.daoRm.RmSoilLastMapper"> + <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmSoilLast"> + <!--@mbg.generated--> + <!--@Table rm_soil_last--> + <id column="id" jdbcType="BIGINT" property="id" /> + <result column="last_history_id" jdbcType="BIGINT" property="lastHistoryId" /> + <result column="soil_id" jdbcType="BIGINT" property="soilId" /> + <result column="dt" jdbcType="TIMESTAMP" property="dt" /> + <result column="soil_humidity1" jdbcType="FLOAT" property="soilHumidity1" /> + <result column="soil_humidity2" jdbcType="FLOAT" property="soilHumidity2" /> + <result column="soil_humidity3" jdbcType="FLOAT" property="soilHumidity3" /> + <result column="soil_humidity4" jdbcType="FLOAT" property="soilHumidity4" /> + <result column="soil_humidity5" jdbcType="FLOAT" property="soilHumidity5" /> + <result column="soil_temperature1" jdbcType="FLOAT" property="soilTemperature1" /> + <result column="soil_temperature2" jdbcType="FLOAT" property="soilTemperature2" /> + <result column="soil_temperature3" jdbcType="FLOAT" property="soilTemperature3" /> + <result column="soil_temperature4" jdbcType="FLOAT" property="soilTemperature4" /> + <result column="soil_temperature5" jdbcType="FLOAT" property="soilTemperature5" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, last_history_id, soil_id, dt, 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 + <include refid="Base_Column_List" /> + from rm_soil_last + where id = #{id,jdbcType=BIGINT} + </select> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍--> + <select id="selectRmSoilLast" resultType="com.dy.pipIrrGlobal.pojoRm.RmSoilLast"> + select + <include refid="Base_Column_List" /> + from rm_soil_last + <where> + <if test="stSoilId != null and stSoilId != ''"> + and soil_id = #{stSoilId} + </if> + </where> + limit 0,1 + </select> + <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> + <!--@mbg.generated--> + delete from rm_soil_last + where id = #{id,jdbcType=BIGINT} + </delete> + <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmSoilLast"> + <!--@mbg.generated--> + insert into rm_soil_last (id, last_history_id, soil_id, + dt, soil_humidity1, soil_humidity2, + soil_humidity3, soil_humidity4, soil_humidity5, + soil_temperature1, soil_temperature2, soil_temperature3, + soil_temperature4, soil_temperature5) + values (#{id,jdbcType=BIGINT}, #{lastHistoryId,jdbcType=BIGINT}, #{soilId,jdbcType=BIGINT}, + #{dt,jdbcType=TIMESTAMP}, #{soilHumidity1,jdbcType=FLOAT}, #{soilHumidity2,jdbcType=FLOAT}, + #{soilHumidity3,jdbcType=FLOAT}, #{soilHumidity4,jdbcType=FLOAT}, #{soilHumidity5,jdbcType=FLOAT}, + #{soilTemperature1,jdbcType=FLOAT}, #{soilTemperature2,jdbcType=FLOAT}, #{soilTemperature3,jdbcType=FLOAT}, + #{soilTemperature4,jdbcType=FLOAT}, #{soilTemperature5,jdbcType=FLOAT}) + </insert> + <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmSoilLast"> + <!--@mbg.generated--> + insert into rm_soil_last + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null"> + id, + </if> + <if test="lastHistoryId != null"> + last_history_id, + </if> + <if test="soilId != null"> + soil_id, + </if> + <if test="dt != null"> + dt, + </if> + <if test="soilHumidity1 != null"> + soil_humidity1, + </if> + <if test="soilHumidity2 != null"> + soil_humidity2, + </if> + <if test="soilHumidity3 != null"> + soil_humidity3, + </if> + <if test="soilHumidity4 != null"> + soil_humidity4, + </if> + <if test="soilHumidity5 != null"> + soil_humidity5, + </if> + <if test="soilTemperature1 != null"> + soil_temperature1, + </if> + <if test="soilTemperature2 != null"> + soil_temperature2, + </if> + <if test="soilTemperature3 != null"> + soil_temperature3, + </if> + <if test="soilTemperature4 != null"> + soil_temperature4, + </if> + <if test="soilTemperature5 != null"> + soil_temperature5, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null"> + #{id,jdbcType=BIGINT}, + </if> + <if test="lastHistoryId != null"> + #{lastHistoryId,jdbcType=BIGINT}, + </if> + <if test="soilId != null"> + #{soilId,jdbcType=BIGINT}, + </if> + <if test="dt != null"> + #{dt,jdbcType=TIMESTAMP}, + </if> + <if test="soilHumidity1 != null"> + #{soilHumidity1,jdbcType=FLOAT}, + </if> + <if test="soilHumidity2 != null"> + #{soilHumidity2,jdbcType=FLOAT}, + </if> + <if test="soilHumidity3 != null"> + #{soilHumidity3,jdbcType=FLOAT}, + </if> + <if test="soilHumidity4 != null"> + #{soilHumidity4,jdbcType=FLOAT}, + </if> + <if test="soilHumidity5 != null"> + #{soilHumidity5,jdbcType=FLOAT}, + </if> + <if test="soilTemperature1 != null"> + #{soilTemperature1,jdbcType=FLOAT}, + </if> + <if test="soilTemperature2 != null"> + #{soilTemperature2,jdbcType=FLOAT}, + </if> + <if test="soilTemperature3 != null"> + #{soilTemperature3,jdbcType=FLOAT}, + </if> + <if test="soilTemperature4 != null"> + #{soilTemperature4,jdbcType=FLOAT}, + </if> + <if test="soilTemperature5 != null"> + #{soilTemperature5,jdbcType=FLOAT}, + </if> + </trim> + </insert> + <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmSoilLast"> + <!--@mbg.generated--> + update rm_soil_last + <set> + <if test="lastHistoryId != null"> + last_history_id = #{lastHistoryId,jdbcType=BIGINT}, + </if> + <if test="soilId != null"> + soil_id = #{soilId,jdbcType=BIGINT}, + </if> + <if test="dt != null"> + dt = #{dt,jdbcType=TIMESTAMP}, + </if> + <if test="soilHumidity1 != null"> + soil_humidity1 = #{soilHumidity1,jdbcType=FLOAT}, + </if> + <if test="soilHumidity2 != null"> + soil_humidity2 = #{soilHumidity2,jdbcType=FLOAT}, + </if> + <if test="soilHumidity3 != null"> + soil_humidity3 = #{soilHumidity3,jdbcType=FLOAT}, + </if> + <if test="soilHumidity4 != null"> + soil_humidity4 = #{soilHumidity4,jdbcType=FLOAT}, + </if> + <if test="soilHumidity5 != null"> + soil_humidity5 = #{soilHumidity5,jdbcType=FLOAT}, + </if> + <if test="soilTemperature1 != null"> + soil_temperature1 = #{soilTemperature1,jdbcType=FLOAT}, + </if> + <if test="soilTemperature2 != null"> + soil_temperature2 = #{soilTemperature2,jdbcType=FLOAT}, + </if> + <if test="soilTemperature3 != null"> + soil_temperature3 = #{soilTemperature3,jdbcType=FLOAT}, + </if> + <if test="soilTemperature4 != null"> + soil_temperature4 = #{soilTemperature4,jdbcType=FLOAT}, + </if> + <if test="soilTemperature5 != null"> + soil_temperature5 = #{soilTemperature5,jdbcType=FLOAT}, + </if> + </set> + where id = #{id,jdbcType=BIGINT} + </update> + <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmSoilLast"> + <!--@mbg.generated--> + update rm_soil_last + set last_history_id = #{lastHistoryId,jdbcType=BIGINT}, + soil_id = #{soilId,jdbcType=BIGINT}, + dt = #{dt,jdbcType=TIMESTAMP}, + soil_humidity1 = #{soilHumidity1,jdbcType=FLOAT}, + soil_humidity2 = #{soilHumidity2,jdbcType=FLOAT}, + soil_humidity3 = #{soilHumidity3,jdbcType=FLOAT}, + soil_humidity4 = #{soilHumidity4,jdbcType=FLOAT}, + soil_humidity5 = #{soilHumidity5,jdbcType=FLOAT}, + soil_temperature1 = #{soilTemperature1,jdbcType=FLOAT}, + soil_temperature2 = #{soilTemperature2,jdbcType=FLOAT}, + soil_temperature3 = #{soilTemperature3,jdbcType=FLOAT}, + soil_temperature4 = #{soilTemperature4,jdbcType=FLOAT}, + soil_temperature5 = #{soilTemperature5,jdbcType=FLOAT} + where id = #{id,jdbcType=BIGINT} + </update> +</mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWeatherHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWeatherHistoryMapper.xml new file mode 100644 index 0000000..c241300 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWeatherHistoryMapper.xml @@ -0,0 +1,162 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dy.pipIrrGlobal.daoRm.RmWeatherHistoryMapper"> + <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmWeatherHistory"> + <!--@mbg.generated--> + <!--@Table rm_weather_history--> + <id column="id" jdbcType="BIGINT" property="id" /> + <result column="weather_id" jdbcType="BIGINT" property="weatherId" /> + <result column="dt" jdbcType="TIMESTAMP" property="dt" /> + <result column="air_temperature" jdbcType="FLOAT" property="airTemperature" /> + <result column="air_humidity" jdbcType="FLOAT" property="airHumidity" /> + <result column="ultraviolet" jdbcType="INTEGER" property="ultraviolet" /> + <result column="light_intensity" jdbcType="INTEGER" property="lightIntensity" /> + <result column="rainfall" jdbcType="FLOAT" property="rainfall" /> + <result column="wind_speed" jdbcType="FLOAT" property="windSpeed" /> + <result column="wind_direction" jdbcType="INTEGER" property="windDirection" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, weather_id, dt, air_temperature, air_humidity, ultraviolet, light_intensity, + rainfall, wind_speed, wind_direction + </sql> + <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> + <!--@mbg.generated--> + select + <include refid="Base_Column_List" /> + from rm_weather_history + where id = #{id,jdbcType=BIGINT} + </select> + <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> + <!--@mbg.generated--> + delete from rm_weather_history + where id = #{id,jdbcType=BIGINT} + </delete> + <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmWeatherHistory"> + <!--@mbg.generated--> + insert into rm_weather_history (id, weather_id, dt, + air_temperature, air_humidity, ultraviolet, + light_intensity, rainfall, wind_speed, + wind_direction) + values (#{id,jdbcType=BIGINT}, #{weatherId,jdbcType=BIGINT}, #{dt,jdbcType=TIMESTAMP}, + #{airTemperature,jdbcType=FLOAT}, #{airHumidity,jdbcType=FLOAT}, #{ultraviolet,jdbcType=INTEGER}, + #{lightIntensity,jdbcType=INTEGER}, #{rainfall,jdbcType=FLOAT}, #{windSpeed,jdbcType=FLOAT}, + #{windDirection,jdbcType=INTEGER}) + </insert> + <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmWeatherHistory"> + <!--@mbg.generated--> + insert into rm_weather_history + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null"> + id, + </if> + <if test="weatherId != null"> + weather_id, + </if> + <if test="dt != null"> + dt, + </if> + <if test="airTemperature != null"> + air_temperature, + </if> + <if test="airHumidity != null"> + air_humidity, + </if> + <if test="ultraviolet != null"> + ultraviolet, + </if> + <if test="lightIntensity != null"> + light_intensity, + </if> + <if test="rainfall != null"> + rainfall, + </if> + <if test="windSpeed != null"> + wind_speed, + </if> + <if test="windDirection != null"> + wind_direction, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null"> + #{id,jdbcType=BIGINT}, + </if> + <if test="weatherId != null"> + #{weatherId,jdbcType=BIGINT}, + </if> + <if test="dt != null"> + #{dt,jdbcType=TIMESTAMP}, + </if> + <if test="airTemperature != null"> + #{airTemperature,jdbcType=FLOAT}, + </if> + <if test="airHumidity != null"> + #{airHumidity,jdbcType=FLOAT}, + </if> + <if test="ultraviolet != null"> + #{ultraviolet,jdbcType=INTEGER}, + </if> + <if test="lightIntensity != null"> + #{lightIntensity,jdbcType=INTEGER}, + </if> + <if test="rainfall != null"> + #{rainfall,jdbcType=FLOAT}, + </if> + <if test="windSpeed != null"> + #{windSpeed,jdbcType=FLOAT}, + </if> + <if test="windDirection != null"> + #{windDirection,jdbcType=INTEGER}, + </if> + </trim> + </insert> + <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmWeatherHistory"> + <!--@mbg.generated--> + update rm_weather_history + <set> + <if test="weatherId != null"> + weather_id = #{weatherId,jdbcType=BIGINT}, + </if> + <if test="dt != null"> + dt = #{dt,jdbcType=TIMESTAMP}, + </if> + <if test="airTemperature != null"> + air_temperature = #{airTemperature,jdbcType=FLOAT}, + </if> + <if test="airHumidity != null"> + air_humidity = #{airHumidity,jdbcType=FLOAT}, + </if> + <if test="ultraviolet != null"> + ultraviolet = #{ultraviolet,jdbcType=INTEGER}, + </if> + <if test="lightIntensity != null"> + light_intensity = #{lightIntensity,jdbcType=INTEGER}, + </if> + <if test="rainfall != null"> + rainfall = #{rainfall,jdbcType=FLOAT}, + </if> + <if test="windSpeed != null"> + wind_speed = #{windSpeed,jdbcType=FLOAT}, + </if> + <if test="windDirection != null"> + wind_direction = #{windDirection,jdbcType=INTEGER}, + </if> + </set> + where id = #{id,jdbcType=BIGINT} + </update> + <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmWeatherHistory"> + <!--@mbg.generated--> + update rm_weather_history + set weather_id = #{weatherId,jdbcType=BIGINT}, + dt = #{dt,jdbcType=TIMESTAMP}, + air_temperature = #{airTemperature,jdbcType=FLOAT}, + air_humidity = #{airHumidity,jdbcType=FLOAT}, + ultraviolet = #{ultraviolet,jdbcType=INTEGER}, + light_intensity = #{lightIntensity,jdbcType=INTEGER}, + rainfall = #{rainfall,jdbcType=FLOAT}, + wind_speed = #{windSpeed,jdbcType=FLOAT}, + wind_direction = #{windDirection,jdbcType=INTEGER} + where id = #{id,jdbcType=BIGINT} + </update> +</mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWeatherLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWeatherLastMapper.xml new file mode 100644 index 0000000..4014fc3 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmWeatherLastMapper.xml @@ -0,0 +1,186 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dy.pipIrrGlobal.daoRm.RmWeatherLastMapper"> + <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmWeatherLast"> + <!--@mbg.generated--> + <!--@Table rm_weather_last--> + <id column="id" jdbcType="BIGINT" property="id" /> + <result column="last_history_id" jdbcType="BIGINT" property="lastHistoryId" /> + <result column="weather_id" jdbcType="BIGINT" property="weatherId" /> + <result column="dt" jdbcType="TIMESTAMP" property="dt" /> + <result column="air_temperature" jdbcType="FLOAT" property="airTemperature" /> + <result column="air_humidity" jdbcType="FLOAT" property="airHumidity" /> + <result column="ultraviolet" jdbcType="INTEGER" property="ultraviolet" /> + <result column="light_intensity" jdbcType="INTEGER" property="lightIntensity" /> + <result column="rainfall" jdbcType="FLOAT" property="rainfall" /> + <result column="wind_speed" jdbcType="FLOAT" property="windSpeed" /> + <result column="wind_direction" jdbcType="INTEGER" property="windDirection" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, last_history_id, weather_id, dt, air_temperature, air_humidity, ultraviolet, + light_intensity, rainfall, wind_speed, wind_direction + </sql> + <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> + <!--@mbg.generated--> + select + <include refid="Base_Column_List" /> + from rm_weather_last + where id = #{id,jdbcType=BIGINT} + </select> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍--> + <select id="selectRmWeatherLast" resultType="com.dy.pipIrrGlobal.pojoRm.RmWeatherLast"> + select + <include refid="Base_Column_List" /> + from rm_weather_last + <where> + <if test="stWeatherId != null and stWeatherId != ''"> + and weather_id = #{stWeatherId} + </if> + </where> + limit 0,1 + </select> + <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> + <!--@mbg.generated--> + delete from rm_weather_last + where id = #{id,jdbcType=BIGINT} + </delete> + <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmWeatherLast"> + <!--@mbg.generated--> + insert into rm_weather_last (id, last_history_id, weather_id, + dt, air_temperature, air_humidity, + ultraviolet, light_intensity, rainfall, + wind_speed, wind_direction) + values (#{id,jdbcType=BIGINT}, #{lastHistoryId,jdbcType=BIGINT}, #{weatherId,jdbcType=BIGINT}, + #{dt,jdbcType=TIMESTAMP}, #{airTemperature,jdbcType=FLOAT}, #{airHumidity,jdbcType=FLOAT}, + #{ultraviolet,jdbcType=INTEGER}, #{lightIntensity,jdbcType=INTEGER}, #{rainfall,jdbcType=FLOAT}, + #{windSpeed,jdbcType=FLOAT}, #{windDirection,jdbcType=INTEGER}) + </insert> + <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmWeatherLast"> + <!--@mbg.generated--> + insert into rm_weather_last + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null"> + id, + </if> + <if test="lastHistoryId != null"> + last_history_id, + </if> + <if test="weatherId != null"> + weather_id, + </if> + <if test="dt != null"> + dt, + </if> + <if test="airTemperature != null"> + air_temperature, + </if> + <if test="airHumidity != null"> + air_humidity, + </if> + <if test="ultraviolet != null"> + ultraviolet, + </if> + <if test="lightIntensity != null"> + light_intensity, + </if> + <if test="rainfall != null"> + rainfall, + </if> + <if test="windSpeed != null"> + wind_speed, + </if> + <if test="windDirection != null"> + wind_direction, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null"> + #{id,jdbcType=BIGINT}, + </if> + <if test="lastHistoryId != null"> + #{lastHistoryId,jdbcType=BIGINT}, + </if> + <if test="weatherId != null"> + #{weatherId,jdbcType=BIGINT}, + </if> + <if test="dt != null"> + #{dt,jdbcType=TIMESTAMP}, + </if> + <if test="airTemperature != null"> + #{airTemperature,jdbcType=FLOAT}, + </if> + <if test="airHumidity != null"> + #{airHumidity,jdbcType=FLOAT}, + </if> + <if test="ultraviolet != null"> + #{ultraviolet,jdbcType=INTEGER}, + </if> + <if test="lightIntensity != null"> + #{lightIntensity,jdbcType=INTEGER}, + </if> + <if test="rainfall != null"> + #{rainfall,jdbcType=FLOAT}, + </if> + <if test="windSpeed != null"> + #{windSpeed,jdbcType=FLOAT}, + </if> + <if test="windDirection != null"> + #{windDirection,jdbcType=INTEGER}, + </if> + </trim> + </insert> + <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmWeatherLast"> + <!--@mbg.generated--> + update rm_weather_last + <set> + <if test="lastHistoryId != null"> + last_history_id = #{lastHistoryId,jdbcType=BIGINT}, + </if> + <if test="weatherId != null"> + weather_id = #{weatherId,jdbcType=BIGINT}, + </if> + <if test="dt != null"> + dt = #{dt,jdbcType=TIMESTAMP}, + </if> + <if test="airTemperature != null"> + air_temperature = #{airTemperature,jdbcType=FLOAT}, + </if> + <if test="airHumidity != null"> + air_humidity = #{airHumidity,jdbcType=FLOAT}, + </if> + <if test="ultraviolet != null"> + ultraviolet = #{ultraviolet,jdbcType=INTEGER}, + </if> + <if test="lightIntensity != null"> + light_intensity = #{lightIntensity,jdbcType=INTEGER}, + </if> + <if test="rainfall != null"> + rainfall = #{rainfall,jdbcType=FLOAT}, + </if> + <if test="windSpeed != null"> + wind_speed = #{windSpeed,jdbcType=FLOAT}, + </if> + <if test="windDirection != null"> + wind_direction = #{windDirection,jdbcType=INTEGER}, + </if> + </set> + where id = #{id,jdbcType=BIGINT} + </update> + <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmWeatherLast"> + <!--@mbg.generated--> + update rm_weather_last + set last_history_id = #{lastHistoryId,jdbcType=BIGINT}, + weather_id = #{weatherId,jdbcType=BIGINT}, + dt = #{dt,jdbcType=TIMESTAMP}, + air_temperature = #{airTemperature,jdbcType=FLOAT}, + air_humidity = #{airHumidity,jdbcType=FLOAT}, + ultraviolet = #{ultraviolet,jdbcType=INTEGER}, + light_intensity = #{lightIntensity,jdbcType=INTEGER}, + rainfall = #{rainfall,jdbcType=FLOAT}, + wind_speed = #{windSpeed,jdbcType=FLOAT}, + wind_direction = #{windDirection,jdbcType=INTEGER} + where id = #{id,jdbcType=BIGINT} + </update> +</mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java index 13c0ca2..49d25ec 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java @@ -478,6 +478,8 @@ mqVo.comCacheTimeout = conf.getSetAttrPlusInt(doc, "config.mqtt", "comCacheTimeout", null, 1, 3600, null) * 1000L ; + ServerProperties.mqttAcceptDataMinInterval = conf.getSetAttrPlusInt(doc, "config.mqtt", "acceptDataMinInterval", null, 1, 720, null) * 60 * 1000L ; + mqVo.useMemoryPersistence = conf.getSetAttrBoolean(doc, "config.mqtt", "useMemoryPersistence", null, null) ; String proAndDevIds = conf.getSetAttrTxt(doc, "config.mqtt", "protocolAndDeviceIds", null, false, null) ; if(proAndDevIds == null || proAndDevIds.trim().equals("")){ diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/ServerProperties.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/ServerProperties.java index ef5a0da..ed9df08 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/ServerProperties.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/ServerProperties.java @@ -56,5 +56,8 @@ //Mqtt妯″潡鏄惁鍚姩 public static Boolean mqttUnitEnable = false ; + public static Long mqttAcceptDataMinInterval = 60 * 60 * 1000L ;//榛樿60鍒嗛挓 + + } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java index b2a6a43..a07d3ea 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java @@ -1,13 +1,11 @@ package com.dy.rtuMw.server.rtuData.dbSv; import com.dy.common.util.NumUtil; -import com.dy.pipIrrGlobal.daoPr.PrControllerMapper; -import com.dy.pipIrrGlobal.daoPr.PrControllerTrampMapper; +import com.dy.pipIrrGlobal.daoPr.*; import com.dy.pipIrrGlobal.daoRm.*; import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper; import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper; -import com.dy.pipIrrGlobal.pojoPr.PrController; -import com.dy.pipIrrGlobal.pojoPr.PrControllerTramp; +import com.dy.pipIrrGlobal.pojoPr.*; import com.dy.pipIrrGlobal.pojoRm.*; import com.dy.pipIrrGlobal.pojoSe.SeClient; import com.dy.pipIrrGlobal.voSe.VoCardInfo1; @@ -71,6 +69,27 @@ private RmOnHourReportHistoryMapper rmOnHourReportHistoryDao; // 瀹氱偣涓婃姤鍘嗗彶鏁版嵁DAO @Autowired private RmOnHourReportLastMapper rmOnHourReportLastDao; // 瀹氱偣涓婃姤鏈�鏂版暟鎹瓺AO + + @Autowired + private PrStManureMapper prStManureDao; //姘磋偉鏈篋AO + @Autowired + private PrStSoilMapper prStSoilDao; //澧掓儏绔橠AO + @Autowired + private PrStWeatherMapper prStWeatherDao; //姘旇薄绔橠AO + @Autowired + private RmManureLastMapper rmManureLastDao; //姘磋偉DAO + @Autowired + private RmManureHistoryMapper rmManureHistoryDao; //姘磋偉DAO + @Autowired + private RmSoilLastMapper rmSoilLastDao; //澧掓儏DAO + @Autowired + private RmSoilHistoryMapper rmSoilHistoryDao; //澧掓儏DAO + @Autowired + private RmSoilDayMapper rmSoilDayDao; //澧掓儏DAO + @Autowired + private RmWeatherLastMapper rmWeatherLastDao; //姘旇薄DAO + @Autowired + private RmWeatherHistoryMapper rmWeatherHistoryDao; //姘旇薄DAO //@Autowired @@ -694,6 +713,209 @@ seVirtualCardDao.updateMoney(id,remainMoney); } + + ////////////////////////////////////////////////////// + // + // 姘磋偉鏁版嵁鐩稿叧 + // + ////////////////////////////////////////////////////// + /** + * 閫氳繃FBox搴忓垪鍙峰緱鍒版按鑲ユ満瀹炰綋 + * @param fboxId FBox搴忓垪鍙� + * @param no 缂栧彿 + * @return 姘磋偉鏈哄疄浣� + */ + public PrStManure getStManureByFBoxIdAndNo(String fboxId, Integer no){ + List<PrStManure> list = this.prStManureDao.selectStPoByFBoxIdAndNo(fboxId, no) ; + if(list != null && list.size() > 0){ + return list.get(0) ; + } + return null ; + } + /** + * 鏌ヨ涓婃姤鏈�鏂版暟鎹� + * @param stManureId + * @return + */ + public RmManureLast getRmManureLast(Long stManureId) { + List<RmManureLast> list = this.rmManureLastDao.selectRmManureLast(stManureId) ; + if(list != null && list.size() > 0){ + return list.get(0) ; + } + return null ; + } + /** + * 淇濆瓨鏈�鏂拌褰� + * @param po + */ + @Transactional(rollbackFor = Exception.class) + public void saveRmManureHistory(RmManureHistory po) { + this.rmManureHistoryDao.insert(po); + } + + /** + * 淇濆瓨鏈�鏂拌褰� + * @param po + */ + @Transactional(rollbackFor = Exception.class) + public void saveRmManureLast(RmManureLast po) { + this.rmManureLastDao.insert(po); + } + /** + * 鏇存柊鏈�鏂拌褰� + * @param po + */ + @Transactional(rollbackFor = Exception.class) + public void updateRmManureLast(RmManureLast po){ + this.rmManureLastDao.updateByPrimaryKey(po) ; + } + + + ////////////////////////////////////////////////////// + // + // 澧掓儏鏁版嵁鐩稿叧 + // + ////////////////////////////////////////////////////// + /** + * 閫氳繃FBox搴忓垪鍙峰緱鍒板鎯呯珯瀹炰綋 + * @param fboxId FBox搴忓垪鍙� + * @param no 缂栧彿 + * @return 姘磋偉鏈哄疄浣� + */ + public PrStSoil getStSoilByFBoxIdAndNo(String fboxId, Integer no){ + List<PrStSoil> list = this.prStSoilDao.selectStPoByFBoxIdAndNo(fboxId, no) ; + if(list != null && list.size() > 0){ + return list.get(0) ; + } + return null ; + } + /** + * 鏌ヨ涓婃姤鏈�鏂版暟鎹� + * @param stSoilId + * @return + */ + public RmSoilLast getRmSoilLast(Long stSoilId) { + List<RmSoilLast> list = this.rmSoilLastDao.selectRmSoilLast(stSoilId) ; + if(list != null && list.size() > 0){ + return list.get(0) ; + } + return null ; + } + /** + * 淇濆瓨鏈�鏂拌褰� + * @param po + */ + @Transactional(rollbackFor = Exception.class) + public void saveRmSoilHistory(RmSoilHistory po) { + this.rmSoilHistoryDao.insert(po); + } + + /** + * 淇濆瓨鏈�鏂拌褰� + * @param po + */ + @Transactional(rollbackFor = Exception.class) + public void saveRmSoilLast(RmSoilLast po) { + this.rmSoilLastDao.insert(po); + } + /** + * 鏇存柊鏈�鏂拌褰� + * @param po + */ + @Transactional(rollbackFor = Exception.class) + public void updateRmSoilLast(RmSoilLast po){ + this.rmSoilLastDao.updateByPrimaryKey(po) ; + } + + /** + * 鏌ヨ涓婃姤鏃ユ暟鎹� + * @param stSoilId + * @return + */ + @Transactional(rollbackFor = Exception.class) + public RmSoilDay getRmSoilDay(Long stSoilId, Integer nowYmd) { + List<RmSoilDay> list = this.rmSoilDayDao.selectRmSoilDay(stSoilId, nowYmd) ; + if(list != null && list.size() > 0){ + return list.get(0) ; + } + return null ; + } + /** + * 淇濆瓨鏃ヨ褰� + * @param po + */ + @Transactional(rollbackFor = Exception.class) + public void saveRmSoilDay(RmSoilDay po) { + this.rmSoilDayDao.insert(po); + } + /** + * 鏇存柊鏃ヨ褰� + * @param po + */ + @Transactional(rollbackFor = Exception.class) + public void updateRmSoilDay(RmSoilDay po){ + this.rmSoilDayDao.updateByPrimaryKey(po) ; + } + + + + ////////////////////////////////////////////////////// + // + // 姘旇薄鏁版嵁鐩稿叧 + // + ////////////////////////////////////////////////////// + /** + * 閫氳繃FBox搴忓垪鍙峰緱鍒版皵璞$珯瀹炰綋 + * @param fboxId FBox搴忓垪鍙� + * @param no 缂栧彿 + * @return 姘磋偉鏈哄疄浣� + */ + public PrStWeather getStWeatherByFBoxIdAndNo(String fboxId, Integer no){ + List<PrStWeather> list = this.prStWeatherDao.selectStPoByFBoxIdAndNo(fboxId, no) ; + if(list != null && list.size() > 0){ + return list.get(0) ; + } + return null ; + } + + /** + * 鏌ヨ涓婃姤鏈�鏂版暟鎹� + * @param stWeatherId + * @return + */ + public RmWeatherLast getRmWeatherLast(Long stWeatherId) { + List<RmWeatherLast> list = this.rmWeatherLastDao.selectRmWeatherLast(stWeatherId) ; + if(list != null && list.size() > 0){ + return list.get(0) ; + } + return null ; + } + /** + * 淇濆瓨鏈�鏂拌褰� + * @param po + */ + @Transactional(rollbackFor = Exception.class) + public void saveRmWeatherHistory(RmWeatherHistory po) { + this.rmWeatherHistoryDao.insert(po); + } + + /** + * 淇濆瓨鏈�鏂拌褰� + * @param po + */ + @Transactional(rollbackFor = Exception.class) + public void saveRmWeatherLast(RmWeatherLast po) { + this.rmWeatherLastDao.insert(po); + } + /** + * 鏇存柊鏈�鏂拌褰� + * @param po + */ + @Transactional(rollbackFor = Exception.class) + public void updateRmWeatherLast(RmWeatherLast po){ + this.rmWeatherLastDao.updateByPrimaryKey(po) ; + } + ////////////////////////////////////////////////////// // // 鍛戒护鏃ュ織鐩稿叧 diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkFindComResponse.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkFindComResponse.java index 0f2fac7..e1c9f70 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkFindComResponse.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkFindComResponse.java @@ -26,7 +26,7 @@ public void execute(Object data) { Data d = (Data)data ; if(d.getCommandId() != null && !d.getCommandId().trim().equals("")){ - //鏃犲懡浠D + //鏈夊懡浠D this.toNextTasks(data); } } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkRtuDealCommandResponse.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkRtuDealCommandResponse.java index c5036e5..852009e 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkRtuDealCommandResponse.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkRtuDealCommandResponse.java @@ -47,7 +47,7 @@ log.error("鏈緱鍒板懡浠ゆ棩蹇楋紙" + d.getCommandId() + ")"); } }catch (Exception e){ - log.error("淇濆瓨鎺у埗鍣ㄨ嚜鎶ユ暟鎹椂鍙戠敓寮傚父", e); + log.error("淇濆瓨鎺у埗鍣ㄥ懡浠ょ粨鏋滄椂鍙戠敓寮傚父", e); } } } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkRtuDealCommandResponseV2.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkRtuDealCommandResponseV2.java index 3c8a033..7a5abf1 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkRtuDealCommandResponseV2.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkRtuDealCommandResponseV2.java @@ -50,7 +50,7 @@ log.error("鏈緱鍒板懡浠ゆ棩蹇楋紙" + d.getCommandId() + ")"); } }catch (Exception e){ - log.error("淇濆瓨鎺у埗鍣ㄨ嚜鎶ユ暟鎹椂鍙戠敓寮傚父", e); + log.error("淇濆瓨鎺у埗鍣ㄥ懡浠ょ粨鏋滄椂鍙戠敓寮傚父", e); } } } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponseV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponseV202404.java index f517210..63e259b 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponseV202404.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponseV202404.java @@ -45,7 +45,7 @@ log.error("鏈緱鍒板懡浠ゆ棩蹇楋紙" + d.getCommandId() + ")"); } }catch (Exception e){ - log.error("淇濆瓨鎺у埗鍣ㄨ嚜鎶ユ暟鎹椂鍙戠敓寮傚父", e); + log.error("淇濆瓨鎺у埗鍣ㄥ懡浠ょ粨鏋滄椂鍙戠敓寮傚父", e); } } } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealCommandResponseSdV1.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealCommandResponseSdV1.java new file mode 100644 index 0000000..471143c --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealCommandResponseSdV1.java @@ -0,0 +1,58 @@ +package com.dy.rtuMw.server.rtuData.pSdV1; + +import com.dy.common.mw.protocol4Mqtt.MqttSubMsg; +import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.ManureVo; +import com.dy.pipIrrGlobal.pojoPr.PrStManure; +import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory; +import com.dy.rtuMw.server.rtuData.TaskSurpport; +import com.dy.rtuMw.server.rtuData.dbSv.DbSv; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.util.Date; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 15:52 + * @Description + */ +public class TkDealCommandResponseSdV1 extends TaskSurpport { + + private static final Logger log = LogManager.getLogger(TkDealCommandResponseSdV1.class.getName()) ; + + //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷� + public static final String taskId = "TkDealCommandResponseSdV1" ; + + /** + * 鎵ц鑺傜偣浠诲姟锛氬鐞嗗懡浠ゅ搷搴斾笂鎶� + * @param data 闇�瑕佸鐞嗙殑鏁版嵁 + */ + @Override + public void execute(Object data) { + //鍓嶉潰鐨勪换鍔″凡缁忓垽鏂簡data涓嶄负绌轰笖涓烘按鑲ユ暟鎹� + MqttSubMsg msg = (MqttSubMsg) data; + ManureVo stVo = (ManureVo) msg.vo4Up; + Object[] objs = this.getTaskResults(TkPreGenObjs4ManureSdV1.taskId); + DbSv sv = (DbSv) objs[0]; + PrStManure stPo = (PrStManure) objs[1]; + try{ + RmCommandHistory po = sv.getCommandLog(msg.commandId) ; + if(po != null){ + po = this.updateCommandLogPo(po, msg) ; + sv.updateCommandLog(po); + }else{ + log.error("鏈緱鍒癕QTT鍛戒护鏃ュ織锛�" + msg.getCommandId() + ")"); + } + }catch (Exception e){ + log.error("淇濆瓨MQTT鍛戒护缁撴灉鍙戠敓寮傚父", e); + } + } + + public RmCommandHistory updateCommandLogPo(RmCommandHistory po, MqttSubMsg msg) throws Exception{ + po.setResultTime(new Date()); + po.setResult((byte)1); + po.setResultText(msg.metaData); + return po ; + } + +} diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealManureSdV1.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealManureSdV1.java new file mode 100644 index 0000000..2c23cd4 --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealManureSdV1.java @@ -0,0 +1,127 @@ +package com.dy.rtuMw.server.rtuData.pSdV1; + +import com.dy.common.mw.protocol4Mqtt.MqttSubMsg; +import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.ManureVo; +import com.dy.pipIrrGlobal.pojoPr.PrStManure; +import com.dy.pipIrrGlobal.pojoRm.RmManureHistory; +import com.dy.pipIrrGlobal.pojoRm.RmManureLast; +import com.dy.rtuMw.server.forMs.SendMsCache; +import com.dy.rtuMw.server.rtuData.TaskSurpport; +import com.dy.rtuMw.server.rtuData.dbSv.DbSv; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 11:37 + * @Description + */ +public class TkDealManureSdV1 extends TaskSurpport { + + private static Logger log = LogManager.getLogger(TkDealManureSdV1.class.getName()); + + //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷� + public static final String taskId = "TkDealManureSdV1"; + + /** + * 鎵ц鑺傜偣浠诲姟 + * + * @param data 闇�瑕佸鐞嗙殑鏁版嵁 + */ + @Override + public void execute(Object data) { + //鍓嶉潰鐨勪换鍔″凡缁忓垽鏂簡data涓嶄负绌轰笖涓烘按鑲ユ暟鎹� + MqttSubMsg msg = (MqttSubMsg) data; + ManureVo stVo = (ManureVo) msg.vo4Up; + Object[] objs = this.getTaskResults(TkPreGenObjs4ManureSdV1.taskId); + DbSv sv = (DbSv) objs[0]; + PrStManure stPo = (PrStManure) objs[1]; + try{ + this.doDeal(sv, stPo, msg, stVo); + }catch (Exception e){ + log.error("淇濆瓨姘磋偉鏁版嵁鏃跺彂鐢熷紓甯�", e); + } + } + + /** + * 澶勭悊涓婅娑堟伅鏁版嵁 + * @param sv 鏈嶅姟 + * @param stPo 瀹炰綋瀵硅薄 + * @param msg 涓婅鐨勮闃呮秷鎭� + * @param stVo 涓婅鐨勮澶囨暟鎹� + */ + private void doDeal(DbSv sv, + PrStManure stPo, + MqttSubMsg msg, + ManureVo stVo) throws Exception { + RmManureHistory hpo = this.saveHistory(sv, stPo, msg, stVo); + this.saveOrUpdateLast(sv, stPo, msg, stVo, hpo); + } + /** + * 澶勭悊涓婅娑堟伅鏁版嵁 + * @param sv 鏈嶅姟 + * @param stPo 瀹炰綋瀵硅薄 + * @param msg 涓婅鐨勮闃呮秷鎭� + * @param stVo 涓婅鐨勮澶囨暟鎹� + * @param hpo 鍘嗗彶璁板綍鏈�鏂版暟鎹� + */ + private void saveOrUpdateLast(DbSv sv, + PrStManure stPo, + MqttSubMsg msg, + ManureVo stVo, + RmManureHistory hpo) throws Exception { + RmManureLast po = sv.getRmManureLast(stPo.id) ; + if(po == null){ + po = new RmManureLast(); + po.valueFrom(msg, stVo); + po.manureId = stPo.id ; + po.lastHistoryId = hpo==null?null:hpo.id ; + sv.saveRmManureLast(po) ; + if(stVo.alarm != null && stVo.alarm == 1){ + this.sendMessage(stPo, msg, stVo); + } + }else{ + po.valueFrom(msg, stVo); + po.manureId = stPo.id ; + po.lastHistoryId = hpo==null?null:hpo.id ; + sv.updateRmManureLast(po); + if(stVo.alarm != null && stVo.alarm == 1){ + this.sendMessage(stPo, msg, stVo); + } + } + } + + /** + * 澶勭悊涓婅娑堟伅鏁版嵁 + * @param sv 鏈嶅姟 + * @param stPo 瀹炰綋瀵硅薄 + * @param msg 涓婅鐨勮闃呮秷鎭� + * @param stVo 涓婅鐨勮澶囨暟鎹� + */ + private RmManureHistory saveHistory(DbSv sv, + PrStManure stPo, + MqttSubMsg msg, + ManureVo stVo) throws Exception { + RmManureHistory po = new RmManureHistory(); + po.valueFrom(msg, stVo); + po.manureId = stPo.id ; + sv.saveRmManureHistory(po); + return po ; + } + + /** + * 鍚戦拤閽夊彂閫佹秷鎭� + * @param stPo + * @param msg + * @param stVo + */ + private void sendMessage(PrStManure stPo, MqttSubMsg msg, ManureVo stVo){ + String ms = "姘磋偉鏈衡��" + stPo.name + "鈥濇敞鑲ユ车鎶ヨ"; + try{ + SendMsCache.cacheMs(ms); + }catch (Exception e){ + log.error("缂撳瓨閽夐拤娑堟伅寮傚父锛�", e); + } + } + +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealSoilSdV1.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealSoilSdV1.java new file mode 100644 index 0000000..d36c18e --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealSoilSdV1.java @@ -0,0 +1,133 @@ +package com.dy.rtuMw.server.rtuData.pSdV1; + +import com.dy.common.mw.protocol4Mqtt.MqttSubMsg; +import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.SoilVo; +import com.dy.common.util.DateTime; +import com.dy.pipIrrGlobal.pojoPr.PrStSoil; +import com.dy.pipIrrGlobal.pojoRm.RmSoilDay; +import com.dy.pipIrrGlobal.pojoRm.RmSoilHistory; +import com.dy.pipIrrGlobal.pojoRm.RmSoilLast; +import com.dy.rtuMw.server.rtuData.TaskSurpport; +import com.dy.rtuMw.server.rtuData.dbSv.DbSv; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 11:38 + * @Description + */ +public class TkDealSoilSdV1 extends TaskSurpport { + + private static Logger log = LogManager.getLogger(TkDealSoilSdV1.class.getName()); + + //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷� + public static final String taskId = "TkDealSoilSdV1"; + + /** + * 鎵ц鑺傜偣浠诲姟 + * + * @param data 闇�瑕佸鐞嗙殑鏁版嵁 + */ + @Override + public void execute(Object data) { + //鍓嶉潰鐨勪换鍔″凡缁忓垽鏂簡data涓嶄负绌轰笖涓哄鎯呮暟鎹� + MqttSubMsg msg = (MqttSubMsg) data; + SoilVo stVo = (SoilVo) msg.vo4Up; + Object[] objs = this.getTaskResults(TkPreGenObjs4SoilSdV1.taskId); + DbSv sv = (DbSv) objs[0]; + PrStSoil stPo = (PrStSoil) objs[1]; + try{ + this.doDeal(sv, stPo, msg, stVo); + }catch (Exception e){ + log.error("淇濆瓨澧掓儏鏁版嵁鏃跺彂鐢熷紓甯�", e); + } + } + + /** + * 澶勭悊涓婅娑堟伅鏁版嵁 + * @param sv 鏈嶅姟 + * @param stPo 瀹炰綋瀵硅薄 + * @param msg 涓婅鐨勮闃呮秷鎭� + * @param stVo 涓婅鐨勮澶囨暟鎹� + */ + private void doDeal(DbSv sv, + PrStSoil stPo, + MqttSubMsg msg, + SoilVo stVo) throws Exception { + RmSoilHistory hpo = this.saveHistory(sv, stPo, msg, stVo); + this.saveOrUpdateLast(sv, stPo, msg, stVo, hpo); + this.saveOrUpdateDay(sv, stPo, msg, stVo, hpo); + } + + /** + * 澶勭悊涓婅娑堟伅鏁版嵁 + * @param sv 鏈嶅姟 + * @param stPo 瀹炰綋瀵硅薄 + * @param msg 涓婅鐨勮闃呮秷鎭� + * @param stVo 涓婅鐨勮澶囨暟鎹� + * @param hpo 鍘嗗彶璁板綍鏈�鏂版暟鎹� + */ + private void saveOrUpdateLast(DbSv sv, + PrStSoil stPo, + MqttSubMsg msg, + SoilVo stVo, + RmSoilHistory hpo) throws Exception { + RmSoilLast po = sv.getRmSoilLast(stPo.id) ; + if(po == null){ + po = new RmSoilLast(); + po.valueFrom(msg, stVo); + po.soilId = stPo.id ; + po.lastHistoryId = hpo==null?null:hpo.id ; + sv.saveRmSoilLast(po) ; + }else{ + po.valueFrom(msg, stVo); + po.soilId = stPo.id ; + po.lastHistoryId = hpo==null?null:hpo.id ; + sv.updateRmSoilLast(po); + } + } + + /** + * 澶勭悊涓婅娑堟伅鏁版嵁 + * @param sv 鏈嶅姟 + * @param stPo 瀹炰綋瀵硅薄 + * @param msg 涓婅鐨勮闃呮秷鎭� + * @param stVo 涓婅鐨勮澶囨暟鎹� + */ + private RmSoilHistory saveHistory(DbSv sv, + PrStSoil stPo, + MqttSubMsg msg, + SoilVo stVo) throws Exception { + RmSoilHistory po = new RmSoilHistory(); + po.valueFrom(msg, stVo); + po.soilId = stPo.id ; + sv.saveRmSoilHistory(po); + return po ; + } + /** + * 澶勭悊涓婅娑堟伅鏁版嵁 + * @param sv 鏈嶅姟 + * @param stPo 瀹炰綋瀵硅薄 + * @param msg 涓婅鐨勮闃呮秷鎭� + * @param stVo 涓婅鐨勮澶囨暟鎹� + * @param hpo 鍘嗗彶璁板綍鏈�鏂版暟鎹� + */ + private void saveOrUpdateDay(DbSv sv, + PrStSoil stPo, + MqttSubMsg msg, + SoilVo stVo, + RmSoilHistory hpo) throws Exception { + RmSoilDay po = sv.getRmSoilDay(stPo.id, Integer.parseInt(DateTime.yyyyMMdd())) ; + if(po == null){ + po = new RmSoilDay(); + po.valueFrom(msg, stVo); + po.soilId = stPo.id ; + sv.saveRmSoilDay(po) ; + }else{ + po.updateFrom(msg, stVo); + po.soilId = stPo.id ; + sv.updateRmSoilDay(po); + } + } +} diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealWeatherSdV1.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealWeatherSdV1.java new file mode 100644 index 0000000..ce5f281 --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkDealWeatherSdV1.java @@ -0,0 +1,105 @@ +package com.dy.rtuMw.server.rtuData.pSdV1; + +import com.dy.common.mw.protocol4Mqtt.MqttSubMsg; +import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.WeatherVo; +import com.dy.pipIrrGlobal.pojoPr.PrStWeather; +import com.dy.pipIrrGlobal.pojoRm.RmWeatherHistory; +import com.dy.pipIrrGlobal.pojoRm.RmWeatherLast; +import com.dy.rtuMw.server.rtuData.TaskSurpport; +import com.dy.rtuMw.server.rtuData.dbSv.DbSv; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 11:37 + * @Description + */ +public class TkDealWeatherSdV1 extends TaskSurpport { + + private static Logger log = LogManager.getLogger(TkDealWeatherSdV1.class.getName()); + + //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷� + public static final String taskId = "TkDealWeatherSdV1"; + + /** + * 鎵ц鑺傜偣浠诲姟 + * + * @param data 闇�瑕佸鐞嗙殑鏁版嵁 + */ + @Override + public void execute(Object data) { + //鍓嶉潰鐨勪换鍔″凡缁忓垽鏂簡data涓嶄负绌轰笖涓烘皵璞℃暟鎹� + MqttSubMsg msg = (MqttSubMsg) data; + WeatherVo stVo = (WeatherVo) msg.vo4Up; + Object[] objs = this.getTaskResults(TkPreGenObjs4WeatherSdV1.taskId); + DbSv sv = (DbSv) objs[0]; + PrStWeather stPo = (PrStWeather) objs[1]; + try{ + this.doDeal(sv, stPo, msg, stVo); + }catch (Exception e){ + log.error("淇濆瓨姘旇薄鏁版嵁鏃跺彂鐢熷紓甯�", e); + } + } + + /** + * 澶勭悊涓婅娑堟伅鏁版嵁 + * @param sv 鏈嶅姟 + * @param stPo 瀹炰綋瀵硅薄 + * @param msg 涓婅鐨勮闃呮秷鎭� + * @param stVo 涓婅鐨勮澶囨暟鎹� + */ + private void doDeal(DbSv sv, + PrStWeather stPo, + MqttSubMsg msg, + WeatherVo stVo) throws Exception { + RmWeatherHistory hpo = this.saveHistory(sv, stPo, msg, stVo); + this.saveOrUpdateLast(sv, stPo, msg, stVo, hpo); + } + /** + * 澶勭悊涓婅娑堟伅鏁版嵁 + * @param sv 鏈嶅姟 + * @param stPo 瀹炰綋瀵硅薄 + * @param msg 涓婅鐨勮闃呮秷鎭� + * @param stVo 涓婅鐨勮澶囨暟鎹� + * @param hpo 鍘嗗彶璁板綍鏈�鏂版暟鎹� + */ + private void saveOrUpdateLast(DbSv sv, + PrStWeather stPo, + MqttSubMsg msg, + WeatherVo stVo, + RmWeatherHistory hpo) throws Exception { + RmWeatherLast po = sv.getRmWeatherLast(stPo.id) ; + if(po == null){ + po = new RmWeatherLast(); + po.valueFrom(msg, stVo); + po.weatherId = stPo.id ; + po.lastHistoryId = hpo==null?null:hpo.id ; + sv.saveRmWeatherLast(po) ; + }else{ + po.valueFrom(msg, stVo); + po.weatherId = stPo.id ; + po.lastHistoryId = hpo==null?null:hpo.id ; + sv.updateRmWeatherLast(po); + } + } + + /** + * 澶勭悊涓婅娑堟伅鏁版嵁 + * @param sv 鏈嶅姟 + * @param stPo 瀹炰綋瀵硅薄 + * @param msg 涓婅鐨勮闃呮秷鎭� + * @param stVo 涓婅鐨勮澶囨暟鎹� + */ + private RmWeatherHistory saveHistory(DbSv sv, + PrStWeather stPo, + MqttSubMsg msg, + WeatherVo stVo) throws Exception { + RmWeatherHistory po = new RmWeatherHistory(); + po.valueFrom(msg, stVo); + po.weatherId = stPo.id ; + sv.saveRmWeatherHistory(po); + return po ; + } + +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkFindComResponseSdV1.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkFindComResponseSdV1.java new file mode 100644 index 0000000..a5ed233 --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkFindComResponseSdV1.java @@ -0,0 +1,37 @@ +package com.dy.rtuMw.server.rtuData.pSdV1; + +import com.dy.common.mw.protocol.Data; +import com.dy.common.mw.protocol4Mqtt.MqttSubMsg; +import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.ManureVo; +import com.dy.pipIrrGlobal.pojoPr.PrStManure; +import com.dy.rtuMw.server.rtuData.TaskSurpport; +import com.dy.rtuMw.server.rtuData.dbSv.DbSv; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 15:52 + * @Description + */ +public class TkFindComResponseSdV1 extends TaskSurpport { + + private static final Logger log = LogManager.getLogger(TkFindComResponseSdV1.class.getName()) ; + + //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷� + public static final String taskId = "TkFindComResponseSdV1" ; + + /** + * 鎵ц鑺傜偣浠诲姟 + * @param data 闇�瑕佸鐞嗙殑鏁版嵁 + */ + @Override + public void execute(Object data) { + //鍓嶉潰鐨勪换鍔″凡缁忓垽鏂簡data涓嶄负绌轰笖涓烘按鑲ユ暟鎹� + MqttSubMsg msg = (MqttSubMsg) data; + if(msg.getCommandId() != null && !msg.getCommandId().trim().equals("")){ + //鏈夊懡浠D + this.toNextTasks(data); + } + } +} diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkFindPSdV1.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkFindPSdV1.java index ce5def5..3ae2995 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkFindPSdV1.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkFindPSdV1.java @@ -1,6 +1,7 @@ package com.dy.rtuMw.server.rtuData.pSdV1; import com.dy.common.mw.protocol4Mqtt.MqttSubMsg; +import com.dy.common.mw.protocol4Mqtt.pSdV1.ProtocolConstantSdV1; import com.dy.rtuMw.server.rtuData.TaskSurpport; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -25,7 +26,10 @@ public void execute(Object data) { //鍓嶉潰鐨勪换鍔″凡缁忓垽鏂簡data涓嶄负绌� MqttSubMsg msg = (MqttSubMsg)data ; - log.info(msg.toString()); + if(msg.protocol.equals(ProtocolConstantSdV1.protocolName + ProtocolConstantSdV1.protocolVer)){ + //灞变笢sd1鍗忚 + this.toNextTasks(data); + } } } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkPreGenObjs4ManureSdV1.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkPreGenObjs4ManureSdV1.java new file mode 100644 index 0000000..0890f30 --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkPreGenObjs4ManureSdV1.java @@ -0,0 +1,59 @@ +package com.dy.rtuMw.server.rtuData.pSdV1; + +import com.dy.common.mw.protocol4Mqtt.MqttSubMsg; +import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.ManureVo; +import com.dy.common.springUtil.SpringContextUtil; +import com.dy.pipIrrGlobal.pojoPr.PrStManure; +import com.dy.rtuMw.server.ServerProperties; +import com.dy.rtuMw.server.rtuData.TaskSurpport; +import com.dy.rtuMw.server.rtuData.dbSv.DbSv; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.util.HashMap; +import java.util.Map; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 8:56 + * @Description + */ +public class TkPreGenObjs4ManureSdV1 extends TaskSurpport { + + private static Logger log = LogManager.getLogger(TkPreGenObjs4ManureSdV1.class.getName()) ; + + //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷� + public static final String taskId = "TkPreGenObjs4ManureSdV1" ; + + //澶勭悊涓婃潯鏁版嵁鐨勬椂鍒� + private static final Map<String, Long> dealDataAtDateTime = new HashMap<>(); + + /** + * 鎵ц鑺傜偣浠诲姟 + * @param data 闇�瑕佸鐞嗙殑鏁版嵁 + */ + @Override + public void execute(Object data) { + //鍓嶉潰鐨勪换鍔″凡缁忓垽鏂簡data涓嶄负绌� + MqttSubMsg msg = (MqttSubMsg)data ; + if(msg.vo4Up != null && msg.vo4Up instanceof ManureVo){ + //姘磋偉鏁版嵁 + ManureVo stVo = (ManureVo)msg.vo4Up ; + Long lastAt = dealDataAtDateTime.get(msg.deviceId + stVo.no); + Long now = System.currentTimeMillis() ; + if(lastAt == null || ((now - lastAt) >= ServerProperties.mqttAcceptDataMinInterval)){ + dealDataAtDateTime.put(msg.deviceId + stVo.no, now); + DbSv sv = SpringContextUtil.getBean(DbSv.class) ; + if(sv != null){ + PrStManure stPo = sv.getStManureByFBoxIdAndNo(msg.deviceId, stVo.no) ; + if(stPo != null){ + this.taskResult = new Object[]{sv, stPo} ; + this.toNextTasks(data); + } + }else{ + log.error("涓ラ噸閿欒锛屾湭鑳藉緱鍒癉bSv瀵硅薄"); + } + } + } + } +} diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkPreGenObjs4SoilSdV1.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkPreGenObjs4SoilSdV1.java new file mode 100644 index 0000000..b978c59 --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkPreGenObjs4SoilSdV1.java @@ -0,0 +1,59 @@ +package com.dy.rtuMw.server.rtuData.pSdV1; + +import com.dy.common.mw.protocol4Mqtt.MqttSubMsg; +import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.SoilVo; +import com.dy.common.springUtil.SpringContextUtil; +import com.dy.pipIrrGlobal.pojoPr.PrStSoil; +import com.dy.rtuMw.server.ServerProperties; +import com.dy.rtuMw.server.rtuData.TaskSurpport; +import com.dy.rtuMw.server.rtuData.dbSv.DbSv; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.util.HashMap; +import java.util.Map; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 11:25 + * @Description + */ +public class TkPreGenObjs4SoilSdV1 extends TaskSurpport { + + private static Logger log = LogManager.getLogger(TkPreGenObjs4SoilSdV1.class.getName()) ; + + //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷� + public static final String taskId = "TkPreGenObjs4SoilSdV1" ; + + //澶勭悊涓婃潯鏁版嵁鐨勬椂鍒� + private static final Map<String, Long> dealDataAtDateTime = new HashMap<>(); + + /** + * 鎵ц鑺傜偣浠诲姟 + * @param data 闇�瑕佸鐞嗙殑鏁版嵁 + */ + @Override + public void execute(Object data) { + //鍓嶉潰鐨勪换鍔″凡缁忓垽鏂簡data涓嶄负绌� + MqttSubMsg msg = (MqttSubMsg)data ; + if(msg.vo4Up != null && msg.vo4Up instanceof SoilVo){ + //澧掓儏鏁版嵁 + SoilVo stVo = (SoilVo)msg.vo4Up ; + Long lastAt = dealDataAtDateTime.get(msg.deviceId + stVo.no); + Long now = System.currentTimeMillis() ; + if(lastAt == null || ((now - lastAt) >= ServerProperties.mqttAcceptDataMinInterval)) { + dealDataAtDateTime.put(msg.deviceId + stVo.no, now); + DbSv sv = SpringContextUtil.getBean(DbSv.class); + if (sv != null) { + PrStSoil stPo = sv.getStSoilByFBoxIdAndNo(msg.deviceId, stVo.no); + if (stPo != null) { + this.taskResult = new Object[]{sv, stPo}; + this.toNextTasks(data); + } + } else { + log.error("涓ラ噸閿欒锛屾湭鑳藉緱鍒癉bSv瀵硅薄"); + } + } + } + } +} diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkPreGenObjs4WeatherSdV1.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkPreGenObjs4WeatherSdV1.java new file mode 100644 index 0000000..e799ea1 --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/pSdV1/TkPreGenObjs4WeatherSdV1.java @@ -0,0 +1,59 @@ +package com.dy.rtuMw.server.rtuData.pSdV1; + +import com.dy.common.mw.protocol4Mqtt.MqttSubMsg; +import com.dy.common.mw.protocol4Mqtt.pSdV1.upVos.WeatherVo; +import com.dy.common.springUtil.SpringContextUtil; +import com.dy.pipIrrGlobal.pojoPr.PrStWeather; +import com.dy.rtuMw.server.ServerProperties; +import com.dy.rtuMw.server.rtuData.TaskSurpport; +import com.dy.rtuMw.server.rtuData.dbSv.DbSv; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.util.HashMap; +import java.util.Map; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 11:25 + * @Description + */ +public class TkPreGenObjs4WeatherSdV1 extends TaskSurpport { + + private static Logger log = LogManager.getLogger(TkPreGenObjs4WeatherSdV1.class.getName()) ; + + //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷� + public static final String taskId = "TkPreGenObjs4WeatherSdV1" ; + + //澶勭悊涓婃潯鏁版嵁鐨勬椂鍒� + private static final Map<String, Long> dealDataAtDateTime = new HashMap<>(); + + /** + * 鎵ц鑺傜偣浠诲姟 + * @param data 闇�瑕佸鐞嗙殑鏁版嵁 + */ + @Override + public void execute(Object data) { + //鍓嶉潰鐨勪换鍔″凡缁忓垽鏂簡data涓嶄负绌� + MqttSubMsg msg = (MqttSubMsg)data ; + if(msg.vo4Up != null && msg.vo4Up instanceof WeatherVo){ + //姘旇薄鏁版嵁 + WeatherVo stVo = (WeatherVo)msg.vo4Up ; + Long lastAt = dealDataAtDateTime.get(msg.deviceId + stVo.no); + Long now = System.currentTimeMillis() ; + if(lastAt == null || ((now - lastAt) >= ServerProperties.mqttAcceptDataMinInterval)) { + dealDataAtDateTime.put(msg.deviceId + stVo.no, now); + DbSv sv = SpringContextUtil.getBean(DbSv.class); + if (sv != null) { + PrStWeather stPo = sv.getStWeatherByFBoxIdAndNo(msg.deviceId, stVo.no); + if (stPo != null) { + this.taskResult = new Object[]{sv, stPo}; + this.toNextTasks(data); + } + } else { + log.error("涓ラ噸閿欒锛屾湭鑳藉緱鍒癉bSv瀵硅薄"); + } + } + } + } +} diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml index 26623b5..b9bd804 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml @@ -94,7 +94,25 @@ </task> <!-- Mqtt娑堟伅涓棿浠惰闃呯殑娑堟伅 --> <task id="TkMqttData" name="鎺ユ敹Mqtt娑堟伅" enable="true" class="com.dy.rtuMw.server.rtuData.TkMqttData"> - <task id="TkFindPSdV1" name="璇嗗埆灞变笢V1鏁版嵁" enable="true" class="com.dy.rtuMw.server.rtuData.pSdV1.TkFindPSdV1"></task> + <task id="TkFindPSdV1" name="璇嗗埆灞变笢V1鏁版嵁" enable="true" class="com.dy.rtuMw.server.rtuData.pSdV1.TkFindPSdV1"> + <task id="TkPreGenObjs4ManureSdV1" name="涓哄鐞嗘按鑲ユ満鏁版嵁棰勫厛鍑嗗鍚勫璞�" enable="true" class="com.dy.rtuMw.server.rtuData.pSdV1.TkPreGenObjs4ManureSdV1"> + <task id="TkDealManureSdV1" name="澶勭悊姘磋偉鏁版嵁" enable="true" class="com.dy.rtuMw.server.rtuData.pSdV1.TkDealManureSdV1"> + </task> + <!-- 鍙湁姘磋偉鏈烘湁杩滅▼鍛戒护 --> + <task id="TkFindComResponseSdV1" name="璇嗗埆鍝嶅簲鍛戒护鏁版嵁" enable="true" class="com.dy.rtuMw.server.rtuData.pSdV1.TkFindComResponseSdV1"> + <task id="TkDealCommandResponseSdV1" name="姘磋偉鏈哄搷搴斿懡浠ゆ暟鎹�" enable="true" class="com.dy.rtuMw.server.rtuData.pSdV1.TkDealCommandResponseSdV1" > + </task> + </task> + </task> + <task id="TkPreGenObjs4WeatherSdV1" name="涓哄鐞嗘皵璞℃暟鎹鍏堝噯澶囧悇瀵硅薄" enable="true" class="com.dy.rtuMw.server.rtuData.pSdV1.TkPreGenObjs4WeatherSdV1"> + <task id="TkDealWeatherSdV1" name="澶勭悊姘旇薄鏁版嵁" enable="true" class="com.dy.rtuMw.server.rtuData.pSdV1.TkDealWeatherSdV1"> + </task> + </task> + <task id="TkPreGenObjs4SoilSdV1" name="涓哄鐞嗗鎯呮暟鎹鍏堝噯澶囧悇瀵硅薄" enable="true" class="com.dy.rtuMw.server.rtuData.pSdV1.TkPreGenObjs4SoilSdV1"> + <task id="TkDealSoilSdV1" name="澶勭悊澧掓儏鏁版嵁" enable="true" class="com.dy.rtuMw.server.rtuData.pSdV1.TkDealSoilSdV1"> + </task> + </task> + </task> </task> </task> </project> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml index a9a11ed..74792d9 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml @@ -174,6 +174,7 @@ sendInterval 鍛戒护鍙戦�侀棿闅旓紙鍗曚綅绉掞級锛屽彇鍊艰寖鍥存槸1~3600 reSendTimesByNoResult 鏈敹鍒板懡浠ょ粨鏋滄椂锛屾渶澶ч噸澶嶅彂閫佹鏁帮紝鍙栧�艰寖鍥存槸0~100, 0鏃惰〃绀轰笉閲嶅鍙戦�� comCacheTimeout: 鍛戒护鏈�澶х紦瀛樻椂闀�(绉�)锛屽彇鍊艰寖鍥存槸1~3600 + acceptDataMinInterval:鍥犱负涓婅鏁版嵁瀵嗗害杈冨ぇ锛堝10绉掍笂琛屼竴鏉℃暟鎹級锛屾暟鎹鐞嗕笌瀛樺偍鍘嬪姏澶э紝鎵�浠ユ渶灏忛棿闅斾竴瀹氭椂闂达紙鍒嗛挓锛夌湡姝f帴鏀跺鐞嗕竴鏉′笂琛屾暟鎹� useMemoryPersistence 浣跨敤鍐呭瓨鎸佷箙鍖栬�岄潪榛樿鐨勬枃浠舵寔涔呭寲(true鏄� false鍚�) protocolAndDeviceIds 鍦ㄥ瓙绯荤粺锛坥rgTag锛変腑鎺ュ叆鐨勮澶�(FBox)鎵�鐢ㄥ崗璁強璁惧id闆嗗悎,澶氫釜鐢ㄩ�楀彿闅斿紑锛屽崗璁笌ID鐢ㄦ鏂滄潬闅斿紑锛屼緥濡傦細sd1/338220031439,sd1/338220031440 subTopicAndQos: 璁㈤槄涓婚涓嶲os锛屼富棰樺悕涓庡叾Qos鐢ㄩ�楀彿闅斿紑锛屽涓富棰樺強Qos鐢ㄥ垎鍙烽殧寮�锛屼緥濡傦細ym/topic1,1;ym/topic2,1;ym/topic3,1锛屽鏋滄湁澶氫釜OrgTag锛屼富棰樺墠缂�鐢ㄥ叾OrgTag @@ -192,6 +193,7 @@ sendInterval="60" reSendTimesByNoResult="0" comCacheTimeout="30" + acceptDataMinInterval="60" useMemoryPersistence="true" protocolAndDeviceIds="${mqtt.protocolAndDeviceIds}" subTopicAndQos="${mqtt.subTopicAndQos}" 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 new file mode 100644 index 0000000..1b6f71b --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureCtrl.java @@ -0,0 +1,66 @@ +package com.dy.pipIrrRemote.mqttSd1.manure; + +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.VoManure; +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/25 16:17 + * @Description + */ +@Slf4j +@Tag(name = "姘磋偉鏁版嵁鏌ヨ", description = "姘磋偉鏁版嵁鏌ヨ") +@RestController("rmManureCtrl") +@RequestMapping(path = "manure") +@RequiredArgsConstructor +public class ManureCtrl { + + private ManureSv sv; + + @Autowired + public void setSv(ManureSv sv){ + this.sv = sv ; + } + + /** + * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鍘嗗彶璁板綍 + * @param qo + * @return + */ + @GetMapping(path = "history") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoManure>>> selectHistory(ManureQo qo){ + try { + return BaseResponseUtils.buildSuccess(sv.selectHistory(qo)); + } catch (Exception e) { + return BaseResponseUtils.buildException(e.getMessage()) ; + } + } + + /** + * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鏈�鏂拌褰� + * @param qo + * @return + */ + @GetMapping(path = "last") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoManure>>> selectLast(ManureQo qo){ + try { + return BaseResponseUtils.buildSuccess(sv.selectLast(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 new file mode 100644 index 0000000..05076fb --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureQo.java @@ -0,0 +1,57 @@ +package com.dy.pipIrrRemote.mqttSd1.manure; + +import com.dy.common.webUtil.QueryConditionVo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +/** + * @Author: liurunyu + * @Date: 2025/6/25 16:18 + * @Description + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ToString(callSuper = true) +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class ManureQo extends QueryConditionVo { + /** + * 姘磋偉鏈篒D + */ + @Schema(description = "姘磋偉鏈篒D", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private Long manureId; + + /** + * 姘磋偉绔欑紪鍙� + */ + @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/manure/ManureSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureSv.java new file mode 100644 index 0000000..609c9fd --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/mqttSd1/manure/ManureSv.java @@ -0,0 +1,70 @@ +package com.dy.pipIrrRemote.mqttSd1.manure; + +import com.dy.common.webUtil.QueryResultVo; +import com.dy.pipIrrGlobal.daoRm.RmManureHistoryMapper; +import com.dy.pipIrrGlobal.daoRm.RmManureLastMapper; +import com.dy.pipIrrGlobal.voRm.VoManure; +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/25 16:18 + * @Description + */ +@Slf4j +@Service("rmManureSv") +@RequiredArgsConstructor +public class ManureSv { + + @Autowired + private RmManureHistoryMapper rmManureHistoryDao ; + @Autowired + private RmManureLastMapper rmManureLastDao ; + + /** + * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鍘嗗彶璁板綍 + * @param qo + * @return + */ + public QueryResultVo<List<VoManure>> selectHistory(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 ; + } + + /** + * 鏍规嵁鎸囧畾鏉′欢鏌ヨ鏈�鏂拌褰� + * @param qo + * @return + */ + public QueryResultVo<List<VoManure>> selectLast(ManureQo qo) { + qo.completionTime(); + + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo); + Long itemTotal = rmManureLastDao.selectCount(params); + + QueryResultVo<List<VoManure>> rsVo = new QueryResultVo<>() ; + rsVo.pageSize = qo.pageSize ; + rsVo.pageCurr = qo.pageCurr ; + + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = rmManureLastDao.selectSome(params); + return rsVo ; + } +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardCtrl.java index ea8f0f8..8a4e1b4 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardCtrl.java @@ -54,7 +54,10 @@ return BaseResponseUtils .buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } - + // 妫�鏌ュ崱鐗囧湴鍧�鏄惁宸插瓨鍦� + if (cardSv.isCardAddrExists(po.getCardAddr())) { + return BaseResponseUtils.buildErrorMsg("璇ュ崱鐗囧湴鍧�宸插瓨鍦紝璇蜂娇鐢ㄥ叾浠栧崱"); + } Map map_result = cardSv.activeOrReissueTermCard(po); if (map_result.get("success").equals(false)) { return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString()); @@ -379,7 +382,7 @@ // 妫�鏌ュ崱鐗囧湴鍧�鏄惁宸插瓨鍦� if (cardSv.isCardAddrExists(dto.getCardAddr())) { - return BaseResponseUtils.buildErrorMsg("璇ュ崱鐗囧湴鍧�宸插瓨鍦紝璇蜂娇鐢ㄥ叾浠栧湴鍧�"); + return BaseResponseUtils.buildErrorMsg("璇ュ崱鐗囧湴鍧�宸插瓨鍦紝璇蜂娇鐢ㄥ叾浠栧崱"); } Map<String, Object> result = cardSv.createManagementCard(dto); diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/DtoRecharge.java b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/DtoRecharge.java index 1ff7254..02d6922 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/DtoRecharge.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/DtoRecharge.java @@ -52,6 +52,7 @@ /** * 浠樻鏂瑰紡缂栧彿 */ + @NotNull(message = "浠樻鏂瑰紡涓嶈兘涓虹┖") private Long paymentId; /** -- Gitblit v1.8.0