From dd2259bcc1cfe4e31f297af3df1e94d2b95d7476 Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期五, 13 十二月 2024 16:51:23 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/PrintSqlHelp.java                             |  123 ++
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/PrintSqlInterceptor.java                      |   63 +
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStClientAmountYear.java                 |    5 
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/loss/LossQo.java         |   49 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/MyBatisConfig.java                            |    6 
 pipIrr-platform/pipIrr-global/src/main/resources/application-global(test测试系统).yml                               |    3 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossAmountYear.java                   |    3 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/PrintExceptionSqlInterceptor.java             |  160 --
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStClientAmountMonth.java                |    4 
 pipIrr-platform/pipIrr-global/src/main/resources/application-global(sp沙盘系统).yml                                 |    3 
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/DateTime.java                                    |   11 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossAmountDay.java                    |    7 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmIntakeAmountDayMapper.java              |   32 
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml                             |  447 +++++++
 pipIrr-platform/pipIrr-global/src/main/resources/application-global(ym元谋系统).yml                                 |    3 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossDayMapper.java                      |   32 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStIntakeAmountYear.java                 |    3 
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/loss/LossCtrl.java       |   73 +
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/loss/LossSv.java         |  188 +++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoMonthAmount.java                         |   41 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStIntakeAmountMonth.java                |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intaker/IntakerSv.java   |  188 +++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/StIntakeAmountMonthMapper.xml                           |  187 +++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoDayIntakeAmount.java                     |   83 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StLossMonthMapper.java                    |   30 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoDayLoss.java                             |   79 
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/StLossMonthMapper.xml                                   |  185 +++
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intaker/IntakerQo.java   |   48 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStClientAmountDay.java                  |    9 
 pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeIntakeAmountSv.java   |  127 ++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StIntakeAmountMonthMapper.java            |   32 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/MonitorSv.java           |    2 
 /dev/null                                                                                                       |   63 -
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossAmountMonth.java                  |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intaker/IntakerCtrl.java |   72 +
 pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeClientAmountSv.java   |  127 ++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayMapper.xml                                     |  480 ++++++++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/Temp4DeleteMapper.xml                                   |  148 ++
 pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml                                         |    5 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoTmp/DeleteMapper.java                        |   86 +
 pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeCtrl.java             |   50 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStIntakeAmountDay.java                  |    7 
 pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeLossAmountSv.java     |  125 ++
 43 files changed, 3,064 insertions(+), 329 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/MyBatisConfig.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/MyBatisConfig.java
index fed35d1..60eef8c 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/MyBatisConfig.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/MyBatisConfig.java
@@ -4,6 +4,7 @@
 import jakarta.annotation.PostConstruct;
 import org.apache.ibatis.session.SqlSessionFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
@@ -15,6 +16,8 @@
     @Autowired
     private List<SqlSessionFactory> sqlSessionFactoryList;
 
+    @Value("${mybatis-plus.configuration.print-sql}")
+    private boolean printSql;
     /**
      * 涓や釜鎷︽埅鍣紝鑷姩鐢熸垚ID锛屽紓甯告椂杈撳嚭SQL
      */
@@ -23,6 +26,9 @@
         for (SqlSessionFactory sqlSessionFactory : sqlSessionFactoryList) {
             sqlSessionFactory.getConfiguration().addInterceptor(new AutoGenerateIdInterceptor());
             sqlSessionFactory.getConfiguration().addInterceptor(new PrintExceptionSqlInterceptor());
+            if (printSql) {
+                sqlSessionFactory.getConfiguration().addInterceptor(new PrintSqlInterceptor());
+            }
         }
     }
 
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/PrintExceptionSqlInterceptor.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/PrintExceptionSqlInterceptor.java
index 96dc6f3..9ffada1 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/PrintExceptionSqlInterceptor.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/PrintExceptionSqlInterceptor.java
@@ -1,27 +1,20 @@
 package com.dy.common.mybatis;
 
 import java.lang.reflect.InvocationTargetException;
-import java.text.DateFormat;
-import java.util.Date;
-import java.util.List;
-import java.util.Locale;
 import java.util.Properties;
 
 import lombok.extern.slf4j.Slf4j;
 import org.apache.ibatis.executor.Executor;
 import org.apache.ibatis.mapping.BoundSql;
 import org.apache.ibatis.mapping.MappedStatement;
-import org.apache.ibatis.mapping.ParameterMapping;
 import org.apache.ibatis.plugin.Interceptor;
 import org.apache.ibatis.plugin.Intercepts;
 import org.apache.ibatis.plugin.Invocation;
 import org.apache.ibatis.plugin.Plugin;
 import org.apache.ibatis.plugin.Signature;
-import org.apache.ibatis.reflection.MetaObject;
 import org.apache.ibatis.session.Configuration;
 import org.apache.ibatis.session.ResultHandler;
 import org.apache.ibatis.session.RowBounds;
