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 4c35b970..75bc2d6a 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 @@ -8,10 +8,12 @@ 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.bms.entity.BmsRegion; +import com.qs.serve.modules.bms.entity.BmsRegion2; import com.qs.serve.modules.bms.entity.bo.BmsSupplierBo; import com.qs.serve.modules.bms.entity.bo.BmsSupplierParentBo; import com.qs.serve.modules.bms.entity.vo.BmsSupplierTreeVo; import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; +import com.qs.serve.modules.bms.service.BmsRegion2Service; import com.qs.serve.modules.bms.service.BmsRegionService; import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.entity.bo.SysRelateSuppliersParam; @@ -27,9 +29,7 @@ import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.service.BmsSupplierService; import javax.validation.Valid; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; /** @@ -45,6 +45,7 @@ public class BmsSupplierController { private BmsSupplierService bmsSupplierService; private BmsRegionService bmsRegionService; + private BmsRegion2Service bmsRegion2Service; private SysUserService sysUserService; private BmsSupplierMapper bmsSupplierMapper; @@ -113,6 +114,13 @@ public class BmsSupplierController { supplier.setRegionLabel(bmsRegion2.getName()); } } + String region2Id = supplier.getRegion2Last(); + if(region2Id!=null&&!region2Id.equals("0")){ + BmsRegion2 bmsRegion2 = bmsRegion2Service.getById(regionId); + if(bmsRegion2!=null){ + supplier.setRegion2Label(bmsRegion2.getName()); + } + } } List list2 = list.stream().map(supplier->{ BmsSupplierTreeVo treeNode = CopierUtil.copy(supplier,new BmsSupplierTreeVo()); @@ -214,6 +222,63 @@ public class BmsSupplierController { return R.ok(); } + /** + * 删除客户分配 + * @return + */ + @PostMapping("/relateRemove2") + @PreAuthorize("hasRole('bms:supplier:update')") + public R relateRemove2(@RequestBody SysRelateSuppliersParam2 param){ + String[] userIds = param.getUserIds(); + BmsSupplier supplier = bmsSupplierService.getById(param.getSupplierId()); + for (String userId : userIds) { + if(supplier.getUserId()!=null && userId.equals(supplier.getUserId())){ + bmsSupplierMapper.removeRelateUserInfo(Long.parseLong(supplier.getId())); + } + } + if(CollectionUtil.isNotEmpty(supplier.getOtherUserIds())){ + List otherUserIds = new ArrayList<>(); + for (String otherUserId : supplier.getOtherUserIds()) { + if(!Arrays.asList(userIds).contains(otherUserId)){ + otherUserIds.add(otherUserId); + } + } + BmsSupplier supplier1 = new BmsSupplier(); + supplier1.setId(supplier.getId()); + supplier1.setOtherUserIds(otherUserIds.toArray(new String[otherUserIds.size()])); + bmsSupplierService.updateById(supplier1); + } + return R.ok(); + } + + /** + * 设置主要负责人 + * @param supplierId + * @param userId + * @return + */ + @GetMapping("/setMainUser") + @PreAuthorize("hasRole('bms:supplier:update')") + public R relateRemove2(String supplierId,String userId){ + BmsSupplier supplier = bmsSupplierService.getById(supplierId); + SysUser sysUser = sysUserService.getById(userId); + BmsSupplier supplierParam = new BmsSupplier(); + supplierParam.setId(supplierId); + supplierParam.setUserId(sysUser.getId()); + supplierParam.setUserName(sysUser.getName()); + supplierParam.setUserCode(sysUser.getCode()); + if(CollectionUtil.isNotEmpty(supplier.getOtherUserIds())){ + List otherUserIds = Arrays.asList(supplier.getOtherUserIds()); + Set otherUserIdSet = new HashSet<>(otherUserIds); + otherUserIdSet.remove(userId); + String[] otherArr = otherUserIdSet.toArray(new String[otherUserIdSet.size()]); + supplierParam.setOtherUserIds(otherArr); + } + bmsSupplierService.updateById(supplierParam); + return R.ok(); + } + + /** * 根据ID查询 * @param id @@ -234,6 +299,10 @@ public class BmsSupplierController { if(region!=null){ bmsSupplier.setRegionLabel(region.getName()); } + BmsRegion2 region2 = bmsRegion2Service.getById(bmsSupplier.getRegion2Last()); + if(region2!=null){ + bmsSupplier.setRegion2Label(region2.getName()); + } if(CollectionUtil.isNotEmpty(bmsSupplier.getOtherUserIds())){ List userList = sysUserService.listByIds(Arrays.asList(bmsSupplier.getOtherUserIds())); List userVos = userList.stream().map(SysUser::toSysUserVo).collect(Collectors.toList()); @@ -317,6 +386,7 @@ public class BmsSupplierController { * @param list */ private void initSupplierList(List list){ + //设置销售区域 List regionIds = list.stream() .filter(sup->sup.getRegionLast()!=null&&!sup.getRegionLast().equals("0")) .map(BmsSupplier::getRegionLast).collect(Collectors.toList()); @@ -335,6 +405,25 @@ public class BmsSupplierController { } } } + //设置行政区域 + List region2Ids = list.stream() + .filter(sup->sup.getRegion2Last()!=null&&!sup.getRegion2Last().equals("0")) + .map(BmsSupplier::getRegion2Last).collect(Collectors.toList()); + List region2List = null; + if(CollectionUtil.isNotEmpty(region2Ids)){ + region2List = bmsRegion2Service.listByIds(regionIds); + } + for (BmsSupplier supplier : list) { + String region2Id = supplier.getRegion2Third(); + if(region2Id!=null&&CollectionUtil.isNotEmpty(region2List)){ + for (BmsRegion2 region : region2List) { + if(region.getId().equals(region2Id)){ + supplier.setRegion2Label(region.getName()); + break; + } + } + } + } } 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 aed16ba1..2350bfaf 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 @@ -45,6 +45,18 @@ public class BmsSupplier implements Serializable { /** 最子级区域ID */ private String regionLast; + /** 行政一级区域ID */ + private String region2First; + + /** 行政二级区域ID */ + private String region2Second; + + /** 行政三级区域ID */ + private String region2Third; + + /** 行政最子级区域ID */ + private String region2Last; + /** 详细地址 */ private String address; @@ -115,13 +127,22 @@ public class BmsSupplier implements Serializable { @TableField(exist = false) private String currUserId; - /** 多选:区域ID */ + /** 多选:销售区域ID */ @TableField(exist = false) private String[] regionIds; + /** 多选:行政区域ID */ + @TableField(exist = false) + private String[] region2Ids; + + /** 销售区域 */ @TableField(exist = false) private String regionLabel; + /** 行政区域 */ + @TableField(exist = false) + private String region2Label; + /** 父级ID信息 */ @TableField(exist = false) private Object parentRegionInfo; diff --git a/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsSupplierBo.java b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsSupplierBo.java index 2dd3d489..ab898786 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsSupplierBo.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsSupplierBo.java @@ -6,6 +6,7 @@ import lombok.Data; import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; /** * @author YenHex @@ -17,9 +18,14 @@ public class BmsSupplierBo { /** id */ private String id; - /** 区域ID */ + /** 销售区域ID */ + @NotNull(message = "销售区域不能为空") private String regionId; + /** 行政区域ID */ + @NotNull(message = "行政区域不能为空") + private String regionId2; + /** 详细地址 */ private String address; diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java index 993f56ff..0589cb0d 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java @@ -7,8 +7,10 @@ import com.qs.serve.common.util.CollectionUtil; import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.StringUtils; import com.qs.serve.modules.bms.entity.BmsRegion; +import com.qs.serve.modules.bms.entity.BmsRegion2; import com.qs.serve.modules.bms.entity.bo.BmsSupplierBatchBo; import com.qs.serve.modules.bms.entity.bo.BmsSupplierBo; +import com.qs.serve.modules.bms.service.BmsRegion2Service; import com.qs.serve.modules.bms.service.BmsRegionService; import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.service.SysUserService; @@ -32,6 +34,7 @@ import java.util.List; public class BmsSupplierServiceImpl extends ServiceImpl implements BmsSupplierService { private BmsRegionService regionService; + private BmsRegion2Service region2Service; private SysUserService sysUserService; @Override @@ -64,8 +67,13 @@ public class BmsSupplierServiceImpl extends ServiceImpl