From 981506b9ab4b03d8d725559c80c293248ba29433 Mon Sep 17 00:00:00 2001 From: lq Date: Mon, 2 Dec 2024 09:08:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=87=E7=BA=A7php=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=90=8E=E9=94=99=E8=AF=AF=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/services/PrescriptionService.php | 76 +++++++++++++------------ 1 file changed, 40 insertions(+), 36 deletions(-) diff --git a/common/services/PrescriptionService.php b/common/services/PrescriptionService.php index 53bd89e..3b17ab4 100644 --- a/common/services/PrescriptionService.php +++ b/common/services/PrescriptionService.php @@ -21,44 +21,48 @@ class PrescriptionService{ * 处方详情 */ public function detail($prescriptionNo = '', $presciptionId = 0){ - if(!$presciptionId&&!$prescriptionNo){ - throw new Exception("Error Processing Request"); - } - - if($prescriptionNo){ - $prescription = Prescription::find()->select('id,store_id,prescription_no,online_prescription_no,is_online,prescription_type,type,is_dispense,valid_hours,content,doctor_order,status,pharmacist_id,su_id,process_rule_id,process_rule,process_rule_note,doctor_second_sign')->where([ - 'prescription_no' => $prescriptionNo - ])->with('pharmacistInfo')->asArray()->one(); - } else { - $prescription = Prescription::find()->select('id,store_id,prescription_no,online_prescription_no,is_online,prescription_type,type,is_dispense,valid_hours,content,doctor_order,status,pharmacist_id,su_id,process_rule_id,process_rule,process_rule_note,doctor_second_sign')->where([ - 'id' => $presciptionId - ])->with('pharmacistInfo')->asArray()->one(); - } - if(!$prescription){ - throw new Exception('处方不存在'); - } - $store = Store::find()->select('name, offical_seal')->where(['id' => $prescription['store_id']])->one(); - if(!$store) throw new Exception('门店不存在'); - $productOrder = ProductOrder::find()->where(['p_id' => $prescription['id']])->one(); - $content = Json::decode($prescription['content']); - foreach($content['repice'] as $k=>$v){ - $content['repice'][$k]['content'] = Json::decode($v['content']); - } - $prescription['content'] = $content; - $prescription['doctor_order'] = explode('|',$prescription['doctor_order']); - $prescription['is_pay'] = $productOrder->is_pay; - $prescription['cancel_status'] = $productOrder->cancel_status; - $prescription['refund_status'] = $productOrder->refund_status; - $prescription['store'] = $store; + try { + if(!$presciptionId&&!$prescriptionNo){ + throw new Exception("Error Processing Request"); + } - $DoctorIdentity= DoctorIdentity::find()->where(['su_id'=>$prescription['su_id']])->asArray()->one(); - $PharmacistIdentity= PharmacistIdentity::find()->where(['su_id'=>$prescription['pharmacist_id']])->asArray()->one(); - $prescription['doctor_sign_image']=$DoctorIdentity['sign_image']; - $prescription['doctor_sign_type']=$DoctorIdentity['sign_type']; - $prescription['Pharmacist_sign_image']=$PharmacistIdentity['sign_image']; - $prescription['Pharmacist_sign_type']=$PharmacistIdentity['sign_type']; + if($prescriptionNo){ + $prescription = Prescription::find()->select('id,store_id,prescription_no,online_prescription_no,is_online,prescription_type,type,is_dispense,valid_hours,content,doctor_order,status,pharmacist_id,su_id,process_rule_id,process_rule,process_rule_note,doctor_second_sign')->where([ + 'prescription_no' => $prescriptionNo + ])->with('pharmacistInfo')->asArray()->one(); + } else { + $prescription = Prescription::find()->select('id,store_id,prescription_no,online_prescription_no,is_online,prescription_type,type,is_dispense,valid_hours,content,doctor_order,status,pharmacist_id,su_id,process_rule_id,process_rule,process_rule_note,doctor_second_sign')->where([ + 'id' => $presciptionId + ])->with('pharmacistInfo')->asArray()->one(); + } + if(!$prescription){ + throw new Exception('处方不存在'); + } + $store = Store::find()->select('name, offical_seal')->where(['id' => $prescription['store_id']])->one(); + if(!$store) throw new Exception('门店不存在'); + $productOrder = ProductOrder::find()->where(['p_id' => $prescription['id']])->one(); + $content = Json::decode($prescription['content']); + foreach($content['repice'] as $k=>$v){ + $content['repice'][$k]['content'] = Json::decode($v['content']); + } + $prescription['content'] = $content; + $prescription['doctor_order'] = explode('|',$prescription['doctor_order']); + $prescription['is_pay'] = $productOrder->is_pay; + $prescription['cancel_status'] = $productOrder->cancel_status; + $prescription['refund_status'] = $productOrder->refund_status; + $prescription['store'] = $store; - return $prescription; + $DoctorIdentity= DoctorIdentity::find()->where(['su_id'=>$prescription['su_id']])->asArray()->one(); + $PharmacistIdentity= PharmacistIdentity::find()->where(['su_id'=>$prescription['pharmacist_id']])->asArray()->one(); + $prescription['doctor_sign_image']=$DoctorIdentity['sign_image']; + $prescription['doctor_sign_type']=$DoctorIdentity['sign_type']; + $prescription['Pharmacist_sign_image']=$PharmacistIdentity['sign_image']; + $prescription['Pharmacist_sign_type']=$PharmacistIdentity['sign_type']; + + return $prescription; + } catch (Exception $e) { + throw new Exception($e->getMessage(). json_encode($e->getLine())); + } } } \ No newline at end of file