From bedf257db0c1b19550a9023f3a76e7f7c5b8c933 Mon Sep 17 00:00:00 2001 From: Yen Date: Fri, 21 Oct 2022 18:13:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BE=9B=E5=BA=94=E5=95=86=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BmsSkuSupplierController.java | 9 ++- .../BmsSupplierAddressController.java | 9 +++ .../controller/BmsSupplierBandController.java | 12 ++- .../bms/controller/BmsSupplierController.java | 76 +++++++++++++++++-- .../serve/modules/bms/entity/BmsRegion.java | 7 +- .../serve/modules/bms/entity/BmsSupplier.java | 13 ++++ .../bms/entity/BmsSupplierAddress.java | 4 + .../modules/bms/entity/BmsSupplierBand.java | 3 + .../bms/entity/vo/BmsSkuSupplierVo.java | 6 ++ .../bms/entity/vo/BmsSupplierTreeVo.java | 27 +++++++ .../bms/mapper/BmsSkuSupplierMapper.java | 2 +- .../bms/service/BmsErpInfoService.java | 2 + .../bms/service/BmsSkuSupplierService.java | 2 +- .../service/impl/BmsErpInfoServiceImpl.java | 6 ++ .../impl/BmsSkuSupplierServiceImpl.java | 2 +- .../service/impl/BmsSupplierServiceImpl.java | 10 +-- .../mapper/bms/BmsSkuSupplierMapper.xml | 12 +++ 17 files changed, 180 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsSkuSupplierController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsSkuSupplierController.java index 20fc6d0b..bfe376ff 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsSkuSupplierController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsSkuSupplierController.java @@ -11,6 +11,7 @@ import com.qs.serve.common.util.PageUtil; import com.qs.serve.modules.bms.entity.bo.BmsSkuSupplierBo; import com.qs.serve.modules.bms.entity.bo.BmsSkuSupplierBo2; import com.qs.serve.modules.bms.entity.vo.BmsSkuSupplierVo; +import com.qs.serve.modules.bms.service.BmsSupplierService; import com.qs.serve.modules.goods.entity.GoodsSku; import com.qs.serve.modules.goods.service.GoodsSkuService; import lombok.AllArgsConstructor; @@ -25,7 +26,7 @@ import javax.validation.Valid; import java.util.List; /** - * 基础档案 sku供应商关联 + * 基础档案 指定客户的商品规则 * @author YenHex * @since 2022-10-17 */ @@ -45,14 +46,14 @@ public class BmsSkuSupplierController { */ @GetMapping("/page") @PreAuthorize("hasRole('bms:skuSupplier:query')") - public R> getPage(BmsSkuSupplier param){ + public R> getPage(BmsSkuSupplierVo param){ PageUtil.startPage(); List list = bmsSkuSupplierService.selectList(param); return R.byPageHelperList(list); } /** - * 供应商可购指定商品(购买设置等级优先级最高) + * 客户指定SKU(优先级最高) * @param param * @return */ @@ -77,7 +78,7 @@ public class BmsSkuSupplierController { } /** - * 供应商可购指定商品(购买设置等级比区域设置高) + * 客户指定SPU(优先级级比区域设置高) * @param param * @return */ diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierAddressController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierAddressController.java index 052555e2..33b92c9c 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierAddressController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierAddressController.java @@ -7,6 +7,8 @@ import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.PageUtil; +import com.qs.serve.modules.bms.entity.BmsSupplier; +import com.qs.serve.modules.bms.service.BmsSupplierService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.access.prepost.PreAuthorize; @@ -31,6 +33,7 @@ import java.util.List; public class BmsSupplierAddressController { private BmsSupplierAddressService bmsSupplierAddressService; + private BmsSupplierService bmsSupplierService; /** * 翻页查询 @@ -43,6 +46,10 @@ public class BmsSupplierAddressController { PageUtil.startPage(); LambdaQueryWrapper supplierAddressWrapper = new LambdaQueryWrapper<>(param); List list = bmsSupplierAddressService.list(supplierAddressWrapper); + for (BmsSupplierAddress supplierAddress : list) { + BmsSupplier supplier = bmsSupplierService.getById(supplierAddress.getSupplierId()); + supplierAddress.setSupplierName(supplier.getName()); + } return R.byPageHelperList(list); } @@ -56,6 +63,8 @@ public class BmsSupplierAddressController { @PreAuthorize("hasRole('bms:supplierAddress:query')") public R getById(@PathVariable("id") String id){ BmsSupplierAddress bmsSupplierAddress = bmsSupplierAddressService.getById(id); + BmsSupplier supplier = bmsSupplierService.getById(bmsSupplierAddress.getSupplierId()); + bmsSupplierAddress.setSupplierName(supplier.getName()); return R.ok(bmsSupplierAddress); } diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierBandController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierBandController.java index 276e9039..d8a6e9ab 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierBandController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierBandController.java @@ -7,6 +7,9 @@ import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.PageUtil; +import com.qs.serve.modules.bms.entity.BmsSupplier; +import com.qs.serve.modules.bms.entity.BmsSupplierAddress; +import com.qs.serve.modules.bms.service.BmsSupplierService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.access.prepost.PreAuthorize; @@ -30,6 +33,7 @@ import java.util.List; public class BmsSupplierBandController { private BmsSupplierBandService bmsSupplierBandService; + private BmsSupplierService bmsSupplierService; /** * 翻页查询 @@ -42,6 +46,10 @@ public class BmsSupplierBandController { PageUtil.startPage(); LambdaQueryWrapper supplierBandWrapper = new LambdaQueryWrapper<>(param); List list = bmsSupplierBandService.list(supplierBandWrapper); + for (BmsSupplierBand supplierBand : list) { + BmsSupplier supplier = bmsSupplierService.getById(supplierBand.getSupplierId()); + supplierBand.setSupplierName(supplier.getName()); + } return R.byPageHelperList(list); } @@ -55,11 +63,11 @@ public class BmsSupplierBandController { @PreAuthorize("hasRole('bms:supplierBand:query')") public R getById(@PathVariable("id") String id){ BmsSupplierBand bmsSupplierBand = bmsSupplierBandService.getById(id); + BmsSupplier supplier = bmsSupplierService.getById(bmsSupplierBand.getSupplierId()); + bmsSupplierBand.setSupplierName(supplier.getName()); return R.ok(bmsSupplierBand); } - - /** * 根据ID更新 * @param param 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 d440480d..e1b92f23 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 @@ -6,12 +6,14 @@ import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.SystemModule; -import com.qs.serve.common.util.CopierUtil; -import com.qs.serve.common.util.PageUtil; -import com.qs.serve.common.util.TreeUtil; +import com.qs.serve.common.util.*; +import com.qs.serve.modules.bms.entity.BmsErpInfo; +import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.bo.BmsSupplierBatchBo; import com.qs.serve.modules.bms.entity.bo.BmsSupplierBo; import com.qs.serve.modules.bms.entity.vo.BmsSupplierTreeVo; +import com.qs.serve.modules.bms.service.BmsErpInfoService; +import com.qs.serve.modules.bms.service.BmsRegionService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.access.prepost.PreAuthorize; @@ -36,6 +38,8 @@ import java.util.stream.Collectors; public class BmsSupplierController { private BmsSupplierService bmsSupplierService; + private BmsRegionService bmsRegionService; + private BmsErpInfoService bmsErpInfoService; /** * 翻页查询 @@ -45,12 +49,25 @@ public class BmsSupplierController { @GetMapping("/page") @PreAuthorize("hasRole('bms:supplier:query')") public R> getPage(BmsSupplier param){ + BmsRegion bmsRegion = bmsRegionService.getById(param.getRegionId()); + if(bmsRegion.getLevel()==1){ + param.setRegionFirst(param.getRegionId()); + } + if(bmsRegion.getLevel()==2){ + param.setRegionSecond(param.getRegionId()); + } + if(bmsRegion.getLevel()==3){ + param.setRegionThird(param.getRegionId()); + } PageUtil.startPage(); LambdaQueryWrapper supplierWrapper = new LambdaQueryWrapper<>(param); List list = bmsSupplierService.list(supplierWrapper); + initSupplierList(list); return R.byPageHelperList(list); } + + /** * 树查询 * @param param @@ -61,6 +78,23 @@ public class BmsSupplierController { public R> getTree(BmsSupplier param){ LambdaQueryWrapper supplierWrapper = new LambdaQueryWrapper<>(param); List list = bmsSupplierService.list(supplierWrapper); + initSupplierList(list); + List erpInfos = bmsErpInfoService.list(); + for (BmsSupplier supplier : list) { + String regionId = supplier.getRegionLast(); + if(regionId!=null&&!regionId.equals("0")){ + BmsRegion bmsRegion2 = bmsRegionService.getById(regionId); + supplier.setRegionLabel(bmsRegion2.getName()); + } + if(StringUtils.hasText(supplier.getBelong())){ + for (BmsErpInfo erpInfo : erpInfos) { + if(supplier.getBelong().equals(erpInfo.getCode())){ + supplier.setBelongLabel(erpInfo.getName()); + break; + } + } + } + } List list2 = list.stream().map(supplier->{ BmsSupplierTreeVo treeNode = CopierUtil.copy(supplier,new BmsSupplierTreeVo()); treeNode.setId(supplier.getId()); @@ -85,8 +119,6 @@ public class BmsSupplierController { return R.ok(bmsSupplier); } - - /** * 根据ID更新 * @param param @@ -145,7 +177,39 @@ public class BmsSupplierController { return R.ok(); } - //todo 迁移 + /** + * 显示关联 + * @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()); + List regionList = null; + if(CollectionUtil.isNotEmpty(regionIds)){ + regionList = bmsRegionService.listByIds(regionIds); + } + List erpInfos = bmsErpInfoService.list(); + for (BmsSupplier supplier : list) { + String regionId = supplier.getRegionLast(); + if(regionId!=null&&CollectionUtil.isNotEmpty(regionList)){ + for (BmsRegion region : regionList) { + if(region.getId().equals(regionId)){ + supplier.setRegionLabel(region.getName()); + break; + } + } + } + if(StringUtils.hasText(supplier.getBelong())){ + for (BmsErpInfo erpInfo : erpInfos) { + if(supplier.getBelong().equals(erpInfo.getCode())){ + supplier.setBelongLabel(erpInfo.getName()); + break; + } + } + } + } + } } diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsRegion.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsRegion.java index 2395a76d..0761675b 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/BmsRegion.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsRegion.java @@ -7,7 +7,9 @@ import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; +import com.qs.serve.common.framework.mybatis.handler.meta.SplitStringTypeHandler; import lombok.Data; +import org.apache.ibatis.type.JdbcType; import org.hibernate.validator.constraints.Length; import org.springframework.format.annotation.DateTimeFormat; @@ -20,7 +22,7 @@ import javax.validation.constraints.NotBlank; * @since 2022-10-10 */ @Data -@TableName("bms_region") +@TableName(value = "bms_region",autoResultMap = true) public class BmsRegion implements Serializable { private static final long serialVersionUID = 1L; @@ -45,7 +47,8 @@ public class BmsRegion implements Serializable { private Integer level; /** 工厂产地ID */ - private Long factoryId; + @TableField(typeHandler = SplitStringTypeHandler.class,jdbcType= JdbcType.VARCHAR) + private String[] factoryIds; /** 创建时间 */ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") 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 58c5a07c..786ac166 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 @@ -38,6 +38,9 @@ public class BmsSupplier implements Serializable { /** 三级区域ID */ private String regionThird; + /** 最子级区域ID */ + private String regionLast; + /** 详细地址 */ private String address; @@ -94,5 +97,15 @@ public class BmsSupplier implements Serializable { @TableField(exist = false) private String currUserId; + /** 区域ID */ + @TableField(exist = false) + private String regionId; + + @TableField(exist = false) + private String regionLabel; + + /** 所属ERP信息 */ + @TableField(exist = false) + private String belongLabel; } diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierAddress.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierAddress.java index 53155ac7..fa55511f 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierAddress.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierAddress.java @@ -113,5 +113,9 @@ public class BmsSupplierAddress implements Serializable { @TableField(fill = FieldFill.UPDATE) private String updateBy; + /** 客户名称 */ + @TableField(exist = false) + private String supplierName; + } diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierBand.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierBand.java index 486bf93b..2cac7af2 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierBand.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierBand.java @@ -82,5 +82,8 @@ public class BmsSupplierBand implements Serializable { @TableField(fill = FieldFill.UPDATE) private String updateBy; + /** 客户名称 */ + @TableField(exist = false) + private String supplierName; } diff --git a/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSkuSupplierVo.java b/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSkuSupplierVo.java index 0d3da065..4658550a 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSkuSupplierVo.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSkuSupplierVo.java @@ -23,4 +23,10 @@ public class BmsSkuSupplierVo extends BmsSkuSupplier { /** 商品标题 */ private String spuTitle; + private String supplierName; + + private String supplierCode; + + /** 搜索值 */ + private String searchValue; } diff --git a/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSupplierTreeVo.java b/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSupplierTreeVo.java index c0fc05cf..4ea0e54a 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSupplierTreeVo.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSupplierTreeVo.java @@ -1,12 +1,19 @@ package com.qs.serve.modules.bms.entity.vo; +import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; import com.qs.serve.common.model.dto.TreeNode; import lombok.Data; import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.NotBlank; +import java.time.LocalDateTime; /** * @author YenHex @@ -40,4 +47,24 @@ public class BmsSupplierTreeVo extends TreeNode { /** 父级id */ private String pid; + /** 区域ID */ + private String regionId; + + private String regionLabel; + + /** 所属ERP信息 */ + private String belongLabel; + + /** 最子级区域ID */ + private String regionLast; + + + private String parentCode; + + /** 归属ERP编码,如JSL、JSB、KL 对应ERP信息表作显示 */ + @NotBlank(message = "客户编码不能为空") + private String belong; + + + } diff --git a/src/main/java/com/qs/serve/modules/bms/mapper/BmsSkuSupplierMapper.java b/src/main/java/com/qs/serve/modules/bms/mapper/BmsSkuSupplierMapper.java index 16567dc8..2377e724 100644 --- a/src/main/java/com/qs/serve/modules/bms/mapper/BmsSkuSupplierMapper.java +++ b/src/main/java/com/qs/serve/modules/bms/mapper/BmsSkuSupplierMapper.java @@ -16,7 +16,7 @@ import java.util.List; public interface BmsSkuSupplierMapper extends BaseMapper { @InterceptorIgnore(tenantLine = "1") - List selectList2(@Param("query") BmsSkuSupplier skuSupplier); + List selectList2(@Param("query") BmsSkuSupplierVo skuSupplier); } diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsErpInfoService.java b/src/main/java/com/qs/serve/modules/bms/service/BmsErpInfoService.java index 1be7f34f..132ef097 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/BmsErpInfoService.java +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsErpInfoService.java @@ -10,5 +10,7 @@ import com.qs.serve.modules.bms.entity.BmsErpInfo; */ public interface BmsErpInfoService extends IService { + BmsErpInfo getByCode(String code); + } diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsSkuSupplierService.java b/src/main/java/com/qs/serve/modules/bms/service/BmsSkuSupplierService.java index 9ffbdcc5..0f7206d6 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/BmsSkuSupplierService.java +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsSkuSupplierService.java @@ -13,7 +13,7 @@ import java.util.List; */ public interface BmsSkuSupplierService extends IService { - List selectList(BmsSkuSupplier skuSupplier); + List selectList(BmsSkuSupplierVo skuSupplier); } diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsErpInfoServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsErpInfoServiceImpl.java index acc27e9a..cb5b457f 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsErpInfoServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsErpInfoServiceImpl.java @@ -18,5 +18,11 @@ import com.qs.serve.modules.bms.mapper.BmsErpInfoMapper; @AllArgsConstructor public class BmsErpInfoServiceImpl extends ServiceImpl implements BmsErpInfoService { + @Override + public BmsErpInfo getByCode(String code) { + + return null; + } + } diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSkuSupplierServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSkuSupplierServiceImpl.java index a212c3f1..cf3b648b 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSkuSupplierServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSkuSupplierServiceImpl.java @@ -23,7 +23,7 @@ import java.util.List; public class BmsSkuSupplierServiceImpl extends ServiceImpl implements BmsSkuSupplierService { @Override - public List selectList(BmsSkuSupplier skuSupplier) { + public List selectList(BmsSkuSupplierVo skuSupplier) { return baseMapper.selectList2(skuSupplier); } 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 af9244ed..e11aabf5 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 @@ -46,11 +46,7 @@ public class BmsSupplierServiceImpl extends ServiceImpl and `bms_sku_supplier`.`update_by` = #{query.updateBy} and `bms_sku_supplier`.`tenant_id` = #{query.tenantId} and `bms_sku_supplier`.`del_flag` = #{query.delFlag} + + and + (`goods_sku`.`sku_code`LIKE CONCAT('%',#{query.searchValue},'%') + or + `goods_spu`.`spu_code`LIKE CONCAT('%',#{query.searchValue},'%') + or + `goods_spu`.`name`LIKE CONCAT('%',#{query.searchValue},'%') + or + `bms_supplier`.`name`LIKE CONCAT('%',#{query.searchValue},'%') + or + `bms_supplier`.`code`LIKE CONCAT('%',#{query.searchValue},'%')) +