3 天以前 b852254d90e7d1955db31db154193ec8ee84d8b3
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java
@@ -135,6 +135,9 @@
    ErrorCode CAL_TEAM_SHIFT_NOT_EXISTS = new ErrorCode(1_040_201_200, "班组排班记录不存在");
    ErrorCode CAL_TEAM_SHIFT_GENERATE_TEAM_NOT_ENOUGH = new ErrorCode(1_040_201_201, "班组数量不满足轮班方式要求");
    ErrorCode CAL_TEAM_SHIFT_GENERATE_SHIFT_NOT_ENOUGH = new ErrorCode(1_040_201_202, "班次数量不满足轮班方式要求");
    // ========== MES 日历排班-员工级排班明细(1-040-201-300) ==========
    ErrorCode CAL_SCHEDULE_DETAIL_NOT_EXISTS = new ErrorCode(1_040_201_300, "员工排班明细不存在");
    ErrorCode CAL_SCHEDULE_DETAIL_GENERATE_TEAM_MEMBER_EMPTY = new ErrorCode(1_040_201_301, "该计划参与的班组均无班组成员,无法生成员工排班明细");
    // ========== MES 日历排班-排班计划(1-040-202-000) ==========
    ErrorCode CAL_PLAN_NOT_EXISTS = new ErrorCode(1_040_202_000, "排班计划不存在");
@@ -168,6 +171,8 @@
    ErrorCode DV_MACHINERY_HAS_MAINTEN_RECORD = new ErrorCode(1_040_301_005, "设备已关联保养记录,无法删除");
    ErrorCode DV_MACHINERY_HAS_REPAIR = new ErrorCode(1_040_301_006, "设备已关联维修工单,无法删除");
    ErrorCode DV_MACHINERY_WORKSTATION_NOT_EXISTS = new ErrorCode(1_040_301_008, "工作站编码不存在");
    ErrorCode DV_MACHINERY_HAS_ITEM = new ErrorCode(1_040_301_009, "设备已自动生成物料并入设备仓,禁止删除;如需移除请通过库存调整先处理库存");
    ErrorCode DV_MACHINERY_EQUIP_MASTER_MISSING = new ErrorCode(1_040_301_010, "设备入库联动所需主数据未初始化(设备仓或“设备”分类/“台”计量单位缺失),请联系管理员初始化");
    // ========== MES 设备管理-设备数采(1-040-308-000) ==========
    ErrorCode DV_TELEMETRY_NOT_EXISTS = new ErrorCode(1_040_308_000, "数采遥测数据不存在");
@@ -265,6 +270,7 @@
    // ========== MES 生产管理-工艺路线产品(1-040-501-200) ==========
    ErrorCode PRO_ROUTE_PRODUCT_NOT_EXISTS = new ErrorCode(1_040_501_200, "工艺路线产品不存在");
    ErrorCode PRO_ROUTE_PRODUCT_ITEM_DUPLICATE = new ErrorCode(1_040_501_201, "此产品已配置了工艺路线");
    ErrorCode PRO_ROUTE_PRODUCT_ITEM_TYPE_INVALID = new ErrorCode(1_040_501_202, "工艺路线只能关联产品类型物料");
    // ========== MES 生产管理-工艺路线产品BOM(1-040-501-300) ==========
    ErrorCode PRO_ROUTE_PRODUCT_BOM_NOT_EXISTS = new ErrorCode(1_040_501_300, "工艺路线产品 BOM 不存在");
    ErrorCode PRO_ROUTE_PRODUCT_BOM_DUPLICATE = new ErrorCode(1_040_501_301, "当前 BOM 物料在此工序已经配置过");
