") * @ApiParams (name="param[accession_num]", type="string", sample="", description="检查号<选填>") * @ApiParams (name="param[name]", type="string", sample="", description="患者姓名<选填>") * @ApiParams (name="param[exam_datetime]", type="string", sample="", description="检查时间<选填>") * @ApiParams (name="param[exam_status]", type="string", sample="", description="检查状态<选填>") * @ApiReturnParams (name="status", type="integer", required=true, sample="0", description="返回码 fail 失败 ok成功")) * @ApiReturnParams (name="code", type="integer", required=true, sample="0", description="返回状态码") * @ApiReturnParams (name="info", type="string", required=true, sample="返回成功", description="返回信息") * @ApiReturnParams (name="sessionid", type="object", sample="{}", description="缓存的数据key") * @ApiReturnParams (name="count", type="object", sample="{}", description="总条数") * @ApiReturn (data=" { 'status': ok, 'code': '0000', 'sessionid': 'a17z7a7a8f9g9rh9d89jio', 'info' : '' 'count' : '110' } *") **/ public function index(){ try{ log::record('------------接收的值--------------------'); log::record($_REQUEST); log::record('--------------------------------'); $sessionid = $_REQUEST['sessionid']; $doctor = Cache::get($sessionid); if(!$doctor){ return ResultTools::faile('1008', '您还未登录'); } log::record($doctor); log::record('-------------doctor-------------------'); $where = ''; $page = $_REQUEST['page']; $num = $_REQUEST['num']; $fnum = ($page-1)*$num; $limit = " limit ".$fnum.",".$num; if(isset($_REQUEST['param'])){ $param = $_REQUEST['param']; if(!empty($param['exam_status'])){ $where = ' and e.exam_status = '.$param['exam_status']; } /*foreach ($search as $k => $v) { switch($k){ case 'name': if(empty($v)){ break; } $where .= ' and p.name like \''.$v.'%\''; break; case 'exam_datetime': if(empty($v)){ break; } $data1 = str_replace('-', '',$v[0]); $data2 = str_replace('-', '',$v[1]); if($data1 == $data2){ $where .= " and e.exam_datetime ='$data2'"; }else{ $where .= " and e.exam_datetime between '$data1' and '$data2'"; } break; case 'exam_class' : if(empty($v)){ break; } if(is_array($v)){ $ex = implode('\',\'',$v); }else{ $ex = $v; } $where .= " and e.exam_class in ('".$ex."')"; break; default: if(empty($v)){ break; } $where .= ' and e.'.$k.'=\''.$v.'\''; break; } }*/ } $sql1 = "SELECT e.id,e.is_remote,e.study_id,e.patient_num,e.institution_id,e.exam_datetime,e.exam_class,e.exam_project,e.exam_status,p.name,p.sex,p.age from exams as e ,patient_infos as p where e.institution_id='".$doctor['institution_id']."' and p.id=e.patient_id"; // if(isset($param['search']) && !empty($param['search'])){ // 姓名 病历号 检查号 $search1 = ' and p.name like \'%'.$param['search'].'%\' '; $search2 = ' and e.patient_num=\''.$param['search'].'\' '; $search3 = ' and e.accession_num=\''.$param['search'].'\' '; $sql = ($sql1.$search1). ' union '. ($sql1.$search2) .' union '. ($sql1.$search3).$limit; }else{ $sql = $sql1.$where." order by e.createdAt desc,e.urgent desc ".$limit; } log::record('预约登记的sql是--'.$sql); $list = DB::query($sql); foreach ($list as $k => $v) { $report_info = DB::table('report')->where('exam_id',$v['id'])->field(['report_datetime','report_doctor_id'])->find(); $list[$k]['report_datetime'] = $report_info['report_datetime']; $project = DB::table('exam_project')->where('id',$v['exam_project'])->field('name')->find(); $list[$k]['exam_project_name'] = $project['name']; $dinfo = DB::table('doctors')->where('id',$report_info['report_doctor_id'])->field('realname,institution_id')->find(); $list[$k]['report_doctor'] = $dinfo['realname']; $institution_name = DB::table('institution')->where('id',$dinfo['institution_id'])->cache(300)->field('name')->find(); $list[$k]['institution_name'] = $institution_name['name']; } $sql1 = "SELECT count(1) from exams as e ,patient_infos as p where e.institution_id='".$doctor['institution_id']."' and p.id=e.patient_id".$where; $count = DB::query($sql1); return json_encode(['status'=>'ok','code'=>'0000','info'=>$list,'count'=>$count[0]['count(1)'],'sessionid'=>$sessionid]); }catch(\Exception $e){ return json_encode(['status'=>'fail','code'=>'2000','msg'=>$e->getMessage()]); } } }