|
|
@ -8,6 +8,7 @@ import com.qs.serve.modules.sys.service.SysConfigService; |
|
|
|
import com.qs.serve.modules.tbs.common.TbsGoodsType; |
|
|
|
import com.qs.serve.modules.tbs.common.util.TbsBudgetCostUtil; |
|
|
|
import com.qs.serve.modules.tbs.entity.*; |
|
|
|
import com.qs.serve.modules.tbs.entity.bo.TbsActivitySubjectBo; |
|
|
|
import com.qs.serve.modules.tbs.entity.dto.TbsBudgetCostResult; |
|
|
|
import com.qs.serve.modules.tbs.entity.vo.TbsBudgetTableVo; |
|
|
|
import com.qs.serve.modules.tbs.mapper.TbsActivityGoodsMapper; |
|
|
@ -33,6 +34,7 @@ import java.util.stream.Collectors; |
|
|
|
public class TbsBudgetApplicationService { |
|
|
|
|
|
|
|
private TbsActivityCenterGoodsService tbsActivityCenterGoodsService; |
|
|
|
private TbsActivitySubjectService tbsActivitySubjectService; |
|
|
|
private TbsScheduleItemBudgetService tbsScheduleItemBudgetService; |
|
|
|
private TbsBudgetMapper tbsBudgetMapper; |
|
|
|
private TbsBudgetConditionService tbsBudgetConditionService; |
|
|
@ -156,6 +158,7 @@ public class TbsBudgetApplicationService { |
|
|
|
LambdaQueryWrapper<TbsActivity> activityLqw = new LambdaQueryWrapper<>(); |
|
|
|
activityLqw.eq(TbsActivity::getCostApplyId,costApplyId); |
|
|
|
List<TbsActivity> activityList = activityMapper.selectList(activityLqw); |
|
|
|
List<TbsActivitySubject> activitySubjects = tbsActivitySubjectService.listByCostApplyId(costApplyId); |
|
|
|
if(activityList.size()<1){ |
|
|
|
Assert.throwEx("当前费用未设置活动"); |
|
|
|
} |
|
|
@ -172,11 +175,14 @@ public class TbsBudgetApplicationService { |
|
|
|
.collect(Collectors.groupingBy(TbsBudgetCostItem::getScheduleItemBudgetId)); |
|
|
|
// 构建预算费用占用明细
|
|
|
|
List<TbsActivityCenterGoods> centerGoodsList = tbsActivityCenterGoodsService.listByCostApplyId(costApplyId); |
|
|
|
//补充添加科目拦截
|
|
|
|
List<Long> subjectIds = activitySubjects.stream().map(TbsActivitySubject::getSubjectId).collect(Collectors.toList()); |
|
|
|
// 加载所有条件
|
|
|
|
List<TbsBudget> budgetList; |
|
|
|
if(budgetIds.size()>0){ |
|
|
|
LambdaQueryWrapper<TbsBudget> budgetLqw = new LambdaQueryWrapper<>(); |
|
|
|
budgetLqw.in(TbsBudget::getId,budgetIds); |
|
|
|
budgetLqw.in(TbsBudget::getSubjectId,subjectIds); |
|
|
|
budgetLqw.eq(TbsBudget::getBudgetState,1); |
|
|
|
budgetList = tbsBudgetMapper.selectList(budgetLqw); |
|
|
|
}else { |
|
|
@ -401,6 +407,7 @@ public class TbsBudgetApplicationService { |
|
|
|
final List<TbsActivityCenterGoods> actMatchList, |
|
|
|
final List<TbsActivityCenterGoods> actUnMatchList, |
|
|
|
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()); |
|
|
|