|
|
@ -92,11 +92,12 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget> |
|
|
|
List<Long> seriesIds = budgetBo.getSeriesIds(); |
|
|
|
List<Long> brandIds = budgetBo.getBrandIds(); |
|
|
|
List<Long> categoryIds = budgetBo.getCategoryIds(); |
|
|
|
Long scheduleId = budgetBo.getScheduleId(); |
|
|
|
//添加条件拦截
|
|
|
|
boolean sameCondition = filterSameCondition(budget,skuIds, spuIds, seriesIds, brandIds, categoryIds); |
|
|
|
// if(sameCondition){
|
|
|
|
// Assert.throwEx("已存在相同条件预算");
|
|
|
|
// }
|
|
|
|
boolean sameCondition = filterSameCondition(scheduleId,budget,skuIds, spuIds, seriesIds, brandIds, categoryIds); |
|
|
|
if(sameCondition){ |
|
|
|
Assert.throwEx("已存在相同条件预算"); |
|
|
|
} |
|
|
|
budget.setBudgetCode(budgetBo.getBudgetCode()); |
|
|
|
budget.setSubjectId(budgetBo.getSubjectId()); |
|
|
|
BmsSubject subject = null; |
|
|
@ -110,7 +111,13 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget> |
|
|
|
List<TbsScheduleItem> scheduleItems = scheduleItemService.listByScheduleId(schedule.getId()); |
|
|
|
List<TbsScheduleItemBudget> scheduleItemBudgets = new ArrayList<>(); |
|
|
|
for (TbsScheduleItem scheduleItem : scheduleItems) { |
|
|
|
TbsScheduleItemBudget itemBudget = CopierUtil.copy(scheduleItem,new TbsScheduleItemBudget()); |
|
|
|
TbsScheduleItemBudget itemBudget = new TbsScheduleItemBudget(); |
|
|
|
itemBudget.setScheduleId(scheduleItem.getScheduleId()); |
|
|
|
itemBudget.setScheduleItemId(scheduleItem.getId()); |
|
|
|
itemBudget.setItemName(scheduleItem.getItemName()); |
|
|
|
itemBudget.setStartDate(scheduleItem.getStartDate()); |
|
|
|
itemBudget.setEndDate(scheduleItem.getEndDate()); |
|
|
|
itemBudget.setBudgetId(budget.getId()); |
|
|
|
for (TbsBudgetBo.ScheduleItem boScheduleItem : budgetBo.getScheduleItems()) { |
|
|
|
if(itemBudget.getId().equals(boScheduleItem.getScheduleItemId())){ |
|
|
|
itemBudget.setBudgetAmount(boScheduleItem.getAmount()); |
|
|
@ -120,9 +127,6 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget> |
|
|
|
if(itemBudget.getBudgetAmount()==null){ |
|
|
|
Assert.throwEx("考核期周期需设置金额"); |
|
|
|
} |
|
|
|
itemBudget.setId(null); |
|
|
|
itemBudget.setScheduleItemId(scheduleItem.getId()); |
|
|
|
itemBudget.setBudgetId(budget.getId()); |
|
|
|
scheduleItemBudgets.add(itemBudget); |
|
|
|
} |
|
|
|
scheduleItemBudgetService.saveBatch(scheduleItemBudgets); |
|
|
@ -132,6 +136,7 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget> |
|
|
|
|
|
|
|
/** |
|
|
|
* 拦截相同条件的预算 |
|
|
|
* @param scheduleId |
|
|
|
* @param budget |
|
|
|
* @param skuIds |
|
|
|
* @param spuIds |
|
|
@ -140,7 +145,7 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget> |
|
|
|
* @param categoryIds |
|
|
|
* @return 满足无条件的返回true |
|
|
|
*/ |
|
|
|
private boolean filterSameCondition(TbsBudget budget,List<Long> skuIds, List<Long> spuIds, List<Long> seriesIds, List<Long> brandIds, List<Long> categoryIds) { |
|
|
|
private boolean filterSameCondition(Long scheduleId,TbsBudget budget,List<Long> skuIds, List<Long> spuIds, List<Long> seriesIds, List<Long> brandIds, List<Long> categoryIds) { |
|
|
|
boolean hasCondition = CollectionUtil.isNotEmpty(skuIds)|| |
|
|
|
CollectionUtil.isNotEmpty(spuIds)|| |
|
|
|
CollectionUtil.isNotEmpty(seriesIds)|| |
|
|
@ -150,6 +155,7 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget> |
|
|
|
lqw.eq(TbsBudget::getSubjectId,budget.getSubjectId()); |
|
|
|
lqw.eq(TbsBudget::getCenterType,budget.getCenterType()); |
|
|
|
lqw.eq(TbsBudget::getCenterId,budget.getCenterId()); |
|
|
|
lqw.eq(TbsBudget::getScheduleId,scheduleId); |
|
|
|
//忽略更新情况
|
|
|
|
if(budget.getId()!=null){ |
|
|
|
lqw.ne(TbsBudget::getId,budget.getId()); |
|
|
|