Browse Source

拜访调整

contract
Yen 2 years ago
parent
commit
2671a7eb25
  1. 29
      src/main/java/com/qs/serve/modules/bms/controller/BmsChannelController.java
  2. 16
      src/main/java/com/qs/serve/modules/bms/controller/BmsMasterUserController.java
  3. 19
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsChannelPointServiceImpl.java
  4. 2
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java
  5. 2
      src/main/java/com/qs/serve/modules/his/entity/HisUserChannelPoint.java
  6. 17
      src/main/java/com/qs/serve/modules/his/service/impl/HisUserChannelPointServiceImpl.java

29
src/main/java/com/qs/serve/modules/bms/controller/BmsChannelController.java

@ -7,9 +7,14 @@ import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.PageUtil;
import com.qs.serve.modules.bms.common.MasterUserType;
import com.qs.serve.modules.bms.entity.BmsChannelPoint; import com.qs.serve.modules.bms.entity.BmsChannelPoint;
import com.qs.serve.modules.bms.entity.BmsMasterUser;
import com.qs.serve.modules.bms.entity.BmsSupplierVisitType; import com.qs.serve.modules.bms.entity.BmsSupplierVisitType;
import com.qs.serve.modules.bms.mapper.BmsMasterUserMapper;
import com.qs.serve.modules.bms.service.BmsChannelPointService; import com.qs.serve.modules.bms.service.BmsChannelPointService;
import com.qs.serve.modules.his.entity.HisUserChannelPoint;
import com.qs.serve.modules.his.service.HisUserChannelPointService;
import com.qs.serve.modules.tbs.entity.TbsActivityChannel; import com.qs.serve.modules.tbs.entity.TbsActivityChannel;
import com.qs.serve.modules.tbs.service.TbsActivityChannelService; import com.qs.serve.modules.tbs.service.TbsActivityChannelService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -38,6 +43,8 @@ public class BmsChannelController {
private BmsChannelService bmsChannelService; private BmsChannelService bmsChannelService;
private BmsChannelPointService bmsChannelPointService; private BmsChannelPointService bmsChannelPointService;
private TbsActivityChannelService activityChannelService; private TbsActivityChannelService activityChannelService;
private HisUserChannelPointService hisUserChannelPointService;
private BmsMasterUserMapper bmsMasterUserMapper;
/** /**
* 翻页 * 翻页
@ -87,6 +94,16 @@ public class BmsChannelController {
return a; return a;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
bmsChannelPointService.updateBatchById(channelPoints); bmsChannelPointService.updateBatchById(channelPoints);
LambdaQueryWrapper<BmsMasterUser> mgrLqw = new LambdaQueryWrapper<>();
mgrLqw.eq(BmsMasterUser::getType, MasterUserType.Channel);
mgrLqw.eq(BmsMasterUser::getTargetId,ori.getId());
List<BmsMasterUser> masterUsers = bmsMasterUserMapper.selectList(mgrLqw);
for (BmsMasterUser masterUser : masterUsers) {
masterUser.setChannelName(param.getChannelName());
bmsMasterUserMapper.updateById(masterUser);
}
} }
return R.isTrue(result); return R.isTrue(result);
} }
@ -118,6 +135,18 @@ public class BmsChannelController {
if(activityChannelService.count()>0){ if(activityChannelService.count()>0){
return R.error("活动含当前渠道,删除失败"); return R.error("活动含当前渠道,删除失败");
} }
//删除相关的网点授权
LambdaQueryWrapper<BmsMasterUser> mgrLqw = new LambdaQueryWrapper<>();
mgrLqw.eq(BmsMasterUser::getType, MasterUserType.Channel);
mgrLqw.eq(BmsMasterUser::getTargetId,id);
bmsMasterUserMapper.delete(mgrLqw);
LambdaQueryWrapper<HisUserChannelPoint> lqwPoint = new LambdaQueryWrapper<>();
lqwPoint.eq(HisUserChannelPoint::getSourceType,3);
lqwPoint.eq(HisUserChannelPoint::getSourceIds,id);
hisUserChannelPointService.remove(lqwPoint);
boolean result = bmsChannelService.removeById(id); boolean result = bmsChannelService.removeById(id);
return R.isTrue(result); return R.isTrue(result);
} }

16
src/main/java/com/qs/serve/modules/bms/controller/BmsMasterUserController.java

@ -246,15 +246,19 @@ public class BmsMasterUserController {
List<Long> idsLong = StringUtils.splitIdLong(ids); List<Long> idsLong = StringUtils.splitIdLong(ids);
List<BmsMasterUser> masterUserList = bmsMasterUserService.listByIds(idsLong); List<BmsMasterUser> masterUserList = bmsMasterUserService.listByIds(idsLong);
if(CollectionUtil.isNotEmpty(masterUserList)){ if(CollectionUtil.isNotEmpty(masterUserList)){
if(masterUserList.get(0).getType().equals(MasterUserType.Point)){ for (BmsMasterUser masterUser : masterUserList) {
List<String> pointIds = masterUserList.stream().map(BmsMasterUser::getTargetId).collect(Collectors.toList()); LambdaQueryWrapper<HisUserChannelPoint> lqw = new LambdaQueryWrapper<>();
List<BmsChannelPoint> channelPointList = bmsChannelPointService.listByIds(pointIds); if(masterUser.getType().equals(MasterUserType.Point)){
for (BmsChannelPoint channelPoint : channelPointList) { lqw.eq(HisUserChannelPoint::getPointId,masterUser.getTargetId());
hisUserChannelPointService.flushPoint(channelPoint.getId(),channelPoint.getSaleRegionPathIds(),channelPoint.getBizRegionPathIds()); lqw.eq(HisUserChannelPoint::getSourceType,0);
hisUserChannelPointService.remove(lqw);
}else if (masterUser.getType().equals(MasterUserType.Channel)){
lqw.eq(HisUserChannelPoint::getSourceIds,masterUser.getTargetId());
lqw.eq(HisUserChannelPoint::getSourceType,3);
hisUserChannelPointService.remove(lqw);
} }
} }
} }
boolean result = bmsMasterUserService.removeByIds(idsLong); boolean result = bmsMasterUserService.removeByIds(idsLong);
return R.isTrue(result); return R.isTrue(result);
} }

19
src/main/java/com/qs/serve/modules/bms/service/impl/BmsChannelPointServiceImpl.java

@ -4,10 +4,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.util.Assert; import com.qs.serve.common.util.Assert;
import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.modules.bms.entity.BmsChannel; import com.qs.serve.modules.bms.common.MasterUserType;
import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.*;
import com.qs.serve.modules.bms.entity.BmsRegion2;
import com.qs.serve.modules.bms.entity.bo.BmsChannelPointBo; import com.qs.serve.modules.bms.entity.bo.BmsChannelPointBo;
import com.qs.serve.modules.bms.mapper.BmsMasterUserMapper;
import com.qs.serve.modules.bms.service.BmsChannelService; import com.qs.serve.modules.bms.service.BmsChannelService;
import com.qs.serve.modules.bms.service.BmsRegion2Service; import com.qs.serve.modules.bms.service.BmsRegion2Service;
import com.qs.serve.modules.bms.service.BmsRegionService; import com.qs.serve.modules.bms.service.BmsRegionService;
@ -15,7 +15,6 @@ import com.qs.serve.modules.his.service.HisUserChannelPointService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.qs.serve.modules.bms.entity.BmsChannelPoint;
import com.qs.serve.modules.bms.service.BmsChannelPointService; import com.qs.serve.modules.bms.service.BmsChannelPointService;
import com.qs.serve.modules.bms.mapper.BmsChannelPointMapper; import com.qs.serve.modules.bms.mapper.BmsChannelPointMapper;
@ -36,6 +35,9 @@ public class BmsChannelPointServiceImpl extends ServiceImpl<BmsChannelPointMappe
private BmsChannelService bmsChannelService; private BmsChannelService bmsChannelService;
private HisUserChannelPointService hisUserChannelPointService; private HisUserChannelPointService hisUserChannelPointService;
private BmsMasterUserMapper bmsMasterUserMapper;
@Override @Override
public boolean modify(BmsChannelPointBo param) { public boolean modify(BmsChannelPointBo param) {
BmsChannelPoint channelPoint = CopierUtil.copy(param,new BmsChannelPoint()); BmsChannelPoint channelPoint = CopierUtil.copy(param,new BmsChannelPoint());
@ -59,6 +61,15 @@ public class BmsChannelPointServiceImpl extends ServiceImpl<BmsChannelPointMappe
channelPoint.setBizRegionPathIds(bmsRegion2.getPathIds()); channelPoint.setBizRegionPathIds(bmsRegion2.getPathIds());
} }
this.saveOrUpdate(channelPoint); this.saveOrUpdate(channelPoint);
LambdaQueryWrapper<BmsMasterUser> mgrLqw = new LambdaQueryWrapper<>();
mgrLqw.eq(BmsMasterUser::getType, MasterUserType.Point);
mgrLqw.eq(BmsMasterUser::getTargetId,channelPoint.getId());
List<BmsMasterUser> masterUserList = bmsMasterUserMapper.selectList(mgrLqw);
for (BmsMasterUser masterUser : masterUserList) {
masterUser.setPointName(channelPoint.getPointName());
masterUser.setPointCode(channelPoint.getPointCode());
bmsMasterUserMapper.updateById(masterUser);
}
hisUserChannelPointService.flushPoint(channelPoint.getId(),channelPoint.getSaleRegionPathIds(),channelPoint.getBizRegionPathIds()); hisUserChannelPointService.flushPoint(channelPoint.getId(),channelPoint.getSaleRegionPathIds(),channelPoint.getBizRegionPathIds());
return true; return true;
} }

2
src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java

@ -123,7 +123,7 @@ public class BmsRegionServiceImpl extends ServiceImpl<BmsRegionMapper,BmsRegion>
@Override @Override
public List<BmsRegion> listChildRightLike(String parentIdPath) { public List<BmsRegion> listChildRightLike(String parentIdPath) {
LambdaQueryWrapper<BmsRegion> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<BmsRegion> lqw = new LambdaQueryWrapper<>();
lqw.likeRight(BmsRegion::getPathIds,parentIdPath); lqw.likeRight(BmsRegion::getPathIds,parentIdPath+"_");
return this.list(lqw); return this.list(lqw);
} }

2
src/main/java/com/qs/serve/modules/his/entity/HisUserChannelPoint.java

@ -38,7 +38,7 @@ public class HisUserChannelPoint implements Serializable {
/** 网点ID */ /** 网点ID */
private Long pointId; private Long pointId;
/** 来源类型:0->我管理的;1->行政区域;2->销售区域 */ /** 来源类型:0->网点负责人;1->行政区域;2->销售区域;3->渠道负责人 */
@NotNull(message = "来源类型:0->我管理的;1->行政区域;2->销售区域不能为空") @NotNull(message = "来源类型:0->我管理的;1->行政区域;2->销售区域不能为空")
private Integer sourceType; private Integer sourceType;

17
src/main/java/com/qs/serve/modules/his/service/impl/HisUserChannelPointServiceImpl.java

@ -71,7 +71,6 @@ public class HisUserChannelPointServiceImpl extends ServiceImpl<HisUserChannelPo
channelPointList.add(userChannelPoint); channelPointList.add(userChannelPoint);
} }
} }
LambdaQueryWrapper<BmsMasterUser> masterUserLqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<BmsMasterUser> masterUserLqw = new LambdaQueryWrapper<>();
masterUserLqw.eq(BmsMasterUser::getType, MasterUserType.Point); masterUserLqw.eq(BmsMasterUser::getType, MasterUserType.Point);
masterUserLqw.eq(BmsMasterUser::getTargetId,pointId); masterUserLqw.eq(BmsMasterUser::getTargetId,pointId);
@ -219,16 +218,22 @@ public class HisUserChannelPointServiceImpl extends ServiceImpl<HisUserChannelPo
* @return * @return
*/ */
private List<Long> getPointIdsByRegionIds(String regionIds,boolean isSaleRegion){ private List<Long> getPointIdsByRegionIds(String regionIds,boolean isSaleRegion){
if(isSaleRegion){
LambdaQueryWrapper<BmsChannelPoint> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<BmsChannelPoint> lqw = new LambdaQueryWrapper<>();
lqw.likeRight(BmsChannelPoint::getSaleRegionPathIds,regionIds);
lqw.select(BmsChannelPoint::getId); lqw.select(BmsChannelPoint::getId);
if(isSaleRegion){
lqw.and(a->{
a.likeRight(BmsChannelPoint::getSaleRegionPathIds,regionIds+"_")
.or()
.eq(BmsChannelPoint::getSaleRegionPathIds,regionIds);
});
List<BmsChannelPoint> channelPoints = channelPointMapper.selectList(lqw); List<BmsChannelPoint> channelPoints = channelPointMapper.selectList(lqw);
return channelPoints.stream().map(BmsChannelPoint::getId).collect(Collectors.toList()); return channelPoints.stream().map(BmsChannelPoint::getId).collect(Collectors.toList());
}else { }else {
LambdaQueryWrapper<BmsChannelPoint> lqw = new LambdaQueryWrapper<>(); lqw.and(a->{
lqw.likeRight(BmsChannelPoint::getBizRegionPathIds,regionIds); a.likeRight(BmsChannelPoint::getBizRegionPathIds,regionIds+"_")
lqw.select(BmsChannelPoint::getId); .or()
.eq(BmsChannelPoint::getBizRegionPathIds,regionIds);
});
List<BmsChannelPoint> channelPoints = channelPointMapper.selectList(lqw); List<BmsChannelPoint> channelPoints = channelPointMapper.selectList(lqw);
return channelPoints.stream().map(BmsChannelPoint::getId).collect(Collectors.toList()); return channelPoints.stream().map(BmsChannelPoint::getId).collect(Collectors.toList());
} }

Loading…
Cancel
Save