Browse Source

添加行政区域

mssql
Yen 3 years ago
parent
commit
d8ec321eeb
  1. 95
      src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java
  2. 23
      src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java
  3. 8
      src/main/java/com/qs/serve/modules/bms/entity/bo/BmsSupplierBo.java
  4. 32
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java

95
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<BmsSupplierTreeVo> 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<String> 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<String> otherUserIds = Arrays.asList(supplier.getOtherUserIds());
Set<String> 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<SysUser> userList = sysUserService.listByIds(Arrays.asList(bmsSupplier.getOtherUserIds()));
List<SysUserVo> userVos = userList.stream().map(SysUser::toSysUserVo).collect(Collectors.toList());
@ -317,6 +386,7 @@ public class BmsSupplierController {
* @param list
*/
private void initSupplierList(List<BmsSupplier> list){
//设置销售区域
List<String> 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<String> region2Ids = list.stream()
.filter(sup->sup.getRegion2Last()!=null&&!sup.getRegion2Last().equals("0"))
.map(BmsSupplier::getRegion2Last).collect(Collectors.toList());
List<BmsRegion2> 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;
}
}
}
}
}

23
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;

8
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;

32
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<BmsSupplierMapper,BmsSupplier> implements BmsSupplierService {
private BmsRegionService regionService;
private BmsRegion2Service region2Service;
private SysUserService sysUserService;
@Override
@ -64,8 +67,13 @@ public class BmsSupplierServiceImpl extends ServiceImpl<BmsSupplierMapper,BmsSup
supplier.setParentCode(null);
}
if(param.getRegionId()!=null){
//绑定销售区域逻辑
this.initRegion(supplier,param.getRegionId());
}
if(param.getRegionId2()!=null){
//绑定行政区域逻辑
this.initRegion2(supplier,param.getRegionId2());
}
this.saveOrUpdate(supplier);
}
@ -157,5 +165,29 @@ public class BmsSupplierServiceImpl extends ServiceImpl<BmsSupplierMapper,BmsSup
supplier.setRegionThird(region1.getId());
}
/**
* 初始化区域等级
* @param supplier
* @param regionId
*/
private void initRegion2(BmsSupplier supplier,String regionId){
BmsRegion2 region1 = region2Service.getById(regionId);
if(region1==null){
supplier.setRegion2First("0");
supplier.setRegion2Second("");
supplier.setRegion2Third("");
supplier.setRegion2Last("0");
return;
}
BmsRegion2 region2 = region2Service.getById(region1.getPid());
if(region1.getLevel()!=3){
Assert.throwEx("供应商需选择第三级区域");
}
supplier.setRegion2Last(regionId);
supplier.setRegion2First(region2.getPid());
supplier.setRegion2Second(region2.getId());
supplier.setRegion2Third(region1.getId());
}
}

Loading…
Cancel
Save