From af7de603116b55621a05093174c2153ee081db80 Mon Sep 17 00:00:00 2001 From: "15989082884@163.com" <15989082884@163.com> Date: Mon, 24 Jun 2024 11:45:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A1=E6=89=B9=E8=BE=85=E5=8A=A9=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E6=88=90=E6=9C=AC=E4=B8=AD=E5=BF=83=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bir/controller/BirRoiRateController.java | 31 ++++++---- .../mapper/BirActivityCenterGoodsMapper.java | 3 + .../bir/service/BirBudgetTargetService.java | 4 +- .../impl/BirBudgetTargetServiceImpl.java | 61 +++++++++++++++---- .../controller/BmsCostCenterController.java | 27 +++++++- .../bms/controller/BmsRegion2Controller.java | 21 ++++++- .../bms/controller/BmsRegionController.java | 21 ++++++- .../bms/controller/BmsSupplierController.java | 17 ++++++ .../serve/modules/bms/entity/BmsSupplier.java | 6 ++ .../bir/BirActivityCenterGoodsMapper.xml | 28 +++++++++ 10 files changed, 190 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java b/src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java index 1823a5e5..dfba4914 100644 --- a/src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java +++ b/src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java @@ -173,21 +173,28 @@ public class BirRoiRateController { return R.ok(list); } - @PostMapping("/buildCustomerCost") - public R buildCustomerCost(){ -// boolean isRestBir = BirHttpUtil.isRestBir(); -// if(isRestBir){ -// return BirHttpUtil.get("/bir/roiRate/buildCustomerCost"); -// } - birBudgetTargetImportService.deleteAll(); - birBudgetTargetImportService.buildCustomerCost(); - birBudgetTargetImportService.buildCityCost(); - birBudgetTargetImportService.buildProCost(); - birBudgetTargetImportService.buildAreaCost(); - return R.ok(); + @GetMapping("/getCenterByTargetId") + public R> getCenterByTargetId(@RequestBody BirBudgetTargetSo query){ + List list = birBudgetTargetService.getCenterByTargetId(query); + return R.ok(list); } +// @PostMapping("/buildCustomerCost") +// public R buildCustomerCost(){ +//// boolean isRestBir = BirHttpUtil.isRestBir(); +//// if(isRestBir){ +//// return BirHttpUtil.get("/bir/roiRate/buildCustomerCost"); +//// } +// birBudgetTargetImportService.deleteAll(); +// birBudgetTargetImportService.buildCustomerCost(); +// birBudgetTargetImportService.buildCityCost(); +// birBudgetTargetImportService.buildProCost(); +// birBudgetTargetImportService.buildAreaCost(); +// return R.ok(); +// } + + /** * 获取成本中心费率 * @param costApplyId diff --git a/src/main/java/com/qs/serve/modules/bir/mapper/BirActivityCenterGoodsMapper.java b/src/main/java/com/qs/serve/modules/bir/mapper/BirActivityCenterGoodsMapper.java index 91713305..ad997ee2 100644 --- a/src/main/java/com/qs/serve/modules/bir/mapper/BirActivityCenterGoodsMapper.java +++ b/src/main/java/com/qs/serve/modules/bir/mapper/BirActivityCenterGoodsMapper.java @@ -45,5 +45,8 @@ public interface BirActivityCenterGoodsMapper extends BaseMapper list4DispatchSqlserver(@Param("query") BirBudgetTargetSo so); + @InterceptorIgnore(tenantLine = "true") + List list4CenterSqlserver(@Param("query") BirBudgetTargetSo so); + } diff --git a/src/main/java/com/qs/serve/modules/bir/service/BirBudgetTargetService.java b/src/main/java/com/qs/serve/modules/bir/service/BirBudgetTargetService.java index 4d65149e..4b232f47 100644 --- a/src/main/java/com/qs/serve/modules/bir/service/BirBudgetTargetService.java +++ b/src/main/java/com/qs/serve/modules/bir/service/BirBudgetTargetService.java @@ -19,5 +19,5 @@ public interface BirBudgetTargetService extends IService { List listBaseVo(BirBudgetTargetSo query); -} - + List getCenterByTargetId(BirBudgetTargetSo query); +} \ No newline at end of file diff --git a/src/main/java/com/qs/serve/modules/bir/service/impl/BirBudgetTargetServiceImpl.java b/src/main/java/com/qs/serve/modules/bir/service/impl/BirBudgetTargetServiceImpl.java index 3cf3fb5b..20becacf 100644 --- a/src/main/java/com/qs/serve/modules/bir/service/impl/BirBudgetTargetServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bir/service/impl/BirBudgetTargetServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qs.serve.common.util.Assert; +import com.qs.serve.common.util.BirHttpUtil; import com.qs.serve.common.util.CollectionUtil; import com.qs.serve.modules.bir.entity.BirActivityCenterGoods; import com.qs.serve.modules.bir.entity.so.BirBudgetTargetSo; @@ -53,18 +54,9 @@ public class BirBudgetTargetServiceImpl extends ServiceImpl listBaseVo(BirBudgetTargetSo query) { - List returnList = new ArrayList<>(); + private void initQuery(BirBudgetTargetSo query){ query.setLoadType(query.getLoadType()-1); - LocalDateTime endMonth = query.getYearMonthEnd(); - LocalDateTime startMonth = query.getYearMonthStart(); - query.setYearMonthStartQuery(startMonth.getYear()*100 + startMonth.getMonthValue()); - query.setYearMonthEndQuery(endMonth.getYear()*100 + endMonth.getMonthValue()); - query.setSelectCenterFlag(0); - if(CollUtil.isNotEmpty(query.getCenterList())){ - query.setSelectCenterFlag(1); - } + if(query.getLoadType()==0) { BmsSupplier supplier = bmsSupplierService.getById(query.getTargetId()); if(supplier==null){ @@ -135,6 +127,20 @@ public class BirBudgetTargetServiceImpl extends ServiceImpl listBaseVo(BirBudgetTargetSo query) { + List returnList = new ArrayList<>(); + LocalDateTime endMonth = query.getYearMonthEnd(); + LocalDateTime startMonth = query.getYearMonthStart(); + query.setYearMonthStartQuery(startMonth.getYear()*100 + startMonth.getMonthValue()); + query.setYearMonthEndQuery(endMonth.getYear()*100 + endMonth.getMonthValue()); + query.setSelectCenterFlag(0); + if(CollUtil.isNotEmpty(query.getCenterList())){ + query.setSelectCenterFlag(1); + } + initQuery(query); List birActivityCenterGoodsList = new ArrayList<>(); List birBaseDispatchVoList = new ArrayList<>(); @@ -213,7 +219,7 @@ public class BirBudgetTargetServiceImpl extends ServiceImpl getCenterByTargetId(BirBudgetTargetSo query){ + boolean isRestBir = BirHttpUtil.isRestBir(); + if(isRestBir){ + return (List) BirHttpUtil.get("/bir/roiRate/getCenterByTargetId",query).getData(); + } + initQuery(query); + List centerGoodsList = new ArrayList<>(); + if(query.getSupplierIds().size()>2000 || query.getSupplierCodes().size()>2000) { + List supplierIds = query.getSupplierIds(); + List supplierCodes = query.getSupplierCodes(); + + List> supplierIdList = CollectionUtil.createList(supplierIds, 2000); + List> supplierCodeList = CollectionUtil.createList(supplierCodes, 2000); + + for(int i=0;i tempIds = supplierIdList.get(i); + tempIds.add("-99"); + query.setSupplierIds(tempIds); + List tempCenterGoodsList = birActivityCenterGoodsMapper.list4CenterSqlserver(query); + centerGoodsList.addAll(tempCenterGoodsList); + } + }else{ + //防止传入空数组,导致SQL查出所有客户 + List supplierIds = query.getSupplierIds(); + supplierIds.add("-99"); + query.setSupplierIds(supplierIds); + centerGoodsList = birActivityCenterGoodsMapper.list4CenterSqlserver(query); + } + List centerIdList = centerGoodsList.stream().map(a->a.getCenterId()).collect(Collectors.toList()); + return centerIdList; + } } diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsCostCenterController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsCostCenterController.java index 3fa53024..edd88ef3 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsCostCenterController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsCostCenterController.java @@ -7,6 +7,8 @@ import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.*; +import com.qs.serve.modules.bir.entity.so.BirBudgetTargetSo; +import com.qs.serve.modules.bir.service.BirBudgetTargetService; import com.qs.serve.modules.bms.common.MasterUserType; import com.qs.serve.modules.bms.entity.BmsCenterRegion; import com.qs.serve.modules.bms.entity.BmsMasterUser; @@ -35,6 +37,7 @@ import com.qs.serve.modules.bms.service.BmsCostCenterService; import javax.validation.Valid; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -56,6 +59,7 @@ public class BmsCostCenterController { private TbsBudgetService tbsBudgetService; private BmsRegionService regionService; private BmsCenterRegionService bmsCenterRegionService; + private BirBudgetTargetService birBudgetTargetService; /** * 树查询 @@ -64,10 +68,13 @@ public class BmsCostCenterController { */ @GetMapping("/tree") @PreAuthorize("hasRole('bms:costCenter:query')") - public R> getTree(Integer loadByCurrent){ + public R> getTree(Integer loadByCurrent,Integer type, String tartgetId){ if(loadByCurrent!=null&&loadByCurrent.equals(1)){ return getTreeByCurrentUser(); } + if(loadByCurrent!=null&&loadByCurrent.equals(2)){ + return getListByCustomerId(type,tartgetId); + } List list = bmsCostCenterService.list(new LambdaQueryWrapper().orderByDesc(BmsCostCenter::getId)); List treeVoList = list.stream().map(obj->{ BmsCostCenterTreeVo treeNode = CopierUtil.copy(obj,new BmsCostCenterTreeVo()); @@ -79,6 +86,24 @@ public class BmsCostCenterController { return R.ok(TreeUtil.buildByRecursive(treeVoList,TreeUtil.DEFAULT_PID_STRING)); } + public R> getListByCustomerId(Integer type, String tartgetId) { + BirBudgetTargetSo query = new BirBudgetTargetSo(); + query.setLoadType(type); + query.setSelectCenterFlag(1); + query.setTargetId(tartgetId); + List centerIds = birBudgetTargetService.getCenterByTargetId(query); + LambdaQueryWrapper centerLambdaQueryWrapper = new LambdaQueryWrapper<>(); + centerLambdaQueryWrapper.in(BmsCostCenter::getId,centerIds); + List costCenters = bmsCostCenterService.list(centerLambdaQueryWrapper); + List treeVoList = costCenters.stream().map(obj->{ + BmsCostCenterTreeVo treeNode = CopierUtil.copy(obj,new BmsCostCenterTreeVo()); + treeNode.setId(obj.getId().toString()); + treeNode.setParentId(obj.getPid().toString()); + treeNode.setSort(0); + return treeNode; + }).collect(Collectors.toList()); + return R.ok(treeVoList); + } public R> getTreeByCurrentUser(){ String userId = AuthContextUtils.getSysUserId(); diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java index e333645a..aeb6df24 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java @@ -8,6 +8,8 @@ import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.*; +import com.qs.serve.modules.bir.entity.so.BirBudgetTargetSo; +import com.qs.serve.modules.bir.service.BirBudgetTargetService; import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.BmsRegion2; import com.qs.serve.modules.bms.entity.BmsRegionUser; @@ -47,6 +49,7 @@ public class BmsRegion2Controller { private BmsChannelPointService bmsChannelPointService; private BmsRegionUserService bmsRegionUserService; private TbsBudgetService tbsBudgetService; + private BirBudgetTargetService birBudgetTargetService; /** * 列表 @@ -184,7 +187,23 @@ public class BmsRegion2Controller { */ @GetMapping("/tree") @PreAuthorize("hasRole('bms:region:query')") - public R> getTree(Integer listUserFlag,Integer loadByCurrent,String supplierId,Integer onlySupplierFlag){ + public R> getTree(Integer listUserFlag,Integer loadByCurrent,String supplierId,Integer onlySupplierFlag,Integer type, String tartgetId){ + if(loadByCurrent!=null&&loadByCurrent.equals(2)) { + BirBudgetTargetSo query = new BirBudgetTargetSo(); + query.setLoadType(type); + query.setSelectCenterFlag(1); + query.setTargetId(tartgetId); + List regionIds = birBudgetTargetService.getCenterByTargetId(query); + List regionList = bmsRegion2Service.listByIds(regionIds); + List treeVoList = new ArrayList<>(); + for (BmsRegion2 region : regionList) { + BmsRegionTreeVo treeNode = CopierUtil.copy(region,new BmsRegionTreeVo()); + treeNode.setId(region.getId()); + treeNode.setSort(0); + treeVoList.add(treeNode); + } + return R.ok(treeVoList); + } if(loadByCurrent!=null&&loadByCurrent.equals(1)){ if(onlySupplierFlag!=null&&onlySupplierFlag.equals(1)){ BmsSupplier supplier = bmsSupplierService.getById(supplierId); diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java index a90d2c64..fcabcbb1 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java @@ -8,6 +8,8 @@ import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.*; +import com.qs.serve.modules.bir.entity.so.BirBudgetTargetSo; +import com.qs.serve.modules.bir.service.BirBudgetTargetService; import com.qs.serve.modules.bms.entity.*; import com.qs.serve.modules.bms.entity.bo.BmsRegionBatchBo; import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo; @@ -50,6 +52,7 @@ public class BmsRegionController { private HisUserSupplierService hisUserSupplierService; private TbsBudgetService tbsBudgetService; private BmsCostCenterService bmsCostCenterService; + private BirBudgetTargetService birBudgetTargetService; /** * 列表 @@ -88,7 +91,23 @@ public class BmsRegionController { */ @GetMapping("/tree") @PreAuthorize("hasRole('bms:region:query')") - public R> getTree(Integer listUserFlag,Integer loadByCurrent,String supplierId,Integer stopFlag){ + public R> getTree(Integer listUserFlag,Integer loadByCurrent,String supplierId,Integer stopFlag,Integer type, String tartgetId){ + if(loadByCurrent!=null&&loadByCurrent.equals(2)) { + BirBudgetTargetSo query = new BirBudgetTargetSo(); + query.setLoadType(type); + query.setSelectCenterFlag(1); + query.setTargetId(tartgetId); + List regionIds = birBudgetTargetService.getCenterByTargetId(query); + List regionList = bmsRegionService.listByIds(regionIds); + List treeVoList = new ArrayList<>(); + for (BmsRegion region : regionList) { + BmsRegionTreeVo treeNode = CopierUtil.copy(region,new BmsRegionTreeVo()); + treeNode.setId(region.getId()); + treeNode.setSort(0); + treeVoList.add(treeNode); + } + return R.ok(treeVoList); + } if(stopFlag==null){ stopFlag = 0; } diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java index 6a3314be..10c78ab0 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java @@ -12,6 +12,8 @@ import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.*; +import com.qs.serve.modules.bir.entity.so.BirBudgetTargetSo; +import com.qs.serve.modules.bir.service.BirBudgetTargetService; import com.qs.serve.modules.bms.controller.my.BmsSupplierMyController; import com.qs.serve.modules.bms.entity.*; import com.qs.serve.modules.bms.entity.bo.BmsSupplierBo; @@ -73,6 +75,8 @@ public class BmsSupplierController { private TbsBudgetService tbsBudgetService; private BmsSupplierMyController supplierMyController; private SysAttachService attachService; + private BirBudgetTargetService birBudgetTargetService; + @GetMapping("/queryList") public R> getQueryList(BmsSupplier param){ @@ -124,6 +128,19 @@ public class BmsSupplierController { @PostMapping("/page") @PreAuthorize("hasRole('bms:supplier:query')") public R> getPage(@RequestBody BmsSupplier param){ + + if(param.getLoadByCurrent()!=null && param.getLoadByCurrent().equals(2)){ + BirBudgetTargetSo query = new BirBudgetTargetSo(); + query.setLoadType(param.getType()); + query.setSelectCenterFlag(2); + query.setTargetId(param.getTargetId()); + List supplierIds = birBudgetTargetService.getCenterByTargetId(query); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(BmsSupplier::getId,supplierIds); + List list = bmsSupplierService.list(lambdaQueryWrapper); + return R.byPageHelperList(list); + } + param = this.initQueryParam(param); if(param.getLoadByCurrent()!=null&¶m.getLoadByCurrent().equals(1)){ diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java index 182479bf..13a441d3 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java @@ -386,6 +386,12 @@ public class BmsSupplier implements Serializable { @TableField(exist = false) private List selectSupplierTypes; + //查询审批辅助的参数 + @TableField(exist = false) + private Integer type; + @TableField(exist = false) + private String targetId; + public List listBizRegionIds(){ List list = new ArrayList<>(); list.add(this.getRegion2First()); diff --git a/src/main/resources/mapper/bir/BirActivityCenterGoodsMapper.xml b/src/main/resources/mapper/bir/BirActivityCenterGoodsMapper.xml index 7b0f455a..41a24010 100644 --- a/src/main/resources/mapper/bir/BirActivityCenterGoodsMapper.xml +++ b/src/main/resources/mapper/bir/BirActivityCenterGoodsMapper.xml @@ -313,5 +313,33 @@ GROUP BY year_month_num; + +