package com.dy.pipIrrStatistics.stClient; import com.dy.common.aop.SsoAop; import com.dy.common.util.DateTime; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.voSt.VoStClientAmountDay; import com.dy.pipIrrGlobal.voSt.VoStClientAmountMonth; import com.dy.pipIrrGlobal.voSt.VoStClientAmountYear; import lombok.RequiredArgsConstructor; 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; import java.util.ArrayList; import java.util.List; /** * @Author: liurunyu * @Date: 2024/12/30 15:22 * @Description */ @Slf4j @RestController @RequestMapping(path="stClient") @RequiredArgsConstructor public class StClientCtrl { private static final int startYear4YearStatistics = 2024 ; private StClientSv sv ; @Autowired private void setSv(StClientSv sv){ this.sv = sv ; } /** * 查询指定年月农户各日用水量 * @param qo * @return */ @GetMapping(path = "/amountOfDay") @SsoAop() public BaseResponse>> amountOfDay(StClientQo qo) throws Exception { String yearMonth = qo.getYearMonth(); if(yearMonth == null || yearMonth.trim().equals("")) { return BaseResponseUtils.buildErrorMsg("查询条件年月不能为空"); } int[] ymd = DateTime.yyyy_MM_ymdGroup(yearMonth) ; qo.year = ymd[0] ; qo.month = ymd[1] ; return BaseResponseUtils.buildSuccess(this.sv.selectStClientAmountDay(qo)); } /** * 查询指定年农户各月用水量 * @param qo * @return */ @GetMapping(path = "/amountOfMonth") @SsoAop() public BaseResponse>> amountOfMonth(StClientQo qo) throws Exception { if(qo.year == null) { return BaseResponseUtils.buildErrorMsg("查询条件年度不能为空"); } return BaseResponseUtils.buildSuccess(this.sv.selectStClientAmountMonth(qo)); } /** * 查询指定年农户各年用水量 * @param qo * @return */ @GetMapping(path = "/amountOfYear") @SsoAop() public BaseResponse>> amountOfYear(StClientQo qo) throws Exception { List yearGrp = new ArrayList(); int nowYear = Integer.parseInt(DateTime.yyyy()) ; if(qo.year == null) { for(int i = startYear4YearStatistics; i <= nowYear; i++) { yearGrp.add(i) ; } }else{ if(qo.year > nowYear){ qo.year = nowYear; } if(qo.year < startYear4YearStatistics){ qo.year = startYear4YearStatistics; } yearGrp.add(qo.year) ; } return BaseResponseUtils.buildSuccess(this.sv.selectStClientAmountYear(qo, yearGrp)); } }