From 9f3c4a33279f10ed420d604765487558ab0744f0 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期五, 11 四月 2025 11:42:21 +0800 Subject: [PATCH] 获取已完成灌溉计划接口增加分页功能 --- pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intaker/IntakerSv.java | 188 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 188 insertions(+), 0 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intaker/IntakerSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intaker/IntakerSv.java new file mode 100644 index 0000000..73465aa --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intaker/IntakerSv.java @@ -0,0 +1,188 @@ +package com.dy.pipIrrStatistics.intaker; + +import com.alibaba.fastjson2.JSON; +import com.dy.common.webUtil.QueryResultVo; +import com.dy.pipIrrGlobal.daoRm.RmIntakeAmountDayMapper; +import com.dy.pipIrrGlobal.daoSt.StIntakeAmountMonthMapper; +import com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount; +import com.dy.pipIrrGlobal.voSt.VoMonthAmount; +import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.common.utils.PojoUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.text.ParseException; +import java.util.List; +import java.util.Map; + +/** + * @Author: liurunyu + * @Date: 2024/12/12 16:24 + * @Description + */ +@Slf4j +@Service +public class IntakerSv { + + @Autowired + private RmIntakeAmountDayMapper dayDao ; + + @Autowired + private StIntakeAmountMonthMapper monthDao ; + + + /** + * 缁熻鎸囧畾鏈堜唤鍚勫ぉ鐢ㄦ按閲� + * @param qo + * @return + */ + public QueryResultVo<List<VoDayIntakeAmount>> amountOfDay(IntakerQo qo) throws ParseException { + QueryResultVo<List<VoDayIntakeAmount>> rsVo = new QueryResultVo<>() ; + // 鐢熸垚鏌ヨ鍙傛暟 + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; + // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 + Long itemTotal = dayDao.selectIntakeCount4AmountDay(qo.intakeNum) ; + + if(itemTotal != null && itemTotal > 0){ + rsVo.pageSize = qo.pageSize ; + rsVo.pageCurr = qo.pageCurr ; + rsVo.calculateAndSet(itemTotal, params); + + List<VoDayIntakeAmount> list = dayDao.selectIntakes4AmountDay(params); + if(list == null || list.size() == 0){ + rsVo.obj = list ; + }else{ + String json = JSON.toJSONString(list) ; + params.put("intakesJson", json); + + List<VoDayIntakeAmount> list01_05 = dayDao.selectIntakeAmountOfDay01_05(params); + if(list01_05 != null && list01_05.size() > 0){ + //涓嬮潰1鍒�31鍙峰垎浜�6涓煡璇紝鍘熷洜鏄湪涓�涓煡璇腑锛岄潪甯告參锛屼笉鐭ラ亾浠�涔堝師鍥狅紝涔熻鏄瓙鏌ヨ澶鐨勫師鍥� + List<VoDayIntakeAmount> list06_10 = dayDao.selectIntakeAmountOfDay06_10(params); + List<VoDayIntakeAmount> list11_15 = dayDao.selectIntakeAmountOfDay11_15(params); + List<VoDayIntakeAmount> list16_20 = dayDao.selectIntakeAmountOfDay16_20(params); + List<VoDayIntakeAmount> list21_25 = dayDao.selectIntakeAmountOfDay21_25(params); + List<VoDayIntakeAmount> list26_31 = dayDao.selectIntakeAmountOfDay26_31(params); + this.merge(list01_05, list06_10, list11_15, list16_20, list21_25, list26_31); + } + rsVo.obj = list01_05 ; + } + } + return rsVo ; + } + + private void merge(List<VoDayIntakeAmount> list01_05, + List<VoDayIntakeAmount> list06_10, + List<VoDayIntakeAmount> list11_15, + List<VoDayIntakeAmount> list16_20, + List<VoDayIntakeAmount> list21_25, + List<VoDayIntakeAmount> list26_31){ + for(VoDayIntakeAmount vo01_05 : list01_05){ + for(VoDayIntakeAmount vo06_10 : list06_10){ + if(vo01_05.intakeId.longValue() == vo06_10.intakeId.longValue()){ + vo01_05.amount6 = vo06_10.amount6 ; + vo01_05.amount7 = vo06_10.amount7 ; + vo01_05.amount8 = vo06_10.amount8 ; + vo01_05.amount9 = vo06_10.amount9 ; + vo01_05.amount10 = vo06_10.amount10 ; + break ; + } + } + for(VoDayIntakeAmount vo11_15 : list11_15){ + if(vo01_05.intakeId.longValue() == vo11_15.intakeId.longValue()){ + vo01_05.amount11 = vo11_15.amount11 ; + vo01_05.amount12 = vo11_15.amount12 ; + vo01_05.amount13 = vo11_15.amount13 ; + vo01_05.amount14 = vo11_15.amount14 ; + vo01_05.amount15 = vo11_15.amount15 ; + break ; + } + } + for(VoDayIntakeAmount vo16_20 : list16_20){ + if(vo01_05.intakeId.longValue() == vo16_20.intakeId.longValue()){ + vo01_05.amount16 = vo16_20.amount16 ; + vo01_05.amount17 = vo16_20.amount17 ; + vo01_05.amount18 = vo16_20.amount18 ; + vo01_05.amount19 = vo16_20.amount19 ; + vo01_05.amount20 = vo16_20.amount20 ; + break ; + } + } + for(VoDayIntakeAmount vo21_25 : list21_25){ + if(vo01_05.intakeId.longValue() == vo21_25.intakeId.longValue()){ + vo01_05.amount21 = vo21_25.amount21 ; + vo01_05.amount22 = vo21_25.amount22 ; + vo01_05.amount23 = vo21_25.amount23 ; + vo01_05.amount24 = vo21_25.amount24 ; + vo01_05.amount25 = vo21_25.amount25 ; + break ; + } + } + for(VoDayIntakeAmount vo26_31 : list26_31){ + if(vo01_05.intakeId.longValue() == vo26_31.intakeId.longValue()){ + vo01_05.amount26 = vo26_31.amount26 ; + vo01_05.amount27 = vo26_31.amount27 ; + vo01_05.amount28 = vo26_31.amount28 ; + vo01_05.amount29 = vo26_31.amount29 ; + vo01_05.amount30 = vo26_31.amount30 ; + vo01_05.amount31 = vo26_31.amount31 ; + break ; + } + } + } + } + + + /** + * 缁熻鎸囧畾鏈堜唤鍚勬湀鐢ㄦ按閲� + * @param qo + * @return + */ + public QueryResultVo<List<VoMonthAmount>> amountOfMonth(IntakerQo qo) throws ParseException { + QueryResultVo<List<VoMonthAmount>> rsVo = new QueryResultVo<>() ; + // 鐢熸垚鏌ヨ鍙傛暟 + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; + // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 + Long itemTotal = monthDao.selectIntakeCount4AmountMonth(qo.intakeNum) ; + + if(itemTotal != null && itemTotal > 0){ + rsVo.pageSize = qo.pageSize ; + rsVo.pageCurr = qo.pageCurr ; + rsVo.calculateAndSet(itemTotal, params); + + List<VoMonthAmount> list = monthDao.selectIntakes4AmountMonth(params); + if(list == null || list.size() == 0){ + rsVo.obj = list ; + }else{ + String json = JSON.toJSONString(list) ; + params.put("intakesJson", json); + + List<VoMonthAmount> list01_06 = monthDao.selectIntakeAmountOfMonth01_06(params); + if(list01_06 != null && list01_06.size() > 0){ + //涓嬮潰1鍒�12鏈堝垎浜�2涓煡璇紝鍘熷洜鏄湪涓�涓煡璇腑锛岄潪甯告參锛屼笉鐭ラ亾浠�涔堝師鍥狅紝涔熻鏄瓙鏌ヨ澶鐨勫師鍥� + List<VoMonthAmount> list07_12 = monthDao.selectIntakeAmountOfMonth07_12(params); + this.merge(list01_06, list07_12); + } + rsVo.obj = list01_06 ; + } + } + return rsVo ; + } + + private void merge(List<VoMonthAmount> list01_06, + List<VoMonthAmount> list07_12){ + for(VoMonthAmount vo01_06 : list01_06){ + for(VoMonthAmount vo07_12 : list07_12){ + if(vo01_06.intakeId.longValue() == vo07_12.intakeId.longValue()){ + vo01_06.month7 = vo07_12.month7 ; + vo01_06.month8 = vo07_12.month8 ; + vo01_06.month9 = vo07_12.month9 ; + vo01_06.month10 = vo07_12.month10 ; + vo01_06.month11 = vo07_12.month11 ; + vo01_06.month12 = vo07_12.month12 ; + break ; + } + } + } + } +} -- Gitblit v1.8.0