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"; // 审计只读
}