From 9281643d18bc2e0aaffed3c5f216d1df12d68424 Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期四, 18 一月 2024 09:44:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intakeController/IntakeControllerCtrl.java |   93 +++++++++++++++++++++++++++++++++++-----------
 1 files changed, 71 insertions(+), 22 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 1384dfa..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,6 +6,8 @@
 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;
@@ -24,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.*;
 
 /**
@@ -44,9 +48,15 @@
     private final ControllerSv controllerSv;
 
     /**
-     * 娣诲姞鍙栨按鍙�/鎺у埗鍣ㄦ崋缁戣褰�
-     *      鑻ュ彇姘村彛鎴栨帶鍒跺櫒涓嶅瓨鍦ㄩ渶鎻愮ず鐢ㄦ埛
-     *      鑻ュ彇姘村彛宸茬粡涓庢帶鍒跺櫒缁戝畾闇�鎻愮ず鐢ㄦ埛
+     * 鍙栨按鍙g粦瀹氭帶鍒跺櫒
+     * 1. 鎺ユ敹鍙栨按鍙D鍙婃祦娴帶鍒跺櫒ID锛屽苟楠岃瘉鍙栨按鍙e拰鎺у埗鍣ㄦ槸鍚﹀瓨鍦�
+     * 2. 鍒ゆ柇璇ユ帶鍒跺櫒鏄惁瀛樺湪鏈В缁戣褰曪紝濡傛灉瀛樺湪鎻愮ず鐢ㄦ埛璇ユ帶鍒跺櫒瀛樺湪鏈В缁戣褰�
+     * 3. 缁勮鎺у埗鍣ㄥ璞℃彃鍏ユ帶鍒跺櫒琛ㄤ腑
+     * 4. 娣诲姞缁戝畾璁板綍
+     * 5. 鍒犻櫎娴佹氮鎺у埗鍣紙鐗╃悊鍒犻櫎锛�
+     * @param po
+     * @param bindingResult
+     * @return
      */
     @Operation(summary = "娣诲姞缁戝畾璁板綍", description = "娣诲姞缁戝畾璁板綍")
     @ApiResponses(value = {
@@ -60,39 +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());
         }
-        // 鏍规嵁缂栧彿鍒嗗埆鑾峰彇鍙栨按鍙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) {
+        // 鎺ユ敹鍙傛暟
+        Long intakeId = po.getIntakeId();
+        Long controllerId = po.getControllerId();
+        String remarks = po.getRemarks();
+        Long operator = po.getOperator();
+
+        // 鏍规嵁缂栧彿鍒嗗埆鑾峰彇鍙栨按鍙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());
         }
 
-        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());
+        // 鏍规嵁鎺у埗鍣ㄧ紪鍙峰垽鏂鎺у埗鍣ㄦ槸鍚﹀瓨鍦ㄦ湭瑙g粦璁板綍
+        Integer recBinded = Optional.ofNullable(controllerSv.getBindedCount(controllerId)).orElse(0);
+        if(recBinded > 0) {
+            return BaseResponseUtils.buildFail(ProjectResultCode.CONTROLLER_BINDED.getMessage());
         }
 
-        PrIntakeController prIntakeController = DtoToPojo.INSTANCT.po2vo(po);
+        // 娣诲姞鎺у埗鍣ㄨ褰�
+        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 = {
@@ -118,20 +159,28 @@
             return BaseResponseUtils.buildFail(ProjectResultCode.INTAKE_OR_CONTROLLER_NO_EXIST.getMessage());
         }
 
-        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粦璁板綍
+        //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