From 10beef693b6734d30dca52f70b21d562d60edd7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=8E=E4=BD=97?= Date: Fri, 29 May 2026 10:44:49 +0800 Subject: [PATCH] =?UTF-8?q?fix(#613):=20=E4=BF=AE=E5=A4=8D=E7=BC=96?= =?UTF-8?q?=E8=AF=91=E9=94=99=E8=AF=AF=20=E2=80=94=20updateCancelledStatus?= =?UTF-8?q?Batch=20=E8=AF=AF=E7=94=A8=20backReason=20=E5=8F=82=E6=95=B0=20?= =?UTF-8?q?+=20=E6=89=80=E6=9C=89=E8=B0=83=E7=94=A8=E6=96=B9=E8=A1=A5?= =?UTF-8?q?=E9=BD=90=204=20=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因: - Bug #613 修复时 updateCancelledStatusBatch 复制了 backReason 逻辑但该方法没有该参数 - IServiceRequestService.updateDraftStatus 接口增加了 backReason 参数,但 5 个调用方未更新 - 旧 pipeline(未重启)的 mvn compile 质量门禁未生效 修复: - MedicationRequestServiceImpl: 移除 updateCancelledStatusBatch 中的 backReason 引用 - ServiceRequestServiceImpl: 补齐 updateDraftStatus 的 backReason 参数 - 5 个调用方补齐第 4 个参数 (null) - 旧 pipeline 已修复(二进制 + systemd 重启) --- .../appservice/impl/DoctorStationAdviceAppServiceImpl.java | 2 +- .../appservice/impl/AdviceProcessAppServiceImpl.java | 4 ++-- .../appservice/impl/OutpatientInfusionAppServiceImpl.java | 2 +- .../appservice/impl/AdviceManageAppServiceImpl.java | 2 +- .../medication/service/impl/MedicationRequestServiceImpl.java | 3 --- .../workflow/service/impl/ServiceRequestServiceImpl.java | 2 +- 6 files changed, 6 insertions(+), 9 deletions(-) diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java index 225d47c8c..fb16f5140 100755 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java @@ -2325,7 +2325,7 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp log.info("BugFix: signOffAdvice - 签退所有请求,状态改为待签发, requestIdList={}", requestIdList); // 尝试签退药品请求(只有存在的才会更新) - iMedicationRequestService.updateDraftStatusBatch(requestIdList, null, null); + iMedicationRequestService.updateDraftStatusBatch(requestIdList, null, null, null); // 尝试签退耗材请求(只有存在的才会更新) iDeviceRequestService.updateDraftStatusBatch(requestIdList); // 尝试签退诊疗请求(只有存在的才会更新) diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/AdviceProcessAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/AdviceProcessAppServiceImpl.java index a86c601a5..6af610f4e 100755 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/AdviceProcessAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/inhospitalnursestation/appservice/impl/AdviceProcessAppServiceImpl.java @@ -416,12 +416,12 @@ public class AdviceProcessAppServiceImpl implements IAdviceProcessAppService { if (!serviceRequestList.isEmpty()) { // 更新服务请求状态待发送 serviceRequestService.updateDraftStatus( - serviceRequestList.stream().map(PerformInfoDto::getRequestId).toList(), practitionerId, checkDate); + serviceRequestList.stream().map(PerformInfoDto::getRequestId).toList(), practitionerId, checkDate, null); } if (!medRequestList.isEmpty()) { // 更新药品请求状态待发送 medicationRequestService.updateDraftStatusBatch( - medRequestList.stream().map(PerformInfoDto::getRequestId).toList(), practitionerId, checkDate); + medRequestList.stream().map(PerformInfoDto::getRequestId).toList(), practitionerId, checkDate, null); } return R.ok(null, "退回成功"); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/outpatientmanage/appservice/impl/OutpatientInfusionAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/outpatientmanage/appservice/impl/OutpatientInfusionAppServiceImpl.java index e12a5bd29..8d06a4c0b 100755 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/outpatientmanage/appservice/impl/OutpatientInfusionAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/outpatientmanage/appservice/impl/OutpatientInfusionAppServiceImpl.java @@ -256,7 +256,7 @@ public class OutpatientInfusionAppServiceImpl implements IOutpatientInfusionAppS } boolean result = serviceRequestService.updateCancelledStatus(serviceReqId, now, practitionerId, orgId); // 更新主服务请求状态为待执行 - serviceRequestService.updateDraftStatus(List.of(serviceRequest.getBasedOnId()), null, null); + serviceRequestService.updateDraftStatus(List.of(serviceRequest.getBasedOnId()), null, null, null); if (result) { // 判断是否全部取消执行 boolean exists = serviceRequestMapper.exists(new LambdaQueryWrapper() diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/appservice/impl/AdviceManageAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/appservice/impl/AdviceManageAppServiceImpl.java index f82249eee..0d7d40e8f 100755 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/appservice/impl/AdviceManageAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/appservice/impl/AdviceManageAppServiceImpl.java @@ -1059,7 +1059,7 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { } if (!medicineRequestIds.isEmpty()) { // 根据请求id更新请求状态 - iMedicationRequestService.updateDraftStatusBatch(medicineRequestIds, null, null); + iMedicationRequestService.updateDraftStatusBatch(medicineRequestIds, null, null, null); } if (!activityRequestIds.isEmpty()) { // 根据请求id更新请求状态 diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/service/impl/MedicationRequestServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/service/impl/MedicationRequestServiceImpl.java index 2194e1623..88e3320be 100755 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/service/impl/MedicationRequestServiceImpl.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/service/impl/MedicationRequestServiceImpl.java @@ -78,9 +78,6 @@ public class MedicationRequestServiceImpl extends ServiceImpl serviceRequestIdList, Long practitionerId, Date checkDate) { + public void updateDraftStatus(List serviceRequestIdList, Long practitionerId, Date checkDate, String backReason) { baseMapper.update(new ServiceRequest().setStatusEnum(RequestStatus.DRAFT.getValue()) .setPerformerCheckId(SecurityUtils.getLoginUser().getPractitionerId()).setCheckTime(DateUtils.getNowDate()), new LambdaUpdateWrapper().in(ServiceRequest::getId, serviceRequestIdList)