@@ -274,6 +280,7 @@
    ErrorCode PRO_WORK_ORDER_CODE_DUPLICATE = new ErrorCode(1_040_502_001, "生产工单编码已存在");
    ErrorCode PRO_WORK_ORDER_NOT_PREPARE = new ErrorCode(1_040_502_002, "只有草稿状态的工单才能执行此操作");
    ErrorCode PRO_WORK_ORDER_NOT_CONFIRMED = new ErrorCode(1_040_502_003, "只有已确认状态的工单才能执行此操作");
    ErrorCode PRO_WORK_ORDER_PRODUCTION_NOT_COMPLETE = new ErrorCode(1_040_502_007, "工单实际产出未达到计划数量,不能完成");
    ErrorCode PRO_WORK_ORDER_HAS_CHILDREN = new ErrorCode(1_040_502_004, "存在子工单,无法删除");
    ErrorCode PRO_WORK_ORDER_PRODUCT_MISMATCH = new ErrorCode(1_040_502_005, "当前产品物料与生产工单产品不一致");
    ErrorCode PRO_WORK_ORDER_SCHEDULE_QUANTITY_EXCEED = new ErrorCode(1_040_502_006, "排产数量超限:工单{}(计划{},已排产{},本次排产{})");
@@ -356,6 +363,7 @@
    ErrorCode PRO_MPS_CODE_DUPLICATE = new ErrorCode(1_040_509_006, "MPS 编码已存在");
    ErrorCode PRO_MPS_HAS_WORK_ORDER = new ErrorCode(1_040_509_007, "MPS 已关联生产工单,无法删除");
    ErrorCode PRO_MPS_MES_PRODUCT_NOT_EXISTS = new ErrorCode(1_040_509_008, "MES 产品不存在,无法创建 MPS,产品:{}");
    ErrorCode PRO_MPS_PRODUCT_TYPE_INVALID = new ErrorCode(1_040_509_009, "排程产品必须是产品类型,禁止使用物料");
    // ========== MES 质量管理-质检方案(1-040-600-000) ==========
    ErrorCode QC_TEMPLATE_NOT_EXISTS = new ErrorCode(1_040_600_000, "质检方案不存在");
@@ -666,6 +674,9 @@
    ErrorCode WM_STOCK_TAKING_PLAN_PARAM_NOT_EXISTS = new ErrorCode(1_040_714_104, "盘点方案参数不存在");
    ErrorCode WM_STOCK_TAKING_PLAN_PARAM_EMPTY = new ErrorCode(1_040_714_105, "盘点方案参数不能为空,请先配置盘点参数");
    ErrorCode WM_STOCK_TAKING_PLAN_DYNAMIC_TIME_INVALID = new ErrorCode(1_040_714_106, "动态盘点方案必须设置开始时间和结束时间,且结束时间必须晚于开始时间");
    ErrorCode WM_STOCK_TAKING_PLAN_AUTO_GENERATE_CRON_REQUIRED = new ErrorCode(1_040_714_107, "开启定期自动生成时必须配置生成周期 cron 表达式");
    ErrorCode WM_STOCK_TAKING_PLAN_AUTO_GENERATE_CRON_INVALID = new ErrorCode(1_040_714_108, "生成周期 cron 表达式不合法");
    ErrorCode WM_STOCK_TAKING_PLAN_NOT_AUTO_GENERATE = new ErrorCode(1_040_714_109, "该盘点方案未开启定期自动生成");
    ErrorCode WM_STOCK_TAKING_TASK_NOT_EXISTS = new ErrorCode(1_040_714_110, "盘点任务不存在");
    ErrorCode WM_STOCK_TAKING_TASK_CODE_DUPLICATE = new ErrorCode(1_040_714_111, "盘点任务编码已存在");
    ErrorCode WM_STOCK_TAKING_TASK_NOT_PREPARE = new ErrorCode(1_040_714_112, "只有草稿状态的盘点任务才允许此操作");
