From 959dcca95276888cd9c092d93d276ef9aa580aef Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期三, 30 四月 2025 16:26:19 +0800 Subject: [PATCH] 1、增加远程透传命令; 2、表阀一体机协议优化; --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 101 insertions(+), 0 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java new file mode 100644 index 0000000..23490d3 --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java @@ -0,0 +1,101 @@ +package com.dy.rtuMw.server.rtuData.p206V202404; + +import com.dy.common.mw.protocol.Data; +import com.dy.common.mw.protocol.p206V202404.DataV202404; +import com.dy.common.mw.protocol.p206V202404.upVos.DataCd83Vo; +import com.dy.pipIrrGlobal.pojoPr.PrController; +import com.dy.pipIrrGlobal.pojoRm.RmTimingReportHistory; +import com.dy.pipIrrGlobal.pojoRm.RmTimingReportLast; +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/5/20 20:29 + * @Description 鎺у埗鍣ㄥ畾鏃朵笂鎶�(鍔熻兘鐮�83) + */ +public class TkDealTimingReportV202404 extends TaskSurpport { + + private static final Logger log = LogManager.getLogger(TkDealTimingReportV202404.class.getName()); + + //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷� + public static final String taskId = "TkDealTimingReportV202404"; + + /** + * 鎵ц鑺傜偣浠诲姟锛氭姤璀﹀強鐘舵�� + * + * @param data 闇�瑕佸鐞嗙殑鏁版嵁 + */ + @Override + public void execute(Object data) { + Data d = (Data) data; + DataV202404 dV202404 = (DataV202404) d.getSubData();//鍓嶉潰浠诲姟宸茬粡鍒ゆ柇涓嶄负null + Object cdObj = dV202404.subData; + if (cdObj != null && cdObj instanceof DataCd83Vo) { + try { + Object[] objs = this.getTaskResults(TkPreGenObjsV202404.taskId); + DbSv sv = (DbSv) objs[0]; + PrController controller = (PrController) objs[1]; + this.doDeal(sv, controller, d.getRtuAddr(), dV202404, (DataCd83Vo)cdObj); + } catch (Exception e) { + log.error("淇濆瓨鎺у埗鍣ㄦ帶鍒跺櫒瀹氭椂鎶ユ暟鎹椂鍙戠敓寮傚父", e); + } + } + } + /** + * 澶勭悊闃�涓婃姤鏁版嵁 + * @param sv 鏈嶅姟 + * @param controller 鎺у埗鍣ㄥ璞� + * @param rtuAddr 鎺у埗鍣ㄥ湴鍧� + * @param dataV202404 鍗忚鏁版嵁 + * @param cdData 鍔熻兘鏁版嵁 + */ + private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd83Vo cdData) throws Exception { + this.saveOrUpdateLast(sv, controller, rtuAddr, dataV202404, cdData); + this.saveHistory(sv, controller, rtuAddr, dataV202404, cdData); + } + + /** + * 淇濆瓨鎴栨洿鏂版帶鍒跺櫒璇ヤ笂鎶ユ渶鏂版暟鎹� + * @param sv 鏈嶅姟bean + * @param controller 鎺у埗鍣ㄥ璞� + * @param rtuAddr 鎺у埗鍣ㄥ湴鍧� + * @param dataV202404 鍗忚鏁版嵁 + * @param cdData 鍔熻兘鏁版嵁 + */ + private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd83Vo cdData)throws Exception { + RmTimingReportLast po = sv.getRmTimingReportLast(controller.getIntakeId()) ; + if(po == null){ + po = new RmTimingReportLast(); + po.controllerId = controller==null?null:controller.getId(); + po.intakeId = controller==null?null:controller.getIntakeId(); + po.rtuAddr = rtuAddr; + po.valueFrom(dataV202404, cdData); + sv.saveRmTimingReportLast(po) ; + }else{ + po.controllerId = controller==null?null:controller.getId(); + po.intakeId = controller==null?null:controller.getIntakeId(); + po.valueFrom(dataV202404, cdData); + sv.updateRmTimingReportLast(po); + } + } + + /** + * 淇濆瓨鎴栨洿鏂版帶鍒跺櫒璇ヤ笂鎶ュ巻鍙叉暟鎹� + * @param sv 鏈嶅姟bean + * @param controller 鎺у埗鍣ㄥ璞� + * @param rtuAddr 鎺у埗鍣ㄥ湴鍧� + * @param dataV202404 鍗忚鏁版嵁 + * @param cdData 鍔熻兘鏁版嵁 + */ + private void saveHistory(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd83Vo cdData)throws Exception { + RmTimingReportHistory po = new RmTimingReportHistory(); + po.controllerId = controller==null?null:controller.getId(); + po.intakeId = controller==null?null:controller.getIntakeId(); + po.rtuAddr = rtuAddr; + po.valueFrom(dataV202404, cdData); + sv.saveRmTimingReportHistory(po); ; + } +} \ No newline at end of file -- Gitblit v1.8.0