|
|
@ -369,14 +369,11 @@ public class TzcPolicyApplicationServiceImpl implements TzcPolicyApplicationServ |
|
|
|
//所有满足条件的考核期,用于加载历史核销费用,并设置不满足时间条件的预算
|
|
|
|
List<TbsScheduleItemBudget> scheduleItemList = this.loadScheduleBudgetAndSetting(policyItemList, budgetIds, noBudgetPolicyIds,sortWrapper); |
|
|
|
List<String> centerIds = policyItemList.stream().map(TzcPolicyItem::getCenterId).collect(Collectors.toList()); |
|
|
|
//默认为随货折让
|
|
|
|
//List<Long> subjectIds = policyItemList.stream().map(TzcPolicyItem::getSubjectId).distinct().collect(Collectors.toList());
|
|
|
|
List<TbsBudget> budgetList; |
|
|
|
if(budgetIds.size()>0){ |
|
|
|
LambdaQueryWrapper<TbsBudget> budgetLqw = new LambdaQueryWrapper<>(); |
|
|
|
budgetLqw.in(TbsBudget::getId,budgetIds); |
|
|
|
//默认为随货折让(FYMC05)
|
|
|
|
//budgetLqw.and(qw->qw.eq(TbsBudget::getSubjectId,0).or(qw2->qw2.in(TbsBudget::getSubjectId,subjectIds)));
|
|
|
|
budgetLqw.eq(TbsBudget::getSubjectCode,"FYMC05"); |
|
|
|
budgetLqw.in(TbsBudget::getCenterId,centerIds); |
|
|
|
budgetLqw.eq(TbsBudget::getBudgetState,1); |
|
|
@ -396,26 +393,26 @@ public class TzcPolicyApplicationServiceImpl implements TzcPolicyApplicationServ |
|
|
|
} |
|
|
|
//统计所有占用预算金额
|
|
|
|
Map<Long, BigDecimal> budgetItemAmountMap = new HashMap<>(scheduleItemList.size()); |
|
|
|
//统计费用申请占用金额
|
|
|
|
//统计费用申请占用金额(录入时,考核期申请占用金额)
|
|
|
|
Map<Long,BigDecimal> budgetItemApplyAmountMap = new HashMap<>(scheduleItemList.size()); |
|
|
|
for (TbsScheduleItemBudget itemBudget : scheduleItemList) { |
|
|
|
BigDecimal budgetItemApplyAmount = tbsScheduleItemBudgetMapper.totalApplyAmount(itemBudget.getId(),0L); |
|
|
|
if(budgetItemApplyAmount==null){ |
|
|
|
budgetItemApplyAmount = BigDecimal.ZERO; |
|
|
|
} |
|
|
|
BigDecimal budgetItemApplyAmount2 = tbsScheduleItemBudgetMapper.totalPolicyAmount(itemBudget.getId(), policyId); |
|
|
|
if(budgetItemApplyAmount2!=null){ |
|
|
|
budgetItemApplyAmount.add(budgetItemApplyAmount2); |
|
|
|
} |
|
|
|
// BigDecimal budgetItemApplyAmount = tbsScheduleItemBudgetMapper.totalApplyAmount(itemBudget.getId(),0L);
|
|
|
|
// if(budgetItemApplyAmount==null){
|
|
|
|
// budgetItemApplyAmount = BigDecimal.ZERO;
|
|
|
|
// }
|
|
|
|
BigDecimal budgetItemApplyAmount = tbsScheduleItemBudgetMapper.totalPolicyAmount(itemBudget.getId(), policyId); |
|
|
|
// if(budgetItemApplyAmount2!=null){
|
|
|
|
// budgetItemApplyAmount.add(budgetItemApplyAmount2);
|
|
|
|
// }
|
|
|
|
budgetItemApplyAmountMap.put(itemBudget.getId(),budgetItemApplyAmount); |
|
|
|
BigDecimal budgetItemAmount = tbsScheduleItemBudgetMapper.totalCostAmountByPolicyId(itemBudget.getBudgetId(),itemBudget.getScheduleItemId(),policyId); |
|
|
|
//因为结果为负数,需去相反数
|
|
|
|
budgetItemAmount = budgetItemAmount==null?BigDecimal.ZERO:budgetItemAmount.negate(); |
|
|
|
//添加费用占用情况
|
|
|
|
BigDecimal budgetItemCostAmount = tbsScheduleItemBudgetMapper.totalCostAmountByApplyId(itemBudget.getBudgetId(),itemBudget.getScheduleItemId(),0L); |
|
|
|
if(budgetItemCostAmount!=null){ |
|
|
|
budgetItemAmount = budgetItemAmount.add(budgetItemCostAmount.negate()); |
|
|
|
} |
|
|
|
// BigDecimal budgetItemCostAmount = tbsScheduleItemBudgetMapper.totalCostAmountByApplyId(itemBudget.getBudgetId(),itemBudget.getScheduleItemId(),0L);
|
|
|
|
// if(budgetItemCostAmount!=null){
|
|
|
|
// budgetItemAmount = budgetItemAmount.add(budgetItemCostAmount.negate());
|
|
|
|
// }
|
|
|
|
budgetItemAmountMap.put(itemBudget.getId(),budgetItemAmount); |
|
|
|
} |
|
|
|
//统计当前活动前置项占用预算
|
|
|
@ -753,6 +750,7 @@ public class TzcPolicyApplicationServiceImpl implements TzcPolicyApplicationServ |
|
|
|
budgetIdsOfActivity.addAll(noConditionBudgetList.stream().map(TbsBudget::getId).collect(Collectors.toList())); |
|
|
|
} |
|
|
|
List<TzcPolicyGoods> policyGoodsList = tzcPolicyGoodsService.listByItemId(policyItemId); |
|
|
|
List<TbsBudgetCondition> poItemMathConList = new ArrayList<>(); |
|
|
|
for (TbsBudget budget : budgetList) { |
|
|
|
if(budget.getConditionFlag().equals(1)){ |
|
|
|
List<TbsBudgetCondition> budgetConditionList = budget.getBudgetConditionList(); |
|
|
@ -761,6 +759,7 @@ public class TzcPolicyApplicationServiceImpl implements TzcPolicyApplicationServ |
|
|
|
boolean matchGoods = false; |
|
|
|
for (TbsBudgetCondition budgetCondition : budgetConditionList) { |
|
|
|
if(policyGoods.getTargetLevelPathIds().contains(budgetCondition.getTargetLevelPathIds())){ |
|
|
|
poItemMathConList.add(budgetCondition); |
|
|
|
matchGoods = true; |
|
|
|
break; |
|
|
|
} |
|
|
@ -770,6 +769,7 @@ public class TzcPolicyApplicationServiceImpl implements TzcPolicyApplicationServ |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
//匹配的
|
|
|
|
if(!hasNoMatch){ |
|
|
|
List<Long> budgetIds = activityAllowBudgetIdMap.get(policyItemId); |
|
|
|
if(budgetIds==null){ |
|
|
@ -777,7 +777,6 @@ public class TzcPolicyApplicationServiceImpl implements TzcPolicyApplicationServ |
|
|
|
} |
|
|
|
budgetIds.add(budget.getId()); |
|
|
|
budgetIds.addAll(budgetIdsOfActivity); |
|
|
|
sortWrapper.putPolicyItemCondition(policyItemId, budgetConditionList); |
|
|
|
activityAllowBudgetIdMap.put(policyItemId,budgetIds); |
|
|
|
} |
|
|
|
}else { |
|
|
@ -790,6 +789,7 @@ public class TzcPolicyApplicationServiceImpl implements TzcPolicyApplicationServ |
|
|
|
activityAllowBudgetIdMap.put(policyItemId,budgetIds); |
|
|
|
} |
|
|
|
} |
|
|
|
sortWrapper.putPolicyItemCondition(policyItemId, poItemMathConList); |
|
|
|
} |
|
|
|
return activityAllowBudgetIdMap; |
|
|
|
} |
|
|
|