['男','女'], 'age_range' =>[ 0=>'0~28天', 1=>'29天~6岁', 2=>'7岁~14岁', 3=>'15岁~35岁', 4=>'36岁~60岁', 5=>'大于60岁', ] ]; } /** * 获取症状列表 * @return \think\response\Json */ public function getBzmptomList(){ $text = Request::post('relevant'); // 相关词语 $age = Request::post('age'); //年龄段 $location = Request::post('location'); //症状部位 if (empty($relevant)){ $result = BzSymptom::where('location',$location)->column('name'); }else{ $result = BzSymptom::where('location',$location)->column('name'); } return json($result); // if (empty($text)){ // $data['type'] = 0; // $data['symptom'] = []; // }else{ // if ($age <= 1){ // $data['type'] = 0; // $data['symptom'] = []; // }else{ // $data['type'] = 1; // $gender = Request::post('gender',0) + 1; // $leng = mb_strlen($text); // if ($leng >= 2){ // $arr = []; // for ($i = 0; $i < $leng; $i+=2){ // $a = mb_substr($text,$i,2); // if (mb_strlen($a) > 1){ // $arr[] = $a; // } // } // $arr[] = $text; // $text = implode('|',$arr); // } // $symptom = LySymptom::where('gender','<=',$gender) // ->where('name|relevant','regexp',$text) // ->column('name'); // $data['symptom'] = []; // foreach ($symptom as $item){ // if (strpos($item,'儿') !== false){ // continue; // } // if ($gender == 1 && strpos($item,'妇') !== false){ // continue; // } // $data['symptom'][] = $item; // } // } // } // return json($data); } /** * 获取导诊科室 * @return \think\response\Json */ public function getGuidanceBz(){ $name = Request::post('name',''); //症状名称 $location = Request::post('location',''); //症状部位 $age = Request::post('age'); // 年龄段 $gender = Request::post('gender'); //性别 $text = Request::post('text'); // $info = BzSymptom::whereIn('name',$name)->where('location',$location)->select()->toArray(); $department = []; foreach ($info as $k => $v){ $department[] = $v['department']; //$a = explode(' ',$v['department']); //$department = array_merge($department,array_unique($a)); } if ($age == '0~28天' || $age == '29天~6岁'){ $department = ['儿科 儿科门诊']; } // 返回数据 $data['gender'] = $gender; $data['age'] = $age; $data['name'] = $name; $data['location'] = $location; $data['department'] = implode(',',$department); $data['created_at'] = date("Y-m-d H:i:s",time()); //写入log $data['insert_id'] = Db::name('bz_symptom_log')->insertGetId($data); return json($data); if ($age <= 1){ $data['department'] = ['儿科']; }else{ $result = LySymptom::where('name', 'like', "%$name%")->value('department'); $result = array_unique(explode(' ', $result)); $Department = ['内科', '外科', '儿科','妇产科']; if ($age != 5){ $Department[] = '老年科'; } $data['department'] = array_values(array_diff($result, $Department)); } $config = self::initConfig(); $department = RDepartment::whereIn('department_type',$data['department'])->field('department,parameter')->select()->toArray(); $creat = [ 'text' => $text, 'name' => $name, 'age' => $config['age_range'][$age], 'gender' => $config['gender'][$gender], 'department' => implode(' ',$data['department']) ]; $data['department'] = $department; $data['insert_id'] = Db::name('ly_symptom_log')->insertGetId($creat); return json($data); } /** * 评价 * @return \think\response\Json */ public function evaluate(){ $id = Request::post('insert_id'); $evaluate = Request::post('evaluate'); if (LySymptomLog::update(['evaluate'=>$evaluate],['id'=>$id])){ return json(['result'=>true]); }else{ return json(['result'=>false]); } } }