-import org.apache.ibatis.type.TypeHandlerRegistry;
 
 /**
  * 鎷︽埅鎵цSQL鍙戠敓寮傚父鐨勫満鏅紝骞跺皢鎵ц閿欒锛屾墽琛孲QL鍜屽弬鏁版墦鍗板嚭鏉�
@@ -53,33 +46,36 @@
     @Override
     public Object intercept(Invocation invocation) throws Throwable {
         // 鑾峰彇鎵ц鏂规硶鐨凪appedStatement鍙傛暟
-        MappedStatement mappedStatement = (MappedStatement) invocation.getArgs()[0];
-        Object parameter = null;
-        if (invocation.getArgs().length > 1) {
-            parameter = invocation.getArgs()[1];
-        }
-        String sqlId = mappedStatement.getId();
-        BoundSql boundSql = mappedStatement.getBoundSql(parameter);
-        Configuration configuration = mappedStatement.getConfiguration();
-        Object response;
-        try {
-            response = invocation.proceed();
-        } catch (Exception e) {
-            // 杈撳嚭SQL寮傚父淇℃伅
-            log.error("SQL ErrorException:", e);
-            log.info("SQL Parameters: {}", boundSql.getParameterObject());
-            log.info("Execute SqlId: {}", sqlId);
-            log.info("Completely Execute SQL: {}", getFullSql(configuration, boundSql));
-            // 鏍规嵁婧愬紓甯哥被鍨嬭繘琛岃繑鍥�
-            if (e instanceof InvocationTargetException) {
-                throw new InvocationTargetException(e);
-            } else if (e instanceof IllegalAccessException) {
-                throw new IllegalAccessException(e.getMessage());
-            } else {
-                throw new RuntimeException(e);
+        Object[] args = invocation.getArgs();
+        if(args != null && args.length > 1){
+            MappedStatement mappedStatement = (MappedStatement) args[0];
+            Object parameter = args[1];
+
+            String sqlId = mappedStatement.getId();
+            BoundSql boundSql = mappedStatement.getBoundSql(parameter);
+            Configuration configuration = mappedStatement.getConfiguration();
+            Object response;
+            try {
+                response = invocation.proceed();
+            } catch (Exception e) {
+                // 杈撳嚭SQL寮傚父淇℃伅
+                log.error("SQL ErrorException:", e);
+                log.error("SQL Id: {}", sqlId);
+                log.error("SQL Parameters: {}", boundSql.getParameterObject());
+                log.error("SQL: {}", PrintSqlHelp.getFullSql(configuration, boundSql));
+                // 鏍规嵁婧愬紓甯哥被鍨嬭繘琛岃繑鍥�
+                if (e instanceof InvocationTargetException) {
+                    throw new InvocationTargetException(e);
+                } else if (e instanceof IllegalAccessException) {
+                    throw new IllegalAccessException(e.getMessage());
+                } else {
+                    throw new RuntimeException(e);
+                }
             }
+            return response;
+        }else{
+            return invocation.proceed();
         }
-        return response;
     }
 
     /**
@@ -106,105 +102,5 @@
     public void setProperties(Properties properties) {
     }
 
-
-    /**
-     * 杞箟姝e垯鐗规畩瀛楃 锛�$()*+.[]?\^{}
-     * \\闇�瑕佺涓�涓浛鎹紝鍚﹀垯replace鏂规硶鏇挎崲鏃朵細鏈夐�昏緫bug
-     */
-    private static String makeQueryStringAllRegExp(String str) {
-        if (str != null && !"".equals(str)) {
-            return str.replace("\\", "\\\\")
-                    .replace("*", "\\*")
-                    .replace("+", "\\+")
-                    .replace("|", "\\|")
-                    .replace("{", "\\{")
-                    .replace("}", "\\}")
-                    .replace("(", "\\(")
-                    .replace(")", "\\)")
-                    .replace("^", "\\^")
-                    .replace("$", "\\$")
-                    .replace("[", "\\[")
-                    .replace("]", "\\]")
-                    .replace("?", "\\?")
-                    .replace(",", "\\,")
-                    .replace(".", "\\.")
-                    .replace("&", "\\&");
-        }
-        return str;
-    }
-
-    /**
-     * 鑾峰彇鍙傛暟瀵瑰簲鐨剆tring鍊�
-     *
-     * @param obj 鍙傛暟瀵瑰簲鐨勫��
-     * @return string
-     */
-    private static String getParameterValue(Object obj) {
-        String value;
-        if (obj instanceof String) {
-            value = "'" + obj + "'";
-        } else if (obj instanceof Date) {
-            DateFormat formatter =
-                    DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.DEFAULT, Locale.CHINA);
-            value = "'" + formatter.format(obj) + "'";
-        } else {
-            if (obj != null) {
-                value = obj.toString();
-            } else {
-                value = "";
-            }
-        }
-        // 瀵圭壒娈婂瓧绗﹁繘琛岃浆涔夛紝鏂逛究涔嬪悗澶勭悊鏇挎崲
-        return value != null ? makeQueryStringAllRegExp(value) : "";
-    }
-
-    /**
-     * 鑾峰彇瀹屾暣鐨勬墽琛孲QL
-     */
-    public static String getFullSql(Configuration configuration, BoundSql boundSql) {
-        try {
-            return parseAndExtractFullSql(configuration, boundSql);
-        } catch (Exception e) {
-            // 濡傛灉瑙f瀽澶辫触杩斿洖鍘熷SQL
-            return boundSql.getSql();
-        }
-    }
-
-    /**
-     * 缁勮瀹屾暣鐨剆ql璇彞骞舵妸瀵瑰簲鐨勫弬鏁伴兘浠e叆鍒皊ql璇彞閲岄潰
-     *
-     * @param configuration Configuration
-     * @param boundSql      BoundSql
-     * @return sql瀹屾暣璇彞
-     */
-    private static String parseAndExtractFullSql(Configuration configuration, BoundSql boundSql) {
-        // 鑾峰彇mapper閲岄潰鏂规硶涓婄殑鍙傛暟
-        Object sqlParameter = boundSql.getParameterObject();
-        // sql璇彞閲岄潰闇�瑕佺殑鍙傛暟
-        List<ParameterMapping> parameterMappings = boundSql.getParameterMappings();
-        // sql鍘熷璇彞(?杩樻病鏈夋浛鎹㈡垚鎴戜滑鍏蜂綋鐨勫弬鏁�)
-        String sql = boundSql.getSql().replaceAll("[\\s]+", " ");
-        if (!parameterMappings.isEmpty() && sqlParameter != null) {
-            // sql璇彞閲岄潰鐨�?鏇挎崲鎴愮湡瀹炵殑鍙傛暟
-            TypeHandlerRegistry typeHandlerRegistry = configuration.getTypeHandlerRegistry();
-            if (typeHandlerRegistry.hasTypeHandler(sqlParameter.getClass())) {
-                sql = sql.replaceFirst("\\?", getParameterValue(sqlParameter));
-            } else {
-                MetaObject metaObject = configuration.newMetaObject(sqlParameter);
-                for (ParameterMapping parameterMapping : parameterMappings) {
-                    // 鎸夐『搴忔妸?鏇挎崲鎴愬搴旂殑鍊�
-                    String propertyName = parameterMapping.getProperty();
-                    if (metaObject.hasGetter(propertyName)) {
-                        Object obj = metaObject.getValue(propertyName);
-                        sql = sql.replaceFirst("\\?", getParameterValue(obj));
-                    } else if (boundSql.hasAdditionalParameter(propertyName)) {
-                        Object obj = boundSql.getAdditionalParameter(propertyName);
-                        sql = sql.replaceFirst("\\?", getParameterValue(obj));
-                    }
-                }
-            }
-        }
-        return sql;
-    }
 
 }
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/PrintSqlHelp.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/PrintSqlHelp.java
new file mode 100644
index 0000000..b25921d
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/PrintSqlHelp.java
@@ -0,0 +1,123 @@
+package com.dy.common.mybatis;
+
+import org.apache.ibatis.mapping.BoundSql;
+import org.apache.ibatis.mapping.ParameterMapping;
+import org.apache.ibatis.reflection.MetaObject;
+import org.apache.ibatis.session.Configuration;
+import org.apache.ibatis.type.TypeHandlerRegistry;
+
+import java.text.DateFormat;
+import java.util.Date;
+import java.util.List;
+import java.util.Locale;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/12/13 10:39
+ * @Description
+ */
+public class PrintSqlHelp {
+
+    /**
+     * 鑾峰彇瀹屾暣鐨勬墽琛孲QL
+     */
+    public static String getFullSql(Configuration configuration, BoundSql boundSql) {
+        try {
+            return parseAndExtractFullSql(configuration, boundSql);
+        } catch (Exception e) {
+            // 濡傛灉瑙f瀽澶辫触杩斿洖鍘熷SQL
+            return boundSql.getSql();
+        }
+    }
+
+    /**
+     * 缁勮瀹屾暣鐨剆ql璇彞骞舵妸瀵瑰簲鐨勫弬鏁伴兘浠e叆鍒皊ql璇彞閲岄潰
+     *
+     * @param configuration Configuration
+     * @param boundSql      BoundSql
+     * @return sql瀹屾暣璇彞
+     */
+    private static String parseAndExtractFullSql(Configuration configuration, BoundSql boundSql) {
+        // 鑾峰彇mapper閲岄潰鏂规硶涓婄殑鍙傛暟
+        Object sqlParameter = boundSql.getParameterObject();
+        // sql璇彞閲岄潰闇�瑕佺殑鍙傛暟
+        List<ParameterMapping> parameterMappings = boundSql.getParameterMappings();
+        // sql鍘熷璇彞(?杩樻病鏈夋浛鎹㈡垚鎴戜滑鍏蜂綋鐨勫弬鏁�)
+        String sql = boundSql.getSql().replaceAll("[\\s]+", " ");
+        if (!parameterMappings.isEmpty() && sqlParameter != null) {
+            // sql璇彞閲岄潰鐨�?鏇挎崲鎴愮湡瀹炵殑鍙傛暟
+            TypeHandlerRegistry typeHandlerRegistry = configuration.getTypeHandlerRegistry();
+            if (typeHandlerRegistry.hasTypeHandler(sqlParameter.getClass())) {
+                sql = sql.replaceFirst("\\?", getParameterValue(sqlParameter));
+            } else {
+                MetaObject metaObject = configuration.newMetaObject(sqlParameter);
+                for (ParameterMapping parameterMapping : parameterMappings) {
+                    // 鎸夐『搴忔妸?鏇挎崲鎴愬搴旂殑鍊�
+                    String propertyName = parameterMapping.getProperty();
+                    if (metaObject.hasGetter(propertyName)) {
+                        Object obj = metaObject.getValue(propertyName);
+                        sql = sql.replaceFirst("\\?", getParameterValue(obj));
+                    } else if (boundSql.hasAdditionalParameter(propertyName)) {
+                        Object obj = boundSql.getAdditionalParameter(propertyName);
+                        sql = sql.replaceFirst("\\?", getParameterValue(obj));
+                    }
+                }
+            }
+        }
+        return sql;
+    }
+
+
+    /**
+     * 鑾峰彇鍙傛暟瀵瑰簲鐨剆tring鍊�
+     *
+     * @param obj 鍙傛暟瀵瑰簲鐨勫��
+     * @return string
+     */
+    private static String getParameterValue(Object obj) {
+        String value;
+        if (obj instanceof String) {
+            value = "'" + obj + "'";
+        } else if (obj instanceof Date) {
+            DateFormat formatter =
+                    DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.DEFAULT, Locale.CHINA);
+            value = "'" + formatter.format(obj) + "'";
+        } else {
+            if (obj != null) {
+                value = obj.toString();
+            } else {
+                value = "";
+            }
+        }
+        // 瀵圭壒娈婂瓧绗﹁繘琛岃浆涔夛紝鏂逛究涔嬪悗澶勭悊鏇挎崲
+        return value != null ? makeQueryStringAllRegExp(value) : "";
+    }
+
+
+
+    /**
+     * 杞箟姝e垯鐗规畩瀛楃 锛�$()*+.[]?\^{}
+     * \\闇�瑕佺涓�涓浛鎹紝鍚﹀垯replace鏂规硶鏇挎崲鏃朵細鏈夐�昏緫bug
+     */
+    private static String makeQueryStringAllRegExp(String str) {
+        if (str != null && !"".equals(str)) {
+            return str.replace("\\", "\\\\")
+                    .replace("*", "\\*")
+                    .replace("+", "\\+")
+                    .replace("|", "\\|")
+                    .replace("{", "\\{")
+                    .replace("}", "\\}")
+                    .replace("(", "\\(")
+                    .replace(")", "\\)")
+                    .replace("^", "\\^")
+                    .replace("$", "\\$")
+                    .replace("[", "\\[")
+                    .replace("]", "\\]")
+                    .replace("?", "\\?")
+                    .replace(",", "\\,")
+                    .replace(".", "\\.")
+                    .replace("&", "\\&");
+        }
+        return str;
+    }
+}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/PrintSqlInterceptor.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/PrintSqlInterceptor.java
new file mode 100644
index 0000000..e13e1eb
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mybatis/PrintSqlInterceptor.java
@@ -0,0 +1,63 @@
+package com.dy.common.mybatis;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.ibatis.executor.Executor;
+import org.apache.ibatis.mapping.BoundSql;
+import org.apache.ibatis.mapping.MappedStatement;
+import org.apache.ibatis.plugin.Interceptor;
+import org.apache.ibatis.plugin.Intercepts;
+import org.apache.ibatis.plugin.Invocation;
+import org.apache.ibatis.plugin.Signature;
+import org.apache.ibatis.session.Configuration;
+import org.apache.ibatis.session.ResultHandler;
+import org.apache.ibatis.session.RowBounds;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/12/13 9:53
+ * @Description
+ */
+/**
+ * 鎷︽埅鎵цSQL鎵ц鍦烘櫙锛屽苟灏哠QL鎵撳嵃鍑烘潵
+ * 鎷︽埅Executor閲岄潰鐨剄uery鍜寀pdate鏂规硶
+ */
+@Intercepts({
+        @Signature(
+                method = "query",
+                type = Executor.class,
+                args = {
+                        MappedStatement.class,
+                        Object.class,
+                        RowBounds.class,
+                        ResultHandler.class
+                }
+        ),
+        @Signature(
+                type = Executor.class,
+                method = "update",
+                args = {
+                        MappedStatement.class,
+                        Object.class
+                }
+        )
+})
+@Slf4j
+public class PrintSqlInterceptor  implements Interceptor {
+    @Override
+    public Object intercept(Invocation invocation) throws Throwable {
+        Object[] args = invocation.getArgs();
+
+        if (args != null && args.length > 1) {
+            MappedStatement mappedStatement = (MappedStatement) args[0];
+            Object parameter = args[1];
+
+            String sqlId = mappedStatement.getId();
+            BoundSql boundSql = mappedStatement.getBoundSql(parameter);
+            Configuration configuration = mappedStatement.getConfiguration();
+            log.info("\nSQL Id: " + sqlId + "\nSQL Parameters: " + boundSql.getParameterObject() + "\nSQL: " + PrintSqlHelp.getFullSql(configuration, boundSql) + "\n");
+        }
+
+        return invocation.proceed();
+    }
+
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/DateTime.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/DateTime.java
index 9a33cc5..76f4ac2 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/DateTime.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/DateTime.java
@@ -501,6 +501,17 @@
 	//////////////////////////////////////////////////////////////////////////
 
 	/**
+	 * 瀛楃涓插瀷鏃ユ湡(2024-12)杞垚骞存湀鏃ユ暟缁�
+	 * @param yyyy_MM 骞存湀鏃�
+	 * @return 骞存湀鏃ユ暟缁�
+	 */
+	public static int[] yyyy_MM_ymdGroup(String yyyy_MM){
+		int y = Integer.parseInt(yyyy_MM.substring(0 , 4)) ;
+		int m = Integer.parseInt(yyyy_MM.substring(5 , 7)) ;
+		return new int[]{y,m} ;
+	}
+
+	/**
 	 * 瀛楃涓插瀷鏃ユ湡(2009-09-10)杞垚骞存湀鏃ユ暟缁�
 	 * @param yyyy_MM_DD 骞存湀鏃�
 	 * @return 骞存湀鏃ユ暟缁�
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmIntakeAmountDayMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmIntakeAmountDayMapper.java
index a934457..a725519 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmIntakeAmountDayMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmIntakeAmountDayMapper.java
@@ -4,6 +4,7 @@
 import com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDay;
 import com.dy.pipIrrGlobal.voRm.VoIntakeAmountDay;
 import com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount;
+import com.dy.pipIrrGlobal.voSt.VoDayLoss;
 import com.dy.pipIrrGlobal.voSt.VoIntakeAmountStatistics;
 import com.dy.pipIrrGlobal.voSt.VoMonthAmount;
 import org.apache.ibatis.annotations.Mapper;
@@ -119,4 +120,35 @@
      * @return
      */
     List<VoMonthAmount> getMonthIntakeAmount(Map<?, ?> params);
+
+    ////////////////////////////////////////////////
+    // 缁熻鏌ヨ
+    ///////////////////////////////////////////////
+
+    /**
+     * 涓烘煡璇㈢粺璁″彇姘村彛鏃ユ紡鎹熼噺锛岀粺璁″彇姘村彛鏁伴噺
+     * @param intakeN
+     * @return
+     */
+    Long selectIntakeCount4AmountDay(@Param("intakeNum")String intakeN) ;
+
+    /**
+     * 涓烘煡璇㈢粺璁″彇姘村彛鏃ユ紡鎹熼噺锛屾煡璇竴椤靛彇姘村彛ID
+     * @param params
+     * @return
+     */
+    List<VoDayIntakeAmount> selectIntakes4AmountDay(Map<?, ?> params) ;
+
+    /**
+     * 鏌ヨ缁熻鍙栨按鍙f棩婕忔崯閲�
+     * @param params
+     * @return
+     */
+    //涓嬮潰1鍒�31鍙峰垎浜�6涓煡璇紝鍘熷洜鏄叆涓�涓煡璇腑锛岄潪甯告參锛屼笉鐭ラ亾浠�涔堝師鍥狅紝涔熻鏄瓙鏌ヨ澶鐨勫師鍥�
+    List<VoDayIntakeAmount> selectIntakeAmountOfDay01_05(Map<?, ?> params);
+    List<VoDayIntakeAmount> selectIntakeAmountOfDay06_10(Map<?, ?> params);
+    List<VoDayIntakeAmount> selectIntakeAmountOfDay11_15(Map<?, ?> params);
+    List<VoDayIntakeAmount> selectIntakeAmountOfDay16_20(Map<?, ?> params);
+    List<VoDayIntakeAmount> selectIntakeAmountOfDay21_25(Map<?, ?> params);
+    List<VoDayIntakeAmount> selectIntakeAmountOfDay26_31(Map<?, ?> params);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossDayMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossDayMapper.java
index 7647fa9..02b4e18 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossDayMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossDayMapper.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dy.pipIrrGlobal.pojoRm.RmLossDay;
 import com.dy.pipIrrGlobal.voRm.VoLossDay;
+import com.dy.pipIrrGlobal.voSt.VoDayLoss;
 import com.dy.pipIrrGlobal.voSt.VoIntakeLossStatistics;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -97,4 +98,35 @@
      * @return
      */
     List<VoIntakeLossStatistics> statisticsByIntake(@Param("startId")Long statisticsStartId, @Param("endId")Long statisticsEndId) ;
+
+    ////////////////////////////////////////////////
+    // 缁熻鏌ヨ
+    ///////////////////////////////////////////////
+
+    /**
+     * 涓烘煡璇㈢粺璁″彇姘村彛鏃ユ紡鎹熼噺锛岀粺璁″彇姘村彛鏁伴噺
+     * @param intakeN
+     * @return
+     */
+    Long selectIntakeCount4LossDay(@Param("intakeNum")String intakeN) ;
+
+    /**
+     * 涓烘煡璇㈢粺璁″彇姘村彛鏃ユ紡鎹熼噺锛屾煡璇竴椤靛彇姘村彛ID
+     * @param params
+     * @return
+     */
+    List<VoDayLoss> selectIntakes4LossDay(Map<?, ?> params) ;
+
+    /**
+     * 鏌ヨ缁熻鍙栨按鍙f棩婕忔崯閲�
+     * @param params
+     * @return
+     */
+    //涓嬮潰1鍒�31鍙峰垎浜�6涓煡璇紝鍘熷洜鏄叆涓�涓煡璇腑锛岄潪甯告參锛屼笉鐭ラ亾浠�涔堝師鍥狅紝涔熻鏄瓙鏌ヨ澶鐨勫師鍥�
+    List<VoDayLoss> selectLossAmountOfDay01_05(Map<?, ?> params);
+    List<VoDayLoss> selectLossAmountOfDay06_10(Map<?, ?> params);
+    List<VoDayLoss> selectLossAmountOfDay11_15(Map<?, ?> params);
+    List<VoDayLoss> selectLossAmountOfDay16_20(Map<?, ?> params);
+    List<VoDayLoss> selectLossAmountOfDay21_25(Map<?, ?> params);
+    List<VoDayLoss> selectLossAmountOfDay26_31(Map<?, ?> params);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StIntakeAmountMonthMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StIntakeAmountMonthMapper.java
index 2f0f5fe..9e0372d 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StIntakeAmountMonthMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StIntakeAmountMonthMapper.java
@@ -5,10 +5,12 @@
 import com.dy.pipIrrGlobal.pojoSt.StLossMonth;
 import com.dy.pipIrrGlobal.voSt.VoIntakeAmountStatistics;
 import com.dy.pipIrrGlobal.voSt.VoIntakeLossStatistics;
+import com.dy.pipIrrGlobal.voSt.VoMonthAmount;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Author: liurunyu
@@ -74,11 +76,39 @@
      * @param year 缁熻骞村害
      * @return
      */
-    List<VoIntakeAmountStatistics> statisticsByIntake(Integer year, Integer month, Long startId, Long endId) ;
+    List<VoIntakeAmountStatistics> statisticsByIntake(@Param("year")Integer year, @Param("month")Integer month, @Param("startId")Long startId, @Param("endId")Long endId) ;
     /**
      * 浠ュ彇姘村彛缁村害缁熻鍙栨按閲�
      * @param year 缁熻骞村害
      * @return
      */
     List<VoIntakeAmountStatistics> statisticsByIntake(Integer year) ;
+
+
+    ////////////////////////////////////////////////
+    // 缁熻鏌ヨ
+    ///////////////////////////////////////////////
+
+    /**
+     * 涓烘煡璇㈢粺璁″彇姘村彛鏃ユ紡鎹熼噺锛岀粺璁″彇姘村彛鏁伴噺
+     * @param intakeN
+     * @return
+     */
+    Long selectIntakeCount4AmountMonth(@Param("intakeNum")String intakeN) ;
+
+    /**
+     * 涓烘煡璇㈢粺璁″彇姘村彛鏃ユ紡鎹熼噺锛屾煡璇竴椤靛彇姘村彛ID
+     * @param params
+     * @return
+     */
+    List<VoMonthAmount> selectIntakes4AmountMonth(Map<?, ?> params) ;
+
+    /**
+     * 鏌ヨ缁熻鍙栨按鍙f湀婕忔崯閲�
+     * @param params
+     * @return
+     */
+    //涓嬮潰1鍒�12鏈堝垎浜�2涓煡璇紝鍘熷洜鏄湪涓�涓煡璇腑锛岄潪甯告參锛屼笉鐭ラ亾浠�涔堝師鍥狅紝涔熻鏄瓙鏌ヨ澶鐨勫師鍥�
+    List<VoMonthAmount> selectIntakeAmountOfMonth01_06(Map<?, ?> params);
+    List<VoMonthAmount> selectIntakeAmountOfMonth07_12(Map<?, ?> params);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StLossMonthMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StLossMonthMapper.java
index df3f5ae..fc34ae5 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StLossMonthMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StLossMonthMapper.java
@@ -3,10 +3,12 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dy.pipIrrGlobal.pojoSt.StLossMonth;
 import com.dy.pipIrrGlobal.voSt.VoIntakeLossStatistics;
+import com.dy.pipIrrGlobal.voSt.VoMonthAmount;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Author: liurunyu
@@ -79,4 +81,32 @@
      */
     List<VoIntakeLossStatistics> statisticsByIntake(Integer year) ;
 
+
+    ////////////////////////////////////////////////
+    // 缁熻鏌ヨ
+    ///////////////////////////////////////////////
+
+    /**
+     * 涓烘煡璇㈢粺璁″彇姘村彛鏃ユ紡鎹熼噺锛岀粺璁″彇姘村彛鏁伴噺
+     * @param intakeN
+     * @return
+     */
+    Long selectIntakeCount4LossMonth(@Param("intakeNum")String intakeN) ;
+
+    /**
+     * 涓烘煡璇㈢粺璁″彇姘村彛鏃ユ紡鎹熼噺锛屾煡璇竴椤靛彇姘村彛ID
+     * @param params
+     * @return
+     */
+    List<VoMonthAmount> selectIntakes4LossMonth(Map<?, ?> params) ;
+
+    /**
+     * 鏌ヨ缁熻鍙栨按鍙f湀婕忔崯閲�
+     * @param params
+     * @return
+     */
+    //涓嬮潰1鍒�12鏈堝垎浜�2涓煡璇紝鍘熷洜鏄湪涓�涓煡璇腑锛岄潪甯告參锛屼笉鐭ラ亾浠�涔堝師鍥狅紝涔熻鏄瓙鏌ヨ澶鐨勫師鍥�
+    List<VoMonthAmount> selectLossAmountOfMonth01_06(Map<?, ?> params);
+    List<VoMonthAmount> selectLossAmountOfMonth07_12(Map<?, ?> params);
+
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoTmp/DeleteMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoTmp/DeleteMapper.java
index bb61453..017e23b 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoTmp/DeleteMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoTmp/DeleteMapper.java
@@ -1,7 +1,7 @@
 package com.dy.pipIrrGlobal.daoTmp;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.dy.pipIrrGlobal.voTmp.VoStLossMonth;
+import com.dy.pipIrrGlobal.voTmp.*;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
@@ -15,10 +15,88 @@
 public interface DeleteMapper extends BaseMapper<Object> {
 
     /**
-     * 鏌ヨ鍏ㄩ儴婕忔崯鏈堢粺璁�
+     * 鏌ヨ鍏ㄩ儴婕忔崯鏃ョ粺璁�
+     *
      * @return 瀹炰綋闆嗗悎
      */
-    List<VoStLossMonth> selectAllStLossMonth() ;
+    List<VoStLossAmountDay> selectAllStLossDay();
 
-    int deleteByMainKey(Long id) ;
+    int deleteStLossDayById(Long id);
+
+    /**
+     * 鏌ヨ鍏ㄩ儴婕忔崯鏈堢粺璁�
+     *
+     * @return 瀹炰綋闆嗗悎
+     */
+    List<VoStLossAmountMonth> selectAllStLossMonth();
+
+    int deleteStLossMonthById(Long id);
+
+    /**
+     * 鏌ヨ鍏ㄩ儴婕忔崯骞寸粺璁�
+     *
+     * @return 瀹炰綋闆嗗悎
+     */
+    List<VoStLossAmountYear> selectAllStLossYear();
+
+    int deleteStLossYearById(Long id);
+
+
+    /**
+     * 鏌ヨ鍏ㄩ儴鍙栨按鍙f棩缁熻
+     *
+     * @return 瀹炰綋闆嗗悎
+     */
+    List<VoStIntakeAmountDay> selectAllStIntakeDay();
+
+    int deleteStIntakeDayById(Long id);
+
+
+    /**
+     * 鏌ヨ鍏ㄩ儴鍙栨按鍙f湀缁熻
+     *
+     * @return 瀹炰綋闆嗗悎
+     */
+    List<VoStIntakeAmountMonth> selectAllStIntakeMonth();
+
+    int deleteStIntakeMonthById(Long id);
+
+    /**
+     * 鏌ヨ鍏ㄩ儴鍙栨按鍙e勾缁熻
+     *
+     * @return 瀹炰綋闆嗗悎
+     */
+    List<VoStIntakeAmountYear> selectAllStIntakeYear();
+
+    int deleteStIntakeYearById(Long id);
+
+
+    /**
+     * 鏌ヨ鍏ㄩ儴鍐滄埛鏈堢粺璁�
+     *
+     * @return 瀹炰綋闆嗗悎
+     */
+    List<VoStClientAmountDay> selectAllStClientDay();
+
+    int deleteStClientDayById(Long id);
+
+
+    /**
+     * 鏌ヨ鍏ㄩ儴鍐滄埛鏈堢粺璁�
+     *
+     * @return 瀹炰綋闆嗗悎
+     */
+    List<VoStClientAmountMonth> selectAllStClientMonth();
+
+    int deleteStClientMonthById(Long id);
+
+    /**
+     * 鏌ヨ鍏ㄩ儴鍐滄埛骞寸粺璁�
+     *
+     * @return 瀹炰綋闆嗗悎
+     */
+    List<VoStClientAmountYear> selectAllStClientYear();
+
+    int deleteStClientYearById(Long id);
+
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoDayIntakeAmount.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoDayIntakeAmount.java
index 88fef3c..197f8c2 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoDayIntakeAmount.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoDayIntakeAmount.java
@@ -14,81 +14,94 @@
  */
 
 @Data
-@JsonPropertyOrder({ "intakeId", "intakeNum", "amount1" , "amount2" , "amount3" , "amount4" , "amount5" , "amount6" , "amount7" , "amount8" , "amount9" , "amount10" , "amount11" , "amount12" , "amount13" , "amount14" , "amount15" , "amount16" , "amount17" , "amount18" , "amount19" , "amount20" , "amount21" , "amount22" , "amount23" , "amount24" , "amount25" , "amount26" , "amount27" , "amount28" , "amount29" , "amount30" , "amount31" })
+@JsonPropertyOrder(value = { "intakeId", "intakeNum", "intakeLng", "intakeLat",
+        "amount1" , "amount2" , "amount3" , "amount4" , "amount5" , "amount6" , "amount7" , "amount8" , "amount9" ,
+        "amount10" , "amount11" , "amount12" , "amount13" , "amount14" , "amount15" , "amount16" , "amount17" , "amount18" , "amount19" ,
+        "amount20" , "amount21" , "amount22" , "amount23" , "amount24" , "amount25" , "amount26" , "amount27" , "amount28" , "amount29" ,
+        "amount30" , "amount31" }, alphabetic = false)
 public class VoDayIntakeAmount {
-    private static final long serialVersionUID = 202408080933001L;
+    public static final long serialVersionUID = 202408080933001L;
 
     /**
      * 鍙栨按鍙D
      */
     @JSONField(serializeUsing= ObjectWriterImplToString.class)
-    private Long intakeId;
+    public Long intakeId;
 
     /**
      * 鍙栨按鍙g紪鍙�
      */
-    private String intakeNum;
+    public String intakeNum;
+
+    /**
+     * 缁忓害
+     */
+    public Double intakeLng;
+    /**
+     * 绾害
+     */
+    public Double intakeLat;
 
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount1;
+    public Double amount1;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount2;
+    public Double amount2;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount3;
+    public Double amount3;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount4;
+    public Double amount4;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount5;
+    public Double amount5;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount6;
+    public Double amount6;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount7;
+    public Double amount7;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount8;
+    public Double amount8;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount9;
+    public Double amount9;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount10;
+    public Double amount10;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount11;
+    public Double amount11;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount12;
+    public Double amount12;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount13;
+    public Double amount13;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount14;
+    public Double amount14;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount15;
+    public Double amount15;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount16;
+    public Double amount16;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount17;
+    public Double amount17;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount18;
+    public Double amount18;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount19;
+    public Double amount19;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount20;
+    public Double amount20;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount21;
+    public Double amount21;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount22;
+    public Double amount22;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount23;
+    public Double amount23;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount24;
+    public Double amount24;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount25;
+    public Double amount25;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount26;
+    public Double amount26;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount27;
+    public Double amount27;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount28;
+    public Double amount28;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount29;
+    public Double amount29;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount30;
+    public Double amount30;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double amount31;
+    public Double amount31;
 }
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoDayLoss.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoDayLoss.java
index bd2baa3..fc0985f 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoDayLoss.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoDayLoss.java
@@ -14,81 +14,90 @@
  */
 
 @Data
-@JsonPropertyOrder({ "intakeId", "intakeNum", "lossAmount1" , "lossAmount2" , "lossAmount3" , "lossAmount4" , "lossAmount5" , "lossAmount6" , "lossAmount7" , "lossAmount8" , "lossAmount9" , "lossAmount10" , "lossAmount11" , "lossAmount12" , "lossAmount13" , "lossAmount14" , "lossAmount15" , "lossAmount16" , "lossAmount17" , "lossAmount18" , "lossAmount19" , "lossAmount20" , "lossAmount21" , "lossAmount22" , "lossAmount23" , "lossAmount24" , "lossAmount25" , "lossAmount26" , "lossAmount27" , "lossAmount28" , "lossAmount29" , "lossAmount30" , "lossAmount31" })
+@JsonPropertyOrder({ "intakeId", "intakeNum", "intakeLng", "intakeLat", "lossAmount1" , "lossAmount2" , "lossAmount3" , "lossAmount4" , "lossAmount5" , "lossAmount6" , "lossAmount7" , "lossAmount8" , "lossAmount9" , "lossAmount10" , "lossAmount11" , "lossAmount12" , "lossAmount13" , "lossAmount14" , "lossAmount15" , "lossAmount16" , "lossAmount17" , "lossAmount18" , "lossAmount19" , "lossAmount20" , "lossAmount21" , "lossAmount22" , "lossAmount23" , "lossAmount24" , "lossAmount25" , "lossAmount26" , "lossAmount27" , "lossAmount28" , "lossAmount29" , "lossAmount30" , "lossAmount31" })
 public class VoDayLoss {
-    private static final long serialVersionUID = 202408081523001L;
+    public static final long serialVersionUID = 202408081523001L;
 
     /**
      * 鍙栨按鍙D
      */
     @JSONField(serializeUsing= ObjectWriterImplToString.class)
-    private Long intakeId;
+    public Long intakeId;
 
     /**
      * 鍙栨按鍙g紪鍙�
      */
-    private String intakeNum;
+    public String intakeNum;
+
+    /**
+     * 缁忓害
+     */
+    public Double intakeLng;
+    /**
+     * 绾害
+     */
+    public Double intakeLat;
 
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount1;
+    public Double lossAmount1;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount2;
+    public Double lossAmount2;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount3;
+    public Double lossAmount3;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount4;
+    public Double lossAmount4;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount5;
+    public Double lossAmount5;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount6;
+    public Double lossAmount6;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount7;
+    public Double lossAmount7;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount8;
+    public Double lossAmount8;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount9;
+    public Double lossAmount9;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount10;
+    public Double lossAmount10;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount11;
+    public Double lossAmount11;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount12;
+    public Double lossAmount12;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount13;
+    public Double lossAmount13;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount14;
+    public Double lossAmount14;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount15;
+    public Double lossAmount15;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount16;
+    public Double lossAmount16;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount17;
+    public Double lossAmount17;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount18;
+    public Double lossAmount18;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount19;
+    public Double lossAmount19;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount20;
+    public Double lossAmount20;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount21;
+    public Double lossAmount21;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount22;
+    public Double lossAmount22;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount23;
+    public Double lossAmount23;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount24;
+    public Double lossAmount24;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount25;
+    public Double lossAmount25;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount26;
+    public Double lossAmount26;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount27;
+    public Double lossAmount27;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount28;
+    public Double lossAmount28;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount29;
+    public Double lossAmount29;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount30;
+    public Double lossAmount30;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double lossAmount31;
+    public Double lossAmount31;
 }
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoMonthAmount.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoMonthAmount.java
index 7006a0e..9ffc36a 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoMonthAmount.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoMonthAmount.java
@@ -14,43 +14,52 @@
  */
 
 @Data
-@JsonPropertyOrder({ "intakeId", "intakeNum", "month1" , "month2" , "month3" , "month4" , "month5" , "month6" , "month7" , "month8" , "month9" , "month10" , "month11" , "month12"  })
+@JsonPropertyOrder({ "intakeId", "intakeNum", "intakeLng", "intakeLat", "month1" , "month2" , "month3" , "month4" , "month5" , "month6" , "month7" , "month8" , "month9" , "month10" , "month11" , "month12"  })
 public class VoMonthAmount {
-    private static final long serialVersionUID = 202408081417001L;
+    public static final long serialVersionUID = 202408081417001L;
 
     /**
      * 鍙栨按鍙D
      */
     @JSONField(serializeUsing= ObjectWriterImplToString.class)
-    private Long intakeId;
+    public Long intakeId;
 
     /**
      * 鍙栨按鍙g紪鍙�
      */
-    private String intakeNum;
+    public String intakeNum;
+
+    /**
+     * 缁忓害
+     */
+    public Double intakeLng;
+    /**
+     * 绾害
+     */
+    public Double intakeLat;
 
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double month1;
+    public Double month1;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double month2;
+    public Double month2;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double month3;
+    public Double month3;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double month4;
+    public Double month4;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double month5;
+    public Double month5;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double month6;
+    public Double month6;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double month7;
+    public Double month7;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double month8;
+    public Double month8;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double month9;
+    public Double month9;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double month10;
+    public Double month10;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double month11;
+    public Double month11;
     @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
-    private Double month12;
+    public Double month12;
 }
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStClientAmountDay.java
similarity index 62%
copy from pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java
copy to pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStClientAmountDay.java
index d5f8cd5..a85815d 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStClientAmountDay.java
@@ -2,16 +2,17 @@
 
 import lombok.Data;
 
+import java.util.Date;
+
 /**
  * @Author: liurunyu
  * @Date: 2024/12/11 11:20
  * @Description
  */
 @Data
-public class VoStLossMonth {
+public class VoStClientAmountDay {
     public Long id ;
-    public Long intakeId ;
-    public Integer year ;
-    public Integer month ;
+    public Long clientId ;
+    public Date dt ;
     public Double amount ;
 }
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStClientAmountMonth.java
similarity index 78%
copy from pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java
copy to pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStClientAmountMonth.java
index d5f8cd5..d648701 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStClientAmountMonth.java
@@ -8,9 +8,9 @@
  * @Description
  */
 @Data
-public class VoStLossMonth {
+public class VoStClientAmountMonth {
     public Long id ;
-    public Long intakeId ;
+    public Long clientId ;
     public Integer year ;
     public Integer month ;
     public Double amount ;
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStClientAmountYear.java
similarity index 71%
copy from pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java
copy to pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStClientAmountYear.java
index d5f8cd5..60c9665 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStClientAmountYear.java
@@ -8,10 +8,9 @@
  * @Description
  */
 @Data
-public class VoStLossMonth {
+public class VoStClientAmountYear {
     public Long id ;
-    public Long intakeId ;
+    public Long clientId ;
     public Integer year ;
-    public Integer month ;
     public Double amount ;
 }
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStIntakeAmountDay.java
similarity index 71%
copy from pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java
copy to pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStIntakeAmountDay.java
index d5f8cd5..e4df3a9 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStIntakeAmountDay.java
@@ -2,16 +2,17 @@
 
 import lombok.Data;
 
+import java.util.Date;
+
 /**
  * @Author: liurunyu
  * @Date: 2024/12/11 11:20
  * @Description
  */
 @Data
-public class VoStLossMonth {
+public class VoStIntakeAmountDay {
     public Long id ;
     public Long intakeId ;
-    public Integer year ;
-    public Integer month ;
+    public Date dt ;
     public Double amount ;
 }
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStIntakeAmountMonth.java
similarity index 87%
copy from pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java
copy to pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStIntakeAmountMonth.java
index d5f8cd5..856fc67 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStIntakeAmountMonth.java
@@ -8,7 +8,7 @@
  * @Description
  */
 @Data
-public class VoStLossMonth {
+public class VoStIntakeAmountMonth {
     public Long id ;
     public Long intakeId ;
     public Integer year ;
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStIntakeAmountYear.java
similarity index 80%
copy from pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java
copy to pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStIntakeAmountYear.java
index d5f8cd5..27f4c13 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStIntakeAmountYear.java
@@ -8,10 +8,9 @@
  * @Description
  */
 @Data
-public class VoStLossMonth {
+public class VoStIntakeAmountYear {
     public Long id ;
     public Long intakeId ;
     public Integer year ;
-    public Integer month ;
     public Double amount ;
 }
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossAmountDay.java
similarity index 71%
copy from pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java
copy to pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossAmountDay.java
index d5f8cd5..709d18e 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossAmountDay.java
@@ -2,16 +2,17 @@
 
 import lombok.Data;
 
+import java.util.Date;
+
 /**
  * @Author: liurunyu
  * @Date: 2024/12/11 11:20
  * @Description
  */
 @Data
-public class VoStLossMonth {
+public class VoStLossAmountDay {
     public Long id ;
     public Long intakeId ;
-    public Integer year ;
-    public Integer month ;
+    public Date dt ;
     public Double amount ;
 }
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossAmountMonth.java
similarity index 88%
rename from pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java
rename to pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossAmountMonth.java
index d5f8cd5..5a889c7 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossAmountMonth.java
@@ -8,7 +8,7 @@
  * @Description
  */
 @Data
-public class VoStLossMonth {
+public class VoStLossAmountMonth {
     public Long id ;
     public Long intakeId ;
     public Integer year ;
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossAmountYear.java
similarity index 80%
copy from pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java
copy to pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossAmountYear.java
index d5f8cd5..11a9271 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossMonth.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voTmp/VoStLossAmountYear.java
@@ -8,10 +8,9 @@
  * @Description
  */
 @Data
-public class VoStLossMonth {
+public class VoStLossAmountYear {
     public Long id ;
     public Long intakeId ;
     public Integer year ;
-    public Integer month ;
     public Double amount ;
 }
diff --git "a/pipIrr-platform/pipIrr-global/src/main/resources/application-global\050sp\346\262\231\347\233\230\347\263\273\347\273\237\051.yml" "b/pipIrr-platform/pipIrr-global/src/main/resources/application-global\050sp\346\262\231\347\233\230\347\263\273\347\273\237\051.yml"
index 0ca5332..eb28c05 100644
--- "a/pipIrr-platform/pipIrr-global/src/main/resources/application-global\050sp\346\262\231\347\233\230\347\263\273\347\273\237\051.yml"
+++ "b/pipIrr-platform/pipIrr-global/src/main/resources/application-global\050sp\346\262\231\347\233\230\347\263\273\347\273\237\051.yml"
@@ -65,7 +65,8 @@
     #type-aliases-package: com.dy.pipIrrGlobal.daoBa
     configuration:
         #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #鏃惰�岃緭鍑烘棩蹇楋紝鏃惰�屼笉杈撳嚭鏃ュ織
-        log-impl: org.apache.ibatis.logging.log4j2.Log4j2Impl
+        #log-impl: org.apache.ibatis.logging.log4j2.Log4j2Impl 涓嶅啀搴旂敤锛屾敼涓篜rintSqlInterceptor鎷︽埅鍣ㄨ緭鍑簊ql鏃ュ織锛屼笅闈rint-sql椤归厤缃�
+        print-sql: true # 杈撳嚭sql鏃ュ織寮�鍏筹紝鎺у埗PrintSqlInterceptor鎷︽埅鍣ㄦ槸鍚﹀姞杞�
         #寮�鍚┘宄皍Name鑷姩鏄犲皠鍒皍_name
         #2023-10-24缁忓疄楠岋紝涓嬮潰閰嶇疆true鎴杅alse锛岄兘鑳戒粠u_name鏄犲皠鍒皍Name
         #map-underscore-to-camel-case: true
diff --git "a/pipIrr-platform/pipIrr-global/src/main/resources/application-global\050test\346\265\213\350\257\225\347\263\273\347\273\237\051.yml" "b/pipIrr-platform/pipIrr-global/src/main/resources/application-global\050test\346\265\213\350\257\225\347\263\273\347\273\237\051.yml"
index a74a259..52949c4 100644
--- "a/pipIrr-platform/pipIrr-global/src/main/resources/application-global\050test\346\265\213\350\257\225\347\263\273\347\273\237\051.yml"
+++ "b/pipIrr-platform/pipIrr-global/src/main/resources/application-global\050test\346\265\213\350\257\225\347\263\273\347\273\237\051.yml"
@@ -65,7 +65,8 @@
     #type-aliases-package: com.dy.pipIrrGlobal.daoBa
     configuration:
         #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #鏃惰�岃緭鍑烘棩蹇楋紝鏃惰�屼笉杈撳嚭鏃ュ織
-        log-impl: org.apache.ibatis.logging.log4j2.Log4j2Impl
+        #log-impl: org.apache.ibatis.logging.log4j2.Log4j2Impl 涓嶅啀搴旂敤锛屾敼涓篜rintSqlInterceptor鎷︽埅鍣ㄨ緭鍑簊ql鏃ュ織锛屼笅闈rint-sql椤归厤缃�
+        print-sql: true # 杈撳嚭sql鏃ュ織寮�鍏筹紝鎺у埗PrintSqlInterceptor鎷︽埅鍣ㄦ槸鍚﹀姞杞�
         #寮�鍚┘宄皍Name鑷姩鏄犲皠鍒皍_name
         #2023-10-24缁忓疄楠岋紝涓嬮潰閰嶇疆true鎴杅alse锛岄兘鑳戒粠u_name鏄犲皠鍒皍Name
         #map-underscore-to-camel-case: true
diff --git "a/pipIrr-platform/pipIrr-global/src/main/resources/application-global\050ym\345\205\203\350\260\213\347\263\273\347\273\237\051.yml" "b/pipIrr-platform/pipIrr-global/src/main/resources/application-global\050ym\345\205\203\350\260\213\347\263\273\347\273\237\051.yml"
index e7a60d0..c65118e 100644
--- "a/pipIrr-platform/pipIrr-global/src/main/resources/application-global\050ym\345\205\203\350\260\213\347\263\273\347\273\237\051.yml"
+++ "b/pipIrr-platform/pipIrr-global/src/main/resources/application-global\050ym\345\205\203\350\260\213\347\263\273\347\273\237\051.yml"
@@ -65,7 +65,8 @@
     #type-aliases-package: com.dy.pipIrrGlobal.daoBa
     configuration:
         #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #鏃惰�岃緭鍑烘棩蹇楋紝鏃惰�屼笉杈撳嚭鏃ュ織
-        log-impl: org.apache.ibatis.logging.log4j2.Log4j2Impl
+        #log-impl: org.apache.ibatis.logging.log4j2.Log4j2Impl 涓嶅啀搴旂敤锛屾敼涓篜rintSqlInterceptor鎷︽埅鍣ㄨ緭鍑簊ql鏃ュ織锛屼笅闈rint-sql椤归厤缃�
+        print-sql: true # 杈撳嚭sql鏃ュ織寮�鍏筹紝鎺у埗PrintSqlInterceptor鎷︽埅鍣ㄦ槸鍚﹀姞杞�
         #寮�鍚┘宄皍Name鑷姩鏄犲皠鍒皍_name
         #2023-10-24缁忓疄楠岋紝涓嬮潰閰嶇疆true鎴杅alse锛岄兘鑳戒粠u_name鏄犲皠鍒皍Name
         #map-underscore-to-camel-case: true
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
index 8cd0186..a0ce5e1 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
@@ -65,7 +65,8 @@
     #type-aliases-package: com.dy.pipIrrGlobal.daoBa
     configuration:
         #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #鏃惰�岃緭鍑烘棩蹇楋紝鏃惰�屼笉杈撳嚭鏃ュ織
-        log-impl: org.apache.ibatis.logging.log4j2.Log4j2Impl
+        #log-impl: org.apache.ibatis.logging.log4j2.Log4j2Impl 涓嶅啀搴旂敤锛屾敼涓篜rintSqlInterceptor鎷︽埅鍣ㄨ緭鍑簊ql鏃ュ織锛屼笅闈rint-sql椤归厤缃�
+        print-sql: true # 杈撳嚭sql鏃ュ織寮�鍏筹紝鎺у埗PrintSqlInterceptor鎷︽埅鍣ㄦ槸鍚﹀姞杞�
         #寮�鍚┘宄皍Name鑷姩鏄犲皠鍒皍_name
         #2023-10-24缁忓疄楠岋紝涓嬮潰閰嶇疆true鎴杅alse锛岄兘鑳戒粠u_name鏄犲皠鍒皍Name
         #map-underscore-to-camel-case: true
@@ -79,6 +80,8 @@
     global:
         dev: false  #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse
         dsName: ym  #寮�鍙戦樁娈碉紝璁剧疆涓存椂鐨勬暟鎹簱鍚嶇О
+    sql:
+        print: true  #鏄惁鎵撳嵃SQL璇彞锛宼rue鎴杅alse
     nginx:
         webPort: 54321
     mw:
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml
index c68b2b7..7ddc8ab 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml
@@ -549,4 +549,451 @@
             </if>
         </trim>
     </select>
+
+
+
+
+    <!-- 涓烘煡璇㈢粺璁″彇姘村彛鏃ユ紡鎹熼噺锛岀粺璁″彇姘村彛鏁伴噺 -->
+    <select id="selectIntakeCount4AmountDay" resultType="java.lang.Long">
+        SELECT COUNT(*)
+        FROM pr_intake tb
+        <where>
+            AND tb.deleted != 1
+            <if test="intakeNum != null and intakeNum != ''">
+                AND tb.name = #{intakeNum}
+            </if>
+        </where>
+    </select>
+
+    <!-- 涓烘煡璇㈢粺璁″彇姘村彛鏃ユ紡鎹熼噺锛屾煡璇竴椤靛彇姘村彛ID -->
+    <select id="selectIntakes4AmountDay" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount">
+        SELECT id    as intakeId,
+               name  as intakeNum,
+               lat   as intakeLat,
+               lng   as intakeLng
+        FROM pr_intake
+        <where>
+            AND deleted != 1
+            <if test="intakeNum != null and intakeNum != ''">
+                AND name = #{intakeNum}
+            </if>
+        </where>
+        order by id DESC
+        <trim prefix="limit " >
+            <if test="start != null and count != null">
+                #{start, javaType=Integer, jdbcType=INTEGER}, #{count, javaType=Integer, jdbcType=INTEGER}
+            </if>
+        </trim>
+    </select>
+
+    <sql id="selectIntakeAmountOfDay_with">
+        SELECT intaId.intakeId   AS intakeId,
+               riad.dt           AS dt,
+               riad.amount       AS amount
+        FROM JSON_TABLE(
+            #{intakesJson},
+            '$[*]' COLUMNS (
+                intakeId BIGINT PATH '$.intakeId'
+            )
+        ) intaId
+        INNER JOIN rm_intake_amount_day riad ON riad.intake_id = intaId.intakeId
+        <where>
+            <if test="startDt != null ">
+                AND riad.dt <![CDATA[>=]]> #{startDt, javaType=DATE, jdbcType=DATE}
+            </if>
+            <if test="endDt != null ">
+                AND riad.dt <![CDATA[<=]]> #{endDt, javaType=DATE, jdbcType=DATE}
+            </if>
+        </where>
+    </sql>
+
+  <!--缁熻鎸囧畾鏈堜唤鍚勫ぉ鍙栨按閲�(1鍙峰埌5鍙�)-->
+  <select id="selectIntakeAmountOfDay01_05" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount">
+    WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>)
+    SELECT inta.intakeId     AS intakeId,
+           inta.intakeNum    AS intakeNum,
+           inta.intakeLng    AS intakeLng,
+           inta.intakeLat    AS intakeLat,
+           tb01.amount       AS amount1,
+           tb02.amount       AS amount2,
+           tb03.amount       AS amount3,
+           tb04.amount       AS amount4,
+           tb05.amount       AS amount5
+    FROM JSON_TABLE(
+      #{intakesJson},
+      '$[*]' COLUMNS (
+        intakeId BIGINT PATH '$.intakeId',
+        intakeNum VARCHAR(100) PATH '$.intakeNum',
+        intakeLng DOUBLE PATH '$.intakeLng',
+        intakeLat DOUBLE PATH '$.intakeLat'
+      )
+    ) inta
+    LEFT JOIN (
+       SELECT tb.intakeId AS intakeId,
+              tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+              AND MONTH(tb.dt) = #{month}
+              AND DAY(tb.dt) = 1
+    ) as tb01 on tb01.intakeId = inta.intakeId
+    LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 2
+    ) as tb02 on tb02.intakeId = inta.intakeId
+    LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 3
+    ) as tb03 on tb03.intakeId = inta.intakeId
+    LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 4
+    ) as tb04 on tb04.intakeId = inta.intakeId
+    LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 5
+    ) as tb05 on tb05.intakeId = inta.intakeId
+  </select>
+
+
+  <!--缁熻鎸囧畾鏈堜唤鍚勫ぉ鍙栨按閲�(6鍙峰埌10鍙�)-->
+  <select id="selectIntakeAmountOfDay06_10" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount">
+    WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>)
+    SELECT inta.intakeId     AS intakeId,
+           inta.intakeNum    AS intakeNum,
+           inta.intakeLng    AS intakeLng,
+           inta.intakeLat    AS intakeLat,
+           tb06.amount       AS amount6,
+           tb07.amount       AS amount7,
+           tb08.amount       AS amount8,
+           tb09.amount       AS amount9,
+           tb10.amount       AS amount10
+    FROM JSON_TABLE(
+      #{intakesJson},
+      '$[*]' COLUMNS (
+        intakeId BIGINT PATH '$.intakeId',
+        intakeNum VARCHAR(100) PATH '$.intakeNum',
+        intakeLng DOUBLE PATH '$.intakeLng',
+        intakeLat DOUBLE PATH '$.intakeLat'
+      )
+    ) inta
+    LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 6
+    ) as tb06 on tb06.intakeId = inta.intakeId
+    LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 7
+    ) as tb07 on tb07.intakeId = inta.intakeId
+    LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 8
+    ) as tb08 on tb08.intakeId = inta.intakeId
+    LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 9
+    ) as tb09 on tb09.intakeId = inta.intakeId
+    LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 10
+    ) as tb10 on tb10.intakeId = inta.intakeId
+  </select>
+
+  <!--缁熻鎸囧畾鏈堜唤鍚勫ぉ鍙栨按閲�(11鍙峰埌15鍙�)-->
+  <select id="selectIntakeAmountOfDay11_15" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount">
+    WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>)
+    SELECT inta.intakeId     AS intakeId,
+           inta.intakeNum    AS intakeNum,
+           inta.intakeLng    AS intakeLng,
+           inta.intakeLat    AS intakeLat,
+           tb11.amount       AS amount11,
+           tb12.amount       AS amount12,
+           tb13.amount       AS amount13,
+           tb14.amount       AS amount14,
+           tb15.amount       AS amount15
+    FROM JSON_TABLE(
+      #{intakesJson},
+      '$[*]' COLUMNS (
+        intakeId BIGINT PATH '$.intakeId',
+        intakeNum VARCHAR(100) PATH '$.intakeNum',
+        intakeLng DOUBLE PATH '$.intakeLng',
+        intakeLat DOUBLE PATH '$.intakeLat'
+      )
+    ) inta
+    LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 11
+    ) as tb11 on tb11.intakeId = inta.intakeId
+    LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 12
+    ) as tb12 on tb12.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 13
+    ) as tb13 on tb13.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 14
+    ) as tb14 on tb14.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 15
+    ) as tb15 on tb15.intakeId = inta.intakeId
+  </select>
+
+  <!--缁熻鎸囧畾鏈堜唤鍚勫ぉ鍙栨按閲�(20鍙峰埌16鍙�)-->
+  <select id="selectIntakeAmountOfDay16_20" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount">
+    WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>)
+    SELECT inta.intakeId     AS intakeId,
+           inta.intakeNum    AS intakeNum,
+           inta.intakeLng    AS intakeLng,
+           inta.intakeLat    AS intakeLat,
+           tb16.amount       AS amount16,
+           tb17.amount       AS amount17,
+           tb18.amount       AS amount18,
+           tb19.amount       AS amount19,
+           tb20.amount       AS amount20
+    FROM JSON_TABLE(
+      #{intakesJson},
+      '$[*]' COLUMNS (
+        intakeId BIGINT PATH '$.intakeId',
+        intakeNum VARCHAR(100) PATH '$.intakeNum',
+        intakeLng DOUBLE PATH '$.intakeLng',
+        intakeLat DOUBLE PATH '$.intakeLat'
+      )
+    ) inta
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 16
+    ) as tb16 on tb16.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 17
+    ) as tb17 on tb17.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 18
+    ) as tb18 on tb18.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 19
+    ) as tb19 on tb19.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 20
+    ) as tb20 on tb20.intakeId = inta.intakeId
+  </select>
+
+  <!--缁熻鎸囧畾鏈堜唤鍚勫ぉ鍙栨按閲�(21鍙峰埌25鍙�)-->
+  <select id="selectIntakeAmountOfDay21_25" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount">
+    WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>)
+    SELECT inta.intakeId     AS intakeId,
+           inta.intakeNum    AS intakeNum,
+           inta.intakeLng    AS intakeLng,
+           inta.intakeLat    AS intakeLat,
+           tb21.amount       AS amount21,
+           tb22.amount       AS amount22,
+           tb23.amount       AS amount23,
+           tb24.amount       AS amount24,
+           tb25.amount       AS amount25
+    FROM JSON_TABLE(
+      #{intakesJson},
+      '$[*]' COLUMNS (
+        intakeId BIGINT PATH '$.intakeId',
+        intakeNum VARCHAR(100) PATH '$.intakeNum',
+        intakeLng DOUBLE PATH '$.intakeLng',
+        intakeLat DOUBLE PATH '$.intakeLat'
+      )
+    ) inta
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 21
+    ) as tb21 on tb21.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 22
+    ) as tb22 on tb22.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 23
+    ) as tb23 on tb23.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 24
+    ) as tb24 on tb24.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 25
+    ) as tb25 on tb25.intakeId = inta.intakeId
+  </select>
+
+  <!--缁熻鎸囧畾鏈堜唤鍚勫ぉ鍙栨按閲�(26鍙峰埌31鍙�)-->
+  <select id="selectIntakeAmountOfDay26_31" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount">
+    WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>)
+    SELECT inta.intakeId     AS intakeId,
+           inta.intakeNum    AS intakeNum,
+           inta.intakeLng    AS intakeLng,
+           inta.intakeLat    AS intakeLat,
+           tb26.amount       AS amount26,
+           tb27.amount       AS amount27,
+           tb28.amount       AS amount28,
+           tb29.amount       AS amount29,
+           tb30.amount       AS amount30,
+           tb31.amount       AS amount31
+    FROM JSON_TABLE(
+      #{intakesJson},
+      '$[*]' COLUMNS (
+        intakeId BIGINT PATH '$.intakeId',
+        intakeNum VARCHAR(100) PATH '$.intakeNum',
+        intakeLng DOUBLE PATH '$.intakeLng',
+        intakeLat DOUBLE PATH '$.intakeLat'
+      )
+    ) inta
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 26
+    ) as tb26 on tb26.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 27
+    ) as tb27 on tb27.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 28
+    ) as tb28 on tb28.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 29
+    ) as tb29 on tb29.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 30
+    ) as tb30 on tb30.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.amount   AS amount
+        FROM intakeAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 31
+    ) as tb31 on tb31.intakeId = inta.intakeId
+  </select>
+
+
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayMapper.xml
index c295ea9..10f472c 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayMapper.xml
@@ -216,4 +216,484 @@
     where id <![CDATA[>=]]> #{startId, jdbcType=BIGINT} and id <![CDATA[<]]> #{endId, jdbcType=BIGINT}
     group by intake_id
   </select>
