Browse Source

调整费用申请的预览

contract
Yen 3 years ago
parent
commit
43e920d243
  1. 2
      src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetCostItem.java
  2. 15
      src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsBudgetTableVo.java
  3. 25
      src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java

2
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;

15
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

25
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<TbsBudgetCostItem> 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<Long,List<TbsBudgetCostItem>> 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);

Loading…
Cancel
Save