/**
 * 运行时字典编码常量
 *
 * 约定：
 * 1. 不要在业务页面硬编码 dictType。
 * 2. 新增字典编码前，先从“后端接口文档 / 后端字段契约 / 系统字典管理页”确认真实 dictType。
 * 3. 确认后再收敛到本文件，并补上中文注释说明“这个编码对应哪个业务字段”。
 */

/**
 * 对象方向字典编码
 *
 * 对应业务字段：产品、项目及后续其他对象中的 directionCode / direction
 * 来源口径：
 * 1. 方向类业务语义已经纠正为“对象通用方向”
 * 2. 后端字典编码已准备切到更准确的 rdms_object_direction
 *
 * 说明：
 * 前端页面统一使用本常量，不再继续使用带 product 痕迹的旧命名。
 */
export const RDMS_OBJECT_DIRECTION_DICT_CODE = 'rdms_object_direction';

/**
 * 对象方向历史字典编码
 *
 * 用途：
 * 仅用于前后端切换期间兼容旧数据，不允许新页面直接使用。
 */
export const RDMS_OBJECT_DIRECTION_LEGACY_DICT_CODE = 'rdms_product_direction';

/**
 * 用户所属公司字典编码
 *
 * 对应业务字段：用户相关接口和页面中的 company
 * 来源口径：当前系统"用户管理"页面按系统字典 system_user_company 做下拉和文案回显
 */
export const SYSTEM_USER_COMPANY_DICT_CODE = 'system_user_company';

/**
 * 需求来源类型字典编码
 *
 * 对应业务字段：需求相关接口和页面中的 sourceType
 * 来源口径：产品需求文档中定义，标签包括工单流转、手动新增
 */
export const RDMS_REQ_SOURCE_TYPE_DICT_CODE = 'rdms_req_source_type';

/**
 * 优先级字典编码
 *
 * 对应业务字段：
 * - 需求（产品需求 / 项目需求）的 priority（旧口径：Integer，数字大=高，0=低 / 3=紧急）
 * - 任务 / 执行的 priority（新口径：String "0"~"3"，数字越小优先级越高，"1"=默认 P1）
 *
 * 来源口径：后端统一字典 rdms_req_priority，4 档标签 P0/P1/P2/P3。
 * 数值取值口径不同是已知遗留——前端用本字典的 label / colorType 渲染即可，不要硬编码 P0~P3。
 */
export const RDMS_REQ_PRIORITY_DICT_CODE = 'rdms_req_priority';

/**
 * 需求分类字典编码
 *
 * 对应业务字段：需求相关接口和页面中的 category
 * 来源口径：产品需求文档中定义，标签包括工程需求、用户需求、安全需求、体验优化、功能需求
 */
export const RDMS_REQ_CATEGORY_DICT_CODE = 'rdms_req_category';

/**
 * 项目类型字典编码
 *
 * 对应业务字段：项目相关接口和页面中的 projectType
 * 来源口径：后端字典 rdms_project_type
 */
export const RDMS_PROJECT_TYPE_DICT_CODE = 'rdms_project_type';

/**
 * 项目执行类型字典编码
 *
 * 对应业务字段：项目任务管理中执行的 executionType
 * 来源口径：`rdms-project-boot-执行任务接口API文档.md` 明确 executionType 来自字典 rdms_project_execution_type
 */
export const RDMS_PROJECT_EXECUTION_TYPE_DICT_CODE = 'rdms_project_execution_type';

/**
 * 状态机对象类型字典编码
 *
 * 对应业务字段：状态机管理中的 objectType / 对象类型
 * 来源口径：用户明确指定对象类型下拉来自运行时字典 object_status_model_object_type
 */
export const OBJECT_STATUS_MODEL_OBJECT_TYPE_DICT_CODE = 'object_status_model_object_type';

/**
 * 任务/个人事项类型字典编码
 *
 * 对应业务字段：任务、个人事项中的 type
 * 来源口径：用户明确指定任务/个人事项类型下拉来自运行时字典 rdms_task_item_type
 */
export const RDMS_TASK_ITEM_TYPE_DICT_CODE = 'rdms_task_item_type';

/**
 * 需求允许删除的状态字典编码
 *
 * 对应业务字段：需求删除功能中判断 statusCode 是否允许删除
 * 来源口径：用户在系统字典管理页中创建的字典 rdms_req_can_delete_status
 */
export const RDMS_REQ_CAN_DELETE_STATUS_DICT_CODE = 'rdms_req_can_delete_status';

/**
 * 工作日志难度字典编码
 *
 * 对应业务字段：任务/个人事项工作日志中的 difficulty
 * 来源口径：用户明确指定任务/个人事项工作日志难度下拉来自运行时字典 rdms_task_item_worklog_difficulty
 */
export const RDMS_WORKLOG_DIFFICULTY_DICT_CODE = 'rdms_task_item_worklog_difficulty';

/**
 * 加班申请状态字典编码
 *
 * 对应业务字段：加班申请中的 statusCode
 * 来源口径：`overtime-application-design.md` 明确状态字典为 rdms_overtime_application_status
 */
export const RDMS_OVERTIME_APPLICATION_STATUS_DICT_CODE = 'rdms_overtime_application_status';

/**
 * 加班时长快捷选项字典编码
 *
 * 对应业务字段：加班申请中的 overtimeDuration
 * 来源口径：`overtime-application-design.md` 明确时长下拉字典为 rdms_overtime_duration
 */
export const RDMS_OVERTIME_DURATION_DICT_CODE = 'rdms_overtime_duration';
