From 017bfd52644c196a9a6d1fc8414a21a6320838b1 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期日, 02 六月 2024 20:26:27 +0800 Subject: [PATCH] 远程命令结果数据库保存实现 --- 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 +++++++++++++++++++++------ 3 files changed, 64 insertions(+), 19 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 ; + } + } -- Gitblit v1.8.0