Commit b3195c7ca5f25af48d62e02d6f8798abbc7cc2b5

Authored by YunaiV
1 parent 832e8feb

✨ feat(mes): 更新供应商相关逻辑,添加英文名称及引用校验功能

重构供应商数据模型,替换供应商等级为英文名称,并在相关服务中添加对供应商引用的校验逻辑,以确保数据一致性和完整性。
Showing 18 changed files with 114 additions and 36 deletions
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/vendor/vo/MesMdVendorPageReqVO.java
@@ -21,8 +21,8 @@ public class MesMdVendorPageReqVO extends PageParam { @@ -21,8 +21,8 @@ public class MesMdVendorPageReqVO extends PageParam {
21 @Schema(description = "供应商简称", example = "海力德") 21 @Schema(description = "供应商简称", example = "海力德")
22 private String nickname; 22 private String nickname;
23 23
24 - @Schema(description = "供应商等级", example = "A")  
25 - private String level; 24 + @Schema(description = "供应商英文名称", example = "HLD")
  25 + private String englishName;
26 26
27 @Schema(description = "状态", example = "0") 27 @Schema(description = "状态", example = "0")
28 private Integer status; 28 private Integer status;
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/vendor/MesMdVendorMapper.java
@@ -22,7 +22,7 @@ public interface MesMdVendorMapper extends BaseMapperX<MesMdVendorDO> { @@ -22,7 +22,7 @@ public interface MesMdVendorMapper extends BaseMapperX<MesMdVendorDO> {
22 .eqIfPresent(MesMdVendorDO::getCode, reqVO.getCode()) 22 .eqIfPresent(MesMdVendorDO::getCode, reqVO.getCode())
23 .likeIfPresent(MesMdVendorDO::getName, reqVO.getName()) 23 .likeIfPresent(MesMdVendorDO::getName, reqVO.getName())
24 .likeIfPresent(MesMdVendorDO::getNickname, reqVO.getNickname()) 24 .likeIfPresent(MesMdVendorDO::getNickname, reqVO.getNickname())
25 - .eqIfPresent(MesMdVendorDO::getLevel, reqVO.getLevel()) 25 + .likeIfPresent(MesMdVendorDO::getEnglishName, reqVO.getEnglishName())
26 .eqIfPresent(MesMdVendorDO::getStatus, reqVO.getStatus()) 26 .eqIfPresent(MesMdVendorDO::getStatus, reqVO.getStatus())
27 .orderByDesc(MesMdVendorDO::getId)); 27 .orderByDesc(MesMdVendorDO::getId));
28 } 28 }
@@ -42,5 +42,4 @@ public interface MesMdVendorMapper extends BaseMapperX<MesMdVendorDO> { @@ -42,5 +42,4 @@ public interface MesMdVendorMapper extends BaseMapperX<MesMdVendorDO> {
42 default List<MesMdVendorDO> selectListByStatus(Integer status) { 42 default List<MesMdVendorDO> selectListByStatus(Integer status) {
43 return selectList(MesMdVendorDO::getStatus, status); 43 return selectList(MesMdVendorDO::getStatus, status);
44 } 44 }
45 -  
46 } 45 }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/arrivalnotice/MesWmArrivalNoticeMapper.java
@@ -34,4 +34,8 @@ public interface MesWmArrivalNoticeMapper extends BaseMapperX&lt;MesWmArrivalNotice @@ -34,4 +34,8 @@ public interface MesWmArrivalNoticeMapper extends BaseMapperX&lt;MesWmArrivalNotice
34 return selectList(MesWmArrivalNoticeDO::getStatus, status); 34 return selectList(MesWmArrivalNoticeDO::getStatus, status);
35 } 35 }
36 36
  37 + default Long selectCountByVendorId(Long vendorId) {
  38 + return selectCount(MesWmArrivalNoticeDO::getVendorId, vendorId);
  39 + }
  40 +
