docs(iron-rules): 铁律18禁止破坏原有功能统一写入所有AI工具配置
- MD/specs/IRON_RULES.md: 总览表补充#14-#18,版本升至v2.1 - AGENTS.md: P0铁律区新增铁律18 - RULES.md: P0铁律区新增铁律18 - healthlink-his-server/AGENTS.md: 速查区新增铁律18 - healthlink-his-ui/AGENTS.md: 速查区新增铁律18 - .cursorrules/.clinerules/.windsurfrules: 同步新增铁律18 - V25实体层: NursingVitalSignsChart/SurgerySafetyCheck/SpecimenBarcode/SysAuditLog/EmpiIdVerification - V25 Flyway迁移: V25__vitalsigns_safety_barcode_audit.sql
This commit is contained in:
10
.clinerules
10
.clinerules
@@ -95,6 +95,16 @@
|
||||
- 只在遇到**无法解决的阻塞**(如技术选型冲突、需求不明确、第三方依赖不可用)时才暂停询问
|
||||
- 设计文档是"**已签合同**",不是"参考意见"。铁律执行优先级:设计文档 > 人类临时指令 > AI 自行判断
|
||||
|
||||
**铁律18: 禁止破坏原有功能(P0绝对铁律)**
|
||||
- **完善增加功能和流程时,绝对不能破坏或者让原有功能不能用**
|
||||
- 修改已有实体前必须对比原始文件(`git show HEAD~N:./file.java`),保留所有原有字段和方法
|
||||
- 新增字段只能追加,不能删除或重命名已有字段
|
||||
- SQL迁移只允许 `ALTER TABLE ADD COLUMN`,不允许 `DROP COLUMN` 或 `RENAME COLUMN`
|
||||
- Controller新端点不能修改已有端点的路径或参数
|
||||
- 前端新页面不能修改已有页面的组件结构
|
||||
- 每次修改后必须 `mvn clean compile -DskipTests` 验证
|
||||
- **违规判定**: 因修改导致原有代码编译失败或运行报错,视为违反铁律18,必须立即回滚修复
|
||||
|
||||
|
||||
### 🟡 P1 铁律 — 强烈建议
|
||||
|
||||
|
||||
10
.cursorrules
10
.cursorrules
@@ -95,6 +95,16 @@
|
||||
- 只在遇到**无法解决的阻塞**(如技术选型冲突、需求不明确、第三方依赖不可用)时才暂停询问
|
||||
- 设计文档是"**已签合同**",不是"参考意见"。铁律执行优先级:设计文档 > 人类临时指令 > AI 自行判断
|
||||
|
||||
**铁律18: 禁止破坏原有功能(P0绝对铁律)**
|
||||
- **完善增加功能和流程时,绝对不能破坏或者让原有功能不能用**
|
||||
- 修改已有实体前必须对比原始文件(`git show HEAD~N:./file.java`),保留所有原有字段和方法
|
||||
- 新增字段只能追加,不能删除或重命名已有字段
|
||||
- SQL迁移只允许 `ALTER TABLE ADD COLUMN`,不允许 `DROP COLUMN` 或 `RENAME COLUMN`
|
||||
- Controller新端点不能修改已有端点的路径或参数
|
||||
- 前端新页面不能修改已有页面的组件结构
|
||||
- 每次修改后必须 `mvn clean compile -DskipTests` 验证
|
||||
- **违规判定**: 因修改导致原有代码编译失败或运行报错,视为违反铁律18,必须立即回滚修复
|
||||
|
||||
|
||||
### 🟡 P1 铁律 — 强烈建议
|
||||
|
||||
|
||||
@@ -95,6 +95,16 @@
|
||||
- 只在遇到**无法解决的阻塞**(如技术选型冲突、需求不明确、第三方依赖不可用)时才暂停询问
|
||||
- 设计文档是"**已签合同**",不是"参考意见"。铁律执行优先级:设计文档 > 人类临时指令 > AI 自行判断
|
||||
|
||||
**铁律18: 禁止破坏原有功能(P0绝对铁律)**
|
||||
- **完善增加功能和流程时,绝对不能破坏或者让原有功能不能用**
|
||||
- 修改已有实体前必须对比原始文件(`git show HEAD~N:./file.java`),保留所有原有字段和方法
|
||||
- 新增字段只能追加,不能删除或重命名已有字段
|
||||
- SQL迁移只允许 `ALTER TABLE ADD COLUMN`,不允许 `DROP COLUMN` 或 `RENAME COLUMN`
|
||||
- Controller新端点不能修改已有端点的路径或参数
|
||||
- 前端新页面不能修改已有页面的组件结构
|
||||
- 每次修改后必须 `mvn clean compile -DskipTests` 验证
|
||||
- **违规判定**: 因修改导致原有代码编译失败或运行报错,视为违反铁律18,必须立即回滚修复
|
||||
|
||||
|
||||
### 🟡 P1 铁律 — 强烈建议
|
||||
|
||||
|
||||
@@ -96,6 +96,15 @@
|
||||
- 只在遇到**无法解决的阻塞**(如技术选型冲突、需求不明确、第三方依赖不可用)时才暂停询问
|
||||
- 设计文档是"**已签合同**",不是"参考意见"。铁律执行优先级:设计文档 > 人类临时指令 > AI 自行判断
|
||||
|
||||
**铁律18: 禁止破坏原有功能(P0绝对铁律)**
|
||||
- **完善增加功能和流程时,绝对不能破坏或者让原有功能不能用**
|
||||
- 修改已有实体前必须对比原始文件(`git show HEAD~N:./file.java`),保留所有原有字段和方法
|
||||
- 新增字段只能追加,不能删除或重命名已有字段
|
||||
- SQL迁移只允许 `ALTER TABLE ADD COLUMN`,不允许 `DROP COLUMN` 或 `RENAME COLUMN`
|
||||
- Controller新端点不能修改已有端点的路径或参数
|
||||
- 前端新页面不能修改已有页面的组件结构
|
||||
- 每次修改后必须 `mvn clean compile -DskipTests` 验证
|
||||
- **违规判定**: 因修改导致原有代码编译失败或运行报错,视为违反铁律18,必须立即回滚修复
|
||||
|
||||
### 🟡 P1 铁律 — 强烈建议
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
> **文档类型**: 技术规范
|
||||
> **适用范围**: 全项目开发流程
|
||||
> **版本**: v2.0
|
||||
> **版本**: v2.1
|
||||
> **编制日期**: 2026-06-06
|
||||
> **最后更新**: 2026-06-06
|
||||
> **最后更新**: 2026-06-06 (铁律18统一)
|
||||
|
||||
---
|
||||
|
||||
@@ -25,6 +25,11 @@
|
||||
| #11 | 模块设计必须分析业务逻辑,不能只做CRUD | P0 | 全量模块设计 |
|
||||
| #12 | 模块优化必须分析现有业务流并说明促进作用 | P0 | 全量模块优化 |
|
||||
| #13 | 开发必须深度分析+深度设计,禁止浅层糊弄 | P0 | 全量开发 |
|
||||
| #14 | 设计文档确认后自主开发 | P0 | 全量开发 |
|
||||
| #15 | 模块设计必须分析业务逻辑 | P0 | 全量模块设计 |
|
||||
| #16 | 模块优化必须分析业务流并说明促进作用 | P0 | 全量模块优化 |
|
||||
| #17 | 设计文档必须包含UI设计和调用流程 | P0 | 设计文档/前端开发 |
|
||||
| #18 | 禁止破坏原有功能 | P0 | 全项目(绝对) |
|
||||
|
||||
---
|
||||
|
||||
@@ -269,7 +274,7 @@ npm run lint
|
||||
---
|
||||
|
||||
> **文档版本**: v2.0
|
||||
> **最后更新**: 2026-06-06
|
||||
> **最后更新**: 2026-06-06 (铁律18统一)
|
||||
|
||||
|
||||
---
|
||||
|
||||
@@ -28,12 +28,12 @@
|
||||
| 2 | **处方前置审核** | 开方时实时审核(相互作用/过敏/剂量/配伍) | 处方审核率100% | ✅ |
|
||||
| 3 | **抗菌药物分级管控** | 非限制/限制/特殊三级,按医生权限自动拦截 | 抗菌药物管理办法 | ✅ |
|
||||
| 4 | **检验检查申请** | 开具检验/检查申请单,关联诊断 | 基本功能规范 | ✅ |
|
||||
| 5 | **结构化病历** | 门诊病历结构化录入+模板 | 电子病历4级 | ⚠️ 基础 |
|
||||
| 6 | **诊断编码** | ICD-10自动编码+推荐 | 首页数据质量 | ⚠️ 基础 |
|
||||
| 5 | **结构化病历** | 门诊病历结构化录入+模板 | 电子病历4级 | ✅ 已完成(V24) |
|
||||
| 6 | **诊断编码** | ICD-10自动编码+推荐 | 首页数据质量 | ✅ 已完成(V24) |
|
||||
| 7 | **处方点评** | 系统自动筛查+人工点评+统计 | 合理用药 | ✅ |
|
||||
| 8 | **处方打印** | 标准处方格式打印 | 处方管理办法 | ✅ |
|
||||
| 9 | **过敏史管理** | 过敏史录入+开方时自动匹配 | 合理用药 | ✅ |
|
||||
| 10 | **用药史查询** | 查看患者历史用药记录 | 合理用药 | ⚠️ 基础 |
|
||||
| 10 | **用药史查询** | 查看患者历史用药记录 | 合理用药 | ✅ 已完成基础上增强(V24) |
|
||||
|
||||
---
|
||||
|
||||
@@ -51,11 +51,11 @@
|
||||
| 1 | **医嘱开具** | 长期/临时医嘱,支持套餐医嘱 | 基本功能规范 | ✅ |
|
||||
| 2 | **医嘱签发** | 医生签发→护士执行的闭环流程 | 医嘱管理制度 | ✅ |
|
||||
| 3 | **医嘱停止** | 长期医嘱停止,限时校验(执行前2小时) | 护理规范 | ✅ |
|
||||
| 4 | **用药医嘱审核** | 签发时自动触发合理用药审核 | 处方审核率100% | ⚠️ 待完善 |
|
||||
| 4 | **用药医嘱审核** | 签发时自动触发合理用药审核 | 处方审核率100% | ✅ 已完成(V24) |
|
||||
| 5 | **医嘱打印** | 医嘱单标准格式打印 | 病历规范 | ✅ |
|
||||
| 6 | **会诊管理** | 科间会诊申请+接收+反馈 | 会诊制度 | ✅ 已完成基础上时限增强(V17) |
|
||||
| 7 | **术前讨论记录** | 三级/四级手术必须有术前讨论 | 手术分级管理 | ✅ 已完成(V14) |
|
||||
| 8 | **出院小结** | 结构化出院记录+诊断编码 | 病案规范 | ⚠️ 基础 |
|
||||
| 8 | **出院小结** | 结构化出院记录+诊断编码 | 病案规范 | ✅ 已完成(V24) |
|
||||
| 9 | **病程记录** | 首次/日常/上级查房/阶段/交接记录 | 病历书写规范 | ✅ 已完成(V16) |
|
||||
| 10 | **知情同意** | 电子知情同意书+签名 | 医疗纠纷预防 | ✅ 已完成(V15) |
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
| 9 | **DDD监测** | 抗菌药物限定日剂量使用强度监测 | 抗菌药物管理办法 | ✅ |
|
||||
| 10 | **处方点评工作台** | 自动筛查+人工点评+科室排名 | 处方点评规范 | ✅ |
|
||||
| 11 | **药品库存联动** | 药品库存不足时提醒 | 基本功能规范 | ✅ 已完成(V21) |
|
||||
| 12 | **处方前置拦截** | 不合理处方必须拦截才能继续 | 处方审核率100% | ⚠️ 部分 |
|
||||
| 12 | **处方前置拦截** | 不合理处方必须拦截才能继续 | 处方审核率100% | ✅ 已完成(V24) |
|
||||
|
||||
---
|
||||
|
||||
@@ -222,7 +222,7 @@
|
||||
| # | 能力 | 说明 | 三甲依据 | 当前状态 |
|
||||
|---|------|------|---------|---------|
|
||||
| 1 | **病案首页** | 结构化首页+ICD-10自动编码 | 首页数据质量 | ✅ |
|
||||
| 2 | **编码校验** | ICD-10编码正确性自动校验 | 首页数据质量 | ⚠️ 基础 |
|
||||
| 2 | **编码校验** | ICD-10编码正确性自动校验 | 首页数据质量 | ✅ ICD-10编码库已实现(V24) |
|
||||
| 3 | **病案归档** | 出院后自动归档+24h归档率统计 | 病案管理 | ⚠️ 基础 |
|
||||
| 4 | **病案借阅** | 借阅申请+审批+归还+超期提醒 | 病案管理 | ✅ 已完成(V18) |
|
||||
| 5 | **病案封存** | 涉及纠纷的病案封存管理 | 医疗纠纷预防 | ✅ 已完成(V18) |
|
||||
@@ -247,12 +247,12 @@
|
||||
|---|------|------|---------|---------|
|
||||
| 1 | **感染病例监测** | 自动筛查疑似感染病例 | 院感管理办法 | ✅ |
|
||||
| 2 | **感染上报** | 确认感染→上报院感科→跟踪 | 院感管理办法 | ✅ |
|
||||
| 3 | **暴发预警** | 同一科室短时间内多例感染预警 | 院感管理办法 | ⚠️ 基础 |
|
||||
| 3 | **暴发预警** | 同一科室短时间内多例感染预警 | 院感管理办法 | ✅ 已完成(V17) |
|
||||
| 4 | **目标性监测** | ICU/手术部位/导管相关监测 | 院感监测规范 | ✅ 已完成(V17) |
|
||||
| 5 | **手卫生监测** | 手卫生依从性统计 | 患者安全目标 | ✅ 已完成(V17) |
|
||||
| 6 | **环境卫生学监测** | 空气/物表/手监测结果管理 | 院感管理办法 | ✅ 已完成(V17) |
|
||||
| 7 | **多重耐药菌** | 耐药菌检出→隔离措施→跟踪 | 院感管理办法 | ✅ 已完成(V17) |
|
||||
| 8 | **抗菌药物使用** | 与抗菌药物模块联动 | 院感管理办法 | ⚠️ 基础 |
|
||||
| 8 | **抗菌药物使用** | 与抗菌药物模块联动 | 院感管理办法 | ✅ 已完成基础上增强(V24) |
|
||||
| 9 | **职业暴露** | 锐器伤/暴露事件上报+追踪 | 职业防护 | ✅ 已有基础上报 |
|
||||
| 10 | **消毒供应** | CSSD追溯管理(选配) | 院感管理办法 | ❌ 缺失 |
|
||||
|
||||
|
||||
10
RULES.md
10
RULES.md
@@ -89,6 +89,16 @@
|
||||
- 只在遇到**无法解决的阻塞**(如技术选型冲突、需求不明确、第三方依赖不可用)时才暂停询问
|
||||
- 设计文档是"**已签合同**",不是"参考意见"。铁律执行优先级:设计文档 > 人类临时指令 > AI 自行判断
|
||||
|
||||
**铁律18: 禁止破坏原有功能(P0绝对铁律)**
|
||||
- **完善增加功能和流程时,绝对不能破坏或者让原有功能不能用**
|
||||
- 修改已有实体前必须对比原始文件(`git show HEAD~N:./file.java`),保留所有原有字段和方法
|
||||
- 新增字段只能追加,不能删除或重命名已有字段
|
||||
- SQL迁移只允许 `ALTER TABLE ADD COLUMN`,不允许 `DROP COLUMN` 或 `RENAME COLUMN`
|
||||
- Controller新端点不能修改已有端点的路径或参数
|
||||
- 前端新页面不能修改已有页面的组件结构
|
||||
- 每次修改后必须 `mvn clean compile -DskipTests` 验证
|
||||
- **违规判定**: 因修改导致原有代码编译失败或运行报错,视为违反铁律18,必须立即回滚修复
|
||||
|
||||
|
||||
### 🟡 P1 铁律 — 强烈建议
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
4. **API路径对齐** — `/healthlink-his/api/v1/`
|
||||
5. **先分解再行动** — 非平凡任务先出计划
|
||||
6. **文档在 MD 目录** — 大写下划线命名
|
||||
7. **铁律18: 禁止破坏原有功能** — 完善功能时不能破坏已有功能
|
||||
|
||||
## 快速命令
|
||||
|
||||
|
||||
@@ -0,0 +1,121 @@
|
||||
-- V25: 体温单+术前核查+条码+审计日志+身份证校验
|
||||
|
||||
-- 1. 体温单数据
|
||||
CREATE TABLE IF NOT EXISTS nursing_vital_signs_chart (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
encounter_id BIGINT NOT NULL,
|
||||
patient_id BIGINT NOT NULL,
|
||||
patient_name VARCHAR(50),
|
||||
record_date DATE NOT NULL,
|
||||
record_hour INT NOT NULL,
|
||||
temperature DECIMAL(4,1),
|
||||
pulse INT,
|
||||
respiration INT,
|
||||
systolic_bp INT,
|
||||
diastolic_bp INT,
|
||||
height_cm DECIMAL(5,1),
|
||||
weight_kg DECIMAL(5,1),
|
||||
pain_score INT,
|
||||
conscious_level VARCHAR(20),
|
||||
input_ml INT,
|
||||
output_ml INT,
|
||||
stool_count INT,
|
||||
nurse_name VARCHAR(50),
|
||||
tenant_id BIGINT DEFAULT 0,
|
||||
is_deleted INT NOT NULL DEFAULT 0,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
COMMENT ON TABLE nursing_vital_signs_chart IS '体温单数据(三测单)';
|
||||
CREATE INDEX idx_nvs_encounter ON nursing_vital_signs_chart(encounter_id);
|
||||
CREATE INDEX idx_nvs_date ON nursing_vital_signs_chart(record_date);
|
||||
|
||||
-- 2. 术前安全核查
|
||||
CREATE TABLE IF NOT EXISTS surgery_safety_check (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
encounter_id BIGINT NOT NULL,
|
||||
patient_id BIGINT NOT NULL,
|
||||
patient_name VARCHAR(50),
|
||||
surgery_name VARCHAR(200),
|
||||
check_phase VARCHAR(30) NOT NULL,
|
||||
check_time TIMESTAMP,
|
||||
check_items TEXT NOT NULL,
|
||||
patient_id_confirmed BOOLEAN DEFAULT FALSE,
|
||||
surgery_site_confirmed BOOLEAN DEFAULT FALSE,
|
||||
procedure_type_confirmed BOOLEAN DEFAULT FALSE,
|
||||
allergy_confirmed BOOLEAN DEFAULT FALSE,
|
||||
vital_signs_baseline BOOLEAN DEFAULT FALSE,
|
||||
critical_result_confirmed BOOLEAN DEFAULT FALSE,
|
||||
checklist_completed BOOLEAN DEFAULT FALSE,
|
||||
anesthesiologist_name VARCHAR(50),
|
||||
surgeon_name VARCHAR(50),
|
||||
nurse_name VARCHAR(50),
|
||||
tenant_id BIGINT DEFAULT 0,
|
||||
is_deleted INT NOT NULL DEFAULT 0,
|
||||
create_by VARCHAR(64),
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
COMMENT ON TABLE surgery_safety_check IS '术前安全核查(WS/T 313)';
|
||||
COMMENT ON COLUMN surgery_safety_check.check_phase IS '核查阶段(ANESTHESIA_BEFORE麻醉前/SURGERY_BEFORE手术前/EXIT离室前)';
|
||||
CREATE INDEX idx_ssc_encounter ON surgery_safety_check(encounter_id);
|
||||
|
||||
-- 3. 标本条码
|
||||
CREATE TABLE IF NOT EXISTS specimen_barcode (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
encounter_id BIGINT NOT NULL,
|
||||
patient_id BIGINT NOT NULL,
|
||||
patient_name VARCHAR(50),
|
||||
barcode VARCHAR(100) NOT NULL,
|
||||
specimen_type VARCHAR(50),
|
||||
specimen_name VARCHAR(200),
|
||||
collection_time TIMESTAMP,
|
||||
collector_name VARCHAR(50),
|
||||
scan_confirm_time TIMESTAMP,
|
||||
scan_confirm_by VARCHAR(50),
|
||||
status VARCHAR(20) DEFAULT 'COLLECTED',
|
||||
tenant_id BIGINT DEFAULT 0,
|
||||
is_deleted INT NOT NULL DEFAULT 0,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
COMMENT ON TABLE specimen_barcode IS '标本条码管理';
|
||||
COMMENT ON COLUMN specimen_barcode.status IS '状态(COLLECTED已采集/SCANNED已扫码/REJECTED已拒收)';
|
||||
CREATE UNIQUE INDEX idx_sb_barcode ON specimen_barcode(barcode);
|
||||
|
||||
-- 4. 审计日志
|
||||
CREATE TABLE IF NOT EXISTS sys_audit_log (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
user_id BIGINT,
|
||||
user_name VARCHAR(50),
|
||||
module VARCHAR(50),
|
||||
action VARCHAR(50),
|
||||
method VARCHAR(10),
|
||||
url VARCHAR(500),
|
||||
ip VARCHAR(50),
|
||||
params TEXT,
|
||||
result VARCHAR(20),
|
||||
error_msg TEXT,
|
||||
duration_ms INT,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
COMMENT ON TABLE sys_audit_log IS '审计日志(所有接口调用可追溯)';
|
||||
CREATE INDEX idx_audit_time ON sys_audit_log(create_time);
|
||||
CREATE INDEX idx_audit_user ON sys_audit_log(user_id);
|
||||
CREATE INDEX idx_audit_module ON sys_audit_log(module);
|
||||
|
||||
-- 5. 身份证校验记录
|
||||
CREATE TABLE IF NOT EXISTS empi_id_verification (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
patient_id BIGINT NOT NULL,
|
||||
id_card VARCHAR(20) NOT NULL,
|
||||
patient_name VARCHAR(50),
|
||||
birth_date DATE,
|
||||
gender VARCHAR(10),
|
||||
verify_result VARCHAR(20) NOT NULL,
|
||||
verify_source VARCHAR(50),
|
||||
verify_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
tenant_id BIGINT DEFAULT 0,
|
||||
is_deleted INT NOT NULL DEFAULT 0,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
COMMENT ON TABLE empi_id_verification IS '身份证校验记录';
|
||||
COMMENT ON COLUMN empi_id_verification.verify_result IS '校验结果(PASS通过/FAIL失败/PENDING待验)';
|
||||
CREATE INDEX idx_idv_patient ON empi_id_verification(patient_id);
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.healthlink.his.check.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.core.common.core.domain.HisBaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("specimen_barcode")
|
||||
public class SpecimenBarcode extends HisBaseEntity {
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.healthlink.his.check.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.healthlink.his.check.domain.SpecimenBarcode;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface SpecimenBarcodeMapper extends BaseMapper<SpecimenBarcode> {
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.healthlink.his.check.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.healthlink.his.check.domain.SpecimenBarcode;
|
||||
|
||||
public interface ISpecimenBarcodeService extends IService<SpecimenBarcode> {
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.healthlink.his.check.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.healthlink.his.check.domain.SpecimenBarcode;
|
||||
import com.healthlink.his.check.mapper.SpecimenBarcodeMapper;
|
||||
import com.healthlink.his.check.service.ISpecimenBarcodeService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class SpecimenBarcodeServiceImpl extends ServiceImpl<SpecimenBarcodeMapper, SpecimenBarcode> implements ISpecimenBarcodeService {
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.healthlink.his.empi.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.core.common.core.domain.HisBaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("empi_id_verification")
|
||||
public class EmpiIdVerification extends HisBaseEntity {
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.healthlink.his.empi.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.healthlink.his.empi.domain.EmpiIdVerification;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface EmpiIdVerificationMapper extends BaseMapper<EmpiIdVerification> {
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.healthlink.his.empi.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.healthlink.his.empi.domain.EmpiIdVerification;
|
||||
|
||||
public interface IEmpiIdVerificationService extends IService<EmpiIdVerification> {
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.healthlink.his.empi.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.healthlink.his.empi.domain.EmpiIdVerification;
|
||||
import com.healthlink.his.empi.mapper.EmpiIdVerificationMapper;
|
||||
import com.healthlink.his.empi.service.IEmpiIdVerificationService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class EmpiIdVerificationServiceImpl extends ServiceImpl<EmpiIdVerificationMapper, EmpiIdVerification> implements IEmpiIdVerificationService {
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.healthlink.his.nursing.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.core.common.core.domain.HisBaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("nursing_vital_signs_chart")
|
||||
public class NursingVitalSignsChart extends HisBaseEntity {
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.healthlink.his.nursing.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.healthlink.his.nursing.domain.NursingVitalSignsChart;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface NursingVitalSignsChartMapper extends BaseMapper<NursingVitalSignsChart> {
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.healthlink.his.nursing.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.healthlink.his.nursing.domain.NursingVitalSignsChart;
|
||||
|
||||
public interface INursingVitalSignsChartService extends IService<NursingVitalSignsChart> {
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.healthlink.his.nursing.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.healthlink.his.nursing.domain.NursingVitalSignsChart;
|
||||
import com.healthlink.his.nursing.mapper.NursingVitalSignsChartMapper;
|
||||
import com.healthlink.his.nursing.service.INursingVitalSignsChartService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class NursingVitalSignsChartServiceImpl extends ServiceImpl<NursingVitalSignsChartMapper, NursingVitalSignsChart> implements INursingVitalSignsChartService {
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.healthlink.his.surgicalschedule.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.core.common.core.domain.HisBaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("surgery_safety_check")
|
||||
public class SurgerySafetyCheck extends HisBaseEntity {
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.healthlink.his.surgicalschedule.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.healthlink.his.surgicalschedule.domain.SurgerySafetyCheck;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface SurgerySafetyCheckMapper extends BaseMapper<SurgerySafetyCheck> {
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.healthlink.his.surgicalschedule.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.healthlink.his.surgicalschedule.domain.SurgerySafetyCheck;
|
||||
|
||||
public interface ISurgerySafetyCheckService extends IService<SurgerySafetyCheck> {
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.healthlink.his.surgicalschedule.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.healthlink.his.surgicalschedule.domain.SurgerySafetyCheck;
|
||||
import com.healthlink.his.surgicalschedule.mapper.SurgerySafetyCheckMapper;
|
||||
import com.healthlink.his.surgicalschedule.service.ISurgerySafetyCheckService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class SurgerySafetyCheckServiceImpl extends ServiceImpl<SurgerySafetyCheckMapper, SurgerySafetyCheck> implements ISurgerySafetyCheckService {
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.healthlink.his.sys.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.core.common.core.domain.HisBaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("sys_audit_log")
|
||||
public class SysAuditLog extends HisBaseEntity {
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.healthlink.his.sys.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.healthlink.his.sys.domain.SysAuditLog;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface SysAuditLogMapper extends BaseMapper<SysAuditLog> {
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.healthlink.his.sys.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.healthlink.his.sys.domain.SysAuditLog;
|
||||
|
||||
public interface ISysAuditLogService extends IService<SysAuditLog> {
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.healthlink.his.sys.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.healthlink.his.sys.domain.SysAuditLog;
|
||||
import com.healthlink.his.sys.mapper.SysAuditLogMapper;
|
||||
import com.healthlink.his.sys.service.ISysAuditLogService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class SysAuditLogServiceImpl extends ServiceImpl<SysAuditLogMapper, SysAuditLog> implements ISysAuditLogService {
|
||||
}
|
||||
@@ -8,6 +8,7 @@
|
||||
2. **API路径对齐** — `/healthlink-his/api/v1/`
|
||||
3. **测试通过才提交** — 构建+测试全通过才能 commit
|
||||
4. **文档在 MD 目录** — 大写下划线命名
|
||||
5. **铁律18: 禁止破坏原有功能** — 完善功能时不能破坏已有功能
|
||||
|
||||
## 快速命令
|
||||
|
||||
|
||||
Reference in New Issue
Block a user