From 3294b44a2aca3f0077eda072896ff53bf6360ae0 Mon Sep 17 00:00:00 2001 From: Yen Date: Wed, 27 Sep 2023 16:04:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=BC=E5=AE=B9=E9=94=80=E5=94=AE=E5=8C=BA?= =?UTF-8?q?=E5=9F=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/third/PortalBmsController.java | 15 +++++++ .../service/PortalOfCostApplication.java | 43 ++++++++++++++----- 2 files changed, 47 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/third/PortalBmsController.java b/src/main/java/com/qs/serve/modules/third/PortalBmsController.java index 941c0752..972de8f2 100644 --- a/src/main/java/com/qs/serve/modules/third/PortalBmsController.java +++ b/src/main/java/com/qs/serve/modules/third/PortalBmsController.java @@ -5,6 +5,7 @@ import com.qs.serve.common.model.dto.R; import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.TreeUtil; import com.qs.serve.modules.bms.entity.BmsCostCenter; +import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.vo.BmsCostCenterTreeVo; import com.qs.serve.modules.bms.entity.vo.BmsCostCenterVo; import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo; @@ -47,6 +48,20 @@ public class PortalBmsController { List treeVoList = list.stream().map(obj-> CopierUtil.copy(obj,new BmsCostCenterVo()) ).collect(Collectors.toList()); + for (BmsCostCenterVo centerVo : treeVoList) { + centerVo.setCode("center_"+centerVo.getCode()); + centerVo.setName(centerVo.getName()+"(成本中心)"); + } + LambdaQueryWrapper regionWrapper = new LambdaQueryWrapper<>(); + regionWrapper.eq(BmsRegion::getStopFlag,0); + List bmsRegions = bmsRegionService.list(regionWrapper); + List saleRegionList = bmsRegions.stream().map(obj->{ + BmsCostCenterVo centerVo = new BmsCostCenterVo(); + centerVo.setName(obj.getName()+"(销售区域)"); + centerVo.setCode("saleRegion_"+obj.getCode()); + return centerVo; + }).collect(Collectors.toList()); + treeVoList.addAll(saleRegionList); return treeVoList; } diff --git a/src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java b/src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java index a77c62c0..e6d01972 100644 --- a/src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java +++ b/src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java @@ -6,9 +6,11 @@ import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.common.model.consts.ResultFlag; import com.qs.serve.common.util.*; import com.qs.serve.modules.bms.entity.BmsCostCenter; +import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.BmsSubject; import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.service.BmsCostCenterService; +import com.qs.serve.modules.bms.service.BmsRegionService; import com.qs.serve.modules.bms.service.BmsSubjectService; import com.qs.serve.modules.bms.service.BmsSupplierService; import com.qs.serve.modules.goods.entity.GoodsCategory; @@ -85,6 +87,7 @@ public class PortalOfCostApplication { private BmsSupplierService supplierService; private BmsSubjectService subjectService; private BmsCostCenterService costCenterService; + private BmsRegionService saleRegionService; private SysUserService userService; @@ -555,8 +558,27 @@ public class PortalOfCostApplication { if(supplier==null){Assert.throwEx("客户不存在,请重新编辑");} BmsSubject subject = subjectService.getByCode(createBo.getSubjectCode()); if(subject==null){Assert.throwEx("科目不存在,请重新编辑");} - BmsCostCenter costCenter = costCenterService.getByCode(createBo.getCenterCode()); - if(costCenter==null){Assert.throwEx("成本中心不存在,请重新编辑");} + String centerCode = createBo.getCenterCode(); + String centerType = null; + String centerName = null; + String centerId = null; + if(centerCode.contains("center_")){ + centerType = "center"; + centerCode = centerCode.replace("center_",""); + BmsCostCenter costCenter = costCenterService.getByCode(centerCode); + if(costCenter==null){Assert.throwEx("自定义成本中心不存在,请重新编辑");} + centerName = costCenter.getName(); + centerId = costCenter.getId()+""; + } else if (centerCode.contains("saleRegion_")) { + centerType = "saleRegion"; + centerCode = centerCode.replace("saleRegion_",""); + BmsRegion region = saleRegionService.getByCode(centerCode); + if(region==null){Assert.throwEx("销售区域不存在,请重新编辑");} + centerName = region.getName(); + centerId = region.getId(); + }else { + Assert.throwEx("成本中心不存在,请重新编辑"); + } //发票号 String billNumber = createBo.getBillNumber(); String disNumber = createBo.getErpCode(); @@ -584,7 +606,6 @@ public class PortalOfCostApplication { List skuList = this.initSkuListOfProcess(invCodeList); //常用参数 final String GOODS_TYPE = "sku"; - final String CENTER_TYPE = "center"; final BigDecimal OneHundred = new BigDecimal("100"); LocalDateTime nowTime = LocalDateTime.now(); LocalDate nowDate = LocalDate.now(); @@ -657,10 +678,10 @@ public class PortalOfCostApplication { activityCenter.setSubjectId(subject.getId()); activityCenter.setCenterAmount(totalAmount); activityCenter.setCenterRate(OneHundred); - activityCenter.setCenterType(CENTER_TYPE); - activityCenter.setCenterId(costCenter.getId()+""); - activityCenter.setCenterName(costCenter.getName()); - activityCenter.setCenterCode(costCenter.getCode()); + activityCenter.setCenterType(centerType); + activityCenter.setCenterId(centerId); + activityCenter.setCenterName(centerName); + activityCenter.setCenterCode(centerCode); activityCenter.setUsedAmount(totalAmount); //活动-商品 @@ -690,10 +711,10 @@ public class PortalOfCostApplication { centerGoods.setSupplierCode(supplier.getCode()); centerGoods.setSupplierName(supplier.getName()); //设置成本中心 - centerGoods.setCenterType(CENTER_TYPE); - centerGoods.setCenterId(costCenter.getId()+""); - centerGoods.setCenterCode(costCenter.getCode()); - centerGoods.setCenterName(costCenter.getName()); + centerGoods.setCenterType(centerType); + centerGoods.setCenterId(centerId); + centerGoods.setCenterName(centerName); + centerGoods.setCenterCode(centerCode); centerGoods.setCenterRate(OneHundred); centerGoods.setCenterAmount(totalAmount); //设置科目