From 6fd14264034c7105b832b3e6774aa01dfa66f94b Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期五, 07 六月 2024 14:06:30 +0800
Subject: [PATCH] 修改 取水口绑定控制器 取水口解绑控制器接口
---
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java | 293 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 273 insertions(+), 20 deletions(-)
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java
index f79bf18..491cf99 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java
@@ -17,11 +17,15 @@
import com.dy.pipIrrGlobal.command.ComSupport;
import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper;
import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
+import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard;
+import com.dy.pipIrrGlobal.voRm.VoUnclosedParam;
import com.dy.pipIrrGlobal.voRm.VoUnclosedValve;
import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
import com.dy.pipIrrRemote.common.CommandSv;
+import com.dy.pipIrrRemote.common.dto.DtoBase;
import com.dy.pipIrrRemote.common.dto.ValveClose;
import com.dy.pipIrrRemote.common.dto.ValveOpen;
+import com.dy.pipIrrRemote.common.enums.LastOperateENUM;
import com.dy.pipIrrRemote.result.RemoteResultCode;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
@@ -33,6 +37,7 @@
import org.springframework.web.bind.annotation.*;
import java.time.format.DateTimeFormatter;
+import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -90,8 +95,6 @@
if(!setuped) {
setUp();
}
-// 鍙栨按鍙D鎹㈠彇姘村彛瀵硅薄
-// 濡傛灉鍙栨按鍙d负鎵撳紑鐘舵�侊紝鍒欎笉鍏佽琚紑闃�
// 铏氭嫙鍗D鎹㈣櫄鎷熷崱瀵硅薄
VoVirtualCard vc = commandSv.getVcById(vcId);
@@ -182,8 +185,15 @@
//seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
// 鍥炶皟杩斿洖鐨勫唴瀹�
- Data myData = (Data)response_CallBack.getContent();
- return BaseResponseUtils.buildSuccess(myData) ;
+ //Data myData = (Data)response_CallBack.getContent();
+ //return BaseResponseUtils.buildSuccess(myData);
+
+ JSONObject job_response = new JSONObject();
+ job_response.put("rtuAddr", rtuAddr);
+ job_response.put("vcNum", vc.getVcNum());
+ job_response.put("orderNo", orderNo);
+ //job_response.put("operator", operator);
+ return BaseResponseUtils.buildSuccess(job_response);
} else {
// 璇锋眰澶辫触
JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param");
@@ -217,15 +227,38 @@
// 澶勭悊鍥炶皟
BaseResponse response_CallBack = dealWithCallBack(comId);
- //鍥炶皟澶辫触
+ //鍥炶皟寮傚父
if(!response_CallBack.getCode().equals("0001")) {
// 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触
- //rmCommandHistory = new RmCommandHistory();
- //rmCommandHistory.setId(comId);
- //rmCommandHistory.setResult((byte)0);
- //commandSv.updateCommandResult(rmCommandHistory);
- return BaseResponseUtils.buildFail(response_CallBack.getMsg());
- //return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
+ rmCommandHistory = new RmCommandHistory();
+ rmCommandHistory.setId(comId);
+ rmCommandHistory.setResult((byte)0);
+ commandSv.updateCommandResult(rmCommandHistory);
+ return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
+ }
+
+ // 鍥炶皟瓒呮椂
+ if(response_CallBack.getContent().toString().equals(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage())) {
+ /**
+ * 绯婃帀瓒呮椂锛屾殏鏃惰涓烘墽琛屾垚鍔�
+ * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
+ * 杩斿洖寮�闃�闇�瑕佺殑鍙傛暟
+ */
+ SeVirtualCard virtualCard = new SeVirtualCard();
+ virtualCard.setId(vcId);
+ virtualCard.setInUse((byte) 1);
+ virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
+ virtualCard.setLastOperateTime(new Date());
+ seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
+
+ JSONObject job_response = new JSONObject();
+ job_response.put("message", RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage());
+ job_response.put("rtuAddr", rtuAddr);
+ job_response.put("vcNum", vc.getVcNum());
+ job_response.put("orderNo", orderNo);
+ //job_response.put("operator", operator);
+ return BaseResponseUtils.buildSuccess(job_response);
+ //return BaseResponseUtils.buildSuccess(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage());
}
// 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛
@@ -242,16 +275,25 @@
* 鎵ц鎴愬姛
* 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
*/
- //SeVirtualCard virtualCard = new SeVirtualCard();
- //virtualCard.setId(vcId);
- //virtualCard.setInUse((byte) 1);
- //virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
- //virtualCard.setLastOperateTime(new Date());
- //seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
+ SeVirtualCard virtualCard = new SeVirtualCard();
+ virtualCard.setId(vcId);
+ virtualCard.setInUse((byte) 1);
+ virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
+ virtualCard.setLastOperateTime(new Date());
+ seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
// 鍥炶皟杩斿洖鐨勫唴瀹�
- Data myData = (Data)response_CallBack.getContent();
- return BaseResponseUtils.buildSuccess(myData) ;
+ //Data myData = (Data)response_CallBack.getContent();
+ //return BaseResponseUtils.buildSuccess(myData) ;
+
+ JSONObject job_response = new JSONObject();
+ job_response.put("message", "ok");
+ job_response.put("rtuAddr", rtuAddr);
+ job_response.put("vcNum", vc.getVcNum());
+ job_response.put("orderNo", orderNo);
+ //job_response.put("operator", operator);
+ return BaseResponseUtils.buildSuccess(job_response);
+
} else {
// 璇锋眰澶辫触
JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param");
@@ -263,7 +305,7 @@
}
/**
- * 骞冲彴杩滅▼鍏抽榾
+ * 骞冲彴杩滅▼鍏抽榾_鍙傛暟妯″紡
* @param valve
* @param bindingResult
* @return
@@ -391,6 +433,135 @@
// 澶勭悊鍥炶皟
BaseResponse response_CallBack = dealWithCallBack(comId);
+ // 鍥炶皟寮傚父
+ if(!response_CallBack.getCode().equals("0001")) {
+ // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触
+ rmCommandHistory = new RmCommandHistory();
+ rmCommandHistory.setId(comId);
+ rmCommandHistory.setResult((byte)0);
+ commandSv.updateCommandResult(rmCommandHistory);
+ return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
+ }
+
+ // 鍥炶皟瓒呮椂
+ if(response_CallBack.getContent().toString().equals(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage())) {
+ /**
+ * 绯婃帀瓒呮椂锛屾殏鏃惰涓烘墽琛屾垚鍔�
+ * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
+ */
+ Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum);
+ SeVirtualCard virtualCard = new SeVirtualCard();
+ virtualCard.setId(vcId);
+ virtualCard.setInUse((byte) 0);
+ virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
+ virtualCard.setLastOperateTime(new Date());
+ seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
+ return BaseResponseUtils.buildSuccess(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage());
+ }
+
+ // 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛
+ JSONObject job_content = (JSONObject)JSON.toJSON(response_CallBack.getContent());
+ System.out.println(job_content);
+ JSONObject job_subData = (JSONObject) job_content.getJSONObject("subData").getJSONObject("subData");
+ System.out.println(job_subData);
+ Boolean dealResult = job_subData.getBoolean("success");
+ if(!dealResult) {
+ return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
+ }
+
+ /**
+ * 鎵ц鎴愬姛
+ * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
+ */
+ Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum);
+ SeVirtualCard virtualCard = new SeVirtualCard();
+ virtualCard.setId(vcId);
+ virtualCard.setInUse((byte) 0);
+ virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
+ virtualCard.setLastOperateTime(new Date());
+ seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
+
+ // 鍥炶皟杩斿洖鐨勫唴瀹�
+ Data myData = (Data)response_CallBack.getContent();
+ return BaseResponseUtils.buildSuccess(myData) ;
+ } else {
+ // 璇锋眰澶辫触
+ JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param");
+ return BaseResponseUtils.buildFail(job_param.getString("message"));
+ }
+ } else {
+ return BaseResponseUtils.buildFail("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
+ }
+ }
+
+ /**
+ * 骞冲彴杩滅▼鍏抽榾_鍙栨按鍙fā寮�
+ * @param dtoBase
+ * @param bindingResult
+ * @return
+ */
+ @PostMapping(path = "close_intake", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @Transactional(rollbackFor = Exception.class)
+ @SsoAop()
+ public BaseResponse<Boolean> closeByIntake(@RequestBody @Valid DtoBase dtoBase, BindingResult bindingResult) {
+ DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyMMddHHmmss");
+ if(bindingResult != null && bindingResult.hasErrors()){
+ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+ }
+
+ Long intakeId = dtoBase.getIntakeId();
+ Long operator = dtoBase.getOperator();
+
+ VoUnclosedParam voUnclosedParam = commandSv.getUncloseParam(intakeId);
+ if(voUnclosedParam == null) {
+ return BaseResponseUtils.buildFail(RemoteResultCode.VALVE_CLOSED.getMessage());
+ }
+ String rtuAddr = voUnclosedParam.getRtuAddr();
+ String vcNum = voUnclosedParam.getVcNum();
+ String orderNo = voUnclosedParam.getOrderNo();
+ Long comId = idLongGenerator.generate();
+
+ // 鑾峰彇绯荤粺鍙傛暟
+ if(!setuped) {
+ setUp();
+ }
+
+ // 闃�鎺у櫒鍦板潃鎹㈠彇姘村彛ID鍜岄�氳鍗忚
+ JSONObject job_rtu = getRtu(null, rtuAddr);
+ if(job_rtu == null) {
+ return BaseResponseUtils.buildError(RemoteResultCode.RTU_NOT_EXIST.getMessage());
+ }
+ //Long intakeId = job_rtu.getLong("intakeId");
+ String protocol = job_rtu.getString("protocol");
+
+ String commandCode = null;
+ if(protocol.equals("p206V202404")) {
+ // 鑾峰彇鍔熻兘鐮�
+ commandCode = CodeV202404.cd_93;
+
+ // 鍒涘缓瑙嗗浘
+ ComCd93_A3Vo param = new ComCd93_A3Vo();
+ param.controllerType = controllerType;
+ param.projectNo = projectNo;
+ param.icCardNo = vcNum;
+ param.orderNo = orderNo;
+
+ // 鏋勯�犲懡浠�
+ Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param);
+
+ // 鍙戦�佸懡浠�
+ JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com));
+ if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) {
+ // 璇锋眰鎴愬姛
+
+ // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑
+ String commandName = CodeV202404.getCodeName(commandCode);
+ RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator);
+ commandSv.insert(rmCommandHistory);
+
+ // 澶勭悊鍥炶皟
+ BaseResponse response_CallBack = dealWithCallBack(comId);
+
// 鍥炶皟澶辫触
if(!response_CallBack.getCode().equals("0001")) {
// 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触
@@ -432,6 +603,88 @@
JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param");
return BaseResponseUtils.buildFail(job_param.getString("message"));
}
+ } else if(protocol.equals("p206V1_0_1")) {
+ // 鑾峰彇鍔熻兘鐮�
+ commandCode = CodeV1_0_1.cd_93;
+
+ // 鍒涘缓瑙嗗浘
+ Com98Vo param = new Com98Vo() ;
+ param.icCardNo = vcNum;
+ param.orderNo = orderNo;
+
+ // 鏋勯�犲懡浠�
+ Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param);
+
+ // 鍙戦�佸懡浠�
+ JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com));
+ if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) {
+ //if(1 > 0) {
+ // 璇锋眰鎴愬姛
+
+ // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑
+ String commandName = CodeV1_0_1.getCodeName(commandCode);
+ RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator);
+ commandSv.insert(rmCommandHistory);
+
+ // 澶勭悊鍥炶皟
+ BaseResponse response_CallBack = dealWithCallBack(comId);
+
+ // 鍥炶皟寮傚父
+ if(!response_CallBack.getCode().equals("0001")) {
+ // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触
+ rmCommandHistory = new RmCommandHistory();
+ rmCommandHistory.setId(comId);
+ rmCommandHistory.setResult((byte)0);
+ commandSv.updateCommandResult(rmCommandHistory);
+ return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
+ }
+
+ // 鍥炶皟瓒呮椂
+ if(response_CallBack.getContent().toString().equals(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage())) {
+ /**
+ * 绯婃帀瓒呮椂锛屾殏鏃惰涓烘墽琛屾垚鍔�
+ * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
+ */
+ Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum);
+ SeVirtualCard virtualCard = new SeVirtualCard();
+ virtualCard.setId(vcId);
+ virtualCard.setInUse((byte) 0);
+ virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
+ virtualCard.setLastOperateTime(new Date());
+ seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
+ return BaseResponseUtils.buildSuccess(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage());
+ }
+
+ // 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛
+ JSONObject job_content = (JSONObject)JSON.toJSON(response_CallBack.getContent());
+ System.out.println(job_content);
+ JSONObject job_subData = (JSONObject) job_content.getJSONObject("subData").getJSONObject("subData");
+ System.out.println(job_subData);
+ Boolean dealResult = job_subData.getBoolean("success");
+ if(!dealResult) {
+ return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
+ }
+
+ /**
+ * 鎵ц鎴愬姛
+ * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
+ */
+ Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum);
+ SeVirtualCard virtualCard = new SeVirtualCard();
+ virtualCard.setId(vcId);
+ virtualCard.setInUse((byte) 0);
+ virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
+ virtualCard.setLastOperateTime(new Date());
+ seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
+
+ // 鍥炶皟杩斿洖鐨勫唴瀹�
+ Data myData = (Data)response_CallBack.getContent();
+ return BaseResponseUtils.buildSuccess(myData) ;
+ } else {
+ // 璇锋眰澶辫触
+ JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param");
+ return BaseResponseUtils.buildFail(job_param.getString("message"));
+ }
} else {
return BaseResponseUtils.buildFail("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
}
--
Gitblit v1.8.0