From ee243ee6a7cd9715fa84442e27b17816750033b5 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 09 一月 2025 11:57:28 +0800
Subject: [PATCH] 部分VO中增加json中的属性排序
---
pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/changeSome/ChSomeIntakeAmountSv.java | 132 +++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 129 insertions(+), 3 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 4b690b7..d1e6f82 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
@@ -3,12 +3,15 @@
import com.dy.common.util.DateTime;
import com.dy.pipIrrGlobal.daoTmp.ChangeMapper;
import com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDay;
+import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth;
+import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountYear;
import com.dy.pipIrrGlobal.voSt.VoIntake;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.Date;
import java.util.List;
/**
@@ -31,6 +34,17 @@
this.dao = dao;
}
+
+ ////////////////////////////////////////
+ //
+ // 鏈夊叧鏃ョ粺璁�
+ //
+ ///////////////////////////////////////
+
+ /**
+ * 璋冩暣鍙栨按鍙f棩鍙栨按閲忕粺璁�
+ * @throws Exception
+ */
public void chIntakeAmountDay() throws Exception{
RmIntakeAmountDay lastAd = null ;
List<VoIntake> list = dao.selectAllPrIntakes() ;
@@ -49,11 +63,19 @@
}else{
if(ad.amount != null && ad.amount > IntakeAmountDayFlag){
if(ad.totalAmountLast != null && lastAd.totalAmountLast != null){
+ //閲嶆柊璁$畻鏃ュ彇姘撮噺
ad.amount = ad.totalAmountLast - lastAd.totalAmountLast;
- if(ad.amount < 0){//瀛樿繖绉嶆儏鍐�
+ if(ad.amount < 0){//璁$畻鏃ュ彇姘撮噺鍚庯紝鍙兘浼氭湁杩欑鎯呭喌鍙戠敓锛堣礋鍊硷級
+ log.info("鍑虹幇璋冩暣鍚庣殑鏃ュ彇姘撮噺鍑虹幇璐熷��" + ad.amount
+ + "鎯呭喌锛屾暟鎹甶d=" + ad.id
+ + "锛屽彇姘村彛id=" + ad.intakeId
+ + "锛屾棩鏈�=" + ad.dt
+ + "锛岃缃按閲�=0.0"
+ );
ad.amount = 0.0 ;
}
if(ad.amount > IntakeAmountDayFlag){
+ //璁$畻鏃ュ彇姘撮噺鍚庯紝浠嶅ぇ浜嶪ntakeAmountDayFlag
log.info("鍑虹幇璋冩暣鍚庣殑鏃ュ彇姘撮噺浠嶅ぇ浜�"
+ IntakeAmountDayFlag
+ "鐨勬儏鍐碉紝鏁版嵁id=" + ad.id
@@ -97,9 +119,10 @@
);
ad.amount = 0.0 ;
}
- this.doUpdateOneIntakeAmountDay(ad.id, 0.0);
+ this.doUpdateOneIntakeAmountDay(ad.id, ad.amount);
}
}
+ lastAd = ad ;
}
}
}
@@ -107,7 +130,110 @@
}
@Transactional
- int doUpdateOneIntakeAmountDay(Long id, Double amount){
+ protected int doUpdateOneIntakeAmountDay(Long id, Double amount){
return dao.updateOneIntakeAmountDay(id, amount);
}
+
+
+
+ ////////////////////////////////////////
+ //
+ // 鏈夊叧鏈堢粺璁�
+ //
+ ///////////////////////////////////////
+
+ private static final int DealStartYear = 2024 ;
+ private static final int DealStartMonth = 8 ;
+
+ /**
+ * 鍒犻櫎鎵�鏈夊彇姘村彛鏈堝彇姘撮噺缁熻
+ * @throws Exception
+ */
+ @Transactional
+ public void deleteAllIntakeAmountMonth(){
+ dao.deleteAllIntakeAmountMonth();
+ }
+
+ /**
+ * 缁熻鍙栨按鍙f湀鍙栨按閲�
+ * @throws Exception
+ */
+ public void statisticsIntakeAmountMonth() throws Exception{
+ int nowYear = Integer.parseInt(DateTime.yyyy()) ;
+ int nowMonth = Integer.parseInt(DateTime.mm()) ;
+ Date startDt ;
+ Date endDt ;
+ List<StIntakeAmountMonth> list ;
+ for(int year = DealStartYear; year <= nowYear; year ++){
+ list = null ;
+ if(year < nowYear){
+ for(int month = 1 ; month <= 12 ; month ++){
+ startDt = DateTime.dateFrom_yyyy_MM_dd(year + "-" + month + "-01") ;
+ endDt = DateTime.dateFrom_yyyy_MM_dd(year + "-" + month + "-" + DateTime.endDayOfMonth(year, month)) ;
+ list = dao.statisticAllIntakeAmountMonthFromAmountDay(startDt, endDt) ;
+ this.doStatisticsIntakeAmountMonth(year, month, list) ;
+ }
+ }else{
+ for(int month = 1 ; month <= nowMonth ; month ++){
+ startDt = DateTime.dateFrom_yyyy_MM_dd(year + "-" + month + "-01") ;
+ endDt = DateTime.dateFrom_yyyy_MM_dd(year + "-" + month + "-" + DateTime.endDayOfMonth(year, month)) ;
+ list = dao.statisticAllIntakeAmountMonthFromAmountDay(startDt, endDt) ;
+ this.doStatisticsIntakeAmountMonth(year, month, list) ;
+ }
+ }
+ }
+ }
+ @Transactional
+ protected void doStatisticsIntakeAmountMonth(int year, int month, List<StIntakeAmountMonth> list) throws Exception{
+ if(list != null && list.size() > 0){
+ for(StIntakeAmountMonth po : list){
+ po.year = year ;
+ po.month = month ;
+ dao.saveOneIntakeAmountMonth(po) ;
+ }
+ }
+ }
+
+
+ ////////////////////////////////////////
+ //
+ // 鏈夊叧骞寸粺璁�
+ //
+ ///////////////////////////////////////
+ /**
+ * 鍒犻櫎鎵�鏈夊彇姘村彛骞村彇姘撮噺缁熻
+ * @throws Exception
+ */
+ @Transactional
+ public void deleteAllIntakeAmountYear(){
+ dao.deleteAllIntakeAmountYear();
+ }
+
+ /**
+ * 缁熻鍙栨按鍙f湀鍙栨按閲�
+ * @throws Exception
+ */
+ public void statisticsIntakeAmountYear() throws Exception{
+ int nowYear = Integer.parseInt(DateTime.yyyy()) ;
+ Date startDt ;
+ Date endDt ;
+ List<StIntakeAmountYear> list ;
+ for(int year = DealStartYear; year <= nowYear; year ++){
+ list = null ;
+ startDt = DateTime.dateFrom_yyyy_MM_dd(year + "-01-01") ;
+ endDt = DateTime.dateFrom_yyyy_MM_dd(year + "-12-31") ;
+ list = dao.statisticAllIntakeAmountYearFromAmountDay(startDt, endDt) ;
+ this.doStatisticsIntakeAmountYear(year, list) ;
+ }
+ }
+ @Transactional
+ protected void doStatisticsIntakeAmountYear(int year, List<StIntakeAmountYear> list) throws Exception{
+ if(list != null && list.size() > 0){
+ for(StIntakeAmountYear po : list){
+ po.year = year ;
+ dao.saveOneIntakeAmountYear(po) ;
+ }
+ }
+ }
+
}
--
Gitblit v1.8.0