package com.dy.rtuMw.server.rtuData.p206V1; import com.dy.common.mw.protocol.UpComResVo; import com.dy.common.mw.protocol.Data; import com.dy.common.mw.protocol.p206V1.DataV1; import com.dy.common.mw.protocol.p206V1.upVos.*; import com.dy.common.util.DateTime; import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory; import com.dy.rtuMw.server.rtuData.TaskSurpport; import com.dy.rtuMw.server.rtuData.dbSv.DbSv; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; /** * @Author liurunyu * @Date 2024/4/2 13:45 * @LastEditTime 2024/4/2 13:45 * @Description 处理命令响应上报 */ public class TkRtuDealCommandResponse extends TaskSurpport { private static final Logger log = LogManager.getLogger(TkRtuDealCommandResponse.class.getName()) ; //类ID,一定与Tree.xml配置文件中配置一致 public static final String taskId = "TkRtuDealCommandResponse" ; /** * 执行节点任务:处理命令响应上报 * @param data 需要处理的数据 */ @Override public void execute(Object data) { Data d = (Data) data; Object subD = d.getSubData(); if (subD != null) { DataV1 dV1 = (DataV1) subD; if (dV1 != null && dV1.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, d.code, dV1, dV1.subData) ; sv.updateCommandLog(po); }else{ log.error("未得到命令日志(" + d.getCommandId() + ")"); } }catch (Exception e){ log.error("保存控制器自报数据时发生异常", e); } } } } public RmCommandHistory updateCommandLogPo(RmCommandHistory po, String code, DataV1 dV1, Object obj) throws Exception{ po.setResultTime(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1.dt)) ; if(obj instanceof DataCd97Vo){ DataCd97Vo vo = (DataCd97Vo)obj ; po.setResult(vo.success?(byte)1:(byte)0); po.setResultText(vo.comLog()!=null?vo.comLog():vo.comLog(code)); log.info("----------------------------------\n" + (vo.comLog()!=null?vo.comLog():vo.comLog(code))); }else if(obj instanceof DataCd98Vo){ DataCd98Vo vo = (DataCd98Vo)obj ; po.setResult(vo.success?(byte)1:(byte)0); po.setResultText(vo.comLog()!=null?vo.comLog():vo.comLog(code)); log.info("----------------------------------\n" + (vo.comLog()!=null?vo.comLog():vo.comLog(code))); }else if(obj instanceof DataCd92Vo){ DataCd92Vo vo = (DataCd92Vo)obj ; po.setResult(vo.success?(byte)1:(byte)0); po.setResultText(vo.comLog()!=null?vo.comLog():vo.comLog(code)); log.info("----------------------------------\n" + (vo.comLog()!=null?vo.comLog():vo.comLog(code))); }else if(obj instanceof DataCd93Vo){ DataCd93Vo vo = (DataCd93Vo)obj ; po.setResult(vo.success?(byte)1:(byte)0); po.setResultText(vo.comLog()!=null?vo.comLog():vo.comLog(code)); log.info("----------------------------------\n" + (vo.comLog()!=null?vo.comLog():vo.comLog(code))); }else if(obj instanceof UpComResVo){ UpComResVo vo = (UpComResVo)obj ; po.setResult((byte)1); po.setResultText(vo.comLog()!=null?vo.comLog():vo.comLog(code)); log.info("----------------------------------\n" + (vo.comLog()!=null?vo.comLog():vo.comLog(code))); } return po ; } }