Merge remote-tracking branch 'origin/develop' into zhaoyun

This commit is contained in:
2026-06-17 13:03:41 +08:00
2 changed files with 34 additions and 2 deletions

View File

@@ -1071,14 +1071,23 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService {
.filter(e -> ItemType.MEDICINE.getValue().equals(e.getAdviceType())).collect(Collectors.toList());
List<Long> medicineRequestIds
= medicineList.stream().map(AdviceBatchOpParam::getRequestId).collect(Collectors.toList());
// 诊疗包含护理adviceType=26、文字医嘱adviceType=8
// 耗材 (DEVICE = 2)
List<AdviceBatchOpParam> deviceList = paramList.stream()
.filter(e -> ItemType.DEVICE.getValue().equals(e.getAdviceType())).collect(Collectors.toList());
List<Long> deviceRequestIds
= deviceList.stream().map(AdviceBatchOpParam::getRequestId).collect(Collectors.toList());
// 诊疗(包含 医疗活动=3、手术=6、文字医嘱=8、护理=26 等,都属于 service_request
List<AdviceBatchOpParam> activityList = paramList.stream()
.filter(e -> ItemType.ACTIVITY.getValue().equals(e.getAdviceType())
|| ItemType.TEXT.getValue().equals(e.getAdviceType())
|| ItemType.SURGERY.getValue().equals(e.getAdviceType())
|| (e.getAdviceType() != null && e.getAdviceType() == 26))
.collect(Collectors.toList());
List<Long> activityRequestIds
= activityList.stream().map(AdviceBatchOpParam::getRequestId).collect(Collectors.toList());
// 查询已完成的药品请求
List<MedicationRequest> medicineCompleteList = new ArrayList<>();
if (!medicineRequestIds.isEmpty()) {
@@ -1093,7 +1102,15 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService {
.eq(ServiceRequest::getStatusEnum, RequestStatus.COMPLETED.getValue())
.in(ServiceRequest::getId, activityRequestIds));
}
if (!medicineCompleteList.isEmpty() || !activityCompleteList.isEmpty()) {
// 查询已完成的器材/耗材请求
List<DeviceRequest> deviceCompleteList = new ArrayList<>();
if (!deviceRequestIds.isEmpty()) {
deviceCompleteList = iDeviceRequestService.list(new LambdaQueryWrapper<DeviceRequest>()
.eq(DeviceRequest::getStatusEnum, RequestStatus.COMPLETED.getValue())
.in(DeviceRequest::getId, deviceRequestIds));
}
if (!medicineCompleteList.isEmpty() || !activityCompleteList.isEmpty() || !deviceCompleteList.isEmpty()) {
throw new ServiceException("存在已完成的医嘱,请重新选择");
}
if (!medicineRequestIds.isEmpty()) {
@@ -1104,9 +1121,15 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService {
// 根据请求id更新请求状态
iServiceRequestService.updateDraftStatusBatch(activityRequestIds);
}
if (!deviceRequestIds.isEmpty()) {
// 根据请求id更新请求状态
iDeviceRequestService.updateDraftStatusBatch(deviceRequestIds);
}
List<Long> requestIdList = new ArrayList<>();
requestIdList.addAll(medicineRequestIds);
requestIdList.addAll(activityRequestIds);
requestIdList.addAll(deviceRequestIds);
// 根据请求编号列表查询收费项目信息
List<ChargeItem> chargeItemList = iChargeItemService.getChargeItemInfoByReqId(requestIdList);
List<Long> chargeItemIdList = chargeItemList.stream().map(ChargeItem::getId).collect(Collectors.toList());

View File

@@ -262,6 +262,9 @@ public class ChargeItemServiceImpl extends ServiceImpl<ChargeItemMapper, ChargeI
*/
@Override
public List<ChargeItem> getChargeItemInfoByReqId(List<Long> requestIdList) {
if (requestIdList == null || requestIdList.isEmpty()) {
return new ArrayList<>();
}
return baseMapper.selectList(new LambdaQueryWrapper<ChargeItem>().in(ChargeItem::getServiceId, requestIdList)
.eq(ChargeItem::getDeleteFlag, DelFlag.NO.getCode()));
}
@@ -274,6 +277,9 @@ public class ChargeItemServiceImpl extends ServiceImpl<ChargeItemMapper, ChargeI
*/
@Override
public List<ChargeItemBaseInfoDto> getChargeItemBaseInfoByIds(List<Long> collect) {
if (collect == null || collect.isEmpty()) {
return new ArrayList<>();
}
return baseMapper.getChargeItemBaseInfoByIds(collect);
}
@@ -285,6 +291,9 @@ public class ChargeItemServiceImpl extends ServiceImpl<ChargeItemMapper, ChargeI
*/
@Override
public List<ChargeItemDefInfo> getChargeItemDefInfoByIds(List<Long> chargeItemIds) {
if (chargeItemIds == null || chargeItemIds.isEmpty()) {
return new ArrayList<>();
}
return baseMapper.getChargeItemDefInfoByIds(chargeItemIds);
}