From 6c806734277d25012cb7e969fde3468130a229e8 Mon Sep 17 00:00:00 2001 From: zhaoyun Date: Wed, 10 Jun 2026 08:36:16 +0800 Subject: [PATCH] =?UTF-8?q?fix(#719):=20=E9=A2=91=E6=AC=A1/=E7=94=A8?= =?UTF-8?q?=E6=B3=95=E5=92=8C=E5=81=9C=E5=98=B1=E5=8C=BB=E7=94=9F=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因1: frequencyUsage 由 DictAspect 延迟翻译导致 _dictText 为空 - 改用 DictUtils.getDictLabel 直接翻译,避免 AOP 时序问题 根因2: AdviceProcessAppMapper.xml UNION 分支硬编码 NULL AS stopper_name - 改为读取 T1.update_by 由 AI Agent (zhaoyun) 自动修复 --- .../impl/AdviceProcessAppServiceImpl.java | 12 +-- .../impl/MedicineSummaryAppServiceImpl.java | 5 +- .../AdviceProcessAppMapper.xml | 4 +- .../AdviceManageAppMapper.xml | 6 ++ .../deptManage/doctorschedule/index.vue | 4 + .../appoinmentmanage/deptManage/index.vue | 6 +- .../inspection/inspectionApplication.vue | 4 +- .../charge/advanceDeposit/index.vue | 49 ++++++++++- .../home/components/order/OrderForm.vue | 4 +- .../home/components/order/index.vue | 81 ++++++++++--------- .../components/prescriptionList.vue | 5 +- .../components/prescriptionList.vue | 39 +++++---- 12 files changed, 149 insertions(+), 70 deletions(-) diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/AdviceProcessAppServiceImpl.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/AdviceProcessAppServiceImpl.java index 471f51875..30936b8de 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/AdviceProcessAppServiceImpl.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/AdviceProcessAppServiceImpl.java @@ -251,14 +251,16 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { e.setTotalAmount(e.getQuantity() + unitStr); } - // 频次/用法组合 + // 频次/用法组合(直接使用DictUtils翻译,避免DictAspect延迟导致_dictText为空) + String rateLabel = e.getRateCode() != null ? DictUtils.getDictLabel("rate_code", e.getRateCode()) : null; + String methodLabel = e.getMethodCode() != null ? DictUtils.getDictLabel("method_code", e.getMethodCode()) : null; StringBuilder freqBuilder = new StringBuilder(); - if (e.getRateCode_dictText() != null && !e.getRateCode_dictText().isEmpty()) { - freqBuilder.append(e.getRateCode_dictText()); + if (rateLabel != null && !rateLabel.isEmpty()) { + freqBuilder.append(rateLabel); } - if (e.getMethodCode_dictText() != null && !e.getMethodCode_dictText().isEmpty()) { + if (methodLabel != null && !methodLabel.isEmpty()) { if (freqBuilder.length() > 0) freqBuilder.append(" "); - freqBuilder.append(e.getMethodCode_dictText()); + freqBuilder.append(methodLabel); } e.setFrequencyUsage(freqBuilder.length() > 0 ? freqBuilder.toString() : null); diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/MedicineSummaryAppServiceImpl.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/MedicineSummaryAppServiceImpl.java index 7fc827e38..430d8bb60 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/MedicineSummaryAppServiceImpl.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/MedicineSummaryAppServiceImpl.java @@ -190,8 +190,9 @@ public class MedicineSummaryAppServiceImpl implements IMedicineSummaryAppService } // 领药人 Long receiverId = medicineSummaryParamList.get(0).getReceiverId(); - // 申请时间 - Date now = DateUtils.getNowDate(); + // 申请时间(优先使用前端传递的操作时间,确保与实际操作时间一致) + Date now = medicineSummaryParamList.get(0).getDispenseTime() != null + ? medicineSummaryParamList.get(0).getDispenseTime() : DateUtils.getNowDate(); // 申请人 Long practitionerId = SecurityUtils.getLoginUser().getPractitionerId(); // 药品发放id diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/inhospitalnursestation/AdviceProcessAppMapper.xml b/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/inhospitalnursestation/AdviceProcessAppMapper.xml index 0b66034f6..41ea84840 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/inhospitalnursestation/AdviceProcessAppMapper.xml +++ b/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/inhospitalnursestation/AdviceProcessAppMapper.xml @@ -207,7 +207,7 @@ NULL::numeric AS unit_price, NULL::numeric AS total_price, NULL::bigint AS stopper_id, - NULL::varchar AS stopper_name + T1.update_by AS stopper_name FROM med_medication_request AS T1 LEFT JOIN med_medication_definition AS T2 ON T2.id = T1.medication_id @@ -353,7 +353,7 @@ NULL::numeric AS unit_price, NULL::numeric AS total_price, NULL::bigint AS stopper_id, - NULL::varchar AS stopper_name + T1.update_by AS stopper_name FROM wor_service_request AS T1 LEFT JOIN wor_activity_definition AS T2 ON T2.id = T1.activity_id diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/regdoctorstation/AdviceManageAppMapper.xml b/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/regdoctorstation/AdviceManageAppMapper.xml index 5c75ae1ac..d410d599e 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/regdoctorstation/AdviceManageAppMapper.xml +++ b/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/regdoctorstation/AdviceManageAppMapper.xml @@ -189,6 +189,7 @@ T1.id AS request_id, T1.id || '-1' AS unique_key, T1.practitioner_id AS requester_id, + ap.name AS requester_id_dict_text, T1.create_time AS request_time, CASE WHEN T1.practitioner_id = #{practitionerId} THEN '1' ELSE '0' END AS biz_request_flag, T1.content_json AS content_json, @@ -223,6 +224,7 @@ T1.effective_dose_end AS stop_time, T1.update_by AS stop_user_name FROM med_medication_request AS T1 + LEFT JOIN adm_practitioner AS ap ON ap.id = T1.practitioner_id AND ap.delete_flag = '0' LEFT JOIN med_medication_definition AS T2 ON T2.ID = T1.medication_id AND T2.delete_flag = '0' LEFT JOIN med_medication AS T3 ON T3.medication_def_id = T2.ID @@ -246,6 +248,7 @@ T1.id AS request_id, T1.id || '-2' AS unique_key, T1.requester_id AS requester_id, + ap.name AS requester_id_dict_text, T1.create_time AS request_time, CASE WHEN T1.requester_id = #{practitionerId} THEN '1' ELSE '0' END AS biz_request_flag, T1.content_json AS content_json, @@ -280,6 +283,7 @@ NULL::timestamp AS stop_time, '' AS stop_user_name FROM wor_device_request AS T1 + LEFT JOIN adm_practitioner AS ap ON ap.id = T1.requester_id AND ap.delete_flag = '0' LEFT JOIN adm_device_definition AS T2 ON T2.ID = T1.device_def_id AND T2.delete_flag = '0' LEFT JOIN adm_charge_item AS T3 @@ -300,6 +304,7 @@ T1.id AS request_id, T1.id || '-3' AS unique_key, T1.requester_id AS requester_id, + ap.name AS requester_id_dict_text, T1.create_time AS request_time, CASE WHEN T1.requester_id = #{practitionerId} THEN '1' ELSE '0' END AS biz_request_flag, T1.content_json AS content_json, @@ -334,6 +339,7 @@ T1.occurrence_end_time AS stop_time, T1.update_by AS stop_user_name FROM wor_service_request AS T1 + LEFT JOIN adm_practitioner AS ap ON ap.id = T1.requester_id AND ap.delete_flag = '0' LEFT JOIN wor_activity_definition AS T2 ON T2.ID = T1.activity_id AND T2.delete_flag = '0' diff --git a/healthlink-his-ui/src/views/appoinmentmanage/deptManage/doctorschedule/index.vue b/healthlink-his-ui/src/views/appoinmentmanage/deptManage/doctorschedule/index.vue index 725eaebba..e00c1f7e7 100755 --- a/healthlink-his-ui/src/views/appoinmentmanage/deptManage/doctorschedule/index.vue +++ b/healthlink-his-ui/src/views/appoinmentmanage/deptManage/doctorschedule/index.vue @@ -92,6 +92,7 @@ placeholder="请选" class="inline-select" :disabled="!isEditMode" + clearable > +