1、以定时任务方式实现定时统计;
2、实现取水口漏损月统计、年统计;
3、实现取水口取水量月统计、年统计;
4、实现农户用水量及费用月统计、年统计。
9 文件已重命名
7个文件已修改
27个文件已添加
3个文件已删除
2180 ■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmClientAmountDayMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmIntakeAmountDayLastMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmIntakeAmountDayMapper.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossDayLastMapper.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossDayMapper.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossHistoryMapper.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StClientAmountMonthMapper.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StClientAmountYearMapper.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StIntakeAmountMonthMapper.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StIntakeAmountYearMapper.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StLossMonthMapper.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StLossYearMapper.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDay.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDayLast.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSt/StClientAmountMonth.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSt/StClientAmountYear.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSt/StIntakeAmountMonth.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSt/StIntakeAmountYear.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSt/StLossMonth.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSt/StLossYear.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoClientAmountStatistics.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeAmountStatistics.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeLossStatistics.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayLastMapper.xml 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayMapper.xml 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/StClientAmountMonthMapper.xml 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/StClientAmountYearMapper.xml 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/StIntakeAmountMonthMapper.xml 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/StIntakeAmountYearMapper.xml 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/StLossMonthMapper.xml 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/StLossYearMapper.xml 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealLoss.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/listeners/StLossSv.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/listeners/StatisticsJob.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StClient.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StClientSv.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StIntake.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StIntakeSv.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StLoss.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StLossSv.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StatisticsJob.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StatisticsListener.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/util/OrgListener.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmClientAmountDayMapper.java
@@ -3,7 +3,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoRm.RmClientAmountDay;
import com.dy.pipIrrGlobal.voRm.VoClientAmountDay;
import com.dy.pipIrrGlobal.voRm.VoControllerAlarmState;
import com.dy.pipIrrGlobal.voSt.VoClientAmountStatistics;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -88,4 +88,14 @@
     * @return
     */
    List<VoClientAmountDay> getClientAmountDayHistory(Map<?, ?> params);
    /**
     * 以农户维度统计用水量及费用
     * @param statisticsStartId 统计时间段开始时间对应的ID
     * @param statisticsEndId 统计时间段截止时间对应的ID
     * @return
     */
    List<VoClientAmountStatistics> statisticsByClient(@Param("startId")Long statisticsStartId, @Param("endId")Long statisticsEndId) ;
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmIntakeAmountDayLastMapper.java
@@ -1,9 +1,7 @@
package com.dy.pipIrrGlobal.daoRm;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDay;
import com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDayLast;
import com.dy.pipIrrGlobal.pojoRm.RmLossLast;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmIntakeAmountDayMapper.java
@@ -2,9 +2,10 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDay;
import com.dy.pipIrrGlobal.pojoRm.RmLossHistory;
import com.dy.pipIrrGlobal.pojoRm.RmOnHourReportHistory;
import com.dy.pipIrrGlobal.voSt.VoIntakeAmountStatistics;
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;
@@ -64,4 +65,15 @@
     * @return update count
     */
    int updateByPrimaryKey(RmIntakeAmountDay record);
    /**
     * 以取水口维度统计取水量
     * @param statisticsStartId 统计时间段开始时间对应的ID
     * @param statisticsEndId 统计时间段截止时间对应的ID
     * @return
     */
    List<VoIntakeAmountStatistics> statisticsByIntake(@Param("startId")Long statisticsStartId, @Param("endId")Long statisticsEndId) ;
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossDayLastMapper.java
File was renamed from pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossLastMapper.java
@@ -1,8 +1,7 @@
package com.dy.pipIrrGlobal.daoRm;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoRm.RmLossHistory;
import com.dy.pipIrrGlobal.pojoRm.RmLossLast;
import com.dy.pipIrrGlobal.pojoRm.RmLossDayLast;
import org.apache.ibatis.annotations.Mapper;
import java.util.Date;
@@ -15,7 +14,7 @@
 * @Description
 */   
