From 597e621b69c2c0ab517032073cf8c5089e9009fb Mon Sep 17 00:00:00 2001 From: chenqi Date: Wed, 11 Mar 2026 14:49:46 +0800 Subject: [PATCH] =?UTF-8?q?fix(diagnosis):=20=E4=BF=AE=E5=A4=8D=E5=8F=91?= =?UTF-8?q?=E7=97=85=E6=97=A5=E6=9C=9F=E5=92=8C=E8=AF=8A=E6=96=AD=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=E4=BF=9D=E5=AD=98=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根本原因: 数据库表 adm_encounter_diagnosis 缺少 onset_date 和 diagnosis_time 字段 修复内容: 1. 新增数据库字段: onset_date, diagnosis_time 2. 后端实体类 EncounterDiagnosis 添加字段 3. 后端保存逻辑添加日期字段映射 4. 后端DTO DiagnosisQueryDto 添加字段 5. 查询SQL添加日期字段查询 --- .../DoctorStationDiagnosisAppServiceImpl.java | 8 ++++++++ .../web/doctorstation/dto/DiagnosisQueryDto.java | 10 ++++++++++ .../DoctorStationDiagnosisAppMapper.xml | 4 +++- .../domain/EncounterDiagnosis.java | 10 ++++++++++ sql/20260311_add_diagnosis_date_fields.sql | 16 ++++++++++++++++ 5 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 sql/20260311_add_diagnosis_date_fields.sql diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationDiagnosisAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationDiagnosisAppServiceImpl.java index 9337896b..870dc787 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationDiagnosisAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationDiagnosisAppServiceImpl.java @@ -351,6 +351,10 @@ public class DoctorStationDiagnosisAppServiceImpl implements IDoctorStationDiagn encounterDiagnosis.setName(saveDiagnosisChildParam.getName()); encounterDiagnosis.setTenantId(tenantId); encounterDiagnosis.setLongTermFlag(saveDiagnosisChildParam.getLongTermFlag()); + encounterDiagnosis.setOnsetDate(saveDiagnosisChildParam.getOnsetDate()); + encounterDiagnosis.setDiagnosisTime(saveDiagnosisChildParam.getDiagnosisTime()); + encounterDiagnosis.setOnsetDate(saveDiagnosisChildParam.getOnsetDate()); + encounterDiagnosis.setDiagnosisTime(saveDiagnosisChildParam.getDiagnosisTime()); if(encounterDiagnosis.getCreateBy() == null){ encounterDiagnosis.setCreateBy(username); } @@ -377,6 +381,10 @@ public class DoctorStationDiagnosisAppServiceImpl implements IDoctorStationDiagn encounterDiagnosis.setName(saveDiagnosisChildParam.getName()); encounterDiagnosis.setTenantId(tenantId); encounterDiagnosis.setLongTermFlag(saveDiagnosisChildParam.getLongTermFlag()); + encounterDiagnosis.setOnsetDate(saveDiagnosisChildParam.getOnsetDate()); + encounterDiagnosis.setDiagnosisTime(saveDiagnosisChildParam.getDiagnosisTime()); + encounterDiagnosis.setOnsetDate(saveDiagnosisChildParam.getOnsetDate()); + encounterDiagnosis.setDiagnosisTime(saveDiagnosisChildParam.getDiagnosisTime()); if(encounterDiagnosis.getCreateBy() == null){ encounterDiagnosis.setCreateBy(username); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/DiagnosisQueryDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/DiagnosisQueryDto.java index a27a0913..2afe8c58 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/DiagnosisQueryDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/DiagnosisQueryDto.java @@ -79,4 +79,14 @@ public class DiagnosisQueryDto { */ private String diagnosisDesc; + /** + * 发病日期 + */ + private Date onsetDate; + + /** + * 诊断日期 + */ + private Date diagnosisTime; + } diff --git a/openhis-server-new/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationDiagnosisAppMapper.xml b/openhis-server-new/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationDiagnosisAppMapper.xml index 0724901b..2c721b0f 100644 --- a/openhis-server-new/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationDiagnosisAppMapper.xml +++ b/openhis-server-new/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationDiagnosisAppMapper.xml @@ -131,7 +131,9 @@ T1.med_type_code, T1.diagnosis_desc, T2.verification_status_enum, - T2.yb_no + T2.yb_no, + T1.onset_date AS onsetDate, + T1.diagnosis_time AS diagnosisTime FROM adm_encounter_diagnosis AS T1 LEFT JOIN cli_condition AS T2 ON T2.ID = T1.condition_id AND T2.delete_flag = '0' AND T2.tcm_flag = 0 diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterDiagnosis.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterDiagnosis.java index 188bd2fa..9ce7ffe1 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterDiagnosis.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterDiagnosis.java @@ -86,5 +86,15 @@ public class EncounterDiagnosis extends HisBaseEntity { */ private Integer longTermFlag; + /** + * 发病日期 + */ + private Date onsetDate; + + /** + * 诊断日期 + */ + private Date diagnosisTime; + } \ No newline at end of file diff --git a/sql/20260311_add_diagnosis_date_fields.sql b/sql/20260311_add_diagnosis_date_fields.sql new file mode 100644 index 00000000..ed2381fb --- /dev/null +++ b/sql/20260311_add_diagnosis_date_fields.sql @@ -0,0 +1,16 @@ +-- 为 adm_encounter_diagnosis 表添加发病日期和诊断日期字段 +-- 执行日期: 2026-03-11 +-- 问题: 诊断保存后发病日期和诊断日期不显示 +-- 原因: 数据库表缺少这两个字段 + +-- 添加发病日期字段 +ALTER TABLE public.adm_encounter_diagnosis +ADD COLUMN IF NOT EXISTS onset_date date; + +COMMENT ON COLUMN public.adm_encounter_diagnosis.onset_date IS '发病日期'; + +-- 添加诊断日期字段 +ALTER TABLE public.adm_encounter_diagnosis +ADD COLUMN IF NOT EXISTS diagnosis_time date; + +COMMENT ON COLUMN public.adm_encounter_diagnosis.diagnosis_time IS '诊断日期';