37 } 41 }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/itemreceipt/MesWmItemReceiptMapper.java
@@ -26,4 +26,8 @@ public interface MesWmItemReceiptMapper extends BaseMapperX&lt;MesWmItemReceiptDO&gt; @@ -26,4 +26,8 @@ public interface MesWmItemReceiptMapper extends BaseMapperX&lt;MesWmItemReceiptDO&gt;
26 return selectOne(MesWmItemReceiptDO::getCode, code); 26 return selectOne(MesWmItemReceiptDO::getCode, code);
27 } 27 }
28 28
  29 + default Long selectCountByVendorId(Long vendorId) {
  30 + return selectCount(MesWmItemReceiptDO::getVendorId, vendorId);
  31 + }
  32 +
29 } 33 }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/returnvendor/MesWmReturnVendorMapper.java
@@ -22,4 +22,8 @@ public interface MesWmReturnVendorMapper extends BaseMapperX&lt;MesWmReturnVendorDO @@ -22,4 +22,8 @@ public interface MesWmReturnVendorMapper extends BaseMapperX&lt;MesWmReturnVendorDO
22 .orderByDesc(MesWmReturnVendorDO::getId)); 22 .orderByDesc(MesWmReturnVendorDO::getId));
23 } 23 }
24 24
  25 + default Long selectCountByVendorId(Long vendorId) {
  26 + return selectCount(MesWmReturnVendorDO::getVendorId, vendorId);
  27 + }
  28 +
25 } 29 }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java
@@ -65,6 +65,7 @@ public interface ErrorCodeConstants { @@ -65,6 +65,7 @@ public interface ErrorCodeConstants {
65 ErrorCode MD_VENDOR_NAME_DUPLICATE = new ErrorCode(1_040_104_002, "供应商名称已存在"); 65 ErrorCode MD_VENDOR_NAME_DUPLICATE = new ErrorCode(1_040_104_002, "供应商名称已存在");
66 ErrorCode MD_VENDOR_NICKNAME_DUPLICATE = new ErrorCode(1_040_104_003, "供应商简称已存在"); 66 ErrorCode MD_VENDOR_NICKNAME_DUPLICATE = new ErrorCode(1_040_104_003, "供应商简称已存在");
67 ErrorCode MD_VENDOR_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_040_104_004, "导入供应商数据不能为空"); 67 ErrorCode MD_VENDOR_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_040_104_004, "导入供应商数据不能为空");
  68 + ErrorCode MD_VENDOR_HAS_REFERENCE = new ErrorCode(1_040_104_005, "该供应商已被其他业务引用,无法删除");
