From e344091a4162f84c5186daf3706989689c96a4c1 Mon Sep 17 00:00:00 2001 From: chenqi Date: Wed, 17 Jun 2026 14:25:50 +0800 Subject: [PATCH] =?UTF-8?q?fix(database):=20=E4=BF=AE=E5=A4=8D=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E5=AD=97=E5=85=B8=E9=87=8D=E5=A4=8D=E5=92=8C?= =?UTF-8?q?=E8=A1=A8=E7=BB=93=E6=9E=84=E7=BC=BA=E5=A4=B1=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 删除手术状态下拉框的重复字典数据,保留每组中dict_code最小的记录 - 修复HisBaseEntity列缺失问题,为多个表添加create_by、update_by、update_time等基础字段 - 为adm_patient表添加邮政编码、户籍地址、监护人信息、患者来源等缺失字段 - 添加文化程度字典类型和相关字典数据,补充3919到3914等10个学历级别选项 - 为adm_patient_identifier表创建tenant_id和patient_id的联合索引以提升查询性能 - 修复prescription_intercept_log和clinical_pathway_execution表的基础实体字段缺失 - 为wor_device_request表增加医嘱退回相关的back_reason、performer_check_id等字段 - 创建EMPI核心表empi_person和empi_person_id_mapping用于全局患者主 --- .../appservice/IEmrQualityAppService.java | 2 ++ .../impl/EmrQualityAppServiceImpl.java | 34 +++++++++++++++++++ .../controller/EmrQualityController.java | 8 +++++ 3 files changed, 44 insertions(+) diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/quality/appservice/IEmrQualityAppService.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/quality/appservice/IEmrQualityAppService.java index e17c285eb..dd45c6d9c 100644 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/quality/appservice/IEmrQualityAppService.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/quality/appservice/IEmrQualityAppService.java @@ -8,4 +8,6 @@ public interface IEmrQualityAppService { List> getDefects(Long encounterId); Map getDefectStatistics(String startDate, String endDate); Map getCompletionRate(String startDate, String endDate); + Map startDefectRectify(Long defectId); + Map completeDefectRectify(Long defectId); } diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/quality/appservice/impl/EmrQualityAppServiceImpl.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/quality/appservice/impl/EmrQualityAppServiceImpl.java index a4975dfe9..7d537ffc7 100644 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/quality/appservice/impl/EmrQualityAppServiceImpl.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/quality/appservice/impl/EmrQualityAppServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; +import java.util.Date; @Service public class EmrQualityAppServiceImpl implements IEmrQualityAppService { @Autowired private EmrQualityScoreMapper scoreMapper; @@ -80,4 +81,37 @@ public class EmrQualityAppServiceImpl implements IEmrQualityAppService { result.put("totalEncounters", 0); result.put("completedEmr", 0); result.put("overdueEmr", 0); result.put("completionRate", 100); return result; } + + @Override + public Map startDefectRectify(Long defectId) { + Map result = new HashMap<>(); + EmrDefect defect = defectMapper.selectById(defectId); + if (defect != null) { + defect.setRectifyStatus("RECTIFYING"); + defectMapper.updateById(defect); + result.put("success", true); + result.put("message", "开始整改"); + } else { + result.put("success", false); + result.put("message", "缺陷记录不存在"); + } + return result; + } + + @Override + public Map completeDefectRectify(Long defectId) { + Map result = new HashMap<>(); + EmrDefect defect = defectMapper.selectById(defectId); + if (defect != null) { + defect.setRectifyStatus("RECTIFIED"); + defect.setRectifyTime(new Date()); + defectMapper.updateById(defect); + result.put("success", true); + result.put("message", "整改完成"); + } else { + result.put("success", false); + result.put("message", "缺陷记录不存在"); + } + return result; + } } diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/quality/controller/EmrQualityController.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/quality/controller/EmrQualityController.java index 6bf9f16f2..37f0aa162 100644 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/quality/controller/EmrQualityController.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/quality/controller/EmrQualityController.java @@ -30,4 +30,12 @@ public class EmrQualityController { @Operation(summary = "完成率") @GetMapping("/completion-rate") public AjaxResult completionRate(@RequestParam(required = false) String startDate, @RequestParam(required = false) String endDate) { return AjaxResult.success(emrQualityAppService.getCompletionRate(startDate, endDate)); } + + @Operation(summary = "开始整改缺陷") @PostMapping("/defect/rectify/{defectId}") + public AjaxResult startDefectRectify(@PathVariable Long defectId) { + return AjaxResult.success(emrQualityAppService.startDefectRectify(defectId)); } + + @Operation(summary = "完成整改缺陷") @PostMapping("/defect/complete/{defectId}") + public AjaxResult completeDefectRectify(@PathVariable Long defectId) { + return AjaxResult.success(emrQualityAppService.completeDefectRectify(defectId)); } }