From ee00b234147835ebc7d9d690de3e854b355fa5c0 Mon Sep 17 00:00:00 2001 From: haomingming Date: Fri, 26 Dec 2025 12:08:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E6=8A=84=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Services/PatientOrderService.php | 55 ++++------------------------ 1 file changed, 7 insertions(+), 48 deletions(-) diff --git a/app/Services/PatientOrderService.php b/app/Services/PatientOrderService.php index 3fbd37a..b69b090 100644 --- a/app/Services/PatientOrderService.php +++ b/app/Services/PatientOrderService.php @@ -1999,74 +1999,33 @@ class PatientOrderService extends BaseService $order_prescription = OrderPrescription::getWithPage($params, ['*'], $page, $per_page); if (!empty($order_prescription['data'])) { foreach ($order_prescription['data'] as &$item) { - // 将模型对象转换为数组,避免间接修改重载元素错误 - if (is_object($item)) { - $item = $item->toArray(); - } - //处理抄方情况 $params = array(); $params['order_inquiry_id'] = $item['order_inquiry_id']; - Log::getInstance("PatientOrderService-getPatientPrescriptionOrderList")->info("处理抄方情况开始", [ - 'order_prescription_id' => $item['order_prescription_id'] ?? null, - 'order_inquiry_id' => $item['order_inquiry_id'] ?? null, - ]); $OrderInquiry = OrderInquiry::getOne($params); if (!empty($OrderInquiry)) { - Log::getInstance("PatientOrderService-getPatientPrescriptionOrderList")->info("查询到OrderInquiry", [ - 'order_inquiry_id' => $OrderInquiry['order_inquiry_id'] ?? null, - 'transfer_doctor_id' => $OrderInquiry['transfer_doctor_id'] ?? null, - ]); //为抄方订单 if (!empty($OrderInquiry['transfer_doctor_id'])) { $params = array(); - $params['doctor_id'] = $OrderInquiry['transfer_doctor_id']; + //若为抄方订单则显示原订单医生信息 + $params['doctor_id'] = $OrderInquiry['doctor_id']; $fields = ['doctor_id','user_name','doctor_title']; - Log::getInstance("PatientOrderService-getPatientPrescriptionOrderList")->info("查询UserDoctor", [ - 'transfer_doctor_id' => $OrderInquiry['transfer_doctor_id'], - ]); $UserDoctor = UserDoctor::getOne($params, $fields); if (!empty($UserDoctor)) { - $item['UserDoctor'] = $UserDoctor->toArray(); - Log::getInstance("PatientOrderService-getPatientPrescriptionOrderList")->info("成功设置UserDoctor", [ - 'doctor_id' => $UserDoctor['doctor_id'] ?? null, - 'user_name' => $UserDoctor['user_name'] ?? null, - ]); - } else { - Log::getInstance("PatientOrderService-getPatientPrescriptionOrderList")->warning("未查询到UserDoctor", [ - 'transfer_doctor_id' => $OrderInquiry['transfer_doctor_id'], - ]); + $item['UserDoctor']['doctor_title'] = DoctorTitleCode::getMessage($UserDoctor['doctor_title']); + } + }else{ + if (!empty($item['UserDoctor'])) { + $item['UserDoctor']['doctor_title'] = DoctorTitleCode::getMessage($item['UserDoctor']['doctor_title']); } - } else { - Log::getInstance("PatientOrderService-getPatientPrescriptionOrderList")->info("OrderInquiry中transfer_doctor_id为空", [ - 'order_inquiry_id' => $OrderInquiry['order_inquiry_id'] ?? null, - ]); } - } else { - Log::getInstance("PatientOrderService-getPatientPrescriptionOrderList")->info("未查询到OrderInquiry", [ - 'order_inquiry_id' => $item['order_inquiry_id'] ?? null, - ]); - } - - if (!empty($item['UserDoctor'])) { - $item['UserDoctor']['doctor_title'] = DoctorTitleCode::getMessage($item['UserDoctor']['doctor_title']); } } } return success($order_prescription); } catch (\Throwable $e) { - $user_info = $this->request->getAttribute("userInfo") ?? []; - Log::getInstance("PatientOrderService-getPatientPrescriptionOrderList")->error("获取处方订单列表异常", [ - 'message' => $e->getMessage(), - 'file' => $e->getFile(), - 'line' => $e->getLine(), - 'trace' => $e->getTraceAsString(), - 'patient_id' => $user_info['client_user_id'] ?? null, - 'page' => $this->request->input('page', 1), - 'per_page' => $this->request->input('per_page', 10), - ]); return fail(HttpEnumCode::SERVER_ERROR, "获取处方订单列表失败"); } }