# ElderlyCareServer **Repository Path**: console123/elderly-care-server ## Basic Information - **Project Name**: ElderlyCareServer - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-17 - **Last Updated**: 2026-04-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 养老院管理系统 (ElderlyCare) 一套面向养老院的综合业务管理平台,支持老人档案管理、入住办理、床位分配、护理服务、费用结算等核心业务流程。 ## 技术框架 ### 后端 | 类别 | 技术 | |---|---| | 运行时 | .NET 8 | | Web 框架 | ASP.NET Core (Razor Pages) | | 实时通信 | Blazor Server + SignalR | | ORM / 数据访问 | Entity Framework Core 8 | | 数据库 | SQL Server | | 依赖注入 | 内置 DI 容器 | | 项目结构 | 三层架构(Models / DataAccess / Business)| ### 前端 | 类别 | 技术 | |---|---| | UI 框架 | Ant Design Blazor(企业级组件库) | | 前端模型 | Blazor Server Side | | 样式 | 内联样式 + Ant Design 默认主题 | ### 项目结构 ``` ElderlyCareServer/ ├── ElderlyCare.Models/ # 数据模型层(实体类) ├── ElderlyCare.DataAccess/ # 数据访问层(EF Core DbContext + Repository) ├── ElderlyCare.Business/ # 业务逻辑层(Service) │ ├── Services/ # 服务实现 │ └── *.csproj ├── ElderlyCareServer/ # 表现层(Blazor 页面、Razor 组件) │ ├── Pages/ # 各业务模块页面(30个 .razor 文件) │ ├── Shared/ # 布局组件(NavMenu、MainLayout) │ ├── Program.cs # 应用入口(服务注册、管道配置) │ └── _Imports.razor # 全局 using 指令 └── ElderlyCare.Common/ # 公共工具类库 ``` ## 核心业务流程 ### 1. 老人入住流程 ``` 老人档案登记(潜在客户) → 健康评估 / 护理等级评定 → 床位分配(选择空闲床位) → 签订入住合同(Admission) → 缴纳押金 → 正式入住(Bed.Status = "已占用", Elderly.Status = "已入住") ``` - **入口页面**:`/elderly-management`(老人管理)、`/admissions`(入住管理)、`/beds`(床位管理) ### 2. 护理服务流程 ``` 护理计划(CarePlan)→ 护理计划项目(CarePlanItem)→ 护理任务(CareTask) → 护工(Caregiver)执行护理服务(CareService) → 服务记录登记 ``` - **入口页面**:`/care-plans`(护理计划)、`/caregivers`(护工管理)、`/care-services`(护理服务) ### 3. 费用结算流程 ``` 入住时生成费用记录(Fee:床位费、护理费、餐费……) → 账单周期(BillCycle)按月结算 → 缴费(PaymentTransaction) → 支持费用减免(FeeDiscount) → 开具发票(Invoice) → 逾期催缴(PaymentReminder) ``` - **入口页面**:`/fees`(费用列表)、`/fees/payments`(缴费记录)、`/fees/cycles`(账单周期) ### 4. 老人退住流程 ``` 提交退住申请(Discharge) → 结算所有未缴费用 → 更新入住状态为"已退住" → 解绑床位(Bed.Status = "空闲") → 更新老人状态为"已退住" ``` - **入口页面**:`/discharges`(退住管理) ## 功能模块一览 | 模块 | 说明 | 页面路由 | |---|---|---| | 首页看板 | 系统概览统计(在住老人数、床位状态、收入等) | `/` | | 老人管理 | 老人档案的增删改查、健康评估 | `/elderly-management` | | 老人档案 | 全部老人列表、状态筛选 | `/elderly` | | 健康档案 | 老人体检、血压血糖等健康数据 | `/health-records` | | 用药记录 | 老人用药情况跟踪 | `/medications` | | 护理计划 | 个性化护理计划制定与管理 | `/care-plans` | | 退住管理 | 退住申请审批与结算 | `/discharges` | | 房间管理 | 房间信息、床位分配 | `/rooms` | | 床位管理 | 床位增删改、状态变更、入住/退住办理 | `/beds` | | 入住管理 | 入住合同、押金、床位分配 | `/admissions` | | 护理服务 | 护理服务记录 | `/care-services` | | 护工管理 | 护工信息、排班、绩效 | `/caregivers` | | 费用列表 | 所有费用记录管理 | `/fees` | | 缴费记录 | 缴费流水明细 | `/fees/payments` | | 账单周期 | 按月生成账单、结算 | `/fees/cycles` | | 费用报表 | 收入统计与分析 | `/fees/reports` | | 发票管理 | 开票、作废、红冲 | `/fees/invoices` | | 费用减免 | 优惠减免申请与审批 | `/fees/discounts` | | 催缴记录 | 逾期未缴费用催款 | `/fees/reminders` | | 用户管理 | 系统用户账号 | `/users` | | 角色管理 | 角色定义、权限分配 | `/roles` | | 权限管理 | 细粒度权限配置 | `/permissions` | | 操作日志 | 系统操作审计 | `/operation-logs` | | 登录/注册 | 用户身份认证 | `/login` | ## 数据模型(核心实体) ``` Elderly(老人) ├── Admission(入住记录) │ ├── Fee(费用) │ │ └── PaymentTransaction(缴费事务) │ ├── Invoice(发票) │ └── Discharge(退住记录) ├── CarePlan(护理计划) │ └── CarePlanItem(护理项目) │ └── CareTask(护理任务) │ └── CareService(服务记录) ├── HealthRecord(健康档案) ├── MedicationRecord(用药记录) └── Bed(床位) ← 老人入住后占用的床位 Room(房间) └── Bed(床位) User(系统用户) └── Role(角色)→ Permission(权限) Caregiver(护工) └── CarePlan(护理计划) ``` ## 快速启动 ### 环境要求 - .NET 8 SDK - SQL Server 2016 及以上 ### 数据库配置 在 `appsettings.json` 中修改连接字符串: ```json "ConnectionStrings": { "DefaultConnection": "Data Source=<服务器地址>;Database=ElderlyCareDB;User ID=<用户名>;Password=<密码>;Encrypt=True;TrustServerCertificate=True" } ``` ### 初始化数据库 ```bash cd ElderlyCareServer dotnet ef database update # 或使用 Migration 自动迁移 ``` ### 启动应用 ```bash cd ElderlyCareServer dotnet run ``` 访问 `http://localhost:5000` 或 `https://localhost:5001`。 ## 系统登录 首次使用请在登录页面注册账号,支持以下角色: - **前台**:接待、老人档案登记 - **护士**:健康档案、护理计划、用药记录 - **财务**:费用管理、发票、报表 - **管理员**:全功能访问 ## 架构说明 本系统采用经典三层架构: - **Models 层**:纯数据模型(Entity),定义所有业务实体的属性和关系 - **DataAccess 层**:封装数据库访问,通过 Repository 模式提供 CRUD 操作,EF Core 负责 ORM 映射和迁移 - **Business 层**:业务逻辑层,Service 封装具体业务规则(如入住绑定床位、退住解绑床位),对外暴露接口供 Blazor 页面调用 - **表现层(Blazor)**:Razor 组件负责 UI 渲染,通过依赖注入的 Service 与后端交互 这种分层保证了业务逻辑与数据访问的解耦,便于维护和单元测试。