Commit 2f78c4df4fb590678b94218c90f93f885e5b60fb

Authored by YunaiV
1 parent 1fa8e1ac

✨ feat(mes): 新增来源单据编号和类型字段,更新必填验证

yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/miscreceipt/vo/MesWmMiscReceiptPageReqVO.java
... ... @@ -26,6 +26,12 @@ public class MesWmMiscReceiptPageReqVO extends PageParam {
26 26 @Schema(description = "杂项类型", example = "1")
27 27 private Integer type;
28 28  
  29 + @Schema(description = "来源单据编号", example = "DOC2026030001")
  30 + private String sourceDocCode;
  31 +
  32 + @Schema(description = "来源单据类型", example = "WORK_ORDER")
  33 + private String sourceDocType;
  34 +
29 35 @Schema(description = "状态", example = "0")
30 36 private Integer status;
31 37  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/miscreceipt/vo/MesWmMiscReceiptSaveReqVO.java
... ... @@ -7,7 +7,6 @@ import lombok.Data;
7 7  
8 8 import java.time.LocalDateTime;
9 9  
10   -// TODO @AI:字段的必传,需要对齐下前端;
11 10 @Schema(description = "管理后台 - MES 杂项入库单新增/修改 Request VO")
12 11 @Data
13 12 public class MesWmMiscReceiptSaveReqVO {
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/miscreceipt/vo/line/MesWmMiscReceiptLineSaveReqVO.java
... ... @@ -34,10 +34,12 @@ public class MesWmMiscReceiptLineSaveReqVO {
34 34 @NotNull(message = "仓库不能为空")
35 35 private Long warehouseId;
36 36  
37   - @Schema(description = "库区编号", example = "1")
  37 + @Schema(description = "库区编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
  38 + @NotNull(message = "库区不能为空")
38 39 private Long locationId;
39 40  
40   - @Schema(description = "库位编号", example = "1")
  41 + @Schema(description = "库位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
  42 + @NotNull(message = "库位不能为空")
41 43 private Long areaId;
42 44  
43 45 @Schema(description = "备注", example = "备注")
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/miscreceipt/MesWmMiscReceiptDO.java
... ... @@ -44,7 +44,6 @@ public class MesWmMiscReceiptDO extends BaseDO {
44 44 * 枚举 {@link MesWmMiscReceiptTypeEnum}
45 45 */
46 46 private Integer type;
47   - // TODO @芋艿:后续看看怎么跟进;
48 47 /**
49 48 * 来源单据 ID
50 49 */
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/miscreceipt/MesWmMiscReceiptMapper.java
... ... @@ -20,6 +20,8 @@ public interface MesWmMiscReceiptMapper extends BaseMapperX<MesWmMiscReceiptDO>
20 20 .likeIfPresent(MesWmMiscReceiptDO::getCode, reqVO.getCode())
21 21 .likeIfPresent(MesWmMiscReceiptDO::getName, reqVO.getName())
22 22 .eqIfPresent(MesWmMiscReceiptDO::getType, reqVO.getType())
  23 + .likeIfPresent(MesWmMiscReceiptDO::getSourceDocCode, reqVO.getSourceDocCode())
  24 + .eqIfPresent(MesWmMiscReceiptDO::getSourceDocType, reqVO.getSourceDocType())
23 25 .eqIfPresent(MesWmMiscReceiptDO::getStatus, reqVO.getStatus())
24 26 .betweenIfPresent(MesWmMiscReceiptDO::getReceiptDate, reqVO.getReceiptDate())
25 27 .orderByDesc(MesWmMiscReceiptDO::getId));
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/md/autocode/MesMdAutoCodeRuleCodeEnum.java
... ... @@ -32,7 +32,8 @@ public enum MesMdAutoCodeRuleCodeEnum {
32 32 WM_WAREHOUSE_CODE("WM_WAREHOUSE_CODE", "仓库编码"),
33 33 WM_LOCATION_CODE("WM_LOCATION_CODE", "库区编码"),
34 34 WM_AREA_CODE("WM_AREA_CODE", "库位编码"),
35   - WM_PRODUCT_SALES_CODE("WM_PRODUCT_SALES_CODE", "销售出库单编码");
  35 + WM_PRODUCT_SALES_CODE("WM_PRODUCT_SALES_CODE", "销售出库单编码"),
  36 + WM_MISC_RECEIPT_CODE("WM_MISC_RECEIPT_CODE", "杂项入库单编码");
36 37  
37 38 /**
38 39 * 规则代码
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/miscreceipt/MesWmMiscReceiptLineServiceImpl.java
... ... @@ -44,7 +44,6 @@ public class MesWmMiscReceiptLineServiceImpl implements MesWmMiscReceiptLineServ
44 44 @Transactional(rollbackFor = Exception.class)
45 45 public Long createMiscReceiptLine(MesWmMiscReceiptLineSaveReqVO createReqVO) {
46 46 // 1. 校验
47   - miscReceiptService.validateMiscReceiptEditable(createReqVO.getReceiptId());
48 47 validateLineSaveData(createReqVO);
49 48  
50 49 // 2. 新增行
... ... @@ -62,8 +61,7 @@ public class MesWmMiscReceiptLineServiceImpl implements MesWmMiscReceiptLineServ
62 61 public void updateMiscReceiptLine(MesWmMiscReceiptLineSaveReqVO updateReqVO) {
63 62 // 1. 校验
64 63 MesWmMiscReceiptLineDO line = validateMiscReceiptLineExists(updateReqVO.getId());
65   - miscReceiptService.validateMiscReceiptEditable(line.getReceiptId());
66   - validateLineSaveData(updateReqVO);
  64 + updateReqVO.setReceiptId(line.getReceiptId());
67 65  
68 66 // 2. 更新行
69 67 MesWmMiscReceiptLineDO updateObj = BeanUtils.toBean(updateReqVO, MesWmMiscReceiptLineDO.class);
... ... @@ -77,7 +75,9 @@ public class MesWmMiscReceiptLineServiceImpl implements MesWmMiscReceiptLineServ
77 75 @Transactional(rollbackFor = Exception.class)
78 76 public void deleteMiscReceiptLine(Long id) {
79 77 // 校验存在
80   - validateMiscReceiptLineExists(id);
  78 + MesWmMiscReceiptLineDO line = validateMiscReceiptLineExists(id);
  79 + // 校验父单据存在且为可编辑状态
  80 + miscReceiptService.validateMiscReceiptEditable(line.getReceiptId());
81 81  
82 82 // 删除行
83 83 miscReceiptLineMapper.deleteById(id);
... ... @@ -122,7 +122,11 @@ public class MesWmMiscReceiptLineServiceImpl implements MesWmMiscReceiptLineServ
122 122 * 校验行保存数据(物料存在、仓库层级关系)
123 123 */
124 124 private void validateLineSaveData(MesWmMiscReceiptLineSaveReqVO reqVO) {
  125 + // 校验父单据存在且为可编辑状态
  126 + miscReceiptService.validateMiscReceiptEditable(reqVO.getReceiptId());
  127 + // 校验物料存在
125 128 itemService.validateItemExists(reqVO.getItemId());
  129 + // 校验仓库层级关系(仓库 - 库位 - 库区)
126 130 warehouseAreaService.validateWarehouseAreaExists(reqVO.getWarehouseId(),
127 131 reqVO.getLocationId(), reqVO.getAreaId());
128 132 }
... ...