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.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -400,7 +401,7 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService {
|
|||||||
// 计划出院时间
|
// 计划出院时间
|
||||||
Date endTime = leaveHospitalParam.getEndTime();
|
Date endTime = leaveHospitalParam.getEndTime();
|
||||||
if (endTime == null) {
|
if (endTime == null) {
|
||||||
endTime = endTime;
|
endTime = new Date();
|
||||||
}
|
}
|
||||||
// 就诊id
|
// 就诊id
|
||||||
Long encounterId = leaveHospitalParam.getEncounterId();
|
Long encounterId = leaveHospitalParam.getEncounterId();
|
||||||
@@ -429,9 +430,12 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 出院的医嘱信息
|
// 出院的医嘱信息
|
||||||
AdviceBaseDto activityAdviceBaseDto = iDoctorStationAdviceAppService.getAdviceBaseInfo(null, null, null,
|
List<AdviceBaseDto> adviceList = iDoctorStationAdviceAppService.getAdviceBaseInfo(null, null, null,
|
||||||
List.of(transferOrganizationDefinitionId), null, 1, 1, Whether.NO.getValue(), List.of(3), null, null).getRecords()
|
List.of(transferOrganizationDefinitionId), null, 1, 1, Whether.NO.getValue(), List.of(3), null, null).getRecords();
|
||||||
.get(0);
|
if (CollectionUtils.isEmpty(adviceList)) {
|
||||||
|
return R.fail("未找到出院医嘱定义数据,请确认诊疗目录中已配置出院医嘱");
|
||||||
|
}
|
||||||
|
AdviceBaseDto activityAdviceBaseDto = adviceList.get(0);
|
||||||
// 保存出院医嘱请求
|
// 保存出院医嘱请求
|
||||||
ServiceRequest serviceRequest = new ServiceRequest();
|
ServiceRequest serviceRequest = new ServiceRequest();
|
||||||
serviceRequest.setStatusEnum(RequestStatus.DRAFT.getValue());// 请求状态
|
serviceRequest.setStatusEnum(RequestStatus.DRAFT.getValue());// 请求状态
|
||||||
|
|||||||
Reference in New Issue
Block a user