|
@ -2,10 +2,13 @@ package com.qs.serve.modules.tbs.service.impl; |
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|
|
|
|
|
import com.github.pagehelper.PageHelper; |
|
|
import com.qs.serve.common.model.enums.BudgetLogOptFlag; |
|
|
import com.qs.serve.common.model.enums.BudgetLogOptFlag; |
|
|
import com.qs.serve.common.util.CollectionUtil; |
|
|
import com.qs.serve.common.util.CollectionUtil; |
|
|
|
|
|
import com.qs.serve.common.util.PageUtil; |
|
|
import com.qs.serve.modules.tbs.entity.TbsBudget; |
|
|
import com.qs.serve.modules.tbs.entity.TbsBudget; |
|
|
import com.qs.serve.modules.tbs.entity.TbsBudgetCondition; |
|
|
import com.qs.serve.modules.tbs.entity.TbsBudgetCondition; |
|
|
|
|
|
import com.qs.serve.modules.tbs.entity.TbsBudgetLog; |
|
|
import com.qs.serve.modules.tbs.entity.dto.*; |
|
|
import com.qs.serve.modules.tbs.entity.dto.*; |
|
|
import com.qs.serve.modules.tbs.entity.so.TbsScheduleItemSearch; |
|
|
import com.qs.serve.modules.tbs.entity.so.TbsScheduleItemSearch; |
|
|
import com.qs.serve.modules.tbs.mapper.*; |
|
|
import com.qs.serve.modules.tbs.mapper.*; |
|
@ -349,5 +352,47 @@ public class TbsScheduleItemBudgetServiceImpl extends ServiceImpl<TbsScheduleIte |
|
|
return result; |
|
|
return result; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public List<TbsBudgetCheckingWithAmount> listBudgetCheckingAmount(TbsScheduleItemSearch param) { |
|
|
|
|
|
|
|
|
|
|
|
LambdaQueryWrapper<TbsBudget> budgetLqw = new LambdaQueryWrapper<>(); |
|
|
|
|
|
budgetLqw.in(TbsBudget::getScheduleId,param.getScheduleIds()); |
|
|
|
|
|
budgetLqw.in(TbsBudget::getCenterCombo,param.getCenterCombos()); |
|
|
|
|
|
budgetLqw.eq(TbsBudget::getBudgetState,1); |
|
|
|
|
|
List<TbsBudget> budgetList = tbsBudgetMapper.selectList(budgetLqw); |
|
|
|
|
|
|
|
|
|
|
|
Set<Long> budgetIds; |
|
|
|
|
|
|
|
|
|
|
|
if(CollectionUtil.isNotEmpty(param.getBrandIds())){ |
|
|
|
|
|
//无品牌条件
|
|
|
|
|
|
budgetIds = budgetList.stream() |
|
|
|
|
|
.filter(a->a.getConditionFlag().equals(0)) |
|
|
|
|
|
.map(TbsBudget::getId).collect(Collectors.toSet()); |
|
|
|
|
|
|
|
|
|
|
|
//筛选符合品牌条件
|
|
|
|
|
|
List<Long> conBudgetIds = budgetList.stream() |
|
|
|
|
|
.filter(a->a.getConditionFlag().equals(1)) |
|
|
|
|
|
.map(TbsBudget::getId).collect(Collectors.toList()); |
|
|
|
|
|
|
|
|
|
|
|
LambdaQueryWrapper<TbsBudgetCondition> conLqw = new LambdaQueryWrapper<>(); |
|
|
|
|
|
conBudgetIds.add(0L); |
|
|
|
|
|
conLqw.in(TbsBudgetCondition::getBudgetId,conBudgetIds); |
|
|
|
|
|
conLqw.in(TbsBudgetCondition::getBrandId,param.getBrandIds()); |
|
|
|
|
|
List<TbsBudgetCondition> conditions = budgetConditionMapper.selectList(conLqw); |
|
|
|
|
|
conBudgetIds = conditions.stream().map(TbsBudgetCondition::getBudgetId).collect(Collectors.toList()); |
|
|
|
|
|
budgetIds.addAll(conBudgetIds); |
|
|
|
|
|
}else { |
|
|
|
|
|
//加载所有
|
|
|
|
|
|
budgetIds = budgetList.stream().map(TbsBudget::getId).collect(Collectors.toSet()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
budgetIds.add(0L); |
|
|
|
|
|
|
|
|
|
|
|
PageHelper.startPage(param.getPageNum(),param.getPageSize()); |
|
|
|
|
|
|
|
|
|
|
|
List<TbsBudgetCheckingWithAmount> budgetLogs = tbsBudgetLog2Mapper.getBudgetLogCheckingList(new ArrayList<>(budgetIds),param.getScheduleItemBudgetIds(), BudgetLogOptFlag.finalPolicyOptFlag,BudgetLogOptFlag.finalCostOptFlag); |
|
|
|
|
|
|
|
|
|
|
|
return budgetLogs; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|