From f74db84df0e3797e0a2db1faa50adcb778a5150a Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 27 六月 2025 11:33:35 +0800
Subject: [PATCH] 1、完善水肥、墒情、气象相关Mapper代码; 2、解决表阀一体机远程关阀出现的订单号不一致专制不能关阀问题(王江海测试发现)。
---
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cdA2/CdSv.java | 25 +++++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmManureHistoryMapper.java | 6 +
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilHistoryMapper.java | 6 +
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cdA3/CdSv.java | 17 +++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherLastMapper.java | 6 +
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.properties | 6
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cdA2/CdCtrl.java | 50 +++++++++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmManureLastMapper.java | 6 +
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cdA3/CdCtrl.java | 18 +++
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdSv.java | 25 +++++
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/ComSv.java | 1
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdSv.java | 19 +++
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdCtrl.java | 50 +++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdCtrl.java | 18 +++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherHistoryMapper.java | 6 +
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilLastMapper.java | 6 +
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/CommandSv.java | 2
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilDayMapper.java | 6 +
18 files changed, 256 insertions(+), 17 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/CommandSv.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/CommandSv.java
index a862c21..9bc0238 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/CommandSv.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/CommandSv.java
@@ -16,6 +16,7 @@
import com.dy.pipIrrGlobal.pojoPr.PrController;
import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
import com.dy.pipIrrGlobal.rtuMw.Web2RtuMw;
+import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
@@ -81,6 +82,7 @@
* @param operator
* @return
*/
+ @Transactional(rollbackFor = Exception.class)
public RmCommandHistory saveComHistoryPo(RmCommandHistoryMapper rmCommandHistoryDao,
Long comId,
String protocol,
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
index c4f3aa0..5197f89 100644
--- 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
@@ -1,7 +1,10 @@
package com.dy.pipIrrGlobal.daoRm;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dy.pipIrrGlobal.pojoRm.RmCommandOpen;
import com.dy.pipIrrGlobal.pojoRm.RmManureHistory;
import com.dy.pipIrrGlobal.voRm.VoManure;
+import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@@ -11,7 +14,8 @@
* @Date: 2025/6/25 10:03
* @Description
*/
-public interface RmManureHistoryMapper {
+@Mapper
+public interface RmManureHistoryMapper extends BaseMapper<RmManureHistory> {
int deleteByPrimaryKey(Long id);
int insert(RmManureHistory record);
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmManureLastMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmManureLastMapper.java
index 1fa5b88..0773fec 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmManureLastMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmManureLastMapper.java
@@ -1,7 +1,10 @@
package com.dy.pipIrrGlobal.daoRm;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dy.pipIrrGlobal.pojoRm.RmCommandOpen;
import com.dy.pipIrrGlobal.pojoRm.RmManureLast;
import com.dy.pipIrrGlobal.voRm.VoManure;
+import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -12,7 +15,8 @@
* @Date: 2025/6/25 10:03
* @Description
*/
-public interface RmManureLastMapper {
+@Mapper
+public interface RmManureLastMapper extends BaseMapper<RmManureLast> {
int deleteByPrimaryKey(Long id);
int insert(RmManureLast record);
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilDayMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilDayMapper.java
index 4310755..7c2397b 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilDayMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilDayMapper.java
@@ -1,9 +1,12 @@
package com.dy.pipIrrGlobal.daoRm;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dy.pipIrrGlobal.pojoRm.RmManureLast;
import com.dy.pipIrrGlobal.pojoRm.RmSoilDay;
import com.dy.pipIrrGlobal.pojoRm.RmSoilLast;
import com.dy.pipIrrGlobal.voRm.VoSoil;
import com.dy.pipIrrGlobal.voRm.VoSoilDay;
+import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -14,7 +17,8 @@
* @Date: 2025/6/25 10:04
* @Description
*/
-public interface RmSoilDayMapper {
+@Mapper
+public interface RmSoilDayMapper extends BaseMapper<RmSoilDay> {
int deleteByPrimaryKey(Long id);
int insert(RmSoilDay record);
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilHistoryMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilHistoryMapper.java
index 9d07be9..9dcfa07 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilHistoryMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilHistoryMapper.java
@@ -1,7 +1,10 @@
package com.dy.pipIrrGlobal.daoRm;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dy.pipIrrGlobal.pojoRm.RmSoilDay;
import com.dy.pipIrrGlobal.pojoRm.RmSoilHistory;
import com.dy.pipIrrGlobal.voRm.VoSoil;
+import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@@ -11,7 +14,8 @@
* @Date: 2025/6/25 10:04
* @Description
*/
-public interface RmSoilHistoryMapper {
+@Mapper
+public interface RmSoilHistoryMapper extends BaseMapper<RmSoilHistory> {
int deleteByPrimaryKey(Long id);
int insert(RmSoilHistory record);
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilLastMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilLastMapper.java
index f2f5382..117a542 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilLastMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmSoilLastMapper.java
@@ -1,7 +1,10 @@
package com.dy.pipIrrGlobal.daoRm;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dy.pipIrrGlobal.pojoRm.RmSoilHistory;
import com.dy.pipIrrGlobal.pojoRm.RmSoilLast;
import com.dy.pipIrrGlobal.voRm.VoSoil;
+import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -12,7 +15,8 @@
* @Date: 2025/6/25 10:04
* @Description
*/
-public interface RmSoilLastMapper {
+@Mapper
+public interface RmSoilLastMapper extends BaseMapper<RmSoilLast> {
int deleteByPrimaryKey(Long id);
int insert(RmSoilLast record);
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherHistoryMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherHistoryMapper.java
index 10ae489..ffa0532 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherHistoryMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherHistoryMapper.java
@@ -1,7 +1,10 @@
package com.dy.pipIrrGlobal.daoRm;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dy.pipIrrGlobal.pojoRm.RmSoilLast;
import com.dy.pipIrrGlobal.pojoRm.RmWeatherHistory;
import com.dy.pipIrrGlobal.voRm.VoWeather;
+import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@@ -11,7 +14,8 @@
* @Date: 2025/6/25 10:39
* @Description
*/
-public interface RmWeatherHistoryMapper {
+@Mapper
+public interface RmWeatherHistoryMapper extends BaseMapper<RmWeatherHistory> {
int deleteByPrimaryKey(Long id);
int insert(RmWeatherHistory record);
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherLastMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherLastMapper.java
index d5e33d1..3c7c4fa 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherLastMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmWeatherLastMapper.java
@@ -1,7 +1,10 @@
package com.dy.pipIrrGlobal.daoRm;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dy.pipIrrGlobal.pojoRm.RmWeatherHistory;
import com.dy.pipIrrGlobal.pojoRm.RmWeatherLast;
import com.dy.pipIrrGlobal.voRm.VoWeather;
+import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -12,7 +15,8 @@
* @Date: 2025/6/25 10:39
* @Description
*/
-public interface RmWeatherLastMapper {
+@Mapper
+public interface RmWeatherLastMapper extends BaseMapper<RmWeatherLast> {
int deleteByPrimaryKey(Long id);
int insert(RmWeatherLast record);
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.properties b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.properties
index 6b48b8c..42235ec 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.properties
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.properties
@@ -41,13 +41,13 @@
# 娴嬭瘯锛� mqtt.enable=false mqtt.protocolAndDeviceIds= mqtt.topicAndQos=
# 姊呮睙锛� mqtt.enable=false mqtt.protocolAndDeviceIds= mqtt.topicAndQos=
# 121鏈嶅姟鍣細
-# 姘戝嫟锛� mqtt.enable=true mqtt.protocolAndDeviceIds=? mqtt.topicAndQos=weather/1,1;soil/1,1;manure/1,1;state/1,1
+# 姘戝嫟锛� mqtt.enable=true mqtt.protocolAndDeviceIds=? mqtt.topicAndQos=weather/1,1;soil/1,1;manure/1,1
# 寤跺簡锛� mqtt.enable=false mqtt.protocolAndDeviceIds= mqtt.topicAndQos=
# 榛戦緳姹燂細 mqtt.enable=false mqtt.protocolAndDeviceIds= mqtt.topicAndQos=
# 鐢樺窞锛� mqtt.enable=false mqtt.protocolAndDeviceIds= mqtt.topicAndQos=
# 鍑夊窞锛� mqtt.enable=false mqtt.protocolAndDeviceIds= mqtt.topicAndQos=
-# 閲戝窛锛� mqtt.enable=true mqtt.protocolAndDeviceIds=? mqtt.topicAndQos=weather/1,1;soil/1,1;manure/1,1;state/1,1
-# 鍢夊唱鍏筹細 mqtt.enable=true mqtt.protocolAndDeviceIds=? mqtt.topicAndQos=weather/1,1;soil/1,1;manure/1,1;state/1,1
+# 閲戝窛锛� mqtt.enable=true mqtt.protocolAndDeviceIds=? mqtt.topicAndQos=weather/1,1;soil/1,1;manure/1,1
+# 鍢夊唱鍏筹細 mqtt.enable=true mqtt.protocolAndDeviceIds=? mqtt.topicAndQos=weather/1,1;soil/1,1;manure/1,1
mqtt.enable=false
mqtt.ip=127.0.0.1
mqtt.port=1883
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/ComSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/ComSv.java
index b2e5864..27131f2 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/ComSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/ComSv.java
@@ -62,6 +62,7 @@
* @param intakeId
* @return
*/
+ @Transactional(rollbackFor = Exception.class)
public PrCommonIntakes addOrUpdateOftenUseIntake(Long operatorId, Long intakeId) {
PrCommonIntakes po = prCommonIntakesDao.selectByOperatorAndIntake(operatorId, intakeId);
if(po == null) {
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdCtrl.java
index 26de6cf..fa21331 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdCtrl.java
@@ -8,6 +8,7 @@
import com.dy.common.util.Callback;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.pipIrrGlobal.pojoRm.RmCommandOpen;
import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
import com.dy.pipIrrRemote.common.dto.DtoBase;
import com.dy.pipIrrRemote.monitor.common.ComCtrl;
@@ -24,6 +25,8 @@
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Date;
/**
* @Author: liurunyu
@@ -87,13 +90,14 @@
if(waterPrice == null){
return BaseResponseUtils.buildErrorMsg("鏈嶅姟绔嚭閿欙紝鏈緱鍒版按浠�") ;
}
+ String orderNo = RandomStringUtils.randomNumeric(16) ;
CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType)
.icCardNo("" + vcPo.getVcNum())//鐢ㄦ埛鍗″簭鍒楀彿锛�17浣嶆暟瀛楋級锛�6瀛楄妭BCD锛�2瀛楄妭HEX锛�
.waterRemain(0.0)//鐢ㄦ埛鍓╀綑姘撮噺, 涓や釜灏忔暟鐐�, 鍗曚綅m3, 0~99999999.99
.moneyRemain(vcPo.getMoney())//鐢ㄦ埛鍓╀綑姘撮噺, 涓や釜灏忔暟鐐�, 鍗曚綅m3, 0~99999999.99
.waterPrice(waterPrice)//姘撮噺鍗曚环 鍗曚綅:鍏�, 2涓皬鏁扮偣
.elePrice(0.0)//鐢甸噺鍗曚环 鍗曚綅:鍏�, 2涓皬鏁扮偣
- .orderNo(RandomStringUtils.randomNumeric(16))//璁㈠崟鍙凤紙16浣嶆暟瀛楋級
+ .orderNo(orderNo)//璁㈠崟鍙凤紙16浣嶆暟瀛楋級
.build();
//鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
res = super.pre3(sv, dto.getIntakeId(), dto.getOperator(), ComCode, comParam);
@@ -118,6 +122,15 @@
sv.addOrUpdateOftenUseIntake(dto.getOperator(), dto.getIntakeId()) ;
//寮�闃�鎴愬姛锛岃櫄鎷熷崱璁板綍涓婃爣璁板凡琚崰鐢�
sv.setVcUsed(vcPo.getId(), dto.getIntakeId());
+ //璁板綍寮�闃�鍛戒护锛屼互澶囪繙绋嬪叧闃�
+ RmCommandOpen comOpen = sv.getCommandOpen(dto.getIntakeId());
+ if(comOpen == null){
+ RmCommandOpen po = newRmCommandOpen(comId, ctrlPo.getProtocol(), ComCode, comName, dto.getIntakeId(), ctrlPo.getRtuAddr(), vcPo.getVcNum(), orderNo, dto.getOperator()) ;
+ sv.saveCommandOpen(po);
+ }else{
+ setRmCommandOpen(comOpen, comId, ctrlPo.getProtocol(), ComCode, comName, dto.getIntakeId(), ctrlPo.getRtuAddr(), vcPo.getVcNum(), orderNo, dto.getOperator()) ;
+ sv.updateCommandOpen(comOpen);
+ }
}
}
@Override
@@ -173,4 +186,39 @@
}
return msg;
}
+
+ private RmCommandOpen newRmCommandOpen(Long comId,
+ String protocol,
+ String comCode,
+ String comName,
+ Long intakeId,
+ String rtuAddr,
+ Long vcNum,
+ String orderNo,
+ Long operator){
+ RmCommandOpen po = new RmCommandOpen() ;
+ this.setRmCommandOpen(po, comId, protocol, comCode, comName, intakeId, rtuAddr, vcNum, orderNo, operator);
+ return po ;
+ }
+ private void setRmCommandOpen(RmCommandOpen po,
+ Long comId,
+ String protocol,
+ String comCode,
+ String comName,
+ Long intakeId,
+ String rtuAddr,
+ Long vcNum,
+ String orderNo,
+ Long operator){
+ po.comId = comId ;
+ po.protocol = protocol ;
+ po.commandCode = comCode ;
+ po.commandName = comName ;
+ po.intakeId = intakeId ;
+ po.rtuAddr = rtuAddr ;
+ po.vcNum = vcNum ;
+ po.orderNo = orderNo ;
+ po.operator = operator ;
+ po.sendTime = new Date() ;
+ }
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdSv.java
index afd477b..9328b6b 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdSv.java
@@ -2,15 +2,19 @@
import com.dy.pipIrrGlobal.daoPr.PrIntakeVcMapper;
import com.dy.pipIrrGlobal.daoPr.PrWaterPriceMapper;
+import com.dy.pipIrrGlobal.daoRm.RmCommandOpenMapper;
import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper;
+import com.dy.pipIrrGlobal.pojoRm.RmCommandOpen;
import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard;
import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
import com.dy.pipIrrRemote.monitor.common.ComSv;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
+import java.util.List;
/**
* @Author: liurunyu
@@ -26,6 +30,8 @@
protected PrWaterPriceMapper prWaterPriceDao ;
@Autowired
protected PrIntakeVcMapper prIntakeVcDao ;
+ @Autowired
+ protected RmCommandOpenMapper rmCommandOpenDao ;
public VoVirtualCard selectClientVtCardById(Long id){
return seVirtualCardDao.getVcById(id) ;
@@ -44,6 +50,7 @@
/**
* 璁剧疆铏氭嫙鍗¤鍗犵敤
*/
+ @Transactional(rollbackFor = Exception.class)
public void setVcUsed(Long id, Long intakeId){
SeVirtualCard po = new SeVirtualCard() ;
po.setId(id);
@@ -52,4 +59,22 @@
po.setOpenTime(new Date());
seVirtualCardDao.updateByPrimaryKeySelective(po);
}
+
+ public RmCommandOpen getCommandOpen(Long intakeId){
+ List<RmCommandOpen> list = rmCommandOpenDao.selectByIntakeId(intakeId) ;
+ if(list != null && list.size() > 0){
+ return list.get(0) ;
+ }
+ return null ;
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public void saveCommandOpen(RmCommandOpen po){
+ rmCommandOpenDao.insert(po) ;
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public void updateCommandOpen(RmCommandOpen po){
+ rmCommandOpenDao.updateByPrimaryKeySelective(po) ;
+ }
}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdCtrl.java
index 4755282..9f00fbe 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdCtrl.java
@@ -8,7 +8,7 @@
import com.dy.common.util.Callback;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
-import com.dy.pipIrrGlobal.voRm.VoUnclosedParam;
+import com.dy.pipIrrGlobal.pojoRm.RmCommandOpen;
import com.dy.pipIrrRemote.common.dto.DtoBase;
import com.dy.pipIrrRemote.monitor.common.ComCtrl;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -60,6 +60,8 @@
res = super.pre2(sv, ComCode, dto, bindingResult);
if (res == null) {
//鑾峰彇寮�闃�鍛戒护鍙傛暟
+ /*
+ 2025-06-27鍘熸潵鐨勫疄鐜帮紝鍘熸潵娌℃湁璁捐RmCommandOpen瀵硅薄鍙婂叾瀵瑰簲鐨勬暟鎹簱琛�
VoUnclosedParam opPa = sv.selectUncloseParam(dto.getIntakeId(), ctrlPo.getRtuAddr());
if(opPa == null) {
return BaseResponseUtils.buildFail("璇ュ彇姘村彛涓婃棤鎮ㄦ渶杩戠殑寮�闃�鎿嶄綔");
@@ -73,6 +75,20 @@
.icCardNo(opPa.getVcNum())//鐢ㄦ埛鍗″簭鍒楀彿锛�17浣嶆暟瀛楋級锛�6瀛楄妭BCD锛�2瀛楄妭HEX锛�
.orderNo(opPa.getOrderNo())//璁㈠崟鍙凤紙16浣嶆暟瀛楋級
.build();
+ */
+ RmCommandOpen comOpen = sv.getCommandOpen(dto.getIntakeId()) ;
+ if(comOpen == null) {
+ return BaseResponseUtils.buildFail("璇ュ彇姘村彛涓婃棤鎮ㄦ渶杩戠殑寮�闃�鎿嶄綔");
+ }
+ Long vcId = sv.getVcIdByNum("" + comOpen.vcNum) ;
+ if(vcId == null) {
+ return BaseResponseUtils.buildFail("鏈嶅姟绔嚭閿欙紝鏈緱鍒拌櫄鎷熷崱ID");
+ }
+ //鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
+ CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType)
+ .icCardNo("" + comOpen.vcNum)//鐢ㄦ埛鍗″簭鍒楀彿锛�17浣嶆暟瀛楋級锛�6瀛楄妭BCD锛�2瀛楄妭HEX锛�
+ .orderNo(comOpen.orderNo)//璁㈠崟鍙凤紙16浣嶆暟瀛楋級
+ .build();
res = super.pre3(sv, dto.getIntakeId(), dto.getOperator(), ComCode, comParam);
if (res == null) {
//鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdSv.java
index fa1a23a..6b64a55 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdSv.java
@@ -1,13 +1,18 @@
package com.dy.pipIrrRemote.monitor.p202404V201.cd93;
import com.dy.pipIrrGlobal.daoPr.PrWaterPriceMapper;
+import com.dy.pipIrrGlobal.daoRm.RmCommandOpenMapper;
import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper;
+import com.dy.pipIrrGlobal.pojoRm.RmCommandOpen;
import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard;
import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
import com.dy.pipIrrRemote.monitor.common.ComSv;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
/**
* @Author: liurunyu
@@ -20,13 +25,14 @@
@Autowired
protected SeVirtualCardMapper seVirtualCardDao ;
-
@Autowired
protected PrWaterPriceMapper prWaterPriceDao ;
-
+ @Autowired
+ protected RmCommandOpenMapper rmCommandOpenDao ;
/**
* 瑙i櫎铏氭嫙鍗¤鍗犵敤
*/
+ @Transactional(rollbackFor = Exception.class)
public void setVcNoUsed(Long id){
SeVirtualCard po = new SeVirtualCard() ;
po.setId(id);
@@ -44,4 +50,13 @@
public Long getVcIdByNum(String vcNum){
return seVirtualCardDao.getVcIdByNum(vcNum) ;
}
+
+
+ public RmCommandOpen getCommandOpen(Long intakeId){
+ List<RmCommandOpen> list = rmCommandOpenDao.selectByIntakeId(intakeId) ;
+ if(list != null && list.size() > 0){
+ return list.get(0) ;
+ }
+ return null ;
+ }
}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cdA2/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cdA2/CdCtrl.java
index e7e393a..ee7a855 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cdA2/CdCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cdA2/CdCtrl.java
@@ -8,6 +8,7 @@
import com.dy.common.util.Callback;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.pipIrrGlobal.pojoRm.RmCommandOpen;
import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
import com.dy.pipIrrRemote.common.dto.DtoBase;
import com.dy.pipIrrRemote.monitor.common.ComCtrl;
@@ -24,6 +25,8 @@
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Date;
/**
* @Author: liurunyu
@@ -87,13 +90,14 @@
if(waterPrice == null){
return BaseResponseUtils.buildErrorMsg("鏈嶅姟绔嚭閿欙紝鏈緱鍒版按浠�") ;
}
+ String orderNo = RandomStringUtils.randomNumeric(16) ;
CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType)
.icCardNo("" + vcPo.getVcNum())//鐢ㄦ埛鍗″簭鍒楀彿锛�17浣嶆暟瀛楋級锛�6瀛楄妭BCD锛�2瀛楄妭HEX锛�
.waterRemain(0.0)//鐢ㄦ埛鍓╀綑姘撮噺, 涓や釜灏忔暟鐐�, 鍗曚綅m3, 0~99999999.99
.moneyRemain(vcPo.getMoney())//鐢ㄦ埛鍓╀綑姘撮噺, 涓や釜灏忔暟鐐�, 鍗曚綅m3, 0~99999999.99
.waterPrice(waterPrice)//姘撮噺鍗曚环 鍗曚綅:鍏�, 2涓皬鏁扮偣
.elePrice(0.0)//鐢甸噺鍗曚环 鍗曚綅:鍏�, 2涓皬鏁扮偣
- .orderNo(RandomStringUtils.randomNumeric(16))//璁㈠崟鍙凤紙16浣嶆暟瀛楋級
+ .orderNo(orderNo)//璁㈠崟鍙凤紙16浣嶆暟瀛楋級
.build();
//鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
res = super.pre3(sv, dto.getIntakeId(), dto.getOperator(), ComCode, comParam);
@@ -118,6 +122,15 @@
sv.addOrUpdateOftenUseIntake(dto.getOperator(), dto.getIntakeId()) ;
//寮�闃�鎴愬姛锛岃櫄鎷熷崱璁板綍涓婃爣璁板凡琚崰鐢�
sv.setVcUsed(vcPo.getId(), dto.getIntakeId());
+ //璁板綍寮�闃�鍛戒护锛屼互澶囪繙绋嬪叧闃�
+ RmCommandOpen comOpen = sv.getCommandOpen(dto.getIntakeId());
+ if(comOpen == null){
+ RmCommandOpen po = newRmCommandOpen(comId, ctrlPo.getProtocol(), ComCode, comName, dto.getIntakeId(), ctrlPo.getRtuAddr(), vcPo.getVcNum(), orderNo, dto.getOperator()) ;
+ sv.saveCommandOpen(po);
+ }else{
+ setRmCommandOpen(comOpen, comId, ctrlPo.getProtocol(), ComCode, comName, dto.getIntakeId(), ctrlPo.getRtuAddr(), vcPo.getVcNum(), orderNo, dto.getOperator()) ;
+ sv.updateCommandOpen(comOpen);
+ }
}
}
@Override
@@ -173,4 +186,39 @@
}
return msg;
}
+
+ private RmCommandOpen newRmCommandOpen(Long comId,
+ String protocol,
+ String comCode,
+ String comName,
+ Long intakeId,
+ String rtuAddr,
+ Long vcNum,
+ String orderNo,
+ Long operator){
+ RmCommandOpen po = new RmCommandOpen() ;
+ this.setRmCommandOpen(po, comId, protocol, comCode, comName, intakeId, rtuAddr, vcNum, orderNo, operator);
+ return po ;
+ }
+ private void setRmCommandOpen(RmCommandOpen po,
+ Long comId,
+ String protocol,
+ String comCode,
+ String comName,
+ Long intakeId,
+ String rtuAddr,
+ Long vcNum,
+ String orderNo,
+ Long operator){
+ po.comId = comId ;
+ po.protocol = protocol ;
+ po.commandCode = comCode ;
+ po.commandName = comName ;
+ po.intakeId = intakeId ;
+ po.rtuAddr = rtuAddr ;
+ po.vcNum = vcNum ;
+ po.orderNo = orderNo ;
+ po.operator = operator ;
+ po.sendTime = new Date() ;
+ }
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cdA2/CdSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cdA2/CdSv.java
index 0a1fad3..4b2c04c 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cdA2/CdSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cdA2/CdSv.java
@@ -2,15 +2,19 @@
import com.dy.pipIrrGlobal.daoPr.PrIntakeVcMapper;
import com.dy.pipIrrGlobal.daoPr.PrWaterPriceMapper;
+import com.dy.pipIrrGlobal.daoRm.RmCommandOpenMapper;
import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper;
+import com.dy.pipIrrGlobal.pojoRm.RmCommandOpen;
import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard;
import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
import com.dy.pipIrrRemote.monitor.common.ComSv;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
+import java.util.List;
/**
* @Author: liurunyu
@@ -26,6 +30,8 @@
protected PrWaterPriceMapper prWaterPriceDao ;
@Autowired
protected PrIntakeVcMapper prIntakeVcDao ;
+ @Autowired
+ protected RmCommandOpenMapper rmCommandOpenDao ;
public VoVirtualCard selectClientVtCardById(Long id){
return seVirtualCardDao.getVcById(id) ;
@@ -52,4 +58,23 @@
po.setOpenTime(new Date());
seVirtualCardDao.updateByPrimaryKeySelective(po);
}
+
+ public RmCommandOpen getCommandOpen(Long intakeId){
+ List<RmCommandOpen> list = rmCommandOpenDao.selectByIntakeId(intakeId) ;
+ if(list != null && list.size() > 0){
+ return list.get(0) ;
+ }
+ return null ;
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public void saveCommandOpen(RmCommandOpen po){
+ rmCommandOpenDao.insert(po) ;
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public void updateCommandOpen(RmCommandOpen po){
+ rmCommandOpenDao.updateByPrimaryKeySelective(po) ;
+ }
+
}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cdA3/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cdA3/CdCtrl.java
index 2c5626f..c7b5924 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cdA3/CdCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cdA3/CdCtrl.java
@@ -8,9 +8,11 @@
import com.dy.common.util.Callback;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.pipIrrGlobal.pojoRm.RmCommandOpen;
import com.dy.pipIrrGlobal.voRm.VoUnclosedParam;
import com.dy.pipIrrRemote.common.dto.DtoBase;
import com.dy.pipIrrRemote.monitor.common.ComCtrl;
+import com.dy.pipIrrRemote.monitor.p202404V201.cd93.CdParam;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
@@ -60,6 +62,8 @@
res = super.pre2(sv, ComCode, dto, bindingResult);
if (res == null) {
//鑾峰彇寮�闃�鍛戒护鍙傛暟
+ /*
+ 2025-06-27鍘熸潵鐨勫疄鐜帮紝鍘熸潵娌℃湁璁捐RmCommandOpen瀵硅薄鍙婂叾瀵瑰簲鐨勬暟鎹簱琛�
VoUnclosedParam opPa = sv.selectUncloseParam(dto.getIntakeId(), ctrlPo.getRtuAddr());
if(opPa == null) {
return BaseResponseUtils.buildFail("璇ュ彇姘村彛涓婃棤鎮ㄦ渶杩戠殑寮�闃�鎿嶄綔");
@@ -73,6 +77,20 @@
.icCardNo(opPa.getVcNum())//鐢ㄦ埛鍗″簭鍒楀彿锛�17浣嶆暟瀛楋級锛�6瀛楄妭BCD锛�2瀛楄妭HEX锛�
.orderNo(opPa.getOrderNo())//璁㈠崟鍙凤紙16浣嶆暟瀛楋級
.build();
+ */
+ RmCommandOpen comOpen = sv.getCommandOpen(dto.getIntakeId()) ;
+ if(comOpen == null) {
+ return BaseResponseUtils.buildFail("璇ュ彇姘村彛涓婃棤鎮ㄦ渶杩戠殑寮�闃�鎿嶄綔");
+ }
+ Long vcId = sv.getVcIdByNum("" + comOpen.vcNum) ;
+ if(vcId == null) {
+ return BaseResponseUtils.buildFail("鏈嶅姟绔嚭閿欙紝鏈緱鍒拌櫄鎷熷崱ID");
+ }
+ //鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
+ com.dy.pipIrrRemote.monitor.p202404V201.cd93.CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType)
+ .icCardNo("" + comOpen.vcNum)//鐢ㄦ埛鍗″簭鍒楀彿锛�17浣嶆暟瀛楋級锛�6瀛楄妭BCD锛�2瀛楄妭HEX锛�
+ .orderNo(comOpen.orderNo)//璁㈠崟鍙凤紙16浣嶆暟瀛楋級
+ .build();
res = super.pre3(sv, dto.getIntakeId(), dto.getOperator(), ComCode, comParam);
if (res == null) {
//鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cdA3/CdSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cdA3/CdSv.java
index 7c37b0d..a4304df 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cdA3/CdSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cdA3/CdSv.java
@@ -1,13 +1,17 @@
package com.dy.pipIrrRemote.monitor.p202404V201.cdA3;
import com.dy.pipIrrGlobal.daoPr.PrWaterPriceMapper;
+import com.dy.pipIrrGlobal.daoRm.RmCommandOpenMapper;
import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper;
+import com.dy.pipIrrGlobal.pojoRm.RmCommandOpen;
import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard;
import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
import com.dy.pipIrrRemote.monitor.common.ComSv;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+
+import java.util.List;
/**
* @Author: liurunyu
@@ -20,10 +24,10 @@
@Autowired
protected SeVirtualCardMapper seVirtualCardDao ;
-
@Autowired
protected PrWaterPriceMapper prWaterPriceDao ;
-
+ @Autowired
+ protected RmCommandOpenMapper rmCommandOpenDao ;
/**
* 瑙i櫎铏氭嫙鍗¤鍗犵敤
*/
@@ -44,4 +48,13 @@
public Long getVcIdByNum(String vcNum){
return seVirtualCardDao.getVcIdByNum(vcNum) ;
}
+
+
+ public RmCommandOpen getCommandOpen(Long intakeId){
+ List<RmCommandOpen> list = rmCommandOpenDao.selectByIntakeId(intakeId) ;
+ if(list != null && list.size() > 0){
+ return list.get(0) ;
+ }
+ return null ;
+ }
}
\ No newline at end of file
--
Gitblit v1.8.0