From 330bc14c6fc7fccb47f9b9ecc57598f228d3caa5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=8E=E4=BD=97?= Date: Sun, 7 Jun 2026 12:47:10 +0800 Subject: [PATCH] =?UTF-8?q?feat(V39):=20=E5=8D=B1=E6=80=A5=E5=80=BC?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=A2=9E=E5=BC=BA=20=E2=80=94=20=E5=89=8D?= =?UTF-8?q?=E7=AB=AF=E9=87=8D=E6=9E=84+DB=E4=BF=AE=E5=A4=8D+4/4=20API?= =?UTF-8?q?=E9=80=9A=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 前端增强: - CriticalValue pending页面: Tab切换(待确认/超时列表) - 统计卡片: 待确认/已确认/已关闭/超时未确认 - 操作流程: 上报→确认接收→处理→关闭完整闭环 - API文件: 7个接口封装 数据库修复: - critical_value: 添加delete_flag/create_by/update_by/update_time列 - 放宽encounter_id/lab_result_id/patient_id NOT NULL约束 后端修复: - CriticalValue实体: 移除冗余delFlag,使用HisBaseEntity.deleteFlag - CriticalValueAppServiceImpl: delFlag→deleteFlag迁移 测试: 4/4 API全部通过(上报/待确认列表/统计/超时列表) --- .../impl/CriticalValueAppServiceImpl.java | 10 +- .../criticalvalue/domain/CriticalValue.java | 1 - .../src/views/criticalvalue/api.js | 9 ++ .../src/views/criticalvalue/pending/index.vue | 99 ++++++++++++++----- 4 files changed, 90 insertions(+), 29 deletions(-) create mode 100644 healthlink-his-ui/src/views/criticalvalue/api.js diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/criticalvalue/appservice/impl/CriticalValueAppServiceImpl.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/criticalvalue/appservice/impl/CriticalValueAppServiceImpl.java index 581aada3b..7bf298ba4 100644 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/criticalvalue/appservice/impl/CriticalValueAppServiceImpl.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/criticalvalue/appservice/impl/CriticalValueAppServiceImpl.java @@ -13,7 +13,7 @@ public class CriticalValueAppServiceImpl implements ICriticalValueAppService { @Override public CriticalValue reportCriticalValue(CriticalValue cv) { cv.setStatus("PENDING"); - cv.setDelFlag("0"); + cv.setDeleteFlag("0"); cv.setReportTime(new Date()); criticalValueService.save(cv); return cv; @@ -47,7 +47,7 @@ public class CriticalValueAppServiceImpl implements ICriticalValueAppService { @Override public List getPendingList() { return criticalValueService.list(new LambdaQueryWrapper() - .eq(CriticalValue::getStatus, "PENDING").eq(CriticalValue::getDelFlag, "0") + .eq(CriticalValue::getStatus, "PENDING").eq(CriticalValue::getDeleteFlag, "0") .orderByDesc(CriticalValue::getReportTime)); } @Override @@ -56,14 +56,14 @@ public class CriticalValueAppServiceImpl implements ICriticalValueAppService { return criticalValueService.list(new LambdaQueryWrapper() .in(CriticalValue::getStatus, "PENDING", "RECEIVED") .lt(CriticalValue::getReportTime, threshold) - .eq(CriticalValue::getDelFlag, "0")); + .eq(CriticalValue::getDeleteFlag, "0")); } @Override public Map getStatistics(String startDate, String endDate) { long total = criticalValueService.count(new LambdaQueryWrapper() - .eq(CriticalValue::getDelFlag, "0")); + .eq(CriticalValue::getDeleteFlag, "0")); long closed = criticalValueService.count(new LambdaQueryWrapper() - .eq(CriticalValue::getStatus, "CLOSED").eq(CriticalValue::getDelFlag, "0")); + .eq(CriticalValue::getStatus, "CLOSED").eq(CriticalValue::getDeleteFlag, "0")); long overdue = getOverdueList().size(); Map result = new HashMap<>(); result.put("total", total); diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/criticalvalue/domain/CriticalValue.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/criticalvalue/domain/CriticalValue.java index 471a94167..2ebf581d1 100644 --- a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/criticalvalue/domain/CriticalValue.java +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/criticalvalue/domain/CriticalValue.java @@ -35,5 +35,4 @@ public class CriticalValue extends HisBaseEntity { private String handleResult; private Date closeTime; private String status; - private String delFlag; } diff --git a/healthlink-his-ui/src/views/criticalvalue/api.js b/healthlink-his-ui/src/views/criticalvalue/api.js new file mode 100644 index 000000000..02e55143c --- /dev/null +++ b/healthlink-his-ui/src/views/criticalvalue/api.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +export function reportCriticalValue(data) { return request({ url: '/healthlink-his/api/v1/critical-value/report', method: 'post', data }) } +export function confirmCriticalValue(id, params) { return request({ url: '/healthlink-his/api/v1/critical-value/confirm/' + id, method: 'put', params }) } +export function processCriticalValue(id, params) { return request({ url: '/healthlink-his/api/v1/critical-value/process/' + id, method: 'put', params }) } +export function closeCriticalValue(id) { return request({ url: '/healthlink-his/api/v1/critical-value/close/' + id, method: 'put' }) } +export function getPendingList() { return request({ url: '/healthlink-his/api/v1/critical-value/pending', method: 'get' }) } +export function getOverdueList() { return request({ url: '/healthlink-his/api/v1/critical-value/overdue', method: 'get' }) } +export function getStatistics(params) { return request({ url: '/healthlink-his/api/v1/critical-value/statistics', method: 'get', params }) } diff --git a/healthlink-his-ui/src/views/criticalvalue/pending/index.vue b/healthlink-his-ui/src/views/criticalvalue/pending/index.vue index a8bfd934b..cd05dc9dd 100644 --- a/healthlink-his-ui/src/views/criticalvalue/pending/index.vue +++ b/healthlink-his-ui/src/views/criticalvalue/pending/index.vue @@ -1,31 +1,84 @@ +