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:
2026-06-06 20:05:44 +08:00
parent d0aa498386
commit dad8aa0aad
30 changed files with 394 additions and 12 deletions

View File

@@ -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 铁律 — 强烈建议

View File

@@ -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 铁律 — 强烈建议

View File

@@ -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 铁律 — 强烈建议

View File

@@ -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 铁律 — 强烈建议

View File

@@ -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统一)
---

View File

@@ -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追溯管理选配 | 院感管理办法 | ❌ 缺失 |

View File

@@ -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 铁律 — 强烈建议

View File

@@ -10,6 +10,7 @@
4. **API路径对齐**`/healthlink-his/api/v1/`
5. **先分解再行动** — 非平凡任务先出计划
6. **文档在 MD 目录** — 大写下划线命名
7. **铁律18: 禁止破坏原有功能** — 完善功能时不能破坏已有功能
## 快速命令

View File

@@ -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);

View File

@@ -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;
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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 {
}

View File

@@ -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;
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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 {
}

View File

@@ -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;
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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 {
}

View File

@@ -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;
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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 {
}

View File

@@ -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;
}

View File

@@ -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> {
}

View File

@@ -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> {
}

View File

@@ -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 {
}

View File

@@ -8,6 +8,7 @@
2. **API路径对齐**`/healthlink-his/api/v1/`
3. **测试通过才提交** — 构建+测试全通过才能 commit
4. **文档在 MD 目录** — 大写下划线命名
5. **铁律18: 禁止破坏原有功能** — 完善功能时不能破坏已有功能
## 快速命令