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