| | |
| | | * @Author liurunyu |
| | | * @Date 2024/1/16 14:11 |
| | | * @LastEditTime 2024/1/16 14:11 |
| | | * @Description |
| | | * @Description 控制器自报数据(功能码为C0)(整点上报) |
| | | */ |
| | | public class TkDealAutoReport extends TaskSurpport { |
| | | |
| | | private static final Logger log = LogManager.getLogger(TkDealAlarmStatus.class.getName()) ; |
| | | private static final Logger log = LogManager.getLogger(TkDealAutoReport.class.getName()) ; |
| | | |
| | | //类ID,一定与Tree.xml配置文件中配置一致 |
| | | public static final String taskId = "TkDealAlarmStatus" ; |
| | | public static final String taskId = "TkDealAutoReport" ; |
| | | |
| | | /** |
| | | * 执行节点任务:控制器自报数据(功能码为C0) |
| | |
| | | * @param dataCdC0Vo 自报数据对象 |
| | | */ |
| | | private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo) throws Exception { |
| | | RmAutoReportLast po = sv.getRmLastAutoReport(rtuAddr) ; |
| | | RmAutoReportLast po = sv.getRmAutoReportLast(rtuAddr) ; |
| | | if(po == null){ |
| | | po = new RmAutoReportLast(null, controller==null?null:controller.getId(), controller==null?null:controller.getId(), |
| | | rtuAddr, |
| | |
| | | dataCdC0Vo.waterPress, dataCdC0Vo.batteryVolt, dataCdC0Vo.sunVolt, dataCdC0Vo.signalValue) ; |
| | | sv.saveRmAutoReportLast(po) ; |
| | | }else{ |
| | | po = this.update(po, dV1_0_1, dataCdC0Vo) ; |
| | | sv.saveRmAutoReportLast(po); |
| | | po = this.update(controller, po, dV1_0_1, dataCdC0Vo) ; |
| | | sv.updateRmAutoReportLast(po); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | private RmAutoReportLast update(RmAutoReportLast po, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo) throws Exception { |
| | | private RmAutoReportLast update(PrController controller, RmAutoReportLast po, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo) throws Exception { |
| | | po.controllerid = controller==null?null:controller.getId(); |
| | | po.intakeid = controller==null?null:controller.getIntakeId(); |
| | | |
| | | po.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt); |
| | | po.rtudt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCdC0Vo.rtuDt) ; |
| | | po.instantamount = dataCdC0Vo.instantAmount; |