diff --git a/app/Services/InquiryService.php b/app/Services/InquiryService.php index 7cfa15f..79e197a 100644 --- a/app/Services/InquiryService.php +++ b/app/Services/InquiryService.php @@ -13,6 +13,7 @@ use App\Exception\BusinessException; use App\Model\DetectionProject; use App\Model\DiseaseClass; use App\Model\DoctorInquiryConfig; +use App\Model\DoctorInquiryConfigService; use App\Model\Hospital; use App\Model\InquiryCaseProduct; use App\Model\MessageIm; @@ -241,7 +242,7 @@ class InquiryService extends BaseService $data['patient_name'] = $patient_family['card_name'];// 患者姓名-就诊人 $data['patient_name_mask'] = $patient_family['card_name_mask'];// 患者姓名-就诊人(掩码) $data['patient_sex'] = $patient_family['sex'];// 患者性别-就诊人(0:未知 1:男 2:女) - $data['patient_age'] = $patient_family['age'];// 患者年龄-就诊人 + $data['patient_age'] = getIdCardAge($patient_family['age']);// 患者年龄-就诊人 $order_inquiry = OrderInquiry::addOrderInquiry($data); if (empty($order_inquiry)) { Db::rollBack(); @@ -264,7 +265,7 @@ class InquiryService extends BaseService $data['diagnose_images'] = $diagnose_images ?? ""; // 复诊凭证(多个使用逗号分隔) if ($patient_family['age'] != null) { - $data['age'] = $patient_family['age'];// 患者年龄 + $data['age'] = getIdCardAge($patient_family['age']);// 患者年龄 } // 身高(cm) @@ -923,21 +924,37 @@ class InquiryService extends BaseService // 处理问诊回合数及时长-兼容旧数据 if (empty($order_inquiry['times_number']) || empty($order_inquiry['duration'])) { - $params = array(); - $params['inquiry_type'] = $order_inquiry['inquiry_type']; - $params['inquiry_mode'] = $order_inquiry['inquiry_mode']; - $system_inquiry_config = SystemInquiryConfig::getOne($params); - if (empty($system_inquiry_config)) { - return fail(); + // 疑难问诊特殊处理 + if ($order_inquiry['inquiry_type'] == 1 && $order_inquiry['inquiry_mode'] == 6 ){ + $params = array(); + $params['doctor_id'] = $order_inquiry['doctor_id']; + $params['inquiry_type'] = $order_inquiry['inquiry_type']; + $params['inquiry_mode'] = $order_inquiry['inquiry_mode']; + $doctor_inquiry_config_service = DoctorInquiryConfigService::getOne($params); + if (empty($doctor_inquiry_config_service)){ + return fail(); + } + + $order_inquiry['times_number'] = $doctor_inquiry_config_service['service_period']; // 服务回合数(0表示不限次) + $order_inquiry['duration'] = $doctor_inquiry_config_service['duration']; // 服务周期(天,不存在0的情况) + }else{ + $params = array(); + $params['inquiry_type'] = $order_inquiry['inquiry_type']; + $params['inquiry_mode'] = $order_inquiry['inquiry_mode']; + $system_inquiry_config = SystemInquiryConfig::getOne($params); + if (empty($system_inquiry_config)) { + return fail(); + } + + if (empty($order_inquiry['times_number'])) { + $order_inquiry['times_number'] = $system_inquiry_config['times_number']; + } + + if (empty($order_inquiry['duration'])) { + $order_inquiry['duration'] = $system_inquiry_config['duration']; + } } - if (empty($order_inquiry['times_number'])) { - $order_inquiry['times_number'] = $system_inquiry_config['times_number']; - } - - if (empty($order_inquiry['duration'])) { - $order_inquiry['duration'] = $system_inquiry_config['duration']; - } } $result = array(); @@ -1032,7 +1049,6 @@ class InquiryService extends BaseService /** * 结束问诊 * @return array - * @throws GuzzleException */ public function putFinishInquiry(): array {