# Hospital Front — 医院前置机程序 > 基于 Kotlin + Solon 4.0.6 重构的医院前置机对接系统 > > 重构源:[hospitalmiddle](../hospitalmiddle)(SpringBoot 2.7 + MyBatis-Plus + Oracle/SqlServer) > > 完整方案:[E:\data\ob_data\myob\11 健康长庆\医院前置机重构\](../ob_data) --- ## 1. 项目简介 体检预约系统通过本程序与多家医院 HIS 系统对接,实现: - 体检预约的提交、取消 - 体检项目查询、状态查询 - 体检结果/结论/建议的获取 - 单位信息同步 **支持 5 家医院**(拼音编码): | 编码 | 医院名 | 数据库 | |---|---|---| | `xinglongyuan` | 兴隆园医院 | Oracle | | `qingyang` | 庆阳医院 | Oracle | | `ningxia` | 宁夏宝石花医院 | SqlServer | | `yanan` | 延安医院 | SqlServer | | `jinghe` | 泾河医院 | Oracle | --- ## 2. 技术栈 - **语言**:Kotlin 2.0.21(`jvmTarget=17`) - **框架**:Solon 4.0.6(国产轻量级 Java 框架) - **JDK**:17 LTS(推荐)或 21 LTS - **ORM**:MyBatis-Plus 3.5.9 - **数据库**:Oracle / SqlServer(直连医院库,不可修改) - **日志**:Logback 1.5.12 - **HTTP/WS**:OkHttp 4.12.0 - **构建**:Maven 3.9+ > ✅ **依赖瘦身**:不接入 Knife4j / Druid / Lombok / Jasypt(详见 [01-技术栈选型.md](../ob_data/01-技术栈选型.md)) --- ## 3. 项目结构 ``` hospital-front/ ├── pom.xml ├── README.md ├── .gitignore ├── src/ │ ├── main/ │ │ ├── kotlin/com/hospital/front/ │ │ │ ├── HospitalFrontApp.kt # @SolonMain 启动类 │ │ │ ├── adapter/ # 医院适配器(策略模式) │ │ │ ├── api/ # HTTP 接口层(按业务域) │ │ │ ├── service/ # 业务服务层 │ │ │ ├── mapper/ # 数据访问层 │ │ │ ├── vo/ # 值对象 │ │ │ ├── dto/ # 数据传输对象 │ │ │ ├── infra/ # 基础设施 │ │ │ └── task/ # 定时任务 │ │ └── resources/ │ │ ├── app.yml # Solon 主配置 │ │ ├── logback.xml # 日志配置 │ │ └── mapper/ # MyBatis XML │ └── test/kotlin/ # 单元测试 └── pac/ # 部署包(运行时外置) ├── bin/ # 启动脚本 ├── conf/ # 外置配置 ├── backup/ # 历史版本 ├── log/ # 日志 ├── pid/ # PID 文件 └── tmp/ # 临时文件 ``` --- ## 4. 构建 ```bash mvn clean package -DskipTests # 产出:target/hospital-front-1.0.0.jar ``` --- ## 5. 启动(开发环境) ```bash # 拷贝外置配置(首次启动) cp -r pac/conf-example pac/conf # 编辑配置 vim pac/conf/app-jinghe.yml # 启动(默认加载 app.yml + conf/app-{HOSPITAL}.yml) HOSPITAL=jinghe java -jar target/hospital-front-1.0.0.jar ``` --- ## 6. 部署 详细部署、升级、回滚 SOP:[05-部署运维.md](../ob_data/05-部署运维.md) **Windows Server 简版**: ```batch D: cd D:\hospital-front\bin call start.bat start ``` --- ## 7. 文档 完整设计文档位于:`E:\data\ob_data\myob\11 健康长庆\医院前置机重构\` | 文档 | 内容 | |---|---| | [00-总体方案.md](../ob_data/00-总体方案.md) | 整体方案 | | [01-技术栈选型.md](../ob_data/01-技术栈选型.md) | Solon 选型、版本、注解对照 | | [02-医院差异化矩阵.md](../ob_data/02-医院差异化矩阵.md) | 5 家医院差异、Adapter 拆分 | | [03-架构设计.md](../ob_data/03-架构设计.md) | 系统架构、模块、时序 | | [04-数据流与接口契约.md](../ob_data/04-数据流与接口契约.md) | 接口清单、入参出参 | | [05-部署运维.md](../ob_data/05-部署运维.md) | 部署、升级、回滚 SOP | | [06-变更记录.md](../ob_data/06-变更记录.md) | 所有变更登记 | --- ## 8. 任务进度 | Step | 内容 | 状态 | |---|---|---| | 1 | 工程骨架 | ✅ | | 2 | 5 医院配置中心 | ⏳ | | 3 | 业务接口 Kotlin 重写 | ⏳ | | 4 | 5 套 Mapper 适配 | ⏳ | | 5 | 主程序被控端 API | ⏳ | | 6 | Agent 工程 | ⏳ | | 7 | 升级流程 | ⏳ | | 8 | 日志推送 | ⏳ | | 9 | B 端管理后台 | ⏳ | | 10 | 联调 + 文档 | ⏳ |