From e9c5dd944c69854b0156c321014f307c064a69bc Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期一, 03 六月 2024 09:58:36 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlParse.java                 |   14 ++--
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java                           |   14 ++++
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java |   55 ++++++++++++++----
 pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java    |   73 +++++++++++++++++++++++-
 4 files changed, 133 insertions(+), 23 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlParse.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlParse.java
index ee77255..cfbc9e2 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlParse.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlParse.java
@@ -14,12 +14,12 @@
         DataAlarmVo avo = new DataAlarmVo() ;
         byte b = bs[index] ;
         index++ ;
-        avo.batteryVolt = (byte)(b & 0x2) ;
-        avo.loss = (byte)(b & 0x8) ;
-        avo.meter = (byte)(b & 0x20) ;
+        avo.batteryVolt = (byte)(b & 0x2 >> 1) ;
+        avo.loss = (byte)(b & 0x8 >> 3) ;
+        avo.meter = (byte)(b & 0x20 >> 5) ;
 
         b = bs[index] ;
-        avo.valve = (byte)(b & 0x20) ;
+        avo.valve = (byte)(b & 0x20 >> 5) ;
         return avo ;
     }
 
@@ -27,9 +27,9 @@
         DataStateVo avo = new DataStateVo() ;
         byte b = bs[index] ;
         index++ ;
-        avo.icCard = (byte)(b & 0x4) ;
-        avo.working = (byte)(b & 0x8) ;
-        avo.valve = (byte)(b & 0x20) ;
+        avo.icCard = (byte)(b & 0x4 >> 2) ;
+        avo.working = (byte)(b & 0x8 >> 3) ;
+        avo.valve = (byte)(b & 0x20 >> 5) ;
         return avo ;
     }
 
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java
index 362c70a..1fd18ed 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java
@@ -45,6 +45,8 @@
     private RmLossLastMapper rmLossLastMapperDao ;//鎺у埗鍣ㄦ紡鎹熸按閲忕粺璁℃渶鏂版暟鎹瓺AO
     @Autowired
     private RmLossHistoryMapper rmLossHistoryMapperDao ;//鎺у埗鍣ㄦ紡鎹熸按閲忕粺璁″巻鍙叉暟鎹瓺AO
+    @Autowired
+    private RmCommandHistoryMapper rmCommandHistoryDao ;//杩滅▼鍛戒护鏃ュ織鐩稿叧
 
     //@Autowired
     //@Lazy
@@ -377,5 +379,17 @@
         return null ;
     }
 
+    //////////////////////////////////////////////////////
+    //
+    // 鍛戒护鏃ュ織鐩稿叧
+    //
+    //////////////////////////////////////////////////////
+    public RmCommandHistory getCommandLog(String commandId){
+        return rmCommandHistoryDao.selectByPrimaryKey(Long.parseLong(commandId)) ;
+    }
+    public void updateCommandLog(RmCommandHistory po){
+        rmCommandHistoryDao.updateByPrimaryKeySelective(po) ;
+    }
+
 
 }
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java
index 8d2a570..24d7ac2 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java
@@ -1,8 +1,14 @@
 package com.dy.rtuMw.server.rtuData.p206V1_0_0;
 
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
+import com.dy.common.mw.protocol.p206V1_0_0.*;
+import com.dy.common.util.DateTime;
+import com.dy.pipIrrGlobal.pojoPr.PrController;
+import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
 import com.dy.rtuMw.server.rtuData.TaskSurpport;
 import com.dy.common.mw.protocol.Data;
