Commit 2f78c4df4fb590678b94218c90f93f885e5b60fb
1 parent
1fa8e1ac
✨ feat(mes): 新增来源单据编号和类型字段,更新必填验证
Showing
7 changed files
with
22 additions
and
9 deletions
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
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
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 | } | ... | ... |