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 c4197f13..37b8492b 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 @@ -73,6 +73,22 @@ public class BmsRegion2Controller { List list1 = listMap.get(1)==null?new ArrayList<>():listMap.get(1); List list2 = listMap.get(2)==null?new ArrayList<>():listMap.get(2); List list3 = listMap.get(3)==null?new ArrayList<>():listMap.get(3); + List list4 = listMap.get(3)==null?new ArrayList<>():listMap.get(4); + list4.forEach(obj4->{ + boolean exist = false; + for (BmsRegion2 obj3 : list3) { + if(obj3.getId().equals(obj4.getPid())){ + List childList = obj3.getChildNodes()==null?new ArrayList<>():obj3.getChildNodes(); + childList.add(obj4); + obj3.setChildNodes(childList); + exist = true; + break; + } + } + if(!exist){ + list3.add(obj4); + } + }); list3.forEach(obj3->{ boolean exist = false; for (BmsRegion2 obj2 : list2) { @@ -184,7 +200,6 @@ public class BmsRegion2Controller { param.setId(regionBo.getId()); param.setName(regionBo.getName()); boolean result = bmsRegion2Service.updateBmsRegion2ById(param); -// bmsRegion2Service.flushLevel(param); return R.isTrue(result); } @@ -217,7 +232,6 @@ public class BmsRegion2Controller { param.setId(IdUtil.getSnowFlakeId()+""); } boolean result = bmsRegion2Service.saveBmsRegion2(param); -// bmsRegion2Service.flushLevel(param); return R.isTrue(result); } @@ -271,7 +285,7 @@ public class BmsRegion2Controller { return R.error("含有子区域无法删除"); } //如果有供应商则不允许删除 - if(bmsSupplierService.listByRegionId(id).size()>0){ + if(bmsSupplierService.listByRegion2Id(id).size()>0){ return R.error("地区含有供应商无法删除"); } if(bmsChannelPointService.listBySaleRegionId(id).size()>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 5fe2f2fe..35ccb3ef 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 @@ -15,6 +15,7 @@ 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.his.service.HisUserSupplierService; import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.entity.bo.SysRelateSuppliersParam; import com.qs.serve.modules.sys.entity.bo.SysRelateSuppliersParam2; @@ -48,6 +49,7 @@ public class BmsSupplierController { private BmsRegion2Service bmsRegion2Service; private SysUserService sysUserService; private BmsSupplierMapper bmsSupplierMapper; + private HisUserSupplierService hisUserSupplierService; /** * 翻页查询 @@ -57,6 +59,10 @@ public class BmsSupplierController { @GetMapping("/list") @PreAuthorize("hasRole('bms:supplier:query')") public R> getList(BmsSupplier param){ + if(param.getLoadByCurrent()!=null&¶m.getLoadByCurrent().equals(1)){ + //hisUserSupplierService.list() + return R.ok(); + } String userId = param.getUserId(); param.setCurrUserId(userId); List list = bmsSupplierService.selectSupplierList(param); diff --git a/src/main/java/com/qs/serve/modules/bms/mapper/BmsRegion2Mapper.java b/src/main/java/com/qs/serve/modules/bms/mapper/BmsRegion2Mapper.java index 36019a41..9e37b534 100644 --- a/src/main/java/com/qs/serve/modules/bms/mapper/BmsRegion2Mapper.java +++ b/src/main/java/com/qs/serve/modules/bms/mapper/BmsRegion2Mapper.java @@ -1,7 +1,9 @@ package com.qs.serve.modules.bms.mapper; +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qs.serve.modules.bms.entity.BmsRegion2; +import org.apache.ibatis.annotations.Update; /** * 区域档案 Mapper @@ -10,5 +12,8 @@ import com.qs.serve.modules.bms.entity.BmsRegion2; */ public interface BmsRegion2Mapper extends BaseMapper { + @Update("update bms_region2 set path_ids = null , path_names = null,level = -1") + int updateSetPathNull(); + } diff --git a/src/main/java/com/qs/serve/modules/bms/mapper/BmsRegionMapper.java b/src/main/java/com/qs/serve/modules/bms/mapper/BmsRegionMapper.java index bb62c17d..809b4213 100644 --- a/src/main/java/com/qs/serve/modules/bms/mapper/BmsRegionMapper.java +++ b/src/main/java/com/qs/serve/modules/bms/mapper/BmsRegionMapper.java @@ -2,6 +2,7 @@ package com.qs.serve.modules.bms.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qs.serve.modules.bms.entity.BmsRegion; +import org.apache.ibatis.annotations.Update; /** * 区域档案 Mapper @@ -10,5 +11,8 @@ import com.qs.serve.modules.bms.entity.BmsRegion; */ public interface BmsRegionMapper extends BaseMapper { + @Update("update bms_region set path_ids = null , path_names = null,level = -1") + int updateSetPathNull(); + } diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsSupplierService.java b/src/main/java/com/qs/serve/modules/bms/service/BmsSupplierService.java index 2cb566dd..af89f15e 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/BmsSupplierService.java +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsSupplierService.java @@ -24,6 +24,8 @@ public interface BmsSupplierService extends IService { List listByRegionId(String regionId); + List listByRegion2Id(String regionId); + void editBatch(BmsSupplierBatchBo param); void flashParentId(); diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegion2ServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegion2ServiceImpl.java index 3781ff79..3af1fe38 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegion2ServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegion2ServiceImpl.java @@ -17,6 +17,7 @@ import com.qs.serve.modules.sys.service.SysUserService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; @@ -38,14 +39,14 @@ public class BmsRegion2ServiceImpl extends ServiceImpl2){ - Assert.throwEx("最高支持3层级"); + if(parent.getLevel()>3){ + Assert.throwEx("最高支持4层级"); } param.setLevel(parent.getLevel()+1); param.setPathIds(parent.getPathIds()+"_"+param.getId()); @@ -133,17 +133,19 @@ public class BmsRegion2ServiceImpl extends ServiceImpl treeVoList = this.getTree(false); for (BmsRegionTreeVo firstTree : treeVoList) { if(firstTree.getLevel()==null||firstTree.getLevel()!=1||batchUpdate){ String pathIds = firstTree.getId(); String pathNames = firstTree.getName(); - this.updateLevel(firstTree.getId(),1,pathIds,pathNames); + BmsRegion2 param = this.getUpdLevelParam(firstTree.getId(),1,pathIds,pathNames); + this.updateById(param); } if(CollectionUtil.isNotEmpty(firstTree.getChildren())){ for (TreeNode secondTreeNode : firstTree.getChildren()) { @@ -151,15 +153,28 @@ public class BmsRegion2ServiceImpl extends ServiceImpl @Override public void flushAllLevel(boolean batchUpdate) { + this.baseMapper.updateSetPathNull(); List treeVoList = this.getTree(false); for (BmsRegionTreeVo firstTree : treeVoList) { if(firstTree.getLevel()==null||firstTree.getLevel()!=1||batchUpdate){ @@ -158,10 +159,20 @@ public class BmsRegionServiceImpl extends ServiceImpl for (TreeNode thirdTreeNode : secondTree.getChildren()) { BmsRegionTreeVo thirdTree = (BmsRegionTreeVo)thirdTreeNode; if(thirdTree.getLevel()==null||thirdTree.getLevel()!=3||batchUpdate){ - String pathIds = firstTree.getId()+"_"+secondTree.getName()+"_"+thirdTree.getId(); + String pathIds = firstTree.getId()+"_"+secondTree.getId()+"_"+thirdTree.getId(); String pathNames = firstTree.getName()+"_"+secondTree.getName()+"_"+thirdTree.getName(); this.updateLevel(thirdTree.getId(),3,pathIds,pathNames); } + if(CollectionUtil.isNotEmpty(thirdTreeNode.getChildren())){ + for (TreeNode fourthlyTreeNode : thirdTreeNode.getChildren()) { + BmsRegionTreeVo fourthlyTree = (BmsRegionTreeVo)fourthlyTreeNode; + if(fourthlyTree.getLevel()==null||fourthlyTree.getLevel()!=4||batchUpdate){ + String pathIds = firstTree.getId()+"_"+secondTree.getId()+"_"+thirdTree.getId()+"_"+fourthlyTree.getId(); + String pathNames = firstTree.getName()+"_"+secondTree.getName()+"_"+thirdTree.getName()+"_"+fourthlyTree.getName(); + this.updateLevel(fourthlyTree.getId(),4,pathIds,pathNames); + } + } + } } } } 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 66e6ad9a..6b57711a 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 @@ -102,6 +102,16 @@ public class BmsSupplierServiceImpl extends ServiceImpl listByRegion2Id(String regionId) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.and(w-> + w.eq(BmsSupplier::getRegion2First,regionId) + .or().eq(BmsSupplier::getRegion2Second,regionId) + .or().eq(BmsSupplier::getRegion2Third,regionId)); + return this.list(lqw); + } + @Override public void editBatch(BmsSupplierBatchBo batchBo) { for (BmsSupplierBatchBo.BmsSupplierDto param : batchBo.getSupplierList()) { diff --git a/src/main/java/com/qs/serve/modules/his/entity/HisUserSupplier.java b/src/main/java/com/qs/serve/modules/his/entity/HisUserSupplier.java index 16273b6b..829c0680 100644 --- a/src/main/java/com/qs/serve/modules/his/entity/HisUserSupplier.java +++ b/src/main/java/com/qs/serve/modules/his/entity/HisUserSupplier.java @@ -19,7 +19,7 @@ import javax.validation.constraints.NotBlank; /** * 供应商负责人 实体类 * @author YenHex - * @since 2022-11-15 + * @since 2022-11-17 */ @Data @TableName("his_user_supplier") @@ -40,13 +40,33 @@ public class HisUserSupplier implements Serializable { @NotNull(message = "供应商id不能为空") private Long supplierId; - /** 类型:0=销售区域;1=行政区域 */ + /** 供应商名称 */ + @Length(max = 50,message = "供应商名称长度不能超过50字") + private String supplierName; + + /** 供应商编码 */ + @Length(max = 30,message = "供应商编码长度不能超过30字") + private String supplierCode; + + /** 类型:0=销售区域;1=行政区域;2-供应商负责人;9-无相关数据 */ private Integer type; /** 区域id */ @Length(max = 32,message = "区域id长度不能超过32字") private String regionId; + /** 销售区域1 */ + @Length(max = 32,message = "销售区域1长度不能超过32字") + private String saleRegionFirst; + + /** 销售区域2 */ + @Length(max = 32,message = "销售区域2长度不能超过32字") + private String saleRegionSecond; + + /** 销售区域3 */ + @Length(max = 32,message = "销售区域3长度不能超过32字") + private String saleRegionThird; + /** 主要负责人 */ @NotNull(message = "主要负责人不能为空") private Integer masterFlag; @@ -57,5 +77,17 @@ public class HisUserSupplier implements Serializable { @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; + /** 行政区域1 */ + @Length(max = 32,message = "行政区域1长度不能超过32字") + private String bizRegionFirst; + + /** 行政区域2 */ + @Length(max = 32,message = "行政区域2长度不能超过32字") + private String bizRegionSecond; + + /** 行政区域3 */ + @Length(max = 32,message = "行政区域3长度不能超过32字") + private String bizRegionThird; + } diff --git a/src/main/java/com/qs/serve/modules/his/service/impl/HisUserSupplierServiceImpl.java b/src/main/java/com/qs/serve/modules/his/service/impl/HisUserSupplierServiceImpl.java index f59ce583..b290399c 100644 --- a/src/main/java/com/qs/serve/modules/his/service/impl/HisUserSupplierServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/his/service/impl/HisUserSupplierServiceImpl.java @@ -53,8 +53,16 @@ public class HisUserSupplierServiceImpl extends ServiceImpl regionUserLqw = new LambdaQueryWrapper<>(); diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityChannelBo.java b/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityChannelBo.java index d1a7f51e..952f706d 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityChannelBo.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityChannelBo.java @@ -33,8 +33,8 @@ public class TbsActivityChannelBo implements Serializable { @NotNull(message = "渠道费用占比不能为空") private BigDecimal channelRate; - /** 预计头发网点数量 */ - @NotNull(message = "预计头发网点数量不能为空") + /** 预计投放网点数量 */ + @NotNull(message = "预计投放网点数量不能为空") private Integer preCountPoint; /** 备注 */ diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityChannelPointBo.java b/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityChannelPointBo.java index 6f4a1f19..8e3ab80f 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityChannelPointBo.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityChannelPointBo.java @@ -33,5 +33,7 @@ public class TbsActivityChannelPointBo implements Serializable { @NotNull(message = "网点费用占比不能为空") private BigDecimal pointRate; + private String remark; + } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java index 041e702b..c8d5d4f2 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java @@ -15,17 +15,10 @@ import com.qs.serve.modules.goods.entity.dto.TbsCenterDto; import com.qs.serve.modules.goods.service.GoodsCategoryService; import com.qs.serve.modules.goods.service.GoodsSkuService; import com.qs.serve.modules.goods.service.GoodsSpuService; -import com.qs.serve.modules.sys.entity.SysDept; -import com.qs.serve.modules.sys.entity.SysUser; -import com.qs.serve.modules.sys.service.SysDeptService; -import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.tbs.common.TbsCenterType; import com.qs.serve.modules.tbs.common.TbsGoodsType; import com.qs.serve.modules.tbs.entity.*; -import com.qs.serve.modules.tbs.entity.bo.TbsActivityBo; -import com.qs.serve.modules.tbs.entity.bo.TbsActivityCenterGoodsBo; -import com.qs.serve.modules.tbs.entity.bo.TbsActivityGoodsBo; -import com.qs.serve.modules.tbs.entity.bo.TbsActivitySubjectBo; +import com.qs.serve.modules.tbs.entity.bo.*; import com.qs.serve.modules.tbs.service.*; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -64,6 +57,8 @@ public class TbsActivityServiceImpl extends ServiceImpl activityChannelList = new ArrayList<>(); + for (TbsActivityChannelBo activityChannelBo : activityBo.getActivityChannelList()) { + BmsChannel channel = channelService.getById(activityChannelBo.getChannelId()); + TbsActivityChannel activityChannel = new TbsActivityChannel(); + activityChannel.setActivityId(activity.getId()); + activityChannel.setCostApplyId(costApply.getId()); + activityChannel.setChannelId(channel.getId()); + activityChannel.setChannelCode(channel.getChannelCode()); + activityChannel.setChannelName(channel.getChannelName()); + activityChannel.setChannelRate(activityChannelBo.getChannelRate()); + activityChannel.setPreCountPoint(activityChannelBo.getPreCountPoint()); + activityChannel.setRemark(activityChannelBo.getRemark()); + activityChannelList.add(activityChannel); + } + activityChannelService.saveBatch(activityChannelList); + }else if(CollectionUtil.isNotEmpty(activityBo.getActivityPointList())){ + List activityChannelPointList = new ArrayList<>(); + for (TbsActivityChannelPointBo activityChannelPointBo : activityBo.getActivityPointList()) { + BmsChannelPoint channelPoint = channelPointService.getById(activityChannelPointBo.getPointId()); + BmsChannel channel = channelService.getById(channelPoint.getChannelId()); + TbsActivityChannelPoint activityChannelPoint = new TbsActivityChannelPoint(); + activityChannelPoint.setCostApplyId(costApply.getId()); + activityChannelPoint.setActivityId(activity.getId()); + activityChannelPoint.setChannelId(channel.getId()); + activityChannelPoint.setChannelCode(channel.getChannelCode()); + activityChannelPoint.setChannelName(channel.getChannelName()); + activityChannelPoint.setPointId(channelPoint.getId()); + activityChannelPoint.setPointCode(channelPoint.getPointCode()); + activityChannelPoint.setPointName(channelPoint.getPointName()); + activityChannelPoint.setPointRate(activityChannelPointBo.getPointRate()); + activityChannelPoint.setRemark(activityChannelPointBo.getRemark()); + activityChannelPointList.add(activityChannelPoint); + } + activityChannelPointService.saveBatch(activityChannelPointList); + } + } + /** * 初始化产品成本配占比 * @param activityBo