diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/ServiceRequestServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/ServiceRequestServiceImpl.java index b04d7b1fa..45add69da 100755 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/ServiceRequestServiceImpl.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/ServiceRequestServiceImpl.java @@ -198,8 +198,14 @@ public class ServiceRequestServiceImpl extends ServiceImpl serviceRequestIdList, Long practitionerId, Date checkDate, String backReason) { - baseMapper.update(new ServiceRequest().setStatusEnum(RequestStatus.DRAFT.getValue()) - .setPerformerCheckId(SecurityUtils.getLoginUser().getPractitionerId()).setCheckTime(DateUtils.getNowDate()), + ServiceRequest updateEntity = new ServiceRequest() + .setStatusEnum(RequestStatus.DRAFT.getValue()) + .setPerformerCheckId(SecurityUtils.getLoginUser().getPractitionerId()) + .setCheckTime(DateUtils.getNowDate()); + if (backReason != null && !backReason.isEmpty()) { + updateEntity.setReasonText(backReason); + } + baseMapper.update(updateEntity, new LambdaUpdateWrapper().in(ServiceRequest::getId, serviceRequestIdList) .eq(ServiceRequest::getDeleteFlag, DelFlag.NO.getCode())); } diff --git a/sql/迁移记录-DB变更记录/20260529_fix_BUG#613_add_column_back_reason.sql b/sql/迁移记录-DB变更记录/20260529_fix_BUG#613_add_column_back_reason.sql new file mode 100644 index 000000000..08f941cd5 --- /dev/null +++ b/sql/迁移记录-DB变更记录/20260529_fix_BUG#613_add_column_back_reason.sql @@ -0,0 +1,13 @@ +-- Bug #613: 医嘱退回流程 — med_medication_request 表缺少退回原因字段 +-- 执行前检查:如果列已存在则跳过 +DO $$ +BEGIN + IF NOT EXISTS ( + SELECT 1 FROM information_schema.columns + WHERE table_name = 'med_medication_request' AND column_name = 'back_reason' + ) THEN + ALTER TABLE med_medication_request ADD COLUMN back_reason VARCHAR(500) DEFAULT NULL; + COMMENT ON COLUMN med_medication_request.back_reason IS '退回原因'; + END IF; +END +$$;