liurunyu
2025-01-09 e059d06932a35d26be1c030dce61964bd04a1488
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java
@@ -1,19 +1,26 @@
package com.dy.pipIrrStatistics.intake;
import com.dy.common.aop.SsoAop;
import com.dy.common.util.DateTime;
import com.dy.common.util.IDLongGenerator;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.voSt.*;
import com.dy.pipIrrStatistics.intake.qo.*;
import com.dy.pipIrrStatistics.result.StatisticlResultCode;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -31,7 +38,7 @@
public class IntkeCtrl {
    private final IntakeSv intakeSv;
    /**
    /** ok 111
     * 获取指定时间段内未上线的取水口
     * @param qo
     * @return
@@ -40,18 +47,57 @@
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoIntake>>> getNotOnlineIntakes(@Valid CommonQO qo, BindingResult bindingResult) {
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        String timeStart = qo.getTimeStart();
        String timeStop = qo.getTimeStop();
        Long startId = null ;
        Long endId = null ;
        if(timeStart != null && !timeStart.trim().equals("")){
            int[] ymdStart = DateTime.yyyy_MM_dd_2_ymdGroup(timeStart) ;
            startId = IDLongGenerator.generateOneDayStartId(ymdStart[0], ymdStart[1], ymdStart[2]) ;
        }
        if(timeStop != null && !timeStop.trim().equals("")){
            int[] ymdEnd = DateTime.yyyy_MM_dd_2_ymdGroup(timeStop) ;
            endId = IDLongGenerator.generateOneDayStartId(ymdEnd[0], ymdEnd[1], ymdEnd[2]) ;
        }
        if(startId != null && endId != null){
            if(endId < startId){
                return BaseResponseUtils.buildErrorMsg("截止时间不能早于开始时间");
            }
        }
        try {
            return BaseResponseUtils.buildSuccess(intakeSv.getNotOnlineIntakes(qo));
            return BaseResponseUtils.buildSuccess(intakeSv.getNotOnlineIntakes(qo, startId, endId));
        } catch (Exception e) {
            log.error("获取开卡记录异常", e);
            log.error("获取记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /**
    /** ok 112
     * 最近未报数的取水口
     * @param
     * @return
     */
    @GetMapping(path = "/getUnReportedIntakes")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoIntakeUnReported>>> getUnReportedIntakes(@Valid CommonQO qo, BindingResult bindingResult) {
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        String timeStart = qo.getTimeStart();
        if(timeStart != null && !timeStart.trim().equals("")) {
            qo.setTimeStart(timeStart + " 00:00:00") ;
        }
        try {
            QueryResultVo<List<VoIntakeUnReported>> res = intakeSv.getUnReportedIntakes(qo);
            return BaseResponseUtils.buildSuccess(res);
        } catch (Exception e) {
            log.error("获取记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /** ok 1
     * 获取累计流量超过指定值的取水口
     * @param qo
     * @return
@@ -60,17 +106,17 @@
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoCumulativeFlow>>> getLargeFlowIntakes(@Valid CumulativeFlowQO qo, BindingResult bindingResult) {
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        try {
            return BaseResponseUtils.buildSuccess(intakeSv.getLargeFlowIntakes(qo));
        } catch (Exception e) {
            log.error("获取开卡记录异常", e);
            log.error("获取记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /**
    /** ok 2
     * 获取累计流量低于指定值的取水口
     * @param qo
     * @return
@@ -79,12 +125,12 @@
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoCumulativeFlow>>> getSmallFlowIntakes(@Valid CumulativeFlowQO qo, BindingResult bindingResult) {
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        try {
            return BaseResponseUtils.buildSuccess(intakeSv.getSmallFlowIntakes(qo));
        } catch (Exception e) {
            log.error("获取开卡记录异常", e);
            log.error("获取记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
@@ -98,12 +144,12 @@
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoBatteryVolt>>> getUnderVoltIntakes(@Valid BatteryVoltQO qo, BindingResult bindingResult) {
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        try {
            return BaseResponseUtils.buildSuccess(intakeSv.getUnderVoltIntakes(qo));
        } catch (Exception e) {
            log.error("获取开卡记录异常", e);
            log.error("获取记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
@@ -117,50 +163,166 @@
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoSignalIntensity>>> getSpecifiedSignalIntakes(@Valid SignalIntensityQO qo, BindingResult bindingResult) {
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        try {
            return BaseResponseUtils.buildSuccess(intakeSv.getSpecifiedSignalIntakes(qo));
        } catch (Exception e) {
            log.error("获取开卡记录异常", e);
            log.error("获取记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /**
    /** ok 11
     * 根据开阀类型获取操作次数
     * @param qo
     * @return
     */
    @GetMapping(path = "/getCountByOpenType")
    @SsoAop()
    public BaseResponse<QueryResultVo<VoCountOfOpenType>> getCountByOpenType(@Valid OpenTypeQO qo, BindingResult bindingResult) {
    public BaseResponse<QueryResultVo<VoCountOfOpenType>> getCountByOpenType(@Valid OpenTypeQO qo, BindingResult bindingResult) throws Exception{
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        String timeStart = qo.getTimeStart();
        String timeStop = qo.getTimeStop();
        if(timeStart == null || timeStart.trim().equals("")){
            return BaseResponseUtils.buildErrorMsg("请设置查询开始时间");
        }
        if(timeStop == null || timeStop.trim().equals("")){
            return BaseResponseUtils.buildErrorMsg("请设置查询截止时间");
        }
        long dur = DateTime.daysBetweenyyyy_MM_dd(timeStop, timeStart) ;
        if(dur < 0){
            return BaseResponseUtils.buildErrorMsg("截止时间不能早于开始时间");
        }
        if(dur > 366){
            return BaseResponseUtils.buildErrorMsg("时间跨度不能超过一年");
        }
        int[] ymdStart = DateTime.yyyy_MM_dd_2_ymdGroup(timeStart) ;
        int[] ymdEnd = DateTime.yyyy_MM_dd_2_ymdGroup(timeStop) ;
        long startId = IDLongGenerator.generateOneDayStartId(ymdStart[0], ymdStart[1], ymdStart[2]) ;
        long endId = IDLongGenerator.generateOneDayStartId(ymdEnd[0], ymdEnd[1], ymdEnd[2]) ;
        try {
            return BaseResponseUtils.buildSuccess(intakeSv.getCountByOpenType(qo));
            return BaseResponseUtils.buildSuccess(intakeSv.getCountByOpenType(startId, endId, qo.getOpenType()));
        } catch (Exception e) {
            log.error("获取开卡记录异常", e);
            log.error("获取记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /**
    /** ok 12
     * 根据关阀类型获取操作次数
     * @param qo
     * @return
     */
    @GetMapping(path = "/getCountByCloseType")
    @SsoAop()
    public BaseResponse<QueryResultVo<VoCountOfCloseType>> getCountByCloseType(@Valid CloseTypeQo qo, BindingResult bindingResult) {
    public BaseResponse<QueryResultVo<VoCountOfCloseType>> getCountByCloseType(@Valid CloseTypeQo qo, BindingResult bindingResult) throws Exception{
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        String timeStart = qo.getTimeStart();
        String timeStop = qo.getTimeStop();
        if(timeStart == null || timeStart.trim().equals("")){
            return BaseResponseUtils.buildErrorMsg("请设置查询开始时间");
        }
        if(timeStop == null || timeStop.trim().equals("")){
            return BaseResponseUtils.buildErrorMsg("请设置查询截止时间");
        }
        long dur = DateTime.daysBetweenyyyy_MM_dd(timeStop, timeStart) ;
        if(dur < 0){
            return BaseResponseUtils.buildErrorMsg("截止时间不能早于开始时间");
        }
        if(dur > 366){
            return BaseResponseUtils.buildErrorMsg("时间跨度不能超过一年");
        }
        int[] ymdStart = DateTime.yyyy_MM_dd_2_ymdGroup(timeStart) ;
        int[] ymdEnd = DateTime.yyyy_MM_dd_2_ymdGroup(timeStop) ;
        long startId = IDLongGenerator.generateOneDayStartId(ymdStart[0], ymdStart[1], ymdStart[2]) ;
        long endId = IDLongGenerator.generateOneDayStartId(ymdEnd[0], ymdEnd[1], ymdEnd[2]) ;
        try {
            return BaseResponseUtils.buildSuccess(intakeSv.getCountByCloseType(qo));
            return BaseResponseUtils.buildSuccess(intakeSv.getCountByCloseType(startId, endId, qo.getCloseType()));
        } catch (Exception e) {
            log.error("获取开卡记录异常", e);
            log.error("获取记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /** ok 13
     * 获取指定时间段内开阀次数超过指定值的取水口
     * @param
     * @return
     */
    @GetMapping(path = "/getOpenValveGtIntakes")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoIntakeOpenCount>>> getOpenValveGtIntakes(@Valid IntakeCountValueQO qo, BindingResult bindingResult) throws Exception {
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        String timeStart = qo.getTimeStart();
        String timeStop = qo.getTimeStop();
        if(timeStart == null || timeStart.trim().equals("")){
            return BaseResponseUtils.buildErrorMsg("请设置查询开始时间");
        }
        if(timeStop == null || timeStop.trim().equals("")){
            return BaseResponseUtils.buildErrorMsg("请设置查询截止时间");
        }
        long dur = DateTime.daysBetweenyyyy_MM_dd(timeStop, timeStart) ;
        if(dur < 0){
            return BaseResponseUtils.buildErrorMsg("截止时间不能早于开始时间");
        }
        if(dur > 366){
            return BaseResponseUtils.buildErrorMsg("时间跨度不能超过一年");
        }
        int[] ymdStart = DateTime.yyyy_MM_dd_2_ymdGroup(timeStart) ;
        int[] ymdEnd = DateTime.yyyy_MM_dd_2_ymdGroup(timeStop) ;
        qo.idStart = IDLongGenerator.generateOneDayStartId(ymdStart[0], ymdStart[1], ymdStart[2]) ;
        qo.idEnd = IDLongGenerator.generateOneDayStartId(ymdEnd[0], ymdEnd[1], ymdEnd[2]) ;
        try {
            QueryResultVo<List<VoIntakeOpenCount>> res = intakeSv.getOpenValveGtIntakes(qo);
            return BaseResponseUtils.buildSuccess(res);
        } catch (Exception e) {
            log.error("获取记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /** ok 14
     * 获取指定时间段内开阀次数低于指定值的取水口
     * @param
     * @return
     */
    @GetMapping(path = "/getOpenValveLtIntakes")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoIntakeOpenCount>>> getOpenValveLtIntakes(@Valid IntakeCountValueQO qo, BindingResult bindingResult) throws Exception {
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        String timeStart = qo.getTimeStart();
        String timeStop = qo.getTimeStop();
        if(timeStart == null || timeStart.trim().equals("")){
            return BaseResponseUtils.buildErrorMsg("请设置查询开始时间");
        }
        if(timeStop == null || timeStop.trim().equals("")){
            return BaseResponseUtils.buildErrorMsg("请设置查询截止时间");
        }
        long dur = DateTime.daysBetweenyyyy_MM_dd(timeStop, timeStart) ;
        if(dur < 0){
            return BaseResponseUtils.buildErrorMsg("截止时间不能早于开始时间");
        }
        if(dur > 366){
            return BaseResponseUtils.buildErrorMsg("时间跨度不能超过一年");
        }
        int[] ymdStart = DateTime.yyyy_MM_dd_2_ymdGroup(timeStart) ;
        int[] ymdEnd = DateTime.yyyy_MM_dd_2_ymdGroup(timeStop) ;
        qo.idStart = IDLongGenerator.generateOneDayStartId(ymdStart[0], ymdStart[1], ymdStart[2]) ;
        qo.idEnd = IDLongGenerator.generateOneDayStartId(ymdEnd[0], ymdEnd[1], ymdEnd[2]) ;
        try {
            QueryResultVo<List<VoIntakeOpenCount>> res = intakeSv.getOpenValveLtIntakes(qo);
            return BaseResponseUtils.buildSuccess(res);
        } catch (Exception e) {
            log.error("获取记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
@@ -183,43 +345,6 @@
        }
    }
    /**
     * 获取指定时间段内开阀次数超过指定值的取水口
     * @param
     * @return
     */
    @GetMapping(path = "/getOpenValveGtIntakes")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoIntakeOpenCount>>> getOpenValveGtIntakes(IntakeCountValueQO qo) {
        try {
            QueryResultVo<List<VoIntakeOpenCount>> res = intakeSv.getOpenValveGtIntakes(qo);
            return BaseResponseUtils.buildSuccess(res);
        } catch (Exception e) {
            log.error("获取记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /**
     * 获取指定时间段内开阀次数低于指定值的取水口
     * @param
     * @return
     */
    @GetMapping(path = "/getOpenValveLtIntakes")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoIntakeOpenCount>>> getOpenValveLtIntakes(IntakeCountValueQO qo) {
        try {
            QueryResultVo<List<VoIntakeOpenCount>> res = intakeSv.getOpenValveLtIntakes(qo);
            return BaseResponseUtils.buildSuccess(res);
        } catch (Exception e) {
            log.error("获取记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /**
     * 指定时间段内累积流量(定时报里的累积流量)超过指定值的取水口
     * @param
@@ -237,8 +362,7 @@
        }
    }
    /**
    /** ok 3
     * 指定时间段内用水量超过指定值的取水口
     * @param
     * @return
@@ -255,8 +379,7 @@
        }
    }
    /**
    /** ok 4
     * 指定时间段内消费金额超过指定值的取水口
     * @param
     * @return
@@ -273,7 +396,22 @@
        }
    }
    /**
     * 指定时间段内用水次数超过指定值的取水口
     * @param
     * @return
     */
    @GetMapping(path = "/getUseWaterTimesGtValueIntakes")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoIntakeAccumulateAmount>>> getUseWaterTimesGtValueIntakes(IntakeCountValueQO qo) {
        try {
            QueryResultVo<List<VoIntakeAccumulateAmount>> res = intakeSv.getUseWaterTimesGtValueIntakes(qo);
            return BaseResponseUtils.buildSuccess(res);
        } catch (Exception e) {
            log.error("获取记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /**
     * 指定时间段内用水时长超过指定值的取水口
@@ -292,15 +430,33 @@
        }
    }
    /**
    /** ok 15
     * 指定时间段 有开阀 无关阀的取水口
     * @param
     * @return
     */
    @GetMapping(path = "/getHaveOpenNoCloseIntakes")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoIntake>>> getHaveOpenNoCloseIntakes(CommonQO qo) {
    public BaseResponse<QueryResultVo<List<VoIntake>>> getHaveOpenNoCloseIntakes(IntakeCountValueQO qo) throws Exception {
        String timeStart = qo.getTimeStart();
        String timeStop = qo.getTimeStop();
        if(timeStart == null || timeStart.trim().equals("")){
            return BaseResponseUtils.buildErrorMsg("请设置查询开始时间");
        }
        if(timeStop == null || timeStop.trim().equals("")){
            return BaseResponseUtils.buildErrorMsg("请设置查询截止时间");
        }
        long dur = DateTime.daysBetweenyyyy_MM_dd(timeStop, timeStart) ;
        if(dur < 0){
            return BaseResponseUtils.buildErrorMsg("截止时间不能早于开始时间");
        }
        if(dur > 366){
            return BaseResponseUtils.buildErrorMsg("时间跨度不能超过一年");
        }
        int[] ymdStart = DateTime.yyyy_MM_dd_2_ymdGroup(timeStart) ;
        int[] ymdEnd = DateTime.yyyy_MM_dd_2_ymdGroup(timeStop) ;
        qo.idStart = IDLongGenerator.generateOneDayStartId(ymdStart[0], ymdStart[1], ymdStart[2]) ;
        qo.idEnd = IDLongGenerator.generateOneDayStartId(ymdEnd[0], ymdEnd[1], ymdEnd[2]) ;
        try {
            QueryResultVo<List<VoIntake>> res = intakeSv.getHaveOpenNoCloseIntakes(qo);
            return BaseResponseUtils.buildSuccess(res);
@@ -310,14 +466,33 @@
        }
    }
    /**
    /** ok 16
     * 指定时间段 无开阀 有关阀的取水口
     * @param
     * @return
     */
    @GetMapping(path = "/getNoOpenHaveCloseIntakes")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoIntake>>> getNoOpenHaveCloseIntakes(CommonQO qo) {
    public BaseResponse<QueryResultVo<List<VoIntake>>> getNoOpenHaveCloseIntakes(IntakeCountValueQO qo) throws Exception {
        String timeStart = qo.getTimeStart();
        String timeStop = qo.getTimeStop();
        if(timeStart == null || timeStart.trim().equals("")){
            return BaseResponseUtils.buildErrorMsg("请设置查询开始时间");
        }
        if(timeStop == null || timeStop.trim().equals("")){
            return BaseResponseUtils.buildErrorMsg("请设置查询截止时间");
        }
        long dur = DateTime.daysBetweenyyyy_MM_dd(timeStop, timeStart) ;
        if(dur < 0){
            return BaseResponseUtils.buildErrorMsg("截止时间不能早于开始时间");
        }
        if(dur > 366){
            return BaseResponseUtils.buildErrorMsg("时间跨度不能超过一年");
        }
        int[] ymdStart = DateTime.yyyy_MM_dd_2_ymdGroup(timeStart) ;
        int[] ymdEnd = DateTime.yyyy_MM_dd_2_ymdGroup(timeStop) ;
        qo.idStart = IDLongGenerator.generateOneDayStartId(ymdStart[0], ymdStart[1], ymdStart[2]) ;
        qo.idEnd = IDLongGenerator.generateOneDayStartId(ymdEnd[0], ymdEnd[1], ymdEnd[2]) ;
        try {
            QueryResultVo<List<VoIntake>> res = intakeSv.getNoOpenHaveCloseIntakes(qo);
            return BaseResponseUtils.buildSuccess(res);
@@ -334,7 +509,20 @@
     */
    @GetMapping(path = "/getDayIntakeAmount")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoDayIntakeAmount>>> getDayIntakeAmount(IntakeAmountQO qo) {
    public BaseResponse<QueryResultVo<List<VoDayIntakeAmount>>> getDayIntakeAmount(@NotNull IntakeAmountQO qo) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        String yearMonth = qo.getYearMonth();
        if(yearMonth == null) {
            return BaseResponseUtils.buildErrorMsg(StatisticlResultCode.YEAR_AND_MONTH_CANNOT_BE_NULL.getMessage());
        }else {
            yearMonth = yearMonth + "-01";
            try {
                Date date = dateFormat.parse(yearMonth);
            } catch (Exception e) {
                return BaseResponseUtils.buildErrorMsg(StatisticlResultCode.YEAR_OR_MONTH_IS_ERROR.getMessage());
            }
        }
        try {
            return BaseResponseUtils.buildSuccess(intakeSv.getDayIntakeAmount(qo));
        } catch (Exception e) {
@@ -351,6 +539,9 @@
    @GetMapping(path = "/getMonthIntakeAmount")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoMonthAmount>>> getMonthIntakeAmount(IntakeAmountQO qo) {
        if(qo.getYear() == null) {
            return BaseResponseUtils.buildErrorMsg(StatisticlResultCode.YEAR_CANNOT_BE_NULL.getMessage());
        }
        try {
            return BaseResponseUtils.buildSuccess(intakeSv.getMonthIntakeAmount(qo));
        } catch (Exception e) {
@@ -367,6 +558,19 @@
    @GetMapping(path = "/getDayLossAmount")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoDayLoss>>> getDayLossAmount(IntakeAmountQO qo) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        String yearMonth = qo.getYearMonth();
        if(yearMonth == null) {
            return BaseResponseUtils.buildErrorMsg(StatisticlResultCode.YEAR_AND_MONTH_CANNOT_BE_NULL.getMessage());
        }else {
            yearMonth = yearMonth + "-01";
            try {
                Date date = dateFormat.parse(yearMonth);
            } catch (Exception e) {
                return BaseResponseUtils.buildErrorMsg(StatisticlResultCode.YEAR_OR_MONTH_IS_ERROR.getMessage());
            }
        }
        try {
            return BaseResponseUtils.buildSuccess(intakeSv.getDayLossAmount(qo));
        } catch (Exception e) {
@@ -383,6 +587,9 @@
    @GetMapping(path = "/getMonthLossAmount")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoMonthAmount>>> getMonthLossAmount(IntakeAmountQO qo) {
        if(qo.getYear() == null) {
            return BaseResponseUtils.buildErrorMsg(StatisticlResultCode.YEAR_CANNOT_BE_NULL.getMessage());
        }
        try {
            return BaseResponseUtils.buildSuccess(intakeSv.getMonthLossAmount(qo));
        } catch (Exception e) {
@@ -390,4 +597,5 @@
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
}