From c42614978ff12013a1eabebd0289b27169a5784f Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期二, 06 五月 2025 17:25:56 +0800
Subject: [PATCH] 1、实现万功能token(0000-0000-1234-9876-5); 2、web端单独实现命令结果等待器,并相应修改相关部分; 3、web端实现透传命令; 4、修改一些不当注释; 5、优化一些代码。

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java |  361 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 254 insertions(+), 107 deletions(-)

diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java
index bcf46fc..c9d63e0 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java
@@ -3,12 +3,19 @@
 import com.dy.common.mw.protocol.Data;
 import com.dy.common.mw.protocol.p206V202404.DataV202404 ;
 import com.dy.common.mw.protocol.p206V202404.upVos.*;
+import com.dy.common.util.DateTime;
 import com.dy.pipIrrGlobal.pojoPr.PrController;
+import com.dy.pipIrrGlobal.pojoRm.RmAlarmStateHistory;
 import com.dy.pipIrrGlobal.pojoRm.RmAlarmStateLast;
+import com.dy.rtuMw.server.msCenter.MsCenterUnit;
+import com.dy.rtuMw.server.msCenter.MsObj;
 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;
+
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * @Author liurunyu
@@ -21,6 +28,9 @@
     //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷�
     public static final String taskId = "TkDealAlarmStatusV202404" ;
 