-import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
+import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
@@ -29,17 +35,42 @@
         Object subD = d.getSubData();
         if (subD != null) {
             DataV1_0_1 dV1_0_1 = (DataV1_0_1) subD;
-//            if (dV1_0_1 != null && dV1_0_1.dataCdC0Vo != null) {
-//                Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
-//                DbSv sv = (DbSv)objs[0] ;
-//                PrController controller = (PrController)objs[1] ;
-//                try{
-//                    this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCdC0Vo) ;
-//                    this.saveHistory(sv, controller, d.getRtuAddr(),dV1_0_1, dV1_0_1.dataCdC0Vo) ;
-//                }catch (Exception e){
-//                    log.error("淇濆瓨鎺у埗鍣ㄨ嚜鎶ユ暟鎹椂鍙戠敓寮傚父", e);
-//                }
-//            }
+            if (dV1_0_1 != null && dV1_0_1.subData != null) {
+                Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
+                DbSv sv = (DbSv)objs[0] ;
+                PrController controller = (PrController)objs[1] ;
+                try{
+                    RmCommandHistory po = sv.getCommandLog(d.commandId) ;
+                    if(po != null){
+                        po = this.updateCommandLogPo(po, dV1_0_1, dV1_0_1.subData) ;
+                        sv.updateCommandLog(po);
+                    }
+                }catch (Exception e){
+                    log.error("淇濆瓨鎺у埗鍣ㄨ嚜鎶ユ暟鎹椂鍙戠敓寮傚父", e);
+                }
+            }
         }
     }
+
+    public RmCommandHistory updateCommandLogPo(RmCommandHistory po, DataV1_0_1 dV1_0_1, Object obj) throws Exception{
+        if(obj instanceof DataCd97Vo){
+            DataCd97Vo vo = (DataCd97Vo)obj ;
+            po.setResultTime(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt)) ;
+            po.setResultText((JSONObject) JSON.toJSON(vo));
+        }else if(obj instanceof DataCd98Vo){
+            DataCd98Vo vo = (DataCd98Vo)obj ;
+            po.setResultTime(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt));
+            po.setResultText((JSONObject) JSON.toJSON(vo));
+        }else if(obj instanceof DataCd92Vo){
+            DataCd92Vo vo = (DataCd92Vo)obj ;
+            po.setResultTime(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt)) ;
+            po.setResultText((JSONObject) JSON.toJSON(vo));
+        }else if(obj instanceof DataCd93Vo){
+            DataCd93Vo vo = (DataCd93Vo)obj ;
+            po.setResultTime(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt)) ;
+            po.setResultText((JSONObject) JSON.toJSON(vo));
+        }
+        return po ;
+    }
+
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java
index 7694fbb..f94e15f 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java
@@ -85,6 +85,7 @@
 
     /**
      * 閫昏緫鍒犻櫎鐏屾簤鍗曞厓
+     *
      * @param
      * @return
      */
@@ -119,6 +120,7 @@
 
     /**
      * 鎵归噺鍒犻櫎
+     *
      * @param groupIds
      * @return
      */
@@ -147,6 +149,7 @@
 
     /**
      * 淇敼鐏屾簤鍗曞厓
+     *
      * @param po
      * @param bindingResult
      * @return
@@ -163,7 +166,7 @@
     @PostMapping(path = "update", consumes = MediaType.APPLICATION_JSON_VALUE)
     @Transactional(rollbackFor = Exception.class)
     @SsoAop()
-    public BaseResponse<Boolean> update(@RequestBody @Valid IrIrrigateGroup po, BindingResult bindingResult){
+    public BaseResponse<Boolean> update(@RequestBody @Valid IrIrrigateGroup po, BindingResult bindingResult) {
         if (bindingResult != null && bindingResult.hasErrors()) {
             return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
         }
@@ -204,6 +207,7 @@
 
     /**
      * 鍒嗛〉鏌ヨ
+     *
      * @param vo
      * @return
      */
@@ -247,7 +251,7 @@
     @PostMapping(path = "add_unit", consumes = MediaType.APPLICATION_JSON_VALUE)
     @Transactional(rollbackFor = Exception.class)
     @SsoAop()
