request->get('patient_id'); if (!$patientId) { return $this->fail('患者ID不能为空'); } // 调用逻辑层 $result = DiagnosisLogic::getPatientSignature($patientId); if ($result === false) { return $this->fail(DiagnosisLogic::getError()); } return $this->data($result); } /** * @notes 获取诊单详情(供小程序调用) * @return \think\response\Json */ public function diagnosisDetail() { $params = [ 'id' => $this->request->get('id'), 'user_id' => $this->request->get('user_id', 0), 'share_user_id' => $this->request->get('share_user_id', 0) ]; if (!$params['id']) { return $this->fail('诊单ID不能为空'); } try { $result = DiagnosisLogic::diagnosisDetailWithRecord($params); if ($result === false) { return $this->fail(DiagnosisLogic::getError()); } return $this->data($result); } catch (\Exception $e) { return $this->fail($e->getMessage()); } } /** * @notes 确认诊单(供小程序调用) * @return \think\response\Json */ public function confirmDiagnosis() { $params = [ 'id' => $this->request->post('id'), 'user_id' => $this->userId, 'share_user_id' => $this->request->post('share_user', 0) ]; if (!$params['id']) { return $this->fail('诊单ID不能为空'); } try { $result = DiagnosisLogic::confirmDiagnosisRecord($params); if ($result === false) { return $this->fail(DiagnosisLogic::getError()); } return $this->success('确认成功'); } catch (\Exception $e) { return $this->fail($e->getMessage()); } } /** * @notes 获取字典数据(供小程序调用) * @return \think\response\Json */ public function getDict() { $type = $this->request->get('type', ''); if (!$type) { return $this->fail('字典类型不能为空'); } try { $data = ConfigLogic::getDictByType($type); return $this->data($data); } catch (\Exception $e) { return $this->fail($e->getMessage()); } } /** * @notes 获取就诊卡列表(供小程序调用) * @return \think\response\Json */ public function getCardList() { $patientId = $this->request->get('patient_id'); if (!$patientId) { return $this->fail('患者ID不能为空'); } try { $result = DiagnosisLogic::getCardList($patientId); if ($result === false) { return $this->fail(DiagnosisLogic::getError()); } return $this->data($result); } catch (\Exception $e) { return $this->fail($e->getMessage()); } } /** * @notes 更新就诊卡(供小程序调用) * @return \think\response\Json */ public function updateCard() { $params = [ 'id' => $this->request->post('id'), 'patient_id' => $this->request->post('patient_id'), 'patient_name' => $this->request->post('patient_name'), 'gender' => $this->request->post('gender'), 'age' => $this->request->post('age'), 'diagnosis_date' => $this->request->post('diagnosis_date'), 'diagnosis_type' => $this->request->post('diagnosis_type'), 'syndrome_type' => $this->request->post('syndrome_type'), 'diabetes_type' => $this->request->post('diabetes_type'), // 现病史字段 'appetite' => $this->request->post('appetite'), 'water_intake' => $this->request->post('water_intake'), 'diet_condition' => $this->request->post('diet_condition'), 'weight_change' => $this->request->post('weight_change'), 'body_feeling' => $this->request->post('body_feeling'), 'sleep_condition' => $this->request->post('sleep_condition'), 'eye_condition' => $this->request->post('eye_condition'), 'head_feeling' => $this->request->post('head_feeling'), 'sweat_condition' => $this->request->post('sweat_condition'), 'skin_condition' => $this->request->post('skin_condition'), 'urine_condition' => $this->request->post('urine_condition'), 'stool_condition' => $this->request->post('stool_condition'), 'kidney_condition' => $this->request->post('kidney_condition'), 'fatty_liver_degree' => $this->request->post('fatty_liver_degree'), // 既往史字段 'past_history' => $this->request->post('past_history'), 'trauma_history' => $this->request->post('trauma_history'), 'surgery_history' => $this->request->post('surgery_history'), 'allergy_history' => $this->request->post('allergy_history'), 'family_history' => $this->request->post('family_history'), 'pregnancy_history' => $this->request->post('pregnancy_history'), // 临床信息 'symptoms' => $this->request->post('symptoms'), 'tongue_coating' => $this->request->post('tongue_coating'), 'pulse' => $this->request->post('pulse'), 'treatment_principle' => $this->request->post('treatment_principle'), 'prescription' => $this->request->post('prescription'), 'doctor_advice' => $this->request->post('doctor_advice'), 'remark' => $this->request->post('remark') ]; if (!$params['id']) { return $this->fail('诊单ID不能为空'); } if (!$params['patient_id']) { return $this->fail('患者ID不能为空'); } try { $result = DiagnosisLogic::updateCard($params); if ($result === false) { return $this->fail(DiagnosisLogic::getError()); } return $this->success('更新成功'); } catch (\Exception $e) { return $this->fail($e->getMessage()); } } }