+    //鏄惁鍦ㄦ煇涓椂鍒伙紙骞存湀鏃ユ椂锛変繚瀛樹簡鎶ヨ鐘舵�佹暟鎹�
+    private static final Map<String, Long> onceSaveAlarmData4Rtus = new HashMap<>();
+
     /**
      * 鎵ц鑺傜偣浠诲姟锛氭姤璀﹀強鐘舵��
      * @param data 闇�瑕佸鐞嗙殑鏁版嵁
@@ -28,81 +38,199 @@
     @Override
     public void execute(Object data) {
         Data d = (Data)data ;
-        Object protocolData = d.getSubData() ;
-        if(protocolData != null){
-            DataV202404 dV202404 = (DataV202404)protocolData ;
-            if(dV202404 != null){
-                Object cdObj = dV202404.subData ;
-                if(cdObj != null){
-                    try{
-                        Object[] objs = this.getTaskResults(TkPreGenObjsV202404.taskId) ;
-                        DbSv sv = (DbSv)objs[0] ;
-                        PrController controller = (PrController)objs[1] ;
-                        if(cdObj instanceof DataCd81Vo){
-                            //璁惧缁堢闅忔満鑷姤
-                            DataCd81Vo cdData = (DataCd81Vo)(cdObj) ;
-                            this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), null, null, null, cdData, null, null) ;
-                            this.saveHistory(sv, controller, d.getRtuAddr(), null, null, null, cdData, null, null) ;
-                        }else if(cdObj instanceof DataCd80_5BVo){
-                            //璁惧缁堢宸ヤ綔涓婃姤 + 鏌ヨ璁惧缁堢瀹炴椂鍊�
-                            DataCd80_5BVo cdData = (DataCd80_5BVo)(cdObj) ;
-                            this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, null, null, null, null) ;
-                            this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, null, null, null, null) ;
-                        }else if(cdObj instanceof DataCd93_A3Vo){
-                            //骞冲彴/APP杩滅▼鍏抽棴姘存车/闃�闂�   +  鍒峰崱鍏虫车/闃�涓婃姤
-                            DataCd93_A3Vo cdData = (DataCd93_A3Vo)(cdObj) ;
-                            this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.endDt, null, cdData, null, null, null) ;
-                            this.saveHistory(sv, controller, d.getRtuAddr(), cdData.endDt, null, cdData, null, null, null) ;
-                        }else if(cdObj instanceof DataCd84Vo){
-                            //璁惧缁堢闅忔満鑷姤
-                            DataCd84Vo cdData = (DataCd84Vo)(cdObj) ;
-                            this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), null, null, null, null, cdData, null) ;
-                            this.saveHistory(sv, controller, d.getRtuAddr(), null, null, null, null, cdData, null) ;
-                        }else if(cdObj instanceof DataCdC2Vo){
-                            //璁惧缁堢闅忔満鑷姤
-                            DataCdC2Vo cdData = (DataCdC2Vo)(cdObj) ;
-                            this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), null, null, null, null, null, cdData) ;
-                            this.saveHistory(sv, controller, d.getRtuAddr(), null, null, null, null, null, cdData) ;
+        DataV202404 dV202404 = (DataV202404)d.getSubData() ;
+        Object cdObj = dV202404.subData ;
+        //鍓嶉潰浠诲姟宸茬粡鍒ゆ柇cdObj涓嶄负null
+        boolean toNext = false ;
+        try{
+            Object[] objs = this.getTaskResults(TkPreGenObjsV202404.taskId) ;
+            DbSv sv = (DbSv)objs[0] ;
+            PrController controller = (PrController)objs[1] ;
+            if(cdObj instanceof DataCd81Vo){
+                //璁惧缁堢闅忔満鑷姤
+                if(this.needSave2Db( d.getRtuAddr())) {
+                    //鍦ㄤ竴涓皬鏃跺唴娌℃湁瀛樺偍鎶ヨ鏁版嵁
+                    DataCd81Vo cdData = (DataCd81Vo)(cdObj) ;
+                    this.toMsCenter(controller, d.getRtuAddr(), dV202404, cdData, dV202404.dt);
+                    this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
+                    this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
+                    this.cacheSaveTime(d.getRtuAddr());
+                    if(cdData.statePump != null && cdData.statePump.byteValue() == AlarmVo.DevCloseState){
+                        if(controller != null && controller.getIntakeId() != null){
+                            this.taskResult = new Object[]{controller.getIntakeId(), AlarmVo.DevCloseState} ;
+                            toNext = true ;
                         }
-                    }catch (Exception e){
-                        log.error("淇濆瓨鎺у埗鍣ㄦ姤璀﹀拰鐘舵�佹暟鎹椂鍙戠敓寮傚父", e);
+                    }
+                }
+            }else if(cdObj instanceof DataCd80_5BVo){
+                //璁惧缁堢宸ヤ綔涓婃姤 + 鏌ヨ璁惧缁堢瀹炴椂鍊�
+                if(this.needSave2Db( d.getRtuAddr())) {
+                    //鍦ㄤ竴涓皬鏃跺唴娌℃湁瀛樺偍鎶ヨ鏁版嵁
+                    DataCd80_5BVo cdData = (DataCd80_5BVo)(cdObj) ;
+                    this.toMsCenter(controller, d.getRtuAddr(), dV202404, cdData, dV202404.dt);
+                    this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
+                    this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
+                    this.cacheSaveTime(d.getRtuAddr());
+                    if(cdData.statePump != null && cdData.statePump.byteValue() == AlarmVo.DevCloseState){
+                        if(controller != null && controller.getIntakeId() != null){
+                            this.taskResult = new Object[]{controller.getIntakeId(), AlarmVo.DevCloseState} ;
+                            toNext = true ;
+                        }
+                    }
+                }
+            }else if(cdObj instanceof DataCd93_A3Vo){
+                //骞冲彴/APP杩滅▼鍏抽棴姘存车/闃�闂�   +  鍒峰崱鍏虫车/闃�涓婃姤
+                if(this.needSave2Db( d.getRtuAddr())) {
+                    //鍦ㄤ竴涓皬鏃跺唴娌℃湁瀛樺偍鎶ヨ鏁版嵁
+                    DataCd93_A3Vo cdData = (DataCd93_A3Vo)(cdObj) ;
+                    this.toMsCenter(controller, d.getRtuAddr(), dV202404, cdData, dV202404.dt);
+                    this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.endDt, cdData, dV202404.dt) ;
+                    this.saveHistory(sv, controller, d.getRtuAddr(), cdData.endDt, cdData, dV202404.dt) ;
+                    this.cacheSaveTime(d.getRtuAddr());
+                    if(cdData.statePump != null && cdData.statePump.byteValue() == AlarmVo.DevCloseState){
+                        if(controller != null && controller.getIntakeId() != null){
+                            this.taskResult = new Object[]{controller.getIntakeId(), AlarmVo.DevCloseState} ;
+                            toNext = true ;
+                        }
+                    }
+                }
+            }else if(cdObj instanceof DataCd84Vo){
+                //璁惧缁堢鍒峰崱寮�娉�/闃�涓婃姤
+                if(this.needSave2Db( d.getRtuAddr())) {
+                    //鍦ㄤ竴涓皬鏃跺唴娌℃湁瀛樺偍鎶ヨ鏁版嵁
+                    DataCd84Vo cdData = (DataCd84Vo)(cdObj) ;
+                    this.toMsCenter(controller, d.getRtuAddr(), dV202404, 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) ;
+                    this.cacheSaveTime(d.getRtuAddr());
+                    if(cdData.statePump != null && cdData.statePump.byteValue() == AlarmVo.DevCloseState){
+                        if(controller != null && controller.getIntakeId() != null){
+                            this.taskResult = new Object[]{controller.getIntakeId(), AlarmVo.DevCloseState} ;
+                            toNext = true ;
+                        }
+                    }
+                }
+            }else if(cdObj instanceof DataCdC2Vo){
+                //璁惧缁堢寮�鍏虫按娉�/闃�闂ㄦ垚鍔�/澶辫触涓婃姤
+                if(this.needSave2Db( d.getRtuAddr())) {
+                    //鍦ㄤ竴涓皬鏃跺唴娌℃湁瀛樺偍鎶ヨ鏁版嵁
+                    DataCdC2Vo cdData = (DataCdC2Vo)(cdObj) ;
+                    this.toMsCenter(controller, d.getRtuAddr(), dV202404, cdData, dV202404.dt);
+                    this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
+                    this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
+                    this.cacheSaveTime(d.getRtuAddr());
+                    if(cdData.statePump != null && cdData.statePump.byteValue() == AlarmVo.DevCloseState){
+                        if(controller != null && controller.getIntakeId() != null){
+                            this.taskResult = new Object[]{controller.getIntakeId(), AlarmVo.DevCloseState} ;
+                            toNext = true ;
+                        }
                     }
                 }
             }
+        }catch (Exception e){
+            log.error("淇濆瓨鎺у埗鍣ㄦ姤璀﹀拰鐘舵�佹暟鎹椂鍙戠敓寮傚父", e);
+        }
+        if(toNext){
+            this.toNextTasks(d);
         }
     }
+
+    private boolean needSave2Db(String rtuAddr){
+        if(!onceSaveAlarmData4Rtus.containsKey(rtuAddr)){
+            return true ;
+        }else{
+            Long time = onceSaveAlarmData4Rtus.get(rtuAddr) ;
+            Long ymdh = Long.parseLong(DateTime.yyyyMMddHH()) ;
+            if(ymdh.longValue() == time.longValue()){
+                //鍚屼竴涓皬鏃跺唴
+                return false ;
+            }else{
+                return true ;
+            }
+        }
+    }
+    private void cacheSaveTime(String rtuAddr){
+        onceSaveAlarmData4Rtus.put(rtuAddr, Long.parseLong(DateTime.yyyyMMddHH()));
+    }
+    /**
+     * 鎶ヨ鐘舵�佹暟鎹瓨鍏ユ秷鎭腑蹇�
+     * @param controller 鎺у埗鍣ㄥ璞�
+     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+     * @param dataV202404 鏁版嵁瀵硅薄
+     * @param alarmVo 鎶ヨ+鐘舵�佸璞�
+     */
+    private void toMsCenter(PrController controller, String rtuAddr, DataV202404 dataV202404,  AlarmVo alarmVo, String dt){
+        if(alarmVo != null && controller != null){
+            if(alarmVo.hasAlarm()){
+                MsObj msObj = new MsObj() ;
+                msObj.put("name", "鎶ヨ");
+                msObj.put("rtuAddr", rtuAddr);
+                msObj.put("intakeId", controller.getIntakeId());
+                msObj.put("state", alarmVo.alarmContent());
+                msObj.put("dt", dt);
+                MsCenterUnit.getInstance().pushMs(msObj);
+            }
+            if(alarmVo.statePump != null){
+                MsObj msObj = new MsObj() ;
+                msObj.put("name", "闃�鎬�");
+                msObj.put("rtuAddr", rtuAddr);
+                msObj.put("intakeId", controller.getIntakeId());
+                msObj.put("state", alarmVo.statePump);
+                msObj.put("stateName", alarmVo.statePump==1?"寮�":"鍏�");
+                msObj.put("dt", dt);
+                MsCenterUnit.getInstance().pushMs(msObj);
+            }
+        }
+    }
+
     /**
      * 淇濆瓨鎶ヨ鐘舵�佹渶鏂版暟鎹�
      * @param sv 鏈嶅姟
      * @param controller 鎺у埗鍣ㄥ璞�
      * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
      * @param rtuDt 鎺у埗鍣ㄦ椂閽�
-     * @param vo80_5B
-     * @param vo93_A3_85
-     * @param vo81
+     * @param alarmVo  鎶ヨ鍙婄姸鎬佹暟鎹�
+     * @param receiveDt 鎺ユ敹鏁版嵁鏃舵湰鍦版椂閽�
      */
     private void saveOrUpdateLast(DbSv sv,
                                   PrController controller,
                                   String rtuAddr,
                                   String rtuDt,
-                                  DataCd80_5BVo vo80_5B,
-                                  DataCd93_A3Vo vo93_A3_85,
-                                  DataCd81Vo vo81,
-                                  DataCd84Vo vo84,
-                                  DataCdC2Vo voC2) 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, rtuDt, dV1_0_1, alarmVo, stateVo) ;
-//            sv.updateRmAlarmStateLast(po);
-//        }
+                                  AlarmVo alarmVo,
+                                  String receiveDt) throws Exception {
+        RmAlarmStateLast po = sv.getRmAlarmStateLast(controller.getIntakeId()) ;
+        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(receiveDt),
+                    DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt),
+                    alarmVo==null?null:alarmVo.statePump,
+                    alarmVo==null?null:alarmVo.alarmWaterRemain,
+                    alarmVo==null?null:alarmVo.alarm0WaterRemain,
+                    alarmVo==null?null:alarmVo.alarmExceedYear,
+                    alarmVo==null?null:alarmVo.alarmWaterMeterFault,
+                    alarmVo==null?null:alarmVo.alarmSteal,
+                    alarmVo==null?null:alarmVo.alarmWaterMeterBreak,
+                    alarmVo==null?null:alarmVo.alarmEleMeterFault,
+                    alarmVo==null?null:alarmVo.alarm0MoneyRemain,
+                    alarmVo==null?null:alarmVo.alarmDoor,
+                    alarmVo==null?null:alarmVo.alarmDoor,//2025-02-19鏈虹澶栭棬鎶ヨ椤规敼涓虹數姹犵數鍘嬩簡
+                    alarmVo==null?null:alarmVo.alarmEleMiss,
+                    alarmVo==null?null:alarmVo.alarmEleExceed,
+                    alarmVo==null?null:alarmVo.alarmEleLowVolt,
+                    alarmVo==null?null:alarmVo.stateIcEnable,
+                    alarmVo==null?null:alarmVo.alarmBatteryVolt,//鐢垫睜鐢靛帇(1锛氭姤璀︼紝0锛氭甯�)
+                    alarmVo==null?null:alarmVo.alarmBlockValve,//闃�闂ㄥ牭杞姤璀�(1锛氭姤璀︼紝0锛氭甯�)
+                    (byte)0,//渚涚數鏂瑰紡锛�0: 220V锛�1锛氳搫鐢垫睜锛�
+                    System.currentTimeMillis()
+            ) ;
+            sv.saveRmAlarmStateLast(po) ;
+        }else{
+            po = this.update(po, controller, rtuDt, alarmVo, receiveDt) ;
+            sv.updateRmAlarmStateLast(po);
+        }
     }
 
     /**
@@ -111,63 +239,82 @@
      * @param controller 鎺у埗鍣ㄥ璞�
      * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
      * @param rtuDt 鎺у埗鍣ㄦ椂閽�
-     * @param vo80_5B
-     * @param vo93_A3_85
-     * @param vo81
+     * @param alarmVo 鎶ヨ鍙婄姸鎬佹暟鎹�
+     * @param receiveDt 鎺ユ敹鏁版嵁鏃舵湰鍦版椂閽�
      */
     private void saveHistory(DbSv sv,
                              PrController controller,
                              String rtuAddr,
                              String rtuDt,
-                             DataCd80_5BVo vo80_5B,
-                             DataCd93_A3Vo vo93_A3_85,
-                             DataCd81Vo vo81,
-                             DataCd84Vo vo84,
-                             DataCdC2Vo voC2) 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) ;
+                             AlarmVo alarmVo,
+                             String receiveDt) 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(receiveDt),
+                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt),
+                alarmVo==null?null:alarmVo.statePump,
+                alarmVo==null?null:alarmVo.alarmWaterRemain,
+                alarmVo==null?null:alarmVo.alarm0WaterRemain,
+                alarmVo==null?null:alarmVo.alarmExceedYear,
+                alarmVo==null?null:alarmVo.alarmWaterMeterFault,
+                alarmVo==null?null:alarmVo.alarmSteal,
+                alarmVo==null?null:alarmVo.alarmWaterMeterBreak,
+                alarmVo==null?null:alarmVo.alarmEleMeterFault,
+                alarmVo==null?null:alarmVo.alarm0MoneyRemain,
+                alarmVo==null?null:alarmVo.alarmDoor,
+                alarmVo==null?null:alarmVo.alarmDoor,//2025-02-19鏈虹澶栭棬鎶ヨ椤规敼涓虹數姹犵數鍘嬩簡
+                alarmVo==null?null:alarmVo.alarmEleMiss,
+                alarmVo==null?null:alarmVo.alarmEleExceed,
+                alarmVo==null?null:alarmVo.alarmEleLowVolt,
+                alarmVo==null?null:alarmVo.stateIcEnable,
+                alarmVo==null?null:alarmVo.alarmBatteryVolt,//鐢垫睜鐢靛帇(1锛氭姤璀︼紝0锛氭甯�)
+                alarmVo==null?null:alarmVo.alarmBlockValve,//闃�闂ㄥ牭杞姤璀�(1锛氭姤璀︼紝0锛氭甯�)
+                (byte)0//渚涚數鏂瑰紡锛�0: 220V锛�1锛氳搫鐢垫睜锛�
+        ) ;
+        sv.saveRmAlarmStateHistory(po) ;
     }
 
 
