namespace Rmsys.Domain; /// 会议类型(编码与前端约定一致:buwu / changwei / shuji) public static class MeetingType { public const string BuWu = "buwu"; // 部务会(有处室维度) public const string ChangWei = "changwei"; // 市委常委会 public const string ShuJi = "shuji"; // 市委书记专题会 public static readonly string[] All = { BuWu, ChangWei, ShuJi }; /// 该会议类型是否需要届次号:部务会、常委会按届次编号;书记专题会不设届次。 public static bool HasSessionNo(string type) => type == BuWu || type == ChangWei; } /// 会议状态(与前端表单下拉的 6 个取值一致) public static class MeetingStatus { public const string Draft = "draft"; // 筹备中 public const string Reviewing = "reviewing"; // 材料已审核 public const string Delivered = "delivered"; // 已下发 public const string Ongoing = "ongoing"; // 会议召开中 public const string Registered = "registered"; // 结果已登记 public const string Archived = "archived"; // 已归档 public static readonly string[] All = { Draft, Reviewing, Delivered, Ongoing, Registered, Archived }; /// 已上会(不允许删除)的状态 public static readonly string[] Held = { Ongoing, Registered, Archived }; /// 状态 → 中文名(用于提示语与审计) public static string Label(string? code) => code switch { Draft => "筹备中", Reviewing => "材料已审核", Delivered => "已下发", Ongoing => "会议召开中", Registered => "结果已登记", Archived => "已归档", _ => code ?? "未知" }; } /// 材料类型(PAD 端 5 个页签) public static class MaterialType { public const string AppointmentForm = "t30"; // 任免审批表 public const string Inspection = "exam"; // 考察材料 public const string Report = "report"; // 汇报材料 public const string Note = "note"; // 说明材料 public const string Attachment = "att"; // 附件 public static readonly string[] All = { AppointmentForm, Inspection, Report, Note, Attachment }; } /// 材料状态 public static class MaterialStatus { public const string Missing = "missing"; // 未上传 public const string Pending = "pending"; // 待审核 public const string Passed = "passed"; // 已审核 public const string Rejected = "rejected"; // 退回 } /// 上会结果 public static class CadreResult { public const string Pending = "pending"; // 待研究 public const string Passed = "passed"; // 通过 public const string Deferred = "deferred"; // 暂缓(缓议) public const string Rejected = "rejected"; // 未通过 public const string Withdrawn = "withdrawn"; // 撤回 } /// 数据包状态 public static class PackageStatus { public const string Created = "created"; // 已生成 public const string Delivered = "delivered"; // 已下发 public const string Loaded = "loaded"; // PAD 已加载 public const string Destroyed = "destroyed"; // 会后销毁 } /// 角色编码(与前端「用户与登录管理」的 6 种角色一致) public static class RoleCode { public const string Admin = "admin"; // 系统管理员 public const string CadreChief = "cadre_chief"; // 干部科科长 public const string Clerk = "clerk"; // 处室业务员 public const string Minister = "minister"; // 部领导 public const string MeetingSupport = "meeting_support"; // 会议保障 public const string Auditor = "auditor"; // 审计只读 }