@@ -678,6 +689,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_NO_RESULT = new ErrorCode(1_040_714_122, "盘点任务至少需要一条盘点结果才允许提交结果审批");
    ErrorCode WM_STOCK_TAKING_TASK_ALREADY_SUBMIT_APPROVAL = new ErrorCode(1_040_714_123, "盘点结果审批已提交,请勿重复提交");
    // ========== MES 仓库管理-销售出库单(1-040-714-000) ==========
    ErrorCode WM_PRODUCT_SALES_NOT_EXISTS = new ErrorCode(1_040_714_000, "销售出库单不存在");
@@ -760,6 +773,27 @@
    ErrorCode BARCODE_BIZ_TYPE_NOT_EXISTS = new ErrorCode(1_040_731_003, "业务类型不能为空");
    ErrorCode BARCODE_BIZ_CODE_NOT_EXISTS = new ErrorCode(1_040_731_004, "业务编码不能为空");
    ErrorCode BARCODE_CONFIG_NOT_EXISTS = new ErrorCode(1_040_731_005, "条码配置不存在");
    ErrorCode BARCODE_FORMAT_INVALID = new ErrorCode(1_040_731_006, "条码格式不支持渲染");
    ErrorCode BARCODE_CONTENT_EMPTY = new ErrorCode(1_040_731_007, "条码内容不能为空");
    // ========== MES 仓库管理-SN 码(1-040-732-000) ==========
    ErrorCode WM_SN_NOT_EXISTS = new ErrorCode(1_040_732_000, "SN 码不存在");
    ErrorCode WM_SN_ITEM_NOT_SERIAL = new ErrorCode(1_040_732_001, "物料未启用序列号管理,无法登记 SN");
    ErrorCode WM_SN_ALREADY_IN_STOCK = new ErrorCode(1_040_732_002, "SN 已在库,请先出库再登记入库");
    ErrorCode WM_SN_NOT_IN_STOCK = new ErrorCode(1_040_732_003, "SN 不在库,无法出库");
    ErrorCode WM_SN_ITEM_MISMATCH = new ErrorCode(1_040_732_004, "SN 与物料不匹配");
    ErrorCode WM_SN_LOCATION_MISMATCH = new ErrorCode(1_040_732_005, "SN 不在指定库位在库,无法出库");
    // ========== MES 设备入库单(1-040-733-000) ==========
    ErrorCode WM_EQUIP_RECEIPT_NOT_EXISTS = new ErrorCode(1_040_733_000, "设备入库单不存在");
    ErrorCode WM_EQUIP_RECEIPT_CODE_DUPLICATE = new ErrorCode(1_040_733_001, "设备入库单编码已存在");
    ErrorCode WM_EQUIP_RECEIPT_STATUS_NOT_PREPARE = new ErrorCode(1_040_733_002, "只有草稿状态才允许此操作");
    ErrorCode WM_EQUIP_RECEIPT_STATUS_NOT_APPROVED = new ErrorCode(1_040_733_003, "只有已审批状态才允许执行入库");
    ErrorCode WM_EQUIP_RECEIPT_NO_LINE = new ErrorCode(1_040_733_004, "至少需要一条行项目");
    ErrorCode WM_EQUIP_RECEIPT_CANCEL_NOT_ALLOWED = new ErrorCode(1_040_733_005, "已完成或已取消的入库单不允许取消");
    ErrorCode WM_EQUIP_RECEIPT_LINE_NOT_EXISTS = new ErrorCode(1_040_733_100, "设备入库单行不存在");
    ErrorCode WM_EQUIP_RECEIPT_MACHINERY_NOT_VALID = new ErrorCode(1_040_733_101, "所选设备未关联物料,无法入库");
    ErrorCode WM_EQUIP_RECEIPT_QUANTITY_INVALID = new ErrorCode(1_040_733_102, "入库数量必须大于 0");
    // ========== MES 仓库管理-装箱单(1-040-740-000) ==========
    ErrorCode WM_PACKAGE_NOT_EXISTS = new ErrorCode(1_040_740_000, "装箱单不存在");