# 数据字典 **本文档引用的文件** - [backend/app/models/models.py](file://backend/app/models/models.py) - [backend/app/models/finance.py](file://backend/app/models/finance.py) - [backend/app/schemas/schemas.py](file://backend/app/schemas/schemas.py) - [backend/app/api/v1/staff.py](file://backend/app/api/v1/staff.py) - [backend/app/api/v1/departments.py](file://backend/app/api/v1/departments.py) - [backend/app/api/v1/indicators.py](file://backend/app/api/v1/indicators.py) - [backend/app/api/v1/performance_plans.py](file://backend/app/api/v1/performance_plans.py) - [backend/app/api/v1/salary.py](file://backend/app/api/v1/salary.py) - [backend/app/api/v1/finance.py](file://backend/app/api/v1/finance.py) - [backend/app/api/v1/templates.py](file://backend/app/api/v1/templates.py) - [backend/app/services/assessment_service.py](file://backend/app/services/assessment_service.py) - [backend/app/services/department_service.py](file://backend/app/services/department_service.py) - [backend/app/services/indicator_service.py](file://backend/app/services/indicator_service.py) - [backend/app/services/staff_service.py](file://backend/app/services/staff_service.py) - [backend/app/services/template_service.py](file://backend/app/services/template_service.py) - [docs/database.md](file://docs/database.md) ## 目录 1. [简介](#简介) 2. [项目结构](#项目结构) 3. [核心组件](#核心组件) 4. [架构概览](#架构概览) 5. [详细组件分析](#详细组件分析) 6. [依赖分析](#依赖分析) 7. [性能考虑](#性能考虑) 8. [故障排除指南](#故障排除指南) 9. [结论](#结论) 10. [附录](#附录) ## 简介 本数据字典面向医院绩效管理系统,系统围绕“科室—员工—考核—工资—财务”主线构建,涵盖指标管理、计划管理、模板管理、财务核算等模块。本文档从字段层面梳理每个实体的数据定义(业务含义、数据类型、长度/精度限制、取值范围、默认值),明确枚举类型及其使用场景,阐述字段与业务实体的对应关系,给出数据流转过程,并提供维护更新规范与查询使用指南。 ## 项目结构 系统采用前后端分离架构,后端基于FastAPI + SQLAlchemy,采用分层设计(API → Service → Model),前端Vue3 + Vite。数据库采用SQLite(开发环境),通过Alembic进行版本化迁移。 ```mermaid graph TB FE["前端界面
Vue3 + Vite"] --> API["后端API
FastAPI"] API --> SVC["服务层
各模块Service"] SVC --> MODELS["模型层
SQLAlchemy ORM"] MODELS --> DB["数据库
SQLite"] ``` 图表来源 - [backend/app/api/v1/staff.py](file://backend/app/api/v1/staff.py#L1-L124) - [backend/app/api/v1/departments.py](file://backend/app/api/v1/departments.py#L1-L108) - [backend/app/api/v1/indicators.py](file://backend/app/api/v1/indicators.py#L1-L142) - [backend/app/api/v1/performance_plans.py](file://backend/app/api/v1/performance_plans.py#L1-L310) - [backend/app/api/v1/salary.py](file://backend/app/api/v1/salary.py#L1-L156) - [backend/app/api/v1/finance.py](file://backend/app/api/v1/finance.py#L1-L217) - [backend/app/api/v1/templates.py](file://backend/app/api/v1/templates.py#L1-L272) 章节来源 - [backend/app/api/v1/staff.py](file://backend/app/api/v1/staff.py#L1-L124) - [backend/app/api/v1/departments.py](file://backend/app/api/v1/departments.py#L1-L108) - [backend/app/api/v1/indicators.py](file://backend/app/api/v1/indicators.py#L1-L142) - [backend/app/api/v1/performance_plans.py](file://backend/app/api/v1/performance_plans.py#L1-L310) - [backend/app/api/v1/salary.py](file://backend/app/api/v1/salary.py#L1-L156) - [backend/app/api/v1/finance.py](file://backend/app/api/v1/finance.py#L1-L217) - [backend/app/api/v1/templates.py](file://backend/app/api/v1/templates.py#L1-L272) ## 核心组件 - 数据模型层:定义实体、字段、约束、索引、枚举类型 - 模式层(Pydantic):定义API输入输出结构、字段校验规则 - API层:定义REST接口、参数、返回结构 - 服务层:封装业务逻辑、事务处理、数据聚合 章节来源 - [backend/app/models/models.py](file://backend/app/models/models.py#L1-L438) - [backend/app/models/finance.py](file://backend/app/models/finance.py#L1-L79) - [backend/app/schemas/schemas.py](file://backend/app/schemas/schemas.py#L1-L743) ## 架构概览 系统围绕“绩效考核—工资核算—财务分析”的主流程展开,指标与模板驱动考核,考核结果驱动工资生成,财务模块提供收支与结余分析。 ```mermaid graph TB subgraph "基础数据" DEPT["科室表
departments"] STAFF["员工表
staff"] USERS["用户表
users"] end subgraph "指标与计划" IND["指标表
indicators"] TPL["模板表
indicator_templates"] TIND["模板指标关联
template_indicators"] PLAN["绩效计划表
performance_plans"] REL["计划指标关联
plan_kpi_relations"] end subgraph "考核与工资" ASSESS["考核记录表
assessments"] DETAIL["考核明细表
assessment_details"] SAL["工资记录表
salary_records"] end subgraph "财务" FIN["科室财务记录
department_finances"] end DEPT <-- "1:N" --> STAFF STAFF <-- "N:1" --> DEPT STAFF <-- "N:1" --> USERS IND <-- "N:1" --> DETAIL ASSESS <-- "1:N" --> DETAIL DETAIL <-- "N:1" --> IND PLAN <-- "1:N" --> REL REL <-- "N:1" --> IND STAFF <-- "N:1" --> ASSESS STAFF <-- "N:1" --> SAL DEPT <-- "N:1" --> FIN ``` 图表来源 - [docs/database.md](file://docs/database.md#L1-L286) - [backend/app/models/models.py](file://backend/app/models/models.py#L62-L438) - [backend/app/models/finance.py](file://backend/app/models/finance.py#L45-L79) ## 详细组件分析 ### 1) 基础数据实体 #### 1.1 科室表 departments - 字段定义 - id: 整型, 主键, 自增 - name: 字符串, 长度100, 非空, 说明: 科室名称 - code: 字符串, 长度20, 唯一, 非空, 说明: 科室编码 - dept_type: 枚举, 非空, 说明: 科室类型 - parent_id: 整型, 外键, 说明: 上级科室 - level: 整型, 默认1, 说明: 层级 - sort_order: 整型, 默认0, 说明: 排序 - is_active: 布尔, 默认true, 说明: 是否启用 - description: 文本, 说明: 描述 - created_at/updated_at: 时间戳, 说明: 创建/更新时间 - 约束与索引 - 唯一键: code - 索引: idx_dept_type, idx_dept_parent - 业务含义 - 支持多级组织架构,支持停用/启用;用于员工归属、计划/模板适用范围等 - 默认值与取值范围 - level: 1-5 - sort_order: 任意整数 - is_active: true/false - 使用场景 - 员工入职时绑定科室;计划/模板按科室类型筛选适用范围 章节来源 - [backend/app/models/models.py](file://backend/app/models/models.py#L62-L86) - [backend/app/schemas/schemas.py](file://backend/app/schemas/schemas.py#L64-L103) - [docs/database.md](file://docs/database.md#L99-L116) #### 1.2 员工表 staff - 字段定义 - id: 整型, 主键, 自增 - employee_id: 字符串, 长度20, 唯一, 非空, 说明: 工号 - name: 字符串, 长度50, 非空, 说明: 姓名 - department_id: 整型, 外键, 非空, 说明: 所属科室 - position: 字符串, 长度50, 非空, 说明: 职位 - title: 字符串, 长度50, 说明: 职称 - phone/email: 字符串, 长度20/100, 说明: 联系方式 - base_salary: 数值, 精度(10,2), 默认0, 说明: 基本工资 - performance_ratio: 数值, 精度(5,2), 默认1.0, 说明: 绩效系数 - status: 枚举, 默认active, 说明: 员工状态 - hire_date: 时间戳, 说明: 入职日期 - created_at/updated_at: 时间戳 - 约束与索引 - 唯一键: employee_id - 索引: idx_staff_dept, idx_staff_status - 业务含义 - 基于基本工资与绩效系数计算绩效奖金;参与考核与工资生成 - 默认值与取值范围 - base_salary ≥ 0 - 0 ≤ performance_ratio ≤ 5 - 使用场景 - 薪资计算、部门统计、计划责任人 章节来源 - [backend/app/models/models.py](file://backend/app/models/models.py#L88-L115) - [backend/app/schemas/schemas.py](file://backend/app/schemas/schemas.py#L107-L150) - [docs/database.md](file://docs/database.md#L117-L137) #### 1.3 用户表 users - 字段定义 - id: 整型, 主键, 自增 - username: 字符串, 长度50, 唯一, 非空, 说明: 用户名 - password_hash: 字符串, 长度255, 非空, 说明: 密码哈希 - staff_id: 整型, 外键, 说明: 关联员工 - role: 字符串, 长度20, 默认staff, 说明: 角色 - is_active: 布尔, 默认true, 说明: 是否启用 - last_login: 时间戳, 说明: 最后登录 - created_at/updated_at: 时间戳 - 约束与索引 - 唯一键: username - 索引: idx_user_username - 业务含义 - 系统访问控制与权限管理的基础 章节来源 - [backend/app/models/models.py](file://backend/app/models/models.py#L244-L261) - [backend/app/schemas/schemas.py](file://backend/app/schemas/schemas.py#L315-L345) ### 2) 指标与模板 #### 2.1 指标表 indicators - 字段定义 - id: 整型, 主键, 自增 - name/code: 字符串, 长度100/20, 唯一, 非空, 说明: 指标名称/编码 - indicator_type: 枚举, 非空, 说明: 指标类型 - bs_dimension: 枚举, 非空, 说明: 平衡计分卡维度 - weight: 数值, 精度(5,2), 默认1.0, 说明: 权重 - max_score: 数值, 精度(5,2), 默认100, 说明: 最高分值 - target_value/target_unit: 数值/字符串, 说明: 目标值与单位 - calculation_method/assessment_method/deduction_standard/data_source: 文本, 说明: 计算/考核/扣分/数据来源 - applicable_dept_types: 文本(JSON数组), 说明: 适用科室类型 - is_veto: 布尔, 默认false, 说明: 是否一票否决 - is_active: 布尔, 默认true, 说明: 是否启用 - created_at/updated_at: 时间戳 - 约束与索引 - 约束: weight > 0 - 索引: idx_indicator_type - 业务含义 - 考核的最小颗粒,决定评分与权重;支持JSON存储适用范围 - 默认值与取值范围 - weight > 0 - max_score ≥ 0 - 使用场景 - 考核打分、计划目标设定、模板匹配 章节来源 - [backend/app/models/models.py](file://backend/app/models/models.py#L117-L147) - [backend/app/schemas/schemas.py](file://backend/app/schemas/schemas.py#L153-L193) - [docs/database.md](file://docs/database.md#L138-L158) #### 2.2 指标模板表 indicator_templates - 字段定义 - id: 整型, 主键, 自增 - template_name/code: 字符串, 长度200/50, 唯一, 非空 - template_type: 枚举, 非空, 说明: 模板类型 - description: 文本, 说明: 模板描述 - dimension_weights: 文本(JSON), 说明: 维度权重 - assessment_cycle: 字符串, 长度20, 默认monthly, 说明: 考核周期 - is_active: 布尔, 默认true - created_at/updated_at: 时间戳 - 约束与索引 - 索引: idx_template_type, idx_template_active - 业务含义 - 为不同科室类型提供标准化指标集合,支持批量导入 章节来源 - [backend/app/models/models.py](file://backend/app/models/models.py#L387-L409) - [backend/app/schemas/schemas.py](file://backend/app/schemas/schemas.py#L698-L732) #### 2.3 模板指标关联表 template_indicators - 字段定义 - id: 整型, 主键, 自增 - template_id/indicator_id: 整型, 外键, 非空, 说明: 模板与指标 - category: 字符串, 长度100, 说明: 指标分类(二级指标) - target_value/target_unit: 数值/字符串, 说明: 目标值与单位 - weight: 数值, 精度(5,2), 默认1.0 - scoring_method/scoring_params: 字符串/文本(JSON), 说明: 评分方法与参数 - sort_order: 整型, 默认0, 说明: 排序 - remark: 文本, 说明: 备注 - created_at/updated_at: 时间戳 - 约束与索引 - 索引: idx_ti_template, idx_ti_indicator, idx_ti_unique(模板+指标唯一) - 业务含义 - 将指标纳入模板,支持排序与评分参数配置 章节来源 - [backend/app/models/models.py](file://backend/app/models/models.py#L411-L438) - [backend/app/schemas/schemas.py](file://backend/app/schemas/schemas.py#L654-L696) ### 3) 考核与工资 #### 3.1 考核记录表 assessments - 字段定义 - id: 整型, 主键, 自增 - staff_id: 整型, 外键, 非空, 说明: 被考核员工 - period_year/period_month: 整型, 非空, 说明: 考核年度/月份 - period_type: 字符串, 长度20, 默认monthly, 说明: 周期类型 - total_score/weighted_score: 数值, 精度(5,2), 默认0, 说明: 总分/加权得分 - status: 枚举, 默认draft, 说明: 状态 - assessor_id/reviewer_id: 整型, 外键, 说明: 考核人/审核人 - submit_time/review_time: 时间戳, 说明: 提交/审核时间 - remark: 文本, 说明: 备注 - created_at/updated_at: 时间戳 - 约束与索引 - 索引: idx_assessment_staff, idx_assessment_period, idx_assessment_status - 业务含义 - 记录一次完整的考核流程,支持草稿、提交、审核、确认、驳回 章节来源 - [backend/app/models/models.py](file://backend/app/models/models.py#L149-L179) - [backend/app/schemas/schemas.py](file://backend/app/schemas/schemas.py#L220-L271) - [docs/database.md](file://docs/database.md#L159-L180) #### 3.2 考核明细表 assessment_details - 字段定义 - id: 整型, 主键, 自增 - assessment_id/indicator_id: 整型, 外键, 非空 - actual_value: 数值, 精度(10,2), 说明: 实际值 - score: 数值, 精度(5,2), 默认0, 说明: 得分 - evidence: 文本, 说明: 佐证材料 - remark: 文本, 说明: 备注 - created_at/updated_at: 时间戳 - 约束与索引 - 索引: idx_detail_assessment, idx_detail_indicator - 业务含义 - 记录每个指标的得分与实际值,支撑总分与加权得分计算 章节来源 - [backend/app/models/models.py](file://backend/app/models/models.py#L181-L203) - [backend/app/schemas/schemas.py](file://backend/app/schemas/schemas.py#L196-L219) - [docs/database.md](file://docs/database.md#L181-L196) #### 3.3 工资记录表 salary_records - 字段定义 - id: 整型, 主键, 自增 - staff_id: 整型, 外键, 非空 - period_year/period_month: 整型, 非空 - base_salary/performance_score/performance_bonus/deduction/allowance: 数值, 精度(10,2)/(5,2), 默认0, 说明: 基本工资/绩效得分/绩效奖金/扣款/补贴 - total_salary: 数值, 精度(10,2), 默认0, 说明: 应发工资 - status: 字符串, 长度20, 默认pending, 说明: 状态 - remark: 文本, 说明: 备注 - created_at/updated_at: 时间戳 - 约束与索引 - 索引: idx_salary_staff, idx_salary_period - 业务含义 - 基于考核结果生成工资,支持确认与批量确认 章节来源 - [backend/app/models/models.py](file://backend/app/models/models.py#L205-L231) - [backend/app/schemas/schemas.py](file://backend/app/schemas/schemas.py#L274-L312) - [docs/database.md](file://docs/database.md#L197-L217) ### 4) 绩效计划 #### 4.1 绩效计划表 performance_plans - 字段定义 - id: 整型, 主键, 自增 - plan_name/code: 字符串, 长度200/50, 唯一, 非空 - plan_level: 枚举, 非空, 说明: 计划层级(hospital/department/individual) - plan_year/plan_month: 整型/可选, 说明: 年度/月份 - plan_type: 字符串, 长度20, 默认annual, 说明: 计划类型(annual/monthly) - department_id/staff_id: 整型/可选, 外键, 说明: 所属科室/责任人 - parent_plan_id: 整型, 外键, 说明: 上级计划 - description/strategic_goals/key_initiatives: 文本, 说明: 描述/战略目标/关键举措 - status: 枚举, 默认draft, 说明: 状态 - submitter_id/approver_id: 整型, 外键, 说明: 提交人/审批人 - submit_time/approve_time: 时间戳, 说明: 提交/审批时间 - approve_remark: 文本, 说明: 审批意见 - version: 整型, 默认1, 说明: 版本号 - is_active: 布尔, 默认true, 说明: 是否启用 - created_at/updated_at: 时间戳 - 约束与索引 - 索引: idx_plan_level, idx_plan_year, idx_plan_department, idx_plan_status - 业务含义 - 支持医院/科室/个人三级计划,支持父子计划与审批流程 章节来源 - [backend/app/models/models.py](file://backend/app/models/models.py#L270-L312) - [backend/app/schemas/schemas.py](file://backend/app/schemas/schemas.py#L519-L570) #### 4.2 计划指标关联表 plan_kpi_relations - 字段定义 - id: 整型, 主键, 自增 - plan_id/indicator_id: 整型, 外键, 非空 - target_value/target_unit: 数值/字符串, 说明: 目标值与单位 - weight: 数值, 精度(5,2), 默认1.0, 说明: 权重 - scoring_method/scoring_params: 字符串/文本(JSON), 说明: 评分方法与参数 - remark: 文本, 说明: 备注 - created_at/updated_at: 时间戳 - 约束与索引 - 索引: idx_relation_plan, idx_relation_indicator, idx_relation_unique(计划+指标唯一) - 业务含义 - 将指标纳入具体计划,支持目标与权重配置 章节来源 - [backend/app/models/models.py](file://backend/app/models/models.py#L314-L339) - [backend/app/schemas/schemas.py](file://backend/app/schemas/schemas.py#L481-L518) ### 5) 财务核算 #### 5.1 科室财务记录表 department_finances - 字段定义 - id: 整型, 主键, 自增 - department_id: 整型, 外键, 非空 - period_year/period_month: 整型, 非空 - finance_type: 枚举, 非空, 说明: 收入/支出 - category: 字符串, 长度50, 非空, 说明: 类别 - amount: 数值, 精度(12,2), 默认0, 说明: 金额 - source: 字符串, 长度100, 说明: 数据来源 - remark: 文本, 说明: 备注 - created_at/updated_at: 时间戳 - 约束与索引 - 约束: amount ≥ 0 - 索引: idx_finance_dept, idx_finance_period, idx_finance_type, idx_finance_category - 业务含义 - 记录各科室的收支明细,支持按类别统计与结余计算 章节来源 - [backend/app/models/finance.py](file://backend/app/models/finance.py#L45-L75) - [backend/app/schemas/schemas.py](file://backend/app/schemas/schemas.py#L407-L452) ### 6) 枚举类型与取值范围 - 科室类型 DeptType - 取值: clinical_surgical, clinical_nonsurgical_ward, clinical_nonsurgical_noward, medical_tech, medical_auxiliary, nursing, admin, finance, logistics - 用途: 控制模板与计划适用范围 - 员工状态 StaffStatus - 取值: active, leave, resigned, retired - 考核状态 AssessmentStatus - 取值: draft, submitted, reviewed, finalized, rejected - 指标类型 IndicatorType - 取值: quality, quantity, efficiency, service, cost - 计划层级 PlanLevel - 取值: hospital, department, individual - 计划状态 PlanStatus - 取值: draft, pending, approved, rejected, active, completed, cancelled - 菜单类型 MenuType - 取值: menu, button - 模板类型 TemplateType - 取值: general, surgical, nonsurgical_ward, nonsurgical_noward, medical_tech, nursing, admin, logistics - 财务类型 FinanceType - 取值: revenue, expense - 收入类别 RevenueCategory - 取值: examination, lab_test, radiology, bed, nursing, treatment, surgery, injection, oxygen, other - 支出类别 ExpenseCategory - 取值: material, personnel, maintenance, utility, other 章节来源 - [backend/app/models/models.py](file://backend/app/models/models.py#L16-L43) - [backend/app/models/models.py](file://backend/app/models/models.py#L233-L242) - [backend/app/models/models.py](file://backend/app/models/models.py#L341-L345) - [backend/app/models/models.py](file://backend/app/models/models.py#L375-L385) - [backend/app/models/finance.py](file://backend/app/models/finance.py#L16-L43) - [backend/app/schemas/schemas.py](file://backend/app/schemas/schemas.py#L12-L45) - [backend/app/schemas/schemas.py](file://backend/app/schemas/schemas.py#L463-L479) - [backend/app/schemas/schemas.py](file://backend/app/schemas/schemas.py#L584-L588) - [backend/app/schemas/schemas.py](file://backend/app/schemas/schemas.py#L642-L652) - [backend/app/schemas/schemas.py](file://backend/app/schemas/schemas.py#L378-L405) - [backend/app/schemas/schemas.py](file://backend/app/schemas/schemas.py#L378-L405) ### 7) 数据流转说明 #### 7.1 考核到工资的流程 ```mermaid sequenceDiagram participant API as "API" participant Svc as "SalaryService" participant DB as "数据库" API->>Svc : "根据考核生成工资" Svc->>DB : "查询已确认的考核记录" DB-->>Svc : "返回考核与明细" Svc->>Svc : "计算绩效得分/奖金" Svc->>DB : "写入工资记录" DB-->>Svc : "返回记录ID" Svc-->>API : "生成成功" ``` 图表来源 - [backend/app/api/v1/salary.py](file://backend/app/api/v1/salary.py#L96-L111) - [backend/app/services/assessment_service.py](file://backend/app/services/assessment_service.py#L194-L206) #### 7.2 财务收支统计流程 ```mermaid flowchart TD Start(["开始"]) --> Fetch["查询科室收支记录"] Fetch --> Group["按类别分组统计"] Group --> Sum["计算合计"] Sum --> Balance["结余 = 收入合计 - 支出合计"] Balance --> End(["结束"]) ``` 图表来源 - [backend/app/api/v1/finance.py](file://backend/app/api/v1/finance.py#L21-L155) - [backend/app/models/finance.py](file://backend/app/models/finance.py#L45-L75) ## 依赖分析 ```mermaid graph LR STAFF["staff"] --> DEPT["departments"] STAFF --> USERS["users"] ASSESS["assessments"] --> STAFF ASSESS --> DETAIL["assessment_details"] DETAIL --> IND["indicators"] SAL["salary_records"] --> STAFF PLAN["performance_plans"] --> DEPT PLAN --> STAFF PLAN --> REL["plan_kpi_relations"] REL --> IND TPL["indicator_templates"] --> TIND["template_indicators"] TIND --> IND FIN["department_finances"] --> DEPT ``` 图表来源 - [backend/app/models/models.py](file://backend/app/models/models.py#L62-L438) - [backend/app/models/finance.py](file://backend/app/models/finance.py#L45-L79) 章节来源 - [backend/app/models/models.py](file://backend/app/models/models.py#L62-L438) - [backend/app/models/finance.py](file://backend/app/models/finance.py#L45-L79) ## 性能考虑 - 索引策略 - 对常用过滤字段建立索引(如科室类型、状态、周期、部门) - 对外键字段建立索引,减少连接开销 - 查询优化 - 使用selectinload预加载关联对象,避免N+1查询 - 分页查询配合COUNT子查询,避免全表扫描 - 数据类型选择 - 数值使用Decimal保证精度;字符串使用VARCHAR并设置合理上限 - 缓存建议 - 对静态枚举与模板列表可做内存缓存,降低数据库压力 ## 故障排除指南 - 常见错误与定位 - “指标/模板/科室编码已存在”:检查唯一约束冲突 - “无法删除,存在子记录”:先清理子项再删除 - “无法生成/确认工资”:检查考核状态与重复生成 - “无效的类别”:确认财务类别枚举值 - 排查步骤 - 查看API返回状态码与错误信息 - 检查数据库约束与索引是否生效 - 核对枚举值是否在允许范围内 - 使用服务层日志定位业务流程异常点 章节来源 - [backend/app/api/v1/indicators.py](file://backend/app/api/v1/indicators.py#L78-L82) - [backend/app/api/v1/departments.py](file://backend/app/api/v1/departments.py#L103-L107) - [backend/app/api/v1/salary.py](file://backend/app/api/v1/salary.py#L104-L110) - [backend/app/api/v1/finance.py](file://backend/app/api/v1/finance.py#L170-L175) ## 结论 本数据字典系统性梳理了医院绩效管理系统的数据结构与业务规则,明确了字段定义、枚举取值、默认值与约束、索引策略与使用场景,并给出了数据流转与维护规范。建议在后续迭代中持续完善字段注释、扩展审计字段、引入字段变更追踪机制,确保数据治理的可追溯性与一致性。 ## 附录 ### A. 字段与业务实体对应关系 - 科室 → 员工:一对多 - 员工 → 考核:一对多 - 考核 → 明细:一对多 - 明细 → 指标:多对一 - 员工 → 工资:一对多 - 计划 → 指标:多对多(通过plan_kpi_relations) - 模板 → 指标:多对多(通过template_indicators) - 科室 → 财务:一对多 章节来源 - [backend/app/models/models.py](file://backend/app/models/models.py#L62-L438) - [backend/app/models/finance.py](file://backend/app/models/finance.py#L45-L79) ### B. 数据字典维护与更新规范 - 新增字段 - 在模型层定义字段与约束,补充Pydantic模式 - 在API层增加参数校验与默认值 - 在服务层处理字段映射与业务逻辑 - 更新数据库迁移脚本并升级数据库 - 修改字段 - 评估兼容性与影响范围 - 通过迁移脚本安全变更,保留历史数据 - 更新API与模式校验规则 - 删除字段 - 确认无业务依赖后,通过迁移脚本删除 - 清理相关API与服务逻辑 ### C. 数据字典查询与使用指南 - 基础查询 - 通过API参数过滤(如科室类型、状态、周期) - 使用分页参数控制返回数量 - 高级查询 - 结合多个条件组合查询 - 使用树形结构查询科室层级 - 数据导出 - 指标与模板支持批量导入/导出 - 财务模块支持按类别统计与汇总 章节来源 - [backend/app/api/v1/departments.py](file://backend/app/api/v1/departments.py#L20-L51) - [backend/app/api/v1/indicators.py](file://backend/app/api/v1/indicators.py#L20-L56) - [backend/app/api/v1/templates.py](file://backend/app/api/v1/templates.py#L22-L75) - [backend/app/api/v1/finance.py](file://backend/app/api/v1/finance.py#L116-L155)