diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/miscreceipt/vo/MesWmMiscReceiptPageReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/miscreceipt/vo/MesWmMiscReceiptPageReqVO.java index 9869f10..13589e8 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/miscreceipt/vo/MesWmMiscReceiptPageReqVO.java +++ b/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 { @Schema(description = "杂项类型", example = "1") private Integer type; + @Schema(description = "来源单据编号", example = "DOC2026030001") + private String sourceDocCode; + + @Schema(description = "来源单据类型", example = "WORK_ORDER") + private String sourceDocType; + @Schema(description = "状态", example = "0") private Integer status; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/miscreceipt/vo/MesWmMiscReceiptSaveReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/miscreceipt/vo/MesWmMiscReceiptSaveReqVO.java index e917cb2..1815c05 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/miscreceipt/vo/MesWmMiscReceiptSaveReqVO.java +++ b/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; import java.time.LocalDateTime; -// TODO @AI:字段的必传,需要对齐下前端; @Schema(description = "管理后台 - MES 杂项入库单新增/修改 Request VO") @Data public class MesWmMiscReceiptSaveReqVO { diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/miscreceipt/vo/line/MesWmMiscReceiptLineSaveReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/miscreceipt/vo/line/MesWmMiscReceiptLineSaveReqVO.java index cba5c92..5eaf187 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/miscreceipt/vo/line/MesWmMiscReceiptLineSaveReqVO.java +++ b/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 { @NotNull(message = "仓库不能为空") private Long warehouseId; - @Schema(description = "库区编号", example = "1") + @Schema(description = "库区编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "库区不能为空") private Long locationId; - @Schema(description = "库位编号", example = "1") + @Schema(description = "库位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "库位不能为空") private Long areaId; @Schema(description = "备注", example = "备注") diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/miscreceipt/MesWmMiscReceiptDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/miscreceipt/MesWmMiscReceiptDO.java index 670eac9..635ca29 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/miscreceipt/MesWmMiscReceiptDO.java +++ b/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 { * 枚举 {@link MesWmMiscReceiptTypeEnum} */ private Integer type; - // TODO @芋艿:后续看看怎么跟进; /** * 来源单据 ID */ diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/miscreceipt/MesWmMiscReceiptMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/miscreceipt/MesWmMiscReceiptMapper.java index 693175b..abbdc05 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/miscreceipt/MesWmMiscReceiptMapper.java +++ b/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 .likeIfPresent(MesWmMiscReceiptDO::getCode, reqVO.getCode()) .likeIfPresent(MesWmMiscReceiptDO::getName, reqVO.getName()) .eqIfPresent(MesWmMiscReceiptDO::getType, reqVO.getType()) + .likeIfPresent(MesWmMiscReceiptDO::getSourceDocCode, reqVO.getSourceDocCode()) + .eqIfPresent(MesWmMiscReceiptDO::getSourceDocType, reqVO.getSourceDocType()) .eqIfPresent(MesWmMiscReceiptDO::getStatus, reqVO.getStatus()) .betweenIfPresent(MesWmMiscReceiptDO::getReceiptDate, reqVO.getReceiptDate()) .orderByDesc(MesWmMiscReceiptDO::getId)); diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/md/autocode/MesMdAutoCodeRuleCodeEnum.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/md/autocode/MesMdAutoCodeRuleCodeEnum.java index 0c5e70e..c62a37e 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/md/autocode/MesMdAutoCodeRuleCodeEnum.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/md/autocode/MesMdAutoCodeRuleCodeEnum.java @@ -32,7 +32,8 @@ public enum MesMdAutoCodeRuleCodeEnum { WM_WAREHOUSE_CODE("WM_WAREHOUSE_CODE", "仓库编码"), WM_LOCATION_CODE("WM_LOCATION_CODE", "库区编码"), WM_AREA_CODE("WM_AREA_CODE", "库位编码"), - WM_PRODUCT_SALES_CODE("WM_PRODUCT_SALES_CODE", "销售出库单编码"); + WM_PRODUCT_SALES_CODE("WM_PRODUCT_SALES_CODE", "销售出库单编码"), + WM_MISC_RECEIPT_CODE("WM_MISC_RECEIPT_CODE", "杂项入库单编码"); /** * 规则代码 diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/miscreceipt/MesWmMiscReceiptLineServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/miscreceipt/MesWmMiscReceiptLineServiceImpl.java index 826cd73..a659f58 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/miscreceipt/MesWmMiscReceiptLineServiceImpl.java +++ b/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 @Transactional(rollbackFor = Exception.class) public Long createMiscReceiptLine(MesWmMiscReceiptLineSaveReqVO createReqVO) { // 1. 校验 - miscReceiptService.validateMiscReceiptEditable(createReqVO.getReceiptId()); validateLineSaveData(createReqVO); // 2. 新增行 @@ -62,8 +61,7 @@ public class MesWmMiscReceiptLineServiceImpl implements MesWmMiscReceiptLineServ public void updateMiscReceiptLine(MesWmMiscReceiptLineSaveReqVO updateReqVO) { // 1. 校验 MesWmMiscReceiptLineDO line = validateMiscReceiptLineExists(updateReqVO.getId()); - miscReceiptService.validateMiscReceiptEditable(line.getReceiptId()); - validateLineSaveData(updateReqVO); + updateReqVO.setReceiptId(line.getReceiptId()); // 2. 更新行 MesWmMiscReceiptLineDO updateObj = BeanUtils.toBean(updateReqVO, MesWmMiscReceiptLineDO.class); @@ -77,7 +75,9 @@ public class MesWmMiscReceiptLineServiceImpl implements MesWmMiscReceiptLineServ @Transactional(rollbackFor = Exception.class) public void deleteMiscReceiptLine(Long id) { // 校验存在 - validateMiscReceiptLineExists(id); + MesWmMiscReceiptLineDO line = validateMiscReceiptLineExists(id); + // 校验父单据存在且为可编辑状态 + miscReceiptService.validateMiscReceiptEditable(line.getReceiptId()); // 删除行 miscReceiptLineMapper.deleteById(id); @@ -122,7 +122,11 @@ public class MesWmMiscReceiptLineServiceImpl implements MesWmMiscReceiptLineServ * 校验行保存数据(物料存在、仓库层级关系) */ private void validateLineSaveData(MesWmMiscReceiptLineSaveReqVO reqVO) { + // 校验父单据存在且为可编辑状态 + miscReceiptService.validateMiscReceiptEditable(reqVO.getReceiptId()); + // 校验物料存在 itemService.validateItemExists(reqVO.getItemId()); + // 校验仓库层级关系(仓库 - 库位 - 库区) warehouseAreaService.validateWarehouseAreaExists(reqVO.getWarehouseId(), reqVO.getLocationId(), reqVO.getAreaId()); }