68 69
69 // ========== MES 基础数据-车间(1-040-105-000) ========== 70 // ========== MES 基础数据-车间(1-040-105-000) ==========
70 ErrorCode MD_WORKSHOP_NOT_EXISTS = new ErrorCode(1_040_105_000, "车间不存在"); 71 ErrorCode MD_WORKSHOP_NOT_EXISTS = new ErrorCode(1_040_105_000, "车间不存在");
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/md/autocode/MesMdAutoCodeRuleCodeEnum.java
@@ -12,13 +12,15 @@ import lombok.Getter; @@ -12,13 +12,15 @@ import lombok.Getter;
12 @AllArgsConstructor 12 @AllArgsConstructor
13 public enum MesMdAutoCodeRuleCodeEnum { 13 public enum MesMdAutoCodeRuleCodeEnum {
14 14
15 - ITEM_CODE("MD_ITEM_CODE", "物料编码"),  
16 - SN_CODE("WM_SN_CODE", "SN 码"),  
17 - PACKAGE_CODE("WM_PACKAGE_CODE", "装箱单编码"),  
18 - BATCH_CODE("WM_BATCH_CODE", "批次编码"),  
19 - TASK_CODE("PRO_TASK_CODE", "生产任务编码"), 15 + MD_ITEM_CODE("MD_ITEM_CODE", "物料编码"),
  16 + MD_VENDOR_CODE("MD_VENDOR_CODE", "供应商编码"),
  17 + WM_SN_CODE("WM_SN_CODE", "SN 码"),
  18 + WM_PACKAGE_CODE("WM_PACKAGE_CODE", "装箱单编码"),
  19 + WM_BATCH_CODE("WM_BATCH_CODE", "批次编码"),
  20 + PRO_TASK_CODE("PRO_TASK_CODE", "生产任务编码"),
20 QC_IQC_CODE("QC_IQC_CODE", "来料检验单编码"), 21 QC_IQC_CODE("QC_IQC_CODE", "来料检验单编码"),
21 QC_IPQC_CODE("QC_IPQC_CODE", "过程检验单编码"), 22 QC_IPQC_CODE("QC_IPQC_CODE", "过程检验单编码"),
  23 + QC_OQC_CODE("QC_OQC_CODE", "出货检验单编码"),
22 QC_RQC_CODE("QC_RQC_CODE", "退货检验单编码"); 24 QC_RQC_CODE("QC_RQC_CODE", "退货检验单编码");
23 25
24 /** 26 /**
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/client/MesMdClientServiceImpl.java
@@ -46,12 +46,8 @@ public class MesMdClientServiceImpl implements MesMdClientService { @@ -46,12 +46,8 @@ public class MesMdClientServiceImpl implements MesMdClientService {
46 46
47 @Override 47 @Override
48 public Long createClient(MesMdClientSaveReqVO createReqVO) { 48 public Long createClient(MesMdClientSaveReqVO createReqVO) {
49 - // 校验编码唯一  
50 - validateClientCodeUnique(null, createReqVO.getCode());  
51 - // 校验名称唯一  
52 - validateClientNameUnique(null, createReqVO.getName());  
53 - // 校验简称唯一  
54 - validateClientNicknameUnique(null, createReqVO.getNickname()); 49 + // 校验数据
  50 + validateClientSaveData(createReqVO);
55 51
56 // 插入 52 // 插入
57 MesMdClientDO client = BeanUtils.toBean(createReqVO, MesMdClientDO.class); 53 MesMdClientDO client = BeanUtils.toBean(createReqVO, MesMdClientDO.class);
@@ -67,18 +63,23 @@ public class MesMdClientServiceImpl implements MesMdClientService { @@ -67,18 +63,23 @@ public class MesMdClientServiceImpl implements MesMdClientService {
67 public void updateClient(MesMdClientSaveReqVO updateReqVO) { 63 public void updateClient(MesMdClientSaveReqVO updateReqVO) {
68 // 校验存在 64 // 校验存在
69 validateClientExists(updateReqVO.getId()); 65 validateClientExists(updateReqVO.getId());
70 - // 校验编码唯一  
71 - validateClientCodeUnique(updateReqVO.getId(), updateReqVO.getCode());  
72 - // 校验名称唯一  
73 - validateClientNameUnique(updateReqVO.getId(), updateReqVO.getName());  
74 - // 校验简称唯一  
75 - validateClientNicknameUnique(updateReqVO.getId(), updateReqVO.getNickname()); 66 + // 校验数据
  67 + validateClientSaveData(updateReqVO);
76 68
77 // 更新 69 // 更新
78 MesMdClientDO updateObj = BeanUtils.toBean(updateReqVO, MesMdClientDO.class); 70 MesMdClientDO updateObj = BeanUtils.toBean(updateReqVO, MesMdClientDO.class);
79 clientMapper.updateById(updateObj); 71 clientMapper.updateById(updateObj);
80 } 72 }
81 73
  74 + private void validateClientSaveData(MesMdClientSaveReqVO reqVO) {
  75 + // 校验编码唯一
  76 + validateClientCodeUnique(reqVO.getId(), reqVO.getCode());
  77 + // 校验名称唯一
  78 + validateClientNameUnique(reqVO.getId(), reqVO.getName());
  79 + // 校验简称唯一
  80 + validateClientNicknameUnique(reqVO.getId(), reqVO.getNickname());
  81 + }
  82 +
82 @Override 83 @Override
83 public void deleteClient(Long id) { 84 public void deleteClient(Long id) {
84 // 校验存在 85 // 校验存在
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/vendor/MesMdVendorServiceImpl.java
@@ -13,8 +13,12 @@ import cn.iocoder.yudao.module.mes.controller.admin.md.vendor.vo.MesMdVendorSave @@ -13,8 +13,12 @@ import cn.iocoder.yudao.module.mes.controller.admin.md.vendor.vo.MesMdVendorSave
13 import cn.iocoder.yudao.module.mes.dal.dataobject.md.vendor.MesMdVendorDO; 13 import cn.iocoder.yudao.module.mes.dal.dataobject.md.vendor.MesMdVendorDO;
14 import cn.iocoder.yudao.module.mes.dal.mysql.md.vendor.MesMdVendorMapper; 14 import cn.iocoder.yudao.module.mes.dal.mysql.md.vendor.MesMdVendorMapper;
15 import cn.iocoder.yudao.module.mes.enums.wm.BarcodeBizTypeEnum; 15 import cn.iocoder.yudao.module.mes.enums.wm.BarcodeBizTypeEnum;
  16 +import cn.iocoder.yudao.module.mes.service.wm.arrivalnotice.MesWmArrivalNoticeService;
16 import cn.iocoder.yudao.module.mes.service.wm.barcode.MesWmBarcodeService; 17 import cn.iocoder.yudao.module.mes.service.wm.barcode.MesWmBarcodeService;
  18 +import cn.iocoder.yudao.module.mes.service.wm.itemreceipt.MesWmItemReceiptService;
  19 +import cn.iocoder.yudao.module.mes.service.wm.returnvendor.MesWmReturnVendorService;
17 import jakarta.annotation.Resource; 20 import jakarta.annotation.Resource;
  21 +import org.springframework.context.annotation.Lazy;
18 import org.springframework.stereotype.Service; 22 import org.springframework.stereotype.Service;
19 import org.springframework.transaction.annotation.Transactional; 23 import org.springframework.transaction.annotation.Transactional;
20 import org.springframework.validation.annotation.Validated; 24 import org.springframework.validation.annotation.Validated;
@@ -43,15 +47,20 @@ public class MesMdVendorServiceImpl implements MesMdVendorService { @@ -43,15 +47,20 @@ public class MesMdVendorServiceImpl implements MesMdVendorService {
43 47
44 @Resource 48 @Resource
45 private MesWmBarcodeService barcodeService; 49 private MesWmBarcodeService barcodeService;
  50 + @Resource
  51 + @Lazy
  52 + private MesWmItemReceiptService itemReceiptService;
  53 + @Resource
  54 + @Lazy
  55 + private MesWmArrivalNoticeService arrivalNoticeService;
  56 + @Resource
  57 + @Lazy
  58 + private MesWmReturnVendorService returnVendorService;
46 59
47 @Override 60 @Override
48 public Long createVendor(MesMdVendorSaveReqVO createReqVO) { 61 public Long createVendor(MesMdVendorSaveReqVO createReqVO) {
49 - // 校验编码唯一  
50 - validateVendorCodeUnique(null, createReqVO.getCode());  
51 - // 校验名称唯一  
52 - validateVendorNameUnique(null, createReqVO.getName());  
53 - // 校验简称唯一  
54 - validateVendorNicknameUnique(null, createReqVO.getNickname()); 62 + // 校验数据
  63 + validateVendorSaveData(createReqVO);
55 64
56 // 插入 65 // 插入
57 MesMdVendorDO vendor = BeanUtils.toBean(createReqVO, MesMdVendorDO.class); 66 MesMdVendorDO vendor = BeanUtils.toBean(createReqVO, MesMdVendorDO.class);
@@ -67,12 +76,8 @@ public class MesMdVendorServiceImpl implements MesMdVendorService { @@ -67,12 +76,8 @@ public class MesMdVendorServiceImpl implements MesMdVendorService {
67 public void updateVendor(MesMdVendorSaveReqVO updateReqVO) { 76 public void updateVendor(MesMdVendorSaveReqVO updateReqVO) {
68 // 校验存在 77 // 校验存在
69 validateVendorExists(updateReqVO.getId()); 78 validateVendorExists(updateReqVO.getId());
70 - // 校验编码唯一  
71 - validateVendorCodeUnique(updateReqVO.getId(), updateReqVO.getCode());  
72 - // 校验名称唯一  
73 - validateVendorNameUnique(updateReqVO.getId(), updateReqVO.getName());  
74 - // 校验简称唯一  
75 - validateVendorNicknameUnique(updateReqVO.getId(), updateReqVO.getNickname()); 79 + // 校验数据
  80 + validateVendorSaveData(updateReqVO);
76 81
77 // 更新 82 // 更新
78 MesMdVendorDO updateObj = BeanUtils.toBean(updateReqVO, MesMdVendorDO.class); 83 MesMdVendorDO updateObj = BeanUtils.toBean(updateReqVO, MesMdVendorDO.class);
@@ -83,6 +88,8 @@ public class MesMdVendorServiceImpl implements MesMdVendorService { @@ -83,6 +88,8 @@ public class MesMdVendorServiceImpl implements MesMdVendorService {
83 public void deleteVendor(Long id) { 88 public void deleteVendor(Long id) {
84 // 校验存在 89 // 校验存在
85 validateVendorExists(id); 90 validateVendorExists(id);
  91 + // 校验是否被其他业务引用
  92 + validateVendorNotReferenced(id);
86 // 删除 93 // 删除
87 vendorMapper.deleteById(id); 94 vendorMapper.deleteById(id);
88 } 95 }
@@ -96,6 +103,15 @@ public class MesMdVendorServiceImpl implements MesMdVendorService { @@ -96,6 +103,15 @@ public class MesMdVendorServiceImpl implements MesMdVendorService {
96 return vendor; 103 return vendor;
97 } 104 }
98 105
  106 + private void validateVendorSaveData(MesMdVendorSaveReqVO reqVO) {
  107 + // 校验编码唯一
  108 + validateVendorCodeUnique(reqVO.getId(), reqVO.getCode());
  109 + // 校验名称唯一
  110 + validateVendorNameUnique(reqVO.getId(), reqVO.getName());
  111 + // 校验简称唯一
  112 + validateVendorNicknameUnique(reqVO.getId(), reqVO.getNickname());
  113 + }
  114 +
99 private void validateVendorCodeUnique(Long id, String code) { 115 private void validateVendorCodeUnique(Long id, String code) {
100 MesMdVendorDO vendor = vendorMapper.selectByCode(code); 116 MesMdVendorDO vendor = vendorMapper.selectByCode(code);
101 if (vendor == null) { 117 if (vendor == null) {
@@ -129,6 +145,14 @@ public class MesMdVendorServiceImpl implements MesMdVendorService { @@ -129,6 +145,14 @@ public class MesMdVendorServiceImpl implements MesMdVendorService {
129 } 145 }
130 } 146 }
131 147
  148 + private void validateVendorNotReferenced(Long id) {
  149 + if (itemReceiptService.getItemReceiptCountByVendorId(id) > 0
  150 + || arrivalNoticeService.getArrivalNoticeCountByVendorId(id) > 0
  151 + || returnVendorService.getReturnVendorCountByVendorId(id) > 0) {
  152 + throw exception(MD_VENDOR_HAS_REFERENCE);
  153 + }
  154 + }
  155 +
132 @Override 156 @Override
133 public MesMdVendorDO getVendor(Long id) { 157 public MesMdVendorDO getVendor(Long id) {
134 return vendorMapper.selectById(id); 158 return vendorMapper.selectById(id);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/task/MesProTaskServiceImpl.java
@@ -70,7 +70,7 @@ public class MesProTaskServiceImpl implements MesProTaskService { @@ -70,7 +70,7 @@ public class MesProTaskServiceImpl implements MesProTaskService {
70 // 2.1 构建任务 DO 70 // 2.1 构建任务 DO
71 MesProTaskDO task = BeanUtils.toBean(createReqVO, MesProTaskDO.class) 71 MesProTaskDO task = BeanUtils.toBean(createReqVO, MesProTaskDO.class)
72 .setName(buildTaskName(item.getName(), createReqVO.getQuantity())) 72 .setName(buildTaskName(item.getName(), createReqVO.getQuantity()))
73 - .setCode(autoCodeRecordService.generateAutoCode(MesMdAutoCodeRuleCodeEnum.TASK_CODE.getCode())) 73 + .setCode(autoCodeRecordService.generateAutoCode(MesMdAutoCodeRuleCodeEnum.PRO_TASK_CODE.getCode()))
74 .setStatus(MesProTaskStatusEnum.PREPARE.getStatus()); 74 .setStatus(MesProTaskStatusEnum.PREPARE.getStatus());
75 // 2.2 插入 75 // 2.2 插入
76 taskMapper.insert(task); 76 taskMapper.insert(task);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/arrivalnotice/MesWmArrivalNoticeService.java
@@ -108,4 +108,12 @@ public interface MesWmArrivalNoticeService { @@ -108,4 +108,12 @@ public interface MesWmArrivalNoticeService {
108 */ 108 */
109 List<MesWmArrivalNoticeDO> getArrivalNoticeListByStatus(Integer status); 109 List<MesWmArrivalNoticeDO> getArrivalNoticeListByStatus(Integer status);
110 110
  111 + /**
  112 + * 查询指定供应商的到货通知单数量
  113 + *
  114 + * @param vendorId 供应商编号
  115 + * @return 数量
  116 + */
  117 + Long getArrivalNoticeCountByVendorId(Long vendorId);
  118 +
111 } 119 }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/arrivalnotice/MesWmArrivalNoticeServiceImpl.java
@@ -213,4 +213,9 @@ public class MesWmArrivalNoticeServiceImpl implements MesWmArrivalNoticeService @@ -213,4 +213,9 @@ public class MesWmArrivalNoticeServiceImpl implements MesWmArrivalNoticeService
213 } 213 }
214 } 214 }
215 215
  216 + @Override
  217 + public Long getArrivalNoticeCountByVendorId(Long vendorId) {
  218 + return arrivalNoticeMapper.selectCountByVendorId(vendorId);
  219 + }
  220 +
