wuzeyu
2024-12-16 f4b840c5374dd3cd916a656396818a96d25a631b
Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV
9个文件已修改
4个文件已添加
543 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/DateTime.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoTmp/ChangeMapper.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/application-global(sp沙盘系统).yml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/application-global(test测试系统).yml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/application-global(ym元谋系统).yml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/Temp4ChangeMapper.xml 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(sp沙盘).xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(test测试).xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/changeSome/ChSomeCtrl.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/changeSome/ChSomeIntakeAmountSv.java 250 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/resources/log4j2.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-temp/说明.txt 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/DateTime.java
@@ -484,6 +484,12 @@
    /**
     * ä¸¤ä¸ªæ—¥æœŸç›¸å·®å¤©æ•°
     */
    public static long daysBetweenyyyy_MM_dd(Date yyyy_MM_dd_1 , Date yyyy_MM_dd_2)throws Exception{
        return ((((yyyy_MM_dd_1.getTime() - yyyy_MM_dd_2.getTime())/1000)/60)/60)/24 ;
    }
    /**
     * ä¸¤ä¸ªæ—¥æœŸç›¸å·®å¤©æ•°
     */
    public static long daysBetweenyyyyMMdd(String yyyyMMdd_1 , String yyyyMMdd_2)throws Exception{
        return ((((dateFrom_yyyy_MM_dd(yyyyMMdd_1).getTime()-dateFrom_yyyy_MM_dd(yyyyMMdd_2).getTime())/1000)/60)/60)/24 ;
    }
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoTmp/ChangeMapper.java
New file
@@ -0,0 +1,88 @@
package com.dy.pipIrrGlobal.daoTmp;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDay;
import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth;
import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountYear;
import com.dy.pipIrrGlobal.voSt.VoIntake;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
/**
 * @Author: liurunyu
 * @Date: 2024/12/14 09:27
 * @Description
 */
@Mapper
public interface ChangeMapper extends BaseMapper<Object> {
    /**
     * æŸ¥è¯¢å…¨éƒ¨å–水口
     *
     * @return å®žä½“集合
     */
    List<VoIntake> selectAllPrIntakes();
    /**
     * æŸ¥è¯¢ä¸€ä¸ªå–水口的日用水量统计记录
     *
     * @return å®žä½“集合
     */
    List<RmIntakeAmountDay> selectOneIntakeAllAmountDay(@Param("intakeId")Long intakeId);
    /**
     * æ›´æ–°ä¸€ä¸ªå–水口的日用水量统计
     *
     * @return å½±å“å®žä½“æ•°
     */
    int updateOneIntakeAmountDay(@Param("id")Long id, @Param("amount")Double amount);
    /**
     * åˆ é™¤æ‰€æœ‰å–水口的月用水量统计
     * @return å½±å“å®žä½“æ•°
     */
    int deleteAllIntakeAmountMonth();
    /**
     * ç»Ÿè®¡æ‰€æœ‰å–水口的月用水量
     * @return å®žä½“集合
     */
    List<StIntakeAmountMonth> statisticAllIntakeAmountMonthFromAmountDay(@Param("startDt")Date startDt,
                                                                         @Param("endDt")Date endDt);
    /**
     * ä¿å­˜å–水口的月用水量统计
     * @return å½±å“å®žä½“æ•°
     */
    int saveOneIntakeAmountMonth(StIntakeAmountMonth pojo);
    /**
     * åˆ é™¤æ‰€æœ‰å–水口的年用水量统计
     * @return å½±å“å®žä½“æ•°
     */
    int deleteAllIntakeAmountYear();
    /**
     * ç»Ÿè®¡æ‰€æœ‰å–水口的年用水量
     * @return å®žä½“集合
     */
    List<StIntakeAmountYear> statisticAllIntakeAmountYearFromAmountDay(@Param("startDt")Date startDt,
                                                                       @Param("endDt")Date endDt);
    /**
     * ä¿å­˜å–水口的月用水量统计
     * @return å½±å“å®žä½“æ•°
     */
    int saveOneIntakeAmountYear(StIntakeAmountYear pojo);
}
pipIrr-platform/pipIrr-global/src/main/resources/application-global(spɳÅÌϵͳ).yml
@@ -137,7 +137,13 @@
        webPort: 8089
        actutorPort: 9089
        idSuffix: 11
    # 2023-10-24新增,用于执行临时任务,例如删除数据库中上些出错的数据
    temp:
        webPort: 8099
        actutorPort: 9099
        idSuffix: 98
    # åˆ†å¸ƒå¼web文件系统
    file:
        idSuffix: 99
    file1:
