file('dcm'); // 移动到框架应用根目录/public/uploads/ 目录下 if($file){ $info = $file->move(ROOT_PATH . 'public' . DS . 'dcm'); if($info){ // 成功上传后 获取上传信息 $path = 'public' . DS . 'uploads'.DS.$info->getSaveName(); $info = DicomPaser::paser(ROOT_PATH . $path); foreach($info as $k=>$v){ $info[$k] = trim($v); } var_dump($info);die; // $hz_bh = $this->service->insert_hz($info); $patient = $this->insertPatient($info); // $jc_bh = $this->service->insert_jc($info,$hz_bh); $exam = $this->insertExam($info,$patient); // $xl_bh = $this->service->insert_xl($info,$jc_bh); $series = $this->insertSeries($info,$exam); // $return = $this->service->insert_tp($info,$xl_bh,$path); $image = $this->insertImages($info,$series,$path,$path); // return ServerResponse::getSuccess('success',$return); }else{ return json_encode(['status'=>'fail','code'=>'2000','msg'=>$file->getError()]); } }else{ return json_encode(['status'=>'fail','code'=>'2000','msg'=>'不存在上传的文件']); } // }catch(Exception $e){ // return json_encode(['status'=>'fail','code'=>'2000','msg'=>$e->getMessage()]); // } } public function insertPatient($info) { $data = [ 'id'=>UUIDs::uuid16(), 'name'=>$info['patientName'], 'sex'=>$info['patientSex'], 'age'=>$info['patientAge'], 'birthday'=>$info['birthDate'], 'createdAt'=>date('Y-m-d H:i:s'), 'temp_patient_id'=>$info['patientId'], 'institution_id'=>$info['institutionCode'], ]; DB::table('patient_infos')->insert($data); return $data; } public function insertExam($info,$patient) { $data = [ 'id'=>UUIDs::uuid16(), 'patient_id'=>$patient['id'], 'institution_id'=>$info['institutionCode'], 'patient_num'=>$info['patientId'], 'accession_num'=>$info['accessionNumber'], 'exam_datetime'=>$info['studyDate'], 'exam_class'=>$info['modality'], 'study_id'=>$info['studyId'], 'study_uid'=>$info['studyUid'], 'illness_desc'=>$info['studyDescription'], 'createdAt'=>date('Y-m-d H:i:s'), ]; DB::table('exams')->insert($data); return $data; } public function insertSeries($info,$exam) { $data = [ 'id'=>UUIDs::uuid16(), 'study_id'=>$info['studyId'], 'seriesuid'=>$info['seriesuid'], 'series_num'=>$info['seriesNumber'], 'modality'=>$info['modality'], 'description'=>$info['seriesDescription'], 'createdAt'=>date('Y-m-d H:i:s'), ]; DB::table('series')->insert($data); return $data; } public function insertImages($info,$series,$path,$patient) { $data = [ 'id'=>UUIDs::uuid16(), 'series_id'=>$series['id'], 'image_id'=>$info['imageId'], 'sop_uid'=>$info['SOPInstanceUID'], 'image_number'=>$info['imageNumber'], 'owner'=>$patient['id'], 'window_width'=>$info['windowWidth'], 'windo_center'=>$info['windowCenter'], 'rows'=>$info['rows'], 'columns'=>$info['columns'], 'pixe_spacing'=>$info['pixelSpacing'], 'image_position'=>$info['imagePosition'], 'image_orientation'=>$info['imageOrientation'], 'createdAt'=>date('Y-m-d H:i:s'), 'institution_id'=>$info['institutionCode'], 'local_url'=>ROOT_PATH . $path, 'remote_url'=>DS.$path, 'frame'=>$info['numberOfFrames'], ]; DB::table('images')->insert($data); return $data; } }