From c8ae875dcfb55ac27a434f6b8ca40a5c80a5f9ee Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期二, 24 十二月 2024 15:03:47 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV

---
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StChargeByIc.java       |   52 ++++
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StatisticsJob.java      |    2 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoTmp/ChangeMapper.java                                  |   64 +++++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/Temp4ChangeMapper.xml                                             |   94 +++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StChargeByIcSv.java     |   66 +++++
 pipIrr-platform/pipIrr-web/pipIrr-web-temp/说明.txt                                                                         |   15 +
 pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/changeSome/ChSomeIntakeLossSv.java             |  188 +++++++++++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StChargeByClientSv.java |   66 +++++
 pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/changeSome/ChSomeCtrl.java                     |   60 +++++
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StChargeByClient.java   |   52 ++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmIntakeAmountDay.java                             |    4 
 11 files changed, 657 insertions(+), 6 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoTmp/ChangeMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoTmp/ChangeMapper.java
index 8c7af33..64d3e8c 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoTmp/ChangeMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoTmp/ChangeMapper.java
@@ -2,8 +2,11 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDay;
+import com.dy.pipIrrGlobal.pojoRm.RmLossDay;
 import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth;
 import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountYear;
+import com.dy.pipIrrGlobal.pojoSt.StLossMonth;
+import com.dy.pipIrrGlobal.pojoSt.StLossYear;
 import com.dy.pipIrrGlobal.voSt.VoIntake;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -85,4 +88,65 @@
     int saveOneIntakeAmountYear(StIntakeAmountYear pojo);
 
 
+    ////////////////////////////////////////
+    //
+    //婕忔崯鐩稿叧
+    //
+    ////////////////////////////////////////
+
+    /**
+     * 鏌ヨ涓�涓彇姘村彛鐨勬棩婕忔崯閲忕粺璁¤褰�
+     *
+     * @return 瀹炰綋闆嗗悎
+     */
+    List<RmLossDay> selectOneIntakeAllLossDay(@Param("intakeId")Long intakeId);
+
+    /**
+     * 鏇存柊涓�涓彇姘村彛鐨勬棩婕忔崯閲忕粺璁�
+     *
+     * @return 褰卞搷瀹炰綋鏁�
+     */
+    int updateOneIntakeLossDay(@Param("id")Long id, @Param("loss")Double loss);
+
+
+
+    /**
+     * 鍒犻櫎鎵�鏈夊彇姘村彛鐨勬湀婕忔崯閲忕粺璁�
+     * @return 褰卞搷瀹炰綋鏁�
+     */
+    int deleteAllIntakeLossMonth();
+
+
+    /**
+     * 缁熻鎵�鏈夊彇姘村彛鐨勬湀婕忔崯閲�
+     * @return 瀹炰綋闆嗗悎
+     */
+    List<StLossMonth> statisticAllIntakeLossMonthFromLossDay(@Param("startDt")Date startDt,
+                                                             @Param("endDt")Date endDt);
+    /**
+     * 淇濆瓨鍙栨按鍙g殑鏈堟紡鎹熼噺缁熻
+     * @return 褰卞搷瀹炰綋鏁�
+     */
+    int saveOneIntakeLossMonth(StLossMonth pojo);
+
+
+    /**
+     * 鍒犻櫎鎵�鏈夊彇姘村彛鐨勫勾婕忔崯閲忕粺璁�
+     * @return 褰卞搷瀹炰綋鏁�
+     */
+    int deleteAllIntakeLossYear();
+
+
+    /**
+     * 缁熻鎵�鏈夊彇姘村彛鐨勫勾婕忔崯閲�
+     * @return 瀹炰綋闆嗗悎
+     */
+    List<StLossYear> statisticAllIntakeLossYearFromLossDay(@Param("startDt")Date startDt,
+                                                           @Param("endDt")Date endDt);
+    /**
+     * 淇濆瓨鍙栨按鍙g殑鏈堟紡鎹熼噺缁熻
+     * @return 褰卞搷瀹炰綋鏁�
+     */
+    int saveOneIntakeLossYear(StLossYear pojo);
+
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmIntakeAmountDay.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmIntakeAmountDay.java
index a09de53..7af8936 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmIntakeAmountDay.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmIntakeAmountDay.java
@@ -15,7 +15,7 @@
 /**
  * @Author: liurunyu
  * @Date: 2024/7/8 18:53
- * @Description 鍙栨按鍙f棩鍙栨按閲忔紡鎹熼噺
+ * @Description 鍙栨按鍙f棩鍙栨按閲忔垨婕忔崯閲�
  */
 @TableName(value="rm_intake_amount_day", autoResultMap = true)
 @Data
