zhubaomin
2024-09-09 1a3b168ee80469454dc04a1c42784d1b4005b07c
Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV
13个文件已修改
1个文件已添加
359 ■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/cert/WxCertUtil.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/PipIrrMwTestWebApplication.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V202404test/ComSupportP206V202404.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V202404test/CommandP206V202404Ctrl.java 91 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/resources/log4j2.yml 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/AmountSpentQO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/CommonQO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/OpenCountQO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/WaterConsumptionQO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/WaterDurationQO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/cert/WxCertUtil.java
@@ -26,6 +26,7 @@
        Resource resource = resourceLoader.getResource(key_pem);
        InputStream in = resource.getInputStream() ;
        byte[] bs = new byte[in.available()] ;
        in.read(bs) ;
        return bs ;
    }
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
@@ -637,10 +637,14 @@
    <select id="getLargeOpenCountClientsCount" resultType="java.lang.Long">
        SELECT COUNT(*) AS recordCount
        FROM se_client cli
        WHERE (SELECT COUNT(*)
               FROM rm_open_close_valve_history his
               WHERE his.client_id = cli.id
                 AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{openCount}
        <where>
            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and openCount != null">
                (SELECT COUNT(*)
                FROM rm_open_close_valve_history his
                WHERE his.client_id = cli.id
                AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{openCount}
            </if>
        </where>
    </select>
    <!--获取指定时间段内开阀次数超过指定值的农户-->
@@ -652,10 +656,14 @@
               cli.phone,
               cli.idCard
        FROM se_client cli
        WHERE (SELECT COUNT(*)
        <where>
            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and openCount != null">
        (SELECT COUNT(*)
               FROM rm_open_close_valve_history his
               WHERE his.client_id = cli.id
                 AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{openCount}
            </if>
        </where>
        ORDER BY cli.id
        <trim prefix="limit ">
            <if test="start != null and count != null">
@@ -668,10 +676,14 @@
    <select id="getSmallOpenCountClientsCount" resultType="java.lang.Long">
        SELECT COUNT(*) AS recordCount
        FROM se_client cli
        WHERE (SELECT COUNT(*)
               FROM rm_open_close_valve_history his
               WHERE his.client_id = cli.id
                 AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) &lt; #{openCount}
        <where>
            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and openCount != null">
                (SELECT COUNT(*)
                FROM rm_open_close_valve_history his
                WHERE his.client_id = cli.id
                AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) &lt; #{openCount}
            </if>
        </where>
    </select>
    <!--获取指定时间段内开阀次数低于指定值的农户-->
@@ -683,10 +695,14 @@
               cli.phone,
               cli.idCard
        FROM se_client cli
        WHERE (SELECT COUNT(*)
               FROM rm_open_close_valve_history his
               WHERE his.client_id = cli.id
                 AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) &lt; #{openCount}
        <where>
            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and openCount != null">
                (SELECT COUNT(*)
                FROM rm_open_close_valve_history his
                WHERE his.client_id = cli.id
                AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) &lt; #{openCount}
            </if>
        </where>
        ORDER BY cli.id
        <trim prefix="limit ">
            <if test="start != null and count != null">
@@ -699,10 +715,14 @@
    <select id="getLargeWaterConsumptionClientsCount" resultType="java.lang.Long">
        SELECT COUNT(*) AS recordCount
        FROM se_client cli
        WHERE (SELECT SUM(his.cl_this_amount)
               FROM rm_open_close_valve_history his
               WHERE his.client_id = cli.id
                 AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterConsumption}
        <where>
            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterConsumption != null">
                (SELECT SUM(his.cl_this_amount)
                FROM rm_open_close_valve_history his
                WHERE his.client_id = cli.id
                AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterConsumption}
            </if>
        </where>
    </select>
    <!--获取指定时间段内用水量超过指定值的农户-->
@@ -714,10 +734,14 @@
               cli.phone,
               cli.idCard
        FROM se_client cli
        WHERE (SELECT SUM(his.cl_this_amount)
               FROM rm_open_close_valve_history his
               WHERE his.client_id = cli.id
                 AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterConsumption}
        <where>
            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterConsumption != null">
                (SELECT SUM(his.cl_this_amount)
                FROM rm_open_close_valve_history his
                WHERE his.client_id = cli.id
                AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterConsumption}
            </if>
        </where>
        ORDER BY cli.id
        <trim prefix="limit ">
            <if test="start != null and count != null">
@@ -730,10 +754,14 @@
    <select id="getLargeAmountSpentClientsCount" resultType="java.lang.Long">
        SELECT COUNT(*) AS recordCount
        FROM se_client cli
        WHERE (SELECT SUM(his.cl_this_money)
        <where>
        <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and amountSpent != null">
               (SELECT SUM(his.cl_this_money)
               FROM rm_open_close_valve_history his
               WHERE his.client_id = cli.id
                 AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{amountSpent}
        </if>
        </where>
    </select>
    <!--获取指定时间段内消费金额超过指定值的农户-->
    <select id="getLargeAmountSpentClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient">
@@ -744,10 +772,14 @@
               cli.phone,
               cli.idCard
        FROM se_client cli
        WHERE (SELECT SUM(his.cl_this_money)
               FROM rm_open_close_valve_history his
               WHERE his.client_id = cli.id
                 AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{amountSpent}
        <where>
            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and amountSpent != null">
                (SELECT SUM(his.cl_this_money)
                FROM rm_open_close_valve_history his
                WHERE his.client_id = cli.id
                AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{amountSpent}
            </if>
        </where>
        ORDER BY cli.id
        <trim prefix="limit ">
            <if test="start != null and count != null">
@@ -760,10 +792,14 @@
    <select id="getLargeWaterDurationClientsCount" resultType="java.lang.Long">
        SELECT COUNT(*) AS recordCount
        FROM se_client cli
        WHERE (SELECT SUM(his.cl_this_time)
        <where>
        <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterDuration != null">
               (SELECT SUM(his.cl_this_time)
               FROM rm_open_close_valve_history his
               WHERE his.client_id = cli.id
                 AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterDuration}
        </if>
        </where>
    </select>
    <!--获取指定时间段内用水时长超过指定值的农户-->
@@ -775,10 +811,14 @@
               cli.phone,
               cli.idCard
        FROM se_client cli
        WHERE (SELECT SUM(his.cl_this_time)
               FROM rm_open_close_valve_history his
               WHERE his.client_id = cli.id
                 AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterDuration}
        <where>
            <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterDuration != null">
                (SELECT SUM(his.cl_this_time)
                FROM rm_open_close_valve_history his
                WHERE his.client_id = cli.id
                AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterDuration}
            </if>
        </where>
        ORDER BY cli.id
        <trim prefix="limit ">
            <if test="start != null and count != null">
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java
@@ -189,7 +189,7 @@
    }
    /**
     * 本地调用,例如重任务树中某个任务下发的命令(如清空命令)
     * 本地调用,例如任务树中某个任务下发的命令(如清空命令)
     * @param com
     * @return
     */
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml
@@ -101,7 +101,7 @@
         -->
        <resource
            rtuLogDir="rtuLogs/"
            rtuLogFileMaxSize="1000000"
            rtuLogFileMaxSize="1000"
            rtuLogFileMaxCount="2"
            monitorInterval="2"
            saveDbInterval="10"
pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/PipIrrMwTestWebApplication.java
@@ -1,12 +1,17 @@
package com.dy.pipIrrMwTestWeb;
import com.dy.pipIrrGlobal.cert.WxCertUtil;
import com.dy.pipIrrMwTestWeb.p206V202404test.CommandP206V202404Ctrl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.FilterType;
import org.springframework.core.io.ResourceLoader;
import java.io.InputStream;
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) //禁止启动数据库连接池
@ComponentScan(basePackages = {"com.dy.common", "com.dy.pipIrrGlobal", "com.dy.pipIrrMwTestWeb"},
@@ -28,10 +33,39 @@
                })
        }
)
public class PipIrrMwTestWebApplication{
public class PipIrrMwTestWebApplication implements CommandLineRunner {
    @Autowired
    private ResourceLoader resourceLoader;
    public static void main(String[] args) {
        SpringApplication.run(PipIrrMwTestWebApplication.class, args);
    }
    /**
     * Spring容器启动完成后,执行下面方法
     * @param args 参数
     * @throws Exception 异常
     */
    @Override
    public void run(String... args) throws Exception {
        try{
            //等待一下
            Thread.sleep(500L);
        }catch (Exception e){
            e.printStackTrace();
        }
        finally {
            this.test() ;
        }
    }
    private void test() throws Exception{
        InputStream in = WxCertUtil.getCert_p12InputStream(resourceLoader) ;
        System.out.println(in.available());
        System.out.println("=====================");
        byte[] bs = WxCertUtil.getKey_pemBytes(resourceLoader) ;
        System.out.println(new String(bs));
    }
}
pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V202404test/ComSupportP206V202404.java
@@ -19,8 +19,10 @@
 * @Description
 */
public class ComSupportP206V202404 {
    protected static final String mwIp = "romq9311819.vicp.fun" ; //http://romq9311819.vicp.fun:16583
    protected static final String mwPort = "16583" ;
    //protected static final String mwIp = "romq9311819.vicp.fun" ; //http://romq9311819.vicp.fun:16583
    //protected static final String mwPort = "16583" ;
    protected static final String mwIp = "127.0.0.1" ;
    protected static final String mwPort = "8071" ;
    protected static String mwUrlTest = "http://" + mwIp + ":" + mwPort + "/rtuMw/com/test" ;
    protected static String mwUrlSendCom = "http://" + mwIp + ":" + mwPort + "/rtuMw/com/send" ;
pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V202404test/CommandP206V202404Ctrl.java
@@ -18,53 +18,58 @@
public class CommandP206V202404Ctrl extends ComSupportP206V202404 {
    @GetMapping(path = "test")
    public BaseResponse<String> test(String com) {
    public BaseResponse<String> test(String rtuAddr, String com) {
        BaseResponse<String> rt = null ;
        if(com == null){
        if(rtuAddr == null || rtuAddr.trim().equals("")){
            rt = this.connect() ;//连接通信中间件测试
        }else{
            try{
                if(com.equals("10")){
                    rt = this.cd10() ;
                }else if(com.equals("15")){
                    rt = this.cd15() ;
                }else if(com.equals("16")){
                    rt = this.cd16() ;
                }else if(com.equals("21")){
                    rt = this.cd21() ;
                }else if(com.equals("22")){
                    rt = this.cd22() ;
                }else if(com.equals("23")){
                    rt = this.cd23() ;
                }else if(com.equals("24")){
                    rt = this.cd24() ;
                }else if(com.equals("26")){
                    rt = this.cd26() ;
                }else if(com.equals("31")){
                    rt = this.cd31() ;
                }else if(com.equals("55")){
                    rt = this.cd55(1) ;
                }else if(com.equals("65")){
                    rt = this.cd65(1) ;
                }else if(com.equals("86")){
                    rt = this.cd86() ;
                }else if(com.equals("87")){
                    rt = this.cd87() ;
                }else if(com.equals("92")){
                    rt = this.cd92() ;
                }else if(com.equals("93")){
                    rt = this.cd93() ;
                }else if(com.equals("9C")){
                    rt = this.cd9C() ;
                }else if(com.equals("A2")){
                    rt = this.cdA2() ;
                }else if(com.equals("A3")){
                    rt = this.cdA3() ;
                }else{
                    rt = this.cdXY(com) ;//发送固定参数XY的命令, 例命令CodeV202404.cd_9C
            this.rtuAddr = rtuAddr ;
            if(com == null || com.trim().equals("")){
                rt = this.connect() ;//连接通信中间件测试
            }else{
                try{
                    if(com.equals("10")){
                        rt = this.cd10() ;
                    }else if(com.equals("15")){
                        rt = this.cd15() ;
                    }else if(com.equals("16")){
                        rt = this.cd16() ;
                    }else if(com.equals("21")){
                        rt = this.cd21() ;
                    }else if(com.equals("22")){
                        rt = this.cd22() ;
                    }else if(com.equals("23")){
                        rt = this.cd23() ;
                    }else if(com.equals("24")){
                        rt = this.cd24() ;
                    }else if(com.equals("26")){
                        rt = this.cd26() ;
                    }else if(com.equals("31")){
                        rt = this.cd31() ;
                    }else if(com.equals("55")){
                        rt = this.cd55(1) ;
                    }else if(com.equals("65")){
                        rt = this.cd65(1) ;
                    }else if(com.equals("86")){
                        rt = this.cd86() ;
                    }else if(com.equals("87")){
                        rt = this.cd87() ;
                    }else if(com.equals("92")){
                        rt = this.cd92() ;
                    }else if(com.equals("93")){
                        rt = this.cd93() ;
                    }else if(com.equals("9C")){
                        rt = this.cd9C() ;
                    }else if(com.equals("A2")){
                        rt = this.cdA2() ;
                    }else if(com.equals("A3")){
                        rt = this.cdA3() ;
                    }else{
                        rt = this.cdXY(com) ;//发送固定参数XY的命令, 例命令CodeV202404.cd_9C
                    }
                }catch (Exception e){
                    e.printStackTrace();
                }
            }catch (Exception e){
                e.printStackTrace();
            }
        }
        return rt ;
pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/resources/log4j2.yml
New file
@@ -0,0 +1,73 @@
Configuration:
    #status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出;可以设置成Off(关闭)或Error(只输出错误信息)
    status: Error
    Properties: # 定义全局变量
        Property:
            #日志文件存储的目录
            - name: log.path
              value: ./logs
            #日志文件存储名称
            - name: project.name
              value: mwTestWeb
    #定义输出器,可以输出到控制台和文件.
    Appenders:
        #输出到控制台
        Console:
            #Appender命名
            name: CONSOLE
            target: SYSTEM_OUT
            ThresholdFilter:
                level: debug #输出日志级别,输出日志时,首先由Loggers.Root.level或Loggers.Logger.level判断是否输出,然后再由本level判断是否输出
                onMatch: ACCEPT #onMatch=ACCEPT 大于等于 "level" 配置的等级地日志输出
                onMismatch: DENY #onMismatch=DENY 小于 "level" 配置的等级地日志不输出
            #日志内容样式
            PatternLayout:
                #%n-换行
                #%m-日志内容,输出代码中指定的日志信息
                #%p-输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
                #%r-程序启动到现在的毫秒数
                #%%- 输出一个"%" 字符
                #%t-当前线程名
                #%d-日期和时间, 常用的格式有%d{DATE},%d{ABSOLUTE},%d{HH:mm:ss,SSS},%d{ddMMyyyyHH:mm:ss,SSS}
                #%l-同%F%L%C%M
                #%F-java源文件名
                #%L-java源码行数
                #%C-java类名,%C{1}输出最后一个元素
                #%M-java方法名
                pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n"
        # 输出到文件,超过10MB归档
        RollingFile:
            - name: ROLLING_FILE
              ignoreExceptions: false
              fileName: ${log.path}/${project.name}.log
              filePattern: "${log.path}/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz"
              ThresholdFilter:
                  level: error #输出日志级别,输出日志时,首先由Loggers.Root.level或Loggers.Logger.level判断是否输出,然后再由本level判断是否输出
                  onMatch: ACCEPT #onMatch=ACCEPT 大于等于 "level" 配置的等级地日志输出
                  onMismatch: DENY #onMismatch=DENY 小于 "level" 配置的等级地日志不输出
              #日志内容样式
              PatternLayout:
                  pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n"
              Policies:
                  SizeBasedTriggeringPolicy:
                      size: "10 MB"
              DefaultRolloverStrategy:
                  max: 1000
    Loggers:
        Root:
            level: info #日志输出级别,共有8个级别,按照从低到高为:all < trace < debug < info < warn < error < fatal < off
            AppenderRef: #Root的子节点,用来指定该日志输出到哪个Appender.
                - ref: CONSOLE #输出日志时,首先由本level判断是否输出,然后再由上面的Appenders.Console.ThresholdFilter.level判断是否输出
                - ref: ROLLING_FILE  #输出日志时,首先由本level判断是否输出,然后再由上面的Appenders.RollingFile.ThresholdFilter.level判断是否输出
        # 为包配置特殊的Log级别,方便调试,
        # 不受Loggers.Root.level限制
        Logger:
            - name: com.dy.pipIrrGlobal.daoBa
              additivity: false #去除重复的log
              level: debug #输出日志级别
              AppenderRef:
                  - ref: CONSOLE #输出日志时,首先由本.level判断是否输出,然后再由上面的Appenders.Console.ThresholdFilter.level判断是否输出
                  - ref: ROLLING_FILE #输出日志时,首先由本level判断是否输出,然后再由上面的Appenders.RollingFile.ThresholdFilter.level判断是否输出
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java
@@ -47,16 +47,14 @@
     */
    public QueryResultVo<List<VoClient>> getLargeOpenCountClients(OpenCountQO qo) {
        /**
         * 补齐起止时间,如果开始时间为空,则默认为当前日期
         * 补齐起止时间
         */
        String timeStart = qo.getTimeStart();
        String timeStop = qo.getTimeStop();
        if(timeStart != null) {
        if(timeStart != null && timeStart != "") {
            timeStart = timeStart + " 00:00:00";
        }else {
            timeStart = LocalDate.now() + " 00:00:00";
        }
        if(timeStop != null) {
        if(timeStop != null && timeStop != "") {
            timeStop = timeStop + " 23:59:59";
        }
        qo.setTimeStart(timeStart);
@@ -85,16 +83,14 @@
     */
    public QueryResultVo<List<VoClient>> getSmallOpenCountClients(OpenCountQO qo) {
        /**
         * 补齐起止时间,如果开始时间为空,则默认为当前日期
         * 补齐起止时间
         */
        String timeStart = qo.getTimeStart();
        String timeStop = qo.getTimeStop();
        if(timeStart != null) {
        if(timeStart != null && timeStart != "") {
            timeStart = timeStart + " 00:00:00";
        }else {
            timeStart = LocalDate.now() + " 00:00:00";
        }
        if(timeStop != null) {
        if(timeStop != null && timeStop != "") {
            timeStop = timeStop + " 23:59:59";
        }
        qo.setTimeStart(timeStart);
@@ -123,16 +119,14 @@
     */
    public QueryResultVo<List<VoClient>> getLargeWaterConsumptionClients(WaterConsumptionQO qo) {
        /**
         * 补齐起止时间,如果开始时间为空,则默认为当前日期
         * 补齐起止时间
         */
        String timeStart = qo.getTimeStart();
        String timeStop = qo.getTimeStop();
        if(timeStart != null) {
        if(timeStart != null && timeStart != "") {
            timeStart = timeStart + " 00:00:00";
        }else {
            timeStart = LocalDate.now() + " 00:00:00";
        }
        if(timeStop != null) {
        if(timeStop != null && timeStop != "") {
            timeStop = timeStop + " 23:59:59";
        }
        qo.setTimeStart(timeStart);
@@ -165,12 +159,10 @@
         */
        String timeStart = qo.getTimeStart();
        String timeStop = qo.getTimeStop();
        if(timeStart != null) {
        if(timeStart != null && timeStart != "") {
            timeStart = timeStart + " 00:00:00";
        }else {
            timeStart = LocalDate.now() + " 00:00:00";
        }
        if(timeStop != null) {
        if(timeStop != null && timeStop != "") {
            timeStop = timeStop + " 23:59:59";
        }
        qo.setTimeStart(timeStart);
@@ -203,12 +195,10 @@
         */
        String timeStart = qo.getTimeStart();
        String timeStop = qo.getTimeStop();
        if(timeStart != null) {
        if(timeStart != null && timeStart != "") {
            timeStart = timeStart + " 00:00:00";
        }else {
            timeStart = LocalDate.now() + " 00:00:00";
        }
        if(timeStop != null) {
        if(timeStop != null && timeStop != "") {
            timeStop = timeStop + " 23:59:59";
        }
        qo.setTimeStart(timeStart);
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/AmountSpentQO.java
@@ -18,6 +18,6 @@
    /**
     * 消费金额
     */
    @NotNull(message = "消费金额不能为空")
//    @NotNull(message = "消费金额不能为空")
    private Double amountSpent;
}
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/CommonQO.java
@@ -27,6 +27,6 @@
     * 结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @NotBlank(message = "结束时间不能为空")
//    @NotBlank(message = "结束时间不能为空")
    private String timeStop;
}
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/OpenCountQO.java
@@ -18,6 +18,6 @@
    /**
     * 开阀次数
     */
    @NotNull(message = "开阀次数不能为空")
//    @NotNull(message = "开阀次数不能为空")
    private Integer openCount;
}
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/WaterConsumptionQO.java
@@ -18,6 +18,6 @@
    /**
     * 指定的用水量
     */
    @NotNull(message = "用水量不能为空")
//    @NotNull(message = "用水量不能为空")
    private Double waterConsumption;
}
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/WaterDurationQO.java
@@ -18,6 +18,6 @@
    /**
     * 用水时长
     */
    @NotNull(message = "用水时长不能为空")
//    @NotNull(message = "用水时长不能为空")
    private Integer waterDuration;
}