From 43e920d243518ee7ede4c7b34f9d507e9d257a57 Mon Sep 17 00:00:00 2001 From: Yen Date: Wed, 1 Feb 2023 14:39:52 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=B4=B9=E7=94=A8=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E7=9A=84=E9=A2=84=E8=A7=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/tbs/entity/TbsBudgetCostItem.java | 2 +- .../tbs/entity/vo/TbsBudgetTableVo.java | 15 +++++++++++ .../service/TbsBudgetApplicationService.java | 25 +++++++------------ 3 files changed, 25 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetCostItem.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetCostItem.java index 2d385454..5245c99b 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetCostItem.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetCostItem.java @@ -212,7 +212,7 @@ public class TbsBudgetCostItem implements Serializable { private String scheduleItemName; - /** 录入时考核期可用预算 */ + /** 录入时考核期总预算 */ @NotNull(message = "费用占比不能为空") private BigDecimal scheduleItemAmount; diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsBudgetTableVo.java b/src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsBudgetTableVo.java index 732e520a..8e5b1c98 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsBudgetTableVo.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsBudgetTableVo.java @@ -37,7 +37,22 @@ public class TbsBudgetTableVo { public static class TopTheadHeader{ private String id; private String label; + + /** + * 可用预算 + * 考核期总预算 - (已申请费用的预算 + 费用申请未通过的预算) + **/ private BigDecimal budgetAmount; + + /** 考核期总预算 */ + private BigDecimal totalAmount; + + /** 已申请费用的预算 */ + private BigDecimal costAppliedAmount; + + /** 费用申请但未通过的预算 */ + private BigDecimal costApplyAmount; + } @Data diff --git a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java index ad5726b2..09636abb 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java @@ -230,11 +230,6 @@ public class TbsBudgetApplicationService { .map(TbsActivityCenterGoods::toBudgetCostItem).collect(Collectors.toList()); List budgetUnMatchList = actUnMatchList.stream() .map(TbsActivityCenterGoods::toBudgetCostItem).collect(Collectors.toList()); - //绑定录入时可用预算 - for (TbsBudgetCostItem budgetCostItem : budgetMatchList) { - BigDecimal currentItemAmount = counterMap.get(budgetCostItem.getScheduleItemBudgetId()); - budgetCostItem.setScheduleItemAmount(currentItemAmount); - } TbsBudgetTableVo tableVo = null; if(buildTableFlag){ //构建tableDTO @@ -332,28 +327,25 @@ public class TbsBudgetApplicationService { Map> tmpMap = allBudgetItem.stream().collect(Collectors.groupingBy(TbsBudgetCostItem::getScheduleItemBudgetId)); for (Long scheduleItemBudgetId : tmpMap.keySet()) { if(scheduleItemBudgetId.equals(0L)){continue;} - TbsBudgetCostItem itemBudget = tmpMap.get(scheduleItemBudgetId).get(0); + TbsBudgetCostItem budgetCostItem = tmpMap.get(scheduleItemBudgetId).get(0); String budgetCode = null; for (TbsBudget budget : budgetList) { - if(budget.getId().equals(itemBudget.getBudgetId())){ + if(budget.getId().equals(budgetCostItem.getBudgetId())){ budgetCode = budget.getBudgetCode(); break; } } - BigDecimal budgetAmount = BigDecimal.ZERO; - String scheduleItemName = null; - for (TbsScheduleItemBudget scheduleItemBudget : scheduleItemList) { - if(scheduleItemBudget.getId().equals(scheduleItemBudgetId)){ - budgetAmount = scheduleItemBudget.getBudgetAmount(); - scheduleItemName = scheduleItemBudget.getItemName(); - break; - } - } + BigDecimal budgetAmount = budgetCostItem.getScheduleItemAmount(); + String scheduleItemName = budgetCostItem.getScheduleItemName(); TbsBudgetTableVo.TopTheadHeader theadHeader = new TbsBudgetTableVo.TopTheadHeader(); theadHeader.setId(scheduleItemBudgetId+""); theadHeader.setLabel(budgetCode+"("+scheduleItemName+")"); BigDecimal totalUsed = TbsBudgetCostUtil.totalHisCost(hisCostGroupByItemBudget.get(scheduleItemBudgetId)); theadHeader.setBudgetAmount(budgetAmount.subtract(totalUsed)); + theadHeader.setTotalAmount(budgetAmount); + BigDecimal applyAmount = budgetCostItem.getScheduleItemAmountApply()==null?BigDecimal.ZERO:budgetCostItem.getScheduleItemAmountApply(); + theadHeader.setCostApplyAmount(applyAmount); + theadHeader.setCostAppliedAmount(totalUsed.subtract(applyAmount)); topTheadHeaders.add(theadHeader); } //自定义超额预算 @@ -492,6 +484,7 @@ public class TbsBudgetApplicationService { activityCostItem.setScheduleItemId(itemBudget.getScheduleItemId()); activityCostItem.setScheduleItemBudgetId(itemBudget.getId()); activityCostItem.setScheduleItemName(itemBudget.getItemName()); + //绑定录入时可用预算 activityCostItem.setScheduleItemAmount(budgetAmount); //剩余的可用预算 activityCostItem.setScheduleItemAmountUsed(totalUsed);