16 KiB
16 KiB
考核管理接口
**本文档引用的文件** - [backend/app/api/v1/assessments.py](file://backend/app/api/v1/assessments.py) - [backend/app/api/v1/performance_plans.py](file://backend/app/api/v1/performance_plans.py) - [backend/app/services/assessment_service.py](file://backend/app/services/assessment_service.py) - [backend/app/services/performance_plan_service.py](file://backend/app/services/performance_plan_service.py) - [backend/app/models/models.py](file://backend/app/models/models.py) - [backend/app/schemas/schemas.py](file://backend/app/schemas/schemas.py) - [backend/app/api/v1/salary.py](file://backend/app/api/v1/salary.py) - [backend/app/services/salary_service.py](file://backend/app/services/salary_service.py) - [backend/app/api/v1/finance.py](file://backend/app/api/v1/finance.py) - [backend/app/services/finance_service.py](file://backend/app/services/finance_service.py) - [backend/app/models/finance.py](file://backend/app/models/finance.py) - [docs/详细设计.md](file://docs/详细设计.md) - [docs/api.md](file://docs/api.md)目录
简介
本项目是一个基于FastAPI的医院绩效管理系统,专注于构建完整的绩效考核管理接口。系统采用现代化的分层架构设计,包含三个核心功能模块:
- 考核记录管理:负责员工绩效考核的全流程管理,包括草稿保存、提交审核、审核通过、确认完成等状态转换
- 考核明细处理:管理具体的考核指标明细,支持批量操作和历史记录查询
- 绩效计划管理:涵盖医院级、科室级、个人级的多层次绩效计划制定、审批和执行
系统实现了完整的绩效管理闭环,从指标定义到结果应用,支持与工资核算系统的深度集成,为医院建立科学的激励约束机制提供技术支撑。
项目结构
系统采用典型的三层架构设计,遵循RESTful API设计原则:
graph TB
subgraph "表现层 (API层)"
A[Assessment API]
B[Performance Plan API]
C[Salary API]
D[Finance API]
end
subgraph "业务逻辑层 (Service层)"
E[Assessment Service]
F[Performance Plan Service]
G[Salary Service]
H[Finance Service]
end
subgraph "数据访问层 (Model层)"
I[Assessment Model]
J[Performance Plan Model]
K[Salary Record Model]
L[Finance Model]
end
A --> E
B --> F
C --> G
D --> H
E --> I
F --> J
G --> K
H --> L
I --> J
K --> L
图表来源
- backend/app/api/v1/assessments.py
- backend/app/api/v1/performance_plans.py
- backend/app/services/assessment_service.py
- backend/app/services/performance_plan_service.py
章节来源
核心组件
考核管理模块
考核管理模块提供完整的绩效考核生命周期管理,支持多层级的状态流转和权限控制:
- 状态管理:草稿(draft) → 已提交(submitted) → 已审核(reviewed) → 已确认(finalized) → 已驳回(rejected)
- 权限控制:不同状态支持不同角色的操作权限
- 批量操作:支持批量创建考核记录和批量生成工资记录
- 历史追踪:完整的操作日志和状态变更记录
绩效计划模块
绩效计划模块实现多层次的计划管理体系:
- 计划层级:医院级(hospital) → 科室级(department) → 个人级(individual)
- 状态流程:草稿(draft) → 待审批(pending) → 已批准(approved) → 执行中(active) → 已完成(completed)
- 指标关联:支持计划与KPI指标的灵活关联和权重配置
- 版本管理:支持计划的版本控制和历史追溯
工资核算模块
工资核算模块与考核结果深度集成:
- 自动计算:基于考核得分自动计算绩效奖金
- 系数应用:结合员工绩效系数和个人基本工资
- 批量处理:支持科室级批量生成工资记录
- 状态管理:pending → confirmed 的确认流程
章节来源
架构概览
系统采用分层架构设计,确保职责分离和代码可维护性:
sequenceDiagram
participant Client as 客户端
participant API as API层
participant Service as 服务层
participant Model as 模型层
participant DB as 数据库
Client->>API : 发起考核请求
API->>Service : 调用业务逻辑
Service->>Model : 操作数据模型
Model->>DB : 执行数据库操作
DB-->>Model : 返回查询结果
Model-->>Service : 返回业务数据
Service-->>API : 返回处理结果
API-->>Client : 返回响应数据
Note over Client,DB : 完整的CRUD操作流程
图表来源
系统还实现了异步数据库操作,支持高并发场景下的性能优化:
graph LR
A[异步数据库连接池] --> B[SQLAlchemy AsyncSession]
B --> C[查询操作]
B --> D[事务处理]
C --> E[结果返回]
D --> E
style A fill:#e1f5fe
style B fill:#f3e5f5
style E fill:#e8f5e8
图表来源
详细组件分析
考核记录管理
接口设计
考核管理模块提供了完整的RESTful API接口:
| 功能 | 方法 | 路径 | 描述 |
|---|---|---|---|
| 获取考核列表 | GET | /assessments |
支持多条件查询和分页 |
| 获取考核详情 | GET | /assessments/{id} |
返回完整考核信息 |
| 创建考核记录 | POST | /assessments |
创建新的考核记录 |
| 更新考核记录 | PUT | /assessments/{id} |
更新现有考核记录 |
| 提交考核 | POST | /assessments/{id}/submit |
提交待审核 |
| 审核考核 | POST | /assessments/{id}/review |
审核通过或驳回 |
| 确认考核 | POST | /assessments/{id}/finalize |
确认完成 |
| 批量创建 | POST | /assessments/batch-create |
批量创建考核 |
状态转换流程
stateDiagram-v2
[*] --> 草稿
草稿 --> 已提交 : 提交考核
已提交 --> 已审核 : 审核通过
已提交 --> 已驳回 : 审核驳回
已审核 --> 已确认 : 确认完成
已确认 --> [*]
已驳回 --> 草稿 : 修改后重新提交
note right of 草稿 : 可编辑状态
note right of 已提交 : 等待审核
note right of 已审核 : 审核完成
note right of 已确认 : 最终状态
note right of 已驳回 : 需要修改
图表来源
评分计算逻辑
系统实现了灵活的评分计算机制:
flowchart TD
A[开始计算] --> B[遍历考核明细]
B --> C[获取指标权重]
C --> D[计算加权得分]
D --> E[累加总分]
E --> F[设置状态]
F --> G[保存记录]
G --> H[结束]
D --> I[加权得分 = 明细得分 × 指标权重]
E --> J[总分 = 所有明细得分之和]
style I fill:#fff3e0
style J fill:#fff3e0
图表来源
章节来源
绩效计划管理
计划层级结构
系统支持多层级的绩效计划管理:
graph TD
A[医院级计划] --> B[科室级计划]
B --> C[个人级计划]
A --> D[年度计划]
A --> E[月度计划]
B --> F[季度计划]
B --> G[专项计划]
C --> H[个人目标]
C --> I[能力发展计划]
style A fill:#ffebee
style B fill:#e8f5e8
style C fill:#e3f2fd
图表来源
计划审批流程
sequenceDiagram
participant Creator as 计划创建者
participant Manager as 科室负责人
participant Leader as 分管院领导
participant Office as 绩效办
Creator->>Manager : 提交计划
Manager->>Leader : 审批请求
Leader->>Office : 最终审批
Office->>Creator : 审批结果
Note over Creator,Office : 多级审批流程
图表来源
章节来源
工资核算集成
薪酬计算公式
系统实现了标准化的薪酬计算机制:
flowchart LR
A[基本工资] --> C[总薪酬计算]
B[绩效奖金] --> C
D[补贴] --> C
E[扣款] --> C
C --> F[应发工资 = 基本工资 + 绩效奖金 + 补贴 - 扣款]
G[绩效得分] --> H[绩效奖金计算]
I[绩效系数] --> H
H --> B
H --> J[绩效奖金 = 基础基数 × (绩效得分/100) × 绩效系数]
style J fill:#fff8e1
style F fill:#e8f5e8
图表来源
自动化生成流程
sequenceDiagram
participant HR as 人事系统
participant Perf as 绩效系统
participant Payroll as 工资系统
participant Finance as 财务系统
HR->>Perf : 触发工资生成
Perf->>Perf : 查询已确认考核
Perf->>Perf : 计算绩效奖金
Perf->>Payroll : 创建工资记录
Payroll->>Finance : 生成发放清单
Finance-->>HR : 薪资发放完成
Note over HR,Finance : 完整的薪资发放流程
图表来源
章节来源
依赖关系分析
系统采用清晰的依赖层次结构,确保模块间的松耦合:
graph TB
subgraph "外部依赖"
A[FastAPI]
B[SQLAlchemy]
C[AsyncIO]
D[Pydantic]
end
subgraph "核心模块"
E[API层]
F[服务层]
G[模型层]
H[Schema层]
end
subgraph "数据库层"
I[Assessment表]
J[PerformancePlan表]
K[SalaryRecord表]
L[Finance表]
end
A --> E
B --> F
C --> F
D --> H
E --> F
F --> G
G --> H
G --> I
G --> J
G --> K
G --> L
style A fill:#e3f2fd
style B fill:#e8f5e8
style E fill:#fff3e0
style F fill:#f3e5f5
style G fill:#e0f2f1
图表来源
- backend/app/api/v1/assessments.py
- backend/app/services/assessment_service.py
- backend/app/models/models.py
权限控制机制
系统实现了基于角色的权限控制(RBAC):
| 角色 | 权限范围 | 可执行操作 |
|---|---|---|
| staff | 普通员工 | 查看自己的考核记录 |
| manager | 科室负责人 | 审核下级考核、管理科室计划 |
| admin | 系统管理员 | 完全权限,包括数据维护 |
章节来源
性能考虑
数据库优化
系统采用了多项性能优化策略:
- 索引优化:为常用查询字段建立复合索引
- 异步操作:使用async/await模式提高并发处理能力
- 连接池:配置数据库连接池减少连接开销
- 分页查询:默认每页20条记录,支持最大100条限制
缓存策略
graph LR
A[请求缓存] --> B[查询缓存]
B --> C[会话缓存]
C --> D[响应缓存]
E[热点数据] --> F[内存缓存]
F --> G[分布式缓存]
style A fill:#e8f5e8
style E fill:#fff3e0
并发处理
系统支持高并发场景下的稳定运行:
- 异步数据库操作:避免阻塞主线程
- 批量操作:减少数据库往返次数
- 状态锁机制:防止并发状态冲突
故障排除指南
常见问题及解决方案
| 问题类型 | 症状 | 可能原因 | 解决方案 |
|---|---|---|---|
| 权限错误 | 403 Forbidden | 用户权限不足 | 检查用户角色和权限配置 |
| 数据验证错误 | 422 Unprocessable Entity | 请求数据格式不正确 | 验证请求参数和数据类型 |
| 资源不存在 | 404 Not Found | ID不存在或已被删除 | 确认资源ID的有效性 |
| 状态冲突 | 400 Bad Request | 状态转换不符合规则 | 检查当前状态和允许的操作 |
日志记录
系统提供了完整的日志记录机制:
graph TD
A[操作请求] --> B[请求日志]
B --> C[业务日志]
C --> D[错误日志]
D --> E[性能日志]
F[审计日志] --> G[操作追踪]
G --> H[合规记录]
style B fill:#e8f5e8
style D fill:#ffebee
style F fill:#f3e5f5
章节来源
结论
本绩效考核管理接口系统具有以下特点:
- 完整性:覆盖了从指标定义到结果应用的完整生命周期
- 灵活性:支持多层级、多类型的绩效管理需求
- 可扩展性:模块化设计便于功能扩展和维护
- 安全性:完善的权限控制和数据验证机制
- 集成性:与工资核算系统无缝集成,实现数据共享
系统采用先进的技术栈和架构设计,能够满足现代医院对绩效管理的复杂需求,为建立科学的激励约束机制提供强有力的技术支撑。
附录
API接口规范
系统遵循RESTful API设计原则,提供统一的接口规范:
- 响应格式:统一的JSON响应格式,包含状态码、消息和数据
- 分页机制:支持页码和每页数量的参数配置
- 错误处理:标准化的错误响应格式
- 认证机制:JWT Bearer Token认证方式
数据模型设计
系统采用关系型数据库设计,确保数据的一致性和完整性:
- 主键设计:使用自增主键确保唯一性
- 外键约束:建立合理的外键关系保证数据完整性
- 索引优化:为查询频繁的字段建立索引
- 数据类型:使用合适的数据类型确保数据精度
集成接口
系统支持与其他医院信息系统(HIS)的集成:
- 数据同步:支持定时或实时的数据同步机制
- 接口适配:提供标准化的接口适配器
- 错误处理:完善的异常处理和重试机制
- 监控告警:实时监控接口调用状态