216 } 221 }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/batch/MesWmBatchServiceImpl.java
@@ -183,7 +183,7 @@ public class MesWmBatchServiceImpl implements MesWmBatchService { @@ -183,7 +183,7 @@ public class MesWmBatchServiceImpl implements MesWmBatchService {
183 } 183 }
184 184
185 // 3.2 情况二:生成新批次 185 // 3.2 情况二:生成新批次
186 - String batchCode = autoCodeRecordService.generateAutoCode(MesMdAutoCodeRuleCodeEnum.BATCH_CODE.getCode()); 186 + String batchCode = autoCodeRecordService.generateAutoCode(MesMdAutoCodeRuleCodeEnum.WM_BATCH_CODE.getCode());
187 batch.setCode(batchCode); 187 batch.setCode(batchCode);
188 batchMapper.insert(batch); 188 batchMapper.insert(batch);
189 189
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemreceipt/MesWmItemReceiptService.java
@@ -85,4 +85,12 @@ public interface MesWmItemReceiptService { @@ -85,4 +85,12 @@ public interface MesWmItemReceiptService {
85 */ 85 */
86 MesWmItemReceiptDO validateItemReceiptEditable(Long id); 86 MesWmItemReceiptDO validateItemReceiptEditable(Long id);
87 87
  88 + /**
  89 + * 查询指定供应商的采购入库单数量
  90 + *
  91 + * @param vendorId 供应商编号
  92 + * @return 数量
  93 + */
  94 + Long getItemReceiptCountByVendorId(Long vendorId);
  95 +
88 } 96 }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemreceipt/MesWmItemReceiptServiceImpl.java
@@ -228,4 +228,9 @@ public class MesWmItemReceiptServiceImpl implements MesWmItemReceiptService { @@ -228,4 +228,9 @@ public class MesWmItemReceiptServiceImpl implements MesWmItemReceiptService {
228 } 228 }
229 } 229 }
230 230
  231 + @Override
  232 + public Long getItemReceiptCountByVendorId(Long vendorId) {
  233 + return itemReceiptMapper.selectCountByVendorId(vendorId);
  234 + }
  235 +
