|  |  | 
 |  |  | import org.apache.logging.log4j.LogManager; | 
 |  |  | import org.apache.logging.log4j.Logger; | 
 |  |  |  | 
 |  |  | import java.util.Date; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * @Author liurunyu | 
 |  |  |  * @Date 2024/5/8 14:18 | 
 |  |  | 
 |  |  |             }else if(cdObj instanceof DataCd84Vo){ | 
 |  |  |                 //设备终端刷卡开泵/阀上报 | 
 |  |  |                 DataCd84Vo cdData = (DataCd84Vo)(cdObj) ; | 
 |  |  |                 this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.opDt, cdData, dV202404.dt) ; | 
 |  |  |                 this.saveHistory(sv, controller, d.getRtuAddr(), cdData.opDt, cdData, dV202404.dt) ; | 
 |  |  |                 this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.openDt, cdData, dV202404.dt) ; | 
 |  |  |                 this.saveHistory(sv, controller, d.getRtuAddr(), cdData.openDt, cdData, dV202404.dt) ; | 
 |  |  |             }else if(cdObj instanceof DataCdC2Vo){ | 
 |  |  |                 //设备终端开关水泵/阀门成功/失败上报 | 
 |  |  |                 DataCdC2Vo cdData = (DataCdC2Vo)(cdObj) ; | 
 |  |  | 
 |  |  |                                   String rtuDt, | 
 |  |  |                                   AlarmVo alarmVo, | 
 |  |  |                                   String receiveDt) throws Exception { | 
 |  |  |         RmAlarmStateLast po = sv.getRmAlarmStateLast(rtuAddr) ; | 
 |  |  |         RmAlarmStateLast po = sv.getRmAlarmStateLast(controller.getIntakeId()) ; | 
 |  |  |         if(po == null){ | 
 |  |  |             po = new RmAlarmStateLast(null, | 
 |  |  |                     controller==null?null:controller.getId(), | 
 |  |  | 
 |  |  |                     alarmVo==null?null:alarmVo.alarmEleLowVolt, | 
 |  |  |                     alarmVo==null?null:alarmVo.stateIcEnable, | 
 |  |  |                     (byte)0,//电池电压(1:报警,0:正常) | 
 |  |  |                     (byte)0//阀门报警(1:报警,0:正常) | 
 |  |  |                     (byte)0,//阀门报警(1:报警,0:正常) | 
 |  |  |                     (byte)0,//供电方式(0: 220V,1:蓄电池) | 
 |  |  |                     System.currentTimeMillis() | 
 |  |  |             ) ; | 
 |  |  |             sv.saveRmAlarmStateLast(po) ; | 
 |  |  |         }else{ | 
 |  |  | 
 |  |  |                 alarmVo==null?null:alarmVo.alarmEleLowVolt, | 
 |  |  |                 alarmVo==null?null:alarmVo.stateIcEnable, | 
 |  |  |                 (byte)0,//电池电压(1:报警,0:正常) | 
 |  |  |                 (byte)0//阀门报警(1:报警,0:正常) | 
 |  |  |                 (byte)0,//阀门报警(1:报警,0:正常) | 
 |  |  |                 (byte)0//供电方式(0: 220V,1:蓄电池) | 
 |  |  |         ) ; | 
 |  |  |         sv.saveRmAlarmStateHistory(po) ; | 
 |  |  |     } | 
 |  |  | 
 |  |  |                 //阀门关闭状态 | 
 |  |  |                 if(controller != null && controller.getIntakeId() != null){ | 
 |  |  |                     //虚拟卡在取水中的占用状态改为非应用状态 | 
 |  |  |                     sv.updateVirCardNoUseState(controller.getIntakeId()); | 
 |  |  |                     Date now = new Date() ; | 
 |  |  |                     sv.updateVirCardNoUseState(controller.getIntakeId(), now); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } |