diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/ATDManageAppServiceImpl.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/ATDManageAppServiceImpl.java index ec4b53811..41a18c929 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/ATDManageAppServiceImpl.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/ATDManageAppServiceImpl.java @@ -893,7 +893,8 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { public R getPendingMedication(Long encounterId) { Integer tenantId = SecurityUtils.getLoginUser().getTenantId(); return R.ok(atdManageAppMapper.getPendingMedication(encounterId, DispenseStatus.EXECUTED.getValue(), - DispenseStatus.SUBMITTED.getValue(), RequestStatus.CANCELLED.getValue(), tenantId)); + DispenseStatus.SUBMITTED.getValue(), RequestStatus.CANCELLED.getValue(), + DispenseStatus.PENDING_REFUND.getValue(), tenantId)); } /** @@ -1329,4 +1330,3 @@ public class ATDManageAppServiceImpl implements IATDManageAppService { } } } - diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/mapper/ATDManageAppMapper.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/mapper/ATDManageAppMapper.java index c79c9e9b1..c3ea51e26 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/mapper/ATDManageAppMapper.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/mapper/ATDManageAppMapper.java @@ -111,7 +111,8 @@ public interface ATDManageAppMapper { **/ List getPendingMedication(@Param("encounterId") Long encounterId, @Param("preparationStatus") Integer preparationStatus, @Param("summarizedStatus") Integer summarizedStatus, - @Param("requestStatus") Integer requestStatus, @Param("tenantId") Integer tenantId); + @Param("requestStatus") Integer requestStatus, @Param("pendingRefundStatus") Integer pendingRefundStatus, + @Param("tenantId") Integer tenantId); /** * 查询医嘱分页列表 diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/appservice/impl/PatientHomeAppServiceImpl.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/appservice/impl/PatientHomeAppServiceImpl.java index 686273a5a..0d11dbefb 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/appservice/impl/PatientHomeAppServiceImpl.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inpatientmanage/appservice/impl/PatientHomeAppServiceImpl.java @@ -82,7 +82,11 @@ public class PatientHomeAppServiceImpl implements IPatientHomeAppService { // 血型RH e.setBloodRh_enumText(EnumUtils.getInfoByValue(BloodTypeRH.class, e.getBloodRh())); // 患者状态 - e.setStatusEnum_enumText(EnumUtils.getInfoByValue(EncounterStatus.class, e.getStatusEnum())); + if (EncounterClass.IMP.getValue().equals(e.getClassEnum())) { + e.setStatusEnum_enumText(EnumUtils.getInfoByValue(EncounterZyStatus.class, e.getStatusEnum())); + } else { + e.setStatusEnum_enumText(EnumUtils.getInfoByValue(EncounterStatus.class, e.getStatusEnum())); + } // 职业 e.setPrfsEnum_enumText(EnumUtils.getInfoByValue(OccupationType.class, e.getPrfsEnum())); // 联系人关系 @@ -253,13 +257,23 @@ public class PatientHomeAppServiceImpl implements IPatientHomeAppService { // 出院 boolean encounterSuccess; // 1.就诊管理表 + Encounter existingEncounter = encounterService.getById(encounterId); + Integer targetStatus; + if (existingEncounter != null && EncounterClass.IMP.getValue().equals(existingEncounter.getClassEnum())) { + // 住院就诊:状态流转为待出院结算 (DISCHARGED_FROM_HOSPITAL) + targetStatus = EncounterZyStatus.DISCHARGED_FROM_HOSPITAL.getValue(); + } else { + // 默认或门诊就诊:状态流转为完成 (COMPLETED) + targetStatus = EncounterStatus.COMPLETED.getValue(); + } + Encounter encounter = new Encounter(); // 就诊ID encounter.setId(encounterId) // 患者ID .setPatientId(patientId) // 状态编码 - .setStatusEnum(EncounterStatus.COMPLETED.getValue()) + .setStatusEnum(targetStatus) // 结束时间 .setEndTime(DischargeHospitalYmd); diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/regdoctorstation/appservice/impl/AdviceManageAppServiceImpl.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/regdoctorstation/appservice/impl/AdviceManageAppServiceImpl.java index cebf7313b..fddbef93f 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/regdoctorstation/appservice/impl/AdviceManageAppServiceImpl.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/regdoctorstation/appservice/impl/AdviceManageAppServiceImpl.java @@ -349,8 +349,9 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { } } else if (ItemType.ACTIVITY.getValue().equals(adviceType) + || ItemType.TEXT.getValue().equals(adviceType) || (adviceType != null && (adviceType == 26 || adviceType == 31))) { - // 诊疗活动删除(包括护理type=26和未知类型type=31) + // 诊疗活动删除(包括文字医嘱type=8、护理type=26和未知类型type=31) ServiceRequest serviceRequest = iServiceRequestService.getById(requestId); if (serviceRequest != null) { if (!RequestStatus.DRAFT.getValue().equals(serviceRequest.getStatusEnum())) { @@ -1087,6 +1088,7 @@ public class AdviceManageAppServiceImpl implements IAdviceManageAppService { List activityList = paramList.stream() .filter(e -> ItemType.ACTIVITY.getValue().equals(e.getAdviceType()) || ItemType.SURGERY.getValue().equals(e.getAdviceType()) + || ItemType.TEXT.getValue().equals(e.getAdviceType()) || (e.getAdviceType() != null && e.getAdviceType() == 26)) .collect(Collectors.toList()); List activityRequestIds diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/inhospitalnursestation/ATDManageAppMapper.xml b/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/inhospitalnursestation/ATDManageAppMapper.xml index 87960fa99..4cd43c314 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/inhospitalnursestation/ATDManageAppMapper.xml +++ b/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/inhospitalnursestation/ATDManageAppMapper.xml @@ -417,9 +417,9 @@ mmr.unit_code, mmdi.dispense_quantity, aci.total_price, - mmdi.practitioner_id AS dispense_practitioner_id, - ap.name AS dispense_practitioner_name, - mmdi.planned_dispense_time, + mmdi.dispense_time AS planned_dispense_time, + NULL AS dispense_practitioner_id, + NULL AS dispense_practitioner_name, mmdi.status_enum AS dispense_status_enum, mmr.status_enum AS request_status_enum @@ -448,7 +448,8 @@ AND ap.delete_flag = '0' WHERE mmr.encounter_id = #{encounterId} AND ((mmdi.status_enum = #{preparationStatus} - OR mmdi.status_enum = #{summarizedStatus}) + OR mmdi.status_enum = #{summarizedStatus} + OR mmdi.status_enum = #{pendingRefundStatus}) OR mmr.status_enum = #{requestStatus})