Browse Source

修复查询销售区域的BUG

contract
15989082884@163.com 2 years ago
parent
commit
44c441422f
  1. 18
      src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java
  2. 40
      src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java

18
src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java

@ -12,6 +12,7 @@ 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;
import com.qs.serve.modules.bms.service.*;
import com.qs.serve.modules.his.entity.HisUserSupplier;
import com.qs.serve.modules.his.service.HisUserSupplierService;
import com.qs.serve.modules.tbs.common.TbsCenterType;
import com.qs.serve.modules.tbs.entity.TbsBudget;
@ -103,8 +104,24 @@ public class BmsRegionController {
BmsSupplier supplier = bmsSupplierService.getById(supplierId);
regionIds.addAll(supplier.listSaleRegionIds());
}
List<HisUserSupplier> hisUserSuppliers = hisUserSupplierService.selectHisSupplier(null,false);
List<String> firstRegionIds = hisUserSuppliers.stream().map(a->a.getSaleRegionFirst()).collect(Collectors.toList());
List<String> secondRegionIds = hisUserSuppliers.stream().map(a->a.getSaleRegionSecond()).collect(Collectors.toList());
List<String> thirdRegionIds = hisUserSuppliers.stream().map(a->a.getSaleRegionThird()).collect(Collectors.toList());
List<String> fourthlyRegionIds = hisUserSuppliers.stream().map(a->a.getSaleRegionFourthly()).collect(Collectors.toList());
regionIds.addAll(firstRegionIds);
regionIds.addAll(secondRegionIds);
regionIds.addAll(thirdRegionIds);
regionIds.addAll(fourthlyRegionIds);
regionIds = regionIds.stream().distinct().collect(Collectors.toList());
if(regionIds.size()>0){
List<BmsRegion> allSelectList = new ArrayList<>();
List<BmsRegion> regionList = bmsRegionService.listByIds(regionIds);
if(regionList.size()==0){
return toTreeNodeList2(allSelectList);
}
Map<Integer,List<BmsRegion>> listMap = regionList.stream().collect(Collectors.groupingBy(BmsRegion::getLevel));
List<BmsRegion> list1 = listMap.get(1)==null?new ArrayList<>():listMap.get(1);
List<BmsRegion> list2 = listMap.get(2)==null?new ArrayList<>():listMap.get(2);
@ -136,7 +153,6 @@ public class BmsRegionController {
}
}
List<BmsRegion> allSelectList = new ArrayList<>();
if(CollectionUtil.isNotEmpty(list2)){
List<String> lv02Pids = list2.stream().map(BmsRegion::getId).collect(Collectors.toList());
List<BmsRegion> level03List = bmsRegionService.listChild(lv02Pids);

40
src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java

@ -47,6 +47,7 @@ import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
/**
@ -467,19 +468,34 @@ public class TbsActivityController {
}
}
}
//匹配有预算并且成本中心为销售区域的
for (TbsBudget budget : centerBudgetList) {
if (budget.getCenterType().equals(TbsCenterType.saleRegion.name())){
if(budget.getCenterId().equals(supplier.getRegionThird())
||budget.getCenterId().equals(supplier.getRegionSecond())
||budget.getCenterId().equals(supplier.getRegionFirst())){
TbsActivityDefaultCenterVo defaultCenterVo = new TbsActivityDefaultCenterVo();
BmsRegion saleRegionTemp = bmsRegionService.getById(budget.getCenterId());
defaultCenterVo.setSaleRegion(saleRegionTemp);
return R.ok(defaultCenterVo);
}
}
//匹配有预算并且成本中心为销售区域的,按最按近的销售区域优先级返回
Optional<TbsBudget> regionThirdCenter = centerBudgetList.stream().filter(a -> a.getCenterType().equals(TbsCenterType.saleRegion.name())
&& a.getCenterId().equals(supplier.getRegionThird())).findFirst();
if(regionThirdCenter.isPresent()){
TbsActivityDefaultCenterVo defaultCenterVo = new TbsActivityDefaultCenterVo();
BmsRegion saleRegionTemp = bmsRegionService.getById(regionThirdCenter.get().getCenterId());
defaultCenterVo.setSaleRegion(saleRegionTemp);
return R.ok(defaultCenterVo);
}
Optional<TbsBudget> regionSecondCenter = centerBudgetList.stream().filter(a -> a.getCenterType().equals(TbsCenterType.saleRegion.name())
&& a.getCenterId().equals(supplier.getRegionSecond())).findFirst();
if(regionSecondCenter.isPresent()){
TbsActivityDefaultCenterVo defaultCenterVo = new TbsActivityDefaultCenterVo();
BmsRegion saleRegionTemp = bmsRegionService.getById(regionSecondCenter.get().getCenterId());
defaultCenterVo.setSaleRegion(saleRegionTemp);
return R.ok(defaultCenterVo);
}
Optional<TbsBudget> regionFirstCenter = centerBudgetList.stream().filter(a -> a.getCenterType().equals(TbsCenterType.saleRegion.name())
&& a.getCenterId().equals(supplier.getRegionFirst())).findFirst();
if(regionFirstCenter.isPresent()){
TbsActivityDefaultCenterVo defaultCenterVo = new TbsActivityDefaultCenterVo();
BmsRegion saleRegionTemp = bmsRegionService.getById(regionFirstCenter.get().getCenterId());
defaultCenterVo.setSaleRegion(saleRegionTemp);
return R.ok(defaultCenterVo);
}
TbsActivityDefaultCenterVo defaultCenterVo = new TbsActivityDefaultCenterVo();
defaultCenterVo.setSupplier(supplier);
return R.ok(defaultCenterVo);

Loading…
Cancel
Save