pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/MidResultActionFromRtu.java
@@ -65,9 +65,7 @@ */ private void nextDealRtuComResult(MidResultFromRtu resFromRtu){ try{ log.info("开始把命令结果放入缓中"); RtuComResultCache.cacheRtuComResult(new RtuComResultNode(resFromRtu.data)); log.info("结束把命令结果放入缓中"); }catch(Exception e){ log.error(e.getMessage(), e); } pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkFindComResponse.java
@@ -25,7 +25,7 @@ @Override public void execute(Object data) { Data d = (Data)data ; if(d.getCommandId() != null && d.getCommandId().trim().equals("")){ if(d.getCommandId() != null && !d.getCommandId().trim().equals("")){ //无命令ID this.toNextTasks(data); } pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java
@@ -48,6 +48,8 @@ if(po != null){ po = this.updateCommandLogPo(po, dV1_0_1, dV1_0_1.subData) ; sv.updateCommandLog(po); }else{ log.error("未得到命令日志(" + d.getCommandId() + ")"); } }catch (Exception e){ log.error("保存控制器自报数据时发生异常", e); @@ -59,18 +61,22 @@ public RmCommandHistory updateCommandLogPo(RmCommandHistory po, DataV1_0_1 dV1_0_1, Object obj) throws Exception{ if(obj instanceof DataCd97Vo){ DataCd97Vo vo = (DataCd97Vo)obj ; po.setResult((byte)1); 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.setResult((byte)1); 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.setResult((byte)1); 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.setResult((byte)1); po.setResultTime(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt)) ; po.setResultText((JSONObject) JSON.toJSON(vo)); } pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkFindComResponseV202404.java
@@ -24,7 +24,7 @@ @Override public void execute(Object data) { Data d = (Data)data ; if(d.getCommandId() != null && d.getCommandId().trim().equals("")){ if(d.getCommandId() != null && !d.getCommandId().trim().equals("")){ //无命令ID this.toNextTasks(data); } pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/tasks/FromRtuComResultConstantTask.java
@@ -65,38 +65,38 @@ //以下实现,采用了递归调用,当队列缓存结点很多时,会产生栈溢出异常 // //////////////////////////////////////////////// /** * 处理上行数据 */ public Integer dealRtuComResult_() { Node first = RtuComResultCache.getFirstQueueNode() ; if(first != null){ Integer count = RtuComResultCache.size() ; Node last = RtuComResultCache.getLastQueueNode() ; this.doDealRtuComResult_(first, last); return count ; } return null ; } /** * 处理缓存的上行数据节点 * @param first 第一个节点 * @param last 最后一个节点 */ private void doDealRtuComResult_(Node first, Node last){ if(last != null){ //在dealNode方法中,可能要把last从队列中移除,这时last.pre为空,所以提前把last.pre取出来 Node pre = last.pre ; dealNode(last) ; if(first != last){ doDealRtuComResult_(first, pre) ; }else{ //停止 } } } // /** // * 处理上行数据 // */ // public Integer dealRtuComResult_() { // Node first = RtuComResultCache.getFirstQueueNode() ; // if(first != null){ // Integer count = RtuComResultCache.size() ; // Node last = RtuComResultCache.getLastQueueNode() ; // this.doDealRtuComResult_(first, last); // return count ; // } // return null ; // } // // /** // * 处理缓存的上行数据节点 // * @param first 第一个节点 // * @param last 最后一个节点 // */ // private void doDealRtuComResult_(Node first, Node last){ // if(last != null){ // //在dealNode方法中,可能要把last从队列中移除,这时last.pre为空,所以提前把last.pre取出来 // Node pre = last.pre ; // dealNode(last) ; // if(first != last){ // doDealRtuComResult_(first, pre) ; // }else{ // //停止 // } // } // } // /** * 处理一个节点 * @param node 节点