|
|
@ -203,7 +203,7 @@ public class TbsBudgetApplicationService { |
|
|
|
final List<TbsActivityCenterGoods> actUnMatchList = new ArrayList<>(); |
|
|
|
for (TbsActivityCenterGoods activityCostItem : centerGoodsList) { |
|
|
|
this.matchActivityMain(activityCostItem,throwEx, overspend, activityList, hisCostGroupByItemBudget, budgetList, |
|
|
|
noConditionBudgetList, counterMap, actMatchList, actUnMatchList,activityAllowBudgetIdMap); |
|
|
|
noConditionBudgetList, counterMap, actMatchList, actUnMatchList,activityAllowBudgetIdMap,activitySubjects); |
|
|
|
} |
|
|
|
List<TbsBudgetCostItem> budgetMatchList = actMatchList.stream() |
|
|
|
.map(TbsActivityCenterGoods::toBudgetCostItem).collect(Collectors.toList()); |
|
|
@ -395,6 +395,7 @@ public class TbsBudgetApplicationService { |
|
|
|
* @param actMatchList 匹配预算占用的费用(含超支预算) |
|
|
|
* @param actUnMatchList 没有匹配预算的费用 |
|
|
|
* @param activityAllowBudgetIdMap 满足当前活动项的费用idMap |
|
|
|
* @param activitySubjects 活动科目 |
|
|
|
*/ |
|
|
|
private void matchActivityMain(TbsActivityCenterGoods activityCostItem, |
|
|
|
Boolean throwEx, |
|
|
@ -406,8 +407,8 @@ public class TbsBudgetApplicationService { |
|
|
|
Map<Long, BigDecimal> counterMap, |
|
|
|
final List<TbsActivityCenterGoods> actMatchList, |
|
|
|
final List<TbsActivityCenterGoods> actUnMatchList, |
|
|
|
final Map<Long,List<Long>> activityAllowBudgetIdMap) { |
|
|
|
List<TbsActivitySubject> activitySubjects; |
|
|
|
final Map<Long,List<Long>> activityAllowBudgetIdMap, |
|
|
|
List<TbsActivitySubject> activitySubjects) { |
|
|
|
//过滤满全条件的预算
|
|
|
|
List<Long> allowBudgetIds = activityAllowBudgetIdMap.get(activityCostItem.getActivityId()); |
|
|
|
List<TbsBudget> budgetList = allBudgetList.stream().filter(obj->allowBudgetIds.contains(obj.getId())).collect(Collectors.toList()); |
|
|
@ -423,7 +424,18 @@ public class TbsBudgetApplicationService { |
|
|
|
if(!activityCostItem.getActivityId().equals(activity.getId())){ |
|
|
|
continue; |
|
|
|
} |
|
|
|
//拦截非当前科目
|
|
|
|
Long subjectId = null; |
|
|
|
for (TbsActivitySubject activitySubject : activitySubjects) { |
|
|
|
if(activity.getId().equals(activitySubject.getActivityId())){ |
|
|
|
subjectId = activitySubject.getSubjectId(); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
for (TbsBudget budget : currentItemBudgetList) { |
|
|
|
if(!budget.getSubjectId().equals(subjectId)){ |
|
|
|
continue; |
|
|
|
} |
|
|
|
List<TbsScheduleItemBudget> scheduleItemBudgets = activity.getScheduleItemBudgetList(); |
|
|
|
for (TbsScheduleItemBudget scheduleItemBudget : scheduleItemBudgets) { |
|
|
|
if(scheduleItemBudget.getBudgetId().equals(budget.getId())){ |
|
|
|