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