231 } 236 }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnvendor/MesWmReturnVendorService.java
@@ -93,4 +93,12 @@ public interface MesWmReturnVendorService { @@ -93,4 +93,12 @@ public interface MesWmReturnVendorService {
93 */ 93 */
94 Boolean checkReturnVendorQuantity(Long id); 94 Boolean checkReturnVendorQuantity(Long id);
95 95
  96 + /**
  97 + * 查询指定供应商的退货单数量
  98 + *
  99 + * @param vendorId 供应商编号
  100 + * @return 数量
  101 + */
  102 + Long getReturnVendorCountByVendorId(Long vendorId);
  103 +
96 } 104 }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnvendor/MesWmReturnVendorServiceImpl.java
@@ -208,4 +208,9 @@ public class MesWmReturnVendorServiceImpl implements MesWmReturnVendorService { @@ -208,4 +208,9 @@ public class MesWmReturnVendorServiceImpl implements MesWmReturnVendorService {
208 return returnVendor; 208 return returnVendor;
209 } 209 }
210 210
  211 + @Override
  212 + public Long getReturnVendorCountByVendorId(Long vendorId) {
  213 + return returnVendorMapper.selectCountByVendorId(vendorId);
  214 + }
  215 +
211 } 216 }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/sn/MesWmSnServiceImpl.java
@@ -41,7 +41,7 @@ public class MesWmSnServiceImpl implements MesWmSnService { @@ -41,7 +41,7 @@ public class MesWmSnServiceImpl implements MesWmSnService {
41 String uuid = IdUtil.fastSimpleUUID(); 41 String uuid = IdUtil.fastSimpleUUID();
42 // 批量生成 SN 码 42 // 批量生成 SN 码
43 for (int i = 0; i < reqVO.getCount(); i++) { 43 for (int i = 0; i < reqVO.getCount(); i++) {
44 - String snCode = autoCodeRecordService.generateAutoCode(MesMdAutoCodeRuleCodeEnum.SN_CODE.getCode()); 44 + String snCode = autoCodeRecordService.generateAutoCode(MesMdAutoCodeRuleCodeEnum.WM_SN_CODE.getCode());
45 sns.add(new MesWmSnDO().setUuid(uuid).setCode(snCode) 45 sns.add(new MesWmSnDO().setUuid(uuid).setCode(snCode)
46 .setItemId(reqVO.getItemId()).setBatchCode(reqVO.getBatchCode()) 46 .setItemId(reqVO.getItemId()).setBatchCode(reqVO.getBatchCode())
47 .setWorkOrderId(reqVO.getWorkOrderId())); 47 .setWorkOrderId(reqVO.getWorkOrderId()));