From 7af935e6a092193adf309f3a2d700f049b4b63d8 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 25 七月 2024 14:11:49 +0800
Subject: [PATCH] 解决冲突

---
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StatisticsJob.java                      |    1 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java                                    |   19 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmIntakeAmountDayLastMapper.java                                    |   16 
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeManagerCardMapper.xml                                                           |  124 +++
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/RecordsSv.java                                     |   58 +
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeManagerCard.java                                                 |   72 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java                               |   55 +
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/clientAmountDay/ClientAmountDayCtrl.java           |   96 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StClient.java                           |    1 
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayLastMapper.xml                                                   |   14 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoOnHour.java                                                        |   75 ++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmIntakeAmountDayMapper.java                                        |   19 
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml                                                       |   52 +
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateLastMapper.xml                                                        |    6 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossDayMapper.java                                                |   26 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossDayLastMapper.java                                            |   21 
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayLastMapper.xml                                                   |   47 +
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeManagerCardMapper.java                                            |   35 +
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/controllerAlarmState/ControllerAlarmStateCtrl.java |   97 ++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDay.java                                                     |    4 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportCtrl.java                                     |   45 +
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/ManagerCard.java                               |   33 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/lossDay/LossDayCtrl.java                           |   98 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/lossDay/LossDayQueryVo.java                        |   33 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/lossDay/LossDaySv.java                             |   71 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java                                 |   31 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/controllerAlarmState/ControllerAlarmStateSv.java   |   72 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/intakeAmountDay/IntakeAmountDaySv.java             |   71 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/RecordsCtrl.java                                   |   63 +
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StIntakeSv.java                         |    3 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDayLast.java                                                 |    4 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/qo/ReportQO.java                                    |   40 +
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/intakeAmountDay/IntakeAmountDayCtrl.java           |   94 ++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoIntakeAmountDay.java                                               |   52 +
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StIntakeAmountMonthMapper.java                                      |    6 
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml                                                     |    4 
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml                                                   |   54 +
 /dev/null                                                                                                                                 |   44 -
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java                                     |   13 
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayMapper.xml                                                               |   91 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/intakeAmountDay/IntakeAmountDayQueryVo.java        |   32 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoLossDay.java                                                       |   48 +
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayMapper.xml                                                       |   16 
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayLastMapper.xml                                                           |   83 +
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportSv.java                                       |   72 ++
 pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml                                                                   |    4 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/clientAmountDay/ClientAmountDaySv.java             |   72 ++
 47 files changed, 1,951 insertions(+), 136 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmIntakeAmountDayLastMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmIntakeAmountDayLastMapper.java
index b9ef67d..ab88f66 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmIntakeAmountDayLastMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmIntakeAmountDayLastMapper.java
@@ -2,9 +2,11 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDayLast;
+import com.dy.pipIrrGlobal.voRm.VoIntakeAmountDay;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Author: liurunyu
@@ -61,4 +63,18 @@
      * @return update count
      */
     int updateByPrimaryKey(RmIntakeAmountDayLast record);
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍鎬绘暟
+     * @param params
+     * @return
+     */
+    Long getRecordCount(Map<?, ?> params);
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍
+     * @param params
+     * @return
+     */
+    List<VoIntakeAmountDay> getIntakeAmountDayLast(Map<?, ?> params);
 }
\ No newline at end of file
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 4b2a87e..7b8e54a 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
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDay;
+import com.dy.pipIrrGlobal.voRm.VoIntakeAmountDay;
 import com.dy.pipIrrGlobal.voSt.VoIntakeAmountStatistics;
 import com.dy.pipIrrGlobal.voSt.VoIntakeLossStatistics;
 import org.apache.ibatis.annotations.Mapper;
@@ -9,6 +10,7 @@
 
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Author: liurunyu
@@ -66,14 +68,27 @@
      */
     int updateByPrimaryKey(RmIntakeAmountDay record);
 
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍鎬绘暟
+     * @param params
+     * @return
+     */
+    Long getRecordCount(Map<?, ?> params);
 
     /**
-     * 浠ュ彇姘村彛缁村害缁熻鍙栨按閲�
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍
+     * @param params
+     * @return
+     */
+    List<VoIntakeAmountDay> getIntakeAmountDayHistory(Map<?, ?> params);
+
+
+    /**
+     * 浠ュ彇姘村彛缁村害缁熻鍙栨按鍙e彇姘撮噺
      * @param statisticsStartId 缁熻鏃堕棿娈靛紑濮嬫椂闂村搴旂殑ID
      * @param statisticsEndId 缁熻鏃堕棿娈垫埅姝㈡椂闂村搴旂殑ID
      * @return
      */
     List<VoIntakeAmountStatistics> statisticsByIntake(@Param("startId")Long statisticsStartId, @Param("endId")Long statisticsEndId) ;
-
 
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossDayLastMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossDayLastMapper.java
index eb2831b..b2cc73d 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossDayLastMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossDayLastMapper.java
@@ -1,11 +1,15 @@
 package com.dy.pipIrrGlobal.daoRm;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dy.pipIrrGlobal.voRm.VoLossDay;
+import com.dy.pipIrrGlobal.voSt.VoIntakeLossStatistics;
 import com.dy.pipIrrGlobal.pojoRm.RmLossDayLast;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Author liurunyu
