From b46908e6103881d712cf91029242bed680ab9503 Mon Sep 17 00:00:00 2001 From: Yen Date: Thu, 16 Nov 2023 16:28:58 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=84=E7=AE=97=E4=BD=BF=E7=94=A8=E5=AF=BC?= =?UTF-8?q?=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TbsBudgetLogController.java | 51 +++++++++++++++++++ .../serve/modules/tbs/entity/TbsBudget.java | 4 ++ .../service/impl/TbsBudgetServiceImpl.java | 12 ++++- .../mapper/vtb/VtbVerForPayReportMapper.xml | 5 +- 4 files changed, 69 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetLogController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetLogController.java index e9cd720e..58a0c55b 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetLogController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetLogController.java @@ -1,16 +1,23 @@ package com.qs.serve.modules.tbs.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.LimitSubmit; import com.qs.serve.common.model.annotation.SysLog; import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.CollectionUtil; import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.CopierUtil; +import com.qs.serve.modules.tbs.entity.TbsBudget; import com.qs.serve.modules.tbs.entity.TbsScheduleItemBudget; +import com.qs.serve.modules.tbs.entity.so.TbsBudgetSo; +import com.qs.serve.modules.tbs.entity.vo.TbsBudgetVo; import com.qs.serve.modules.tbs.mapper.TbsBudgetLogMapper; +import com.qs.serve.modules.tbs.mapper.TbsBudgetMapper; +import com.qs.serve.modules.tbs.service.TbsBudgetService; import com.qs.serve.modules.tbs.service.TbsScheduleItemBudgetService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -22,8 +29,11 @@ import com.qs.serve.modules.tbs.entity.TbsBudgetLog; import com.qs.serve.modules.tbs.service.TbsBudgetLogService; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.Optional; +import java.util.stream.Collectors; /** * 预算 预算日志 @@ -37,7 +47,9 @@ import java.util.Optional; public class TbsBudgetLogController { private TbsBudgetLogService tbsBudgetLogService; + private TbsBudgetService tbsBudgetService; private TbsBudgetLogMapper tbsBudgetLogMapper; + private final TbsBudgetMapper tbsBudgetMapper; private TbsScheduleItemBudgetService tbsScheduleItemBudgetService; private TbsBudgetLogService budgetLogService; @@ -55,6 +67,45 @@ public class TbsBudgetLogController { return R.byPageHelperList(list); } + /** + * 列表 + * @param param + * @return + */ + @GetMapping("/list") + public R> getList(TbsBudgetLogSo param){ + TbsBudgetLog entity = CopierUtil.copy(param,new TbsBudgetLog()); + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(entity); + List list = tbsBudgetLogService.list(lqw); + return R.ok(list); + } + + /** + * 导出使用明细 + * @param param + * @return + */ + @LimitSubmit(interval = 3000) + @GetMapping("/export") + public R> getExport(TbsBudgetSo param){ + List budgetIds = tbsBudgetMapper.selectBudgetId(param); + List budgetVoList = new ArrayList<>(); + if(CollectionUtil.isNotEmpty(budgetIds)){ + TbsBudget param4Query = new TbsBudget(); + param4Query.setSelectBudgetIds(budgetIds); + List budgetList = tbsBudgetMapper.selectBatchIds(budgetIds); + List scheduleItemBudgets = tbsBudgetService.getEntityForExcel(param4Query).getScheduleItemBudgets(); + Map> map = scheduleItemBudgets.stream().collect(Collectors.groupingBy(TbsScheduleItemBudget::getBudgetId)); + for (TbsBudget budget : budgetList) { + TbsBudgetVo budgetVo = CopierUtil.copy(budget,new TbsBudgetVo()); + List tmp = map.get(budget.getId()); + budgetVo.setScheduleItemBudgets(tmp); + budgetVoList.add(budgetVo); + } + } + return R.ok(budgetVoList); + } + /** * 获取统计金额 * @param budgetId diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudget.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudget.java index 8e69af22..15f541bc 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudget.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudget.java @@ -188,5 +188,9 @@ public class TbsBudget implements Serializable { @TableField(exist = false) private List attachList; + //用于导出 区分 普通加载id + @TableField(exist = false) + private List selectBudgetIds; + } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java index 35707063..e2638213 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java @@ -840,12 +840,20 @@ public class TbsBudgetServiceImpl extends ServiceImpl public TbsBudgetVo getEntityForExcel(TbsBudget budget){ TbsBudgetVo budgetVo = CopierUtil.copy(budget,new TbsBudgetVo()); LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); - lqw.eq(TbsScheduleItemBudget::getBudgetId,budget.getId()); + if(CollectionUtil.isNotEmpty(budget.getSelectBudgetIds())){ + lqw.in(TbsScheduleItemBudget::getBudgetId,budget.getSelectBudgetIds()); + }else { + lqw.eq(TbsScheduleItemBudget::getBudgetId,budget.getId()); + } List tbsScheduleItemBudgetList = scheduleItemBudgetService.list(lqw); tbsScheduleItemBudgetList.forEach(a->{ LambdaQueryWrapper lqwLog = new LambdaQueryWrapper<>(); lqwLog.eq(TbsBudgetLog::getScheduleItemBudgetId,a.getId()); - lqwLog.eq(TbsBudgetLog::getBudgetId,budget.getId()); + if(CollectionUtil.isNotEmpty(budget.getSelectBudgetIds())){ + lqwLog.in(TbsBudgetLog::getBudgetId,budget.getSelectBudgetIds()); + }else { + lqwLog.eq(TbsBudgetLog::getBudgetId,budget.getId()); + } List tbsBudgetLogList = budgetLogService.list(lqwLog); a.setBudgetLogList(tbsBudgetLogList); diff --git a/src/main/resources/mapper/vtb/VtbVerForPayReportMapper.xml b/src/main/resources/mapper/vtb/VtbVerForPayReportMapper.xml index 764d0a7d..7dfdae18 100644 --- a/src/main/resources/mapper/vtb/VtbVerForPayReportMapper.xml +++ b/src/main/resources/mapper/vtb/VtbVerForPayReportMapper.xml @@ -270,11 +270,14 @@ left join vtb_verification vtb on pay_payment_item.verification_id = vtb.id left join tbs_activity act on act.id = vtb.activity_id - limit + limit {pageInfo.startIndex},{pageInfo.size} +