-    public BaseResponse<Boolean> addGroupUnit(@RequestBody @Valid Map<String,Object> po, BindingResult bindingResult) {
+    public BaseResponse<Boolean> addGroupUnit(@RequestBody @Valid Map<String, Object> po, BindingResult bindingResult) {
         if (bindingResult != null && bindingResult.hasErrors()) {
             return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
         }
@@ -274,7 +278,8 @@
     }
 
     /**
-     *  杞亴缁勭Щ闄ょ亴婧夊崟鍏�
+     * 杞亴缁勭Щ闄ょ亴婧夊崟鍏�
+     *
      * @param
      * @return
      */
@@ -290,7 +295,7 @@
     @PostMapping(path = "remove_unit")
     @Transactional(rollbackFor = Exception.class)
     @SsoAop()
-    public BaseResponse<Boolean> deleteGroupUnit(@RequestBody @Valid Map<String,Object> po, BindingResult bindingResult) {
+    public BaseResponse<Boolean> deleteGroupUnit(@RequestBody @Valid Map<String, Object> po, BindingResult bindingResult) {
         if (bindingResult != null && bindingResult.hasErrors()) {
             return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
         }
@@ -350,4 +355,64 @@
             return BaseResponseUtils.buildException(e.getMessage());
         }
     }
+
+
+    /**
+     * 淇敼杞亴缁勭粦瀹氱殑鐏屾簤鍗曞厓
+     *
+     * @param po            杞亴缁勭亴婧夊崟鍏冧腑闂磋〃
+     * @param bindingResult
+     * @return 娣诲姞鏄惁鎴愬姛
+     */
+    @Operation(summary = "淇敼杞亴缁勭粦瀹氱殑鐏屾簤鍗曞厓", description = "淇敼杞亴缁勭粦瀹氱殑鐏屾簤鍗曞厓")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = Boolean.class))}
+            )
+    })
+    @PostMapping(path = "updateBindUnits", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> updateBindUnits(@RequestBody @Valid Map<String, Object> po, BindingResult bindingResult) {
+        if (bindingResult != null && bindingResult.hasErrors()) {
+            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+        Long groupId = Long.parseLong(po.get("groupId").toString());
+        Long operator = Long.parseLong(po.get("operator").toString());
+        List<String> newUnitIds = (List<String>) po.get("unitIds");
+        List<Long> oldUnitIds = irrigateGroupSv.getGroupBindUnits(groupId);
+
+        IrGroupUnit irGroupUnit = new IrGroupUnit();
+        irGroupUnit.setGroupId(groupId);
+        irGroupUnit.setOperator(operator);
+        try {
+            for (int j = 0; j < oldUnitIds.size(); j++) {
+                Long oldUnitId = oldUnitIds.get(j);
+                if (!newUnitIds.toString().contains(oldUnitId.toString())) {
+                    irGroupUnit.setUnitId(oldUnitId);
+                    Integer rec = Optional.ofNullable(irrigateGroupSv.deleteGroupUnit(irGroupUnit)).orElse(0);
+                    if (rec == 0) {
+                        return BaseResponseUtils.buildFail(IrrigateResultCode.ADD_PROJECT_FAIL.getMessage());
+                    }
+                }
+            }
+            for (int i = 0; i < newUnitIds.size(); i++) {
+                Long newUnitId = Long.parseLong(newUnitIds.get(i));
+                if (!oldUnitIds.toString().contains(newUnitId.toString())) {
+                    irGroupUnit.setUnitId(newUnitId);
+                    Integer rec = Optional.ofNullable(irrigateGroupSv.addGroupUnit(irGroupUnit)).orElse(0);
+                    if (rec == 0) {
+                        return BaseResponseUtils.buildFail(IrrigateResultCode.ADD_PROJECT_FAIL.getMessage());
+                    }
+                }
+            }
+        } catch (Exception e) {
+            log.error("淇敼杞亴缁勭粦瀹氱殑鐏屾簤鍗曞厓寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+        return BaseResponseUtils.buildSuccess(true);
+    }
 }

--
Gitblit v1.8.0