+
+  <!-- 涓烘煡璇㈢粺璁″彇姘村彛鏃ユ紡鎹熼噺锛岀粺璁″彇姘村彛鏁伴噺 -->
+  <select id="selectIntakeCount4LossDay" resultType="java.lang.Long">
+    SELECT COUNT(*)
+    FROM pr_intake tb
+    <where>
+      AND tb.deleted != 1
+      <if test="intakeNum != null and intakeNum != ''">
+        AND tb.name = #{intakeNum}
+      </if>
+    </where>
+  </select>
+
+  <!-- 涓烘煡璇㈢粺璁″彇姘村彛鏃ユ紡鎹熼噺锛屾煡璇竴椤靛彇姘村彛ID -->
+  <select id="selectIntakes4LossDay" resultType="com.dy.pipIrrGlobal.voSt.VoDayLoss">
+    SELECT id    as intakeId,
+           name  as intakeNum,
+           lat   as intakeLat,
+           lng   as intakeLng
+    FROM pr_intake
+    <where>
+      AND deleted != 1
+      <if test="intakeNum != null and intakeNum != ''">
+        AND name = #{intakeNum}
+      </if>
+    </where>
+    order by id DESC
+    <trim prefix="limit " >
+      <if test="start != null and count != null">
+        #{start, javaType=Integer, jdbcType=INTEGER}, #{count, javaType=Integer, jdbcType=INTEGER}
+      </if>
+    </trim>
+  </select>
+
+
+  <!--缁熻鎸囧畾鏈堜唤鍚勫ぉ婕忔崯閲�  鏆傛椂鏈敤 鍒樻鼎鐜� 2024-12-12-->
+  <select id="temp" resultType="com.dy.pipIrrGlobal.voSt.VoDayLoss">
+    SELECT inta.intakeId     AS intakeId,
+           inta.intakeNum    AS intakeNum,
+           inta.intakeLng    AS intakeLng,
+           inta.intakeLat    AS intakeLat,
+           rld.id            AS id,
+           rld.dt            AS dt,
+           rld.loss_amount   AS lossAmount1
+      FROM JSON_TABLE(
+        #{intakesJson},
+        '$[*]' COLUMNS (
+            intakeId BIGINT PATH '$.intakeId',
+            intakeNum VARCHAR(100) PATH '$.intakeNum',
+            intakeLng DOUBLE PATH '$.intakeLng',
+            intakeLat DOUBLE PATH '$.intakeLat'
+        )
+      ) inta
+      LEFT JOIN
+      (
+        select id, intake_id, dt, loss_amount
+        from rm_loss_day
+        <where>
+          <if test="startDt != null ">
+            AND dt <![CDATA[>=]]> #{startDt, javaType=DATE, jdbcType=DATE}
+          </if>
+          <if test="endDt != null ">
+            AND dt <![CDATA[<]]> #{endDt, javaType=DATE, jdbcType=DATE}
+          </if>
+        </where>
+        order by intake_id DESC, id ASC
+      ) as rld ON rld.intake_id = inta.intakeId
+  </select>
+
+
+  <sql id="selectLossAmountOfDay_with">
+      SELECT intaId.intakeId   AS intakeId,
+             rld.dt            AS dt,
+             rld.loss_amount   AS lossAmount
+      FROM JSON_TABLE(
+        #{intakesJson},
+        '$[*]' COLUMNS (
+          intakeId BIGINT PATH '$.intakeId'
+        )
+      ) intaId
+      INNER JOIN rm_loss_day rld ON rld.intake_id = intaId.intakeId
+      <where>
+        <if test="startDt != null ">
+          AND rld.dt <![CDATA[>=]]> #{startDt, javaType=DATE, jdbcType=DATE}
+        </if>
+        <if test="endDt != null ">
+          AND rld.dt <![CDATA[<=]]> #{endDt, javaType=DATE, jdbcType=DATE}
+        </if>
+      </where>
+  </sql>
+
+  <!--缁熻鎸囧畾鏈堜唤鍚勫ぉ婕忔崯閲�(1鍙峰埌5鍙�)-->
+  <select id="selectLossAmountOfDay01_05" resultType="com.dy.pipIrrGlobal.voSt.VoDayLoss">
+    WITH intakeLossAmountDay AS (<include refid="selectLossAmountOfDay_with"/>)
+    SELECT inta.intakeId     AS intakeId,
+           inta.intakeNum    AS intakeNum,
+           inta.intakeLng    AS intakeLng,
+           inta.intakeLat    AS intakeLat,
+           tb01.lossAmount   AS lossAmount1,
+           tb02.lossAmount   AS lossAmount2,
+           tb03.lossAmount   AS lossAmount3,
+           tb04.lossAmount   AS lossAmount4,
+           tb05.lossAmount   AS lossAmount5
+    FROM JSON_TABLE(
+      #{intakesJson},
+      '$[*]' COLUMNS (
+        intakeId BIGINT PATH '$.intakeId',
+        intakeNum VARCHAR(100) PATH '$.intakeNum',
+        intakeLng DOUBLE PATH '$.intakeLng',
+        intakeLat DOUBLE PATH '$.intakeLat'
+      )
+    ) inta
+    LEFT JOIN (
+       SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+              AND MONTH(tb.dt) = #{month}
+              AND DAY(tb.dt) = 1
+    ) as tb01 on tb01.intakeId = inta.intakeId
+    LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 2
+    ) as tb02 on tb02.intakeId = inta.intakeId
+    LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 3
+    ) as tb03 on tb03.intakeId = inta.intakeId
+    LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 4
+    ) as tb04 on tb04.intakeId = inta.intakeId
+    LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 5
+    ) as tb05 on tb05.intakeId = inta.intakeId
+  </select>
+
+
+  <!--缁熻鎸囧畾鏈堜唤鍚勫ぉ婕忔崯閲�(6鍙峰埌10鍙�)-->
+  <select id="selectLossAmountOfDay06_10" resultType="com.dy.pipIrrGlobal.voSt.VoDayLoss">
+    WITH intakeLossAmountDay AS (<include refid="selectLossAmountOfDay_with"/>)
+    SELECT inta.intakeId     AS intakeId,
+           inta.intakeNum    AS intakeNum,
+           inta.intakeLng    AS intakeLng,
+           inta.intakeLat    AS intakeLat,
+           tb06.lossAmount   AS lossAmount6,
+           tb07.lossAmount   AS lossAmount7,
+           tb08.lossAmount   AS lossAmount8,
+           tb09.lossAmount   AS lossAmount9,
+           tb10.lossAmount   AS lossAmount10
+    FROM JSON_TABLE(
+      #{intakesJson},
+      '$[*]' COLUMNS (
+        intakeId BIGINT PATH '$.intakeId',
+        intakeNum VARCHAR(100) PATH '$.intakeNum',
+        intakeLng DOUBLE PATH '$.intakeLng',
+        intakeLat DOUBLE PATH '$.intakeLat'
+      )
+    ) inta
+    LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 6
+    ) as tb06 on tb06.intakeId = inta.intakeId
+    LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 7
+    ) as tb07 on tb07.intakeId = inta.intakeId
+    LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 8
+    ) as tb08 on tb08.intakeId = inta.intakeId
+    LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 9
+    ) as tb09 on tb09.intakeId = inta.intakeId
+    LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 10
+    ) as tb10 on tb10.intakeId = inta.intakeId
+  </select>
+
+  <!--缁熻鎸囧畾鏈堜唤鍚勫ぉ婕忔崯閲�(11鍙峰埌15鍙�)-->
+  <select id="selectLossAmountOfDay11_15" resultType="com.dy.pipIrrGlobal.voSt.VoDayLoss">
+    WITH intakeLossAmountDay AS (<include refid="selectLossAmountOfDay_with"/>)
+    SELECT inta.intakeId     AS intakeId,
+           inta.intakeNum    AS intakeNum,
+           inta.intakeLng    AS intakeLng,
+           inta.intakeLat    AS intakeLat,
+           tb11.lossAmount   AS lossAmount11,
+           tb12.lossAmount   AS lossAmount12,
+           tb13.lossAmount   AS lossAmount13,
+           tb14.lossAmount   AS lossAmount14,
+           tb15.lossAmount   AS lossAmount15
+    FROM JSON_TABLE(
+      #{intakesJson},
+      '$[*]' COLUMNS (
+        intakeId BIGINT PATH '$.intakeId',
+        intakeNum VARCHAR(100) PATH '$.intakeNum',
+        intakeLng DOUBLE PATH '$.intakeLng',
+        intakeLat DOUBLE PATH '$.intakeLat'
+      )
+    ) inta
+    LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 11
+    ) as tb11 on tb11.intakeId = inta.intakeId
+    LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 12
+    ) as tb12 on tb12.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 13
+    ) as tb13 on tb13.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 14
+    ) as tb14 on tb14.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 15
+    ) as tb15 on tb15.intakeId = inta.intakeId
+  </select>
+
+  <!--缁熻鎸囧畾鏈堜唤鍚勫ぉ婕忔崯閲�(20鍙峰埌16鍙�)-->
+  <select id="selectLossAmountOfDay16_20" resultType="com.dy.pipIrrGlobal.voSt.VoDayLoss">
+    WITH intakeLossAmountDay AS (<include refid="selectLossAmountOfDay_with"/>)
+    SELECT inta.intakeId     AS intakeId,
+           inta.intakeNum    AS intakeNum,
+           inta.intakeLng    AS intakeLng,
+           inta.intakeLat    AS intakeLat,
+           tb16.lossAmount   AS lossAmount16,
+           tb17.lossAmount   AS lossAmount17,
+           tb18.lossAmount   AS lossAmount18,
+           tb19.lossAmount   AS lossAmount19,
+           tb20.lossAmount   AS lossAmount20
+    FROM JSON_TABLE(
+      #{intakesJson},
+      '$[*]' COLUMNS (
+        intakeId BIGINT PATH '$.intakeId',
+        intakeNum VARCHAR(100) PATH '$.intakeNum',
+        intakeLng DOUBLE PATH '$.intakeLng',
+        intakeLat DOUBLE PATH '$.intakeLat'
+      )
+    ) inta
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 16
+    ) as tb16 on tb16.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 17
+    ) as tb17 on tb17.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 18
+    ) as tb18 on tb18.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 19
+    ) as tb19 on tb19.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 20
+    ) as tb20 on tb20.intakeId = inta.intakeId
+  </select>
+
+  <!--缁熻鎸囧畾鏈堜唤鍚勫ぉ婕忔崯閲�(21鍙峰埌25鍙�)-->
+  <select id="selectLossAmountOfDay21_25" resultType="com.dy.pipIrrGlobal.voSt.VoDayLoss">
+    WITH intakeLossAmountDay AS (<include refid="selectLossAmountOfDay_with"/>)
+    SELECT inta.intakeId     AS intakeId,
+           inta.intakeNum    AS intakeNum,
+           inta.intakeLng    AS intakeLng,
+           inta.intakeLat    AS intakeLat,
+           tb21.lossAmount   AS lossAmount21,
+           tb22.lossAmount   AS lossAmount22,
+           tb23.lossAmount   AS lossAmount23,
+           tb24.lossAmount   AS lossAmount24,
+           tb25.lossAmount   AS lossAmount25
+    FROM JSON_TABLE(
+      #{intakesJson},
+      '$[*]' COLUMNS (
+        intakeId BIGINT PATH '$.intakeId',
+        intakeNum VARCHAR(100) PATH '$.intakeNum',
+        intakeLng DOUBLE PATH '$.intakeLng',
+        intakeLat DOUBLE PATH '$.intakeLat'
+      )
+    ) inta
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 21
+    ) as tb21 on tb21.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 22
+    ) as tb22 on tb22.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 23
+    ) as tb23 on tb23.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 24
+    ) as tb24 on tb24.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 25
+    ) as tb25 on tb25.intakeId = inta.intakeId
+  </select>
+
+  <!--缁熻鎸囧畾鏈堜唤鍚勫ぉ婕忔崯閲�(26鍙峰埌31鍙�)-->
+  <select id="selectLossAmountOfDay26_31" resultType="com.dy.pipIrrGlobal.voSt.VoDayLoss">
+    WITH intakeLossAmountDay AS (<include refid="selectLossAmountOfDay_with"/>)
+    SELECT inta.intakeId     AS intakeId,
+           inta.intakeNum    AS intakeNum,
+           inta.intakeLng    AS intakeLng,
+           inta.intakeLat    AS intakeLat,
+           tb26.lossAmount   AS lossAmount26,
+           tb27.lossAmount   AS lossAmount27,
+           tb28.lossAmount   AS lossAmount28,
+           tb29.lossAmount   AS lossAmount29,
+           tb30.lossAmount   AS lossAmount30,
+           tb31.lossAmount   AS lossAmount31
+    FROM JSON_TABLE(
+      #{intakesJson},
+      '$[*]' COLUMNS (
+        intakeId BIGINT PATH '$.intakeId',
+        intakeNum VARCHAR(100) PATH '$.intakeNum',
+        intakeLng DOUBLE PATH '$.intakeLng',
+        intakeLat DOUBLE PATH '$.intakeLat'
+      )
+    ) inta
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 26
+    ) as tb26 on tb26.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 27
+    ) as tb27 on tb27.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 28
+    ) as tb28 on tb28.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 29
+    ) as tb29 on tb29.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 30
+    ) as tb30 on tb30.intakeId = inta.intakeId
+   LEFT JOIN (
+        SELECT tb.intakeId AS intakeId,
+               tb.lossAmount AS lossAmount
+        FROM intakeLossAmountDay AS tb
+        WHERE YEAR(tb.dt) = #{year}
+        AND MONTH(tb.dt) = #{month}
+        AND DAY(tb.dt) = 31
+    ) as tb31 on tb31.intakeId = inta.intakeId
+  </select>
+
+
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/StIntakeAmountMonthMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/StIntakeAmountMonthMapper.xml
index 8c63d23..cb32952 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/StIntakeAmountMonthMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/StIntakeAmountMonthMapper.xml
@@ -123,4 +123,191 @@
     group by intake_id
   </select>
 