@@ -69,4 +73,21 @@
      * @return update count
      */
     int updateByPrimaryKey(RmLossDayLast record);
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍鎬绘暟
+     * @param params
+     * @return
+     */
+    Long getRecordCount(Map<?, ?> params);
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍
+     * @param params
+     * @return
+     */
+    List<VoLossDay> getLossDayLast(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 086fea3..7647fa9 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
@@ -2,12 +2,14 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dy.pipIrrGlobal.pojoRm.RmLossDay;
+import com.dy.pipIrrGlobal.voRm.VoLossDay;
 import com.dy.pipIrrGlobal.voSt.VoIntakeLossStatistics;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Author liurunyu
@@ -46,6 +48,13 @@
     RmLossDay selectByPrimaryKey(Long id);
 
     /**
+     * select by rtuAddr
+     * @param intakeId 鎺у埗鍣ㄦ墍缁戝彇姘村彛ID
+     * @return object by rtuAddr
+     */
+    List<RmLossDay> selectByIntakeId(Long intakeId) ;
+   /**
+    /**
      * select by dt
      * @param date 鏃ユ湡锛坹yyy-mm-dd锛�
      * @return object by rtuAddr
@@ -67,12 +76,25 @@
     int updateByPrimaryKey(RmLossDay record);
 
     /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍鎬绘暟
+     * @param params
+     * @return
+     */
+    Long getRecordCount(Map<?, ?> params);
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍
+     * @param params
+     * @return
+     */
+    List<VoLossDay> getLossDayHistory(Map<?, ?> params);
+
+
+    /**
      * 浠ュ彇姘村彛缁村害缁熻婕忔崯閲�
      * @param statisticsStartId 缁熻鏃堕棿娈靛紑濮嬫椂闂村搴旂殑ID
      * @param statisticsEndId 缁熻鏃堕棿娈垫埅姝㈡椂闂村搴旂殑ID
      * @return
      */
     List<VoIntakeLossStatistics> statisticsByIntake(@Param("startId")Long statisticsStartId, @Param("endId")Long statisticsEndId) ;
-
-
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java
index edcde57..1eaa921 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java
@@ -2,8 +2,11 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dy.pipIrrGlobal.pojoRm.RmOnHourReportHistory;
-import com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast;
+import com.dy.pipIrrGlobal.voRm.VoOnHour;
 import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * @Author: liurunyu
@@ -53,4 +56,18 @@
      * @return update count
      */
     int updateByPrimaryKey(RmOnHourReportHistory record);
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鏁寸偣鎶ュ巻鍙茶褰曟暟閲�
+     * @param params
+     * @return
+     */
+    Long getOnHourReportsCount_history(Map<?, ?> params);
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鏁寸偣鎶ュ巻鍙茶褰�
+     * @param params
+     * @return
+     */
+    List<VoOnHour> getOnHourReports_history(Map<?, ?> params);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeManagerCardMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeManagerCardMapper.java
new file mode 100644
index 0000000..6df948a
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeManagerCardMapper.java
@@ -0,0 +1,35 @@
+package com.dy.pipIrrGlobal.daoSe;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dy.pipIrrGlobal.pojoSe.SeManagerCard;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-24 10:36
+ * @LastEditTime 2024-07-24 10:36
+ * @Description
+ */
+
+@Mapper
+public interface SeManagerCardMapper extends BaseMapper<SeManagerCard> {
+    int deleteByPrimaryKey(Long id);
+
+    int insert(SeManagerCard record);
+
+    int insertSelective(SeManagerCard record);
+
+    SeManagerCard selectByPrimaryKey(Long id);
+
+    int updateByPrimaryKeySelective(SeManagerCard record);
+
+    int updateByPrimaryKey(SeManagerCard record);
+
+    /**
+     * 鏍规嵁琛屾斂鍖哄垝涓叉ā绯婃煡璇㈢鐞嗗崱缂栧彿
+     * @param areaCode
+     * @return
+     */
+    String getManagerCardNumOfMax(@Param("areaCode") String areaCode);
+}
\ 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 8b643fa..5235d26 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
@@ -63,5 +63,11 @@
      * @param year 缁熻骞村害
      * @return
      */
+    List<VoIntakeAmountStatistics> statisticsByIntake(Integer year, Integer month, Long startId, Long endId) ;
+    /**
+     * 浠ュ彇姘村彛缁村害缁熻鍙栨按閲�
+     * @param year 缁熻骞村害
+     * @return
+     */
     List<VoIntakeAmountStatistics> statisticsByIntake(Integer year) ;
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDay.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDay.java
index 2463d47..a7d5754 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDay.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDay.java
@@ -21,13 +21,13 @@
  * @LastEditTime 2024/2/28 15:31
  * @Description 鎺у埗鍣ㄦ棩婕忔崯姘撮噺鍘嗗彶鏁版嵁
  */
-@TableName(value="rm_loss_day", autoResultMap = true)
+@TableName(value="rm_loss_history_history", autoResultMap = true)
 @Data
 @Builder
 @ToString
 @NoArgsConstructor
 @AllArgsConstructor
-@Schema(name = "鍙栨按鍙f棩婕忔崯缁熻")
+@Schema(name = "鎺у埗鍣ㄦ棩婕忔崯姘撮噺鍘嗗彶鏁版嵁 ")
 public class RmLossDay implements BaseEntity {
 
     public static final long serialVersionUID = 202402281620001L;
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDayLast.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDayLast.java
index fc2d6f8..5e6ffc9 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDayLast.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDayLast.java
@@ -21,13 +21,13 @@
  * @LastEditTime 2024/2/28 15:31
  * @Description 鎺у埗鍣ㄦ棩婕忔崯姘撮噺鏈�鏂版暟鎹�
  */
-@TableName(value="rm_loss_day_last", autoResultMap = true)
+@TableName(value="rm_loss_last_history", autoResultMap = true)
 @Data
 @Builder
 @ToString
 @NoArgsConstructor
 @AllArgsConstructor
-@Schema(name = "鍙栨按鍙f棩婕忔崯鏈�鏂版暟鎹�")
+@Schema(name = "鎺у埗鍣ㄦ棩婕忔崯姘撮噺鏈�鏂版暟鎹�")
 public class RmLossDayLast implements BaseEntity {
 
     public static final long serialVersionUID = 202402281621001L;
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeManagerCard.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeManagerCard.java
new file mode 100644
index 0000000..6bf4d99
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeManagerCard.java
@@ -0,0 +1,72 @@
+package com.dy.pipIrrGlobal.pojoSe;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dy.common.po.BaseEntity;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.*;
+import org.hibernate.validator.constraints.Length;
+
+import java.util.Date;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-24 10:36
+ * @LastEditTime 2024-07-24 10:36
+ * @Description
+ */
+/**
+ * 绠$悊鍛樻按鍗¤〃
+ */
+
+@TableName(value = "se_manager_card", autoResultMap = true)
+@Data
+@Builder
+@ToString
+@NoArgsConstructor
+@AllArgsConstructor
+public class SeManagerCard implements BaseEntity {
+    public static final long serialVersionUID = 202407241040001L;
+
+    /**
+    * 涓婚敭
+    */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    @TableId(type = IdType.INPUT)
+    private Long id;
+
+    /**
+    * 鍗$墖鍦板潃
+    */
+    @NotBlank(message = "鍗$墖鍦板潃涓嶈兘涓虹┖")
+    private String cardAddr;
+
+    /**
+    * 鍗$墖缂栧彿
+    */
+    @NotBlank(message = "鍗$墖缂栧彿涓嶈兘涓虹┖")
+    private String cardNum;
+
+    /**
+    * 鍗$墖绫诲瀷;2-绠$悊绉戯紝4-寮�鍏抽榾鍗★紝5娓呯┖鍗�
+    */
+    @NotNull(message = "鍗$墖绫诲瀷涓嶈兘涓虹┖")
+    private Byte cardType;
+
+    /**
+    * 寮�鍗℃椂闂�
+    */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+    * 澶囨敞淇℃伅
+    */
+    @Length(max = 200)
+    private String remarks;
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoIntakeAmountDay.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoIntakeAmountDay.java
new file mode 100644
index 0000000..9d1b4ea
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoIntakeAmountDay.java
@@ -0,0 +1,52 @@
+package com.dy.pipIrrGlobal.voRm;
+
+import com.dy.common.po.BaseEntity;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/7/24  10:27
+ * @LastEditTime :2024/7/24  10:27
+ * @Description
+ */
+@Data
+@Schema(title = "鍙栨按鍙f棩鍙栨按閲忔紡鎹熼噺瑙嗗浘瀵硅薄")
+public class VoIntakeAmountDay implements BaseEntity {
+
+    private static final long serialVersionUID = 202407241028001L;
+
+
+    @Schema(description = "鍙栨按鍙D", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private String intakeId;
+
+    @Schema(description = "鍙栨按鍙e悕绉�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private String intakeName;
+
+    @Schema(description = "鏃ュ彇姘撮噺锛堜笉鍖呮嫭婕忔崯姘撮噺锛�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private Double amount;
+
+    @Schema(description = "缁熻鏃ユ湡(yyyy-mm-dd)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private java.sql.Date dt;
+
+    @Schema(description = "鏈�鍚庤姘撮噺涓婃姤鏁版嵁鎺ユ敹鏃堕棿(yyyy-mm-dd hh:mm:ss)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private java.util.Date dtLast;
+
+    @Schema(description = "鏈�鍚庤姘撮噺鐨勬帶鍒跺櫒鍦板潃", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private String rtuAddrLast;
+
+    @Schema(description = "鏈�鍚庤姘撮噺鐨勬帶鍒跺櫒ID锛堝閿級", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private String controllerIdLast;
+
+    @Schema(description = "鏈�鍚庤姘撮噺鏃舵帶鍒跺櫒绱姘撮噺", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private Double totalAmountLast;
+
+    @Schema(description = "鏈�鍚庤姘撮噺鏃舵帶鍒跺櫒鏃堕挓锛坹yyy-mm-dd HH:MM:SS锛�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private java.util.Date rtuDtLast;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoLossDay.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoLossDay.java
new file mode 100644
index 0000000..7849c78
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoLossDay.java
@@ -0,0 +1,48 @@
+package com.dy.pipIrrGlobal.voRm;
+
+import com.dy.common.po.BaseEntity;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/7/24  15:50
+ * @LastEditTime :2024/7/24  15:50
+ * @Description
+ */
+@Data
+@Schema(title = "婕忔崯璁板綍瑙嗗浘瀵硅薄")
+public class VoLossDay implements BaseEntity {
+
+    private static final long serialVersionUID = 202407241551001L;
+
+    @Schema(description = "鎺у埗鍣↖D", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private String controllerId;
+
+    @Schema(description = "鍙栨按鍙D", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private String intakeId;
+
+    @Schema(description = "鍙栨按鍙e悕绉�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private String intakeName;
+
+    @Schema(description = "鎺у埗鍣ㄥ湴鍧�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private String rtuAddr;
+
+    @Schema(description = "缁熻鏃ユ湡(yyyy-mm-dd)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private java.sql.Date dt;
+
+    @Schema(description = "鎺у埗鍣ㄦ渶鍚庝笂鎶ユ暟鎹棩鏈熸椂闂�(yyyy-mm-dd hh:mm:ss)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private java.util.Date dtLast;
+
+    @Schema(description = "鎺у埗鍣ㄦ椂閽燂紙yyyy-mm-dd HH:MM:SS锛�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private java.util.Date dtRtu;
+
+    @Schema(description = "鏃ユ紡鎹熸祦閲�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private Double lossAmount;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoOnHour.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoOnHour.java
new file mode 100644
index 0000000..26dece0
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoOnHour.java
@@ -0,0 +1,75 @@
+package com.dy.pipIrrGlobal.voRm;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-23 17:12
+ * @LastEditTime 2024-07-23 17:12
+ * @Description 鏁寸偣鎶ユ暟鎹鍥惧璞�
+ */
+
+@Data
+public class VoOnHour {
+    private static final long serialVersionUID = 202407231713001L;
+
+    /**
+     * 鍙栨按鍙D
+     */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    private Long intakeId;
+
+    /**
+     * 鍙栨按鍙g紪鍙�
+     */
+    private String intakeNum;
+
+    /**
+     * 闃�鎺у櫒鍦板潃
+     */
+    private String rtuAddr;
+
+    /**
+     * 鏁版嵁鎺ユ敹鏃堕棿
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private String receiveTime;
+
+    /**
+     * 鐬椂娴侀噺
+     */
+    private Double instantAmount;
+
+    /**
+     * 绱娴侀噺
+     */
+    private Double totalAmount;
+
+    /**
+     * 鎹熷け娴侀噺锛屼粠褰撴棩0鏃跺埌褰撳墠鐨勬紡鎹熺疮璁℃祦閲�
+     */
+    private Double lossAmount;
+
+    /**
+     * 姘村帇
+     */
+    private Double waterPress;
+
+    /**
+     * 钃勭數姹犵數鍘�
+     */
+    private Double batteryVolt;
+
+    /**
+     * 淇″彿寮哄害
+     */
+    private Integer signalValue;
+
+    /**
+     * 姘翠环
+     */
+    private Double waterPrice;
+}
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 48c3eb0..cf03082 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
@@ -72,7 +72,7 @@
 
 pipIrr:
     global:
-        dev: false   #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse
+        dev: true   #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse
         dsName: ym  #寮�鍙戦樁娈碉紝璁剧疆涓存椂鐨勬暟鎹簱鍚嶇О
     mw:
         webPort: 8070
@@ -136,6 +136,8 @@
     projectNo: 10
     #鎺у埗鍣ㄧ被鍨�
     controllerType: 57
+    #榛樿琛屾斂鍖哄垝缂栫爜锛堝ぉ娲�-澶╂触甯�-姝︽竻鍖�-浜花宸ヤ笟鍥�-澶х鑺傛按锛�
+    divisionCode: 120114403100
 
 
 #閫氳鍗忚
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml
index 924a29c..55279e8 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateHistoryMapper.xml
@@ -397,7 +397,7 @@
             and rash.valve_state = #{valveState,jdbcType=TINYINT}
         </if>
         <if test="intakeName != null">
-             and pint.name = #{intakeName,jdbcType=VARCHAR}
+            and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
         </if>
         <if test="startDt != null">
              and rash.dt &gt;= #{startDt,jdbcType=TIMESTAMP}
@@ -487,7 +487,7 @@
                 and rash.dt &lt;= #{endDt,jdbcType=TIMESTAMP}
             </if>
         </where>
-        ORDER BY rash.dt DESC
+        ORDER BY rash.id DESC
         <if test="pageCurr != null and pageSize != null">
             LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}
         </if>
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateLastMapper.xml
index 6fb51ff..98990c4 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateLastMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmAlarmStateLastMapper.xml
@@ -379,7 +379,7 @@
         and rasl.valve_state = #{valveState,jdbcType=TINYINT}
       </if>
       <if test="intakeName != null">
-        and pint.name = #{intakeName,jdbcType=VARCHAR}
+        and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
       </if>
       <if test="startDt != null">
         and rasl.dt &gt;= #{startDt,jdbcType=TIMESTAMP}
@@ -416,7 +416,7 @@
     rasl.alarm_valve as alarmValve,
     rasl.power_type as powerType
     from rm_alarm_state_last rasl
-    Left join pr_intake pint on intake_id = pint.id
+    Left join pr_intake pint on rasl.intake_id = pint.id
     <where>
       <if test="alarmState == 1">
         and (
@@ -469,7 +469,7 @@
         and rasl.dt &lt;= #{endDt,jdbcType=TIMESTAMP}
       </if>
     </where>
-    ORDER BY rasl.dt DESC
+    ORDER BY rasl.id DESC
     <if test="pageCurr != null and pageSize != null">
       LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}
     </if>
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayLastMapper.xml
index 8179361..f674e37 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayLastMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayLastMapper.xml
@@ -195,13 +195,13 @@
     Left join se_client sc on sc.id = rcadl.client_id
     <where>
       <if test="clientName != null">
-        and sc.name = #{clientName,jdbcType=VARCHAR}
+        and sc.name like CONCAT('%',#{clientName,jdbcType=VARCHAR},'%')
       </if>
       <if test="startDt != null">
-        and rash.dt &gt;= #{startDt,jdbcType=TIMESTAMP}
+        and rcadl.dt &gt;= #{startDt,jdbcType=DATE}
       </if>
       <if test="endDt != null">
-        and rash.dt &lt;= #{endDt,jdbcType=TIMESTAMP}
+        and rcadl.dt &lt;= #{endDt,jdbcType=DATE}
       </if>
     </where>
     </select>
@@ -223,16 +223,16 @@
     Left join se_client sc on sc.id = rcadl.client_id
     <where>
       <if test="clientName != null">
-        and sc.name = #{clientName,jdbcType=VARCHAR}
+        and sc.name like CONCAT('%',#{clientName,jdbcType=VARCHAR},'%')
       </if>
       <if test="startDt != null">
-        and rash.dt &gt;= #{startDt,jdbcType=TIMESTAMP}
+        and rcadl.dt &gt;= #{startDt,jdbcType=DATE}
       </if>
       <if test="endDt != null">
-        and rash.dt &lt;= #{endDt,jdbcType=TIMESTAMP}
+        and rcadl.dt &lt;= #{endDt,jdbcType=DATE}
       </if>
     </where>
-    ORDER BY rcadl.dt DESC
+    ORDER BY rcadl.id DESC
     <if test="pageCurr != null and pageSize != null">
       LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}
     </if>
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayMapper.xml
index 0be82af..e2cbdd6 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayMapper.xml
@@ -185,13 +185,13 @@
            Left join se_client sc on sc.id = rcad.client_id
     <where>
       <if test="clientName != null">
-        and sc.name = #{clientName,jdbcType=VARCHAR}
+        and sc.name like CONCAT('%',#{clientName,jdbcType=VARCHAR},'%')
       </if>
       <if test="startDt != null">
-        and rash.dt &gt;= #{startDt,jdbcType=TIMESTAMP}
+        and rcad.dt &gt;= #{startDt,jdbcType=DATE}
       </if>
       <if test="endDt != null">
-        and rash.dt &lt;= #{endDt,jdbcType=TIMESTAMP}
+        and rcad.dt &lt;= #{endDt,jdbcType=DATE}
       </if>
     </where>
     </select>
@@ -213,16 +213,16 @@
     Left join se_client sc on sc.id = rcad.client_id
     <where>
       <if test="clientName != null">
-        and sc.name = #{clientName,jdbcType=VARCHAR}
+        and sc.name like CONCAT('%',#{clientName,jdbcType=VARCHAR},'%')
       </if>
       <if test="startDt != null">
-        and rash.dt &gt;= #{startDt,jdbcType=TIMESTAMP}
+        and rcad.dt &gt;= #{startDt,jdbcType=DATE}
       </if>
       <if test="endDt != null">
-        and rash.dt &lt;= #{endDt,jdbcType=TIMESTAMP}
+        and rcad.dt &lt;= #{endDt,jdbcType=DATE}
       </if>
     </where>
-    ORDER BY rcad.dt DESC
+    ORDER BY rcad.id DESC
     <if test="pageCurr != null and pageSize != null">
       LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}
     </if>
@@ -230,7 +230,7 @@
 
 
   <select id="statisticsByClient" resultType="com.dy.pipIrrGlobal.voSt.VoClientAmountStatistics">
-    select client_id, sum(amount) as amount, sum(money) as amount
+    select client_id, sum(amount) as amount, sum(money) as money
     from rm_client_amount_day
     where id <![CDATA[>=]]> #{startId,jdbcType=BIGINT} and id <![CDATA[<]]> #{endId,jdbcType=BIGINT}
     group by client_id
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayLastMapper.xml
index 25a5872..ea0db3b 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayLastMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayLastMapper.xml
@@ -167,4 +167,51 @@
       rtu_dt_last = #{rtuDtLast,jdbcType=TIMESTAMP}
     where id = #{id,jdbcType=BIGINT}
   </update>
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍鎬绘暟-->
+  <select id="getRecordCount" resultType="java.lang.Long">
+    select count(*)
+    from rm_intake_amount_day_last riadl
+    Left join pr_intake pint on pint.id = riadl.intake_id
+    <where>
+      <if test="intakeName != null">
+        and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
+      </if>
+      <if test="startDt != null">
+        and riadl.dt &gt;= #{startDt,jdbcType=DATE}
+      </if>
+      <if test="endDt != null">
+        and riadl.dt &lt;= #{endDt,jdbcType=DATE}
+      </if>
+    </where>
+    </select>
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍-->
+  <select id="getIntakeAmountDayLast" resultType="com.dy.pipIrrGlobal.voRm.VoIntakeAmountDay">
+    select
+    CAST(riadl.intake_id AS char)AS intakeId,
+    pint.name as intakeName,
+    riadl.dt as dt,
+    riadl.amount as amount,
+    riadl.dt_last as dtLast,
+    riadl.rtu_addr_last as rtuAddrLast,
+    CAST(riadl.controller_id_last AS char)AS controllerIdLast,
+    riadl.total_amount_last as totalAmountLast,
+    riadl.rtu_dt_last as rtuDtLast
+    from rm_intake_amount_day_last riadl
+    Left join pr_intake pint on pint.id = riadl.intake_id
+    <where>
+      <if test="intakeName != null">
+        and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
+      </if>
+      <if test="startDt != null">
+        and riadl.dt &gt;= #{startDt,jdbcType=DATE}
+      </if>
+      <if test="endDt != null">
+        and riadl.dt &lt;= #{endDt,jdbcType=DATE}
+      </if>
+    </where>
+    ORDER BY riadl.id DESC
+    <if test="pageCurr != null and pageSize != null">
+      LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}
+    </if>
+  </select>
 </mapper>
\ No newline at end of file
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 69b434b..ac46b99 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml
@@ -155,13 +155,59 @@
       rtu_dt_last = #{rtuDtLast,jdbcType=TIMESTAMP}
     where id = #{id,jdbcType=BIGINT}
   </update>
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍鎬绘暟-->
+  <select id="getRecordCount" resultType="java.lang.Long">
+    select count(*)
+    from rm_intake_amount_day riad
+    Left join pr_intake pint on pint.id = riad.intake_id
+    <where>
+      <if test="intakeName != null">
+        and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
+      </if>
+      <if test="startDt != null">
+        and riad.dt &gt;= #{startDt,jdbcType=DATE}
+      </if>
+      <if test="endDt != null">
+        and riad.dt &lt;= #{endDt,jdbcType=DATE}
+      </if>
+    </where>
+    </select>
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍-->
+  <select id="getIntakeAmountDayHistory" resultType="com.dy.pipIrrGlobal.voRm.VoIntakeAmountDay">
+    select
+    CAST(riad.intake_id AS char)AS intakeId,
+    pint.name as intakeName,
+    riad.dt as dt,
+    riad.amount as amount,
+    riad.dt_last as dtLast,
+    riad.rtu_addr_last as rtuAddrLast,
+    CAST(riad.controller_id_last AS char)AS controllerIdLast,
+    riad.total_amount_last as totalAmountLast,
+    riad.rtu_dt_last as rtuDtLast
+    from rm_intake_amount_day riad
+    Left join pr_intake pint on pint.id = riad.intake_id
+    <where>
+      <if test="intakeName != null">
+        and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
+      </if>
+      <if test="startDt != null">
+        and riad.dt &gt;= #{startDt,jdbcType=DATE}
+      </if>
+      <if test="endDt != null">
+        and riad.dt &lt;= #{endDt,jdbcType=DATE}
+      </if>
+    </where>
+    ORDER BY riad.id DESC
+    <if test="pageCurr != null and pageSize != null">
+      LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}
+    </if>
+  </select>
 
 
   <select id="statisticsByIntake" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAmountStatistics">
-    select intake_id, sum(amount) as amount
+    select intake_id, sum(amount) amount
     from rm_intake_amount_day
-    where id <![CDATA[>=]]> #{startId,jdbcType=BIGINT} and id <![CDATA[<]]> #{endId,jdbcType=BIGINT}
+    where id <![CDATA[>=]]> #{startId, jdbcType=BIGINT} and id <![CDATA[<]]> #{endId, jdbcType=BIGINT}
     group by intake_id
   </select>
-
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayLastMapper.xml
index 94c0e2c..cf6a6ca 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayLastMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayLastMapper.xml
@@ -20,7 +20,7 @@
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
     <!--@mbg.generated-->
-    select 
+    select
     <include refid="Base_Column_List" />
     from rm_loss_day_last
     where id = #{id,jdbcType=BIGINT}
@@ -46,12 +46,12 @@
   </delete>
   <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDayLast">
     <!--@mbg.generated-->
-    insert into rm_loss_day_last (id, last_history_id, controller_id, 
-      intake_id, rtu_addr, dt, dt_last, dt_rtu,
-      loss_amount)
-    values (#{id,jdbcType=BIGINT}, #{lastHistoryId,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, 
-      #{intakeId,jdbcType=BIGINT}, #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=DATE}, #{dtLast,jdbcType=TIMESTAMP}, #{dtRtu,jdbcType=TIMESTAMP},
-      #{lossAmount,jdbcType=DOUBLE})
+    insert into rm_loss_day_last (id, last_history_id, controller_id,
+    intake_id, rtu_addr, dt, dt_last, dt_rtu,
+    loss_amount)
+    values (#{id,jdbcType=BIGINT}, #{lastHistoryId,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT},
+    #{intakeId,jdbcType=BIGINT}, #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=DATE}, #{dtLast,jdbcType=TIMESTAMP}, #{dtRtu,jdbcType=TIMESTAMP},
+    #{lossAmount,jdbcType=DOUBLE})
   </insert>
   <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDayLast">
     <!--@mbg.generated-->
@@ -134,11 +134,11 @@
       <if test="dt != null">
         dt = #{dt,jdbcType=DATE},
       </if>
-     <if test="dtLast != null">
-       dt_last = #{dtLast,jdbcType=TIMESTAMP},
+      <if test="dtLast != null">
+        dt_last = #{dtLast,jdbcType=TIMESTAMP},
       </if>
-     <if test="dtRtu != null">
-       dt_rtu = #{dtRtu,jdbcType=TIMESTAMP},
+      <if test="dtRtu != null">
+        dt_rtu = #{dtRtu,jdbcType=TIMESTAMP},
       </if>
       <if test="lossAmount != null">
         loss_amount = #{lossAmount,jdbcType=DOUBLE},
@@ -150,13 +150,60 @@
     <!--@mbg.generated-->
     update rm_loss_day_last
     set last_history_id = #{lastHistoryId,jdbcType=BIGINT},
-      controller_id = #{controllerId,jdbcType=BIGINT},
-      intake_id = #{intakeId,jdbcType=BIGINT},
-      rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
-      dt = #{dt,jdbcType=DATE},
-      dt_last = #{dtLast,jdbcType=TIMESTAMP},
-      dt_rtu = #{dtRtu,jdbcType=TIMESTAMP},
-      loss_amount = #{lossAmount,jdbcType=DOUBLE}
+    controller_id = #{controllerId,jdbcType=BIGINT},
+    intake_id = #{intakeId,jdbcType=BIGINT},
+    rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
+    dt = #{dt,jdbcType=DATE},
+    dt_last = #{dtLast,jdbcType=TIMESTAMP},
+    dt_rtu = #{dtRtu,jdbcType=TIMESTAMP},
+    loss_amount = #{lossAmount,jdbcType=DOUBLE}
     where id = #{id,jdbcType=BIGINT}
   </update>
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍鎬绘暟-->
+  <select id="getRecordCount" resultType="java.lang.Long">
+    select count(*)
+    from rm_loss_day_last rldl
+    Left join pr_intake pint on pint.id = rldl.intake_id
+    <where>
+      <if test="intakeName != null">
+        and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
+      </if>
+      <if test="startDt != null">
+        and rldl.dt &gt;= #{startDt,jdbcType=DATE}
+      </if>
+      <if test="endDt != null">
+        and rldl.dt &lt;= #{endDt,jdbcType=DATE}
+      </if>
+    </where>
+  </select>
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍-->
+  <select id="getLossDayLast" resultType="com.dy.pipIrrGlobal.voRm.VoLossDay">
+    select
+    CAST(rldl.intake_id AS char)AS intakeId,
+    CAST(rldl.controller_id AS char)AS controllerId,
+    pint.name as intakeName,
+    rldl.rtu_addr as rtuAddr,
+    rldl.dt as dt,
+    rldl.dt_last as dtLast,
+    rldl.dt_rtu as dtRtu,
+    rldl.loss_amount as lossAmount
+    from rm_loss_day_last rldl
+    Left join pr_intake pint on pint.id = rldl.intake_id
+    <where>
+      <if test="intakeName != null">
+        and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
+      </if>
+      <if test="startDt != null">
+        and rldl.dt &gt;= #{startDt,jdbcType=DATE}
+      </if>
+      <if test="endDt != null">
+        and rldl.dt &lt;= #{endDt,jdbcType=DATE}
+      </if>
+    </where>
+    ORDER BY rldl.id DESC
+    <if test="pageCurr != null and pageSize != null">
+      LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}
+    </if>
+  </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 384e86a..cbd6149 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayMapper.xml
@@ -19,11 +19,19 @@
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
     <!--@mbg.generated-->
-    select 
+    select
     <include refid="Base_Column_List" />
     from rm_loss_day
     where id = #{id,jdbcType=BIGINT}
   </select>
+  <select id="selectByIntakeId" parameterType="java.lang.Long" resultMap="BaseResultMap">
+    <!--@mbg.generated-->
+    select
+    <include refid="Base_Column_List" />
+    from rm_loss_day
+    where intake_id = #{intakeId,jdbcType=BIGINT}
+  </select>
+
   <select id="selectByDate" parameterType="java.util.Date" resultMap="BaseResultMap">
     <!--@mbg.generated-->
     select
@@ -39,11 +47,11 @@
   <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDay">
     <!--@mbg.generated-->
     insert into rm_loss_day (id, controller_id, intake_id,
-      rtu_addr, dt, dt_last, dt_rtu, loss_amount
-      )
-    values (#{id,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, 
-      #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=DATE}, #{dtLast,jdbcType=TIMESTAMP}, #{dtRtu,jdbcType=TIMESTAMP}, #{lossAmount,jdbcType=DOUBLE}
-      )
+    rtu_addr, dt, dt_last, dt_rtu, loss_amount
+    )
+    values (#{id,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT},
+    #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=DATE}, #{dtLast,jdbcType=TIMESTAMP}, #{dtRtu,jdbcType=TIMESTAMP}, #{lossAmount,jdbcType=DOUBLE}
+    )
   </insert>
   <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDay">
     <!--@mbg.generated-->
@@ -67,7 +75,7 @@
       <if test="dtLast != null">
         dt_last,
       </if>
-     <if test="dtRtu != null">
+      <if test="dtRtu != null">
         dt_rtu,
       </if>
       <if test="lossAmount != null">
@@ -133,20 +141,65 @@
     <!--@mbg.generated-->
     update rm_loss_day
     set controller_id = #{controllerId,jdbcType=BIGINT},
-      intake_id = #{intakeId,jdbcType=BIGINT},
-      rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
-      dt = #{dt,jdbcType=DATE},
-      dt_last = #{dtLast,jdbcType=TIMESTAMP},
-      dt_rtu = #{dtRtu,jdbcType=TIMESTAMP},
-      loss_amount = #{lossAmount,jdbcType=DOUBLE}
+    intake_id = #{intakeId,jdbcType=BIGINT},
+    rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
+    dt = #{dt,jdbcType=DATE},
+    dt_last = #{dtLast,jdbcType=TIMESTAMP},
+    dt_rtu = #{dtRtu,jdbcType=TIMESTAMP},
+    loss_amount = #{lossAmount,jdbcType=DOUBLE}
     where id = #{id,jdbcType=BIGINT}
   </update>
-
-  <select id="statisticsByIntake" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeLossStatistics">
-    select intake_id, sum(loss_amount) as amount
-    from rm_loss_day
-    where id <![CDATA[>=]]> #{startId,jdbcType=BIGINT} and id <![CDATA[<]]> #{endId,jdbcType=BIGINT}
-    group by intake_id
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍鎬绘暟-->
+  <select id="getRecordCount" resultType="java.lang.Long">
+    select count(*)
+    from rm_loss_day rld
+    Left join pr_intake pint on pint.id = rld.intake_id
+    <where>
+      <if test="intakeName != null">
+        and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
+      </if>
+      <if test="startDt != null">
+        and rld.dt &gt;= #{startDt,jdbcType=DATE}
+      </if>
+      <if test="endDt != null">
+        and rld.dt &lt;= #{endDt,jdbcType=DATE}
+      </if>
+    </where>
+  </select>
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍-->
+  <select id="getLossDayHistory" resultType="com.dy.pipIrrGlobal.voRm.VoLossDay">
+    select
+    CAST(rld.intake_id AS char)AS intakeId,
+    CAST(rld.controller_id AS char)AS controllerId,
+    pint.name as intakeName,
+    rld.rtu_addr as rtuAddr,
+    rld.dt as dt,
+    rld.dt_last as dtLast,
+    rld.dt_rtu as dtRtu,
+    rld.loss_amount as lossAmount
+    from rm_loss_day rld
+    Left join pr_intake pint on pint.id = rld.intake_id
+    <where>
+      <if test="intakeName != null">
+        and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
+      </if>
+      <if test="startDt != null">
+        and rld.dt &gt;= #{startDt,jdbcType=DATE}
+      </if>
+      <if test="endDt != null">
+        and rld.dt &lt;= #{endDt,jdbcType=DATE}
+      </if>
+    </where>
+    ORDER BY rld.id DESC
+    <if test="pageCurr != null and pageSize != null">
+      LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}
+    </if>
   </select>
 
+  <select id="statisticsByIntake" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeLossStatistics">
+    select intake_id, sum(loss_amount) amount
+    from rm_loss_day
+    where id <![CDATA[>=]]> #{startId, jdbcType=BIGINT} and id <![CDATA[<]]> #{endId, jdbcType=BIGINT}
+    group by intake_id
+  </select>
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml
index a06bd6d..dab83eb 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml
@@ -194,4 +194,58 @@
       water_price = #{waterPrice,jdbcType=FLOAT}
     where id = #{id,jdbcType=BIGINT}
   </update>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鏁寸偣鎶ュ巻鍙茶褰曟暟閲�-->
+  <select id="getOnHourReportsCount_history" resultType="java.lang.Long">
+    SELECT
+        COUNT(*) AS recordCount
+    FROM rm_on_hour_report_history oh
+    INNER JOIN pr_intake inta ON inta.id = oh.intake_id
+    <where>
+      <if test = "intakeName != null and intakeName !=''">
+        AND inta.name LIKE CONCAT('%',#{intakeName},'%')
+      </if>
+      <if test = "rtuAddr != null and rtuAddr !=''">
+        AND oh.rtu_addr LIKE CONCAT('%',#{rtuAddr},'%')
+      </if>
+      <if test = "timeStart != null and timeStop != null">
+        AND oh.dt BETWEEN #{timeStart} AND #{timeStop}
+      </if>
+    </where>
+  </select>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鏁寸偣鎶ュ巻鍙茶褰�-->
+  <select id="getOnHourReports_history" resultType="com.dy.pipIrrGlobal.voRm.VoOnHour">
+    SELECT
+      oh.intake_id AS intakeId,
+      inta.`name` AS intakeNum,
+      oh.rtu_addr AS rtuAddr,
+      oh.dt AS receiveTime,
+      oh.instant_amount AS instantAmount,
+      oh.total_amount AS totalAmount,
+      oh.loss_amount AS lossAmount,
+      oh.water_press AS waterPress,
+      oh.battery_volt AS batteryVolt,
+      oh.signal_value AS signalValue,
+      oh.water_price AS waterPrice
+    FROM rm_on_hour_report_history oh
+        INNER JOIN pr_intake inta ON inta.id = oh.intake_id
+    <where>
+      <if test = "intakeNum != null and intakeNum !=''">
+        AND inta.name LIKE CONCAT('%',#{intakeNum},'%')
+      </if>
+      <if test = "rtuAddr != null and rtuAddr !=''">
+        AND oh.rtu_addr LIKE CONCAT('%',#{rtuAddr},'%')
+      </if>
+      <if test = "timeStart != null and timeStop != null">
+        AND oh.dt BETWEEN #{timeStart} AND #{timeStop}
+      </if>
+    </where>
+    ORDER BY oh.dt DESC
+    <trim prefix="limit " >
+      <if test="start != null and count != null">
+        #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
+      </if>
+    </trim>
+  </select>
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeManagerCardMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeManagerCardMapper.xml
new file mode 100644
index 0000000..dc41740
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeManagerCardMapper.xml
@@ -0,0 +1,124 @@
+<?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.daoSe.SeManagerCardMapper">
+  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSe.SeManagerCard">
+    <!--@mbg.generated-->
+    <!--@Table se_manager_card-->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="card_addr" jdbcType="VARCHAR" property="cardAddr" />
+    <result column="card_num" jdbcType="VARCHAR" property="cardNum" />
+    <result column="card_type" jdbcType="TINYINT" property="cardType" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+    <result column="remarks" jdbcType="VARCHAR" property="remarks" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, card_addr, card_num, card_type, create_time, remarks
+  </sql>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+    <!--@mbg.generated-->
+    select 
+    <include refid="Base_Column_List" />
+    from se_manager_card
+    where id = #{id,jdbcType=BIGINT}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+    <!--@mbg.generated-->
+    delete from se_manager_card
+    where id = #{id,jdbcType=BIGINT}
+  </delete>
+  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeManagerCard">
+    <!--@mbg.generated-->
+    insert into se_manager_card (id, card_addr, card_num, 
+      card_type, create_time, remarks
+      )
+    values (#{id,jdbcType=BIGINT}, #{cardAddr,jdbcType=VARCHAR}, #{cardNum,jdbcType=VARCHAR}, 
+      #{cardType,jdbcType=TINYINT}, #{createTime,jdbcType=TIMESTAMP}, #{remarks,jdbcType=VARCHAR}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeManagerCard">
+    <!--@mbg.generated-->
+    insert into se_manager_card
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="cardAddr != null">
+        card_addr,
+      </if>
+      <if test="cardNum != null">
+        card_num,
+      </if>
+      <if test="cardType != null">
+        card_type,
+      </if>
+      <if test="createTime != null">
+        create_time,
+      </if>
+      <if test="remarks != null">
+        remarks,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=BIGINT},
+      </if>
+      <if test="cardAddr != null">
+        #{cardAddr,jdbcType=VARCHAR},
+      </if>
+      <if test="cardNum != null">
+        #{cardNum,jdbcType=VARCHAR},
+      </if>
+      <if test="cardType != null">
+        #{cardType,jdbcType=TINYINT},
+      </if>
+      <if test="createTime != null">
+        #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="remarks != null">
+        #{remarks,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeManagerCard">
+    <!--@mbg.generated-->
+    update se_manager_card
+    <set>
+      <if test="cardAddr != null">
+        card_addr = #{cardAddr,jdbcType=VARCHAR},
+      </if>
+      <if test="cardNum != null">
+        card_num = #{cardNum,jdbcType=VARCHAR},
+      </if>
+      <if test="cardType != null">
+        card_type = #{cardType,jdbcType=TINYINT},
+      </if>
+      <if test="createTime != null">
+        create_time = #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="remarks != null">
+        remarks = #{remarks,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSe.SeManagerCard">
+    <!--@mbg.generated-->
+    update se_manager_card
+    set card_addr = #{cardAddr,jdbcType=VARCHAR},
+      card_num = #{cardNum,jdbcType=VARCHAR},
+      card_type = #{cardType,jdbcType=TINYINT},
+      create_time = #{createTime,jdbcType=TIMESTAMP},
+      remarks = #{remarks,jdbcType=VARCHAR}
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+
+  <!--鏍规嵁琛屾斂鍖哄垝涓叉ā绯婃煡璇㈢鐞嗗崱缂栧彿-->
+  <select id="getManagerCardNumOfMax"  resultType="java.lang.String">
+    SELECT card_num
+    FROM se_manager_card
+    WHERE card_num LIKE CONCAT(#{areaCode},'%')
+    ORDER BY card_num desc
+    LIMIT 0,1
+  </select>
+</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/ClientAmountDayQueryVo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/ClientAmountDayQueryVo.java
deleted file mode 100644
index 15abb5a..0000000
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/ClientAmountDayQueryVo.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.dy.pipIrrRemote.records;
-
-import com.dy.common.webUtil.QueryConditionVo;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.util.Date;
-
-/**
- * @author :WuZeYu
- * @Date :2024/7/23  15:55
- * @LastEditTime :2024/7/23  15:55
- * @Description
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@ToString(callSuper = true)
-@NoArgsConstructor
-@AllArgsConstructor
-@Builder
-@Schema(name = "鍐滄埛鏃ョ敤姘撮噺缁熻鏌ヨ鏉′欢")
-public class ClientAmountDayQueryVo extends QueryConditionVo {
-
-    @Schema(description = "鍐滄埛濮撳悕", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    private String clientName;
-
-    @Schema(description = "缁熻寮�濮嬫棩鏈�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private Date startDt;
-
-    @Schema(description = "缁熻缁撴潫鏃ユ湡", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private Date endDt;
-}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/ControllerAlarmStateQueryVo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/ControllerAlarmStateQueryVo.java
deleted file mode 100644
index 199b9b0..0000000
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/ControllerAlarmStateQueryVo.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.dy.pipIrrRemote.records;
-
-import com.dy.common.webUtil.QueryConditionVo;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.util.Date;
-
-/**
- * @author :WuZeYu
- * @Date :2024/7/22  20:01
- * @LastEditTime :2024/7/22  20:01
- * @Description
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@ToString(callSuper = true)
-@NoArgsConstructor
-@AllArgsConstructor
-@Builder
-@Schema(name = "鎺у埗鍣ㄦ姤璀︿笌鐘舵�佹煡璇㈡潯浠�")
-public class ControllerAlarmStateQueryVo extends QueryConditionVo {
-
-    @Schema(description = "鍙栨按鍙e悕绉�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    private String intakeName;
-
-    @Schema(description = "闃�闂ㄧ姸鎬�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)//锛�0鎵撳紑銆�1鍏抽棴锛�
-    private Byte valveState;
-
-    @Schema(description = "寮�濮嬫椂闂�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private Date startDt;
-
-    @Schema(description = "缁撴潫鏃堕棿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private Date endDt;
-
-    @Schema(description = "鎶ヨ鐘舵��", requiredMode = Schema.RequiredMode.NOT_REQUIRED)//锛�0姝e父銆�1鎶ヨ锛�
-    private Byte alarmState;
-}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/RecordsCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/RecordsCtrl.java
index c012a5e..25f859e 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/RecordsCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/RecordsCtrl.java
@@ -7,7 +7,11 @@
 import com.dy.common.webUtil.ResultCodeMsg;
 import com.dy.pipIrrGlobal.voRm.VoClientAmountDay;
 import com.dy.pipIrrGlobal.voRm.VoControllerAlarmState;
+import com.dy.pipIrrGlobal.voRm.VoIntakeAmountDay;
 import com.dy.pipIrrGlobal.voSe.VoActiveCard;
+import com.dy.pipIrrRemote.records.clientAmountDay.ClientAmountDayQueryVo;
+import com.dy.pipIrrRemote.records.controllerAlarmState.ControllerAlarmStateQueryVo;
+import com.dy.pipIrrRemote.records.intakeAmountDay.IntakeAmountDayQueryVo;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.media.Content;
 import io.swagger.v3.oas.annotations.media.Schema;
@@ -106,7 +110,7 @@
     @ApiResponses(value = {
             @ApiResponse(
                     responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
-                    description = "杩斿洖涓�椤垫帶鍒跺櫒鎶ヨ涓庣姸鎬佹暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�",
+                    description = "杩斿洖涓�椤靛啘鎴锋棩鐢ㄦ按閲忕粺璁℃暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�",
                     content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
                             schema = @Schema(implementation = VoActiveCard.class))}
             )
@@ -134,7 +138,7 @@
     @ApiResponses(value = {
             @ApiResponse(
                     responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
-                    description = "杩斿洖涓�椤垫帶鍒跺櫒鎶ヨ涓庣姸鎬佹暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�",
+                    description = "杩斿洖涓�椤靛啘鎴锋棩鐢ㄦ按閲忕粺璁℃暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�",
                     content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
                             schema = @Schema(implementation = VoActiveCard.class))}
             )
@@ -150,4 +154,59 @@
             return BaseResponseUtils.buildException(e.getMessage());
         }
     }
+
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍙栨按鍙f棩鍙栨按閲忔紡鎹熷垪琛紙鍘嗗彶锛�
+     *
+     * @param vo 鏌ヨ鏉′欢
+     * @return 绗﹀悎鏉′欢鐨勫彇姘村彛鏃ュ彇姘撮噺婕忔崯鍒楄〃锛堝巻鍙诧級
+     */
+    @Operation(summary = "鑾峰緱涓�椤靛彇姘村彛鏃ュ彇姘撮噺婕忔崯璁板綍", description = "杩斿洖涓�椤靛彇姘村彛鏃ュ彇姘撮噺婕忔崯鏁版嵁")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "杩斿洖涓�椤靛彇姘村彛鏃ュ彇姘撮噺婕忔崯鏁版嵁锛圔aseResponse.content:QueryResultVo[{}]锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = VoActiveCard.class))}
+            )
+    })
+    @GetMapping(path = "/getIntakeAmountDayHistory")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoIntakeAmountDay>>> getIntakeAmountDayHistory(@RequestBody IntakeAmountDayQueryVo vo) {
+        try {
+            QueryResultVo<List<VoIntakeAmountDay>> res = recordsSv.getIntakeAmountDayHistory(vo);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鑾峰彇鍐滄埛鏃ョ敤姘撮噺缁熻璁板綍寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍙栨按鍙f棩鍙栨按閲忔紡鎹熷垪琛紙鏈�鏂帮級
+     *
+     * @param vo 鏌ヨ鏉′欢
+     * @return 绗﹀悎鏉′欢鐨勫彇姘村彛鏃ュ彇姘撮噺婕忔崯鍒楄〃锛堟渶鏂帮級
+     */
+    @Operation(summary = "鑾峰緱涓�椤靛彇姘村彛鏃ュ彇姘撮噺婕忔崯璁板綍", description = "杩斿洖涓�椤靛彇姘村彛鏃ュ彇姘撮噺婕忔崯鏁版嵁")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "杩斿洖涓�椤靛彇姘村彛鏃ュ彇姘撮噺婕忔崯鏁版嵁锛圔aseResponse.content:QueryResultVo[{}]锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = VoActiveCard.class))}
+            )
+    })
+    @GetMapping(path = "/getIntakeAmountDayLast")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoIntakeAmountDay>>> getIntakeAmountDayLast(@RequestBody IntakeAmountDayQueryVo vo) {
+        try {
+            QueryResultVo<List<VoIntakeAmountDay>> res = recordsSv.getIntakeAmountDayLast(vo);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鑾峰彇鍐滄埛鏃ョ敤姘撮噺缁熻璁板綍寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/RecordsSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/RecordsSv.java
index b5c94a7..0ef668a 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/RecordsSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/RecordsSv.java
@@ -1,12 +1,13 @@
 package com.dy.pipIrrRemote.records;
 
 import com.dy.common.webUtil.QueryResultVo;
-import com.dy.pipIrrGlobal.daoRm.RmAlarmStateHistoryMapper;
-import com.dy.pipIrrGlobal.daoRm.RmAlarmStateLastMapper;
-import com.dy.pipIrrGlobal.daoRm.RmClientAmountDayLastMapper;
-import com.dy.pipIrrGlobal.daoRm.RmClientAmountDayMapper;
+import com.dy.pipIrrGlobal.daoRm.*;
 import com.dy.pipIrrGlobal.voRm.VoClientAmountDay;
 import com.dy.pipIrrGlobal.voRm.VoControllerAlarmState;
+import com.dy.pipIrrGlobal.voRm.VoIntakeAmountDay;
+import com.dy.pipIrrRemote.records.clientAmountDay.ClientAmountDayQueryVo;
+import com.dy.pipIrrRemote.records.controllerAlarmState.ControllerAlarmStateQueryVo;
+import com.dy.pipIrrRemote.records.intakeAmountDay.IntakeAmountDayQueryVo;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.common.utils.PojoUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -30,9 +31,14 @@
     private RmAlarmStateLastMapper rmAlarmStateLastMapper;
 
     @Autowired
-    private RmClientAmountDayLastMapper rmClientAmountDayLastMapper;
-    @Autowired
     private RmClientAmountDayMapper rmClientAmountDayMapper;
+    @Autowired
+    private RmClientAmountDayLastMapper rmClientAmountDayLastMapper;
+
+    @Autowired
+    private RmIntakeAmountDayMapper rmIntakeAmountDayMapper;
+    @Autowired
+    private RmIntakeAmountDayLastMapper rmIntakeAmountDayLastMapper;
 
 
     /**
@@ -118,4 +124,44 @@
         rsVo.obj = rmClientAmountDayLastMapper.getClientAmountDayLast(params);
         return rsVo;
     }
+
+    /**
+     * 鑾峰緱涓�椤靛彇姘村彛鏃ュ彇姘撮噺婕忔崯璁板綍(鍘嗗彶)
+     * @param vo
+     * @return
+     */
+    public QueryResultVo<List<VoIntakeAmountDay>> getIntakeAmountDayHistory(IntakeAmountDayQueryVo vo) {
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo);
+
+        Long itemTotal = rmIntakeAmountDayMapper.getRecordCount(params);
+
+        QueryResultVo<List<VoIntakeAmountDay>> rsVo = new QueryResultVo<>();
+        rsVo.pageSize = vo.pageSize;
+        rsVo.pageCurr = vo.pageCurr;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmIntakeAmountDayMapper.getIntakeAmountDayHistory(params);
+        return rsVo;
+    }
+
+    /**
+     * 鑾峰緱涓�椤靛彇姘村彛鏃ュ彇姘撮噺婕忔崯璁板綍(鏈�鏂�)
+     * @param vo
+     * @return
+     */
+    public QueryResultVo<List<VoIntakeAmountDay>> getIntakeAmountDayLast(IntakeAmountDayQueryVo vo) {
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo);
+
+        Long itemTotal = rmIntakeAmountDayLastMapper.getRecordCount(params);
+
+        QueryResultVo<List<VoIntakeAmountDay>> rsVo = new QueryResultVo<>();
+        rsVo.pageSize = vo.pageSize;
+        rsVo.pageCurr = vo.pageCurr;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmIntakeAmountDayLastMapper.getIntakeAmountDayLast(params);
+        return rsVo;
+    }
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/clientAmountDay/ClientAmountDayCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/clientAmountDay/ClientAmountDayCtrl.java
new file mode 100644
index 0000000..78f3af1
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/clientAmountDay/ClientAmountDayCtrl.java
@@ -0,0 +1,96 @@
+package com.dy.pipIrrRemote.records.clientAmountDay;
+
+import com.dy.common.aop.SsoAop;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.common.webUtil.ResultCodeMsg;
+import com.dy.pipIrrGlobal.voRm.VoClientAmountDay;
+import com.dy.pipIrrGlobal.voSe.VoActiveCard;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.media.Content;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.responses.ApiResponse;
+import io.swagger.v3.oas.annotations.responses.ApiResponses;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/7/24  14:30
+ * @LastEditTime :2024/7/24  14:30
+ * @Description
+ */
+@Slf4j
+@Tag(name = "鍐滄埛鏃ョ敤姘撮噺缁熻鏌ヨ", description = "鍐滄埛鏃ョ敤姘撮噺缁熻鏌ヨ")
+@RestController
+@RequestMapping(path = "clientAmountDay")
+public class ClientAmountDayCtrl {
+
+    @Autowired
+    private ClientAmountDaySv clientAmountDaySv;
+
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍐滄埛鏃ョ敤姘撮噺缁熻鍒楄〃锛堝巻鍙诧級
+     *
+     * @param vo 鏌ヨ鏉′欢
+     * @return 绗﹀悎鏉′欢鐨勫啘鎴锋棩鐢ㄦ按閲忕粺璁″垪琛紙鍘嗗彶锛�
+     */
+    @Operation(summary = "鑾峰緱涓�椤靛啘鎴锋棩鐢ㄦ按閲忕粺璁¤褰�", description = "杩斿洖涓�椤靛啘鎴锋棩鐢ㄦ按閲忕粺璁℃暟鎹�")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "杩斿洖涓�椤靛啘鎴锋棩鐢ㄦ按閲忕粺璁℃暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = VoActiveCard.class))}
+            )
+    })
+    @GetMapping(path = "/getClientAmountDayHistory")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoClientAmountDay>>> getClientAmountDayHistory(@RequestBody ClientAmountDayQueryVo vo) {
+        try {
+            QueryResultVo<List<VoClientAmountDay>> res = clientAmountDaySv.getClientAmountDayHistory(vo);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鑾峰彇鍐滄埛鏃ョ敤姘撮噺缁熻璁板綍寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍐滄埛鏃ョ敤姘撮噺缁熻鍒楄〃锛堟渶鏂帮級
+     *
+     * @param vo 鏌ヨ鏉′欢
+     * @return 绗﹀悎鏉′欢鐨勫啘鎴锋棩鐢ㄦ按閲忕粺璁″垪琛紙鏈�鏂帮級
+     */
+    @Operation(summary = "鑾峰緱涓�椤靛啘鎴锋棩鐢ㄦ按閲忕粺璁¤褰�", description = "杩斿洖涓�椤靛啘鎴锋棩鐢ㄦ按閲忕粺璁℃暟鎹�")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "杩斿洖涓�椤靛啘鎴锋棩鐢ㄦ按閲忕粺璁℃暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = VoActiveCard.class))}
+            )
+    })
+    @GetMapping(path = "/getClientAmountDayLast")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoClientAmountDay>>> getClientAmountDayLast(@RequestBody ClientAmountDayQueryVo vo) {
+        try {
+            QueryResultVo<List<VoClientAmountDay>> res = clientAmountDaySv.getClientAmountDayLast(vo);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鑾峰彇鍐滄埛鏃ョ敤姘撮噺缁熻璁板綍寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/clientAmountDay/ClientAmountDaySv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/clientAmountDay/ClientAmountDaySv.java
new file mode 100644
index 0000000..133ed16
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/clientAmountDay/ClientAmountDaySv.java
@@ -0,0 +1,72 @@
+package com.dy.pipIrrRemote.records.clientAmountDay;
+
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoRm.RmClientAmountDayLastMapper;
+import com.dy.pipIrrGlobal.daoRm.RmClientAmountDayMapper;
+import com.dy.pipIrrGlobal.voRm.VoClientAmountDay;
+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.util.List;
+import java.util.Map;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/7/24  14:30
+ * @LastEditTime :2024/7/24  14:30
+ * @Description
+ */
+@Slf4j
+@Service
+public class ClientAmountDaySv {
+
+    @Autowired
+    private RmClientAmountDayMapper rmClientAmountDayMapper;
+    @Autowired
+    private RmClientAmountDayLastMapper rmClientAmountDayLastMapper;
+
+
+    /**
+     * 鑾峰緱涓�椤靛啘鎴锋棩鐢ㄦ按閲忕粺璁¤褰�(鍘嗗彶)
+     * @param vo
+     * @return
+     */
+    public QueryResultVo<List<VoClientAmountDay>> getClientAmountDayHistory(ClientAmountDayQueryVo vo) {
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo);
+
+        Long itemTotal = rmClientAmountDayMapper.getRecordCount(params);
+
+        QueryResultVo<List<VoClientAmountDay>> rsVo = new QueryResultVo<>();
+        rsVo.pageSize = vo.pageSize;
+        rsVo.pageCurr = vo.pageCurr;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmClientAmountDayMapper.getClientAmountDayHistory(params);
+        return rsVo;
+    }
+
+
+
+    /**
+     * 鑾峰緱涓�椤靛啘鎴锋棩鐢ㄦ按閲忕粺璁¤褰�(鏈�鏂�)
+     * @param vo
+     * @return
+     */
+    public QueryResultVo<List<VoClientAmountDay>> getClientAmountDayLast(ClientAmountDayQueryVo vo) {
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo);
+
+        Long itemTotal = rmClientAmountDayLastMapper.getRecordCount(params);
+
+        QueryResultVo<List<VoClientAmountDay>> rsVo = new QueryResultVo<>();
+        rsVo.pageSize = vo.pageSize;
+        rsVo.pageCurr = vo.pageCurr;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmClientAmountDayLastMapper.getClientAmountDayLast(params);
+        return rsVo;
+    }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/controllerAlarmState/ControllerAlarmStateCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/controllerAlarmState/ControllerAlarmStateCtrl.java
new file mode 100644
index 0000000..15bd426
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/controllerAlarmState/ControllerAlarmStateCtrl.java
@@ -0,0 +1,97 @@
+package com.dy.pipIrrRemote.records.controllerAlarmState;
+
+import com.dy.common.aop.SsoAop;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.common.webUtil.ResultCodeMsg;
+import com.dy.pipIrrGlobal.voRm.VoControllerAlarmState;
+import com.dy.pipIrrGlobal.voSe.VoActiveCard;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.media.Content;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.responses.ApiResponse;
+import io.swagger.v3.oas.annotations.responses.ApiResponses;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/7/24  14:22
+ * @LastEditTime :2024/7/24  14:22
+ * @Description
+ */
+@Slf4j
+@Tag(name = "鎺у埗鍣ㄦ姤璀︿笌鐘舵�佹煡璇�", description = "鎺у埗鍣ㄦ姤璀︿笌鐘舵�佹煡璇�")
+@RestController
+@RequestMapping(path = "controllerAlarmState")
+public class ControllerAlarmStateCtrl {
+
+    @Autowired
+    private ControllerAlarmStateSv controllerAlarmStateSv;
+
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鎺у埗鍣ㄦ姤璀︿笌鐘舵�佸垪琛紙鍘嗗彶锛�
+     *
+     * @param vo 鏌ヨ鏉′欢
+     * @return 绗﹀悎鏉′欢鐨勬帶鍒跺櫒鎶ヨ涓庣姸鎬佸垪琛紙鍘嗗彶锛�
+     */
+    @Operation(summary = "鑾峰緱涓�椤垫帶鍒跺櫒鎶ヨ涓庣姸鎬佽褰�", description = "杩斿洖涓�椤垫帶鍒跺櫒鎶ヨ涓庣姸鎬佹暟鎹�")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "杩斿洖涓�椤垫帶鍒跺櫒鎶ヨ涓庣姸鎬佹暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = VoActiveCard.class))}
+            )
+    })
+    @GetMapping(path = "/getControllerAlarmStateHistory")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoControllerAlarmState>>> getControllerAlarmStateHistory(@RequestBody ControllerAlarmStateQueryVo vo) {
+        try {
+            QueryResultVo<List<VoControllerAlarmState>> res = controllerAlarmStateSv.getControllerAlarmStateHistory(vo);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鑾峰彇鎺у埗鍣ㄦ姤璀︿笌鐘舵�佽褰曞紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+
+
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鎺у埗鍣ㄦ姤璀︿笌鐘舵�佸垪琛紙鏈�鏂帮級
+     *
+     * @param vo 鏌ヨ鏉′欢
+     * @return 绗﹀悎鏉′欢鐨勬帶鍒跺櫒鎶ヨ涓庣姸鎬佸垪琛紙鏈�鏂帮級
+     */
+    @Operation(summary = "鑾峰緱涓�椤垫帶鍒跺櫒鎶ヨ涓庣姸鎬佽褰�", description = "杩斿洖涓�椤垫帶鍒跺櫒鎶ヨ涓庣姸鎬佹暟鎹�")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "杩斿洖涓�椤垫帶鍒跺櫒鎶ヨ涓庣姸鎬佹暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = VoActiveCard.class))}
+            )
+    })
+    @GetMapping(path = "/getControllerAlarmStateLast")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoControllerAlarmState>>> getControllerAlarmStateLast(@RequestBody ControllerAlarmStateQueryVo vo) {
+        try {
+            QueryResultVo<List<VoControllerAlarmState>> res = controllerAlarmStateSv.getControllerAlarmStateLast(vo);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鑾峰彇鎺у埗鍣ㄨ褰曞紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/controllerAlarmState/ControllerAlarmStateSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/controllerAlarmState/ControllerAlarmStateSv.java
new file mode 100644
index 0000000..0221272
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/controllerAlarmState/ControllerAlarmStateSv.java
@@ -0,0 +1,72 @@
+package com.dy.pipIrrRemote.records.controllerAlarmState;
+
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoRm.RmAlarmStateHistoryMapper;
+import com.dy.pipIrrGlobal.daoRm.RmAlarmStateLastMapper;
+import com.dy.pipIrrGlobal.voRm.VoControllerAlarmState;
+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.util.List;
+import java.util.Map;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/7/24  14:22
+ * @LastEditTime :2024/7/24  14:22
+ * @Description
+ */
+@Slf4j
+@Service
+public class ControllerAlarmStateSv {
+
+    @Autowired
+    private RmAlarmStateHistoryMapper rmAlarmStateHistoryMapper;
+    @Autowired
+    private RmAlarmStateLastMapper rmAlarmStateLastMapper;
+
+
+
+    /**
+     * 鑾峰緱涓�椤垫帶鍒跺櫒鎶ヨ涓庣姸鎬佽褰�(鍘嗗彶)
+     * @param vo
+     * @return
+     */
+    public QueryResultVo<List<VoControllerAlarmState>> getControllerAlarmStateHistory(ControllerAlarmStateQueryVo vo) {
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo);
+
+        Long itemTotal = rmAlarmStateHistoryMapper.getRecordCount(params);
+
+        QueryResultVo<List<VoControllerAlarmState>> rsVo = new QueryResultVo<>();
+        rsVo.pageSize = vo.pageSize;
+        rsVo.pageCurr = vo.pageCurr;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmAlarmStateHistoryMapper.getControllerAlarmStateHistory(params);
+        return rsVo;
+    }
+
+
+    /**
+     * 鑾峰緱涓�椤垫帶鍒跺櫒鎶ヨ涓庣姸鎬佽褰�(鏈�鏂�)
+     * @param vo
+     * @return
+     */
+    public QueryResultVo<List<VoControllerAlarmState>> getControllerAlarmStateLast(ControllerAlarmStateQueryVo vo) {
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo);
+
+        Long itemTotal = rmAlarmStateLastMapper.getRecordCount(params);
+
+        QueryResultVo<List<VoControllerAlarmState>> rsVo = new QueryResultVo<>();
+        rsVo.pageSize = vo.pageSize;
+        rsVo.pageCurr = vo.pageCurr;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmAlarmStateLastMapper.getControllerAlarmStateLast(params);
+        return rsVo;
+    }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/intakeAmountDay/IntakeAmountDayCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/intakeAmountDay/IntakeAmountDayCtrl.java
new file mode 100644
index 0000000..1308c38
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/intakeAmountDay/IntakeAmountDayCtrl.java
@@ -0,0 +1,94 @@
+package com.dy.pipIrrRemote.records.intakeAmountDay;
+
+import com.dy.common.aop.SsoAop;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.common.webUtil.ResultCodeMsg;
+import com.dy.pipIrrGlobal.voRm.VoIntakeAmountDay;
+import com.dy.pipIrrGlobal.voSe.VoActiveCard;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.media.Content;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.responses.ApiResponse;
+import io.swagger.v3.oas.annotations.responses.ApiResponses;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/7/24  14:37
+ * @LastEditTime :2024/7/24  14:37
+ * @Description
+ */
+@Slf4j
+@Tag(name = "鍙栨按鍙f棩鍙栨按閲忔紡鎹熼噺鏌ヨ", description = "鍙栨按鍙f棩鍙栨按閲忔紡鎹熼噺鏌ヨ")
+@RestController
+@RequestMapping(path = "intakeAmountDay")
+public class IntakeAmountDayCtrl {
+
+    @Autowired
+    private IntakeAmountDaySv intakeAmountDaySv;
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍙栨按鍙f棩鍙栨按閲忔紡鎹熼噺鍒楄〃锛堝巻鍙诧級
+     *
+     * @param vo 鏌ヨ鏉′欢
+     * @return 绗﹀悎鏉′欢鐨勫彇姘村彛鏃ュ彇姘撮噺婕忔崯閲忓垪琛紙鍘嗗彶锛�
+     */
+    @Operation(summary = "鑾峰緱涓�椤靛彇姘村彛鏃ュ彇姘撮噺婕忔崯閲忚褰�", description = "杩斿洖涓�椤靛彇姘村彛鏃ュ彇姘撮噺婕忔崯閲忔暟鎹�")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "杩斿洖涓�椤靛彇姘村彛鏃ュ彇姘撮噺婕忔崯鏁版嵁锛圔aseResponse.content:QueryResultVo[{}]锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = VoActiveCard.class))}
+            )
+    })
+    @GetMapping(path = "/getIntakeAmountDayHistory")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoIntakeAmountDay>>> getIntakeAmountDayHistory(@RequestBody IntakeAmountDayQueryVo vo) {
+        try {
+            QueryResultVo<List<VoIntakeAmountDay>> res = intakeAmountDaySv.getIntakeAmountDayHistory(vo);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鑾峰彇鍙栨按鍙f棩鍙栨按閲忔紡鎹熼噺璁板綍寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍙栨按鍙f棩鍙栨按閲忔紡鎹熼噺鍒楄〃锛堟渶鏂帮級
+     *
+     * @param vo 鏌ヨ鏉′欢
+     * @return 绗﹀悎鏉′欢鐨勫彇姘村彛鏃ュ彇姘撮噺婕忔崯閲忓垪琛紙鏈�鏂帮級
+     */
+    @Operation(summary = "鑾峰緱涓�椤靛彇姘村彛鏃ュ彇姘撮噺婕忔崯閲忚褰�", description = "杩斿洖涓�椤靛彇姘村彛鏃ュ彇姘撮噺婕忔崯閲忔暟鎹�")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "杩斿洖涓�椤靛彇姘村彛鏃ュ彇姘撮噺婕忔崯閲忔暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = VoActiveCard.class))}
+            )
+    })
+    @GetMapping(path = "/getIntakeAmountDayLast")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoIntakeAmountDay>>> getIntakeAmountDayLast(@RequestBody IntakeAmountDayQueryVo vo) {
+        try {
+            QueryResultVo<List<VoIntakeAmountDay>> res = intakeAmountDaySv.getIntakeAmountDayLast(vo);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鑾峰彇鍙栨按鍙f棩鍙栨按閲忔紡鎹熼噺璁板綍寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/intakeAmountDay/IntakeAmountDayQueryVo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/intakeAmountDay/IntakeAmountDayQueryVo.java
new file mode 100644
index 0000000..5bb8dd0
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/intakeAmountDay/IntakeAmountDayQueryVo.java
@@ -0,0 +1,32 @@
+package com.dy.pipIrrRemote.records.intakeAmountDay;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+
+import java.sql.Date;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/7/24  10:21
+ * @LastEditTime :2024/7/24  10:21
+ * @Description
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ToString(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Schema(name = "鍙栨按鍙f棩鍙栨按閲忔紡鎹熸煡璇㈡潯浠�")
+public class IntakeAmountDayQueryVo extends QueryConditionVo {
+
+    @Schema(description = "鍙栨按鍙e悕绉�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private String intakeName;
+
+    @Schema(description = "缁熻寮�濮嬫棩鏈�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private Date startDt;
+
+    @Schema(description = "缁熻缁撴潫鏃ユ湡", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private Date endDt;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/intakeAmountDay/IntakeAmountDaySv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/intakeAmountDay/IntakeAmountDaySv.java
new file mode 100644
index 0000000..7b8a90a
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/intakeAmountDay/IntakeAmountDaySv.java
@@ -0,0 +1,71 @@
+package com.dy.pipIrrRemote.records.intakeAmountDay;
+
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoRm.RmIntakeAmountDayLastMapper;
+import com.dy.pipIrrGlobal.daoRm.RmIntakeAmountDayMapper;
+import com.dy.pipIrrGlobal.voRm.VoIntakeAmountDay;
+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.util.List;
+import java.util.Map;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/7/24  14:38
+ * @LastEditTime :2024/7/24  14:38
+ * @Description
+ */
+@Slf4j
+@Service
+public class IntakeAmountDaySv {
+
+    @Autowired
+    private RmIntakeAmountDayMapper rmIntakeAmountDayMapper;
+    @Autowired
+    private RmIntakeAmountDayLastMapper rmIntakeAmountDayLastMapper;
+
+
+    /**
+     * 鑾峰緱涓�椤靛彇姘村彛鏃ュ彇姘撮噺婕忔崯璁板綍(鍘嗗彶)
+     * @param vo
+     * @return
+     */
+    public QueryResultVo<List<VoIntakeAmountDay>> getIntakeAmountDayHistory(IntakeAmountDayQueryVo vo) {
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo);
+
+        Long itemTotal = rmIntakeAmountDayMapper.getRecordCount(params);
+
+        QueryResultVo<List<VoIntakeAmountDay>> rsVo = new QueryResultVo<>();
+        rsVo.pageSize = vo.pageSize;
+        rsVo.pageCurr = vo.pageCurr;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmIntakeAmountDayMapper.getIntakeAmountDayHistory(params);
+        return rsVo;
+    }
+
+
+    /**
+     * 鑾峰緱涓�椤靛彇姘村彛鏃ュ彇姘撮噺婕忔崯璁板綍(鏈�鏂�)
+     * @param vo
+     * @return
+     */
+    public QueryResultVo<List<VoIntakeAmountDay>> getIntakeAmountDayLast(IntakeAmountDayQueryVo vo) {
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo);
+
+        Long itemTotal = rmIntakeAmountDayLastMapper.getRecordCount(params);
+
+        QueryResultVo<List<VoIntakeAmountDay>> rsVo = new QueryResultVo<>();
+        rsVo.pageSize = vo.pageSize;
+        rsVo.pageCurr = vo.pageCurr;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmIntakeAmountDayLastMapper.getIntakeAmountDayLast(params);
+        return rsVo;
+    }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/lossDay/LossDayCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/lossDay/LossDayCtrl.java
new file mode 100644
index 0000000..49ca0aa
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/lossDay/LossDayCtrl.java
@@ -0,0 +1,98 @@
+package com.dy.pipIrrRemote.records.lossDay;
+
+import com.dy.common.aop.SsoAop;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.common.webUtil.ResultCodeMsg;
+import com.dy.pipIrrGlobal.voRm.VoIntakeAmountDay;
+import com.dy.pipIrrGlobal.voRm.VoLossDay;
+import com.dy.pipIrrGlobal.voSe.VoActiveCard;
+import com.dy.pipIrrRemote.records.intakeAmountDay.IntakeAmountDayQueryVo;
+import com.dy.pipIrrRemote.records.intakeAmountDay.IntakeAmountDaySv;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.media.Content;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.responses.ApiResponse;
+import io.swagger.v3.oas.annotations.responses.ApiResponses;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/7/24  15:29
+ * @LastEditTime :2024/7/24  15:29
+ * @Description
+ */
+@Slf4j
+@Tag(name = "婕忔崯璁板綍鏌ヨ", description = "婕忔崯璁板綍鏌ヨ")
+@RestController
+@RequestMapping(path = "lossDay")
+public class LossDayCtrl {
+
+    @Autowired
+    private LossDaySv lossDaySv;
+
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇婕忔崯璁板綍鍒楄〃锛堝巻鍙诧級
+     *
+     * @param vo 鏌ヨ鏉′欢
+     * @return 绗﹀悎鏉′欢鐨勬紡鎹熻褰曞垪琛紙鍘嗗彶锛�
+     */
+    @Operation(summary = "鑾峰緱涓�椤垫紡鎹熻褰曡褰�", description = "杩斿洖涓�椤垫紡鎹熻褰曟暟鎹�")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "杩斿洖涓�椤垫紡鎹熻褰曟暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = VoActiveCard.class))}
+            )
+    })
+    @GetMapping(path = "/getLossDayHistory")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoLossDay>>> getLossDayHistory(@RequestBody LossDayQueryVo vo) {
+        try {
+            QueryResultVo<List<VoLossDay>> res = lossDaySv.getLossDayHistory(vo);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鑾峰彇婕忔崯璁板綍璁板綍寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇婕忔崯璁板綍鍒楄〃锛堟渶鏂帮級
+     *
+     * @param vo 鏌ヨ鏉′欢
+     * @return 绗﹀悎鏉′欢鐨勬紡鎹熻褰曞垪琛紙鏈�鏂帮級
+     */
+    @Operation(summary = "鑾峰緱涓�椤垫紡鎹熻褰曡褰�", description = "杩斿洖涓�椤垫紡鎹熻褰曟暟鎹�")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "杩斿洖涓�椤垫紡鎹熻褰曟暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = VoActiveCard.class))}
+            )
+    })
+    @GetMapping(path = "/getLossDayLast")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoLossDay>>> getLossDayLast(@RequestBody LossDayQueryVo vo) {
+        try {
+            QueryResultVo<List<VoLossDay>> res = lossDaySv.getLossDayLast(vo);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鑾峰彇婕忔崯璁板綍璁板綍寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/lossDay/LossDayQueryVo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/lossDay/LossDayQueryVo.java
new file mode 100644
index 0000000..66f92f0
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/lossDay/LossDayQueryVo.java
@@ -0,0 +1,33 @@
+package com.dy.pipIrrRemote.records.lossDay;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+
+import java.sql.Date;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/7/24  15:44
+ * @LastEditTime :2024/7/24  15:44
+ * @Description
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ToString(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Schema(name = "婕忔崯璁板綍鏌ヨ鏉′欢")
+public class LossDayQueryVo extends QueryConditionVo {
+
+
+    @Schema(description = "鍙栨按鍙e悕绉�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private String intakeName;
+
+    @Schema(description = "缁熻寮�濮嬫棩鏈�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private Date startDt;
+
+    @Schema(description = "缁熻缁撴潫鏃ユ湡", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    private Date endDt;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/lossDay/LossDaySv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/lossDay/LossDaySv.java
new file mode 100644
index 0000000..6e97517
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/records/lossDay/LossDaySv.java
@@ -0,0 +1,71 @@
+package com.dy.pipIrrRemote.records.lossDay;
+
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoRm.RmLossDayMapper;
+import com.dy.pipIrrGlobal.daoRm.RmLossDayLastMapper;
+import com.dy.pipIrrGlobal.voRm.VoLossDay;
+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.util.List;
+import java.util.Map;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/7/24  15:29
+ * @LastEditTime :2024/7/24  15:29
+ * @Description
+ */
+@Slf4j
+@Service
+public class LossDaySv {
+
+    @Autowired
+    private RmLossDayMapper rmLossHistoryMapper;
+    @Autowired
+    private RmLossDayLastMapper rmLossLastMapper;
+
+
+    /**
+     * 鑾峰緱涓�椤垫紡鎹熻褰曟煡璇�(鍘嗗彶)
+     * @param vo
+     * @return
+     */
+    public QueryResultVo<List<VoLossDay>> getLossDayHistory(LossDayQueryVo vo) {
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo);
+
+        Long itemTotal = rmLossHistoryMapper.getRecordCount(params);
+
+        QueryResultVo<List<VoLossDay>> rsVo = new QueryResultVo<>();
+        rsVo.pageSize = vo.pageSize;
+        rsVo.pageCurr = vo.pageCurr;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmLossHistoryMapper.getLossDayHistory(params);
+        return rsVo;
+    }
+
+
+    /**
+     * 鑾峰緱涓�椤垫紡鎹熻褰曟煡璇�(鏈�鏂�)
+     * @param vo
+     * @return
+     */
+    public QueryResultVo<List<VoLossDay>> getLossDayLast(LossDayQueryVo vo) {
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo);
+
+        Long itemTotal = rmLossLastMapper.getRecordCount(params);
+
+        QueryResultVo<List<VoLossDay>> rsVo = new QueryResultVo<>();
+        rsVo.pageSize = vo.pageSize;
+        rsVo.pageCurr = vo.pageCurr;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmLossLastMapper.getLossDayLast(params);
+        return rsVo;
+    }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportCtrl.java
new file mode 100644
index 0000000..e3cdcda
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportCtrl.java
@@ -0,0 +1,45 @@
+package com.dy.pipIrrRemote.report;
+
+import com.dy.common.aop.SsoAop;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.voRm.VoOnHour;
+import com.dy.pipIrrRemote.report.qo.ReportQO;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+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 ZhuBaoMin
+ * @date 2024-07-23 16:01
+ * @LastEditTime 2024-07-23 16:01
+ * @Description 鍚勭被鏁版嵁鎶ユ帶鍒剁被
+ */
+
+@Slf4j
+@RestController
+@RequestMapping(path = "report")
+@RequiredArgsConstructor
+public class ReportCtrl {
+    private final ReportSv reportSv;
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鏁寸偣鎶ュ巻鍙茶褰�
+     * @param qo
+     * @return
+     */
+    @GetMapping(path = "/on_hour_report_history")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoOnHour>>> getOnHourReportHistory(ReportQO qo){
+        try {
+            return BaseResponseUtils.buildSuccess(reportSv.getOnHourReportsHistory(qo));
+        } catch (Exception e) {
+            return BaseResponseUtils.buildException(e.getMessage()) ;
+        }
+    }
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportSv.java
new file mode 100644
index 0000000..ed17765
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/ReportSv.java
@@ -0,0 +1,72 @@
+package com.dy.pipIrrRemote.report;
+
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoRm.*;
+import com.dy.pipIrrGlobal.voRm.VoOnHour;
+import com.dy.pipIrrRemote.report.qo.ReportQO;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.common.utils.PojoUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-23 16:02
+ * @LastEditTime 2024-07-23 16:02
+ * @Description 鍚勭被鏁版嵁鎶ユ湇鍔$被
+ */
+
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class ReportSv {
+    // 闃�鎺у櫒鏁寸偣鎶AO
+    private final RmOnHourReportHistoryMapper rmOnHourReportHistoryMapper;
+    private final RmOnHourReportLastMapper rmOnHourReportLastMapper;
+
+    // 闃�鎺у櫒寮�鍏抽榾鎶AO
+    private final RmOpenCloseValveHistoryMapper rmOpenCloseValveHistoryMapper;
+    private final RmOpenCloseValveLastMapper rmOpenCloseValveLastMapper;
+
+    // 闃�鎺у櫒瀹氭椂鎶AO
+    private final RmTimingReportHistoryMapper rmTimingReportHistoryMapper;
+    private final RmTimingReportLastMapper rmTimingReportLastMapper;
+
+    // 宸ヤ綔鎶AO
+    private final RmWorkReportHistoryMapper rmWorkReportHistoryMapper;
+    private final RmWorkReportLastMapper rmWorkReportLastMapper;
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鏁寸偣鎶ュ巻鍙茶褰�
+     * @param qo
+     * @return
+     */
+    public QueryResultVo<List<VoOnHour>> getOnHourReportsHistory(ReportQO qo) {
+        String timeStart = qo.getTimeStart();
+        String timeStop = qo.getTimeStop();
+        if(timeStart != null) {
+            timeStart = timeStart + " 00:00:00";
+            qo.setTimeStart(timeStart);
+        }
+        if(timeStop != null) {
+            timeStop = timeStop + " 23:59:59";
+            qo.setTimeStop(timeStop);
+        }
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+        Long itemTotal = rmOnHourReportHistoryMapper.getOnHourReportsCount_history(params);
+
+        QueryResultVo<List<VoOnHour>> rsVo = new QueryResultVo<>() ;
+        rsVo.pageSize = qo.pageSize ;
+        rsVo.pageCurr = qo.pageCurr ;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmOnHourReportHistoryMapper.getOnHourReports_history(params);
+        return rsVo ;
+    }
+
+
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/qo/ReportQO.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/qo/ReportQO.java
new file mode 100644
index 0000000..92b88f6
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/report/qo/ReportQO.java
@@ -0,0 +1,40 @@
+package com.dy.pipIrrRemote.report.qo;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import lombok.*;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-23 16:31
+ * @LastEditTime 2024-07-23 16:31
+ * @Description
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ToString(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class ReportQO extends QueryConditionVo {
+
+    /**
+     * 鍙栨按鍙g紪鍙�
+     */
+    private String intakeNum;
+
+    /**
+     * 闃�鎺у櫒鍦板潃
+     */
+    private String rtuAddr;
+
+    /**
+     * 鏌ヨ寮�濮嬫棩鏈�
+     */
+    private String timeStart;
+
+    /**
+     * 鏌ヨ缁撴潫鏃ユ湡
+     */
+    private String timeStop;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
index 5cb744f..c0d55cf 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
@@ -10,6 +10,7 @@
 import com.dy.pipIrrGlobal.pojoBa.BaClient;
 import com.dy.pipIrrGlobal.pojoSe.SeCardOperate;
 import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
+import com.dy.pipIrrGlobal.pojoSe.SeManagerCard;
 import com.dy.pipIrrGlobal.util.AmountToChinese;
 import com.dy.pipIrrGlobal.voSe.VoActiveCard;
 import com.dy.pipIrrGlobal.voSe.VoOperate;
@@ -31,6 +32,7 @@
 import jakarta.validation.Valid;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.MediaType;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.BindingResult;
@@ -55,6 +57,8 @@
     private final CardOperateSv cardOperateSv;
     private final ClientCardSv clientCardSv;
 
+    @Value("${project.divisionCode}")
+    private String divisionCode;
     /**
      * 寮�鍗�
      * @param po 寮�鍗′紶鍏ュ璞�
@@ -748,6 +752,57 @@
     }
 
     /**
+     * 鍒涘缓绠$悊鍗�
+     * @param po
+     * @param bindingResult
+     * @return
+     */
+    @PostMapping(path = "create_manager_card", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> createManagerCard(@RequestBody @Valid ManagerCard po, BindingResult bindingResult){
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        /**
+         * 鏍规嵁琛屾斂鍖哄垝涓诧紙divisionCode锛夊湪绠$悊鍗¤〃涓拡瀵瑰崱鐗囩紪鍙凤紙cardNum锛夎繘琛屾ā绯婃煡璇�
+         * 濡傛灉椤哄簭鍙峰凡缁忚揪鍒版渶澶у�硷紝鎻愮ず鐢ㄦ埛鑱旂郴绯荤粺绠$悊鍛�
+         * 濡傛灉椤哄簭鍙锋湭杈惧埌鏈�澶у�硷紝鍒欏姞1
+         * cardNum涓烘柊鐨勫崱鍙�
+         */
+        String cardNum = Optional.ofNullable(cardOperateSv.getManagerCardNumOfMax(divisionCode)).orElse("");
+        if(cardNum != null && cardNum.trim().length() > 0) {
+            Integer number = Integer.parseInt(cardNum.substring(12));
+            number = number + 1;
+            if(number > 65535) {
+                return BaseResponseUtils.buildErrorMsg(SellResultCode.CARD_NUMBER_OVERRUN.getMessage());
+            }
+            cardNum = cardNum.substring(0, 12) + String.format("%05d", number);
+        } else {
+            cardNum = divisionCode + "00001";
+        }
+
+        SeManagerCard seManagerCard = new SeManagerCard();
+        seManagerCard.setCardAddr(po.getCardAddr());
+        seManagerCard.setCardNum(cardNum);
+        seManagerCard.setCardType(po.getCardType());
+        seManagerCard.setCreateTime(new Date());
+        seManagerCard.setRemarks(po.getRemarks());
+        Long managerCardId = cardOperateSv.addManagerCard(seManagerCard);
+        if(managerCardId == 0) {
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.CREATE_MANAGER_CARD_ERROR.getMessage());
+        }
+
+        return BaseResponseUtils.buildSuccess(cardNum);
+
+        //Map map = new HashMap();
+        //map.put("cardNum", cardNum);
+        //return BaseResponseUtils.buildSuccess(map) ;
+    }
+
+
+    /**
      * 鑾峰彇鍏呭�艰褰�
      * @param vo
      * @return
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java
index 84cc589..5ff8607 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java
@@ -7,12 +7,10 @@
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper;
-import com.dy.pipIrrGlobal.daoSe.SeCardOperateMapper;
-import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper;
-import com.dy.pipIrrGlobal.daoSe.SeClientMapper;
-import com.dy.pipIrrGlobal.daoSe.SeGeneralMapper;
+import com.dy.pipIrrGlobal.daoSe.*;
 import com.dy.pipIrrGlobal.pojoSe.SeCardOperate;
 import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
+import com.dy.pipIrrGlobal.pojoSe.SeManagerCard;
 import com.dy.pipIrrGlobal.voSe.*;
 import com.dy.pipIrrSell.cardOperate.dto.DtoRecharge;
 import com.dy.pipIrrSell.cardOperate.enums.OperateTypeENUM;
@@ -56,6 +54,9 @@
     @Autowired
     private BaSettingsMapper baSettingsMapper;
 
+    @Autowired
+    private SeManagerCardMapper seManagerCardMapper;
+
 
     /**
      * 娣诲姞寮�鍗¤褰�
@@ -88,16 +89,36 @@
     public Long getAreaCodeById(Long clientId) {
         return seClientMapper.getAreaCodeById(clientId);
     }
+
     /**
      * 鏍规嵁琛屾斂鍖哄垝涓叉ā鍧楁煡璇㈡按鍗$紪鍙凤紝寮�鍗′娇鐢�
      * @param areaCode
      * @return
      */
-    String getCardNumOfMax(String areaCode) {
+    public String getCardNumOfMax(String areaCode) {
         return seClientCardMapper.getCardNumOfMax(areaCode);
     }
 
     /**
+     * 鏍规嵁琛屾斂鍖哄垝涓叉ā绯婃煡璇㈢鐞嗗崱缂栧彿锛屽垱寤虹鐞嗗崱浣跨敤
+     * @param areaCode
+     * @return
+     */
+    public String getManagerCardNumOfMax(String areaCode) {
+        return seManagerCardMapper.getManagerCardNumOfMax(areaCode);
+    }
+
+    /**
+     * 鍒涘缓绠$悊鍗�
+     * @param po
+     * @return
+     */
+    public Long addManagerCard(SeManagerCard po) {
+        seManagerCardMapper.insert(po);
+        return po.getId();
+    }
+
+    /**
      * 鏍规嵁鍐滄埛缂栧彿鑾峰彇鍐滄埛ID锛屽紑鍗′娇鐢�
      * @param clientNum
      * @return
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/ManagerCard.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/ManagerCard.java
new file mode 100644
index 0000000..0b28e12
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/ManagerCard.java
@@ -0,0 +1,33 @@
+package com.dy.pipIrrSell.cardOperate.dto;
+
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-07-24 11:25
+ * @LastEditTime 2024-07-24 11:25
+ * @Description 绠$悊鍗′紶杈撳璞�
+ */
+
+@Data
+public class ManagerCard {
+    public static final long serialVersionUID = 202407241125001L;
+
+    /**
+     * 姘村崱鍦板潃锛屼粎淇濆瓨锛屾棤涓氬姟
+     */
+    @NotBlank(message = "姘村崱鍦板潃涓嶈兘涓虹┖")
+    private String cardAddr;
+
+    /**
+     * 鍗$墖绫诲瀷锛�2-绠$悊绉戯紝4-寮�鍏抽榾鍗★紝5-娓呯┖鍗�
+     */
+    private Byte cardType;
+
+
+    /**
+     * 澶囨敞淇℃伅
+     */
+    private String remarks;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java
index 23112df..7dc0cf8 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java
@@ -28,13 +28,12 @@
     No_ActiveCards(10009, "娌℃湁绗﹀悎鏉′欢鐨勫紑鍗℃暟鎹�"),
     No_RECHARGES(10010, "娌℃湁绗﹀悎鏉′欢鐨勫厖鍊兼暟鎹�"),
     No_ReissueCards(10011, "娌℃湁绗﹀悎鏉′欢鐨勮ˉ鍗℃暟鎹�"),
-    No_CANCELS(10010, "娌℃湁绗﹀悎鏉′欢鐨勬敞閿�鏁版嵁"),
-    PARAMS_ERROR(10010, "鎿嶄綔绫诲瀷鍙傛暟閿欒"),
-
-    THE_CARD_NOT_EXIST(10012, "娌℃湁绗﹀悎鏉′欢鐨勬按鍗�"),
-    THE_CARD_NOT_SUPPORT_THIS_OPERATION(10013, "姘村崱鐘舵�佷笉鏀寔褰撳墠鎿嶄綔"),
-
-    THE_FEE_CANNOT_BE_REFUNDED(10014, "鍘熷崱鎸傚け鏃跺凡閫�娆撅紝琛ュ崱鏃朵笉鑳借ˉ璐圭敤"),
+    No_CANCELS(10012, "娌℃湁绗﹀悎鏉′欢鐨勬敞閿�鏁版嵁"),
+    PARAMS_ERROR(10013, "鎿嶄綔绫诲瀷鍙傛暟閿欒"),
+    CREATE_MANAGER_CARD_ERROR(10014, "鍒涘缓绠$悊鍗″け璐�"),
+    THE_CARD_NOT_EXIST(10015, "娌℃湁绗﹀悎鏉′欢鐨勬按鍗�"),
+    THE_CARD_NOT_SUPPORT_THIS_OPERATION(10016, "姘村崱鐘舵�佷笉鏀寔褰撳墠鎿嶄綔"),
+    THE_FEE_CANNOT_BE_REFUNDED(10017, "鍘熷崱鎸傚け鏃跺凡閫�娆撅紝琛ュ崱鏃朵笉鑳借ˉ璐圭敤"),
 
     /**
      * 鍏呭��
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StClient.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StClient.java
index 9dd32eb..9701ed8 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StClient.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StClient.java
@@ -1,6 +1,5 @@
 package com.dy.pipIrrStatistics.statistics;
 
-import com.dy.pipIrrGlobal.daoRm.RmClientAmountDayMapper;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StIntakeSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StIntakeSv.java
index 7118779..aecf2fa 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StIntakeSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StIntakeSv.java
@@ -5,7 +5,9 @@
 import com.dy.pipIrrGlobal.daoSt.StIntakeAmountYearMapper;
 import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth;
 import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountYear;
+import com.dy.pipIrrGlobal.pojoSt.StLossYear;
 import com.dy.pipIrrGlobal.voSt.VoIntakeAmountStatistics;
+import com.dy.pipIrrGlobal.voSt.VoIntakeLossStatistics;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
@@ -63,4 +65,5 @@
             }
         }
     }
+
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StatisticsJob.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StatisticsJob.java
index 0f4af36..da3c02b 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StatisticsJob.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StatisticsJob.java
@@ -36,7 +36,6 @@
 
     @Override
     public void execute(JobExecutionContext ctx) throws JobExecutionException {
-
         stLoss = SpringContextUtil.getBean(StLoss.class);
         stIntake = SpringContextUtil.getBean(StIntake.class);
         stClient = SpringContextUtil.getBean(StClient.class);

--
Gitblit v1.8.0