149 门诊管理-》门诊输液查询不到患者已收费注射类的药品信息

This commit is contained in:
HuangXinQuan
2026-03-13 09:44:32 +08:00
parent 2eec988c56
commit 473a5f7f06
9 changed files with 104 additions and 25 deletions

View File

@@ -622,6 +622,37 @@ public class PaymentRecServiceImpl implements IPaymentRecService {
});
if (!medicationRequestIdList.isEmpty()) {
// 获取药品请求信息,为输液类药品生成服务请求
List<MedicationRequest> medicationRequests = medicationRequestService.listByIds(medicationRequestIdList);
// 为输液类药品生成 wor_service_request 记录
for (MedicationRequest medReq : medicationRequests) {
if (medReq.getInfusionFlag() != null && medReq.getInfusionFlag() == 1) {
ServiceRequest serviceRequest = new ServiceRequest();
serviceRequest.setBasedOnId(medReq.getId())
.setBasedOnTable(CommonConstants.TableName.MED_MEDICATION_REQUEST)
.setEncounterId(medReq.getEncounterId())
.setPatientId(medReq.getPatientId())
.setActivityId(medReq.getMedicationId())
.setStatusEnum(RequestStatus.ACTIVE.getValue()) // 状态设为已发送 (2),这样门诊输液页面才能查到
.setGroupId(medReq.getGroupId())
.setOrgId(medReq.getOrgId())
.setRequesterId(medReq.getPractitionerId())
.setAuthoredTime(new Date())
.setEncounterDiagnosisId(medReq.getEncounterDiagnosisId())
.setConditionId(medReq.getConditionId())
.setQuantity(medReq.getQuantity())
.setUnitCode(medReq.getUnitCode())
.setPriorityEnum(medReq.getPriorityEnum())
.setPerformFlag(Whether.NO.getValue())
.setIntentEnum(medReq.getIntentEnum())
.setCategoryEnum(medReq.getCategoryEnum())
.setYbClassEnum(medReq.getYbClassEnum())
.setBusNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.SERVICE_RES_NO.getPrefix(), 4));
serviceRequestService.save(serviceRequest);
}
}
// 更新请求状态为已完成
medicationRequestService.updateCompletedStatusBatch(medicationRequestIdList, null, null);
// 更新药品发放状态为待配药