fix: Bug #609 - 出院申请 Index:0 IndexOutOfBoundsException
Root Cause: SpecialAdviceAppServiceImpl.saveLeaveHospitalOrders() 在第 436 行调用 .getRecords().get(0) 时,如果 getAdviceBaseInfo 返回空列表,会抛出 IndexOutOfBoundsException。 Fix: 1. 用 CollectionUtils.isEmpty() 判空,空时返回友好错误提示 2. 修复 endTime = endTime 的无操作逻辑,改为默认当前时间
This commit is contained in:
@@ -28,6 +28,7 @@ import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -400,7 +401,7 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService {
|
||||
// 计划出院时间
|
||||
Date endTime = leaveHospitalParam.getEndTime();
|
||||
if (endTime == null) {
|
||||
endTime = endTime;
|
||||
endTime = new Date();
|
||||
}
|
||||
// 就诊id
|
||||
Long encounterId = leaveHospitalParam.getEncounterId();
|
||||
@@ -429,9 +430,12 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService {
|
||||
}
|
||||
|
||||
// 出院的医嘱信息
|
||||
AdviceBaseDto activityAdviceBaseDto = iDoctorStationAdviceAppService.getAdviceBaseInfo(null, null, null,
|
||||
List.of(transferOrganizationDefinitionId), null, 1, 1, Whether.NO.getValue(), List.of(3), null, null).getRecords()
|
||||
.get(0);
|
||||
List<AdviceBaseDto> adviceList = iDoctorStationAdviceAppService.getAdviceBaseInfo(null, null, null,
|
||||
List.of(transferOrganizationDefinitionId), null, 1, 1, Whether.NO.getValue(), List.of(3), null, null).getRecords();
|
||||
if (CollectionUtils.isEmpty(adviceList)) {
|
||||
return R.fail("未找到出院医嘱定义数据,请确认诊疗目录中已配置出院医嘱");
|
||||
}
|
||||
AdviceBaseDto activityAdviceBaseDto = adviceList.get(0);
|
||||
// 保存出院医嘱请求
|
||||
ServiceRequest serviceRequest = new ServiceRequest();
|
||||
serviceRequest.setStatusEnum(RequestStatus.DRAFT.getValue());// 请求状态
|
||||
|
||||
Reference in New Issue
Block a user