gaoluyang
5 天以前 a0b4de611e3b1986b2713c6a161cc1613ec31a5b
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java
@@ -106,6 +106,7 @@
    ErrorCode MD_PRODUCT_BOM_SELF_REFERENCE = new ErrorCode(1_040_107_001, "产品不能作为自身的BOM物料");
    ErrorCode MD_PRODUCT_BOM_CIRCULAR = new ErrorCode(1_040_107_002, "BOM物料存在闭环,无法新增");
    ErrorCode MD_PRODUCT_BOM_ITEM_INVALID = new ErrorCode(1_040_107_003, "选择的 BOM 物料不属于当前产品");
    ErrorCode MD_PRODUCT_BOM_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_040_107_004, "导入的 BOM 数据不能为空");
    // ========== MES 基础数据-产品SOP(1-040-108-000) ==========
    ErrorCode MD_PRODUCT_SOP_NOT_EXISTS = new ErrorCode(1_040_108_000, "产品SOP不存在");
@@ -358,6 +359,8 @@
            "工单已开启报工审批,但未配置审批流程,请先为工单配置流程后再提交报工");
    ErrorCode PRO_FEEDBACK_APPROVAL_PROCESS_KEY_INVALID = new ErrorCode(1_040_506_022,
            "工单配置的报工审批流程未激活或不属于报工审批分类,请检查工单审批配置");
    ErrorCode PRO_FEEDBACK_APPROVAL_HANDLE_IN_BPM = new ErrorCode(1_040_506_023,
            "该报工单已发起审批流程,不能在报工页面直接通过或拒绝;请审批人前往「待办任务」处理该流程,流程结束后报工状态会自动更新");
    // ========== MES 生产管理-辅助工时配置(1-040-510-000) ==========
    ErrorCode PRO_WORKTIME_AUX_NOT_EXISTS = new ErrorCode(1_040_510_000, "辅助工时项目不存在");
@@ -509,6 +512,11 @@
    ErrorCode QC_NCR_DISPOSE_STATUS_INVALID = new ErrorCode(1_040_609_007, "不合格品处理单[{}]当前状态为[{}],只有审批通过后的[已评审]状态才可执行处置;请先提交审批并等待审批通过");
    ErrorCode QC_NCR_DISPOSITION_REQUIRED = new ErrorCode(1_040_609_008, "处置方式不能为空,请从[让步放行、返修、返工、报废]中选择一项");
    ErrorCode QC_NCR_DISPOSITION_INVALID = new ErrorCode(1_040_609_009, "处置方式[{}]不在允许范围内,请从[让步放行、返修、返工、报废]中选择一项");
    ErrorCode QC_NCR_DISPOSE_STORAGE_REQUIRED = new ErrorCode(1_040_609_011, "处置方式[{}]需要入库到指定库位:当前仓库[{}]、库区[{}]、库位[{}]未选全,请回到处置弹窗补选缺失项后重新提交");
    ErrorCode QC_NCR_DISPOSE_BATCH_REQUIRED = new ErrorCode(1_040_609_012, "物料[{}]启用了批次管理,处置方式[{}]入库时必须填写批次号;请在处置弹窗的[批次号]中填写后重试");
    ErrorCode QC_NCR_DISPOSE_QUANTITY_INVALID = new ErrorCode(1_040_609_013, "不合格数量[{}]必须大于 0 才能生成入库单/生产订单,请先在检验单中修正不合格数量");
    ErrorCode QC_NCR_DISPOSE_STORAGE_DISABLED = new ErrorCode(1_040_609_014, "处置方式[{}]所选库位[{}]不可用:仓库[{}]、库区[{}]与库位[{}]的归属关系不一致,请回到处置弹窗重新选择仓库/库区/库位");
    ErrorCode QC_NCR_DISPOSE_PRODUCT_NOT_EXISTS = new ErrorCode(1_040_609_015, "物料[{}]在 MES 产品主数据中不存在(MDM 物料 ID={}),无法生成返工/返修生产订单;请先在[物料产品]中维护该产品后再处置");
    // ========== MES 仓库管理-仓库(1-040-700-000) ==========
    ErrorCode WM_WAREHOUSE_NOT_EXISTS = new ErrorCode(1_040_700_000, "仓库不存在");
