From f7c748120263ee6fbed1b137cbd7dad64e249c02 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期六, 11 一月 2025 12:41:34 +0800 Subject: [PATCH] 1、通信中间件中,取水口日取水量统计重新实现,统计数据来源只采用关阀报,不再采用工作报和开阀报了; 2、临时任务中,增加统计取水口是取水量统计。 --- pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/changeSome/ChSomeIntakeAmountSv.java | 71 ++++++++++++++++++++++++++++------- 1 files changed, 57 insertions(+), 14 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/changeSome/ChSomeIntakeAmountSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/changeSome/ChSomeIntakeAmountSv.java index d1e6f82..32cdf07 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/changeSome/ChSomeIntakeAmountSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/changeSome/ChSomeIntakeAmountSv.java @@ -6,6 +6,7 @@ import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth; import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountYear; import com.dy.pipIrrGlobal.voSt.VoIntake; +import com.dy.pipIrrTemp.util.StClientAmountConstant; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -26,8 +27,6 @@ public class ChSomeIntakeAmountSv { private ChangeMapper dao; - - private static final int IntakeAmountDayFlag = 800 ;//2024-12-14缁熻鍏冭皨鏁版嵁搴撳疄鏃舵暟鎹紝鍙戠幇澶т簬800鐨勬纭殑鏁版嵁涓嶅瓨鍦紝鑰屽皬浜�800鐨勫熀鏈负姝g‘鏁版嵁 @Autowired private void setDao(ChangeMapper dao){ @@ -57,11 +56,11 @@ for(RmIntakeAmountDay ad : adList){ if(lastAd == null){ lastAd = ad ; - if(lastAd.amount != null && lastAd.amount > IntakeAmountDayFlag){ + if(lastAd.amount != null && lastAd.amount > StClientAmountConstant.IntakeAmountDayFlag){ this.doUpdateOneIntakeAmountDay(lastAd.id, 0.0); } }else{ - if(ad.amount != null && ad.amount > IntakeAmountDayFlag){ + if(ad.amount != null && ad.amount > StClientAmountConstant.IntakeAmountDayFlag){ if(ad.totalAmountLast != null && lastAd.totalAmountLast != null){ //閲嶆柊璁$畻鏃ュ彇姘撮噺 ad.amount = ad.totalAmountLast - lastAd.totalAmountLast; @@ -74,10 +73,10 @@ ); ad.amount = 0.0 ; } - if(ad.amount > IntakeAmountDayFlag){ + if(ad.amount > StClientAmountConstant.IntakeAmountDayFlag){ //璁$畻鏃ュ彇姘撮噺鍚庯紝浠嶅ぇ浜嶪ntakeAmountDayFlag log.info("鍑虹幇璋冩暣鍚庣殑鏃ュ彇姘撮噺浠嶅ぇ浜�" - + IntakeAmountDayFlag + + StClientAmountConstant.IntakeAmountDayFlag + "鐨勬儏鍐碉紝鏁版嵁id=" + ad.id + "锛屽彇姘村彛id=" + ad.intakeId + "锛屾棩鏈�=" + ad.dt @@ -87,7 +86,7 @@ if(DateTime.daysBetweenyyyy_MM_dd(ad.dt, lastAd.dt) == 1){ //鍙浉宸竴澶� log.info("鍑虹幇鐩稿樊涓�澶╀絾鏃ュ彇姘撮噺澶т簬" - + IntakeAmountDayFlag + + StClientAmountConstant.IntakeAmountDayFlag + "鐨勬儏鍐碉紝鏁版嵁id=" + ad.id + "锛屽彇姘村彛id=" + ad.intakeId + "锛屾棩鏈�=" + ad.dt @@ -99,7 +98,7 @@ //宸茬粡淇敼鍚庣殑鏁板�间粛鐒跺ぇ浜嶪ntakeAmountDayFlag锛岃鏄庢槸澶ф棩鏈笂鎶ユ暟鎹�岀Н绱笅鏉�,鍙互澶т簬IntakeAmountDayFlag //ad.amount = ad.amount ; log.info("鍑虹幇鐩稿樊澶氬ぉ鏃ュ彇姘撮噺澶т簬" - + IntakeAmountDayFlag + + StClientAmountConstant.IntakeAmountDayFlag + "鐨勬儏鍐碉紝鏁版嵁id=" + ad.id + "锛屽彇姘村彛id=" + ad.intakeId + "锛屾棩鏈�=" + ad.dt @@ -110,7 +109,7 @@ } }else{ log.info("鍑虹幇鐩稿樊澶氬ぉ鏃ュ彇姘撮噺澶т簬" - + IntakeAmountDayFlag + + StClientAmountConstant.IntakeAmountDayFlag + "骞朵笖灞炴�otalAmountLast涓簄ull鐨勬儏鍐碉紝鏁版嵁id=" + ad.id + "锛屽彇姘村彛id=" + ad.intakeId + "锛屾棩鏈�=" + ad.dt @@ -134,6 +133,53 @@ return dao.updateOneIntakeAmountDay(id, amount); } + /** + * 鍒犻櫎鎵�鏈夊彇姘村彛鏃ュ彇姘撮噺缁熻 + * @throws Exception + */ + @Transactional + public void deleteAllIntakeAmountDay(){ + dao.deleteAllIntakeAmountDay(); + } + + /** + * 缁熻鍙栨按鍙f棩鍙栨按閲� + * @throws Exception + */ + public void statisticsIntakeAmountDay() throws Exception{ + int nowYear = Integer.parseInt(DateTime.yyyy()) ; + int nowMonth = Integer.parseInt(DateTime.mm()) ; + int nowDay = Integer.parseInt(DateTime.dd()) ; + Date startDt ; + Date endDt ; + List<RmIntakeAmountDay> list ; + boolean stop = false ; + for(int[] ym : StClientAmountConstant.yearMonthGrp) { + int[] dates = DateTime.dayGrpInMonth(ym[0], ym[1]); + for(int day: dates){ + if(ym[0] == nowYear && ym[1] == nowMonth && day > nowDay){ + stop = true ; + } + if(!stop){ + startDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(ym[0] + "-" + ym[1] + "-" + day + " 00:00:00") ; + endDt = DateTime.dateFrom_yyyy_MM_dd(ym[0] + "-" + ym[1] + "-" + day + " 23:59:59") ; + list = dao.statisticAllIntakeAmountDayFromOpenCloseValveHistory(startDt, endDt) ; + this.doStatisticsIntakeAmountDay(ym[0], ym[1], day, list) ; + }else{ + break ; + } + } + } + } + @Transactional + protected void doStatisticsIntakeAmountDay(int year, int month, int day, List<RmIntakeAmountDay> list) throws Exception{ + if(list != null && list.size() > 0){ + Date date = DateTime.dateFrom_yyyy_MM_dd(year + "-" + month + "-" + day) ; + for(RmIntakeAmountDay po : list){ + dao.updateOneIntakeAmountDay1(po.intakeId, date, po.amount, po.money, po.times); + } + } + } //////////////////////////////////////// @@ -141,9 +187,6 @@ // 鏈夊叧鏈堢粺璁� // /////////////////////////////////////// - - private static final int DealStartYear = 2024 ; - private static final int DealStartMonth = 8 ; /** * 鍒犻櫎鎵�鏈夊彇姘村彛鏈堝彇姘撮噺缁熻 @@ -164,7 +207,7 @@ Date startDt ; Date endDt ; List<StIntakeAmountMonth> list ; - for(int year = DealStartYear; year <= nowYear; year ++){ + for(int year = StClientAmountConstant.DealStartYear; year <= nowYear; year ++){ list = null ; if(year < nowYear){ for(int month = 1 ; month <= 12 ; month ++){ @@ -218,7 +261,7 @@ Date startDt ; Date endDt ; List<StIntakeAmountYear> list ; - for(int year = DealStartYear; year <= nowYear; year ++){ + for(int year = StClientAmountConstant.DealStartYear; year <= nowYear; year ++){ list = null ; startDt = DateTime.dateFrom_yyyy_MM_dd(year + "-01-01") ; endDt = DateTime.dateFrom_yyyy_MM_dd(year + "-12-31") ; -- Gitblit v1.8.0