@@ -23,7 +23,7 @@
 @ToString
 @NoArgsConstructor
 @AllArgsConstructor
-@Schema(name = "鍙栨按鍙f棩鍙栨按閲忔紡鎹熼噺")
+@Schema(name = "鍙栨按鍙f棩鍙栨按閲忔垨婕忔崯閲�")
 public class RmIntakeAmountDay implements BaseEntity {
 
     public static final long serialVersionUID = 2024007081854001L;
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/Temp4ChangeMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/Temp4ChangeMapper.xml
index 1380e68..6fe1f39 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/Temp4ChangeMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/Temp4ChangeMapper.xml
@@ -10,6 +10,11 @@
         order by id ASC
     </select>
 
+    <!-- ======================================= -->
+    <!--                                         -->
+    <!-- 鍙栨按閲�                                   -->
+    <!--                                         -->
+    <!--  ====================================== -->
     <!-- 鍙栨按鍙e彇姘撮噺鏃ョ粺璁$浉鍏�, 姝QL涓殑 鈥漮rder by id ASC 鈥滀笉鍙慨鏀� -->
     <select id="selectOneIntakeAllAmountDay" resultType="com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDay">
         select id as id,
@@ -90,4 +95,93 @@
         )
     </insert>
 
+
+    <!-- ======================================= -->
+    <!--                                         -->
+    <!-- 婕忔崯                                     -->
+    <!--                                         -->
+    <!--  ====================================== -->
+    <!-- 鍙栨按鍙f紡鎹熸棩缁熻鐩稿叧, 姝QL涓殑 鈥漮rder by id ASC 鈥滀笉鍙慨鏀� -->
+    <select id="selectOneIntakeAllLossDay" resultType="com.dy.pipIrrGlobal.pojoRm.RmLossDay">
+        select id as id,
+        intake_id as intakeId ,
+        dt as dt,
+        loss_amount as lossAmount
+        from  rm_loss_day
+        where intake_id = #{intakeId}
+        order by id ASC
+    </select>
+
+    <!-- 淇敼鍙栨按鍙f紡鎹熸棩缁熻 -->
+    <update id="updateOneIntakeLossDay" >
+        update rm_loss_day
+        set loss_amount = #{loss, jdbcType=FLOAT}
+        where id = #{id, jdbcType=BIGINT}
+    </update>
+
+
+
+    <delete id="deleteAllIntakeLossMonth">
+        delete from st_loss_month
+    </delete>
+
+    <!--  -->
+    <select id="statisticAllIntakeLossMonthFromLossDay" resultType="com.dy.pipIrrGlobal.pojoSt.StLossMonth">
+        select intake_id as intakeId ,
+        sum(loss_amount) as amount
+        from  rm_loss_day
+        where dt <![CDATA[>=]]> #{startDt, jdbcType=DATE}
+        and dt <![CDATA[<=]]> #{endDt, jdbcType=DATE}
+        group by intake_id
+    </select>
+
+    <insert id="saveOneIntakeLossMonth" parameterType="com.dy.pipIrrGlobal.pojoSt.StLossMonth">
+        <!--@mbg.generated-->
+        insert into st_loss_month (
+        id,
+        intake_id,
+        year,
+        month,
+        amount
+        )
+        values (#{id,jdbcType=BIGINT},
+        #{intakeId,jdbcType=BIGINT},
+        #{year,jdbcType=INTEGER},
+        #{month,jdbcType=INTEGER},
+        #{amount,jdbcType=FLOAT}
+        )
+    </insert>
+
+
+
+    <delete id="deleteAllIntakeLossYear">
+        delete from st_loss_year
+    </delete>
+
+    <!--  -->
+    <select id="statisticAllIntakeLossYearFromLossDay" resultType="com.dy.pipIrrGlobal.pojoSt.StLossYear">
+        select intake_id as intakeId ,
+        sum(loss_amount) as amount
+        from  rm_loss_day
+        where dt <![CDATA[>=]]> #{startDt, jdbcType=DATE}
+        and dt <![CDATA[<=]]> #{endDt, jdbcType=DATE}
+        group by intake_id
+    </select>
+
+    <insert id="saveOneIntakeLossYear" parameterType="com.dy.pipIrrGlobal.pojoSt.StLossYear">
+        <!--@mbg.generated-->
+        insert into st_loss_year (
+        id,
+        intake_id,
+        year,
+        amount
+        )
+        values (#{id,jdbcType=BIGINT},
+        #{intakeId,jdbcType=BIGINT},
+        #{year,jdbcType=INTEGER},
+        #{amount,jdbcType=FLOAT}
+        )
+    </insert>
+
+
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StChargeByClient.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StChargeByClient.java
new file mode 100644
index 0000000..6d32ddc
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StChargeByClient.java
@@ -0,0 +1,52 @@
+package com.dy.pipIrrStatistics.statistics;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/12/23 14:55
+ * @Description
+ */
+@Component
+public class StChargeByClient {
+
+    private static Logger log = LogManager.getLogger(StChargeByClient.class.getName()) ;
+
+    @Autowired
+    protected StChargeByClientSv sv ;
+
+    private Integer statisticsYear;
+    private Integer statisticsMonth;
+    private Long statisticsStartId ;
+    private Long statisticsEndId ;
+
+
+    protected void statistics(Integer statisticsYear,
+                              Integer statisticsMonth,
+                              Long statisticsStartId,
+                              Long statisticsEndId){
+        this.statisticsYear = statisticsYear ;
+        this.statisticsMonth = statisticsMonth ;
+        this.statisticsStartId = statisticsStartId ;
+        this.statisticsEndId = statisticsEndId ;
+        this.statisticsMonth() ;
+        this.statisticsYear() ;
+    }
+
+    /**
+     * 鏈堢粺璁�---鍐滄埛鍏呭��
+     */
+    private void statisticsMonth(){
+        sv.statisticsMonth(statisticsYear, statisticsMonth, statisticsStartId, statisticsEndId);
+    }
+
+    /**
+     * 骞寸粺璁�---鍐滄埛鍏呭��
+     */
+    private void statisticsYear(){
+        sv.statisticsYear(statisticsYear);
+    }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StChargeByClientSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StChargeByClientSv.java
new file mode 100644
index 0000000..c732e8c
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StChargeByClientSv.java
@@ -0,0 +1,66 @@
+package com.dy.pipIrrStatistics.statistics;
+
+import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth;
+import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountYear;
+import com.dy.pipIrrGlobal.voSt.VoIntakeAmountStatistics;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/12/23 14:54
+ * @Description
+ */
+@Component
+public class StChargeByClientSv {
+    /**
+     * 鏈堢粺璁�---婕忔崯
+     */
+    @Transactional
+    protected void statisticsMonth(Integer statisticsYear, Integer statisticsMonth, Long statisticsStartId, Long statisticsEndId){
+//        List<VoIntakeAmountStatistics> list = rmIntakeAmountDayDao.statisticsByIntake(statisticsStartId, statisticsEndId) ;
+//        if(list != null && list.size() > 0){
+//            for(VoIntakeAmountStatistics vo : list){
+//                StIntakeAmountMonth po = this.stIntakeAmountMonthDao.selectByIntakeIdAndYearAndMonth(vo.intakeId, statisticsYear, statisticsMonth) ;
+//                if(po == null){
+//                    po = new StIntakeAmountMonth() ;
+//                }
+//                po.intakeId = vo.intakeId ;
+//                po.year = statisticsYear ;
+//                po.month = statisticsMonth ;
+//                po.amount = vo.amount;
+//                if(po.id == null) {
+//                    stIntakeAmountMonthDao.insert(po);
+//                }else{
+//                    stIntakeAmountMonthDao.updateByPrimaryKey(po) ;
+//                }
+//            }
+//        }
+    }
+
+    /**
+     * 骞寸粺璁�---婕忔崯
+     */
+    @Transactional
+    protected void statisticsYear(Integer statisticsYear){
+//        List<VoIntakeAmountStatistics> list = stIntakeAmountMonthDao.statisticsByIntake(statisticsYear) ;
+//        if(list != null && list.size() > 0){
+//            for(VoIntakeAmountStatistics vo : list){
+//                StIntakeAmountYear po = stIntakeAmountYearDao.selectByIntakeIdAndYear(vo.intakeId, statisticsYear) ;
+//                if(po == null){
+//                    po = new StIntakeAmountYear() ;
+//                }
+//                po.intakeId = vo.intakeId ;
+//                po.year = statisticsYear ;
+//                po.amount = vo.amount;
+//                if(po.id == null){
+//                    stIntakeAmountYearDao.insert(po) ;
+//                }else{
+//                    stIntakeAmountYearDao.updateByPrimaryKey(po) ;
+//                }
+//            }
+//        }
+    }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StChargeByIc.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StChargeByIc.java
new file mode 100644
index 0000000..bf30e7f
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StChargeByIc.java
@@ -0,0 +1,52 @@
+package com.dy.pipIrrStatistics.statistics;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/12/23 14:53
+ * @Description
+ */
+@Component
+public class StChargeByIc {
+
+    private static Logger log = LogManager.getLogger(StChargeByIc.class.getName()) ;
+
+    @Autowired
+    protected StChargeByIcSv sv ;
+
+    private Integer statisticsYear;
+    private Integer statisticsMonth;
+    private Long statisticsStartId ;
+    private Long statisticsEndId ;
+
+
+    protected void statistics(Integer statisticsYear,
+                              Integer statisticsMonth,
+                              Long statisticsStartId,
+                              Long statisticsEndId){
+        this.statisticsYear = statisticsYear ;
+        this.statisticsMonth = statisticsMonth ;
+        this.statisticsStartId = statisticsStartId ;
+        this.statisticsEndId = statisticsEndId ;
+        this.statisticsMonth() ;
+        this.statisticsYear() ;
+    }
+
+    /**
+     * 鏈堢粺璁�---IC鍗″厖鍊�
+     */
+    private void statisticsMonth(){
+        sv.statisticsMonth(statisticsYear, statisticsMonth, statisticsStartId, statisticsEndId);
+    }
+
+    /**
+     * 骞寸粺璁�---IC鍗″厖鍊�
+     */
+    private void statisticsYear(){
+        sv.statisticsYear(statisticsYear);
+    }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StChargeByIcSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StChargeByIcSv.java
new file mode 100644
index 0000000..fbd0d8b
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StChargeByIcSv.java
@@ -0,0 +1,66 @@
+package com.dy.pipIrrStatistics.statistics;
+
+import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth;
+import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountYear;
+import com.dy.pipIrrGlobal.voSt.VoIntakeAmountStatistics;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/12/23 14:53
+ * @Description
+ */
+@Component
+public class StChargeByIcSv {
+    /**
+     * 鏈堢粺璁�---婕忔崯
+     */
+    @Transactional
+    protected void statisticsMonth(Integer statisticsYear, Integer statisticsMonth, Long statisticsStartId, Long statisticsEndId){
+//        List<VoIntakeAmountStatistics> list = rmIntakeAmountDayDao.statisticsByIntake(statisticsStartId, statisticsEndId) ;
+//        if(list != null && list.size() > 0){
+//            for(VoIntakeAmountStatistics vo : list){
+//                StIntakeAmountMonth po = this.stIntakeAmountMonthDao.selectByIntakeIdAndYearAndMonth(vo.intakeId, statisticsYear, statisticsMonth) ;
+//                if(po == null){
+//                    po = new StIntakeAmountMonth() ;
+//                }
+//                po.intakeId = vo.intakeId ;
+//                po.year = statisticsYear ;
+//                po.month = statisticsMonth ;
+//                po.amount = vo.amount;
+//                if(po.id == null) {
+//                    stIntakeAmountMonthDao.insert(po);
+//                }else{
+//                    stIntakeAmountMonthDao.updateByPrimaryKey(po) ;
+//                }
+//            }
+//        }
+    }
+
+    /**
+     * 骞寸粺璁�---婕忔崯
+     */
+    @Transactional
+    protected void statisticsYear(Integer statisticsYear){
+//        List<VoIntakeAmountStatistics> list = stIntakeAmountMonthDao.statisticsByIntake(statisticsYear) ;
+//        if(list != null && list.size() > 0){
+//            for(VoIntakeAmountStatistics vo : list){
+//                StIntakeAmountYear po = stIntakeAmountYearDao.selectByIntakeIdAndYear(vo.intakeId, statisticsYear) ;
+//                if(po == null){
+//                    po = new StIntakeAmountYear() ;
+//                }
+//                po.intakeId = vo.intakeId ;
+//                po.year = statisticsYear ;
+//                po.amount = vo.amount;
+//                if(po.id == null){
+//                    stIntakeAmountYearDao.insert(po) ;
+//                }else{
+//                    stIntakeAmountYearDao.updateByPrimaryKey(po) ;
+//                }
+//            }
+//        }
+    }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StatisticsJob.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StatisticsJob.java
index da3c02b..a180312 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StatisticsJob.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StatisticsJob.java
@@ -50,7 +50,7 @@
                 statisticsEndId = IDLongGenerator.generateOneDayEndId(statisticsYear, statisticsMonth, 31) ;
             }else{
                 //缁熻鏈湀鐨�
-                statisticsYear = ymd[0] ;//缁熻鏈�
+                statisticsYear = ymd[0] ;//缁熻骞�
                 statisticsMonth =  ymd[1] ;//缁熻鏈�
                 statisticsStartId = IDLongGenerator.generateOneDayStartId(ymd[0], ymd[1], 1) ;
                 statisticsEndId = IDLongGenerator.generateOneDayEndId(ymd[0], ymd[1], 31) ;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/changeSome/ChSomeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/changeSome/ChSomeCtrl.java
index 3c7befe..2ebaaf0 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/changeSome/ChSomeCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/changeSome/ChSomeCtrl.java
@@ -22,11 +22,27 @@
 
     private ChSomeIntakeAmountSv intakeAmountSv;
 
+    private ChSomeIntakeLossSv intakeLossSv;
+
     @Autowired
     private void setSv(ChSomeIntakeAmountSv sv) {
         this.intakeAmountSv = sv;
     }
 
+    @Autowired
+    private void setSv(ChSomeIntakeLossSv sv) {
+        this.intakeLossSv = sv;
+    }
+
+
+
+
+
+    ///////////////////////////////////////////
+    //
+    // 鍙栨按鍙g浉鍏冲彇姘撮噺
+    //
+    ///////////////////////////////////////////
     /**
      * 淇敼涓�浜涘彇姘村彛鍙栨按閲忔棩缁熻
      * @return
@@ -62,4 +78,48 @@
         this.intakeAmountSv.statisticsIntakeAmountYear();
         return BaseResponseUtils.buildSuccess(true);
     }
+
+
+
+
+    ///////////////////////////////////////////
+    //
+    // 鍙栨按鍙g浉鍏虫紡鎹�
+    //
+    ///////////////////////////////////////////
+    /**
+     * 淇敼涓�浜涘彇姘村彛婕忔崯閲忔棩缁熻
+     * @return
+     */
+    @GetMapping(path = "changeSomeIntakeDayLoss")
+    @SsoAop()
+    public BaseResponse<Boolean> changeSomeIntakeDayLoss() throws Exception{
+        this.intakeLossSv.chIntakeLossDay();
+        return BaseResponseUtils.buildSuccess(true);
+    }
+
+
+    /**
+     * 閲嶆柊缁熻鍙栨按鍙f湀婕忔崯閲�
+     * @return
+     */
+    @GetMapping(path = "reStatisticsAllIntakeMonthLoss")
+    @SsoAop()
+    public BaseResponse<Boolean> reStatisticsAllIntakeMonthLoss() throws Exception{
+        this.intakeLossSv.deleteAllIntakeLossMonth();
+        this.intakeLossSv.statisticsIntakeLossMonth();
+        return BaseResponseUtils.buildSuccess(true);
+    }
+
+    /**
+     * 閲嶆柊缁熻鍙栨按鍙f墍婕忔崯閲�
+     * @return
+     */
+    @GetMapping(path = "reStatisticsAllIntakeYearLoss")
+    @SsoAop()
+    public BaseResponse<Boolean> reStatisticsAllIntakeYearLoss() throws Exception{
+        this.intakeLossSv.deleteAllIntakeLossYear();
+        this.intakeLossSv.statisticsIntakeLossYear();
+        return BaseResponseUtils.buildSuccess(true);
+    }
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/changeSome/ChSomeIntakeLossSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/changeSome/ChSomeIntakeLossSv.java
new file mode 100644
index 0000000..9a540ed
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/changeSome/ChSomeIntakeLossSv.java
@@ -0,0 +1,188 @@
+package com.dy.pipIrrTemp.changeSome;
+
+import com.dy.common.util.DateTime;
+import com.dy.pipIrrGlobal.daoTmp.ChangeMapper;
+import com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDay;
+import com.dy.pipIrrGlobal.pojoRm.RmLossDay;
+import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth;
+import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountYear;
+import com.dy.pipIrrGlobal.pojoSt.StLossMonth;
+import com.dy.pipIrrGlobal.pojoSt.StLossYear;
+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;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/12/24 8:47
+ * @Description
+ */
+@Slf4j
+@Service
+public class ChSomeIntakeLossSv {
+
+    private ChangeMapper dao;
+
+    private static final int IntakeLossDayFlag = 800 ;//2024-12-14缁熻鍏冭皨鏁版嵁搴撳疄鏃舵暟鎹紝鍙戠幇澶т簬800鐨勬纭殑鏁版嵁涓嶅瓨鍦紝鑰屽皬浜�800鐨勫熀鏈负姝g‘鏁版嵁
+
+    @Autowired
+    private void setDao(ChangeMapper dao){
+        this.dao = dao;
+    }
+
+    ////////////////////////////////////////
+    //
+    // 鏈夊叧鏃ョ粺璁�
+    //
+    ///////////////////////////////////////
+    /**
+     * 璋冩暣鍙栨按鍙f棩婕忔崯閲忕粺璁�
+     * @throws Exception
+     */
+    public void chIntakeLossDay() throws Exception{
+        List<VoIntake> list = dao.selectAllPrIntakes() ;
+        if(list != null && list.size() > 0){
+            for(VoIntake vo : list){
+                List<RmLossDay> adList = dao.selectOneIntakeAllLossDay(vo.getIntakeId()) ;
+                if(adList != null && adList.size() > 0){
+                    //adList涓暟鎹互id鍗囧簭鎺掑垪
+                    for(RmLossDay ad : adList){
+                        if(ad.lossAmount != null && ad.lossAmount > IntakeLossDayFlag){
+                            this.doUpdateOneIntakeLossDay(ad.id, 0.0);
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    @Transactional
+    protected int doUpdateOneIntakeLossDay(Long id, Double loss){
+        return dao.updateOneIntakeLossDay(id, loss);
+    }
+
+
+
+    ////////////////////////////////////////
+    //
+    // 鏈夊叧鏈堢粺璁�
+    //
+    ///////////////////////////////////////
+
+    private static final int DealStartYear = 2024 ;
+    private static final int DealStartMonth = 8 ;
+
+    private static final String endDayOfMonth(int year, int month){
+        if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12){
+            return "31" ;
+        }else{
+            if(month == 2){
+                if(DateTime.isLeapYear(year)){
+                    return "29" ;
+                }else{
+                    return "28" ;
+                }
+            }else{
+                return "30" ;
+            }
+        }
+    }
+    /**
+     * 鍒犻櫎鎵�鏈夊彇姘村彛鏈堟紡鎹熼噺缁熻
+     * @throws Exception
+     */
+    @Transactional
+    public void deleteAllIntakeLossMonth(){
+        dao.deleteAllIntakeLossMonth();
+    }
+
+    /**
+     * 缁熻鍙栨按鍙f湀婕忔崯閲�
+     * @throws Exception
+     */
+    public void statisticsIntakeLossMonth() throws Exception{
+        int nowYear = Integer.parseInt(DateTime.yyyy()) ;
+        int nowMonth = Integer.parseInt(DateTime.mm()) ;
+        Date startDt ;
+        Date endDt ;
+        List<StLossMonth> 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 + "-" + endDayOfMonth(year, month)) ;
+                    list = dao.statisticAllIntakeLossMonthFromLossDay(startDt, endDt) ;
+                    this.doStatisticsIntakeLossMonth(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 + "-" + endDayOfMonth(year, month)) ;
+                    list = dao.statisticAllIntakeLossMonthFromLossDay(startDt, endDt) ;
+                    this.doStatisticsIntakeLossMonth(year, month, list) ;
+                }
+            }
+        }
+    }
+    @Transactional
+    protected void doStatisticsIntakeLossMonth(int year, int month, List<StLossMonth> list) throws Exception{
+        if(list != null && list.size() > 0){
+            for(StLossMonth po : list){
+                po.year = year ;
+                po.month = month ;
+                dao.saveOneIntakeLossMonth(po) ;
+            }
+        }
+    }
+
+
+
+
+    ////////////////////////////////////////
+    //
+    // 鏈夊叧骞寸粺璁�
+    //
+    ///////////////////////////////////////
+    /**
+     * 鍒犻櫎鎵�鏈夊彇姘村彛骞存紡鎹熼噺缁熻
+     * @throws Exception
+     */
+    @Transactional
+    public void deleteAllIntakeLossYear(){
+        dao.deleteAllIntakeLossYear();
+    }
+
+    /**
+     * 缁熻鍙栨按鍙f湀婕忔崯閲�
+     * @throws Exception
+     */
+    public void statisticsIntakeLossYear() throws Exception{
+        int nowYear = Integer.parseInt(DateTime.yyyy()) ;
+        Date startDt ;
+        Date endDt ;
+        List<StLossYear> 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.statisticAllIntakeLossYearFromLossDay(startDt, endDt) ;
+            this.doStatisticsIntakeLossYear(year, list) ;
+        }
+    }
+    @Transactional
+    protected void doStatisticsIntakeLossYear(int year, List<StLossYear> list) throws Exception{
+        if(list != null && list.size() > 0){
+            for(StLossYear po : list){
+                po.year = year ;
+                dao.saveOneIntakeLossYear(po) ;
+            }
+        }
+    }
+
+}
diff --git "a/pipIrr-platform/pipIrr-web/pipIrr-web-temp/\350\257\264\346\230\216.txt" "b/pipIrr-platform/pipIrr-web/pipIrr-web-temp/\350\257\264\346\230\216.txt"
index 8a89873..acbb18b 100644
--- "a/pipIrr-platform/pipIrr-web/pipIrr-web-temp/\350\257\264\346\230\216.txt"
+++ "b/pipIrr-platform/pipIrr-web/pipIrr-web-temp/\350\257\264\346\230\216.txt"
@@ -13,7 +13,16 @@
 
 4銆佷慨鏀逛竴浜涘彇姘村彛鏃ュ彇姘撮噺缁熻---鍥燫TU涓�澶╁唴鏁寸偣鎶ヤ腑绱娴侀噺闂存瓏鍑虹幇0鍊硷紝涓ゆ涓婃姤绱娴侀噺宸�间細浜х敓澶у��
 /temp/chSome/changeSomeIntakeDayAmount
-5銆侀噸鏂扮粺璁″彇姘村彛鏈堝彇姘撮噺锛堟墽琛屽墠鍏抽棴閫氫俊涓棿浠讹級
+5銆侀噸鏂扮粺璁″彇姘村彛鏈堝彇姘撮噺
 /temp/chSome/reStatisticsAllIntakeMonthAmount
-6銆侀噸鏂扮粺璁″彇姘村彛骞村彇姘撮噺锛堟墽琛屽墠鍏抽棴閫氫俊涓棿浠讹級
-/temp/chSome/reStatisticsAllIntakeYearAmount
\ No newline at end of file
+6銆侀噸鏂扮粺璁″彇姘村彛骞村彇姘撮噺
+/temp/chSome/reStatisticsAllIntakeYearAmount
+
+
+
+7銆佷慨鏀逛竴浜涘彇姘村彛鏃ユ紡鎹熼噺缁熻---鍥犱负鏂板畨瑁呮按閲忥紝琛ㄥ簳鍊兼瘮杈冨ぇ
+/temp/chSome/changeSomeIntakeDayLoss
+8銆侀噸鏂扮粺璁″彇姘村彛鏈堟紡鎹熼噺
+/temp/chSome/reStatisticsAllIntakeMonthLoss
+9銆侀噸鏂扮粺璁″彇姘村彛骞存紡鎹熼噺
+/temp/chSome/reStatisticsAllIntakeYearLoss
\ No newline at end of file

--
Gitblit v1.8.0