2 天以前 1ba0dbfde5634c8bf2ec20891d6b226b996f6b59
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java
@@ -9,6 +9,16 @@
 */
public interface ErrorCodeConstants {
    // ========== MES 生产管理-扫码入库(1-040-755-000) ==========
    ErrorCode PRO_SCAN_EVENT_BAG_NOT_EXISTS = new ErrorCode(1_040_755_000, "袋码不存在");
    ErrorCode PRO_SCAN_EVENT_ALREADY_INBOUND = new ErrorCode(1_040_755_001, "袋码已入库");
    ErrorCode PRO_SCAN_EVENT_BATCH_NOT_EXISTS = new ErrorCode(1_040_755_002, "生产批次不存在");
    ErrorCode PRO_SCAN_EVENT_WIP_WAREHOUSE_NOT_EXISTS = new ErrorCode(1_040_755_003, "WIP虚拟仓不存在");
    ErrorCode PRO_SCAN_EVENT_LOCATION_INVALID = new ErrorCode(1_040_755_004, "扫码入库库位无效");
    ErrorCode PRO_SCAN_EVENT_TRANSACTION_FAILED = new ErrorCode(1_040_755_005, "库存事务处理失败");
    ErrorCode PRO_SCAN_EVENT_ID_CONFLICT = new ErrorCode(1_040_755_006, "事件号已存在但内容不一致");
    ErrorCode PRO_SCAN_EVENT_FAILED = new ErrorCode(1_040_755_007, "扫码入库失败");
    // ========== MES 基础数据-物料分类(1-040-100-000) ==========
    ErrorCode MD_ITEM_TYPE_NOT_EXISTS = new ErrorCode(1_040_100_000, "物料分类不存在");
    ErrorCode MD_ITEM_TYPE_EXITS_CHILDREN = new ErrorCode(1_040_100_001, "存在子分类,无法删除");
@@ -445,6 +455,8 @@
    ErrorCode WM_WAREHOUSE_HAS_WORKSTATION = new ErrorCode(1_040_700_004, "仓库已被工作站引用,无法删除");
    ErrorCode WM_WAREHOUSE_HAS_MATERIAL_STOCK = new ErrorCode(1_040_700_005, "仓库下有库存记录,无法删除");
    ErrorCode WM_WAREHOUSE_IS_VIRTUAL = new ErrorCode(1_040_700_006, "虚拟仓库不允许操作");
    ErrorCode WM_WAREHOUSE_TYPE_NOT_QUALIFIED = new ErrorCode(1_040_700_007, "所选仓库不是合格库");
    ErrorCode WM_QUALIFIED_WAREHOUSE_NOT_CONFIGURED = new ErrorCode(1_040_700_008, "未配置合格库,请先在仓库管理中创建并设置仓库类型为合格库");
    // ========== MES 仓库管理-库区(1-040-701-000) ==========
    ErrorCode WM_WAREHOUSE_LOCATION_NOT_EXISTS = new ErrorCode(1_040_701_000, "库区不存在");
@@ -486,6 +498,12 @@
    ErrorCode WM_MATERIAL_STOCK_SELECTION_MISMATCH = new ErrorCode(1_040_703_014, "库存记录与提交的物料、批次或库位信息不一致");
    ErrorCode WM_MATERIAL_STOCK_QUANTITY_INVALID = new ErrorCode(1_040_703_015, "调整数量不能为空或零");
    ErrorCode WM_MATERIAL_STOCK_FROZEN = new ErrorCode(1_040_703_016, "库存记录已冻结,无法移库");
    ErrorCode WM_MATERIAL_STOCK_NOT_QUALIFIED = new ErrorCode(1_040_703_017, "非合格库存不可出库");
    ErrorCode WM_MATERIAL_STOCK_BAG_NOT_EXISTS = new ErrorCode(1_040_703_018, "库存袋码明细不存在");
    ErrorCode WM_MATERIAL_STOCK_BAG_DUPLICATE = new ErrorCode(1_040_703_019, "袋码({})已在库,禁止重复入库");
    ErrorCode WM_MATERIAL_STOCK_BAG_NOT_ACTIVE = new ErrorCode(1_040_703_020, "袋码({})不在库或已出库/报废,无法操作");
    ErrorCode WM_MATERIAL_STOCK_BAG_REQUIRED = new ErrorCode(1_040_703_021, "该物料启用袋码管理,必须携带袋码");
    ErrorCode WM_MATERIAL_STOCK_BAG_INSUFFICIENT = new ErrorCode(1_040_703_022, "在库袋码明细数量不足,无法出库");
    // ========== MES 仓库管理-到货通知单(1-040-704-000) ==========
    ErrorCode WM_ARRIVAL_NOTICE_NOT_EXISTS = new ErrorCode(1_040_704_000, "到货通知单不存在");
@@ -672,6 +690,8 @@
    ErrorCode WM_STOCK_TAKING_TASK_RESULT_NOT_EXISTS = new ErrorCode(1_040_714_119, "盘点结果不存在");
    ErrorCode WM_STOCK_TAKING_TASK_LINE_ALREADY_TAKEN = new ErrorCode(1_040_714_120, "该盘点清单行已有盘点记录,不能重复盘点");
    ErrorCode WM_STOCK_TAKING_TASK_NOT_FINISHED = new ErrorCode(1_040_714_121, "只有已完成状态的盘点任务才能处理差异");
    ErrorCode WM_STOCK_TAKING_TASK_SCAN_BATCH_NOT_FOUND = new ErrorCode(1_040_714_122, "盘点扫码未定位到对应批次,请核对追溯码");
    ErrorCode WM_STOCK_TAKING_TASK_SCAN_BATCH_NOT_IN_TASK = new ErrorCode(1_040_714_123, "扫码批次不在盘点任务范围内");
    // ========== MES 仓库管理-销售出库单(1-040-714-000) ==========
    ErrorCode WM_PRODUCT_SALES_NOT_EXISTS = new ErrorCode(1_040_714_000, "销售出库单不存在");
@@ -706,6 +726,18 @@
    ErrorCode WM_PRODUCT_SALES_LINE_NOTICE_LINE_OQC_MISMATCH = new ErrorCode(1_040_714_033,
            "出库行 OQC 检验标识与发货通知单行不一致");
    // ========== MES 销售出库-扫码拣货(1-040-714-100) ==========
    ErrorCode WM_PRODUCT_SALES_SCAN_BAG_NOT_EXISTS = new ErrorCode(1_040_714_100, "扫描的袋码不存在或已作废");
    ErrorCode WM_PRODUCT_SALES_SCAN_PALLET_NOT_EXISTS = new ErrorCode(1_040_714_101, "扫描的托盘码不存在或已作废");
    ErrorCode WM_PRODUCT_SALES_SCAN_PALLET_NOT_BOUND = new ErrorCode(1_040_714_102, "扫描的托盘码未绑定任何袋码,无法出库");
    ErrorCode WM_PRODUCT_SALES_SCAN_BAG_NOT_INBOUND = new ErrorCode(1_040_714_103, "袋码尚未入库,无法出库");
    ErrorCode WM_PRODUCT_SALES_SCAN_BAG_NO_BATCH = new ErrorCode(1_040_714_104, "袋码无关联生产批次,无法出库");
    ErrorCode WM_PRODUCT_SALES_SCAN_STOCK_NOT_FOUND = new ErrorCode(1_040_714_105, "扫描批次在合格库中未找到对应库存记录");
    ErrorCode WM_PRODUCT_SALES_SCAN_NO_MATCH_LINE = new ErrorCode(1_040_714_106, "出库单中没有与该物料/批次匹配的行");
    ErrorCode WM_PRODUCT_SALES_SCAN_BAG_ALREADY_SCANNED = new ErrorCode(1_040_714_107, "该袋码已扫描出库,请勿重复扫描");
    ErrorCode WM_PRODUCT_SALES_SCAN_BAG_NOT_QUALIFIED = new ErrorCode(1_040_714_108, "该袋码未质检合格,禁止出库");
    ErrorCode WM_PRODUCT_SALES_SCAN_PALLET_NOT_ALL_QUALIFIED = new ErrorCode(1_040_714_109, "托盘下存在未质检袋码,禁止整托出库");
    // ========== MES 仓库管理-杂项出库单(1-040-715-000) ==========
    ErrorCode WM_MISC_ISSUE_NOT_EXISTS = new ErrorCode(1_040_715_000, "杂项出库单不存在");
    ErrorCode WM_MISC_ISSUE_CODE_DUPLICATE = new ErrorCode(1_040_715_001, "杂项出库单编码已存在");
@@ -738,9 +770,6 @@
    ErrorCode WM_SALES_NOTICE_LINE_NOT_EXISTS = new ErrorCode(1_040_720_010, "发货通知单行不存在");
    ErrorCode WM_SALES_NOTICE_LINE_EMPTY = new ErrorCode(1_040_720_011, "发货通知单行为空,不能提交");
    ErrorCode WM_SALES_NOTICE_LINE_NOT_MATCH = new ErrorCode(1_040_720_012, "发货通知单行不属于指定的发货通知单");
    ErrorCode WM_SALES_NOTICE_SALE_ORDER_NOT_EXISTS = new ErrorCode(1_040_720_013, "销售订单不存在");
    ErrorCode WM_SALES_NOTICE_SALE_ORDER_ITEM_EMPTY = new ErrorCode(1_040_720_014, "销售订单明细为空");
    ErrorCode WM_SALES_NOTICE_ALREADY_EXISTS = new ErrorCode(1_040_720_015, "该销售订单已生成发货通知单,不能重复生成");
    // ========== MES 仓库管理-条码配置(1-040-730-000) ==========
    ErrorCode WM_BARCODE_CONFIG_NOT_EXISTS = new ErrorCode(1_040_730_000, "条码配置不存在");
@@ -766,6 +795,9 @@
    ErrorCode WM_PACKAGE_CHILD_NOT_FINISHED = new ErrorCode(1_040_740_007, "子箱必须是已完成状态才能添加");
    ErrorCode WM_PACKAGE_HAS_CHILDREN = new ErrorCode(1_040_740_008, "存在子箱,不允许删除");
    ErrorCode WM_PACKAGE_LINE_NOT_EXISTS = new ErrorCode(1_040_740_100, "装箱明细不存在");
    // ========== MES 仓库管理-库存预警(1-040-756-000) ==========
    ErrorCode WM_STOCK_WARNING_NOT_EXISTS = new ErrorCode(1_040_756_000, "库存预警记录不存在");
    // ========== MES 产品设计-设计项目(1-040-800-000) ==========
    ErrorCode PD_PROJECT_NOT_EXISTS = new ErrorCode(1_040_800_000, "设计项目不存在");
@@ -809,6 +841,8 @@
    ErrorCode PRO_QR_EXPORT_TOO_MANY = new ErrorCode(1_040_750_007, "二维码批量导出数量超过上限");
    ErrorCode PRO_QR_IMAGE_GENERATE_ERROR = new ErrorCode(1_040_750_008, "二维码图片生成失败");
    ErrorCode PRO_QR_EXPORT_PARAMS_INVALID = new ErrorCode(1_040_750_009, "二维码批量导出缺少查询条件");
    ErrorCode PRO_BATCH_ALREADY_FILLED = new ErrorCode(1_040_750_012, "生产批次已补录正式信息,不允许重复补录");
    ErrorCode PRO_BATCH_NOT_FILLED = new ErrorCode(1_040_750_013, "生产批次尚未补录正式信息");
    // ========== MES 生产管理-袋码赋码(1-040-752-000) ==========
    ErrorCode PRO_BAG_CODE_NOT_EXISTS = new ErrorCode(1_040_752_000, "袋码不存在");
@@ -818,11 +852,19 @@
    ErrorCode PRO_BAG_CODE_BIND_PALLET_BOUND = new ErrorCode(1_040_752_004, "存在已绑定托盘的袋码,请先解绑");
    ErrorCode PRO_BAG_CODE_UUID_NOT_EXISTS = new ErrorCode(1_040_752_005, "袋码生成组不存在");
    ErrorCode PRO_BAG_CODE_BIND_PALLET_OVER_CAPACITY = new ErrorCode(1_040_752_006, "绑定后袋码数量超过托盘可装袋数");
    ErrorCode PRO_BAG_CODE_REPLACE_BATCH_STATUS_INVALID = new ErrorCode(1_040_752_007, "生产批次状态不允许破损袋码替换");
    ErrorCode PRO_BAG_CODE_REPLACE_BATCH_MISMATCH = new ErrorCode(1_040_752_008, "待替换袋码不属于指定生产批次");
    ErrorCode PRO_BAG_CODE_REPLACE_ALREADY_REPLACED = new ErrorCode(1_040_752_009, "袋码已完成替换,不允许重复替换");
    ErrorCode PRO_BAG_CODE_REPLACE_STATUS_INVALID = new ErrorCode(1_040_752_010, "袋码状态不允许破损替换");
    ErrorCode PRO_BAG_CODE_REPLACE_PALLET_INVALID = new ErrorCode(1_040_752_011, "袋码原托盘不存在或已作废,不允许继承");
    // ========== MES 生产管理-托盘码(1-040-753-000) ==========
    ErrorCode PRO_PALLET_NOT_EXISTS = new ErrorCode(1_040_753_000, "托盘码不存在");
    ErrorCode PRO_PALLET_HAS_BAG_NOT_DELETE = new ErrorCode(1_040_753_001, "托盘码已绑定袋码,不允许删除");
    ErrorCode PRO_PALLET_GENERATE_COUNT_INVALID = new ErrorCode(1_040_753_002, "托盘码生成数量必须大于 0");
    ErrorCode PRO_PALLET_ALREADY_BIND_BATCH = new ErrorCode(1_040_753_003, "托盘已绑定生产批次或已生成正式托盘码,不允许重复绑定");
    ErrorCode PRO_PALLET_BIND_IDS_EMPTY = new ErrorCode(1_040_753_004, "待绑定批次的托盘编号列表不能为空");
    ErrorCode PRO_PALLET_NOT_BIND_BATCH = new ErrorCode(1_040_753_005, "托盘尚未绑定生产批次");
    // ========== MES 生产管理-产线维护(1-040-754-000) ==========
    ErrorCode PRO_LINE_NOT_EXISTS = new ErrorCode(1_040_754_000, "产线不存在");
@@ -839,4 +881,18 @@
    ErrorCode WMS_APPROVAL_STATUS_INVALID = new ErrorCode(1_040_900_004, "单据状态不正确,无法提交审批");
    ErrorCode WMS_APPROVAL_ALREADY_SUBMITTED = new ErrorCode(1_040_900_005, "单据已提交审批,请勿重复提交");
    // ========== MES 公开扫码溯源(1-040-760-000) ==========
    ErrorCode MES_TRACE_CODE_NOT_FOUND = new ErrorCode(1_040_760_000, "未查询到该追溯码,请核对二维码或联系官方");
    // ========== MES 防伪防窜货-窜货预警(1-040-761-000) ==========
    ErrorCode MES_TRACE_CROSS_REGION_WARNING_NOT_EXISTS = new ErrorCode(1_040_761_000, "窜货预警记录不存在");
    ErrorCode MES_TRACE_CROSS_REGION_STATUS_INVALID = new ErrorCode(1_040_761_001, "窜货预警状态无效,仅待处理预警可处理");
    ErrorCode MES_TRACE_ANTI_CONFIG_NOT_EXISTS = new ErrorCode(1_040_761_002, "防窜货规则配置不存在");
    ErrorCode MES_TRACE_ANTI_CONFIG_VALUE_INVALID = new ErrorCode(1_040_761_003, "防窜货规则配置值无效,仅支持 PROVINCE/CITY");
    // ========== MES 防伪防窜货-数据完整性(1-040-762-000) ==========
    ErrorCode MES_TRACE_INTEGRITY_RECORD_NOT_EXISTS = new ErrorCode(1_040_762_000, "数据完整性记录不存在,请先对业务数据生成摘要");
    ErrorCode MES_TRACE_INTEGRITY_BIZ_TYPE_INVALID = new ErrorCode(1_040_762_001, "数据完整性业务类型无效,仅支持 BATCH/SALES/SCAN");
    ErrorCode MES_TRACE_INTEGRITY_BIZ_NOT_EXISTS = new ErrorCode(1_040_762_002, "待校验的业务数据不存在");
}