package cn.iocoder.yudao.module.qcreport.enums; import cn.iocoder.yudao.framework.common.exception.ErrorCode; /** * qcreport 智能质检报告设计平台 错误码枚举类 *

* qcreport 系统,使用 1-070-000-000 段 */ public interface ErrorCodeConstants { // ========== 报告模板(1-070-100-000) ========== ErrorCode TEMPLATE_NOT_EXISTS = new ErrorCode(1_070_100_000, "报告模板不存在"); ErrorCode TEMPLATE_CODE_DUPLICATE = new ErrorCode(1_070_100_001, "报告模板编码已存在"); ErrorCode TEMPLATE_STATUS_DISABLED = new ErrorCode(1_070_100_002, "报告模板已停用,无法执行该操作"); // ========== 模板版本(1-070-101-000) ========== ErrorCode TEMPLATE_VERSION_NOT_EXISTS = new ErrorCode(1_070_101_000, "模板版本不存在"); ErrorCode TEMPLATE_VERSION_DUPLICATE = new ErrorCode(1_070_101_001, "该版本号已存在,请使用新的版本号"); ErrorCode TEMPLATE_VERSION_PUBLISHED_CANNOT_MODIFY = new ErrorCode(1_070_101_002, "模板版本已发布,不允许修改,请创建新版本"); ErrorCode TEMPLATE_VERSION_NOT_PUBLISHED = new ErrorCode(1_070_101_003, "模板版本未发布,无法生成报告"); ErrorCode TEMPLATE_VERSION_SCHEMA_INVALID = new ErrorCode(1_070_101_004, "模板 Schema 格式不正确,请检查设计器保存的模板内容"); ErrorCode TEMPLATE_VERSION_SCHEMA_EMPTY = new ErrorCode(1_070_101_005, "模板 Schema 为空,请先在设计器中设计模板内容并保存,再发布版本"); ErrorCode TEMPLATE_VERSION_RULE_INVALID = new ErrorCode(1_070_101_006, "模板里的判定规则不合法,请修改后重试"); ErrorCode TEMPLATE_NO_PUBLISHED_VERSION = new ErrorCode(1_070_101_007, "该模板还没有已发布的版本,无法生成报告,请先在设计器中发布一个版本"); ErrorCode TEMPLATE_VERSION_CANVAS_EMPTY = new ErrorCode(1_070_101_008, "该模板版本没有画布内容,无法生成报告,请先在设计器中设计并保存模板内容"); ErrorCode TEMPLATE_VERSION_CANVAS_UNSAFE = new ErrorCode(1_070_101_009, "模板画布里有不允许出现的内容,已拒绝保存:{}。请在设计器中删掉这些内容后重新保存"); ErrorCode TEMPLATE_VERSION_CURRENT_CANNOT_DISABLE = new ErrorCode(1_070_101_010, "版本「{}」是模板「{}」当前正在使用的版本,不能停用。" + "请先到该模板的版本列表里对另一个已发布版本执行「回滚」,把当前版本切走,再停用本版本;" + "若要让整个模板停止使用,请改为停用模板本身"); // ========== 报告实例(1-070-102-000) ========== ErrorCode REPORT_INSTANCE_NOT_EXISTS = new ErrorCode(1_070_102_000, "报告实例不存在"); ErrorCode REPORT_INSTANCE_NO_DUPLICATE = new ErrorCode(1_070_102_001, "报告编号已存在"); ErrorCode REPORT_INSTANCE_DATA_SNAPSHOT_MISSING = new ErrorCode(1_070_102_002, "报告实例缺少数据快照,无法重新渲染"); ErrorCode REPORT_INSTANCE_HTML_MISSING = new ErrorCode(1_070_102_003, "报告实例没有渲染产物 HTML,无法生成 PDF,请先对该报告执行「重新生成」"); // ========== 渲染与规则(1-070-103-000) ========== ErrorCode RENDER_BUSINESS_DATA_MISSING = new ErrorCode(1_070_103_000, "业务数据为空,无法渲染报告"); ErrorCode RENDER_DATA_FIELD_NOT_EXISTS = new ErrorCode(1_070_103_001, "数据绑定字段不存在"); ErrorCode RENDER_RULE_PARSE_FAILED = new ErrorCode(1_070_103_002, "判定规则解析失败"); ErrorCode RENDER_HTML_FAILED = new ErrorCode(1_070_103_003, "报告 HTML 渲染失败"); ErrorCode RENDER_PDF_BROWSER_LAUNCH_FAILED = new ErrorCode(1_070_103_004, "PDF 渲染浏览器启动失败,请检查 Chromium 是否已安装"); ErrorCode RENDER_PDF_FAILED = new ErrorCode(1_070_103_005, "PDF 生成失败"); ErrorCode RENDER_PDF_ARCHIVE_FAILED = new ErrorCode(1_070_103_006, "PDF 已生成,但归档到附件库失败"); ErrorCode RENDER_PDF_BUSY = new ErrorCode(1_070_103_007, "当前 PDF 渲染任务已达上限,请稍后重试"); ErrorCode RENDER_PDF_DISABLED = new ErrorCode(1_070_103_008, "PDF 出件功能未启用,请联系管理员"); // ========== AI 导入模板草稿(1-070-104-000) ========== ErrorCode AI_IMPORT_DISABLED = new ErrorCode(1_070_104_000, "AI 导入功能未启用(yudao.qcreport.ai-import.enabled 当前为 false),请联系管理员开启后再试"); ErrorCode AI_IMPORT_BLOB_NOT_FOUND = new ErrorCode(1_070_104_001, "上传的文件(blobId={})不存在或已被清理,请重新上传后再试"); ErrorCode AI_IMPORT_FILE_UNSUPPORTED = new ErrorCode(1_070_104_002, "不支持的文件「{}」(扩展名:{})。仅支持 PDF、Word(.docx)、Excel(.xlsx)、" + "图片(png/jpg/jpeg/bmp/gif/webp) 与文本(txt/csv),请转换格式后重新导入"); ErrorCode AI_IMPORT_FILE_LEGACY_OFFICE = new ErrorCode(1_070_104_003, "不支持的文件「{}」(旧版 Office 格式.{})。请用 Office 打开后「另存为」.docx 或 .xlsx 再重新导入"); ErrorCode AI_IMPORT_FILE_TOO_LARGE = new ErrorCode(1_070_104_004, "文件「{}」大小 {}MB,超过单文件上限 {}MB,请压缩或拆分后重新导入"); ErrorCode AI_IMPORT_FILE_EMPTY = new ErrorCode(1_070_104_005, "文件「{}」未解析出任何可用内容(共 {} 页)。若是扫描件,请确认分辨率不低于 200 DPI、" + "文字无严重倾斜或遮挡;推荐改用电子版 PDF 或 Word/Excel"); ErrorCode AI_IMPORT_TOO_MANY_FILES = new ErrorCode(1_070_104_006, "一次最多导入 {} 个文件,本次提交了 {} 个,请分批导入"); ErrorCode AI_IMPORT_TOO_MANY_PAGES = new ErrorCode(1_070_104_007, "文件「{}」共 {} 页,超过单次识别上限 {} 页,请拆分后分批导入"); ErrorCode AI_IMPORT_CATALOG_INVALID = new ErrorCode(1_070_104_008, "组件清单参数不合法({}),请刷新页面后重试"); ErrorCode AI_IMPORT_SCHEMA_VERSION_UNSUPPORTED = new ErrorCode(1_070_104_009, "组件清单的 Schema 版本为「{}」,服务端只接受「{}」,请刷新页面后重试"); ErrorCode AI_IMPORT_AI_UNAVAILABLE = new ErrorCode(1_070_104_010, "AI 识别调用失败(已耗时 {}ms):{}。请到「AI 大模型」中确认对话模型已启用且密钥有效,或稍后重试"); ErrorCode AI_IMPORT_AI_TIMEOUT = new ErrorCode(1_070_104_011, "AI 识别超时(本次已等 {} 秒)。文件页数或数量较多时耗时更长," + "请减少文件数量,或改用电子版 PDF / Word / Excel"); ErrorCode AI_IMPORT_RESPONSE_UNPARSEABLE = new ErrorCode(1_070_104_012, "AI 返回的内容无法解析为模板草稿(已收到 {} 个字符)。若文件内容很长,请拆分后分批导入;" + "若持续失败,请改用手工设计"); ErrorCode AI_IMPORT_DRAFT_EMPTY = new ErrorCode(1_070_104_013, "AI 未能从文件「{}」中识别出任何可用组件。请确认该文件是检验报告;" + "若确实是,请改用手工设计模板"); ErrorCode AI_IMPORT_TOO_MANY_PAGES_TOTAL = new ErrorCode(1_070_104_014, "本次提交的文件合计 {} 页,超过单次识别上限 {} 页(单文件上限 {} 页)," + "请减少文件数量或分批导入"); ErrorCode AI_IMPORT_OFFICE_CORRUPT = new ErrorCode(1_070_104_015, "文件「{}」无法作为 .{} 打开,内容已损坏或受密码保护。" + "请先用 Office 打开该文件,确认能正常显示后「另存为」.docx / .xlsx 再重新导入;" + "若文件有打开密码,请先解除密码保护"); ErrorCode AI_IMPORT_AI_BUDGET_EXCEEDED = new ErrorCode(1_070_104_016, "本次识别已达到单次导入耗时上限({} 秒,已用时 {} 秒)并提前停止," + "在文件「{}」中未识别出任何可用组件。请减少文件数量或页数后分批导入;" + "若单个文件也不大,请到「AI 大模型」中检查对话模型是否响应缓慢"); // ========== 由质检单生成报告(1-070-105-000) ========== ErrorCode QC_GENERATE_TYPE_INVALID = new ErrorCode(1_070_105_000, "质检类型「{}」不合法,只支持 IQC(来料检验)、IPQC(过程检验)、OQC(出货检验)、RQC(退货检验)"); ErrorCode QC_GENERATE_ORDER_NOT_EXISTS = new ErrorCode(1_070_105_001, "{}的质检单(ID={})不存在或已被删除,请刷新列表后重新选择"); ErrorCode QC_GENERATE_ORDER_NOT_FINISHED = new ErrorCode(1_070_105_002, "{}的质检单「{}」当前状态为「{}」,尚未完成检验,不能生成报告。" + "请先把该单据提交并完成检验判定后再生成"); ErrorCode QC_GENERATE_ORDER_NOT_JUDGED = new ErrorCode(1_070_105_003, "{}的质检单「{}」尚未填写检验判定(判定为空),不能生成报告。" + "请先在该单据上填写判定结论(合格 / 特采 / 不合格退货 / 不合格报废)后再生成"); // 105_004 / 105_007 两条路径复用既有的 TEMPLATE_NOT_EXISTS / TEMPLATE_STATUS_DISABLED / // TEMPLATE_NO_PUBLISHED_VERSION:那几条文案本来就是精确的,再造一遍只会多两条会漂移的副本 ErrorCode QC_GENERATE_TEMPLATE_TYPE_MISMATCH = new ErrorCode(1_070_105_005, "报告模板的报告类型是「{}」,与本次质检单的类型「{}」不一致,无法生成报告。" + "请重新选择一张{}的报告模板"); ErrorCode QC_GENERATE_NO_ITEM = new ErrorCode(1_070_105_006, "{}的质检单「{}」没有可用于出报告的检验项({}),无法生成报告。" + "请先在该单据上录入检验指标与实测值后再生成"); }