+
+
+
+  <!-- 涓烘煡璇㈢粺璁″彇姘村彛鏃ョ敤姘撮噺锛岀粺璁″彇姘村彛鏁伴噺 -->
+  <select id="selectIntakeCount4AmountMonth" resultType="java.lang.Long">
+    SELECT COUNT(*)
+    FROM pr_intake tb
+    <where>
+      AND tb.deleted != 1
+      <if test="intakeNum != null and intakeNum != ''">
+        AND tb.name = #{intakeNum}
+      </if>
+    </where>
+  </select>
+
+  <!-- 涓烘煡璇㈢粺璁″彇姘村彛鏃ョ敤姘撮噺锛屾煡璇竴椤靛彇姘村彛ID -->
+  <select id="selectIntakes4AmountMonth" resultType="com.dy.pipIrrGlobal.voSt.VoMonthAmount">
+    SELECT id    as intakeId,
+    name  as intakeNum,
+    lat   as intakeLat,
+    lng   as intakeLng
+    FROM pr_intake
+    <where>
+      AND deleted != 1
+      <if test="intakeNum != null and intakeNum != ''">
+        AND name = #{intakeNum}
+      </if>
+    </where>
+    order by id DESC
+    <trim prefix="limit " >
+      <if test="start != null and count != null">
+        #{start, javaType=Integer, jdbcType=INTEGER}, #{count, javaType=Integer, jdbcType=INTEGER}
+      </if>
+    </trim>
+  </select>
+
+  <sql id="selectIntakeAmountOfMonth_with">
+      SELECT intaId.intakeId   AS intakeId,
+             siam.year          AS `year`,
+             siam.month         AS `month`,
+             siam.amount        AS amount
+      FROM JSON_TABLE(
+        #{intakesJson},
+          '$[*]' COLUMNS (
+          intakeId BIGINT PATH '$.intakeId'
+        )
+      ) intaId
+      INNER JOIN st_intake_amount_month siam ON siam.intake_id = intaId.intakeId
+      <where>
+        <if test="year != null ">
+          AND siam.year = #{year, javaType=Integer, jdbcType=INTEGER}
+        </if>
+      </where>
+  </sql>
+
+  <!--缁熻鎸囧畾鏈堜唤鍚勬湀鐢ㄦ按閲�(1鍙峰埌6鏈�)-->
+  <select id="selectIntakeAmountOfMonth01_06" resultType="com.dy.pipIrrGlobal.voSt.VoMonthAmount">
+    WITH intakeAmountMonth AS (<include refid="selectIntakeAmountOfMonth_with" />)
+    SELECT inta.intakeId     AS intakeId,
+           inta.intakeNum    AS intakeNum,
+           inta.intakeLng    AS intakeLng,
+           inta.intakeLat    AS intakeLat,
+           tb01.amount   AS month1,
+           tb02.amount   AS month2,
+           tb03.amount   AS month3,
+           tb04.amount   AS month4,
+           tb05.amount   AS month5,
+           tb06.amount   AS month6
+    FROM JSON_TABLE(
+      #{intakesJson},
+        '$[*]' COLUMNS (
+        intakeId BIGINT PATH '$.intakeId',
+        intakeNum VARCHAR(100) PATH '$.intakeNum',
+        intakeLng DOUBLE PATH '$.intakeLng',
+        intakeLat DOUBLE PATH '$.intakeLat'
+      )
+    ) inta
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 1
+    ) as tb01 on tb01.intakeId = inta.intakeId
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 2
+    ) as tb02 on tb02.intakeId = inta.intakeId
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 3
+    ) as tb03 on tb03.intakeId = inta.intakeId
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 4
+    ) as tb04 on tb04.intakeId = inta.intakeId
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 5
+    ) as tb05 on tb05.intakeId = inta.intakeId
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 6
+    ) as tb06 on tb06.intakeId = inta.intakeId
+  </select>
+
+  <!--缁熻鎸囧畾鏈堜唤鍚勬湀鐢ㄦ按閲�(7鍙峰埌12鏈�)-->
+  <select id="selectIntakeAmountOfMonth07_12" resultType="com.dy.pipIrrGlobal.voSt.VoMonthAmount">
+    WITH intakeAmountMonth AS (<include refid="selectIntakeAmountOfMonth_with" />)
+    SELECT inta.intakeId     AS intakeId,
+           inta.intakeNum    AS intakeNum,
+           inta.intakeLng    AS intakeLng,
+           inta.intakeLat    AS intakeLat,
+           tb07.amount   AS month7,
+           tb08.amount   AS month8,
+           tb09.amount   AS month9,
+           tb010.amount  AS month10,
+           tb011.amount  AS month11,
+           tb012.amount  AS month12
+    FROM JSON_TABLE(
+      #{intakesJson},
+        '$[*]' COLUMNS (
+        intakeId BIGINT PATH '$.intakeId',
+        intakeNum VARCHAR(100) PATH '$.intakeNum',
+        intakeLng DOUBLE PATH '$.intakeLng',
+        intakeLat DOUBLE PATH '$.intakeLat'
+      )
+    ) inta
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 7
+    ) as tb07 on tb07.intakeId = inta.intakeId
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 8
+    ) as tb08 on tb08.intakeId = inta.intakeId
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 9
+    ) as tb09 on tb09.intakeId = inta.intakeId
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 10
+    ) as tb010 on tb010.intakeId = inta.intakeId
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 11
+    ) as tb011 on tb011.intakeId = inta.intakeId
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 12
+    ) as tb012 on tb012.intakeId = inta.intakeId
+  </select>
+
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/StLossMonthMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/StLossMonthMapper.xml
index 09143e9..0b2da89 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/StLossMonthMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/StLossMonthMapper.xml
@@ -124,4 +124,189 @@
     group by intake_id
   </select>
 
