From f8cb69b9e1b0e8443942e13bbd3f46b9d4203269 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期日, 28 四月 2024 08:54:08 +0800
Subject: [PATCH] 靳总离职前,应元谋二期项目要求(慧图),做了通信协议修改,在他离职后,从韩月处得到最新协议,并做了部分协议软件实现修改,发现新协议中有一些协议定义有重复,也有错误的,所以这版本协议未全部实现,但实现的部分可以用来测试测控一体阀(与段志强一起测试过)。目前情况下,这版本协议实现不能应用于实际项目中,如果必须实现,还需要结合硬件协议具体实现内容再实现通信中间件的协议解析与构造部分,还需要实现上行数据处理任务树部分。
---
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intakeController/IntakeControllerCtrl.java | 101 +++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 83 insertions(+), 18 deletions(-)
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intakeController/IntakeControllerCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intakeController/IntakeControllerCtrl.java
index c1aaa56..d1324ff 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intakeController/IntakeControllerCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intakeController/IntakeControllerCtrl.java
@@ -6,7 +6,11 @@
import com.dy.common.webUtil.QueryResultVo;
import com.dy.common.webUtil.ResultCodeMsg;
import com.dy.pipIrrGlobal.pojoBa.BaClient;
+import com.dy.pipIrrGlobal.pojoPr.PrController;
+import com.dy.pipIrrGlobal.pojoPr.PrControllerTramp;
import com.dy.pipIrrGlobal.pojoPr.PrIntakeController;
+import com.dy.pipIrrProject.controller.ControllerSv;
+import com.dy.pipIrrProject.intake.IntakeSv;
import com.dy.pipIrrProject.result.ProjectResultCode;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
@@ -22,6 +26,8 @@
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
import java.util.*;
/**
@@ -38,12 +44,19 @@
@RequiredArgsConstructor
public class IntakeControllerCtrl {
private final IntakeControllerSv intakeControllerSv;
+ private final IntakeSv intakeSv;
+ private final ControllerSv controllerSv;
/**
- * 娣诲姞鍙栨按鍙�/鎺у埗鍣ㄦ崋缁戣褰�
- * 1. 鍒ゆ柇鍙栨按鍙f槸鍚﹀瓨鍦�
- * 2. 鍒ゆ柇鎺у埗鍣ㄦ槸鍚﹀瓨鍦�
- * 3. 鍒ゆ柇鍙栨按鍙c�佹帶鍒跺櫒缁戝畾鍏崇郴鏄惁宸插瓨鍦�
+ * 鍙栨按鍙g粦瀹氭帶鍒跺櫒
+ * 1. 鎺ユ敹鍙栨按鍙D鍙婃祦娴帶鍒跺櫒ID锛屽苟楠岃瘉鍙栨按鍙e拰鎺у埗鍣ㄦ槸鍚﹀瓨鍦�
+ * 2. 鍒ゆ柇璇ユ帶鍒跺櫒鏄惁瀛樺湪鏈В缁戣褰曪紝濡傛灉瀛樺湪鎻愮ず鐢ㄦ埛璇ユ帶鍒跺櫒瀛樺湪鏈В缁戣褰�
+ * 3. 缁勮鎺у埗鍣ㄥ璞℃彃鍏ユ帶鍒跺櫒琛ㄤ腑
+ * 4. 娣诲姞缁戝畾璁板綍
+ * 5. 鍒犻櫎娴佹氮鎺у埗鍣紙鐗╃悊鍒犻櫎锛�
+ * @param po
+ * @param bindingResult
+ * @return
*/
@Operation(summary = "娣诲姞缁戝畾璁板綍", description = "娣诲姞缁戝畾璁板綍")
@ApiResponses(value = {
@@ -57,33 +70,70 @@
@PostMapping(path = "bind", consumes = MediaType.APPLICATION_JSON_VALUE)
@Transactional(rollbackFor = Exception.class)
@SsoAop()
- public BaseResponse<Boolean> bind(@RequestBody @Valid DtoIntakeController po, BindingResult bindingResult){
+ public BaseResponse<Boolean> bind(@RequestBody @Valid DtoIntakeController po, BindingResult bindingResult) throws ParseException {
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if(bindingResult != null && bindingResult.hasErrors()){
return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
}
+ // 鎺ユ敹鍙傛暟
+ Long intakeId = po.getIntakeId();
+ Long controllerId = po.getControllerId();
+ String remarks = po.getRemarks();
+ Long operator = po.getOperator();
- Integer recordCount = Optional.ofNullable(intakeControllerSv.getBindRecordCount(po.getIntakeId(), po.getControllerId(), (byte)1)).orElse(0);
- if(recordCount > 0) {
- return BaseResponseUtils.buildFail(ProjectResultCode.INTAKE_HAS_BINDED_CONTROLLER.getMessage());
+ // 鏍规嵁缂栧彿鍒嗗埆鑾峰彇鍙栨按鍙h褰曟暟銆佹祦娴帶鍒跺櫒淇℃伅锛屽垽鏂彇姘村彛鍙婃帶鍒跺櫒鏄惁瀛樺湪
+ Integer recIntke = Optional.ofNullable(intakeSv.getRecordCountOfIntake(intakeId)).orElse(0);
+ PrControllerTramp prControllerTramp = intakeControllerSv.getTrampControllerInfo(controllerId);
+ //Map map_TrampController = Optional.ofNullable(intakeControllerSv.getTrampControllerInfo(controllerId)).orElse(new HashMap());
+ if(recIntke == 0 || prControllerTramp == null) {
+ return BaseResponseUtils.buildFail(ProjectResultCode.INTAKE_OR_CONTROLLER_NO_EXIST.getMessage());
}
- PrIntakeController prIntakeController = DtoToPojo.INSTANCT.po2vo(po);
+ // 鏍规嵁鎺у埗鍣ㄧ紪鍙峰垽鏂鎺у埗鍣ㄦ槸鍚﹀瓨鍦ㄦ湭瑙g粦璁板綍
+ Integer recBinded = Optional.ofNullable(controllerSv.getBindedCount(controllerId)).orElse(0);
+ if(recBinded > 0) {
+ return BaseResponseUtils.buildFail(ProjectResultCode.CONTROLLER_BINDED.getMessage());
+ }
+
+ // 娣诲姞鎺у埗鍣ㄨ褰�
+ PrController prController = new PrController();
+ prController.setIntakeId(intakeId);
+ prController.setRtuAddr(prControllerTramp.getRtuAddr());
+ prController.setProtocol(prControllerTramp.getProtocol());
+ prController.setFindDt(prControllerTramp.getFindDt());
+ prController.setAddWays((byte)1);
+ prController.setOperator(operator);
Date operateTime = new Date();
+ prController.setOperateDt(operateTime);
+ prController.setDeleted((byte)0);
+ Integer rec_addController = Optional.ofNullable(controllerSv.addController(prController)).orElse(0);
+ if(rec_addController == 0) {
+ return BaseResponseUtils.buildFail(ProjectResultCode.BIND_FAIL.getMessage());
+ }
+
+ // 娣诲姞缁戝畾璁板綍
+ PrIntakeController prIntakeController = DtoToPojo.INSTANCT.po2vo(po);
prIntakeController.setOperatedt(operateTime);
prIntakeController.setOperatetype((byte)1);
-
Integer rec = Optional.ofNullable(intakeControllerSv.addRecord(prIntakeController)).orElse(0);
if(rec == 0) {
return BaseResponseUtils.buildFail(ProjectResultCode.BIND_FAIL.getMessage());
}
+
+ // 鏍规嵁娴佹氮鎺у埗鍣ㄧ紪鍙峰垹闄ゆ祦娴帶鍒跺櫒璁板綍
+ intakeControllerSv.deleteTrampController(controllerId);
+
return BaseResponseUtils.buildSuccess(true) ;
}
/**
- * 娣诲姞鍙栨按鍙�/鎺у埗鍣ㄨВ缁戣褰�
- * 1. 鍒ゆ柇鍙栨按鍙f槸鍚﹀瓨鍦�
- * 2. 鍒ゆ柇鎺у埗鍣ㄦ槸鍚﹀瓨鍦�
- * 3. 鍒ゆ柇鍙栨按鍙c�佹帶鍒跺櫒瑙g粦鍏崇郴鏄惁宸插瓨鍦�
+ * 鍙栨按鍙hВ缁戞帶鍒跺櫒
+ * 1. 鎺ユ敹鍙栨按鍙D鍙婃祦娴帶鍒跺櫒ID锛屽苟楠岃瘉鍙栨按鍙e拰鎺у埗鍣ㄦ槸鍚﹀瓨鍦�
+ * 2. 娣诲姞瑙g粦璁板綍
+ * 3. 鍒犻櫎鎺у埗鍣ㄥ閿�
+ * @param po
+ * @param bindingResult
+ * @return
*/
@Operation(summary = "娣诲姞瑙g粦璁板綍", description = "娣诲姞瑙g粦璁板綍")
@ApiResponses(value = {
@@ -102,20 +152,35 @@
return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
}
- Integer recordCount = Optional.ofNullable(intakeControllerSv.getBindRecordCount(po.getIntakeId(), po.getControllerId(), (byte)2)).orElse(0);
- if(recordCount > 0) {
- return BaseResponseUtils.buildFail(ProjectResultCode.INTAKE_CONTROLLER_HAS_UNBOUND.getMessage());
+ // 鏍规嵁缂栧彿鍒嗗埆鑾峰彇鍙栨按鍙c�佹帶鍒跺櫒鏈垹闄よ褰曟暟
+ Integer recIntke = Optional.ofNullable(intakeSv.getRecordCountOfIntake(po.getIntakeId())).orElse(0);
+ Integer recController = Optional.ofNullable(controllerSv.getRecordCountOfController(po.getControllerId())).orElse(0);
+ if(recIntke == 0 || recController == 0) {
+ return BaseResponseUtils.buildFail(ProjectResultCode.INTAKE_OR_CONTROLLER_NO_EXIST.getMessage());
}
+ // 鍒ゆ柇鏈�鍚庢搷浣滆褰曟槸鍚︿负瑙g粦璁板綍
+ //Integer recordCount = Optional.ofNullable(intakeControllerSv.getBindRecordCount(po.getIntakeId(), po.getControllerId(), (byte)2)).orElse(0);
+ //if(recordCount > 0) {
+ // return BaseResponseUtils.buildFail(ProjectResultCode.INTAKE_CONTROLLER_HAS_UNBOUND.getMessage());
+ //}
+
+ // 娣诲姞瑙g粦璁板綍
PrIntakeController prIntakeController = DtoToPojo.INSTANCT.po2vo(po);
Date operateTime = new Date();
prIntakeController.setOperatedt(operateTime);
prIntakeController.setOperatetype((byte)2);
-
Integer rec = Optional.ofNullable(intakeControllerSv.addRecord(prIntakeController)).orElse(0);
if(rec == 0) {
return BaseResponseUtils.buildFail(ProjectResultCode.BIND_FAIL.getMessage());
}
+
+ // 鍒犻櫎鎺у埗鍣ㄥ閿�
+ Integer rec_deleteIntakeId = Optional.ofNullable(controllerSv.deleteIntakeId(po.getControllerId())).orElse(0);
+ if(rec_deleteIntakeId == 0) {
+ return BaseResponseUtils.buildFail(ProjectResultCode.BIND_FAIL.getMessage());
+ }
+
return BaseResponseUtils.buildSuccess(true) ;
}
--
Gitblit v1.8.0