Beispiel #1
0
 public function batgetbyaskid($ask_id, $in = 0, $order = 0, $count = 0)
 {
     $doctor = new Doctor();
     $ask_id = intval($ask_id);
     $where = $in ? ['askid' => $ask_id] : ['in', 'askid', $ask_id];
     $order = ' addtime asc';
     $this->settbname($ask_id);
     $tmp_answer_array = $this->getList($where, $order, $count);
     //        print_r($tmp_answer_array);
     //        exit;
     return ['answer' => $tmp_answer_array, 'doctor' => $doctor->getDoctorById($tmp_answer_array[0]['userid'])];
 }
 /**
  * 获取相关问答数据
  * @param type $param
  */
 public function getRelAsks($keywords, $offset = 0, $limit = 5)
 {
     $asks = Search::search_ask($keywords, $offset, $limit);
     //相关问答
     $doc = new Doctor();
     foreach ($asks['list'] as $k => $v) {
         if (isset($v['answer'])) {
             $v['userid'] = '';
             $res = $doc->getDoctorById($v['answer']['userid']);
             $doctor = array_shift($res);
             $asks['list'][$k]['answer']['truename'] = $doctor['truename'] ?: $doctor['nickname'];
             $asks['list'][$k]['answer']['doc_keshi'] = $doctor['doc_keshi'];
             $asks['list'][$k]['answer']['pic'] = $doctor['pic'] ?: 'default.jpg';
             unset($res);
             unset($doctor);
         }
     }
     return $asks;
 }
 /**
  * 通过疾病id 获取 医生
  * @param type $diseaseid
  * @return type
  */
 private function getDoctor($diseaseid, $offset = 0, $length = 3)
 {
     require '../data/doctorid.php';
     $doc = new Doctor();
     $dep = new \common\models\Department();
     $department = $dep->getDepartmentsByDisid($diseaseid);
     $level1 = $dep->getDepartmentById($department['0']['class_level1']);
     //疾病对应的一级科室
     $uid = array_key_exists($level1['name'], $_DOCTORID) ? $_DOCTORID[$level1['name']] : $_DOCTORID['内科'];
     //科室名称获取医生id信息
     $arruid = array_slice($uid, $offset, $length);
     $uidstr = implode(',', $arruid);
     $doctor = $doc->getDoctorById($uidstr);
     return $doctor;
 }
 /**
  * 得到全科医生的数据集
  * @author gaoqing
  * @date 2016-04-05
  * @return array 全科医生的数据集
  */
 private function getDoctors()
 {
     $doctors = [];
     $doctorIDs = $this->doctorsIDs();
     //得到随机的医生 id 集
     $doctorIDArr = [];
     while (count($doctorIDArr) != 4) {
         $index = rand(0, 9);
         if (!in_array($index, $doctorIDArr)) {
             $doctorIDArr[] = $doctorIDs[$index];
         }
     }
     $doctorids = implode(',', $doctorIDArr);
     $doctor = new Doctor();
     $doctors = $doctor->getDoctorById($doctorids);
     return $doctors;
 }
 public function actionCheckBodyStepThree()
 {
     $condition['age'] = $this->helpGparam('age', 1);
     $condition['sex'] = $this->helpGparam('sex', 1);
     $condition['job'] = $this->helpGparam('job', 1);
     $model['option']['sex'] = $this->sexOptions;
     $model['option']['age'] = $this->ageOptions;
     $model['option']['job'] = $this->jobOptions;
     //已选择症状
     $selectSymptomId = $this->helpGparam('symptomid');
     $selectSymptomInfo = $this->symptom->getOneSymptom($selectSymptomId);
     $model['selectSymptom'] = $selectSymptomInfo;
     //相关症状
     $relSymptom = $this->relate->getRelateSymptoms($selectSymptomId);
     $model['relSymptom'] = $relSymptom;
     //相关疾病
     $relDisease = $this->relate->getRelateDiseases($selectSymptomId);
     $perpage = 6;
     $pagenum = $this->helpGparam('page', 1);
     $totalPage = count($relDisease);
     $page = $pagenum <= $totalPage / $perpage ? $pagenum : $totalPage / $perpage;
     $paging = $this->helpPaging('pagerjs_2')->setSize($perpage);
     $paging->setTotal($totalPage)->setCurrent($page);
     $offset = $paging->getOffset();
     $relDisease = array_slice($relDisease, $offset, $perpage);
     //查询结果
     $model['paging'] = $paging;
     $model['relDisease'] = $relDisease;
     //        print_r($relDisease);
     //        exit;
     //相关问答
     //        $cacheKey = 'frontend_symptom_index_xgwd';
     //        $parms = [
     //            'id' => $selectSymptomId,
     //            'name' => $selectSymptomInfo['name'],
     //        ];
     //        $questions = $this->cacheHelper->getCache($cacheKey, $parms);
     $questions = Search::search_ask($selectSymptomInfo['name'], 0, 5);
     //        print_r($questions['list']);
     //        exit;
     $doctor = new Doctor();
     $asks = [];
     foreach ($questions['list'] as $k => $v) {
         foreach ($v as $kk => $vv) {
             $asks[$k][$kk] = $vv;
             if (isset($v['answer'])) {
                 $doctorTmp = $doctor->getDoctorById($v['answer']['userid']);
                 $doctorTmp = array_shift($doctorTmp);
                 $asks[$k]['doctor'] = $doctorTmp;
             } else {
                 $asks[$k]['doctor'] = false;
             }
             //                print_r($tmp);
             //                exit;
         }
     }
     //        print_r($asks);
     //        exit;
     $model['questions'] = $asks;
     $model['condition'] = $condition;
     return $this->render('step3', ['model' => $model]);
 }
Beispiel #6
0
 /**
  * 通过疾病id 获取 医生
  * lc 2016-3-30
  * @param type $diseaseid
  * @return type
  */
 public function getDoctor($diseaseid, $offset = 0, $limit = 3)
 {
     require PROJECT_PATH . '/frontend/data/doctorid.php';
     $doctorObj = new Doctor();
     $departmentObj = new Department();
     $department = $departmentObj->getDepartmentsByDisid($diseaseid);
     $uid = array_key_exists($department[0]['name'], $_DOCTORID) ? $_DOCTORID[$department[0]['name']] : $_DOCTORID['内科'];
     //科室名称获取医生id信息
     $arruid = array_slice($uid, $offset, $limit);
     $uidstr = implode(',', $arruid);
     $doctor = $doctorObj->getDoctorById($uidstr);
     return $doctor;
 }