diff --git a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java index c84cc869..6b5b87d0 100644 --- a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java @@ -538,9 +538,9 @@ public class OmsOrderServiceImpl extends ServiceImpl im /** * TODO: 根据账套,获取spuId对应的skuId - * @param book - * @param spuIds - * @return + * @param book 账套 + * @param spuIds 嘉士利的SKU-CODE + * @return 嘉士利的invCode */ public List getSpuToSkuInfo(String book, List spuIds){ //TODO 测试数据 diff --git a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java index 20223e9e..165d0468 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java @@ -22,6 +22,7 @@ import com.qs.serve.modules.tbs.mapper.TbsBudgetMapper; import com.qs.serve.modules.tbs.mapper.TbsScheduleItemBudgetMapper; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.jetbrains.annotations.NotNull; import org.springframework.stereotype.Service; @@ -201,6 +202,17 @@ public class TbsBudgetApplicationService { List scheduleItemList = this.loadScheduleBudgetAndSetting(activityList, budgetIds, noBudgetActivityIds,costSortWrapper); List centerIds = activityCenterList.stream().map(TbsActivityCenter::getCenterId).collect(Collectors.toList()); List subjectIds = activitySubjects.stream().map(TbsActivitySubject::getSubjectId).collect(Collectors.toList()); + //通过模板限制,选中指定的预算 + List limitBudgetIds = new ArrayList<>(); + for (TbsActivity activity : activityList) { + if(StringUtils.hasText(activity.getTemplateBudgetIds())){ + List budgetIdsList = Arrays.stream(activity.getTemplateBudgetIds().split(",")).map(Long::parseLong) + .collect(Collectors.toList()); + limitBudgetIds.addAll(budgetIdsList); + } + } + // budgetIds交集 + budgetIds = (List) CollectionUtils.intersection(budgetIds, limitBudgetIds); // 加载所有条件 List budgetList; if(budgetIds.size()>0){ diff --git a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetMatchApplication.java b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetMatchApplication.java index a8b54b19..e7c8e6b2 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetMatchApplication.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetMatchApplication.java @@ -2,6 +2,7 @@ package com.qs.serve.modules.tbs.service; import com.qs.serve.common.model.AmountDTO; import com.qs.serve.common.util.CollectionUtil; +import com.qs.serve.common.util.StringUtils; import com.qs.serve.modules.tbs.common.TbsGoodsType; import com.qs.serve.modules.tbs.common.util.CostSort2WrapperUtil; import com.qs.serve.modules.tbs.entity.TbsActivity; @@ -36,6 +37,7 @@ public class TbsBudgetMatchApplication { public TbsBudgetTableResultVo getMatchResult(Long costApplyId,boolean buildTable){ List activityList = activityService.listByCostApplyId(costApplyId); + Map activityMap = new HashMap<>(activityList.size()); for (TbsActivity activity : activityList) { activityMap.put(activity.getId(),activity);