From 802f84523165280e425fe1ad054502b183e1d2bc Mon Sep 17 00:00:00 2001 From: nanyangbreeze <1955231298@qq.com> Date: Tue, 27 Jan 2026 09:26:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A3=80=E9=AA=8C=E9=A1=B9=E7=9B=AE=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE-=E5=A5=97=E9=A4=90=E8=AE=BE=E7=BD=AE-=E5=A5=97?= =?UTF-8?q?=E9=A4=90=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/CheckPackageAppServiceImpl.java | 19 +- .../sql/diagnose_treatment_items_issue.sql | 6 + .../Inspection/PackageManagement.vue | 192 ++++++++++++++--- .../views/maintainSystem/Inspection/index.vue | 7 + .../checkprojectSettings/index.vue | 199 ++++++++++++++++-- 5 files changed, 369 insertions(+), 54 deletions(-) diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/check/appservice/impl/CheckPackageAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/check/appservice/impl/CheckPackageAppServiceImpl.java index 60221610..9a6d8a9b 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/check/appservice/impl/CheckPackageAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/check/appservice/impl/CheckPackageAppServiceImpl.java @@ -118,7 +118,24 @@ public class CheckPackageAppServiceImpl implements ICheckPackageAppService { return R.ok(checkPackage.getId(), "保存成功"); } catch (Exception e) { log.error("新增检查套餐失败", e); - return R.fail("新增检查套餐失败: " + e.getMessage()); + + // 捕获PostgreSQL唯一约束冲突异常 + String errorMessage = e.getMessage(); + if (errorMessage != null) { + // PostgreSQL唯一约束错误通常包含 "duplicate key value" 或约束名称 + if (errorMessage.contains("duplicate key value") || + errorMessage.contains("违反唯一约束") || + errorMessage.contains("unique constraint")) { + // 提取约束名称或字段信息 + String constraintInfo = ""; + if (errorMessage.contains("check_package")) { + constraintInfo = "套餐名称或编码"; + } + return R.fail("保存失败:数据重复," + constraintInfo + "已存在。详细错误:" + errorMessage); + } + } + + return R.fail("新增检查套餐失败: " + errorMessage); } } diff --git a/openhis-server-new/sql/diagnose_treatment_items_issue.sql b/openhis-server-new/sql/diagnose_treatment_items_issue.sql index 135aa5d5..c79e72af 100644 --- a/openhis-server-new/sql/diagnose_treatment_items_issue.sql +++ b/openhis-server-new/sql/diagnose_treatment_items_issue.sql @@ -93,6 +93,12 @@ WHERE aci.context_enum = 'ACTIVITY' + + + + + + diff --git a/openhis-ui-vue3/src/views/maintainSystem/Inspection/PackageManagement.vue b/openhis-ui-vue3/src/views/maintainSystem/Inspection/PackageManagement.vue index bfd19e28..6faa4562 100644 --- a/openhis-ui-vue3/src/views/maintainSystem/Inspection/PackageManagement.vue +++ b/openhis-ui-vue3/src/views/maintainSystem/Inspection/PackageManagement.vue @@ -1,5 +1,6 @@