From 1e459b888350f6b9e555ff8e30bedaff6a08aa00 Mon Sep 17 00:00:00 2001 From: huhuihua Date: Thu, 22 Jan 2026 15:51:37 +0800 Subject: [PATCH] =?UTF-8?q?46=20=E9=97=A8=E8=AF=8A=E5=8C=BB=E7=94=9F?= =?UTF-8?q?=E7=AB=99-=E3=80=8B=E5=BC=80=E7=AB=8B=E8=AF=8A=E6=96=AD?= =?UTF-8?q?=EF=BC=9A=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DoctorStationDiagnosisAppServiceImpl.java | 10 +- .../dto/SaveDiagnosisChildParam.java | 19 +++ .../domain/EncounterDiagnosis.java | 16 ++ .../components/diagnosis/diagnosis.vue | 161 ++++++++++++++---- .../components/diagnosis/diagnosislist.vue | 2 +- 5 files changed, 170 insertions(+), 38 deletions(-) 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 97b5b099..cffe3776 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 @@ -283,7 +283,7 @@ public class DoctorStationDiagnosisAppServiceImpl implements IDoctorStationDiagn // 保存就诊诊断 - EncounterDiagnosis encounterDiagnosis; + EncounterDiagnosis encounterDiagnosis = null; for (SaveDiagnosisChildParam saveDiagnosisChildParam : diagnosisChildList) { if (saveDiagnosisChildParam.getUpdateId() != null) { String updateId = saveDiagnosisChildParam.getUpdateId(); @@ -306,6 +306,9 @@ public class DoctorStationDiagnosisAppServiceImpl implements IDoctorStationDiagn encounterDiagnosis.setDiagnosisDesc(saveDiagnosisChildParam.getDiagnosisDesc()); // 诊断描述 encounterDiagnosis.setIptDiseTypeCode(saveDiagnosisChildParam.getIptDiseTypeCode()); // 患者疾病诊断类型代码 encounterDiagnosis.setTcmFlag(Whether.YES.getValue());// 中医标识 + encounterDiagnosis.setDoctor(saveDiagnosisChildParam.getDiagnosisDoctor()); + encounterDiagnosis.setClassification(saveDiagnosisChildParam.getClassification()); + encounterDiagnosis.setName(saveDiagnosisChildParam.getName()); iEncounterDiagnosisService.saveOrUpdate(encounterDiagnosis); i++; } @@ -319,11 +322,14 @@ public class DoctorStationDiagnosisAppServiceImpl implements IDoctorStationDiagn encounterDiagnosis.setMedTypeCode(saveDiagnosisChildParam.getMedTypeCode());// 医疗类型 encounterDiagnosis.setDiagnosisDesc(saveDiagnosisChildParam.getDiagnosisDesc()); // 诊断描述 encounterDiagnosis.setIptDiseTypeCode(saveDiagnosisChildParam.getIptDiseTypeCode()); // 患者疾病诊断类型代码 + encounterDiagnosis.setDoctor(saveDiagnosisChildParam.getDiagnosisDoctor()); + encounterDiagnosis.setClassification(saveDiagnosisChildParam.getClassification()); + encounterDiagnosis.setName(saveDiagnosisChildParam.getName()); iEncounterDiagnosisService.saveOrUpdate(encounterDiagnosis); } } - return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"诊断"})); + return R.ok(encounterDiagnosis, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"诊断"})); } /** diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/SaveDiagnosisChildParam.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/SaveDiagnosisChildParam.java index b724210c..b85da82f 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/SaveDiagnosisChildParam.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/SaveDiagnosisChildParam.java @@ -5,6 +5,8 @@ import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; import lombok.experimental.Accessors; +import java.util.Date; + /** * 保存诊断 子参数类 * @@ -33,6 +35,9 @@ public class SaveDiagnosisChildParam { @JsonSerialize(using = ToStringSerializer.class) private Long definitionId; + private String classification; + + private String name; /** * 医保编码 */ @@ -64,6 +69,18 @@ public class SaveDiagnosisChildParam { */ private String diagnosisDesc; + private String diagnosisDoctor; + + /** + * 诊断时间 + */ + private Date diagnosisTime; + + /** + * 发病时间 + */ + private Date onsetDate; + /** 患者疾病诊断类型代码 */ private Integer iptDiseTypeCode; @@ -77,4 +94,6 @@ public class SaveDiagnosisChildParam { */ private String updateConditionId; + private String longTermFlag; + } 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 9d30b90c..c2b3e661 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 @@ -66,4 +66,20 @@ public class EncounterDiagnosis extends HisBaseEntity { */ private String diagnosisDesc; + /** + * 医生 + */ + private String doctor; + + /** + *病名 + */ + private String name; + + /** + *分类 + */ + private String classification; + + } \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/diagnosis.vue b/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/diagnosis.vue index d6fdf735..0c4707a0 100644 --- a/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/diagnosis.vue +++ b/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/diagnosis.vue @@ -75,15 +75,27 @@ - + - + - + - - - + + + + + + + + + + + + + + + + + + @@ -220,6 +284,9 @@ const emits = defineEmits(['diagnosisSave']); const { proxy } = getCurrentInstance(); const userStore = useUserStore(); const { diag_type } = proxy.useDict('diag_type'); +const { diagnosis_classification } = proxy.useDict('diagnosis_classification'); +const { long_term_flag } = proxy.useDict('long_term_flag'); + const rules = ref({ name: [{ required: true, message: '请选择诊断', trigger: 'change' }], medTypeCode: [{ required: true, message: '请选择诊断类型', trigger: 'change' }], @@ -255,6 +322,12 @@ function getList() { if (res.code == 200) { // 过滤掉中医诊断,只保留西医诊断 form.value.diagnosisList = res.data.filter(item => item.typeName !== '中医诊断'); + // 为旧数据添加默认分类 + form.value.diagnosisList.forEach(item => { + if (!item.classification) { + item.classification = '西医'; + } + }); emits('diagnosisSave', false); } maxNo = form.value.diagnosisList.length; @@ -274,6 +347,8 @@ function getList() { medTypeCode: item.medTypeCode, syndromeGroupNo: item.syndromeGroupNo, typeName: '中医诊断', + classification: '中医', // 中医诊断默认分类 + onsetDate: item.onsetDate, updateId:item.encounterDiagnosisId+'-'+res.data.symptom[index].encounterDiagnosisId, illnessDefinitionId : item.definitionId, symptomDefinitionId : res.data.symptom[index].definitionId, @@ -323,8 +398,10 @@ function handleImport() { diagSrtNo: maxSortNo + index + 1, iptDiseTypeCode: 2, diagnosisDesc: '', + classification: '西医', // 导入的慢性病默认为西医 + onsetDate: getCurrentDate(), diagnosisDoctor: props.patientInfo.practitionerName || props.patientInfo.doctorName || props.patientInfo.physicianName || userStore.name, - diagnosisTime: new Date().toLocaleString('zh-CN') + diagnosisTime: getCurrentDate() }, }); }); @@ -425,8 +502,10 @@ function handleAddDiagnosis() { diagSrtNo: maxSortNo + 1, iptDiseTypeCode: 2, diagnosisDesc: '', + classification: '西医', // 默认为西医 + onsetDate: getCurrentDate(), diagnosisDoctor: props.patientInfo.practitionerName || props.patientInfo.doctorName || props.patientInfo.physicianName || userStore.name, - diagnosisTime: new Date().toLocaleString('zh-CN') + diagnosisTime: getCurrentDate() }); // 添加后按排序号排序 @@ -613,8 +692,10 @@ function handleNodeClick(data) { medTypeCode: '11', diagSrtNo: maxSortNo + 1, definitionId: data.definitionId, + classification: '西医', // 默认为西医 + onsetDate: getCurrentDate(), diagnosisDoctor: props.patientInfo.practitionerName || props.patientInfo.doctorName || props.patientInfo.physicianName || userStore.name, - diagnosisTime: new Date().toLocaleString('zh-CN') + diagnosisTime: getCurrentDate() }); // 添加后按排序号排序 @@ -625,6 +706,16 @@ function handleNodeClick(data) { } } +function getCurrentDate() { + const date = new Date(); + const year = date.getFullYear(); + let month = date.getMonth() + 1; + let day = date.getDate(); + month = month < 10 ? "0" + month : month; + day = day < 10 ? "0" + day : day; + return `${year}-${month}-${day}`; +} + defineExpose({ getList, getDetail, handleSaveDiagnosis }); diff --git a/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/diagnosislist.vue b/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/diagnosislist.vue index 0e9ff966..2644e2ad 100644 --- a/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/diagnosislist.vue +++ b/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/diagnosislist.vue @@ -8,7 +8,7 @@ max-height="400" > - +