pipIrr-platform/pipIrr-global/src/main/resources/application-global(test²âÊÔϵͳ).yml
@@ -137,7 +137,13 @@
        webPort: 8089
        actutorPort: 9089
        idSuffix: 11
    # 2023-10-24新增,用于执行临时任务,例如删除数据库中上些出错的数据
    temp:
        webPort: 8099
        actutorPort: 9099
        idSuffix: 98
    # åˆ†å¸ƒå¼web文件系统
    file:
        idSuffix: 99
    file1:
pipIrr-platform/pipIrr-global/src/main/resources/application-global(ymԪıϵͳ).yml
@@ -137,7 +137,13 @@
        webPort: 8089
        actutorPort: 9089
        idSuffix: 11
    # 2023-10-24新增,用于执行临时任务,例如删除数据库中上些出错的数据
    temp:
        webPort: 8099
        actutorPort: 9099
        idSuffix: 98
    # åˆ†å¸ƒå¼web文件系统
    file:
        idSuffix: 99
    file1:
pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
@@ -80,8 +80,6 @@
    global:
        dev: false  #是否开发阶段,true或false
        dsName: ym  #开发阶段,设置临时的数据库名称
    sql:
        print: true  #是否打印SQL语句,true或false
    nginx:
        webPort: 54321
    mw:
pipIrr-platform/pipIrr-global/src/main/resources/mapper/Temp4ChangeMapper.xml
New file
@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dy.pipIrrGlobal.daoTmp.ChangeMapper">
    <!-- æŸ¥è¯¢å‡ºæ‰€æœ‰å–水口 -->
    <select id="selectAllPrIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntake">
        select id as intakeId,
               name as intakeNum
        from  pr_intake
        order by id ASC
    </select>
    <!-- å–水口取水量日统计相关, æ­¤SQL中的 â€order by id ASC â€œä¸å¯ä¿®æ”¹ -->
    <select id="selectOneIntakeAllAmountDay" resultType="com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDay">
        select id as id,
               intake_id as intakeId ,
               dt as dt,
               amount as amount,
               total_amount_last as totalAmountLast
        from  rm_intake_amount_day
        where intake_id = #{intakeId}
        order by id ASC
    </select>
    <!-- ä¿®æ”¹å–水口取水量日统计 -->
    <update id="updateOneIntakeAmountDay" >
        update rm_intake_amount_day
        set amount = #{amount, jdbcType=FLOAT}
        where id = #{id, jdbcType=BIGINT}
    </update>
    <delete id="deleteAllIntakeAmountMonth">
        delete from st_intake_amount_month
    </delete>
    <!--  -->
    <select id="statisticAllIntakeAmountMonthFromAmountDay" resultType="com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth">
        select intake_id as intakeId ,
        sum(amount) as amount
        from  rm_intake_amount_day
        where dt <![CDATA[>=]]> #{startDt, jdbcType=DATE}
        and dt <![CDATA[<=]]> #{endDt, jdbcType=DATE}
        group by intake_id
    </select>
    <insert id="saveOneIntakeAmountMonth" 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>
    <delete id="deleteAllIntakeAmountYear">
        delete from st_intake_amount_year
    </delete>
    <!--  -->
    <select id="statisticAllIntakeAmountYearFromAmountDay" resultType="com.dy.pipIrrGlobal.pojoSt.StIntakeAmountYear">
        select intake_id as intakeId ,
        sum(amount) as amount
        from  rm_intake_amount_day
        where dt <![CDATA[>=]]> #{startDt, jdbcType=DATE}
        and dt <![CDATA[<=]]> #{endDt, jdbcType=DATE}
        group by intake_id
    </select>
    <insert id="saveOneIntakeAmountYear" 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>
