Administrator
2024-03-27 25fd361007a843306bb4a1f4a5204ef9243fb974
pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java
@@ -13,8 +13,6 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.Date;
/**
 * @Author liurunyu
 * @Date 2024/1/15 21:59
@@ -46,16 +44,16 @@
                            Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
                            DbSv sv = (DbSv)objs[0] ;
                            PrController controller = (PrController)objs[1] ;
                            this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCd81Vo.alarmVo, dV1_0_1.dataCd81Vo.stateVo) ;
                            this.saveHistory(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCd81Vo.alarmVo, dV1_0_1.dataCd81Vo.stateVo) ;
                            this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dV1_0_1.dataCd81Vo.rtuDt, dV1_0_1, dV1_0_1.dataCd81Vo.alarmVo, dV1_0_1.dataCd81Vo.stateVo) ;
                            this.saveHistory(sv, controller, d.getRtuAddr(), dV1_0_1.dataCd81Vo.rtuDt, dV1_0_1, dV1_0_1.dataCd81Vo.alarmVo, dV1_0_1.dataCd81Vo.stateVo) ;
                        }
                    } else if(dV1_0_1.dataCdC0Vo != null){
                        if(dV1_0_1.dataCdC0Vo.alarmVo != null || dV1_0_1.dataCdC0Vo.stateVo != null){
                            Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
                            DbSv sv = (DbSv)objs[0] ;
                            PrController controller = (PrController)objs[1] ;
                            this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCdC0Vo.alarmVo, dV1_0_1.dataCdC0Vo.stateVo) ;
                            this.saveHistory(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCdC0Vo.alarmVo, dV1_0_1.dataCdC0Vo.stateVo) ;
                            this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dV1_0_1.dataCdC0Vo.rtuDt, dV1_0_1, dV1_0_1.dataCdC0Vo.alarmVo, dV1_0_1.dataCdC0Vo.stateVo) ;
                            this.saveHistory(sv, controller, d.getRtuAddr(), dV1_0_1.dataCdC0Vo.rtuDt, dV1_0_1, dV1_0_1.dataCdC0Vo.alarmVo, dV1_0_1.dataCdC0Vo.stateVo) ;
                        }
                    }
                }catch (Exception e){
@@ -69,21 +67,23 @@
     * @param sv 服务
     * @param controller 控制器对象
     * @param rtuAddr 控制器地址
     * @param rtuDt 控制器时钟
     * @param alarmVo 报警对象
     * @param stateVo 状态对象
     */
    private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataAlarmVo alarmVo, DataStateVo stateVo) throws Exception {
        RmAlarmStateLast po = sv.getRmLastAlarmState(rtuAddr) ;
    private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, String rtuDt, DataV1_0_1 dV1_0_1, DataAlarmVo alarmVo, DataStateVo stateVo) throws Exception {
        RmAlarmStateLast po = sv.getRmAlarmStateLast(rtuAddr) ;
        if(po == null){
            po = new RmAlarmStateLast(null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(),
                    rtuAddr,
                    DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt),
                    DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt),
                    alarmVo==null?null:alarmVo.batteryVolt, alarmVo==null?null:alarmVo.loss, alarmVo==null?null:alarmVo.meter, alarmVo==null?null:alarmVo.valve,
                    stateVo==null?null:stateVo.icCard, stateVo==null?null:stateVo.working, stateVo==null?null:stateVo.valve) ;
            sv.saveRmAlarmStateLast(po) ;
        }else{
            po = this.update(controller, po, dV1_0_1, alarmVo, stateVo) ;
            sv.saveRmAlarmStateLast(po);
            po = this.update(controller, po, rtuDt, dV1_0_1, alarmVo, stateVo) ;
            sv.updateRmAlarmStateLast(po);
        }
    }
@@ -92,23 +92,27 @@
     * @param sv 服务
     * @param controller 控制器对象
     * @param rtuAddr 控制器地址
     * @param rtuDt 控制器时钟
     * @param alarmVo 报警对象
     * @param stateVo 状态对象
     */
    private void saveHistory(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataAlarmVo alarmVo, DataStateVo stateVo) throws Exception {
    private void saveHistory(DbSv sv, PrController controller, String rtuAddr, String rtuDt, DataV1_0_1 dV1_0_1, DataAlarmVo alarmVo, DataStateVo stateVo) throws Exception {
        RmAlarmStateHistory po = new RmAlarmStateHistory(null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(),
                rtuAddr,
                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt),
                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt),
                alarmVo==null?null:alarmVo.batteryVolt, alarmVo==null?null:alarmVo.loss, alarmVo==null?null:alarmVo.meter, alarmVo==null?null:alarmVo.valve,
                stateVo==null?null:stateVo.icCard, stateVo==null?null:stateVo.working, stateVo==null?null:stateVo.valve) ;
        sv.saveRmAlarmStateHistory(po) ;
    }
    private RmAlarmStateLast update(PrController controller, RmAlarmStateLast po, DataV1_0_1 dV1_0_1, DataAlarmVo alarmVo, DataStateVo stateVo) throws Exception {
    private RmAlarmStateLast update(PrController controller, RmAlarmStateLast po, String rtuDt, DataV1_0_1 dV1_0_1, DataAlarmVo alarmVo, DataStateVo stateVo) 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(rtuDt) ;
        if(alarmVo != null){
            po.bateryvolt = alarmVo.batteryVolt ;
            po.loss = alarmVo.loss ;