+
+  <!-- 涓烘煡璇㈢粺璁″彇姘村彛鏃ユ紡鎹熼噺锛岀粺璁″彇姘村彛鏁伴噺 -->
+  <select id="selectIntakeCount4LossMonth" resultType="java.lang.Long">
+    SELECT COUNT(*)
+    FROM pr_intake tb
+    <where>
+      AND tb.deleted != 1
+      <if test="intakeNum != null and intakeNum != ''">
+        AND tb.name = #{intakeNum}
+      </if>
+    </where>
+  </select>
+
+  <!-- 涓烘煡璇㈢粺璁″彇姘村彛鏃ユ紡鎹熼噺锛屾煡璇竴椤靛彇姘村彛ID -->
+  <select id="selectIntakes4LossMonth" resultType="com.dy.pipIrrGlobal.voSt.VoMonthAmount">
+    SELECT id    as intakeId,
+    name  as intakeNum,
+    lat   as intakeLat,
+    lng   as intakeLng
+    FROM pr_intake
+    <where>
+      AND deleted != 1
+      <if test="intakeNum != null and intakeNum != ''">
+        AND name = #{intakeNum}
+      </if>
+    </where>
+    order by id DESC
+    <trim prefix="limit " >
+      <if test="start != null and count != null">
+        #{start, javaType=Integer, jdbcType=INTEGER}, #{count, javaType=Integer, jdbcType=INTEGER}
+      </if>
+    </trim>
+  </select>
+
+  <sql id="selectLossAmountOfMonth_with">
+      SELECT intaId.intakeId   AS intakeId,
+             sld.year          AS `year`,
+             sld.month         AS `month`,
+             sld.amount        AS amount
+      FROM JSON_TABLE(
+        #{intakesJson},
+          '$[*]' COLUMNS (
+          intakeId BIGINT PATH '$.intakeId'
+        )
+      ) intaId
+      INNER JOIN st_loss_month sld ON sld.intake_id = intaId.intakeId
+      <where>
+        <if test="year != null ">
+          AND sld.year = #{year, javaType=Integer, jdbcType=INTEGER}
+        </if>
+      </where>
+  </sql>
+
+  <!--缁熻鎸囧畾鏈堜唤鍚勬湀婕忔崯閲�(1鍙峰埌6鏈�)-->
+  <select id="selectLossAmountOfMonth01_06" resultType="com.dy.pipIrrGlobal.voSt.VoMonthAmount">
+    WITH intakeLossAmountMonth AS (<include refid="selectLossAmountOfMonth_with" />)
+    SELECT inta.intakeId     AS intakeId,
+           inta.intakeNum    AS intakeNum,
+           inta.intakeLng    AS intakeLng,
+           inta.intakeLat    AS intakeLat,
+           tb01.amount   AS month1,
+           tb02.amount   AS month2,
+           tb03.amount   AS month3,
+           tb04.amount   AS month4,
+           tb05.amount   AS month5,
+           tb06.amount   AS month6
+    FROM JSON_TABLE(
+      #{intakesJson},
+        '$[*]' COLUMNS (
+        intakeId BIGINT PATH '$.intakeId',
+        intakeNum VARCHAR(100) PATH '$.intakeNum',
+        intakeLng DOUBLE PATH '$.intakeLng',
+        intakeLat DOUBLE PATH '$.intakeLat'
+      )
+    ) inta
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeLossAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 1
+    ) as tb01 on tb01.intakeId = inta.intakeId
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeLossAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 2
+    ) as tb02 on tb02.intakeId = inta.intakeId
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeLossAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 3
+    ) as tb03 on tb03.intakeId = inta.intakeId
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeLossAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 4
+    ) as tb04 on tb04.intakeId = inta.intakeId
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeLossAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 5
+    ) as tb05 on tb05.intakeId = inta.intakeId
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeLossAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 6
+    ) as tb06 on tb06.intakeId = inta.intakeId
+  </select>
+
+  <!--缁熻鎸囧畾鏈堜唤鍚勬湀婕忔崯閲�(7鍙峰埌12鏈�)-->
+  <select id="selectLossAmountOfMonth07_12" resultType="com.dy.pipIrrGlobal.voSt.VoMonthAmount">
+    WITH intakeLossAmountMonth AS (<include refid="selectLossAmountOfMonth_with" />)
+    SELECT inta.intakeId     AS intakeId,
+           inta.intakeNum    AS intakeNum,
+           inta.intakeLng    AS intakeLng,
+           inta.intakeLat    AS intakeLat,
+           tb07.amount   AS month7,
+           tb08.amount   AS month8,
+           tb09.amount   AS month9,
+           tb010.amount  AS month10,
+           tb011.amount  AS month11,
+           tb012.amount  AS month12
+    FROM JSON_TABLE(
+      #{intakesJson},
+        '$[*]' COLUMNS (
+        intakeId BIGINT PATH '$.intakeId',
+        intakeNum VARCHAR(100) PATH '$.intakeNum',
+        intakeLng DOUBLE PATH '$.intakeLng',
+        intakeLat DOUBLE PATH '$.intakeLat'
+      )
+    ) inta
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeLossAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 7
+    ) as tb07 on tb07.intakeId = inta.intakeId
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeLossAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 8
+    ) as tb08 on tb08.intakeId = inta.intakeId
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeLossAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 9
+    ) as tb09 on tb09.intakeId = inta.intakeId
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeLossAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 10
+    ) as tb010 on tb010.intakeId = inta.intakeId
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeLossAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 11
+    ) as tb011 on tb011.intakeId = inta.intakeId
+    LEFT JOIN (
+      SELECT tb.intakeId AS intakeId,
+             tb.amount AS amount
+      FROM intakeLossAmountMonth AS tb
+      WHERE tb.year = #{year}
+            AND tb.month = 12
+    ) as tb012 on tb012.intakeId = inta.intakeId
+  </select>
+
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/Temp4DeleteMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/Temp4DeleteMapper.xml
index 23a411e..7abeae4 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/Temp4DeleteMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/Temp4DeleteMapper.xml
@@ -1,18 +1,140 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.dy.pipIrrGlobal.daoTmp.DeleteMapper">
-  <select id="selectAllStLossMonth" resultType="com.dy.pipIrrGlobal.voTmp.VoStLossMonth">
-    select id as id,
-            intake_id as intakeId ,
-            year as year,
-            month as month,
-            amount as amount
-    from  st_loss_month
-    order by id DESC, intake_id DESC, year DESC, month DESC
-  </select>
+    <!-- 婕忔崯缁熻鐩稿叧 -->
+    <select id="selectAllStLossDay" resultType="com.dy.pipIrrGlobal.voTmp.VoStLossAmountDay">
+        select id as id,
+               intake_id as intakeId ,
+               dt as dt,
+               loss_amount as amount
+        from  rm_loss_day
+        order by intake_id DESC, id DESC
+    </select>
 