</mapper>
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(spɳÅÌ).xml
@@ -78,6 +78,7 @@
             notifyTimesAfterOver="1"
    />
    <!--
    æ”¯æŒæ¨¡å—
    çŸ­å·¥ä½œæ—¶é•¿çº¿ç¨‹æ± ï¼Œçº¿ç¨‹è´Ÿè´£ç”¨æ—¶è¾ƒçŸ­çš„工作任务
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(test²âÊÔ).xml
@@ -78,6 +78,7 @@
             notifyTimesAfterOver="1"
    />
    <!--
    æ”¯æŒæ¨¡å—
    çŸ­å·¥ä½œæ—¶é•¿çº¿ç¨‹æ± ï¼Œçº¿ç¨‹è´Ÿè´£ç”¨æ—¶è¾ƒçŸ­çš„工作任务
pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/changeSome/ChSomeCtrl.java
New file
@@ -0,0 +1,65 @@
package com.dy.pipIrrTemp.changeSome;
import com.dy.common.aop.SsoAop;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * @Author: liurunyu
 * @Date: 2024/12/14 9:22
 * @Description
 */
@Slf4j
@RestController
@RequestMapping(path = "chSome")
@SuppressWarnings("unchecked")//java版本越高,对泛型约束越严,所以配置SuppressWarnings("unchecked")
public class ChSomeCtrl {
    private ChSomeIntakeAmountSv intakeAmountSv;
    @Autowired
    private void setSv(ChSomeIntakeAmountSv sv) {
        this.intakeAmountSv = sv;
    }
    /**
     * ä¿®æ”¹ä¸€äº›å–水口取水量日统计
     * @return
     */
    @GetMapping(path = "changeSomeIntakeDayAmount")
    @SsoAop()
    public BaseResponse<Boolean> changeSomeIntakeDayAmount() throws Exception{
        this.intakeAmountSv.chIntakeAmountDay();
        return BaseResponseUtils.buildSuccess(true);
    }
    /**
     * é‡æ–°ç»Ÿè®¡å–水口月取水量
     * @return
     */
    @GetMapping(path = "reStatisticsAllIntakeMonthAmount")
    @SsoAop()
    public BaseResponse<Boolean> reStatisticsAllIntakeMonthAmount() throws Exception{
        this.intakeAmountSv.deleteAllIntakeAmountMonth();
        this.intakeAmountSv.statisticsIntakeAmountMonth();
        return BaseResponseUtils.buildSuccess(true);
    }
    /**
     * é‡æ–°ç»Ÿè®¡å–水口所取水量
     * @return
     */
    @GetMapping(path = "reStatisticsAllIntakeYearAmount")
    @SsoAop()
    public BaseResponse<Boolean> reStatisticsAllIntakeYearAmount() throws Exception{
        this.intakeAmountSv.deleteAllIntakeAmountYear();
        this.intakeAmountSv.statisticsIntakeAmountYear();
        return BaseResponseUtils.buildSuccess(true);
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/java/com/dy/pipIrrTemp/changeSome/ChSomeIntakeAmountSv.java
New file
@@ -0,0 +1,250 @@
package com.dy.pipIrrTemp.changeSome;
import com.dy.common.util.DateTime;
import com.dy.pipIrrGlobal.daoTmp.ChangeMapper;
import com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDay;
import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountMonth;
import com.dy.pipIrrGlobal.pojoSt.StIntakeAmountYear;
import com.dy.pipIrrGlobal.voSt.VoIntake;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
 * @Author: liurunyu
 * @Date: 2024/12/14 9:25
 * @Description
 */
@Slf4j
@Service
public class ChSomeIntakeAmountSv {
    private ChangeMapper dao;
    private static final int IntakeAmountDayFlag = 800 ;//2024-12-14统计元谋数据库实时数据,发现大于800的正确的数据不存在,而小于800的基本为正确数据
    @Autowired
    private void setDao(ChangeMapper dao){
        this.dao = dao;
    }
    ////////////////////////////////////////
    //
    // æœ‰å…³æ—¥ç»Ÿè®¡
    //
    ///////////////////////////////////////
    /**
     * è°ƒæ•´å–水口日取水量统计
     * @throws Exception
     */
    public void chIntakeAmountDay() throws Exception{
        RmIntakeAmountDay lastAd = null ;
        List<VoIntake> list = dao.selectAllPrIntakes() ;
        if(list != null && list.size() > 0){
            for(VoIntake vo : list){
                lastAd = null ;
                List<RmIntakeAmountDay> adList = dao.selectOneIntakeAllAmountDay(vo.getIntakeId()) ;
                if(adList != null && adList.size() > 0){
                    //adList中数据以id升序排列
                    for(RmIntakeAmountDay ad : adList){
                        if(lastAd == null){
                            lastAd = ad ;
                            if(lastAd.amount != null && lastAd.amount > IntakeAmountDayFlag){
                                this.doUpdateOneIntakeAmountDay(lastAd.id, 0.0);
                            }
                        }else{
                            if(ad.amount != null && ad.amount > IntakeAmountDayFlag){
                                if(ad.totalAmountLast != null && lastAd.totalAmountLast != null){
                                    //重新计算日取水量
                                    ad.amount = ad.totalAmountLast - lastAd.totalAmountLast;
                                    if(ad.amount < 0){//计算日取水量后,可能会有这种情况发生(负值)
                                        log.info("出现调整后的日取水量出现负值" + ad.amount
                                                + "情况,数据id=" + ad.id
                                                + ",取水口id=" + ad.intakeId
                                                + ",日期=" + ad.dt
                                                + ",设置水量=0.0"
                                        );
                                        ad.amount = 0.0 ;
                                    }
                                    if(ad.amount > IntakeAmountDayFlag){
                                        //计算日取水量后,仍大于IntakeAmountDayFlag
                                        log.info("出现调整后的日取水量仍大于"
                                                + IntakeAmountDayFlag
                                                + "的情况,数据id=" + ad.id
                                                + ",取水口id=" + ad.intakeId
                                                + ",日期=" + ad.dt
                                                + ad.amount
                                        );
                                        if(ad.dt != null && lastAd.dt != null){
                                            if(DateTime.daysBetweenyyyy_MM_dd(ad.dt, lastAd.dt) == 1){
                                                //只相差一天
                                                log.info("出现相差一天但日取水量大于"
                                                        + IntakeAmountDayFlag
                                                        + "的情况,数据id=" + ad.id
                                                        + ",取水口id=" + ad.intakeId
                                                        + ",日期=" + ad.dt
                                                        + ",设置水量=0.0"
                                                        + ",设置前水量= " + ad.amount
                                                );
                                                ad.amount = 0.0 ;
                                            }else{
                                                //已经修改后的数值仍然大于IntakeAmountDayFlag,说明是大日未上报数据而积累下来,可以大于IntakeAmountDayFlag
                                                //ad.amount = ad.amount ;
                                                log.info("出现相差多天日取水量大于"
                                                        + IntakeAmountDayFlag
                                                        + "的情况,数据id=" + ad.id
                                                        + ",取水口id=" + ad.intakeId
                                                        + ",日期=" + ad.dt
                                                        + ",水量保持不变=" + ad.amount
                                                );
                                            }
                                        }
                                    }
                                }else{
                                    log.info("出现相差多天日取水量大于"
                                            + IntakeAmountDayFlag
                                            + "并且属性totalAmountLast为null的情况,数据id=" + ad.id
                                            + ",取水口id=" + ad.intakeId
                                            + ",日期=" + ad.dt
                                            + ",设置水量=0.0"
                                            + ",设置前水量= " + ad.amount
                                    );
                                    ad.amount = 0.0 ;
                                }
                                this.doUpdateOneIntakeAmountDay(ad.id,  ad.amount);
                            }
                        }
                        lastAd = ad ;
                    }
                }
            }
        }
    }
    @Transactional
    int doUpdateOneIntakeAmountDay(Long id, Double amount){
        return dao.updateOneIntakeAmountDay(id, amount);
    }
    ////////////////////////////////////////
    //
    // æœ‰å…³æœˆç»Ÿè®¡
    //
    ///////////////////////////////////////
    private static final int DealStartYear = 2024 ;
    private static final int DealStartMonth = 8 ;
    private static final String endDayOfMonth(int year, int month){
        if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12){
            return "31" ;
        }else{
            if(month == 2){
                if(DateTime.isLeapYear(year)){
                    return "29" ;
                }else{
                    return "28" ;
                }
            }else{
                return "30" ;
            }
        }
    }
    /**
     * åˆ é™¤æ‰€æœ‰å–水口月取水量统计
     * @throws Exception
     */
    public void deleteAllIntakeAmountMonth(){
        dao.deleteAllIntakeAmountMonth();
    }
    /**
     * ç»Ÿè®¡å–水口月取水量
     * @throws Exception
     */
    public void statisticsIntakeAmountMonth() throws Exception{
        int nowYear = Integer.parseInt(DateTime.yyyy()) ;
        int nowMonth = Integer.parseInt(DateTime.mm()) ;
        Date startDt ;
        Date endDt ;
        List<StIntakeAmountMonth> list ;
        for(int year = DealStartYear; year <= nowYear; year ++){
            list = null ;
            if(year < nowYear){
                for(int month = 1 ; month <= 12 ; month ++){
                    startDt = DateTime.dateFrom_MM_dd(year + "-" + month + "-01") ;
                    endDt = DateTime.dateFrom_MM_dd(year + "-" + month + endDayOfMonth(year, month)) ;
                    list = dao.statisticAllIntakeAmountMonthFromAmountDay(startDt, endDt) ;
                    this.doStatisticsIntakeAmountMonth(year, month, list) ;
                }
            }else{
                for(int month = 1 ; month <= nowMonth ; month ++){
                    startDt = DateTime.dateFrom_MM_dd(year + "-" + month + "-01") ;
                    endDt = DateTime.dateFrom_MM_dd(year + "-" + month + endDayOfMonth(year, month)) ;
                    list = dao.statisticAllIntakeAmountMonthFromAmountDay(startDt, endDt) ;
                    this.doStatisticsIntakeAmountMonth(year, month, list) ;
                }
            }
        }
    }
    private void doStatisticsIntakeAmountMonth(int year, int month, List<StIntakeAmountMonth> list) throws Exception{
        if(list != null && list.size() > 0){
            for(StIntakeAmountMonth po : list){
                po.year = year ;
                po.month = month ;
                dao.saveOneIntakeAmountMonth(po) ;
            }
        }
    }
    ////////////////////////////////////////
    //
    // æœ‰å…³å¹´ç»Ÿè®¡
    //
    ///////////////////////////////////////
    /**
     * åˆ é™¤æ‰€æœ‰å–水口年取水量统计
     * @throws Exception
     */
    public void deleteAllIntakeAmountYear(){
        dao.deleteAllIntakeAmountYear();
    }
    /**
     * ç»Ÿè®¡å–水口月取水量
     * @throws Exception
     */
    public void statisticsIntakeAmountYear() throws Exception{
        int nowYear = Integer.parseInt(DateTime.yyyy()) ;
        Date startDt ;
        Date endDt ;
        List<StIntakeAmountYear> list ;
        for(int year = DealStartYear; year <= nowYear; year ++){
            list = null ;
            startDt = DateTime.dateFrom_MM_dd(year + "-01-01") ;
            endDt = DateTime.dateFrom_MM_dd(year + "-12-31") ;
            list = dao.statisticAllIntakeAmountYearFromAmountDay(startDt, endDt) ;
            this.doStatisticsIntakeAmountYear(year, list) ;
        }
    }
    private void doStatisticsIntakeAmountYear(int year, List<StIntakeAmountYear> list) throws Exception{
        if(list != null && list.size() > 0){
            for(StIntakeAmountYear po : list){
                po.year = year ;
                dao.saveOneIntakeAmountYear(po) ;
            }
        }
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-temp/src/main/resources/log4j2.yml
@@ -1,6 +1,6 @@
Configuration:
    #status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出;可以设置成Off(关闭)或Error(只输出错误信息)
    status: Error
    status: Info
    Properties: # å®šä¹‰å…¨å±€å˜é‡
        Property:
pipIrr-platform/pipIrr-web/pipIrr-web-temp/˵Ã÷.txt
@@ -1,2 +1,17 @@
这个temp模块执行临时任务,例如删除数据库中一些错误数据等
系统正式运行不需要这个模块
系统正式运行不需要这个模块
执行功能:
1、删除一些漏损统计---重复数据
/temp/delSome/deleteSomeStatisticLossAmount
2、删除一些取水口统计---重复数据
/temp/delSome/deleteSomeStatisticIntakeAmount
3、删除一些农户统计---重复数据
/temp/delSome/deleteSomeStatisticClientAmount
4、修改一些取水口日取水量统计---因RTU一天内整点报中累计流量间歇出现0值,两次上报累计流量差值会产生大值
/temp/chSome/changeSomeIntakeDayAmount
5、重新统计取水口月取水量(执行前关闭通信中间件)
/temp/chSome/reStatisticsAllIntakeMonthAmount
6、重新统计取水口所取水量(执行前关闭通信中间件)
/temp/chSome/reStatisticsAllIntakeYearAmount