From 8d76e801e612abb38123acc7edaccd24887a685b Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 15 八月 2025 09:07:42 +0800
Subject: [PATCH] 根据韩月设计,去除参数实体类(Param)及相关逻辑代码,作物实体类的开始日期与结束日期属性改为月日型。
---
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java | 126 ++++++++++++++++++++++++++++++++++-------
1 files changed, 104 insertions(+), 22 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java
index 7cc909c..a066651 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java
@@ -5,12 +5,14 @@
import com.dy.common.mw.protocol.Command;
import com.dy.common.mw.protocol.CommandType;
import com.dy.common.mw.protocol.Data;
+import com.dy.common.mw.protocol.p206V1.CodeV1;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.pipIrrGlobal.command.dto.Param;
import com.dy.pipIrrGlobal.command.enums.LastOperateENUM;
import com.dy.pipIrrGlobal.command.result.CommandResultCode;
import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper;
+import com.dy.pipIrrGlobal.daoIr.IrIntakeOperateMapper;
import com.dy.pipIrrGlobal.daoPr.PrCommonIntakesMapper;
import com.dy.pipIrrGlobal.daoPr.PrControllerMapper;
import com.dy.pipIrrGlobal.daoRm.RmCommandHistoryMapper;
@@ -29,6 +31,8 @@
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
@@ -62,10 +66,6 @@
protected String commandTypeOuter = CommandType.outerCommand;
- // 瀛樺偍瀹炰緥鍖栫殑 CompletableFuture<Data> 瀵硅薄
- protected static Map<Long, Object> features = new HashMap<>();
- //protected static Boolean setuped = false;
-
@Autowired
private RestTemplate restTemplate;
@@ -83,6 +83,9 @@
@Autowired
private PrCommonIntakesMapper prCommonIntakesMapper;
+
+ @Autowired
+ private IrIntakeOperateMapper irIntakeOperateMapper;
public static ComSupport comSupport;
@@ -205,19 +208,19 @@
*/
protected BaseResponse<Data> dealWithCallBack(Long comId, Command com) {
CompletableFuture<JSONObject> feature = new CompletableFuture<>();
- features.put(comId, feature);
+ ComResultWait.put(comId, feature);
try {
// 鍙戦�佸懡浠�
JSONObject response_SendCom = (JSONObject) JSON.toJSON(sendCom2Mw(com));
if (response_SendCom == null || !response_SendCom.getString("code").equals("0001")) {
// 璇锋眰澶辫触锛孯TU鏈笂绾匡紝娓呴櫎feature
- features.remove(comId);
+ ComResultWait.remove(comId);
JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param");
return BaseResponseUtils.buildErrorMsg(job_param.getString("message"));
}
JSONObject resultData = feature.get(180, TimeUnit.SECONDS);
- features.remove(comId);
+ ComResultWait.remove(comId);
Long commandId = resultData.getLong("commandId");
if (commandId.equals(comId)) {
@@ -254,6 +257,10 @@
} catch (Exception e) {
e.printStackTrace();
}
+
+ if(response == null) {
+ return BaseResponseUtils.buildErrorMsg("涓棿浠惰皟鐢ㄥけ璐�");
+ }
return response.getBody();
}
@@ -275,6 +282,7 @@
Object param = po.getParam();
String rtuResultSendWebUrl = po.getRtuResultSendWebUrl();
Long operator = po.getOperator();
+ Byte openType = po.getOpenType();
// 鏋勯�犲懡浠�
Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param);
@@ -302,6 +310,7 @@
rmCommandHistory.setResult((byte) 0);
rmCommandHistoryMapper.updateByPrimaryKeySelective(rmCommandHistory);
//return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
+ irIntakeOperateMapper.updateByCommandId(comId, (byte)2, response_CallBack.getMsg());
return BaseResponseUtils.buildErrorMsg(response_CallBack.getMsg());
}
@@ -317,6 +326,7 @@
rmCommandHistory.setComId(comId);
rmCommandHistory.setResult((byte) 0);
rmCommandHistoryMapper.updateByPrimaryKeySelective(rmCommandHistory);
+ irIntakeOperateMapper.updateByCommandId(comId, (byte)2, "鍥炶皟瓒呮椂");
return BaseResponseUtils.buildErrorMsg(CommandResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage());
}
@@ -324,32 +334,104 @@
* 濡傛灉鏄紑鍏抽榾锛氭洿鏀硅櫄鎷熷崱鐘舵�侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
* 鏇存柊鎵ц缁撴灉銆佽繑鍥炵粨鏋滄椂闂淬�佺粨鏋滃唴瀹�
* 杩斿洖鍥炶皟鍐呭
+ * ***************************** 铏氭嫙鍗′娇鐢ㄧ姸鎬佷笉渚濊禆寮�鍏抽榾鎰忔効锛屼緷璧栧紑鍏抽榾鎴愬姛涓庡惁
*/
- if (comType != null) {
- SeVirtualCard virtualCard = new SeVirtualCard();
- virtualCard.setId(vcId);
- if (comType == 1) {
- virtualCard.setInUse((byte) 1);
- } else {
- virtualCard.setInUse((byte) 0);
- }
- virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
- virtualCard.setLastOperateTime(new Date());
- seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
- }
+ //if (comType != null) {
+ // SeVirtualCard virtualCard = new SeVirtualCard();
+ // virtualCard.setId(vcId);
+ // if (comType == 1) {
+ // virtualCard.setInUse((byte) 1);
+ // } else {
+ // virtualCard.setInUse((byte) 0);
+ // }
+ // virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
+ // virtualCard.setLastOperateTime(new Date());
+ // seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
+ //}
// 濡傛灉鏄紑鍙戝懡浠わ紙92-骞冲彴寮�闃�锛�91-灏忕▼搴忓紑闃�锛夛紝杩斿洖缁撴灉涓坊鍔犻榾鎺у櫒鍦板潃銆佽櫄鎷熷崱缂栧彿銆佽鍗曞彿
- if(commandCode.equals("92") || commandCode.equals("97")) {
+ //if(commandCode.equals("92") || commandCode.equals("97")) {
+ if(commandCode.equals(CodeV1.cd_92) || commandCode.equals(CodeV1.cd_97)
+ || commandCode.equals(CodeV1.cd_99) || commandCode.equals(CodeV1.cd_A0)
+ || commandCode.equals(CodeV1.cd_A1) || commandCode.equals(CodeV1.cd_A2)) {
JSONObject job_response = (JSONObject) JSON.toJSON(response_CallBack);
JSONObject job_param = (JSONObject) JSON.toJSON(param);
JSONObject job_data = job_response.getJSONObject("content").getJSONObject("data");
if(!job_data.getBoolean("success")) {
- // 寮�鍏抽榾澶辫触
+ // 寮�鍏抽榾澶辫触锛屾洿鏂板懡浠ゆ墽琛岀姸鎬佸強铏氭嫙鍗$姸鎬�
+
+ rmCommandHistory = new RmCommandHistory();
+ rmCommandHistory.setComId(comId);
+ rmCommandHistory.setResult((byte) 0);
+ rmCommandHistoryMapper.updateByPrimaryKeySelective(rmCommandHistory);
+
+ if(openType != null && openType == 1 ) {
+ irIntakeOperateMapper.updateByCommandId(comId, (byte)2, "寮�闃�澶辫触");
+ }
+
+ // 寮�闃�澶辫触鍒欒В闄ゅ崰鐢紝鍏抽榾澶辫触鍒欏崰鐢�
+ if (comType != null) {
+ SeVirtualCard virtualCard = new SeVirtualCard();
+ virtualCard.setId(vcId);
+ if (comType == 1) {
+ virtualCard.setInUse((byte) 0);
+ virtualCard.setIntakeId(null);
+ virtualCard.setOpenTime(null);
+ } else {
+ virtualCard.setInUse((byte) 1);
+ virtualCard.setIntakeId(intakeId);
+ }
+ virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
+ virtualCard.setLastOperateTime(new Date());
+ seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
+ }
+
response_CallBack.setCode("10003");
response_CallBack.setMsg(CommandResultCode.OPEN_CLOSE_FAIL.getMessage());
response_CallBack.setSuccess(false);
}else {
- // 寮�鍏抽榾鎴愬姛
+ // 寮�鍏抽榾鎴愬姛锛屾洿鏂板懡浠ゆ墽琛岀姸鎬佸強铏氭嫙鍗$姸鎬�
+
+ rmCommandHistory = new RmCommandHistory();
+ rmCommandHistory.setComId(comId);
+ rmCommandHistory.setResult((byte) 1);
+ rmCommandHistoryMapper.updateByPrimaryKeySelective(rmCommandHistory);
+
+ if(openType != null && openType == 1) {
+ irIntakeOperateMapper.updateByCommandId(comId, (byte)1, null);
+ }
+
+ // 寮�闃�鎴愬姛鍒欏崰鐢紝鍏抽榾鎴愬姛涓嶅崰鐢�
+ if (comType != null) {
+ SeVirtualCard virtualCard = new SeVirtualCard();
+ virtualCard.setId(vcId);
+ if (comType == 1) {
+ virtualCard.setInUse((byte) 1);
+ virtualCard.setIntakeId(intakeId);
+
+ // 濡傛灉鏄鍒掑紑闃�锛屼粠鍛戒护鏃ュ織涓幏鍙栬鍒掓椂闂达紝鍚﹀垯鍙栧綋鍓嶆椂闂�
+ if(commandCode.equals(CodeV1.cd_A1) || commandCode.equals(CodeV1.cd_A2)) {
+ // 璁″垝寮�闃�
+ Date openTime = null;
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ try {
+ openTime = sdf.parse(rmCommandHistoryMapper.getTimeByCommId(comId));
+ }catch (ParseException e) {
+ }
+ virtualCard.setOpenTime(openTime);
+ }else {
+ // 闈炶鍒掑紑闃�
+ virtualCard.setOpenTime(new Date());
+ }
+ } else {
+ virtualCard.setInUse((byte) 0);
+ virtualCard.setIntakeId(null);
+ }
+ virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
+ virtualCard.setLastOperateTime(new Date());
+ seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
+ }
+
job_data.remove("success");
job_data.put("intakeId", intakeId);
job_data.put("rtuAddr", rtuAddr);
--
Gitblit v1.8.0