-    private RmAlarmStateLast update(PrController controller,
-                                    RmAlarmStateLast po,
+    /**
+     * 淇濆瓨鎶ヨ鐘舵�佹渶鏂版暟鎹�
+     * @param po 瀹炰綋瀵硅薄
+     * @param controller 鎺у埗鍣ㄥ璞�
+     * @param rtuDt 鎺у埗鍣ㄦ椂閽�
+     * @param alarmVo  鎶ヨ鍙婄姸鎬佹暟鎹�
+     * @param receiveDt 鎺ユ敹鏁版嵁鏃舵湰鍦版椂閽�
+     */
+    private RmAlarmStateLast update(RmAlarmStateLast po,
+                                    PrController controller,
                                     String rtuDt,
-                                    DataCd80_5BVo vo80_5B,
-                                    DataCd93_A3Vo vo93_A3_85,
-                                    DataCd81Vo vo81,
-                                    DataCd84Vo vo84,
-                                    DataCdC2Vo voC2) 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 ;
-//            po.meter = alarmVo.meter ;
-//            po.valve = alarmVo.valve ;
-//        }else{
-//            po.bateryvolt = null ;
-//            po.loss = null ;
-//            po.meter = null ;
-//            po.valve = null ;
-//        }
-//        if(stateVo != null){
-//           po.iccard = stateVo.icCard ;
-//           po.working = stateVo.working ;
-//           po.valvestate = stateVo.valve ;
-//        }else{
-//            po.iccard = null ;
-//            po.working = null ;
-//            po.valvestate = null ;
-//        }
-//        return po ;
-        return null ;
+                                    AlarmVo alarmVo,
+                                    String receiveDt) 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(receiveDt) ;
+        po.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt) ;
+        if(alarmVo != null){
+            po.valveState = alarmVo.statePump ;
+            po.alarmRemainWater = alarmVo.alarmWaterRemain ;
+            po.alarm0WaterRemain = alarmVo.alarm0WaterRemain ;
+            po.alarmExceedYear = alarmVo.alarmExceedYear ;
+            po.alarmWaterMeterFault = alarmVo.alarmWaterMeterFault ;
+            po.alarmLoss = alarmVo.alarmSteal ;
+            po.alarmWaterMeterBreak = alarmVo.alarmWaterMeterBreak ;
+            po.alarmEleMeterFault = alarmVo.alarmEleMeterFault ;
+            po.alarm0MoneyRemain = alarmVo.alarm0MoneyRemain ;
+            po.alarmInnerDoor = alarmVo.alarmDoor;
+            po.alarmOuterDoor = alarmVo.alarmDoor;
+            po.alarmEleMiss = alarmVo.alarmEleMiss ;
+            po.alarmEleExceed = alarmVo.alarmEleExceed ;
+            po.alarmEleLowVolt = alarmVo.alarmEleLowVolt ;
+            po.stateIcEnable = alarmVo.stateIcEnable ;
+            po.alarmBatteryVolt = alarmVo.alarmBatteryVolt ;
+            po.alarmValve = alarmVo.alarmBlockValve;
+        }
+        return po ;
     }
+
 }

--
Gitblit v1.8.0