@@ -582,6 +590,9 @@
    ErrorCode WM_ARRIVAL_NOTICE_NO_LINE = new ErrorCode(1_040_704_006, "至少需要一条行项目");
    ErrorCode WM_ARRIVAL_NOTICE_VENDOR_MISMATCH = new ErrorCode(1_040_704_007, "到货通知单的供应商与当前单据不一致");
    ErrorCode WM_ARRIVAL_NOTICE_ALREADY_EXISTS = new ErrorCode(1_040_704_008, "该采购订单已生成到货通知单,不能重复生成");
    ErrorCode WM_ARRIVAL_NOTICE_NO_IQC_LINE = new ErrorCode(1_040_704_009, "到货通知单没有需要检验的明细行,无需生成来料检验单");
    ErrorCode WM_ARRIVAL_NOTICE_IQC_ALREADY_CREATED = new ErrorCode(1_040_704_010, "到货通知单的需检行已全部生成来料检验单");
    ErrorCode WM_ARRIVAL_NOTICE_IQC_CREATE_FAILED = new ErrorCode(1_040_704_011, "生成来料检验单失败");
    ErrorCode WM_ARRIVAL_NOTICE_LINE_NOT_EXISTS = new ErrorCode(1_040_704_100, "到货通知单行不存在");
    ErrorCode WM_ARRIVAL_NOTICE_LINE_NOT_MATCH = new ErrorCode(1_040_704_101, "到货通知单行不属于指定的到货通知单");
@@ -605,6 +616,12 @@
    ErrorCode WM_ITEM_RECEIPT_DETAIL_NOT_EXISTS = new ErrorCode(1_040_705_200, "采购入库明细不存在");
    ErrorCode WM_ITEM_RECEIPT_DETAIL_QUANTITY_EXCEED = new ErrorCode(1_040_705_202, "上架明细总数量不能超过行入库数量");
    ErrorCode WM_ITEM_RECEIPT_BATCH_REQUIRED = new ErrorCode(1_040_705_203, "物料【{}-{}】已开启批次管理,上架明细的批次号不能为空");
    ErrorCode WM_ITEM_RECEIPT_CONFIRM_STATUS_ERROR = new ErrorCode(1_040_705_009, "采购入库单当前状态不允许确认入库");
    ErrorCode WM_ITEM_RECEIPT_CONFIRM_LOCATION_REQUIRED = new ErrorCode(1_040_705_010, "确认入库必须选择入库仓库、库区和库位");
    ErrorCode WM_ITEM_RECEIPT_CONFIRM_LOCATION_MISMATCH = new ErrorCode(1_040_705_011, "入库仓库、库区、库位的层级不匹配");
    ErrorCode WM_ITEM_RECEIPT_CONFIRM_QUANTITY_INVALID = new ErrorCode(1_040_705_013, "入库数量必须大于 0");
    ErrorCode WM_ITEM_RECEIPT_CONFIRM_BATCH_GENERATE_FAILED = new ErrorCode(1_040_705_014, "生成物料批次失败");
    ErrorCode WM_ITEM_RECEIPT_CONFIRM_DETAIL_MISSING = new ErrorCode(1_040_705_015, "旧流程的待执行入库单缺少上架明细");
    // ========== MES 仓库管理-领料申请单(1-040-706-000) ==========
    ErrorCode WM_MATERIAL_REQUEST_NOT_EXISTS = new ErrorCode(1_040_706_000, "领料申请单不存在");
@@ -858,6 +875,10 @@
    ErrorCode WM_SALES_NOTICE_ALREADY_EXISTS = new ErrorCode(1_040_720_015, "该销售订单已生成发货通知单,不能重复生成");
    ErrorCode WM_SALES_NOTICE_SUBMIT_PROCESS_KEY_REQUIRED = new ErrorCode(1_040_720_020, "提交发货审批前必须选择审批流程:未传流程定义 Key");
    ErrorCode WM_SALES_NOTICE_BPM_PROCESS_DEFINITION_NOT_EXISTS = new ErrorCode(1_040_720_021, "发货审批流程未配置:请先在「流程管理」中设计并启用「发货审批」流程,再提交发货单");
    ErrorCode WM_SALES_NOTICE_BPM_PROCESS_DEFINITION_NOT_IN_CATEGORY = new ErrorCode(1_040_720_024,
            "所选审批流程[{}]不属于「发货审批」分类,不能用于发货单审批;请在提交时选择发货审批分类下的流程");
    ErrorCode WM_SALES_NOTICE_BPM_PROCESS_KEY_INVALID = new ErrorCode(1_040_720_025,
            "所选审批流程 Key[{}] 不存在或已停用,请重新选择「发货审批」分类下已启用的流程");
    ErrorCode WM_SALES_NOTICE_UPDATE_AUDIT_STATUS_FAIL_NOT_APPROVING = new ErrorCode(1_040_720_022, "发货单({})当前状态为[{}],不处于审批中,无法更新审批结果");
    ErrorCode WM_SALES_NOTICE_STATUS_NOT_ALLOW_SUBMIT = new ErrorCode(1_040_720_023, "只有草稿状态的发货通知单才能提交审批");