From 47779d75a8fb1fe1d6d9862454fbd4792d0464f9 Mon Sep 17 00:00:00 2001 From: "15989082884@163.com" <15989082884@163.com> Date: Thu, 27 Jul 2023 17:23:37 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=84=E7=AE=97=E9=87=91=E9=A2=9D=E5=A4=A7?= =?UTF-8?q?=E9=83=A8=E4=BB=BD=E8=A6=81=E5=BC=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tbs/controller/TbsBudgetController.java | 64 +-- .../tbs/entity/TbsScheduleItemBudget.java | 12 +- .../modules/tbs/service/TbsBudgetService.java | 4 +- .../service/impl/TbsBudgetServiceImpl.java | 380 +++++++++--------- 4 files changed, 230 insertions(+), 230 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java index 48415f52..a01cf892 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java @@ -253,44 +253,44 @@ public class TbsBudgetController { * @param budgetBo * @return 返回错误列表 */ - @PostMapping("/import") - @SysLog(module = SystemModule.Budget, title = "预算", biz = BizType.INSERT) - @PreAuthorize("hasRole('tbs:budget:insert')") - public R> importBo(@RequestBody @Valid TbsBudgetExcelBatchDto budgetBo){ - ValidateTools.valid(budgetBo.getItems()); - List errorList = new ArrayList<>(); - for (int i = 0; i < budgetBo.getItems().size(); i++) { - TbsBudgetExcelBo item = budgetBo.getItems().get(i); - item.setSkuCodes(item.getSkuCodes().stream().filter(a->StringUtils.isNotEmpty(a.trim())).collect(Collectors.toList())); - item.setSpuNames(item.getSpuNames().stream().filter(a->StringUtils.isNotEmpty(a.trim())).collect(Collectors.toList())); - item.setCategoryNames(item.getCategoryNames().stream().filter(a->StringUtils.isNotEmpty(a.trim())).collect(Collectors.toList())); - item.setSeriesNames(item.getSeriesNames().stream().filter(a->StringUtils.isNotEmpty(a.trim())).collect(Collectors.toList())); - item.setBrandNames(item.getBrandNames().stream().filter(a->StringUtils.isNotEmpty(a.trim())).collect(Collectors.toList())); - - try { - tbsBudgetService.modifyByExcel(item); - } catch (BusinessException e) { - item.setErrorMsg("预算编码["+item.getBudgetCode()+"]"+e.getMessage()); - errorList.add(item); - }catch (Exception e) { - log.error(e.getMessage()); - item.setErrorMsg("预算编码["+item.getBudgetCode()+"]未知错误,请联系管理员"); - errorList.add(item); - } - } - return R.ok(errorList,"成功导入:"+(budgetBo.getItems().size()-errorList.size())+"条记录,失败数:"+errorList.size()); - } +// @PostMapping("/import") +// @SysLog(module = SystemModule.Budget, title = "预算", biz = BizType.INSERT) +// @PreAuthorize("hasRole('tbs:budget:insert')") +// public R> importBo(@RequestBody @Valid TbsBudgetExcelBatchDto budgetBo){ +// ValidateTools.valid(budgetBo.getItems()); +// List errorList = new ArrayList<>(); +// for (int i = 0; i < budgetBo.getItems().size(); i++) { +// TbsBudgetExcelBo item = budgetBo.getItems().get(i); +// item.setSkuCodes(item.getSkuCodes().stream().filter(a->StringUtils.isNotEmpty(a.trim())).collect(Collectors.toList())); +// item.setSpuNames(item.getSpuNames().stream().filter(a->StringUtils.isNotEmpty(a.trim())).collect(Collectors.toList())); +// item.setCategoryNames(item.getCategoryNames().stream().filter(a->StringUtils.isNotEmpty(a.trim())).collect(Collectors.toList())); +// item.setSeriesNames(item.getSeriesNames().stream().filter(a->StringUtils.isNotEmpty(a.trim())).collect(Collectors.toList())); +// item.setBrandNames(item.getBrandNames().stream().filter(a->StringUtils.isNotEmpty(a.trim())).collect(Collectors.toList())); +// +// try { +// tbsBudgetService.modifyByExcel(item); +// } catch (BusinessException e) { +// item.setErrorMsg("预算编码["+item.getBudgetCode()+"]"+e.getMessage()); +// errorList.add(item); +// }catch (Exception e) { +// log.error(e.getMessage()); +// item.setErrorMsg("预算编码["+item.getBudgetCode()+"]未知错误,请联系管理员"); +// errorList.add(item); +// } +// } +// return R.ok(errorList,"成功导入:"+(budgetBo.getItems().size()-errorList.size())+"条记录,失败数:"+errorList.size()); +// } /** * 导出 * @param ids * @return */ - @GetMapping("/export") - public R> exportVo(String ids){ - List idsLong = StringUtils.splitIdLong(ids); - return R.ok(tbsBudgetService.listBudgetExcel(idsLong)); - } +// @GetMapping("/export") +// public R> exportVo(String ids){ +// List idsLong = StringUtils.splitIdLong(ids); +// return R.ok(tbsBudgetService.listBudgetExcel(idsLong)); +// } /** * 删除 diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsScheduleItemBudget.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsScheduleItemBudget.java index d6925fe3..96734014 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsScheduleItemBudget.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsScheduleItemBudget.java @@ -144,12 +144,12 @@ public class TbsScheduleItemBudget implements Serializable { @TableField(exist = false) private String budgetCode; - public BigDecimal compareTargetExpenseRate(){ - if(budgetAmount!=null&&preDispatchAmount!=null&&preDispatchAmount.compareTo(BigDecimal.ZERO)!=0){ - return budgetAmount.divide(preDispatchAmount,BigDecimal.ROUND_DOWN); - } - return null; - } +// public BigDecimal compareTargetExpenseRate(){ +// if(budgetAmount!=null&&preDispatchAmount!=null&&preDispatchAmount.compareTo(BigDecimal.ZERO)!=0){ +// return budgetAmount.divide(preDispatchAmount,BigDecimal.ROUND_DOWN); +// } +// return null; +// } } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetService.java b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetService.java index b8e323bc..882030f0 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetService.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetService.java @@ -30,13 +30,13 @@ public interface TbsBudgetService extends IService { void startBudget(Long id); - void modifyByExcel(TbsBudgetExcelBo budgetBo); +// void modifyByExcel(TbsBudgetExcelBo budgetBo); //void modifyByExcelBatch(TbsBudgetExcelBatchDto budgetBo); TbsBudget getByCode(String code); - List listBudgetExcel(List budgetIds); +// List listBudgetExcel(List budgetIds); TbsBudgetVo toVoEntity(TbsBudget budget); diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java index a1de0fb3..e2ff835b 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java @@ -275,101 +275,101 @@ public class TbsBudgetServiceImpl extends ServiceImpl } - @Override - public List listBudgetExcel(List budgetIds) { - List budgetList = null; - //考核期项 - if (budgetIds==null||budgetIds.size()<1){ - budgetList = this.list(); - budgetIds = budgetList.stream().map(TbsBudget::getId).collect(Collectors.toList()); - }else { - budgetList = this.listByIds(budgetIds); - } - if(budgetIds.size()<1){ - return null; - } - LambdaQueryWrapper lqw2 = new LambdaQueryWrapper<>(); - lqw2.in(TbsScheduleItemBudget::getBudgetId,budgetIds); - List scheduleItemBudgets = scheduleItemBudgetService.list(lqw2); - Map> listScheduleMapByBudgetId = scheduleItemBudgets.stream().collect(Collectors.groupingBy(TbsScheduleItemBudget::getBudgetId)); - //加载条件 - LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); - lqw.in(TbsBudgetCondition::getBudgetId,budgetIds); - List budgetConditions = budgetConditionService.list(lqw); - Map> listConditionMapByBudgetId = budgetConditions.stream().collect(Collectors.groupingBy(TbsBudgetCondition::getBudgetId)); - //拼装 - return budgetList.stream().map(budget->{ - TbsBudgetExcelBo excelBo = new TbsBudgetExcelBo(); - excelBo.setBudgetCode(budget.getBudgetCode()); - excelBo.setSubjectName(budget.getSubjectName()); - excelBo.setCenterType(budget.getCenterType()); - excelBo.setCenterName(budget.getCenterName()); - excelBo.setCenterCode(budget.getCenterCode()); - excelBo.setScheduleName(budget.getScheduleName()); - excelBo.setRemark(budget.getRemark()); - - //拼装条件 - List budgetConditionsOfBudget = listConditionMapByBudgetId.get(budget.getId()); - if(budgetConditionsOfBudget!=null){ - Map> listMap = budgetConditionsOfBudget.stream().collect(Collectors.groupingBy(TbsBudgetCondition::getTargetType)); - List brandConditions = listMap.get(TbsGoodsType.brand.name()); - List categoryConditions = listMap.get(TbsGoodsType.category.name()); - List seriesConditions = listMap.get(TbsGoodsType.series.name()); - List spuConditions = listMap.get(TbsGoodsType.spu.name()); - List skuConditions = listMap.get(TbsGoodsType.sku.name()); - - excelBo.setBrandNames(getConditionNames(brandConditions)); - excelBo.setCategoryNames(getConditionNames(categoryConditions)); - excelBo.setSeriesNames(getConditionNames(seriesConditions)); - excelBo.setSpuNames(getConditionNames(spuConditions)); - excelBo.setSkuCodes(getConditionCodes(skuConditions)); - excelBo.setSkuNames(getConditionSkus(skuConditions)); - } - - //拼装考核期项 - List scheduleItemBudgetList = listScheduleMapByBudgetId.get(budget.getId()); - if(scheduleItemBudgetList!=null){ - for (TbsScheduleItemBudget itemBudget : scheduleItemBudgetList) { - if(itemBudget.getItemName().equals("M1")){ - excelBo.setAmountM1(itemBudget.getBudgetAmount()); - }else if (itemBudget.getItemName().equals("M2")){ - excelBo.setAmountM2(itemBudget.getBudgetAmount()); - }else if (itemBudget.getItemName().equals("M3")){ - excelBo.setAmountM3(itemBudget.getBudgetAmount()); - }else if (itemBudget.getItemName().equals("M4")){ - excelBo.setAmountM4(itemBudget.getBudgetAmount()); - }else if (itemBudget.getItemName().equals("M5")){ - excelBo.setAmountM5(itemBudget.getBudgetAmount()); - }else if (itemBudget.getItemName().equals("M6")){ - excelBo.setAmountM6(itemBudget.getBudgetAmount()); - }else if (itemBudget.getItemName().equals("M7")){ - excelBo.setAmountM7(itemBudget.getBudgetAmount()); - }else if (itemBudget.getItemName().equals("M8")){ - excelBo.setAmountM8(itemBudget.getBudgetAmount()); - }else if (itemBudget.getItemName().equals("M9")){ - excelBo.setAmountM9(itemBudget.getBudgetAmount()); - }else if (itemBudget.getItemName().equals("M10")){ - excelBo.setAmountM10(itemBudget.getBudgetAmount()); - }else if (itemBudget.getItemName().equals("M11")){ - excelBo.setAmountM11(itemBudget.getBudgetAmount()); - }else if (itemBudget.getItemName().equals("M12")){ - excelBo.setAmountM12(itemBudget.getBudgetAmount()); - }else if (itemBudget.getItemName().equals("Q1")){ - excelBo.setAmountQ1(itemBudget.getBudgetAmount()); - }else if (itemBudget.getItemName().equals("Q2")){ - excelBo.setAmountQ2(itemBudget.getBudgetAmount()); - }else if (itemBudget.getItemName().equals("Q3")){ - excelBo.setAmountQ3(itemBudget.getBudgetAmount()); - }else if (itemBudget.getItemName().equals("Q4")){ - excelBo.setAmountQ4(itemBudget.getBudgetAmount()); - }else if (itemBudget.getItemName().equals("Y")){ - excelBo.setAmountYear(itemBudget.getBudgetAmount()); - } - } - } - return excelBo; - }).collect(Collectors.toList()); - } +// @Override +// public List listBudgetExcel(List budgetIds) { +// List budgetList = null; +// //考核期项 +// if (budgetIds==null||budgetIds.size()<1){ +// budgetList = this.list(); +// budgetIds = budgetList.stream().map(TbsBudget::getId).collect(Collectors.toList()); +// }else { +// budgetList = this.listByIds(budgetIds); +// } +// if(budgetIds.size()<1){ +// return null; +// } +// LambdaQueryWrapper lqw2 = new LambdaQueryWrapper<>(); +// lqw2.in(TbsScheduleItemBudget::getBudgetId,budgetIds); +// List scheduleItemBudgets = scheduleItemBudgetService.list(lqw2); +// Map> listScheduleMapByBudgetId = scheduleItemBudgets.stream().collect(Collectors.groupingBy(TbsScheduleItemBudget::getBudgetId)); +// //加载条件 +// LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); +// lqw.in(TbsBudgetCondition::getBudgetId,budgetIds); +// List budgetConditions = budgetConditionService.list(lqw); +// Map> listConditionMapByBudgetId = budgetConditions.stream().collect(Collectors.groupingBy(TbsBudgetCondition::getBudgetId)); +// //拼装 +// return budgetList.stream().map(budget->{ +// TbsBudgetExcelBo excelBo = new TbsBudgetExcelBo(); +// excelBo.setBudgetCode(budget.getBudgetCode()); +// excelBo.setSubjectName(budget.getSubjectName()); +// excelBo.setCenterType(budget.getCenterType()); +// excelBo.setCenterName(budget.getCenterName()); +// excelBo.setCenterCode(budget.getCenterCode()); +// excelBo.setScheduleName(budget.getScheduleName()); +// excelBo.setRemark(budget.getRemark()); +// +// //拼装条件 +// List budgetConditionsOfBudget = listConditionMapByBudgetId.get(budget.getId()); +// if(budgetConditionsOfBudget!=null){ +// Map> listMap = budgetConditionsOfBudget.stream().collect(Collectors.groupingBy(TbsBudgetCondition::getTargetType)); +// List brandConditions = listMap.get(TbsGoodsType.brand.name()); +// List categoryConditions = listMap.get(TbsGoodsType.category.name()); +// List seriesConditions = listMap.get(TbsGoodsType.series.name()); +// List spuConditions = listMap.get(TbsGoodsType.spu.name()); +// List skuConditions = listMap.get(TbsGoodsType.sku.name()); +// +// excelBo.setBrandNames(getConditionNames(brandConditions)); +// excelBo.setCategoryNames(getConditionNames(categoryConditions)); +// excelBo.setSeriesNames(getConditionNames(seriesConditions)); +// excelBo.setSpuNames(getConditionNames(spuConditions)); +// excelBo.setSkuCodes(getConditionCodes(skuConditions)); +// excelBo.setSkuNames(getConditionSkus(skuConditions)); +// } +// +// //拼装考核期项 +// List scheduleItemBudgetList = listScheduleMapByBudgetId.get(budget.getId()); +// if(scheduleItemBudgetList!=null){ +// for (TbsScheduleItemBudget itemBudget : scheduleItemBudgetList) { +// if(itemBudget.getItemName().equals("M1")){ +// excelBo.setAmountM1(itemBudget.getBudgetAmount()); +// }else if (itemBudget.getItemName().equals("M2")){ +// excelBo.setAmountM2(itemBudget.getBudgetAmount()); +// }else if (itemBudget.getItemName().equals("M3")){ +// excelBo.setAmountM3(itemBudget.getBudgetAmount()); +// }else if (itemBudget.getItemName().equals("M4")){ +// excelBo.setAmountM4(itemBudget.getBudgetAmount()); +// }else if (itemBudget.getItemName().equals("M5")){ +// excelBo.setAmountM5(itemBudget.getBudgetAmount()); +// }else if (itemBudget.getItemName().equals("M6")){ +// excelBo.setAmountM6(itemBudget.getBudgetAmount()); +// }else if (itemBudget.getItemName().equals("M7")){ +// excelBo.setAmountM7(itemBudget.getBudgetAmount()); +// }else if (itemBudget.getItemName().equals("M8")){ +// excelBo.setAmountM8(itemBudget.getBudgetAmount()); +// }else if (itemBudget.getItemName().equals("M9")){ +// excelBo.setAmountM9(itemBudget.getBudgetAmount()); +// }else if (itemBudget.getItemName().equals("M10")){ +// excelBo.setAmountM10(itemBudget.getBudgetAmount()); +// }else if (itemBudget.getItemName().equals("M11")){ +// excelBo.setAmountM11(itemBudget.getBudgetAmount()); +// }else if (itemBudget.getItemName().equals("M12")){ +// excelBo.setAmountM12(itemBudget.getBudgetAmount()); +// }else if (itemBudget.getItemName().equals("Q1")){ +// excelBo.setAmountQ1(itemBudget.getBudgetAmount()); +// }else if (itemBudget.getItemName().equals("Q2")){ +// excelBo.setAmountQ2(itemBudget.getBudgetAmount()); +// }else if (itemBudget.getItemName().equals("Q3")){ +// excelBo.setAmountQ3(itemBudget.getBudgetAmount()); +// }else if (itemBudget.getItemName().equals("Q4")){ +// excelBo.setAmountQ4(itemBudget.getBudgetAmount()); +// }else if (itemBudget.getItemName().equals("Y")){ +// excelBo.setAmountYear(itemBudget.getBudgetAmount()); +// } +// } +// } +// return excelBo; +// }).collect(Collectors.toList()); +// } private List getConditionNames(List conditions){ if(CollectionUtil.isNotEmpty(conditions)){ @@ -471,101 +471,101 @@ public class TbsBudgetServiceImpl extends ServiceImpl return budgetConditions; } - @Override - @Transactional(rollbackFor = Exception.class) - public void modifyByExcel(TbsBudgetExcelBo budgetBo) { - TbsBudget budget = this.getByCode(budgetBo.getBudgetCode()); - if(budget!=null){ - if(budget.getBudgetState().equals(1)){ - Assert.throwEx("已开启的预算无法编辑"); - } - }else { - budget = new TbsBudget(); - budget.setBudgetCode(budgetBo.getBudgetCode()); - } - List skuIds = null; - List spuIds = null; - if(CollectionUtil.isNotEmpty(budgetBo.getSkuCodes())){ - List goodsSkus = goodsSkuService.getByCodes(budgetBo.getSkuCodes()); - if(goodsSkus.size()!=budgetBo.getSkuCodes().size()){ - Assert.throwEx("部分存货编码不存在"); - } - skuIds = goodsSkus.stream().map(GoodsSku::getId).collect(Collectors.toList()); - } - if(CollectionUtil.isNotEmpty(budgetBo.getSpuNames())){ - spuIds = new ArrayList<>(); - for (String spuName : budgetBo.getSpuNames()) { - GoodsSpu goodsSpu = goodsSpuService.getByName(spuName); - if(goodsSpu==null){ - Assert.throwEx("["+spuName+"]单品不存在"); - } - spuIds.add(goodsSpu.getId()); - } - } - List brandIds = this.selectCategory(budgetBo.getBrandNames(),1); - List categoryIds = this.selectCategory(budgetBo.getCategoryNames(),2); - List seriesIds = this.selectCategory(budgetBo.getSeriesNames(),3); - - BmsSubject subject = subjectService.getByName(budgetBo.getSubjectName()); - TbsCenterDto centerDto = tbsCenterDtoService.getCenterDtoByName( - budgetBo.getCenterType(), - budgetBo.getCenterName(), - budgetBo.getBudgetCode(), - null); - TbsSchedule schedule = scheduleService.getByName(budgetBo.getScheduleName()); - initEmptyBudget(budget,subject,centerDto,schedule); - //保存 费用项 - List scheduleItems = scheduleItemService.listByScheduleId(schedule.getId()); - List scheduleItemBudgets = new ArrayList<>(); - for (TbsScheduleItem scheduleItem : scheduleItems) { - TbsScheduleItemBudget itemBudget = CopierUtil.copy(scheduleItem,new TbsScheduleItemBudget()); - itemBudget.setId(null); - itemBudget.setScheduleItemId(scheduleItem.getId()); - itemBudget.setBudgetId(budget.getId()); - if(scheduleItem.getItemName().equals("M1")){ - itemBudget.setBudgetAmount(budgetBo.getAmountM1()); - }else if (scheduleItem.getItemName().equals("M2")){ - itemBudget.setBudgetAmount(budgetBo.getAmountM2()); - }else if (scheduleItem.getItemName().equals("M3")){ - itemBudget.setBudgetAmount(budgetBo.getAmountM3()); - }else if (scheduleItem.getItemName().equals("M4")){ - itemBudget.setBudgetAmount(budgetBo.getAmountM4()); - }else if (scheduleItem.getItemName().equals("M5")){ - itemBudget.setBudgetAmount(budgetBo.getAmountM5()); - }else if (scheduleItem.getItemName().equals("M6")){ - itemBudget.setBudgetAmount(budgetBo.getAmountM6()); - }else if (scheduleItem.getItemName().equals("M7")){ - itemBudget.setBudgetAmount(budgetBo.getAmountM7()); - }else if (scheduleItem.getItemName().equals("M8")){ - itemBudget.setBudgetAmount(budgetBo.getAmountM8()); - }else if (scheduleItem.getItemName().equals("M9")){ - itemBudget.setBudgetAmount(budgetBo.getAmountM9()); - }else if (scheduleItem.getItemName().equals("M10")){ - itemBudget.setBudgetAmount(budgetBo.getAmountM10()); - }else if (scheduleItem.getItemName().equals("M11")){ - itemBudget.setBudgetAmount(budgetBo.getAmountM11()); - }else if (scheduleItem.getItemName().equals("M12")){ - itemBudget.setBudgetAmount(budgetBo.getAmountM12()); - }else if (scheduleItem.getItemName().equals("Q1")){ - itemBudget.setBudgetAmount(budgetBo.getAmountQ1()); - }else if (scheduleItem.getItemName().equals("Q2")){ - itemBudget.setBudgetAmount(budgetBo.getAmountQ2()); - }else if (scheduleItem.getItemName().equals("Q3")){ - itemBudget.setBudgetAmount(budgetBo.getAmountQ3()); - }else if (scheduleItem.getItemName().equals("Q4")){ - itemBudget.setBudgetAmount(budgetBo.getAmountQ4()); - }else if (scheduleItem.getItemName().equals("Y")){ - itemBudget.setBudgetAmount(budgetBo.getAmountYear()); - } - if(itemBudget.getBudgetAmount()==null){ - itemBudget.setBudgetAmount(BigDecimal.ZERO); - } - scheduleItemBudgets.add(itemBudget); - } - scheduleItemBudgetService.saveBatch(scheduleItemBudgets); - //设置条件 - buildCondition(budget.getId(),brandIds,categoryIds,seriesIds,spuIds,skuIds); - } +// @Override +// @Transactional(rollbackFor = Exception.class) +// public void modifyByExcel(TbsBudgetExcelBo budgetBo) { +// TbsBudget budget = this.getByCode(budgetBo.getBudgetCode()); +// if(budget!=null){ +// if(budget.getBudgetState().equals(1)){ +// Assert.throwEx("已开启的预算无法编辑"); +// } +// }else { +// budget = new TbsBudget(); +// budget.setBudgetCode(budgetBo.getBudgetCode()); +// } +// List skuIds = null; +// List spuIds = null; +// if(CollectionUtil.isNotEmpty(budgetBo.getSkuCodes())){ +// List goodsSkus = goodsSkuService.getByCodes(budgetBo.getSkuCodes()); +// if(goodsSkus.size()!=budgetBo.getSkuCodes().size()){ +// Assert.throwEx("部分存货编码不存在"); +// } +// skuIds = goodsSkus.stream().map(GoodsSku::getId).collect(Collectors.toList()); +// } +// if(CollectionUtil.isNotEmpty(budgetBo.getSpuNames())){ +// spuIds = new ArrayList<>(); +// for (String spuName : budgetBo.getSpuNames()) { +// GoodsSpu goodsSpu = goodsSpuService.getByName(spuName); +// if(goodsSpu==null){ +// Assert.throwEx("["+spuName+"]单品不存在"); +// } +// spuIds.add(goodsSpu.getId()); +// } +// } +// List brandIds = this.selectCategory(budgetBo.getBrandNames(),1); +// List categoryIds = this.selectCategory(budgetBo.getCategoryNames(),2); +// List seriesIds = this.selectCategory(budgetBo.getSeriesNames(),3); +// +// BmsSubject subject = subjectService.getByName(budgetBo.getSubjectName()); +// TbsCenterDto centerDto = tbsCenterDtoService.getCenterDtoByName( +// budgetBo.getCenterType(), +// budgetBo.getCenterName(), +// budgetBo.getBudgetCode(), +// null); +// TbsSchedule schedule = scheduleService.getByName(budgetBo.getScheduleName()); +// initEmptyBudget(budget,subject,centerDto,schedule); +// //保存 费用项 +// List scheduleItems = scheduleItemService.listByScheduleId(schedule.getId()); +// List scheduleItemBudgets = new ArrayList<>(); +// for (TbsScheduleItem scheduleItem : scheduleItems) { +// TbsScheduleItemBudget itemBudget = CopierUtil.copy(scheduleItem,new TbsScheduleItemBudget()); +// itemBudget.setId(null); +// itemBudget.setScheduleItemId(scheduleItem.getId()); +// itemBudget.setBudgetId(budget.getId()); +// if(scheduleItem.getItemName().equals("M1")){ +// itemBudget.setBudgetAmount(budgetBo.getAmountM1()); +// }else if (scheduleItem.getItemName().equals("M2")){ +// itemBudget.setBudgetAmount(budgetBo.getAmountM2()); +// }else if (scheduleItem.getItemName().equals("M3")){ +// itemBudget.setBudgetAmount(budgetBo.getAmountM3()); +// }else if (scheduleItem.getItemName().equals("M4")){ +// itemBudget.setBudgetAmount(budgetBo.getAmountM4()); +// }else if (scheduleItem.getItemName().equals("M5")){ +// itemBudget.setBudgetAmount(budgetBo.getAmountM5()); +// }else if (scheduleItem.getItemName().equals("M6")){ +// itemBudget.setBudgetAmount(budgetBo.getAmountM6()); +// }else if (scheduleItem.getItemName().equals("M7")){ +// itemBudget.setBudgetAmount(budgetBo.getAmountM7()); +// }else if (scheduleItem.getItemName().equals("M8")){ +// itemBudget.setBudgetAmount(budgetBo.getAmountM8()); +// }else if (scheduleItem.getItemName().equals("M9")){ +// itemBudget.setBudgetAmount(budgetBo.getAmountM9()); +// }else if (scheduleItem.getItemName().equals("M10")){ +// itemBudget.setBudgetAmount(budgetBo.getAmountM10()); +// }else if (scheduleItem.getItemName().equals("M11")){ +// itemBudget.setBudgetAmount(budgetBo.getAmountM11()); +// }else if (scheduleItem.getItemName().equals("M12")){ +// itemBudget.setBudgetAmount(budgetBo.getAmountM12()); +// }else if (scheduleItem.getItemName().equals("Q1")){ +// itemBudget.setBudgetAmount(budgetBo.getAmountQ1()); +// }else if (scheduleItem.getItemName().equals("Q2")){ +// itemBudget.setBudgetAmount(budgetBo.getAmountQ2()); +// }else if (scheduleItem.getItemName().equals("Q3")){ +// itemBudget.setBudgetAmount(budgetBo.getAmountQ3()); +// }else if (scheduleItem.getItemName().equals("Q4")){ +// itemBudget.setBudgetAmount(budgetBo.getAmountQ4()); +// }else if (scheduleItem.getItemName().equals("Y")){ +// itemBudget.setBudgetAmount(budgetBo.getAmountYear()); +// } +// if(itemBudget.getBudgetAmount()==null){ +// itemBudget.setBudgetAmount(BigDecimal.ZERO); +// } +// scheduleItemBudgets.add(itemBudget); +// } +// scheduleItemBudgetService.saveBatch(scheduleItemBudgets); +// //设置条件 +// buildCondition(budget.getId(),brandIds,categoryIds,seriesIds,spuIds,skuIds); +// } private List selectCategory(List names,Integer level){ if(CollectionUtil.isNotEmpty(names)){