liu
2026-09-03 358e1639bff061cd7660c34c01987569a8db1781
fix(MES): 转移单内部调拨保存不再强制要求“是否配送”

内部调拨时前端不展示 deliveryFlag(是否配送) 字段、不传值,导致请求为 null,
撞上后端 @NotNull 校验报“是否配送不能为空”。
- MesWmTransferSaveReqVO: 去掉 deliveryFlag 的 @NotNull 必填校验
- MesWmTransferServiceImpl: create/updateTransfer 中将 null 归一化为 false
外部调拨(含配送模式)不受影响。

Co-Authored-By: Claude <noreply@anthropic.com>
已修改2个文件
11 ■■■■ 文件已修改
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/transfer/vo/MesWmTransferSaveReqVO.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/transfer/MesWmTransferServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/transfer/vo/MesWmTransferSaveReqVO.java
@@ -28,8 +28,7 @@
    @NotNull(message = "转移单类型不能为空")
    private Integer type;
    @Schema(description = "是否配送", requiredMode = REQUIRED, example = "true")
    @NotNull(message = "是否配送不能为空")
    @Schema(description = "是否配送", example = "true")
    private Boolean deliveryFlag;
    @Schema(description = "收货人", example = "张三")
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/transfer/MesWmTransferServiceImpl.java
@@ -59,6 +59,10 @@
        // 插入
        MesWmTransferDO transfer = BeanUtils.toBean(createReqVO, MesWmTransferDO.class);
        transfer.setStatus(MesWmTransferStatusEnum.PREPARE.getStatus());
        // 内部调拨(或未选择配送模式)时不传“是否配送”,统一按非配送处理,避免必填校验拦截
        if (transfer.getDeliveryFlag() == null) {
            transfer.setDeliveryFlag(false);
        }
        transferMapper.insert(transfer);
        return transfer.getId();
    }
@@ -72,6 +76,10 @@
        // 更新
        MesWmTransferDO updateObj = BeanUtils.toBean(updateReqVO, MesWmTransferDO.class);
        // 内部调拨(或未选择配送模式)时前端不传“是否配送”,统一按非配送处理,避免必填校验拦截
        if (updateObj.getDeliveryFlag() == null) {
            updateObj.setDeliveryFlag(false);
        }
        transferMapper.updateById(updateObj);
    }