@Mapper
public interface RmLossLastMapper extends BaseMapper<RmLossLast> {
public interface RmLossDayLastMapper extends BaseMapper<RmLossDayLast> {
    /**
     * delete by primary key
     * @param id primaryKey
@@ -28,46 +27,46 @@
     * @param record the record
     * @return insert count
     */
    int insert(RmLossLast record);
    int insert(RmLossDayLast record);
    /**
     * insert record to table selective
     * @param record the record
     * @return insert count
     */
    int insertSelective(RmLossLast record);
    int insertSelective(RmLossDayLast record);
    /**
     * select by primary key
     * @param id primary key
     * @return object by primary key
     */
    RmLossLast selectByPrimaryKey(Long id);
    RmLossDayLast selectByPrimaryKey(Long id);
    /**
     * select by rtuAddr
     * @param intakeId 控制器所绑取水口ID
     * @return object by rtuAddr
     */
    List<RmLossLast> selectByIntakeId(Long intakeId) ;
    List<RmLossDayLast> selectByIntakeId(Long intakeId) ;
   /**
     * select by dt
     * @param date 日期(yyyy-mm-dd)
     * @return object by rtuAddr
     */
    List<RmLossLast> selectByDate(Date date) ;
    List<RmLossDayLast> selectByDate(Date date) ;
    /**
     * update record selective
     * @param record the updated record
     * @return update count
     */
    int updateByPrimaryKeySelective(RmLossLast record);
    int updateByPrimaryKeySelective(RmLossDayLast record);
    /**
     * update record
     * @param record the updated record
     * @return update count
     */
    int updateByPrimaryKey(RmLossLast record);
    int updateByPrimaryKey(RmLossDayLast record);
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossDayMapper.java
New file
@@ -0,0 +1,78 @@
package com.dy.pipIrrGlobal.daoRm;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoRm.RmLossDay;
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;
/**
 * @Author liurunyu
 * @Date 2024/2/28 15:31
 * @LastEditTime 2024/2/28 15:31
 * @Description
 */
@Mapper
public interface RmLossDayMapper extends BaseMapper<RmLossDay> {
    /**
     * delete by primary key
     * @param id primaryKey
     * @return deleteCount
     */
    int deleteByPrimaryKey(Long id);
    /**
     * insert record to table
     * @param record the record
     * @return insert count
     */
    int insert(RmLossDay record);
    /**
     * insert record to table selective
     * @param record the record
     * @return insert count
     */
    int insertSelective(RmLossDay record);
    /**
     * select by primary key
     * @param id primary key
     * @return object by primary key
     */
    RmLossDay selectByPrimaryKey(Long id);
    /**
     * select by dt
     * @param date 日期(yyyy-mm-dd)
     * @return object by rtuAddr
     */
    List<RmLossDay> selectByDate(Date date) ;
    /**
     * update record selective
     * @param record the updated record
     * @return update count
     */
    int updateByPrimaryKeySelective(RmLossDay record);
    /**
     * update record
     * @param record the updated record
     * @return update count
     */
    int updateByPrimaryKey(RmLossDay record);
    /**
     * 以取水口维度统计漏损量
     * @param statisticsStartId 统计时间段开始时间对应的ID
     * @param statisticsEndId 统计时间段截止时间对应的ID
     * @return
     */
    List<VoIntakeLossStatistics> statisticsByIntake(@Param("startId")Long statisticsStartId, @Param("endId")Long statisticsEndId) ;
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmLossHistoryMapper.java
File was deleted
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StClientAmountMonthMapper.java
New file
@@ -0,0 +1,67 @@
package com.dy.pipIrrGlobal.daoSt;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoSt.StClientAmountMonth;
import com.dy.pipIrrGlobal.voSt.VoClientAmountStatistics;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
 * @Author: liurunyu
 * @Date: 2024/7/24 17:03
 * @Description
 */
@Mapper
public interface StClientAmountMonthMapper extends BaseMapper<StClientAmountMonth> {
    /**
     * delete by primary key
     * @param id primaryKey
     * @return deleteCount
     */
    int deleteByPrimaryKey(Long id);
    /**
     * insert record to table
     * @param record the record
     * @return insert count
     */
    int insert(StClientAmountMonth record);
    /**
     * insert record to table selective
     * @param record the record
     * @return insert count
     */
    int insertSelective(StClientAmountMonth record);
    /**
     * select by primary key
     * @param id primary key
     * @return object by primary key
     */
    StClientAmountMonth selectByPrimaryKey(Long id);
    /**
     * update record selective
     * @param record the updated record
     * @return update count
     */
    int updateByPrimaryKeySelective(StClientAmountMonth record);
    /**
     * update record
     * @param record the updated record
     * @return update count
     */
    int updateByPrimaryKey(StClientAmountMonth record);
    /**
     * 以农户维度统计用水量及费用
     * @param year 统计年度
     * @return
     */
    List<VoClientAmountStatistics> statisticsByClient(Integer year) ;
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StClientAmountYearMapper.java
New file
@@ -0,0 +1,55 @@
package com.dy.pipIrrGlobal.daoSt;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoSt.StClientAmountYear;
import org.apache.ibatis.annotations.Mapper;
/**
 * @Author: liurunyu
 * @Date: 2024/7/24 17:03
 * @Description
 */
@Mapper
public interface StClientAmountYearMapper extends BaseMapper<StClientAmountYear> {
    /**
     * delete by primary key
     * @param id primaryKey
     * @return deleteCount
     */
    int deleteByPrimaryKey(Long id);
    /**
     * insert record to table
     * @param record the record
     * @return insert count
     */
    int insert(StClientAmountYear record);
    /**
     * insert record to table selective
     * @param record the record
     * @return insert count
     */
    int insertSelective(StClientAmountYear record);
    /**
     * select by primary key
     * @param id primary key
     * @return object by primary key
     */
    StClientAmountYear selectByPrimaryKey(Long id);
    /**
     * update record selective
     * @param record the updated record
     * @return update count
     */
    int updateByPrimaryKeySelective(StClientAmountYear record);
    /**
     * update record
     * @param record the updated record
     * @return update count
     */
    int updateByPrimaryKey(StClientAmountYear record);
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StIntakeAmountMonthMapper.java
New file
@@ -0,0 +1,67 @@
package com.dy.pipIrrGlobal.daoSt;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth;
import com.dy.pipIrrGlobal.pojoSt.StLossMonth;
import com.dy.pipIrrGlobal.voSt.VoIntakeAmountStatistics;
import com.dy.pipIrrGlobal.voSt.VoIntakeLossStatistics;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
 * @Author: liurunyu
 * @Date: 2024/7/24 16:38
 * @Description
 */
@Mapper
public interface StIntakeAmountMonthMapper extends BaseMapper<StIntakeAmountMonth> {
    /**
     * delete by primary key
     * @param id primaryKey
     * @return deleteCount
     */
    int deleteByPrimaryKey(Long id);
    /**
     * insert record to table
     * @param record the record
     * @return insert count
     */
    int insert(StIntakeAmountMonth record);
    /**
     * insert record to table selective
     * @param record the record
     * @return insert count
     */
    int insertSelective(StIntakeAmountMonth record);
    /**
     * select by primary key
     * @param id primary key
     * @return object by primary key
     */
    StIntakeAmountMonth selectByPrimaryKey(Long id);
    /**
     * update record selective
     * @param record the updated record
     * @return update count
     */
    int updateByPrimaryKeySelective(StIntakeAmountMonth record);
    /**
     * update record
     * @param record the updated record
     * @return update count
     */
    int updateByPrimaryKey(StIntakeAmountMonth record);
    /**
     * 以取水口维度统计取水量
     * @param year 统计年度
     * @return
     */
    List<VoIntakeAmountStatistics> statisticsByIntake(Integer year) ;
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StIntakeAmountYearMapper.java
New file
@@ -0,0 +1,55 @@
package com.dy.pipIrrGlobal.daoSt;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountYear;
import org.apache.ibatis.annotations.Mapper;
/**
 * @Author: liurunyu
 * @Date: 2024/7/24 16:38
 * @Description
 */
@Mapper
public interface StIntakeAmountYearMapper extends BaseMapper<StIntakeAmountYear> {
    /**
     * delete by primary key
     * @param id primaryKey
     * @return deleteCount
     */
    int deleteByPrimaryKey(Long id);
    /**
     * insert record to table
     * @param record the record
     * @return insert count
     */
    int insert(StIntakeAmountYear record);
    /**
     * insert record to table selective
     * @param record the record
     * @return insert count
     */
    int insertSelective(StIntakeAmountYear record);
    /**
     * select by primary key
     * @param id primary key
     * @return object by primary key
     */
    StIntakeAmountYear selectByPrimaryKey(Long id);
    /**
     * update record selective
     * @param record the updated record
     * @return update count
     */
    int updateByPrimaryKeySelective(StIntakeAmountYear record);
    /**
     * update record
     * @param record the updated record
     * @return update count
     */
    int updateByPrimaryKey(StIntakeAmountYear record);
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StLossMonthMapper.java
New file
@@ -0,0 +1,72 @@
package com.dy.pipIrrGlobal.daoSt;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoSt.StLossMonth;
import com.dy.pipIrrGlobal.voSt.VoIntakeLossStatistics;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
 * @Author: liurunyu
 * @Date: 2024/7/24 15:48
 * @Description
 */
@Mapper
public interface StLossMonthMapper extends BaseMapper<StLossMonth> {
    /**
     * delete by primary key
     *
     * @param id primaryKey
     * @return deleteCount
     */
    int deleteByPrimaryKey(Long id);
    /**
     * insert record to table
     *
     * @param record the record
     * @return insert count
     */
    int insert(StLossMonth record);
    /**
     * insert record to table selective
     *
     * @param record the record
     * @return insert count
     */
    int insertSelective(StLossMonth record);
    /**
     * select by primary key
     *
     * @param id primary key
     * @return object by primary key
     */
    StLossMonth selectByPrimaryKey(Long id);
    /**
     * update record selective
     *
     * @param record the updated record
     * @return update count
     */
    int updateByPrimaryKeySelective(StLossMonth record);
    /**
     * update record
     *
     * @param record the updated record
     * @return update count
     */
    int updateByPrimaryKey(StLossMonth record);
    /**
     * 以取水口维度统计漏损量
     * @param year 统计年度
     * @return
     */
    List<VoIntakeLossStatistics> statisticsByIntake(Integer year) ;
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StLossYearMapper.java
New file
@@ -0,0 +1,55 @@
package com.dy.pipIrrGlobal.daoSt;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoSt.StLossYear;
import org.apache.ibatis.annotations.Mapper;
/**
 * @Author: liurunyu
 * @Date: 2024/7/24 15:18
 * @Description
 */
@Mapper
public interface StLossYearMapper extends BaseMapper<StLossYear> {
    /**
     * delete by primary key
     * @param id primaryKey
     * @return deleteCount
     */
    int deleteByPrimaryKey(Long id);
    /**
     * insert record to table
     * @param record the record
     * @return insert count
     */
    int insert(StLossYear record);
    /**
     * insert record to table selective
     * @param record the record
     * @return insert count
     */
    int insertSelective(StLossYear record);
    /**
     * select by primary key
     * @param id primary key
     * @return object by primary key
     */
    StLossYear selectByPrimaryKey(Long id);
    /**
     * update record selective
     * @param record the updated record
     * @return update count
     */
    int updateByPrimaryKeySelective(StLossYear record);
    /**
     * update record
     * @param record the updated record
     * @return update count
     */
    int updateByPrimaryKey(StLossYear record);
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDay.java
File was renamed from pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossHistory.java
@@ -21,14 +21,14 @@
 * @LastEditTime 2024/2/28 15:31
 * @Description 控制器日漏损水量历史数据
 */
@TableName(value="rm_loss_history_history", autoResultMap = true)
@TableName(value="rm_loss_day", autoResultMap = true)
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Schema(name = "控制器日漏损水量历史数据 ")
public class RmLossHistory implements BaseEntity {
@Schema(name = "取水口日漏损统计")
public class RmLossDay implements BaseEntity {
    public static final long serialVersionUID = 202402281620001L;
    /**
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossDayLast.java
File was renamed from pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmLossLast.java
@@ -21,14 +21,14 @@
 * @LastEditTime 2024/2/28 15:31
 * @Description 控制器日漏损水量最新数据
 */
@TableName(value="rm_loss_last_history", autoResultMap = true)
@TableName(value="rm_loss_day_last", autoResultMap = true)
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Schema(name = "控制器日漏损水量最新数据")
public class RmLossLast implements BaseEntity {
@Schema(name = "取水口日漏损最新数据")
public class RmLossDayLast implements BaseEntity {
    public static final long serialVersionUID = 202402281621001L;
    /**
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSt/StClientAmountMonth.java
New file
@@ -0,0 +1,67 @@
package com.dy.pipIrrGlobal.pojoSt;
/**
 * @Author: liurunyu
 * @Date: 2024/7/24 17:03
 * @Description
 */
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 io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
@TableName(value="rm_client_amount_month", autoResultMap = true)
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Schema(name = "农户用水量及费用月统计")
public class StClientAmountMonth implements BaseEntity {
    public static final long serialVersionUID = 202407241705001L;
    /**
     * 主键
     */
    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED)
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    @TableId(type = IdType.INPUT)
    public Long id;
    /**
    * 农户ID
    */
    @Schema(description = "农户外键", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    public Long clientId;
    /**
    * 统计年度
    */
    @Schema(description = "统计年度", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Integer year;
    /**
    * 统计月份
    */
    @Schema(description = "统计月份", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Integer month;
    /**
    * 用水量(m3)
    */
    @Schema(description = "月用水量(m3)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Double amount;
    /**
    * 费用(元)
    */
    @Schema(description = "月费用(元)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Double money;
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSt/StClientAmountYear.java
New file
@@ -0,0 +1,61 @@
package com.dy.pipIrrGlobal.pojoSt;
/**
 * @Author: liurunyu
 * @Date: 2024/7/24 17:03
 * @Description
 */
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 io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
@TableName(value="rm_client_amount_year", autoResultMap = true)
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Schema(name = "农户用水量及费用年统计")
public class StClientAmountYear implements BaseEntity {
    public static final long serialVersionUID = 202407241705002L;
    /**
     * 主键
     */
    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED)
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    @TableId(type = IdType.INPUT)
    public Long id;
    /**
    * 农户ID
    */
    @Schema(description = "农户外键", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    public Long clientId;
    /**
    * 统计年度
    */
    @Schema(description = "统计年度", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Integer year;
    /**
    * 年用水量
    */
    @Schema(description = "年用水量(m3)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Double amount;
    /**
    * 年费用
    */
    @Schema(description = "年费用(元)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Double money;
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSt/StIntakeAmountMonth.java
New file
@@ -0,0 +1,61 @@
package com.dy.pipIrrGlobal.pojoSt;
/**
 * @Author: liurunyu
 * @Date: 2024/7/24 16:38
 * @Description
 */
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 io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
@TableName(value="rm_intake_amount_month", autoResultMap = true)
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Schema(name = "取水口取水量月统计")
public class StIntakeAmountMonth implements BaseEntity {
    public static final long serialVersionUID = 202407241644001L;
    /**
     * 主键
     */
    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED)
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    @TableId(type = IdType.INPUT)
    public Long id;
    /**
    * 取水口ID
    */
    @Schema(description = "取水口外键", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    public Long intakeId;
    /**
    * 统计年度
    */
    @Schema(description = "统计年度", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Integer year;
    /**
    * 统计月份
    */
    @Schema(description = "统计月份", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Integer month;
    /**
    * 月取水量
    */
    @Schema(description = "月取水量(m3)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Double amount;
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSt/StIntakeAmountYear.java
New file
@@ -0,0 +1,55 @@
package com.dy.pipIrrGlobal.pojoSt;
/**
 * @Author: liurunyu
 * @Date: 2024/7/24 16:38
 * @Description
 */
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 io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
@TableName(value="rm_intake_amount_year", autoResultMap = true)
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Schema(name = "取水口年取水量统计")
public class StIntakeAmountYear implements BaseEntity {
    public static final long serialVersionUID = 202407241644002L;
    /**
     * 主键
     */
    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED)
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    @TableId(type = IdType.INPUT)
    public Long id;
    /**
    * 取水口ID
    */
    @Schema(description = "取水口实体外键", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    public Long intakeId;
    /**
    * 统计年度
    */
    @Schema(description = "统计年度", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Integer year;
    /**
    * 年取水量
    */
    @Schema(description = "年取水量", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Double amount;
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSt/StLossMonth.java
New file
@@ -0,0 +1,65 @@
package com.dy.pipIrrGlobal.pojoSt;
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 io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
/**
 * @Author: liurunyu
 * @Date: 2024/7/24 15:48
 * @Description 取水口漏损月统计
 */
@TableName(value="rm_loss_month", autoResultMap = true)
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Schema(name = "取水口漏损月统计")
public class StLossMonth implements BaseEntity {
    public static final long serialVersionUID = 202407241523001L;
    /**
     * 主键
     */
    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED)
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    @TableId(type = IdType.INPUT)
    public Long id;
    /**
     * 取水口ID
     */
    /**
     * 取水口ID
     */
    @Schema(description = "取水口外键", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    public Long intakeId;
    /**
     * 统计年
     */
    @Schema(description = "统计年度", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Integer year;
    /**
     * 统计月
     */
    @Schema(description = "统计月份", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Integer month;
    /**
     * 月统计
     */
    @Schema(description = "月漏损量(m3)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Double amount;
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSt/StLossYear.java
New file
@@ -0,0 +1,55 @@
package com.dy.pipIrrGlobal.pojoSt;
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 io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
/**
 * @Author: liurunyu
 * @Date: 2024/7/24 15:18
 * @Description 取水口漏损年统计
 */
@TableName(value="rm_loss_year", autoResultMap = true)
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Schema(name = "取水口漏损年统计")
public class StLossYear implements BaseEntity {
    public static final long serialVersionUID = 202407241523002L;
    /**
     * 主键
     */
    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED)
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    @TableId(type = IdType.INPUT)
    public Long id;
    /**
    * 取水口ID
    */
    @Schema(description = "取水口实体外键", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    public Long intakeId;
    /**
    * 年度
    */
    @Schema(description = "统计年度", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Integer year;
    /**
    * 年漏损统计
    */
    @Schema(description = "年漏损量(m3)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Double amount;
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoClientAmountStatistics.java
New file
@@ -0,0 +1,15 @@
package com.dy.pipIrrGlobal.voSt;
import lombok.Data;
/**
 * @Author: liurunyu
 * @Date: 2024/7/24 17:09
 * @Description
 */
@Data
public class VoClientAmountStatistics {
    public Long clientId ;
    public Double amount;
    public Double money;
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeAmountStatistics.java
New file
@@ -0,0 +1,14 @@
package com.dy.pipIrrGlobal.voSt;
import lombok.Data;
/**
 * @Author: liurunyu
 * @Date: 2024/7/24 14:16
 * @Description 以取水口统计漏损
 */
@Data
public class VoIntakeAmountStatistics {
    public Long intakeId ;
    public Double amount;
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeLossStatistics.java
New file
@@ -0,0 +1,14 @@
package com.dy.pipIrrGlobal.voSt;
import lombok.Data;
/**
 * @Author: liurunyu
 * @Date: 2024/7/24 14:16
 * @Description 以取水口统计漏损
 */
@Data
public class VoIntakeLossStatistics {
    public Long intakeId ;
    public Double amount;
}
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmClientAmountDayMapper.xml
@@ -227,4 +227,13 @@
      LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}
    </if>
  </select>
  <select id="statisticsByClient" resultType="com.dy.pipIrrGlobal.voSt.VoClientAmountStatistics">
    select client_id, sum(amount) as amount, sum(money) as amount
    from rm_client_amount_day
    where id <![CDATA[>=]]> #{startId,jdbcType=BIGINT} and id <![CDATA[<]]> #{endId,jdbcType=BIGINT}
    group by client_id
  </select>
</mapper>
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml
@@ -155,4 +155,13 @@
      rtu_dt_last = #{rtuDtLast,jdbcType=TIMESTAMP}
    where id = #{id,jdbcType=BIGINT}
  </update>
  <select id="statisticsByIntake" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAmountStatistics">
    select intake_id, sum(amount) as amount
    from rm_intake_amount_day
    where id <![CDATA[>=]]> #{startId,jdbcType=BIGINT} and id <![CDATA[<]]> #{endId,jdbcType=BIGINT}
    group by intake_id
  </select>
</mapper>
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayLastMapper.xml
File was renamed from pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossLastMapper.xml
@@ -1,9 +1,9 @@
<?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.daoRm.RmLossLastMapper">
  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmLossLast">
<mapper namespace="com.dy.pipIrrGlobal.daoRm.RmLossDayLastMapper">
  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmLossDayLast">
    <!--@mbg.generated-->
    <!--@Table rm_loss_last-->
    <!--@Table rm_loss_day_last-->
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="last_history_id" jdbcType="BIGINT" property="lastHistoryId" />
    <result column="controller_id" jdbcType="BIGINT" property="controllerId" />
@@ -22,40 +22,40 @@
    <!--@mbg.generated-->
    select 
    <include refid="Base_Column_List" />
    from rm_loss_last
    from rm_loss_day_last
    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_last
    from rm_loss_day_last
    where intake_id = #{intakeId,jdbcType=BIGINT}
  </select>
  <select id="selectByDate" parameterType="java.util.Date" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select
    <include refid="Base_Column_List" />
    from rm_loss_last
    from rm_loss_day_last
    where dt = #{dt,jdbcType=DATE}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
    <!--@mbg.generated-->
    delete from rm_loss_last
    delete from rm_loss_day_last
    where id = #{id,jdbcType=BIGINT}
  </delete>
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossLast">
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDayLast">
    <!--@mbg.generated-->
    insert into rm_loss_last (id, last_history_id, controller_id,
    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.RmLossLast">
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDayLast">
    <!--@mbg.generated-->
    insert into rm_loss_last
    insert into rm_loss_day_last
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
@@ -115,9 +115,9 @@
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossLast">
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDayLast">
    <!--@mbg.generated-->
    update rm_loss_last
    update rm_loss_day_last
    <set>
      <if test="lastHistoryId != null">
        last_history_id = #{lastHistoryId,jdbcType=BIGINT},
@@ -146,9 +146,9 @@
    </set>
    where id = #{id,jdbcType=BIGINT}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossLast">
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDayLast">
    <!--@mbg.generated-->
    update rm_loss_last
    update rm_loss_day_last
    set last_history_id = #{lastHistoryId,jdbcType=BIGINT},
      controller_id = #{controllerId,jdbcType=BIGINT},
      intake_id = #{intakeId,jdbcType=BIGINT},
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayMapper.xml
File was renamed from pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossHistoryMapper.xml
@@ -1,9 +1,9 @@
<?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.daoRm.RmLossHistoryMapper">
  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmLossHistory">
<mapper namespace="com.dy.pipIrrGlobal.daoRm.RmLossDayMapper">
  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmLossDay">
    <!--@mbg.generated-->
    <!--@Table rm_loss_history-->
    <!--@Table rm_loss_day-->
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="controller_id" jdbcType="BIGINT" property="controllerId" />
    <result column="intake_id" jdbcType="BIGINT" property="intakeId" />
@@ -21,33 +21,33 @@
    <!--@mbg.generated-->
    select 
    <include refid="Base_Column_List" />
    from rm_loss_history
    from rm_loss_day
    where id = #{id,jdbcType=BIGINT}
  </select>
  <select id="selectByDate" parameterType="java.util.Date" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select
    <include refid="Base_Column_List" />
    from rm_loss_history
    from rm_loss_day
    where dt = #{dt,jdbcType=DATE}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
    <!--@mbg.generated-->
    delete from rm_loss_history
    delete from rm_loss_day
    where id = #{id,jdbcType=BIGINT}
  </delete>
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossHistory">
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDay">
    <!--@mbg.generated-->
    insert into rm_loss_history (id, controller_id, intake_id,
    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}
      )
  </insert>
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossHistory">
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDay">
    <!--@mbg.generated-->
    insert into rm_loss_history
    insert into rm_loss_day
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
@@ -101,9 +101,9 @@
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossHistory">
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDay">
    <!--@mbg.generated-->
    update rm_loss_history
    update rm_loss_day
    <set>
      <if test="controllerId != null">
        controller_id = #{controllerId,jdbcType=BIGINT},
@@ -129,9 +129,9 @@
    </set>
    where id = #{id,jdbcType=BIGINT}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossHistory">
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDay">
    <!--@mbg.generated-->
    update rm_loss_history
    update rm_loss_day
    set controller_id = #{controllerId,jdbcType=BIGINT},
      intake_id = #{intakeId,jdbcType=BIGINT},
      rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
@@ -141,4 +141,12 @@
      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>
</mapper>
pipIrr-platform/pipIrr-global/src/main/resources/mapper/StClientAmountMonthMapper.xml
New file
@@ -0,0 +1,122 @@
<?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.daoSt.StClientAmountMonthMapper">
  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSt.StClientAmountMonth">
    <!--@mbg.generated-->
    <!--@Table st_client_amount_month-->
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="client_id" jdbcType="BIGINT" property="clientId" />
    <result column="year" jdbcType="INTEGER" property="year" />
    <result column="month" jdbcType="INTEGER" property="month" />
    <result column="amount" jdbcType="FLOAT" property="amount" />
    <result column="money" jdbcType="FLOAT" property="money" />
  </resultMap>
  <sql id="Base_Column_List">
    <!--@mbg.generated-->
    id, client_id, `year`, `month`, amount, money
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select
    <include refid="Base_Column_List" />
    from st_client_amount_month
    where id = #{id,jdbcType=BIGINT}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
    <!--@mbg.generated-->
    delete from st_client_amount_month
    where id = #{id,jdbcType=BIGINT}
  </delete>
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSt.StClientAmountMonth">
    <!--@mbg.generated-->
    insert into st_client_amount_month (id, client_id, `year`,
      `month`, amount, money)
    values (#{id,jdbcType=BIGINT}, #{clientId,jdbcType=BIGINT}, #{year,jdbcType=INTEGER},
      #{month,jdbcType=INTEGER}, #{amount,jdbcType=FLOAT}, #{money,jdbcType=FLOAT})
  </insert>
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSt.StClientAmountMonth">
    <!--@mbg.generated-->
    insert into st_client_amount_month
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="clientId != null">
        client_id,
      </if>
      <if test="year != null">
        `year`,
      </if>
      <if test="month != null">
        `month`,
      </if>
      <if test="amount != null">
        amount,
      </if>
      <if test="money != null">
        money,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=BIGINT},
      </if>
      <if test="clientId != null">
        #{clientId,jdbcType=BIGINT},
      </if>
      <if test="year != null">
        #{year,jdbcType=INTEGER},
      </if>
      <if test="month != null">
        #{month,jdbcType=INTEGER},
      </if>
      <if test="amount != null">
        #{amount,jdbcType=FLOAT},
      </if>
      <if test="money != null">
        #{money,jdbcType=FLOAT},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSt.StClientAmountMonth">
    <!--@mbg.generated-->
    update st_client_amount_month
    <set>
      <if test="clientId != null">
        client_id = #{clientId,jdbcType=BIGINT},
      </if>
      <if test="year != null">
        `year` = #{year,jdbcType=INTEGER},
      </if>
      <if test="month != null">
        `month` = #{month,jdbcType=INTEGER},
      </if>
      <if test="amount != null">
        amount = #{amount,jdbcType=FLOAT},
      </if>
      <if test="money != null">
        money = #{money,jdbcType=FLOAT},
      </if>
    </set>
    where id = #{id,jdbcType=BIGINT}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSt.StClientAmountMonth">
    <!--@mbg.generated-->
    update st_client_amount_month
    set client_id = #{clientId,jdbcType=BIGINT},
      `year` = #{year,jdbcType=INTEGER},
      `month` = #{month,jdbcType=INTEGER},
      amount = #{amount,jdbcType=FLOAT},
      money = #{money,jdbcType=FLOAT}
    where id = #{id,jdbcType=BIGINT}
  </update>
  <select id="statisticsByClient" resultType="com.dy.pipIrrGlobal.voSt.VoClientAmountStatistics">
    select client_id, sum(amount) as amount, sum(money) as money
    from st_client_amount_month
    where `year` = #{year,jdbcType=INTEGER}
    group by client_id
  </select>
</mapper>
pipIrr-platform/pipIrr-global/src/main/resources/mapper/StClientAmountYearMapper.xml
New file
@@ -0,0 +1,102 @@
<?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.daoSt.StClientAmountYearMapper">
  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSt.StClientAmountYear">
    <!--@mbg.generated-->
    <!--@Table st_client_amount_year-->
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="client_id" jdbcType="BIGINT" property="clientId" />
    <result column="year" jdbcType="INTEGER" property="year" />
    <result column="amount" jdbcType="FLOAT" property="amount" />
    <result column="money" jdbcType="FLOAT" property="money" />
  </resultMap>
  <sql id="Base_Column_List">
    <!--@mbg.generated-->
    id, client_id, `year`, amount, money
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select
    <include refid="Base_Column_List" />
    from st_client_amount_year
    where id = #{id,jdbcType=BIGINT}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
    <!--@mbg.generated-->
    delete from st_client_amount_year
    where id = #{id,jdbcType=BIGINT}
  </delete>
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSt.StClientAmountYear">
    <!--@mbg.generated-->
    insert into st_client_amount_year (id, client_id, `year`,
      amount, money)
    values (#{id,jdbcType=BIGINT}, #{clientId,jdbcType=BIGINT}, #{year,jdbcType=INTEGER},
      #{amount,jdbcType=FLOAT}, #{money,jdbcType=FLOAT})
  </insert>
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSt.StClientAmountYear">
    <!--@mbg.generated-->
    insert into st_client_amount_year
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="clientId != null">
        client_id,
      </if>
      <if test="year != null">
        `year`,
      </if>
      <if test="amount != null">
        amount,
      </if>
      <if test="money != null">
        money,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=BIGINT},
      </if>
      <if test="clientId != null">
        #{clientId,jdbcType=BIGINT},
      </if>
      <if test="year != null">
        #{year,jdbcType=INTEGER},
      </if>
      <if test="amount != null">
        #{amount,jdbcType=FLOAT},
      </if>
      <if test="money != null">
        #{money,jdbcType=FLOAT},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSt.StClientAmountYear">
    <!--@mbg.generated-->
    update st_client_amount_year
    <set>
      <if test="clientId != null">
        client_id = #{clientId,jdbcType=BIGINT},
      </if>
      <if test="year != null">
        `year` = #{year,jdbcType=INTEGER},
      </if>
      <if test="amount != null">
        amount = #{amount,jdbcType=FLOAT},
      </if>
      <if test="money != null">
        money = #{money,jdbcType=FLOAT},
      </if>
    </set>
    where id = #{id,jdbcType=BIGINT}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSt.StClientAmountYear">
    <!--@mbg.generated-->
    update st_client_amount_year
    set client_id = #{clientId,jdbcType=BIGINT},
      `year` = #{year,jdbcType=INTEGER},
      amount = #{amount,jdbcType=FLOAT},
      money = #{money,jdbcType=FLOAT}
    where id = #{id,jdbcType=BIGINT}
  </update>
</mapper>
pipIrr-platform/pipIrr-global/src/main/resources/mapper/StIntakeAmountMonthMapper.xml
New file
@@ -0,0 +1,110 @@
<?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.daoSt.StIntakeAmountMonthMapper">
  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth">
    <!--@mbg.generated-->
    <!--@Table st_intake_amount_month-->
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="intake_id" jdbcType="BIGINT" property="intakeId" />
    <result column="year" jdbcType="INTEGER" property="year" />
    <result column="month" jdbcType="INTEGER" property="month" />
    <result column="amount" jdbcType="FLOAT" property="amount" />
  </resultMap>
  <sql id="Base_Column_List">
    <!--@mbg.generated-->
    id, intake_id, `year`, `month`, amount
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select
    <include refid="Base_Column_List" />
    from st_intake_amount_month
    where id = #{id,jdbcType=BIGINT}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
    <!--@mbg.generated-->
    delete from st_intake_amount_month
    where id = #{id,jdbcType=BIGINT}
  </delete>
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth">
    <!--@mbg.generated-->
    insert into st_intake_amount_month (id, intake_id, `year`,
      `month`, amount)
    values (#{id,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, #{year,jdbcType=INTEGER},
      #{month,jdbcType=INTEGER}, #{amount,jdbcType=FLOAT})
  </insert>
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth">
    <!--@mbg.generated-->
    insert into st_intake_amount_month
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="intakeId != null">
        intake_id,
      </if>
      <if test="year != null">
        `year`,
      </if>
      <if test="month != null">
        `month`,
      </if>
      <if test="amount != null">
        amount,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=BIGINT},
      </if>
      <if test="intakeId != null">
        #{intakeId,jdbcType=BIGINT},
      </if>
      <if test="year != null">
        #{year,jdbcType=INTEGER},
      </if>
      <if test="month != null">
        #{month,jdbcType=INTEGER},
      </if>
      <if test="amount != null">
        #{amount,jdbcType=FLOAT},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth">
    <!--@mbg.generated-->
    update st_intake_amount_month
    <set>
      <if test="intakeId != null">
        intake_id = #{intakeId,jdbcType=BIGINT},
      </if>
      <if test="year != null">
        `year` = #{year,jdbcType=INTEGER},
      </if>
      <if test="month != null">
        `month` = #{month,jdbcType=INTEGER},
      </if>
      <if test="amount != null">
        amount = #{amount,jdbcType=FLOAT},
      </if>
    </set>
    where id = #{id,jdbcType=BIGINT}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth">
    <!--@mbg.generated-->
    update st_intake_amount_month
    set intake_id = #{intakeId,jdbcType=BIGINT},
      `year` = #{year,jdbcType=INTEGER},
      `month` = #{month,jdbcType=INTEGER},
      amount = #{amount,jdbcType=FLOAT}
    where id = #{id,jdbcType=BIGINT}
  </update>
  <select id="statisticsByIntake" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAmountStatistics">
    select intake_id, sum(amount) as amount
    from st_intake_amount_month
    where `year` = #{year,jdbcType=INTEGER}
    group by intake_id
  </select>
</mapper>
pipIrr-platform/pipIrr-global/src/main/resources/mapper/StIntakeAmountYearMapper.xml
New file
@@ -0,0 +1,91 @@
<?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.daoSt.StIntakeAmountYearMapper">
  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSt.StIntakeAmountYear">
    <!--@mbg.generated-->
    <!--@Table st_intake_amount_year-->
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="intake_id" jdbcType="BIGINT" property="intakeId" />
    <result column="year" jdbcType="INTEGER" property="year" />
    <result column="amount" jdbcType="FLOAT" property="amount" />
  </resultMap>
  <sql id="Base_Column_List">
    <!--@mbg.generated-->
    id, intake_id, `year`, amount
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select
    <include refid="Base_Column_List" />
    from st_intake_amount_year
    where id = #{id,jdbcType=BIGINT}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
    <!--@mbg.generated-->
    delete from st_intake_amount_year
    where id = #{id,jdbcType=BIGINT}
  </delete>
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSt.StIntakeAmountYear">
    <!--@mbg.generated-->
    insert into st_intake_amount_year (id, intake_id, `year`,
      amount)
    values (#{id,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, #{year,jdbcType=INTEGER},
      #{amount,jdbcType=FLOAT})
  </insert>
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSt.StIntakeAmountYear">
    <!--@mbg.generated-->
    insert into st_intake_amount_year
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="intakeId != null">
        intake_id,
      </if>
      <if test="year != null">
        `year`,
      </if>
      <if test="amount != null">
        amount,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=BIGINT},
      </if>
      <if test="intakeId != null">
        #{intakeId,jdbcType=BIGINT},
      </if>
      <if test="year != null">
        #{year,jdbcType=INTEGER},
      </if>
      <if test="amount != null">
        #{amount,jdbcType=FLOAT},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSt.StIntakeAmountYear">
    <!--@mbg.generated-->
    update st_intake_amount_year
    <set>
      <if test="intakeId != null">
        intake_id = #{intakeId,jdbcType=BIGINT},
      </if>
      <if test="year != null">
        `year` = #{year,jdbcType=INTEGER},
      </if>
      <if test="amount != null">
        amount = #{amount,jdbcType=FLOAT},
      </if>
    </set>
    where id = #{id,jdbcType=BIGINT}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSt.StIntakeAmountYear">
    <!--@mbg.generated-->
    update st_intake_amount_year
    set intake_id = #{intakeId,jdbcType=BIGINT},
      `year` = #{year,jdbcType=INTEGER},
      amount = #{amount,jdbcType=FLOAT}
    where id = #{id,jdbcType=BIGINT}
  </update>
</mapper>
pipIrr-platform/pipIrr-global/src/main/resources/mapper/StLossMonthMapper.xml
New file
@@ -0,0 +1,111 @@
<?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.daoSt.StLossMonthMapper">
  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSt.StLossMonth">
    <!--@mbg.generated-->
    <!--@Table st_loss_month-->
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="intake_id" jdbcType="BIGINT" property="intakeId" />
    <result column="year" jdbcType="INTEGER" property="year" />
    <result column="month" jdbcType="INTEGER" property="month" />
    <result column="amount" jdbcType="FLOAT" property="amount" />
  </resultMap>
  <sql id="Base_Column_List">
    <!--@mbg.generated-->
    id, intake_id, `year`, `month`, amount
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select
    <include refid="Base_Column_List" />
    from st_loss_month
    where id = #{id,jdbcType=BIGINT}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
    <!--@mbg.generated-->
    delete from st_loss_month
    where id = #{id,jdbcType=BIGINT}
  </delete>
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSt.StLossMonth">
    <!--@mbg.generated-->
    insert into st_loss_month (id, intake_id, `year`,
      `month`, amount)
    values (#{id,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, #{year,jdbcType=INTEGER},
      #{month,jdbcType=INTEGER}, #{amount,jdbcType=FLOAT})
  </insert>
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSt.StLossMonth">
    <!--@mbg.generated-->
    insert into st_loss_month
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="intakeId != null">
        intake_id,
      </if>
      <if test="year != null">
        `year`,
      </if>
      <if test="month != null">
        `month`,
      </if>
      <if test="amount != null">
        amount,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=BIGINT},
      </if>
      <if test="intakeId != null">
        #{intakeId,jdbcType=BIGINT},
      </if>
      <if test="year != null">
        #{year,jdbcType=INTEGER},
      </if>
      <if test="month != null">
        #{month,jdbcType=INTEGER},
      </if>
      <if test="amount != null">
        #{amount,jdbcType=FLOAT},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSt.StLossMonth">
    <!--@mbg.generated-->
    update st_loss_month
    <set>
      <if test="intakeId != null">
        intake_id = #{intakeId,jdbcType=BIGINT},
      </if>
      <if test="year != null">
        `year` = #{year,jdbcType=INTEGER},
      </if>
      <if test="month != null">
        `month` = #{month,jdbcType=INTEGER},
      </if>
      <if test="amount != null">
        amount = #{amount,jdbcType=FLOAT},
      </if>
    </set>
    where id = #{id,jdbcType=BIGINT}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSt.StLossMonth">
    <!--@mbg.generated-->
    update st_loss_month
    set intake_id = #{intakeId,jdbcType=BIGINT},
      `year` = #{year,jdbcType=INTEGER},
      `month` = #{month,jdbcType=INTEGER},
      amount = #{amount,jdbcType=FLOAT}
    where id = #{id,jdbcType=BIGINT}
  </update>
  <select id="statisticsByIntake" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeLossStatistics">
    select intake_id, sum(amount) as amount
    from st_loss_month
    where `year` = #{year,jdbcType=INTEGER}
    group by intake_id
  </select>
</mapper>
pipIrr-platform/pipIrr-global/src/main/resources/mapper/StLossYearMapper.xml
New file
@@ -0,0 +1,90 @@
<?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.daoSt.StLossYearMapper">
  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSt.StLossYear">
    <!--@mbg.generated-->
    <!--@Table st_loss_year-->
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="intake_id" jdbcType="BIGINT" property="intakeId" />
    <result column="year" jdbcType="INTEGER" property="year" />
    <result column="amount" jdbcType="FLOAT" property="amount" />
  </resultMap>
  <sql id="Base_Column_List">
    <!--@mbg.generated-->
    id, intake_id, `year`, amount
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
    <!--@mbg.generated-->
    select
    <include refid="Base_Column_List" />
    from st_loss_year
    where id = #{id,jdbcType=BIGINT}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
    <!--@mbg.generated-->
    delete from st_loss_year
    where id = #{id,jdbcType=BIGINT}
  </delete>
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSt.StLossYear">
    <!--@mbg.generated-->
    insert into st_loss_year (id, intake_id, `year`, amount)
    values (#{id,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, #{year,jdbcType=INTEGER},
    #{amount,jdbcType=FLOAT})
  </insert>
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSt.StLossYear">
    <!--@mbg.generated-->
    insert into st_loss_year
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="intakeId != null">
        intake_id,
      </if>
      <if test="year != null">
        `year`,
      </if>
      <if test="amount != null">
        amount,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=BIGINT},
      </if>
      <if test="intakeId != null">
        #{intakeId,jdbcType=BIGINT},
      </if>
      <if test="year != null">
        #{year,jdbcType=INTEGER},
      </if>
      <if test="amount != null">
        #{amount,jdbcType=FLOAT},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSt.StLossYear">
    <!--@mbg.generated-->
    update st_loss_year
    <set>
      <if test="intakeId != null">
        intake_id = #{intakeId,jdbcType=BIGINT},
      </if>
      <if test="year != null">
        `year` = #{year,jdbcType=INTEGER},
      </if>
      <if test="amount != null">
        amount = #{amount,jdbcType=FLOAT},
      </if>
    </set>
    where id = #{id,jdbcType=BIGINT}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSt.StLossYear">
    <!--@mbg.generated-->
    update st_loss_year
    set intake_id = #{intakeId,jdbcType=BIGINT},
    `year` = #{year,jdbcType=INTEGER},
    amount = #{amount,jdbcType=FLOAT}
    where id = #{id,jdbcType=BIGINT}
  </update>
</mapper>
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java
@@ -1,14 +1,11 @@
package com.dy.rtuMw.server.rtuData.dbSv;
import com.dy.common.util.NumUtil;
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.pipIrrGlobal.daoBa.BaClientMapper;
import com.dy.pipIrrGlobal.daoPr.PrControllerMapper;
import com.dy.pipIrrGlobal.daoPr.PrControllerTrampMapper;
import com.dy.pipIrrGlobal.daoRm.*;
import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper;
import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper;
import com.dy.pipIrrGlobal.pojoBa.BaClient;
import com.dy.pipIrrGlobal.pojoPr.PrController;
import com.dy.pipIrrGlobal.pojoPr.PrControllerTramp;
import com.dy.pipIrrGlobal.pojoRm.*;
@@ -58,9 +55,9 @@
    @Autowired
    private RmClientAmountDayMapper rmClientAmountDayMapperDao ;//农户日用水量统计数据DAO
    @Autowired
    private RmLossLastMapper rmLossLastMapperDao ;//控制器漏损水量统计最新数据DAO
    private RmLossDayLastMapper rmLossLastMapperDao ;//控制器漏损水量统计最新数据DAO
    @Autowired
    private RmLossHistoryMapper rmLossHistoryMapperDao ;//控制器漏损水量统计历史数据DAO
    private RmLossDayMapper rmLossHistoryMapperDao ;//控制器漏损水量统计历史数据DAO
    @Autowired
    private RmCommandHistoryMapper rmCommandHistoryDao ;//远程命令日志相关
    @Autowired
@@ -559,8 +556,8 @@
     * @param intakeId
     * @return
     */
    public RmLossLast getRmLossLast(Long intakeId){
        List<RmLossLast> list = rmLossLastMapperDao.selectByIntakeId(intakeId) ;
    public RmLossDayLast getRmLossLast(Long intakeId){
        List<RmLossDayLast> list = rmLossLastMapperDao.selectByIntakeId(intakeId) ;
        if(list != null && list.size() > 0){
            return list.get(0) ;
        }
@@ -571,7 +568,7 @@
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void saveRmLossLast(RmLossLast po){
    public void saveRmLossLast(RmLossDayLast po){
        this.rmLossLastMapperDao.insert(po) ;
    }
  /**
@@ -579,7 +576,7 @@
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void saveRmLossHistory(RmLossHistory po){
    public void saveRmLossHistory(RmLossDay po){
        this.rmLossHistoryMapperDao.insert(po) ;
    }
    /**
@@ -587,7 +584,7 @@
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void updateRmLossLast(RmLossLast po){
    public void updateRmLossLast(RmLossDayLast po){
        this.rmLossLastMapperDao.updateByPrimaryKey(po) ;
    }
    /**
@@ -595,7 +592,7 @@
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void updateRmLossHistory(RmLossHistory po){
    public void updateRmLossHistory(RmLossDay po){
        this.rmLossHistoryMapperDao.updateByPrimaryKey(po) ;
    }
@@ -604,7 +601,7 @@
     * @param id
     * @return
     */
    public RmLossHistory getRmLossHistory(Long id){
    public RmLossDay getRmLossHistory(Long id){
        return rmLossHistoryMapperDao.selectByPrimaryKey(id) ;
    }
@@ -614,8 +611,8 @@
     * @param dt
     * @return
     */
    public RmLossLast getRmLossLastByDate(Date dt){
        List<RmLossLast> list = rmLossLastMapperDao.selectByDate(dt) ;
    public RmLossDayLast getRmLossLastByDate(Date dt){
        List<RmLossDayLast> list = rmLossLastMapperDao.selectByDate(dt) ;
        if(list != null && list.size() > 0){
            return list.get(0) ;
        }
@@ -627,8 +624,8 @@
     * @param dt
     * @return
     */
    public RmLossHistory getRmLossHistoryByDate(Date dt){
        List<RmLossHistory> list = rmLossHistoryMapperDao.selectByDate(dt) ;
    public RmLossDay getRmLossHistoryByDate(Date dt){
        List<RmLossDay> list = rmLossHistoryMapperDao.selectByDate(dt) ;
        if(list != null && list.size() > 0){
            return list.get(0) ;
        }
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealLoss.java
@@ -1,7 +1,7 @@
package com.dy.rtuMw.server.rtuData.p206V1_0_0;
import com.dy.pipIrrGlobal.pojoRm.RmLossHistory;
import com.dy.pipIrrGlobal.pojoRm.RmLossLast;
import com.dy.pipIrrGlobal.pojoRm.RmLossDay;
import com.dy.pipIrrGlobal.pojoRm.RmLossDayLast;
import com.dy.rtuMw.server.rtuData.TaskSurpport;
import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
import com.dy.common.mw.protocol.Data;
@@ -56,7 +56,7 @@
     * @param dataCdC0Vo 开阀上报数据对象
     */
    private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo) throws Exception {
        RmLossLast poLast = sv.getRmLossLast(controller.getIntakeId());
        RmLossDayLast poLast = sv.getRmLossLast(controller.getIntakeId());
        if (poLast == null) {
            //数据库中不存在该取水口的漏损数据
            //首先生成最新数据及历史数据,并先保存
@@ -67,7 +67,7 @@
            if(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCdC0Vo.rtuDt).equals(poLast.dtRtu)){
                //时间一致,重复上报数据,不进行任何处理
            }else{
                RmLossHistory poHistory = null ;
                RmLossDay poHistory = null ;
                if(poLast.lastHistoryId != null){
                    poHistory = sv.getRmLossHistory(poLast.lastHistoryId) ;
                }
@@ -107,8 +107,8 @@
     * @return
     * @throws Exception
     */
    private RmLossLast newRmLossLast(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo cdData)throws Exception {
        RmLossLast po = new RmLossLast() ;
    private RmLossDayLast newRmLossLast(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo cdData)throws Exception {
        RmLossDayLast po = new RmLossDayLast() ;
        po.controllerId = controller==null?null:controller.getId();
        po.intakeId = controller==null?null:controller.getIntakeId();
        po.rtuAddr = rtuAddr;
@@ -125,8 +125,8 @@
     * @return
     * @throws Exception
     */
    private RmLossHistory newRmLossHistory(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo cdData)throws Exception {
        RmLossHistory po = new RmLossHistory() ;
    private RmLossDay newRmLossHistory(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo cdData)throws Exception {
        RmLossDay po = new RmLossDay() ;
        po.controllerId = controller==null?null:controller.getId();
        po.intakeId = controller==null?null:controller.getIntakeId();
        po.rtuAddr = rtuAddr;
@@ -146,8 +146,8 @@
     * @throws Exception
     * @return RmLossHistory
     */
    private RmLossHistory newAndSaveHistoryDataDeal(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo, RmLossLast poLast)throws Exception {
        RmLossHistory poHistory = this.newRmLossHistory(controller, rtuAddr, dV1_0_1, dataCdC0Vo) ;
    private RmLossDay newAndSaveHistoryDataDeal(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo, RmLossDayLast poLast)throws Exception {
        RmLossDay poHistory = this.newRmLossHistory(controller, rtuAddr, dV1_0_1, dataCdC0Vo) ;
        sv.saveRmLossHistory(poHistory);
        //由最新数据持有历史数据中的最新记录ID,以方便快速查询
        poLast.lastHistoryId = poHistory == null ? null: poHistory.id ;
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/listeners/StLossSv.java
File was deleted
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/listeners/StatisticsJob.java
File was deleted
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StClient.java
File was renamed from pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/listeners/StClient.java
@@ -1,4 +1,4 @@
package com.dy.pipIrrStatistics.listeners;
package com.dy.pipIrrStatistics.statistics;
import com.dy.pipIrrGlobal.daoRm.RmClientAmountDayMapper;
import org.apache.logging.log4j.LogManager;
@@ -16,17 +16,21 @@
    private static Logger log = LogManager.getLogger(StClient.class.getName()) ;
    @Autowired
    protected RmClientAmountDayMapper rmClientAmountDayDao ;
    private String statisticsYyyy_mm;
    @Autowired
    protected StClientSv sv ;
    private Integer statisticsYear;
    private Integer statisticsMonth;
    private Long statisticsStartId ;
    private Long statisticsEndId ;
    protected void statistics(String statisticsYyyy_mm,
    protected void statistics(Integer statisticsYear,
                              Integer statisticsMonth,
                              Long statisticsStartId,
                              Long statisticsEndId){
        this.statisticsYyyy_mm = statisticsYyyy_mm ;
        this.statisticsYear = statisticsYear ;
        this.statisticsMonth = statisticsMonth ;
        this.statisticsStartId = statisticsStartId ;
        this.statisticsEndId = statisticsEndId ;
        this.statisticsMonth() ;
@@ -37,14 +41,13 @@
     * 月统计---农户
     */
    private void statisticsMonth(){
        log.info(statisticsYyyy_mm + "  " + statisticsStartId + "  " + statisticsEndId);
        log.info(rmClientAmountDayDao.toString());
        sv.statisticsMonth(statisticsYear, statisticsMonth, statisticsStartId, statisticsEndId);
    }
    /**
     * 年统计---农户
     */
    private void statisticsYear(){
        sv.statisticsYear(statisticsYear);
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StClientSv.java
New file
@@ -0,0 +1,66 @@
package com.dy.pipIrrStatistics.statistics;
import com.dy.pipIrrGlobal.daoRm.RmClientAmountDayMapper;
import com.dy.pipIrrGlobal.daoSt.StClientAmountMonthMapper;
import com.dy.pipIrrGlobal.daoSt.StClientAmountYearMapper;
import com.dy.pipIrrGlobal.pojoSt.StClientAmountMonth;
import com.dy.pipIrrGlobal.pojoSt.StClientAmountYear;
import com.dy.pipIrrGlobal.voSt.VoClientAmountStatistics;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
 * @Author: liurunyu
 * @Date: 2024/7/24 16:28
 * @Description
 */
@Component
public class StClientSv {
    @Autowired
    protected RmClientAmountDayMapper rmClientAmountDayDao;
    @Autowired
    protected StClientAmountMonthMapper stClientAmountMonthDao ;
    @Autowired
    protected StClientAmountYearMapper stClientAmountYearDao ;
    /**
     * 月统计---漏损
     */
    @Transactional
    protected void statisticsMonth(Integer statisticsYear, Integer statisticsMonth, Long statisticsStartId, Long statisticsEndId){
        List<VoClientAmountStatistics> list = rmClientAmountDayDao.statisticsByClient(statisticsStartId, statisticsEndId) ;
        if(list != null && list.size() > 0){
            for(VoClientAmountStatistics vo : list){
                StClientAmountMonth po = new StClientAmountMonth() ;
                po.clientId = vo.clientId ;
                po.year = statisticsYear ;
                po.month = statisticsMonth ;
                po.amount = vo.amount;
                stClientAmountMonthDao.insert(po) ;
            }
        }
    }
    /**
     * 年统计---漏损
     */
    @Transactional
    protected void statisticsYear(Integer statisticsYear){
        List<VoClientAmountStatistics> list = stClientAmountMonthDao.statisticsByClient(statisticsYear) ;
        if(list != null && list.size() > 0){
            for(VoClientAmountStatistics vo : list){
                StClientAmountYear po = new StClientAmountYear() ;
                po.clientId = vo.clientId ;
                po.year = statisticsYear ;
                po.amount = vo.amount;
                stClientAmountYearDao.insert(po) ;
            }
        }
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StIntake.java
File was renamed from pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/listeners/StIntake.java
@@ -1,4 +1,4 @@
package com.dy.pipIrrStatistics.listeners;
package com.dy.pipIrrStatistics.statistics;
import com.dy.pipIrrGlobal.daoRm.RmIntakeAmountDayMapper;
import org.apache.logging.log4j.LogManager;
@@ -17,16 +17,19 @@
    private static Logger log = LogManager.getLogger(StIntake.class.getName()) ;
    @Autowired
    protected RmIntakeAmountDayMapper rmIntakeAmountDayDao ;
    protected StIntakeSv sv ;
    private String statisticsYyyy_mm;
    private Integer statisticsYear;
    private Integer statisticsMonth;
    private Long statisticsStartId ;
    private Long statisticsEndId ;
    protected void statistics(String statisticsYyyy_mm,
    protected void statistics(Integer statisticsYear,
                              Integer statisticsMonth,
                              Long statisticsStartId,
                              Long statisticsEndId){
        this.statisticsYyyy_mm = statisticsYyyy_mm ;
        this.statisticsYear = statisticsYear ;
        this.statisticsMonth = statisticsMonth ;
        this.statisticsStartId = statisticsStartId ;
        this.statisticsEndId = statisticsEndId ;
        this.statisticsMonth() ;
@@ -37,14 +40,13 @@
     * 月统计---取水口
     */
    private void statisticsMonth(){
        log.info(statisticsYyyy_mm + "  " + statisticsStartId + "  " + statisticsEndId);
        log.info(rmIntakeAmountDayDao.toString());
        sv.statisticsMonth(statisticsYear, statisticsMonth, statisticsStartId, statisticsEndId);
    }
    /**
     * 年统计---取水口
     */
    private void statisticsYear(){
        sv.statisticsYear(statisticsYear);
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StIntakeSv.java
New file
@@ -0,0 +1,66 @@
package com.dy.pipIrrStatistics.statistics;
import com.dy.pipIrrGlobal.daoRm.RmIntakeAmountDayMapper;
import com.dy.pipIrrGlobal.daoSt.StIntakeAmountMonthMapper;
import com.dy.pipIrrGlobal.daoSt.StIntakeAmountYearMapper;
import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth;
import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountYear;
import com.dy.pipIrrGlobal.voSt.VoIntakeAmountStatistics;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
 * @Author: liurunyu
 * @Date: 2024/7/24 16:28
 * @Description
 */
@Component
public class StIntakeSv {
    @Autowired
    protected RmIntakeAmountDayMapper rmIntakeAmountDayDao;
    @Autowired
    protected StIntakeAmountMonthMapper stIntakeAmountMonthDao ;
    @Autowired
    protected StIntakeAmountYearMapper stIntakeAmountYearDao ;
    /**
     * 月统计---漏损
     */
    @Transactional
    protected void statisticsMonth(Integer statisticsYear, Integer statisticsMonth, Long statisticsStartId, Long statisticsEndId){
        List<VoIntakeAmountStatistics> list = rmIntakeAmountDayDao.statisticsByIntake(statisticsStartId, statisticsEndId) ;
        if(list != null && list.size() > 0){
            for(VoIntakeAmountStatistics vo : list){
                StIntakeAmountMonth po = new StIntakeAmountMonth() ;
                po.intakeId = vo.intakeId ;
                po.year = statisticsYear ;
                po.month = statisticsMonth ;
                po.amount = vo.amount;
                stIntakeAmountMonthDao.insert(po) ;
            }
        }
    }
    /**
     * 年统计---漏损
     */
    @Transactional
    protected void statisticsYear(Integer statisticsYear){
        List<VoIntakeAmountStatistics> list = stIntakeAmountMonthDao.statisticsByIntake(statisticsYear) ;
        if(list != null && list.size() > 0){
            for(VoIntakeAmountStatistics vo : list){
                StIntakeAmountYear po = new StIntakeAmountYear() ;
                po.intakeId = vo.intakeId ;
                po.year = statisticsYear ;
                po.amount = vo.amount;
                stIntakeAmountYearDao.insert(po) ;
            }
        }
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StLoss.java
File was renamed from pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/listeners/StLoss.java
@@ -1,6 +1,5 @@
package com.dy.pipIrrStatistics.listeners;
package com.dy.pipIrrStatistics.statistics;
import com.dy.pipIrrGlobal.daoRm.RmLossHistoryMapper;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
@@ -17,16 +16,19 @@
    private static Logger log = LogManager.getLogger(StLoss.class.getName()) ;
    @Autowired
    protected RmLossHistoryMapper rmLossHistoryDao ;
    protected StLossSv sv ;
    private String statisticsYyyy_mm;
    private Integer statisticsYear;
    private Integer statisticsMonth;
    private Long statisticsStartId ;
    private Long statisticsEndId ;
    protected void statistics(String statisticsYyyy_mm,
    protected void statistics(Integer statisticsYear,
                              Integer statisticsMonth,
                              Long statisticsStartId,
                              Long statisticsEndId){
        this.statisticsYyyy_mm = statisticsYyyy_mm ;
        this.statisticsYear = statisticsYear ;
        this.statisticsMonth = statisticsMonth ;
        this.statisticsStartId = statisticsStartId ;
        this.statisticsEndId = statisticsEndId ;
        this.statisticsMonth() ;
@@ -37,14 +39,13 @@
     * 月统计---漏损
     */
    private void statisticsMonth(){
        log.info(statisticsYyyy_mm + "  " + statisticsStartId + "  " + statisticsEndId);
        log.info(rmLossHistoryDao.toString());
        sv.statisticsMonth(statisticsYear, statisticsMonth, statisticsStartId, statisticsEndId);
    }
    /**
     * 年统计---漏损
     */
    private void statisticsYear(){
        sv.statisticsYear(statisticsYear);
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StLossSv.java
New file
@@ -0,0 +1,66 @@
package com.dy.pipIrrStatistics.statistics;
import com.dy.pipIrrGlobal.daoRm.RmLossDayMapper;
import com.dy.pipIrrGlobal.daoSt.StLossMonthMapper;
import com.dy.pipIrrGlobal.daoSt.StLossYearMapper;
import com.dy.pipIrrGlobal.pojoSt.StLossMonth;
import com.dy.pipIrrGlobal.pojoSt.StLossYear;
import com.dy.pipIrrGlobal.voSt.VoIntakeLossStatistics;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
 * @Author: liurunyu
 * @Date: 2024/7/24 11:24
 * @Description
 */
@Component
public class StLossSv {
    @Autowired
    protected RmLossDayMapper rmLossDayDao;
    @Autowired
    protected StLossMonthMapper stLossMonthDao ;
    @Autowired
    protected StLossYearMapper stLossYearDao ;
    /**
     * 月统计---漏损
     */
    @Transactional
    protected void statisticsMonth(Integer statisticsYear, Integer statisticsMonth, Long statisticsStartId, Long statisticsEndId){
        List<VoIntakeLossStatistics> list = rmLossDayDao.statisticsByIntake(statisticsStartId, statisticsEndId) ;
        if(list != null && list.size() > 0){
            for(VoIntakeLossStatistics vo : list){
                StLossMonth po = new StLossMonth() ;
                po.intakeId = vo.intakeId ;
                po.year = statisticsYear ;
                po.month = statisticsMonth ;
                po.amount = vo.amount;
                stLossMonthDao.insert(po) ;
            }
        }
    }
    /**
     * 年统计---漏损
     */
    @Transactional
    protected void statisticsYear(Integer statisticsYear){
        List<VoIntakeLossStatistics> list = stLossMonthDao.statisticsByIntake(statisticsYear) ;
        if(list != null && list.size() > 0){
            for(VoIntakeLossStatistics vo : list){
                StLossYear po = new StLossYear() ;
                po.intakeId = vo.intakeId ;
                po.year = statisticsYear ;
                po.amount = vo.amount;
                stLossYearDao.insert(po) ;
            }
        }
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StatisticsJob.java
New file
@@ -0,0 +1,79 @@
package com.dy.pipIrrStatistics.statistics;
import com.dy.common.multiDataSource.DataSourceContext;
import com.dy.common.schedulerTask.TaskJob;
import com.dy.common.schedulerTask.Test;
import com.dy.common.springUtil.SpringContextUtil;
import com.dy.common.util.DateTime;
import com.dy.common.util.IDLongGenerator;
import com.dy.pipIrrGlobal.util.Org;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import java.util.List;
/**
 * @Author: liurunyu
 * @Date: 2024/7/22 16:41
 * @Description
 */
public class StatisticsJob extends TaskJob {
    private static Logger log = LogManager.getLogger(Test.class.getName()) ;
    private StLoss stLoss ;
    private StIntake stIntake ;
    private StClient stClient ;
    private Integer statisticsYear;
    private Integer statisticsMonth;
    private Long statisticsStartId ;
    private Long statisticsEndId ;
    @Override
    public void execute(JobExecutionContext ctx) throws JobExecutionException {
        stLoss = SpringContextUtil.getBean(StLoss.class);
        stIntake = SpringContextUtil.getBean(StIntake.class);
        stClient = SpringContextUtil.getBean(StClient.class);
        if(stLoss != null && stIntake != null && stClient != null){
            int[] ymd = DateTime.yyyy_MM_dd_2_ymdGroup(DateTime.yyyy_MM_dd()) ;
            if(ymd[2] == 1){
                //统计上个月的
                String statisticsYyyy_mm = DateTime.lastMonth_ym() ; //统计年月
                statisticsYear = Integer.parseInt(statisticsYyyy_mm.substring(0, 4)) ;//统计年
                statisticsMonth = Integer.parseInt(statisticsYyyy_mm.substring(5, 7)) ;//统计月
                statisticsStartId = IDLongGenerator.generateOneDayStartId(statisticsYear, statisticsMonth, 1) ;
                statisticsEndId = IDLongGenerator.generateOneDayEndId(statisticsYear, statisticsMonth, 31) ;
            }else{
                //统计本月的
                statisticsYear = ymd[0] ;//统计月
                statisticsMonth =  ymd[1] ;//统计月
                statisticsStartId = IDLongGenerator.generateOneDayStartId(ymd[0], ymd[1], 1) ;
                statisticsEndId = IDLongGenerator.generateOneDayEndId(ymd[0], ymd[1], 31) ;
            }
            doStatistics() ;
        }else{
            log.error("未能从Spring容器中得到统计bean");
        }
    }
    /**
     * 统计
     */
    private void doStatistics(){
        List<Org.OrgVo> orgList = Org.OrgList ;
        if(orgList != null && orgList.size() >0){
            for(Org.OrgVo vo : orgList){
                DataSourceContext.set(vo.tag);//设置数据源
                stLoss.statistics(statisticsYear, statisticsMonth, statisticsStartId, statisticsEndId) ;
                stIntake.statistics(statisticsYear, statisticsMonth, statisticsStartId, statisticsEndId) ;
                stClient.statistics(statisticsYear, statisticsMonth, statisticsStartId, statisticsEndId) ;
            }
        }
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StatisticsListener.java
File was renamed from pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/listeners/StatisticsListener.java
@@ -1,4 +1,4 @@
package com.dy.pipIrrStatistics.listeners;
package com.dy.pipIrrStatistics.statistics;
/**
 * @Author: liurunyu
@@ -9,7 +9,6 @@
import com.dy.common.schedulerTask.SchedulerTaskSupport;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.ApplicationListener;
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/util/OrgListener.java
New file
@@ -0,0 +1,22 @@
package com.dy.pipIrrStatistics.util;
import com.dy.pipIrrGlobal.util.OrgListenerSupport;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
@Component
public class OrgListener extends OrgListenerSupport implements ApplicationListener<ApplicationReadyEvent> {
    @Override
    public void onApplicationEvent(ApplicationReadyEvent event) {
        try {
            //等1秒,等待com.alibaba.druid.pool.DruidDataSource实始化完成
            Thread.sleep(1000L);
        } catch (InterruptedException e) {
            e.printStackTrace();
        } finally {
            super.init();
        }
    }
}