-  <delete id="deleteByMainKey" parameterType="java.lang.Long">
-    delete from st_loss_year
-    where id = #{id,jdbcType=BIGINT}
-  </delete>
+    <delete id="deleteStLossDayById" parameterType="java.lang.Long">
+        delete from rm_loss_day
+        where id = #{id,jdbcType=BIGINT}
+    </delete>
+
+    <select id="selectAllStLossMonth" resultType="com.dy.pipIrrGlobal.voTmp.VoStLossAmountMonth">
+        select id as id,
+               intake_id as intakeId ,
+               year as year,
+               month as month,
+               amount as amount
+        from  st_loss_month
+        order by intake_id DESC, id DESC
+    </select>
+
+    <delete id="deleteStLossMonthById" parameterType="java.lang.Long">
+        delete from st_loss_month
+        where id = #{id,jdbcType=BIGINT}
+    </delete>
+
+    <select id="selectAllStLossYear" resultType="com.dy.pipIrrGlobal.voTmp.VoStLossAmountYear">
+        select id as id,
+               intake_id as intakeId ,
+               year as year,
+               amount as amount
+        from  st_loss_year
+        order by intake_id DESC, id DESC
+    </select>
+
+    <delete id="deleteStLossYearById" parameterType="java.lang.Long">
+        delete from st_loss_year
+        where id = #{id,jdbcType=BIGINT}
+    </delete>
+
+
+
+    <!-- 鍙栨按鍙g粺璁$浉鍏� -->
+    <select id="selectAllStIntakeDay" resultType="com.dy.pipIrrGlobal.voTmp.VoStIntakeAmountDay">
+        select id as id,
+               intake_id as intakeId ,
+               dt as dt,
+               amount as amount
+        from  rm_intake_amount_day
+        order by intake_id DESC, id DESC
+    </select>
+
+    <delete id="deleteStIntakeDayById" parameterType="java.lang.Long">
+        delete from rm_intake_amount_day
+        where id = #{id,jdbcType=BIGINT}
+    </delete>
+
+    <select id="selectAllStIntakeMonth" resultType="com.dy.pipIrrGlobal.voTmp.VoStIntakeAmountMonth">
+        select id as id,
+               intake_id as intakeId ,
+               year as year,
+               month as month,
+               amount as amount
+        from  st_intake_amount_month
+        order by intake_id DESC, id DESC
+    </select>
+
+    <delete id="deleteStIntakeMonthById" parameterType="java.lang.Long">
+        delete from st_intake_amount_month
+        where id = #{id,jdbcType=BIGINT}
+    </delete>
+
+    <select id="selectAllStIntakeYear" resultType="com.dy.pipIrrGlobal.voTmp.VoStIntakeAmountYear">
+        select id as id,
+               intake_id as intakeId ,
+               year as year,
+               amount as amount
+        from  st_intake_amount_year
+        order by intake_id DESC, id DESC
+    </select>
+
+    <delete id="deleteStIntakeYearById" parameterType="java.lang.Long">
+        delete from st_intake_amount_year
+        where id = #{id,jdbcType=BIGINT}
+    </delete>
+
+
+
+    <!-- 鍐滄埛缁熻鐩稿叧 -->
+    <select id="selectAllStClientDay" resultType="com.dy.pipIrrGlobal.voTmp.VoStClientAmountDay">
+        select id as id,
+               client_id as clientId ,
+               dt as dt,
+               amount as amount
+        from  rm_client_amount_day
+        order by client_id DESC, id DESC
+    </select>
+
+    <delete id="deleteStClientDayById" parameterType="java.lang.Long">
+        delete from rm_client_amount_day
+        where id = #{id,jdbcType=BIGINT}
+    </delete>
+
+    <select id="selectAllStClientMonth" resultType="com.dy.pipIrrGlobal.voTmp.VoStClientAmountMonth">
+        select id as id,
+               client_id as clientId ,
+               year as year,
+               month as month,
+               amount as amount
+        from  st_client_amount_month
+        order by client_id DESC, id DESC
+    </select>
+
+    <delete id="deleteStClientMonthById" parameterType="java.lang.Long">
+        delete from st_client_amount_month
+        where id = #{id,jdbcType=BIGINT}
+    </delete>
+
+    <select id="selectAllStClientYear" resultType="com.dy.pipIrrGlobal.voTmp.VoStClientAmountYear">
+        select id as id,
+               client_id as clientId ,
+               year as year,
+               amount as amount
+        from  st_client_amount_year
+        order by client_id DESC, id DESC
+    </select>
+
+    <delete id="deleteStClientYearById" parameterType="java.lang.Long">
+        delete from st_client_amount_year
+        where id = #{id,jdbcType=BIGINT}
+    </delete>
+
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/MonitorSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/MonitorSv.java
index 442bc71..ae9cb03 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/MonitorSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/MonitorSv.java
@@ -61,7 +61,7 @@
     }
 
     /**
-     * 鏌ヨRTU鍦ㄩ�氫俊涓棿浠朵腑鐨勬敮琛岀姸鎬�
+     * 鏌ヨRTU鍦ㄩ�氫俊涓棿浠朵腑鐨勫湪绾跨姸鎬�
      * @param rtuAddr
      * @return
      */
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intaker/IntakerCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intaker/IntakerCtrl.java
new file mode 100644
index 0000000..291b0f5
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intaker/IntakerCtrl.java
@@ -0,0 +1,72 @@
+package com.dy.pipIrrStatistics.intaker;
+
+import com.dy.common.aop.SsoAop;
+import com.dy.common.util.DateTime;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount;
+import com.dy.pipIrrGlobal.voSt.VoMonthAmount;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/12/12 16:24
+ * @Description 鏈夊叧鍙栨按鍙g敤姘寸粺璁�
+ */
+@Slf4j
+@RestController
+@RequestMapping(path="intake")
+@RequiredArgsConstructor
+public class IntakerCtrl {
+
+    private IntakerSv sv;
+
+    @Autowired
+    public void setSv(IntakerSv sv){
+        this.sv = sv ;
+    }
+
+    /**
+     * 鏌ヨ鎸囧畾鏈堜唤鍚勬棩鐢ㄦ按閲�
+     * @param qo
+     * @return
+     */
+    @GetMapping(path = "/amountOfDay")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoDayIntakeAmount>>> amountOfDay(IntakerQo qo) throws Exception {
+        String yearMonth = qo.getYearMonth();
+        if(yearMonth == null || yearMonth.trim().equals("")) {
+            return BaseResponseUtils.buildErrorMsg("鏌ヨ鏉′欢骞存湀涓嶈兘涓虹┖");
+        }
+        qo.startDt = DateTime.dateFrom_yyyy_MM_dd(yearMonth + "-01");
+        qo.endDt = DateTime.dateFrom_yyyy_MM_dd(yearMonth + "-31");
+
+        int[] ymd = DateTime.yyyy_MM_ymdGroup(yearMonth) ;
+        qo.year = ymd[0] ;
+        qo.month = ymd[1] ;
+
+        return BaseResponseUtils.buildSuccess(this.sv.amountOfDay(qo));
+    }
+
+    /**
+     * 鏌ヨ鎸囧畾鏈堜唤鍚勬棩鐢ㄦ按閲�
+     * @param qo
+     * @return
+     */
+    @GetMapping(path = "/amountOfMonth")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoMonthAmount>>> amountOfMonth(IntakerQo qo) throws Exception {
+        if(qo.getYear() == null) {
+            return BaseResponseUtils.buildErrorMsg("鏌ヨ鏉′欢骞村害涓嶈兘涓虹┖");
+        }
+        return BaseResponseUtils.buildSuccess(this.sv.amountOfMonth(qo));
+    }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intaker/IntakerQo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intaker/IntakerQo.java
new file mode 100644
index 0000000..352bc63
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intaker/IntakerQo.java
@@ -0,0 +1,48 @@
+package com.dy.pipIrrStatistics.intaker;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/12/12 16:34
+ * @Description
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class IntakerQo extends QueryConditionVo {
+
+    /**
+     * 缁熻骞存湀
+     */
+    public String yearMonth;
+
+    /**
+     * 鏌ヨ寮�濮嬫棩鏈燂紙骞存湀鏃ワ級
+     */
+    public Date startDt ;
+
+    /**
+     * 鏌ヨ鎴鏃ユ湡锛堝勾鏈堟棩锛�
+     */
+    public Date endDt ;
+
+
+    /**
+     * 骞�
+     */
+    public Integer year;
+
+    /**
+     * 鏈�
+     */
+    public Integer month;
+
+    /**
+     * 鍙栨按鍙g紪鍙�
+     */
+    public String intakeNum;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intaker/IntakerSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intaker/IntakerSv.java
new file mode 100644
index 0000000..73465aa
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intaker/IntakerSv.java
@@ -0,0 +1,188 @@
+package com.dy.pipIrrStatistics.intaker;
+
+import com.alibaba.fastjson2.JSON;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoRm.RmIntakeAmountDayMapper;
+import com.dy.pipIrrGlobal.daoSt.StIntakeAmountMonthMapper;
+import com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount;
+import com.dy.pipIrrGlobal.voSt.VoMonthAmount;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.common.utils.PojoUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.text.ParseException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/12/12 16:24
+ * @Description
+ */
+@Slf4j
+@Service
+public class IntakerSv {
+
+    @Autowired
+    private RmIntakeAmountDayMapper dayDao ;
+
+    @Autowired
+    private StIntakeAmountMonthMapper monthDao ;
+
+
+    /**
+     * 缁熻鎸囧畾鏈堜唤鍚勫ぉ鐢ㄦ按閲�
+     * @param qo
+     * @return
+     */
+    public QueryResultVo<List<VoDayIntakeAmount>> amountOfDay(IntakerQo qo) throws ParseException {
+        QueryResultVo<List<VoDayIntakeAmount>> rsVo = new QueryResultVo<>() ;
+        // 鐢熸垚鏌ヨ鍙傛暟
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+        // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+        Long itemTotal = dayDao.selectIntakeCount4AmountDay(qo.intakeNum) ;
+
+        if(itemTotal != null && itemTotal > 0){
+            rsVo.pageSize = qo.pageSize ;
+            rsVo.pageCurr = qo.pageCurr ;
+            rsVo.calculateAndSet(itemTotal, params);
+
+            List<VoDayIntakeAmount> list = dayDao.selectIntakes4AmountDay(params);
+            if(list == null || list.size() == 0){
+                rsVo.obj = list ;
+            }else{
+                String json = JSON.toJSONString(list) ;
+                params.put("intakesJson", json);
+
+                List<VoDayIntakeAmount> list01_05 = dayDao.selectIntakeAmountOfDay01_05(params);
+                if(list01_05 != null && list01_05.size() > 0){
+                    //涓嬮潰1鍒�31鍙峰垎浜�6涓煡璇紝鍘熷洜鏄湪涓�涓煡璇腑锛岄潪甯告參锛屼笉鐭ラ亾浠�涔堝師鍥狅紝涔熻鏄瓙鏌ヨ澶鐨勫師鍥�
+                    List<VoDayIntakeAmount> list06_10 = dayDao.selectIntakeAmountOfDay06_10(params);
+                    List<VoDayIntakeAmount> list11_15 = dayDao.selectIntakeAmountOfDay11_15(params);
+                    List<VoDayIntakeAmount> list16_20 = dayDao.selectIntakeAmountOfDay16_20(params);
+                    List<VoDayIntakeAmount> list21_25 = dayDao.selectIntakeAmountOfDay21_25(params);
+                    List<VoDayIntakeAmount> list26_31 = dayDao.selectIntakeAmountOfDay26_31(params);
+                    this.merge(list01_05, list06_10, list11_15, list16_20, list21_25, list26_31);
+                }
+                rsVo.obj = list01_05 ;
+            }
+        }
+        return rsVo ;
+    }
+
+    private void merge(List<VoDayIntakeAmount> list01_05,
+                       List<VoDayIntakeAmount> list06_10,
+                       List<VoDayIntakeAmount> list11_15,
+                       List<VoDayIntakeAmount> list16_20,
+                       List<VoDayIntakeAmount> list21_25,
+                       List<VoDayIntakeAmount> list26_31){
+        for(VoDayIntakeAmount vo01_05 : list01_05){
+            for(VoDayIntakeAmount vo06_10 : list06_10){
+                if(vo01_05.intakeId.longValue() == vo06_10.intakeId.longValue()){
+                    vo01_05.amount6 = vo06_10.amount6 ;
+                    vo01_05.amount7 = vo06_10.amount7 ;
+                    vo01_05.amount8 = vo06_10.amount8 ;
+                    vo01_05.amount9 = vo06_10.amount9 ;
+                    vo01_05.amount10 = vo06_10.amount10 ;
+                    break ;
+                }
+            }
+            for(VoDayIntakeAmount vo11_15 : list11_15){
+                if(vo01_05.intakeId.longValue() == vo11_15.intakeId.longValue()){
+                    vo01_05.amount11 = vo11_15.amount11 ;
+                    vo01_05.amount12 = vo11_15.amount12 ;
+                    vo01_05.amount13 = vo11_15.amount13 ;
+                    vo01_05.amount14 = vo11_15.amount14 ;
+                    vo01_05.amount15 = vo11_15.amount15 ;
+                    break ;
+                }
+            }
+            for(VoDayIntakeAmount vo16_20 : list16_20){
+                if(vo01_05.intakeId.longValue() == vo16_20.intakeId.longValue()){
+                    vo01_05.amount16 = vo16_20.amount16 ;
+                    vo01_05.amount17 = vo16_20.amount17 ;
+                    vo01_05.amount18 = vo16_20.amount18 ;
+                    vo01_05.amount19 = vo16_20.amount19 ;
+                    vo01_05.amount20 = vo16_20.amount20 ;
+                    break ;
+                }
+            }
+            for(VoDayIntakeAmount vo21_25 : list21_25){
+                if(vo01_05.intakeId.longValue() == vo21_25.intakeId.longValue()){
+                    vo01_05.amount21 = vo21_25.amount21 ;
+                    vo01_05.amount22 = vo21_25.amount22 ;
+                    vo01_05.amount23 = vo21_25.amount23 ;
+                    vo01_05.amount24 = vo21_25.amount24 ;
+                    vo01_05.amount25 = vo21_25.amount25 ;
+                    break ;
+                }
+            }
+            for(VoDayIntakeAmount vo26_31 : list26_31){
+                if(vo01_05.intakeId.longValue() == vo26_31.intakeId.longValue()){
+                    vo01_05.amount26 = vo26_31.amount26 ;
+                    vo01_05.amount27 = vo26_31.amount27 ;
+                    vo01_05.amount28 = vo26_31.amount28 ;
+                    vo01_05.amount29 = vo26_31.amount29 ;
+                    vo01_05.amount30 = vo26_31.amount30 ;
+                    vo01_05.amount31 = vo26_31.amount31 ;
+                    break ;
+                }
+            }
+        }
+    }
+
+
+    /**
+     * 缁熻鎸囧畾鏈堜唤鍚勬湀鐢ㄦ按閲�
+     * @param qo
+     * @return
+     */
+    public QueryResultVo<List<VoMonthAmount>> amountOfMonth(IntakerQo qo) throws ParseException {
+        QueryResultVo<List<VoMonthAmount>> rsVo = new QueryResultVo<>() ;
+        // 鐢熸垚鏌ヨ鍙傛暟
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+        // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+        Long itemTotal = monthDao.selectIntakeCount4AmountMonth(qo.intakeNum) ;
+
+        if(itemTotal != null && itemTotal > 0){
+            rsVo.pageSize = qo.pageSize ;
+            rsVo.pageCurr = qo.pageCurr ;
+            rsVo.calculateAndSet(itemTotal, params);
+
+            List<VoMonthAmount> list = monthDao.selectIntakes4AmountMonth(params);
+            if(list == null || list.size() == 0){
+                rsVo.obj = list ;
+            }else{
+                String json = JSON.toJSONString(list) ;
+                params.put("intakesJson", json);
+
+                List<VoMonthAmount> list01_06 = monthDao.selectIntakeAmountOfMonth01_06(params);
+                if(list01_06 != null && list01_06.size() > 0){
+                    //涓嬮潰1鍒�12鏈堝垎浜�2涓煡璇紝鍘熷洜鏄湪涓�涓煡璇腑锛岄潪甯告參锛屼笉鐭ラ亾浠�涔堝師鍥狅紝涔熻鏄瓙鏌ヨ澶鐨勫師鍥�
+                    List<VoMonthAmount> list07_12 = monthDao.selectIntakeAmountOfMonth07_12(params);
+                    this.merge(list01_06, list07_12);
+                }
+                rsVo.obj = list01_06 ;
+            }
+        }
+        return rsVo ;
+    }
+
+    private void merge(List<VoMonthAmount> list01_06,
+                       List<VoMonthAmount> list07_12){
+        for(VoMonthAmount vo01_06 : list01_06){
+            for(VoMonthAmount vo07_12 : list07_12){
+                if(vo01_06.intakeId.longValue() == vo07_12.intakeId.longValue()){
+                    vo01_06.month7 = vo07_12.month7 ;
+                    vo01_06.month8 = vo07_12.month8 ;
+                    vo01_06.month9 = vo07_12.month9 ;
+                    vo01_06.month10 = vo07_12.month10 ;
+                    vo01_06.month11 = vo07_12.month11 ;
+                    vo01_06.month12 = vo07_12.month12 ;
+                    break ;
+                }
+            }
+        }
+    }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/loss/LossCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/loss/LossCtrl.java
new file mode 100644
index 0000000..2e84f53
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/loss/LossCtrl.java
@@ -0,0 +1,73 @@
+package com.dy.pipIrrStatistics.loss;
+
+import com.dy.common.aop.SsoAop;
+import com.dy.common.util.DateTime;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.voSt.VoDayLoss;
+import com.dy.pipIrrGlobal.voSt.VoMonthAmount;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/12/12 8:33
+ * @Description 鏈夊叧婕忔崯鐨勭粺璁�
+ */
+@Slf4j
+@RestController
+@RequestMapping(path="loss")
+@RequiredArgsConstructor
+public class LossCtrl {
+
+    private LossSv sv;
+
+    @Autowired
+    public void setSv(LossSv sv){
+        this.sv = sv ;
+    }
+
+    /**
+     * 鏌ヨ鎸囧畾鏈堜唤鍚勬棩婕忔崯閲�
+     * @param qo
+     * @return
+     */
+    @GetMapping(path = "/lossAmountOfDay")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoDayLoss>>> lossAmountOfDay(LossQo qo) throws Exception {
+        String yearMonth = qo.getYearMonth();
+        if(yearMonth == null || yearMonth.trim().equals("")) {
+            return BaseResponseUtils.buildErrorMsg("鏌ヨ鏉′欢骞存湀涓嶈兘涓虹┖");
+        }
+        qo.startDt = DateTime.dateFrom_yyyy_MM_dd(yearMonth + "-01");
+        qo.endDt = DateTime.dateFrom_yyyy_MM_dd(yearMonth + "-31");
+
+        int[] ymd = DateTime.yyyy_MM_ymdGroup(yearMonth) ;
+        qo.year = ymd[0] ;
+        qo.month = ymd[1] ;
+
+        return BaseResponseUtils.buildSuccess(this.sv.lossAmountOfDay(qo));
+    }
+
+    /**
+     * 鏌ヨ鎸囧畾鏈堜唤鍚勬棩婕忔崯閲�
+     * @param qo
+     * @return
+     */
+    @GetMapping(path = "/lossAmountOfMonth")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoMonthAmount>>> lossAmountOfMonth(LossQo qo) throws Exception {
+        if(qo.getYear() == null) {
+            return BaseResponseUtils.buildErrorMsg("鏌ヨ鏉′欢骞村害涓嶈兘涓虹┖");
+        }
+        return BaseResponseUtils.buildSuccess(this.sv.lossAmountOfMonth(qo));
+    }
+
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/loss/LossQo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/loss/LossQo.java
new file mode 100644
index 0000000..619ab8b
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/loss/LossQo.java
@@ -0,0 +1,49 @@
+package com.dy.pipIrrStatistics.loss;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/12/12 8:37
+ * @Description
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class LossQo  extends QueryConditionVo {
+
+    /**
+     * 缁熻骞存湀
+     */
+    public String yearMonth;
+
+    /**
+     * 鏌ヨ寮�濮嬫棩鏈燂紙骞存湀鏃ワ級
+     */
+    public Date startDt ;
+
+    /**
+     * 鏌ヨ鎴鏃ユ湡锛堝勾鏈堟棩锛�
+     */
+    public Date endDt ;
+
+
+    /**
+     * 骞�
+     */
+    public Integer year;
+
+    /**
+     * 鏈�
+     */
+    public Integer month;
+
+    /**
+     * 鍙栨按鍙g紪鍙�
+     */
+    public String intakeNum;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/loss/LossSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/loss/LossSv.java
new file mode 100644
index 0000000..4692924
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/loss/LossSv.java
@@ -0,0 +1,188 @@
+package com.dy.pipIrrStatistics.loss;
+
+import com.alibaba.fastjson2.JSON;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoRm.RmLossDayMapper;
+import com.dy.pipIrrGlobal.daoSt.StLossMonthMapper;
+import com.dy.pipIrrGlobal.voSt.VoDayLoss;
+import com.dy.pipIrrGlobal.voSt.VoMonthAmount;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.common.utils.PojoUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.text.ParseException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/12/12 8:33
+ * @Description
+ */
+
+@Slf4j
+@Service
+public class LossSv {
+
+    @Autowired
+    private RmLossDayMapper dayDao;
+
+    @Autowired
+    private StLossMonthMapper monthDao;
+
+    /**
+     * 缁熻鎸囧畾鏈堜唤鍚勫ぉ婕忔崯閲�
+     * @param qo
+     * @return
+     */
+    public QueryResultVo<List<VoDayLoss>> lossAmountOfDay(LossQo qo) throws ParseException {
+        QueryResultVo<List<VoDayLoss>> rsVo = new QueryResultVo<>() ;
+        // 鐢熸垚鏌ヨ鍙傛暟
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+        // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+        Long itemTotal = dayDao.selectIntakeCount4LossDay(qo.intakeNum) ;
+
+        if(itemTotal != null && itemTotal > 0){
+            rsVo.pageSize = qo.pageSize ;
+            rsVo.pageCurr = qo.pageCurr ;
+            rsVo.calculateAndSet(itemTotal, params);
+
+            List<VoDayLoss> list = dayDao.selectIntakes4LossDay(params);
+            if(list == null || list.size() == 0){
+                rsVo.obj = list ;
+            }else{
+                String json = JSON.toJSONString(list) ;
+                params.put("intakesJson", json);
+
+                List<VoDayLoss> list01_05 = dayDao.selectLossAmountOfDay01_05(params);
+                if(list01_05 != null && list01_05.size() > 0){
+                    //涓嬮潰1鍒�31鍙峰垎浜�6涓煡璇紝鍘熷洜鏄湪涓�涓煡璇腑锛岄潪甯告參锛屼笉鐭ラ亾浠�涔堝師鍥狅紝涔熻鏄瓙鏌ヨ澶鐨勫師鍥�
+                    List<VoDayLoss> list06_10 = dayDao.selectLossAmountOfDay06_10(params);
+                    List<VoDayLoss> list11_15 = dayDao.selectLossAmountOfDay11_15(params);
+                    List<VoDayLoss> list16_20 = dayDao.selectLossAmountOfDay16_20(params);
+                    List<VoDayLoss> list21_25 = dayDao.selectLossAmountOfDay21_25(params);
+                    List<VoDayLoss> list26_31 = dayDao.selectLossAmountOfDay26_31(params);
+                    this.merge(list01_05, list06_10, list11_15, list16_20, list21_25, list26_31);
+                }
+                rsVo.obj = list01_05 ;
+            }
+        }
+        return rsVo ;
+    }
+
+    private void merge(List<VoDayLoss> list01_05,
+                       List<VoDayLoss> list06_10,
+                       List<VoDayLoss> list11_15,
+                       List<VoDayLoss> list16_20,
+                       List<VoDayLoss> list21_25,
+                       List<VoDayLoss> list26_31){
+        for(VoDayLoss vo01_05 : list01_05){
+            for(VoDayLoss vo06_10 : list06_10){
+                if(vo01_05.intakeId.longValue() == vo06_10.intakeId.longValue()){
+                    vo01_05.lossAmount6 = vo06_10.lossAmount6 ;
+                    vo01_05.lossAmount7 = vo06_10.lossAmount7 ;
+                    vo01_05.lossAmount8 = vo06_10.lossAmount8 ;
+                    vo01_05.lossAmount9 = vo06_10.lossAmount9 ;
+                    vo01_05.lossAmount10 = vo06_10.lossAmount10 ;
+                    break ;
+                }
+            }
+            for(VoDayLoss vo11_15 : list11_15){
+                if(vo01_05.intakeId.longValue() == vo11_15.intakeId.longValue()){
+                    vo01_05.lossAmount11 = vo11_15.lossAmount11 ;
+                    vo01_05.lossAmount12 = vo11_15.lossAmount12 ;
+                    vo01_05.lossAmount13 = vo11_15.lossAmount13 ;
+                    vo01_05.lossAmount14 = vo11_15.lossAmount14 ;
+                    vo01_05.lossAmount15 = vo11_15.lossAmount15 ;
+                    break ;
+                }
+            }
+            for(VoDayLoss vo16_20 : list16_20){
+                if(vo01_05.intakeId.longValue() == vo16_20.intakeId.longValue()){
+                    vo01_05.lossAmount16 = vo16_20.lossAmount16 ;
+                    vo01_05.lossAmount17 = vo16_20.lossAmount17 ;
+                    vo01_05.lossAmount18 = vo16_20.lossAmount18 ;
+                    vo01_05.lossAmount19 = vo16_20.lossAmount19 ;
+                    vo01_05.lossAmount20 = vo16_20.lossAmount20 ;
+                    break ;
+                }
+            }
+            for(VoDayLoss vo21_25 : list21_25){
+                if(vo01_05.intakeId.longValue() == vo21_25.intakeId.longValue()){
+                    vo01_05.lossAmount21 = vo21_25.lossAmount21 ;
+                    vo01_05.lossAmount22 = vo21_25.lossAmount22 ;
+                    vo01_05.lossAmount23 = vo21_25.lossAmount23 ;
+                    vo01_05.lossAmount24 = vo21_25.lossAmount24 ;
+                    vo01_05.lossAmount25 = vo21_25.lossAmount25 ;
+                    break ;
+                }
+            }
+            for(VoDayLoss vo26_31 : list26_31){
+                if(vo01_05.intakeId.longValue() == vo26_31.intakeId.longValue()){
+                    vo01_05.lossAmount26 = vo26_31.lossAmount26 ;
+                    vo01_05.lossAmount27 = vo26_31.lossAmount27 ;
+                    vo01_05.lossAmount28 = vo26_31.lossAmount28 ;
+                    vo01_05.lossAmount29 = vo26_31.lossAmount29 ;
+                    vo01_05.lossAmount30 = vo26_31.lossAmount30 ;
+                    vo01_05.lossAmount31 = vo26_31.lossAmount31 ;
+                    break ;
+                }
+            }
+        }
+    }
+
+
+    /**
+     * 缁熻鎸囧畾鏈堜唤鍚勬湀婕忔崯閲�
+     * @param qo
+     * @return
+     */
+    public QueryResultVo<List<VoMonthAmount>> lossAmountOfMonth(LossQo qo) throws ParseException {
+        QueryResultVo<List<VoMonthAmount>> rsVo = new QueryResultVo<>() ;
+        // 鐢熸垚鏌ヨ鍙傛暟
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+        // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+        Long itemTotal = monthDao.selectIntakeCount4LossMonth(qo.intakeNum) ;
+
+        if(itemTotal != null && itemTotal > 0){
+            rsVo.pageSize = qo.pageSize ;
+            rsVo.pageCurr = qo.pageCurr ;
+            rsVo.calculateAndSet(itemTotal, params);
+
+            List<VoMonthAmount> list = monthDao.selectIntakes4LossMonth(params);
+            if(list == null || list.size() == 0){
+                rsVo.obj = list ;
+            }else{
+                String json = JSON.toJSONString(list) ;
+                params.put("intakesJson", json);
+
+                List<VoMonthAmount> list01_06 = monthDao.selectLossAmountOfMonth01_06(params);
+                if(list01_06 != null && list01_06.size() > 0){
+                    //涓嬮潰1鍒�12鏈堝垎浜�2涓煡璇紝鍘熷洜鏄湪涓�涓煡璇腑锛岄潪甯告參锛屼笉鐭ラ亾浠�涔堝師鍥狅紝涔熻鏄瓙鏌ヨ澶鐨勫師鍥�
+                    List<VoMonthAmount> list07_12 = monthDao.selectLossAmountOfMonth07_12(params);
+                    this.merge(list01_06, list07_12);
+                }
+                rsVo.obj = list01_06 ;
+            }
+        }
+        return rsVo ;
+    }
+
+    private void merge(List<VoMonthAmount> list01_06,
+                       List<VoMonthAmount> list07_12){
+        for(VoMonthAmount vo01_06 : list01_06){
+            for(VoMonthAmount vo07_12 : list07_12){
+                if(vo01_06.intakeId.longValue() == vo07_12.intakeId.longValue()){
+                    vo01_06.month7 = vo07_12.month7 ;
+                    vo01_06.month8 = vo07_12.month8 ;
+                    vo01_06.month9 = vo07_12.month9 ;
+                    vo01_06.month10 = vo07_12.month10 ;
+                    vo01_06.month11 = vo07_12.month11 ;
+                    vo01_06.month12 = vo07_12.month12 ;
+                    break ;
+                }
+            }
+        }
+    }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeClientAmountSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeClientAmountSv.java
new file mode 100644
index 0000000..8f3b788
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeClientAmountSv.java
@@ -0,0 +1,127 @@
+package com.dy.pipIrrTemp.delSome;
+
+import com.dy.pipIrrGlobal.daoTmp.DeleteMapper;
+import com.dy.pipIrrGlobal.voTmp.VoStClientAmountDay;
+import com.dy.pipIrrGlobal.voTmp.VoStClientAmountMonth;
+import com.dy.pipIrrGlobal.voTmp.VoStClientAmountYear;
+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.List;
+
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/12/11 10:54
+ * @Description
+ */
+
+@Slf4j
+@Service
+public class DelSomeClientAmountSv {
+
+    private DeleteMapper dao;
+
+    @Autowired
+    private void setDao(DeleteMapper dao){
+        this.dao = dao;
+    }
+
+    public void delStClientDay(){
+        VoStClientAmountDay first = null ;
+        List<VoStClientAmountDay> list = dao.selectAllStClientDay() ;
+        if(list != null && list.size() > 0){
+            for(VoStClientAmountDay vo : list){
+                if(first == null){
+                    first = vo ;
+                }else{
+                    if(first.clientId.longValue() != vo.clientId.longValue()){
+                        //鍐滄埛鍙樹簡
+                        first = vo ;
+                    }else{
+                        if(!first.dt.equals(vo.dt)) {
+                            //鏃ユ湡鍙樹簡
+                            first = vo ;
+                        }else{
+                            //鍚屼竴涓啘鎴峰悓鏃ユ湡
+                            doDelStClientDay(vo.id) ;
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    public void delStClientMonth(){
+        VoStClientAmountMonth first = null ;
+        List<VoStClientAmountMonth> list = dao.selectAllStClientMonth() ;
+        if(list != null && list.size() > 0){
+            for(VoStClientAmountMonth vo : list){
+                if(first == null){
+                    first = vo ;
+                }else{
+                    if(first.clientId.longValue() != vo.clientId.longValue()){
+                        //鍐滄埛鍙樹簡
+                        first = vo ;
+                    }else{
+                        if(first.year.intValue() != vo.year.intValue()) {
+                            //骞村害鍙樹簡
+                            first = vo ;
+                        }else{
+                            if(first.month.intValue() != vo.month.intValue()){
+                                //鏈堜唤鍙樹簡
+                                first = vo ;
+                            }else{
+                                //鍚屼竴涓啘鎴峰悓骞村悓鏈�
+                                doDelStClientMonth(vo.id) ;
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+
+    public void delStClientYear(){
+        VoStClientAmountYear first = null ;
+        List<VoStClientAmountYear> list = dao.selectAllStClientYear() ;
+        if(list != null && list.size() > 0){
+            for(VoStClientAmountYear vo : list){
+                if(first == null){
+                    first = vo ;
+                }else{
+                    if(first.clientId.longValue() != vo.clientId.longValue()){
+                        //鍐滄埛鍙樹簡
+                        first = vo ;
+                    }else{
+                        if(first.year.intValue() != vo.year.intValue()) {
+                            //骞村害鍙樹簡
+                            first = vo ;
+                        }else{
+                            //鍚屼竴涓啘鎴峰悓骞�
+                            doDelStClientYear(vo.id) ;
+                        }
+                    }
+                }
+            }
+        }
+    }
+    @Transactional
+    int doDelStClientDay(Long id){
+        return dao.deleteStClientDayById(id) ;
+    }
+
+    @Transactional
+    int doDelStClientMonth(Long id){
+        return dao.deleteStClientMonthById(id) ;
+    }
+
+    @Transactional
+    int doDelStClientYear(Long id){
+        return dao.deleteStClientYearById(id) ;
+    }
+
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeCtrl.java
index 6f6eb03..dd71b08 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeCtrl.java
@@ -1,5 +1,6 @@
 package com.dy.pipIrrTemp.delSome;
 
+import com.dy.common.aop.SsoAop;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import lombok.extern.slf4j.Slf4j;
@@ -19,11 +20,23 @@
 @SuppressWarnings("unchecked")//java鐗堟湰瓒婇珮锛屽娉涘瀷绾︽潫瓒婁弗锛屾墍浠ラ厤缃甋uppressWarnings("unchecked")
 public class DelSomeCtrl {
 
-    private DelSomeSv sv;
+    private DelSomeLossAmountSv lossAmountSv;
+    private DelSomeIntakeAmountSv intakeAmountSv;
+    private DelSomeClientAmountSv clientAmountSv;
 
     @Autowired
-    private void setSv(DelSomeSv sv) {
-        this.sv = sv;
+    private void setSv(DelSomeLossAmountSv sv) {
+        this.lossAmountSv = sv;
+    }
+
+    @Autowired
+    private void setSv(DelSomeIntakeAmountSv sv) {
+        this.intakeAmountSv = sv;
+    }
+
+    @Autowired
+    private void setSv(DelSomeClientAmountSv sv) {
+        this.clientAmountSv = sv;
     }
 
     /**
@@ -31,8 +44,37 @@
      * @return
      */
     @GetMapping(path = "deleteSomeStatisticLossAmount")
+    @SsoAop()
     public BaseResponse<Boolean> deleteSomeStatisticLossAmount(){
-        this.sv.delStLossMonth();
+        this.lossAmountSv.delStLossDay();
+        this.lossAmountSv.delStLossMonth();
+        this.lossAmountSv.delStLossYear();
+        return BaseResponseUtils.buildSuccess(true);
+    }
+
+    /**
+     * 鍒犻櫎涓�浜涘彇姘村彛缁熻
+     * @return
+     */
+    @GetMapping(path = "deleteSomeStatisticIntakeAmount")
+    @SsoAop()
+    public BaseResponse<Boolean> deleteSomeStatisticIntakeAmount(){
+        this.intakeAmountSv.delStIntakeDay();
+        this.intakeAmountSv.delStIntakeMonth();
+        this.intakeAmountSv.delStIntakeYear();
+        return BaseResponseUtils.buildSuccess(true);
+    }
+
+    /**
+     * 鍒犻櫎涓�浜涘啘鎴风粺璁�
+     * @return
+     */
+    @GetMapping(path = "deleteSomeStatisticClientAmount")
+    @SsoAop()
+    public BaseResponse<Boolean> deleteSomeStatisticClientAmount(){
+        this.clientAmountSv.delStClientDay();
+        this.clientAmountSv.delStClientMonth();
+        this.clientAmountSv.delStClientYear();
         return BaseResponseUtils.buildSuccess(true);
     }
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeIntakeAmountSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeIntakeAmountSv.java
new file mode 100644
index 0000000..964209e
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeIntakeAmountSv.java
@@ -0,0 +1,127 @@
+package com.dy.pipIrrTemp.delSome;
+
+import com.dy.pipIrrGlobal.daoTmp.DeleteMapper;
+import com.dy.pipIrrGlobal.voTmp.VoStIntakeAmountDay;
+import com.dy.pipIrrGlobal.voTmp.VoStIntakeAmountMonth;
+import com.dy.pipIrrGlobal.voTmp.VoStIntakeAmountYear;
+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.List;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/12/11 10:54
+ * @Description
+ */
+
+@Slf4j
+@Service
+public class DelSomeIntakeAmountSv {
+
+    private DeleteMapper dao;
+
+    @Autowired
+    private void setDao(DeleteMapper dao){
+        this.dao = dao;
+    }
+
+    public void delStIntakeDay(){
+        VoStIntakeAmountDay first = null ;
+        List<VoStIntakeAmountDay> list = dao.selectAllStIntakeDay() ;
+        if(list != null && list.size() > 0){
+            for(VoStIntakeAmountDay vo : list){
+                if(first == null){
+                    first = vo ;
+                }else{
+                    if(first.intakeId.longValue() != vo.intakeId.longValue()){
+                        //鍙栨按鍙e彉浜�
+                        first = vo ;
+                    }else{
+                        if(!first.dt.equals(vo.dt)) {
+                            //鏃ユ湡鍙樹簡
+                            first = vo ;
+                        }else{
+                            //鍚屼竴涓彇姘村彛鍚屾棩鏈�
+                            doDelStIntakeDay(vo.id) ;
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    public void delStIntakeMonth(){
+        VoStIntakeAmountMonth first = null ;
+        List<VoStIntakeAmountMonth> list = dao.selectAllStIntakeMonth() ;
+        if(list != null && list.size() > 0){
+            for(VoStIntakeAmountMonth vo : list){
+                if(first == null){
+                    first = vo ;
+                }else{
+                    if(first.intakeId.longValue() != vo.intakeId.longValue()){
+                        //鍙栨按鍙e彉浜�
+                        first = vo ;
+                    }else{
+                        if(first.year.intValue() != vo.year.intValue()) {
+                            //骞村害鍙樹簡
+                            first = vo ;
+                        }else{
+                            if(first.month.intValue() != vo.month.intValue()){
+                                //鏈堜唤鍙樹簡
+                                first = vo ;
+                            }else{
+                                //鍚屼竴涓彇姘村彛鍚屽勾鍚屾湀
+                                doDelStIntakeMonth(vo.id) ;
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+
+    public void delStIntakeYear(){
+        VoStIntakeAmountYear first = null ;
+        List<VoStIntakeAmountYear> list = dao.selectAllStIntakeYear() ;
+        if(list != null && list.size() > 0){
+            for(VoStIntakeAmountYear vo : list){
+                if(first == null){
+                    first = vo ;
+                }else{
+                    if(first.intakeId.longValue() != vo.intakeId.longValue()){
+                        //鍙栨按鍙e彉浜�
+                        first = vo ;
+                    }else{
+                        if(first.year.intValue() != vo.year.intValue()) {
+                            //骞村害鍙樹簡
+                            first = vo ;
+                        }else{
+                            //鍚屼竴涓彇姘村彛鍚屽勾
+                            doDelStIntakeYear(vo.id) ;
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    @Transactional
+    int doDelStIntakeDay(Long id){
+        return dao.deleteStIntakeDayById(id) ;
+    }
+
+    @Transactional
+    int doDelStIntakeMonth(Long id){
+        return dao.deleteStIntakeMonthById(id) ;
+    }
+
+    @Transactional
+    int doDelStIntakeYear(Long id){
+        return dao.deleteStIntakeYearById(id) ;
+    }
+
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeLossAmountSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeLossAmountSv.java
new file mode 100644
index 0000000..849d552
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeLossAmountSv.java
@@ -0,0 +1,125 @@
+package com.dy.pipIrrTemp.delSome;
+
+import com.dy.pipIrrGlobal.daoTmp.DeleteMapper;
+import com.dy.pipIrrGlobal.voTmp.VoStLossAmountDay;
+import com.dy.pipIrrGlobal.voTmp.VoStLossAmountMonth;
+import com.dy.pipIrrGlobal.voTmp.VoStLossAmountYear;
+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.List;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/12/11 10:54
+ * @Description
+ */
+
+@Slf4j
+@Service
+public class DelSomeLossAmountSv {
+
+    private DeleteMapper dao;
+
+    @Autowired
+    private void setDao(DeleteMapper dao){
+        this.dao = dao;
+    }
+
+    public void delStLossDay(){
+        VoStLossAmountDay first = null ;
+        List<VoStLossAmountDay> list = dao.selectAllStLossDay() ;
+        if(list != null && list.size() > 0){
+            for(VoStLossAmountDay vo : list){
+                if(first == null){
+                    first = vo ;
+                }else{
+                    if(first.intakeId.longValue() != vo.intakeId.longValue()){
+                        //鍙栨按鍙e彉浜�
+                        first = vo ;
+                    }else{
+                        if(!first.dt.equals(vo.dt)) {
+                            //鏃ユ湡鍙樹簡
+                            first = vo ;
+                        }else{
+                            //鍚屼竴涓彇姘村彛鍚屾棩鏈�
+                            doDelStLossDay(vo.id) ;
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    public void delStLossMonth(){
+        VoStLossAmountMonth first = null ;
+        List<VoStLossAmountMonth> list = dao.selectAllStLossMonth() ;
+        if(list != null && list.size() > 0){
+            for(VoStLossAmountMonth vo : list){
+                if(first == null){
+                    first = vo ;
+                }else{
+                    if(first.intakeId.longValue() != vo.intakeId.longValue()){
+                        //鍙栨按鍙e彉浜�
+                        first = vo ;
+                    }else{
+                        if(first.year.intValue() != vo.year.intValue()) {
+                            //骞村害鍙樹簡
+                            first = vo ;
+                        }else{
+                            if(first.month.intValue() != vo.month.intValue()){
+                                //鏈堜唤鍙樹簡
+                                first = vo ;
+                            }else{
+                                //鍚屼竴涓彇姘村彛鍚屽勾鍚屾湀
+                                doDelStLossMonth(vo.id) ;
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+
+    public void delStLossYear(){
+        VoStLossAmountYear first = null ;
+        List<VoStLossAmountYear> list = dao.selectAllStLossYear() ;
+        if(list != null && list.size() > 0){
+            for(VoStLossAmountYear vo : list){
+                if(first == null){
+                    first = vo ;
+                }else{
+                    if(first.intakeId.longValue() != vo.intakeId.longValue()){
+                        //鍙栨按鍙e彉浜�
+                        first = vo ;
+                    }else{
+                        if(first.year.intValue() != vo.year.intValue()) {
+                            //骞村害鍙樹簡
+                            first = vo ;
+                        }else{
+                            //鍚屼竴涓彇姘村彛鍚屽勾
+                            doDelStLossYear(vo.id) ;
+                        }
+                    }
+                }
+            }
+        }
+    }
+    @Transactional
+    int doDelStLossDay(Long id){
+        return dao.deleteStLossDayById(id) ;
+    }
+    @Transactional
+    int doDelStLossMonth(Long id){
+        return dao.deleteStLossMonthById(id) ;
+    }
+
+    @Transactional
+    int doDelStLossYear(Long id){
+        return dao.deleteStLossYearById(id) ;
+    }
+
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeSv.java
deleted file mode 100644
index 3fd530b..0000000
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/delSome/DelSomeSv.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package com.dy.pipIrrTemp.delSome;
-
-import com.dy.pipIrrGlobal.daoTmp.DeleteMapper;
-import com.dy.pipIrrGlobal.voTmp.VoStLossMonth;
-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.List;
-
-/**
- * @Author: liurunyu
- * @Date: 2024/12/11 10:54
- * @Description
- */
-
-@Slf4j
-@Service
-public class DelSomeSv {
-
-    private DeleteMapper dao;
-
-    @Autowired
-    private void setDao(DeleteMapper dao){
-        this.dao = dao;
-    }
-
-    public void delStLossMonth(){
-        VoStLossMonth first = null ;
-        List<VoStLossMonth> list = dao.selectAllStLossMonth() ;
-        if(list != null && list.size() > 0){
-            for(VoStLossMonth vo : list){
-                if(first == null){
-                    first = vo ;
-                }else{
-                    if(first.intakeId != vo.intakeId){
-                        //鍙栨按鍙e彉浜�
-                        first = vo ;
-                    }else{
-                        if(first.year != vo.year) {
-                            //骞村害鍙樹簡
-                            first = vo ;
-                        }else{
-                            if(first.month != vo.month){
-                                //鏈堜唤鍙樹簡
-                                first = vo ;
-                            }else{
-                                //鍚屼竴涓彇姘村彛鍚屽勾鍚屾湀
-                                doDelStLossMonth(vo.id) ;
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-    @Transactional
-    int doDelStLossMonth(Long id){
-        return dao.deleteByMainKey(id) ;
-    }
-}

--
Gitblit v1.8.0