diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java index 0f0a8b21..ee961a99 100755 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java @@ -35,7 +35,51 @@ import com.openhis.medication.service.IMedicationDispenseService; import com.openhis.medication.service.IMedicationRequestService; import com.openhis.web.chargemanage.mapper.OutpatientRegistrationAppMapper; import com.openhis.web.doctorstation.appservice.IDoctorStationAdviceAppService; -import com.openhis.web.doctorstation.dto.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.stream.Collectors; + +@Service +public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAppService { + + @Autowired + private IChargeItemService chargeItemService; + + /** + * 查询护理级别相关的医嘱项目 + */ + @Override + public R> getNursingLevelItems(String keyword) { + try { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ChargeItem::getDelFlag, DelFlag.NORMAL) + .and(wrapper -> wrapper.like(ChargeItem::getItemName, keyword) + .or() + .like(ChargeItem::getItemCode, keyword)) + .orderByAsc(ChargeItem::getItemName); + + List chargeItems = chargeItemService.list(queryWrapper); + + // 过滤出与护理相关的项目 + List nursingItems = chargeItems.stream() + .filter(item -> item.getItemName().contains("护理") || + item.getItemName().toLowerCase().contains("nursing") || + item.getItemCategory() != null && + (item.getItemCategory().contains("护理") || + item.getItemCategory().toLowerCase().contains("nursing"))) + .collect(Collectors.toList()); + + return R.ok(nursingItems); + } catch (Exception e) { + // 记录错误日志但返回空列表避免前端显示错误 + System.out.println("查询护理级别项目失败: " + e.getMessage()); + return R.ok(); + } + } +} +```mport com.openhis.web.doctorstation.dto.*; import com.openhis.web.doctorstation.mapper.DoctorStationAdviceAppMapper; import com.openhis.web.doctorstation.utils.AdviceUtils; import com.openhis.web.doctorstation.utils.DoctorStationSendApplyUtil;