From c19de84fa332a00c651f28e3a52292fd14f143a1 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期二, 23 九月 2025 17:30:07 +0800
Subject: [PATCH] 陆常丽反应软件系统财务对账时而数据不准确,分析源码,找到bug原因是,财务对账统计只有用户点击后才会触发统计功能,把历史上及当天进行了统计,如果当天统计时未下班,例如是中午触发统计了,而下午又进行了充值售水,但下班后未再点击触发对账统计,那么今天的对账统计完成了但数据不对。编写自动任务,在下半夜进行对账统计。

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealAlarmStatus.java |   63 ++++++++++++++++---------------
 1 files changed, 32 insertions(+), 31 deletions(-)

diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealAlarmStatus.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealAlarmStatus.java
index 0498b50..dfc00f9 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealAlarmStatus.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealAlarmStatus.java
@@ -54,64 +54,65 @@
                         //闅忔満鑷姤鎶�
                         DataCd81Vo dataCd81Vo = (DataCd81Vo)cdObj ;
                         if (dataCd81Vo.alarmVo != null || dataCd81Vo.stateVo != null) {
-                            if(this.needSave2Db( d.getRtuAddr())){
+                            Object[] objs = this.getTaskResults(TkPreGenObjs.taskId);
+                            DbSv sv = (DbSv) objs[0];
+                            PrController controller = (PrController) objs[1];
+                            if(dataCd81Vo.stateVo != null && dataCd81Vo.stateVo.valveState != null && dataCd81Vo.stateVo.valveState.byteValue() == DataStateVo.ValveCloseState){
+                                if(controller != null && controller.getIntakeId() != null){
+                                    this.taskResult = new Object[]{controller.getIntakeId(), DataStateVo.ValveCloseState} ;
+                                    toNext = true ;
+                                }
+                            }
+                            //2025-06-11 鍥犱负81鍛戒护鏄疪TU鐘舵�佹敼鍙樻椂鍗充笂鎶ワ紝鎵�浠ュ彲浠ュ強鏃朵綋鐜扮姸鎬佸彉鍖栵紝杩涜�屼笉鍙楀瓨鍌ㄦ帶鍒�
+                            //if(this.needSave2Db( d.getRtuAddr())){
                                 //鍦ㄤ竴涓皬鏃跺唴娌℃湁瀛樺偍鎶ヨ鏁版嵁
-                                Object[] objs = this.getTaskResults(TkPreGenObjs.taskId);
-                                DbSv sv = (DbSv) objs[0];
-                                PrController controller = (PrController) objs[1];
                                 this.toMsCenter(controller, d.getRtuAddr(), dV1, dataCd81Vo.alarmVo, dataCd81Vo.stateVo);
                                 this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dataCd81Vo.rtuDt, dV1, dataCd81Vo.alarmVo, dataCd81Vo.stateVo);
                                 this.saveHistory(sv, controller, d.getRtuAddr(), dataCd81Vo.rtuDt, dV1, dataCd81Vo.alarmVo, dataCd81Vo.stateVo);
-                                this.cacheSaveTime(d.getRtuAddr());
-                                if(dataCd81Vo.stateVo != null && dataCd81Vo.stateVo.valveState != null && dataCd81Vo.stateVo.valveState.byteValue() == DataStateVo.ValveCloseState){
-                                    if(controller != null && controller.getIntakeId() != null){
-                                        this.taskResult = new Object[]{controller.getIntakeId(), DataStateVo.ValveCloseState} ;
-                                        toNext = true ;
-                                    }
-                                }
-                            }
+                                //this.cacheSaveTime(d.getRtuAddr());
+                            //}
                         }
                     } else if (cdObj instanceof DataCd84Vo) {
                         //闃�寮�宸ヤ綔鎶�
                         DataCd84Vo dataCd84Vo = (DataCd84Vo)cdObj ;
                         if (dataCd84Vo.alarmVo != null || dataCd84Vo.stateVo != null) {
+                            Object[] objs = this.getTaskResults(TkPreGenObjs.taskId);
+                            DbSv sv = (DbSv) objs[0];
+                            PrController controller = (PrController) objs[1];
+                            /* 闃�寮�宸ヤ綔鎶ワ紝闃�闂ㄧ姸鎬佷竴瀹氭槸鎵撳紑鐘舵�侊紝鎵�浠ヤ笉璁剧疆涓嬮潰鏁版嵁浠ュ鍚庣画浠诲姟璁剧疆铏氭嫙鍗$姸鎬�
+                             if(dataCd84Vo.stateVo != null && dataCd84Vo.stateVo.valveState != null && dataCd84Vo.stateVo.valveState.byteValue() == DataStateVo.ValveCloseState){
+                                 if(controller != null && controller.getIntakeId() != null){
+                                     this.taskResult = new Object[]{controller.getIntakeId(), DataStateVo.ValveCloseState} ;
+                                     toNext = true ;
+                                 }
+                             }*/
                             if(this.needSave2Db( d.getRtuAddr())) {
                                 //鍦ㄤ竴涓皬鏃跺唴娌℃湁瀛樺偍鎶ヨ鏁版嵁
-                                Object[] objs = this.getTaskResults(TkPreGenObjs.taskId);
-                                DbSv sv = (DbSv) objs[0];
-                                PrController controller = (PrController) objs[1];
                                 this.toMsCenter(controller, d.getRtuAddr(), dV1, dataCd84Vo.alarmVo, dataCd84Vo.stateVo);
                                 this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dataCd84Vo.rtuDt, dV1, dataCd84Vo.alarmVo, dataCd84Vo.stateVo);
                                 this.saveHistory(sv, controller, d.getRtuAddr(), dataCd84Vo.rtuDt, dV1, dataCd84Vo.alarmVo, dataCd84Vo.stateVo);
                                 this.cacheSaveTime(d.getRtuAddr());
-                                /** 闃�寮�宸ヤ綔鎶ワ紝闃�闂ㄧ姸鎬佷竴瀹氭槸鎵撳紑鐘舵�侊紝鎵�浠ヤ笉璁剧疆涓嬮潰鏁版嵁浠ュ鍚庣画浠诲姟璁剧疆铏氭嫙鍗$姸鎬�
-                                 if(dataCd84Vo.stateVo != null && dataCd84Vo.stateVo.valveState != null && dataCd84Vo.stateVo.valveState.byteValue() == DataStateVo.ValveCloseState){
-                                 if(controller != null && controller.getIntakeId() != null){
-                                 this.taskResult = new Object[]{controller.getIntakeId(), DataStateVo.ValveCloseState} ;
-                                 toNext = true ;
-                                 }
-                                 }*/
                             }
                         }
                     } else if (cdObj instanceof DataCdC0Vo) {
                         //鏁寸偣鎶�
                         DataCdC0Vo dataCdC0Vo = (DataCdC0Vo)cdObj ;
                         if (dataCdC0Vo.alarmVo != null || dataCdC0Vo.stateVo != null) {
+                            Object[] objs = this.getTaskResults(TkPreGenObjs.taskId);
+                            DbSv sv = (DbSv) objs[0];
+                            PrController controller = (PrController) objs[1];
+                            if(dataCdC0Vo.stateVo != null && dataCdC0Vo.stateVo.valveState != null && dataCdC0Vo.stateVo.valveState.byteValue() == DataStateVo.ValveCloseState){
+                                if(controller != null && controller.getIntakeId() != null){
+                                    this.taskResult = new Object[]{controller.getIntakeId(), DataStateVo.ValveCloseState} ;
+                                    toNext = true ;
+                                }
+                            }
                             if(this.needSave2Db( d.getRtuAddr())) {
                                 //鍦ㄤ竴涓皬鏃跺唴娌℃湁瀛樺偍鎶ヨ鏁版嵁
-                                Object[] objs = this.getTaskResults(TkPreGenObjs.taskId);
-                                DbSv sv = (DbSv) objs[0];
-                                PrController controller = (PrController) objs[1];
                                 this.toMsCenter(controller, d.getRtuAddr(), dV1, dataCdC0Vo.alarmVo, dataCdC0Vo.stateVo);
                                 this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dataCdC0Vo.rtuDt, dV1, dataCdC0Vo.alarmVo, dataCdC0Vo.stateVo);
                                 this.saveHistory(sv, controller, d.getRtuAddr(), dataCdC0Vo.rtuDt, dV1, dataCdC0Vo.alarmVo, dataCdC0Vo.stateVo);
                                 this.cacheSaveTime(d.getRtuAddr());
-                                if(dataCdC0Vo.stateVo != null && dataCdC0Vo.stateVo.valveState != null && dataCdC0Vo.stateVo.valveState.byteValue() == DataStateVo.ValveCloseState){
-                                    if(controller != null && controller.getIntakeId() != null){
-                                        this.taskResult = new Object[]{controller.getIntakeId(), DataStateVo.ValveCloseState} ;
-                                        toNext = true ;
-                                    }
-                                }
                             }
                         }
                     }

--
Gitblit v1.8.0