|
@@ -136,7 +136,6 @@ class Dcquery extends Controller
|
|
Log::record('study_info');
|
|
Log::record('study_info');
|
|
Log::record($study_id);
|
|
Log::record($study_id);
|
|
$study_info = DB::table('studies')->where('id',$study_id)->field('id,studyuid,studyid,patient_id,studydate')->find();
|
|
$study_info = DB::table('studies')->where('id',$study_id)->field('id,studyuid,studyid,patient_id,studydate')->find();
|
|
-
|
|
|
|
Log::record($study_info);
|
|
Log::record($study_info);
|
|
} else if($study_uid) {
|
|
} else if($study_uid) {
|
|
$study_info = DB::table('studies')->where('studyuid', $study_uid)->field('id,studyuid,studyid,patient_id,studydate')->find();
|
|
$study_info = DB::table('studies')->where('studyuid', $study_uid)->field('id,studyuid,studyid,patient_id,studydate')->find();
|
|
@@ -165,50 +164,18 @@ class Dcquery extends Controller
|
|
foreach($series_list as $k=>$v){
|
|
foreach($series_list as $k=>$v){
|
|
$ids[] = $v['id'];
|
|
$ids[] = $v['id'];
|
|
}
|
|
}
|
|
- $images_list = DB::table('images')->where('series_id','in',$ids)->field('frame,series_id,cineRate,remote_url,local_url,status,columns,image_number as instanceNumber,rows,image_id as sopInstanceUid,metadata,url')->order('image_number asc')->select();
|
|
|
|
|
|
+ $images_list = DB::table('images')->whereNotNull('image_number')->where('series_id','in',$ids)->field('frame,series_id,cineRate,remote_url,local_url,status,columns,image_number as instanceNumber,rows,image_id as sopInstanceUid,metadata,url')->order('image_number asc')->select();
|
|
if(empty($images_list)){
|
|
if(empty($images_list)){
|
|
return json_encode([
|
|
return json_encode([
|
|
"error" => "series列表中影像为空"
|
|
"error" => "series列表中影像为空"
|
|
]);
|
|
]);
|
|
}
|
|
}
|
|
$series = $this->testHandleSeires($series_list , $images_list , $url);
|
|
$series = $this->testHandleSeires($series_list , $images_list , $url);
|
|
-
|
|
|
|
-// foreach($series_list as $k=>$v){
|
|
|
|
-// // image_number排序
|
|
|
|
-// $image = DB::table('images')->where('series_id',$v['id'])->field('cineRate,remote_url,local_url,status,columns,image_number as instanceNumber,rows,image_id as sopInstanceUid,metadata,url')->order('image_number asc')->select();
|
|
|
|
-// if(empty($image)){
|
|
|
|
-// continue;
|
|
|
|
-// }
|
|
|
|
-// $error = 2;
|
|
|
|
-// /*foreach($image as $key=>$value){
|
|
|
|
-// /*if(empty($url)){
|
|
|
|
-// if(substr($value['metadata'], 0, strlen('group')) === 'group'){
|
|
|
|
-// $image[$key]['url'] = "dicomweb://dcm.pacsonline.cn/".$value['metadata'];
|
|
|
|
-// }else{
|
|
|
|
-// $image[$key]['url'] = "dicomweb://static.dcm.pacsonline.cn/".$value['metadata'];
|
|
|
|
-// }
|
|
|
|
-// }else{
|
|
|
|
-// $image[$key]['url'] = $url.$value['metadata'];
|
|
|
|
-// }*/
|
|
|
|
-// $imageUrl = $this->generateUrl($value['url'],$url,$value['remote_url'],$value['local_url'],$value['status'],$value['metadata']);
|
|
|
|
-// if(!$imageUrl){
|
|
|
|
-// $file = ROOT_PATH . 'public' . DS . 'get_studiesinfo/'.date('Ymd').'-fail.log';
|
|
|
|
-// $log = 'url错误,传值为--'.$url;
|
|
|
|
-// file_put_contents($file, $log,FILE_APPEND);
|
|
|
|
-// continue;
|
|
|
|
-// }
|
|
|
|
-// $image[$key]['url'] = $imageUrl;
|
|
|
|
-// $image[$key]['imageNumber'] = $value['instanceNumber'];
|
|
|
|
-//
|
|
|
|
-// }*/
|
|
|
|
-// $series[$k]['instances'] = $image;
|
|
|
|
-// $series[$k]['seriesInstanceUid'] = $v['seriesuid'];
|
|
|
|
-// $series[$k]['seriesDescription'] = $v['description'];
|
|
|
|
-// $series[$k]['seriesNumber'] = $v['series_num'];
|
|
|
|
-// }
|
|
|
|
-// if($error == 1){
|
|
|
|
-// throw new \think\Exception('series列表为空');
|
|
|
|
-// }
|
|
|
|
|
|
+ if(empty($series)) {
|
|
|
|
+ return json_encode([
|
|
|
|
+ "error" => "series列表中影像为空"
|
|
|
|
+ ]);
|
|
|
|
+ }
|
|
$info['seriesList'] = $series;
|
|
$info['seriesList'] = $series;
|
|
$return = array();
|
|
$return = array();
|
|
$return['transactionId'] = $study_info['studyuid'];
|
|
$return['transactionId'] = $study_info['studyuid'];
|
|
@@ -395,20 +362,37 @@ class Dcquery extends Controller
|
|
return $dicurl;
|
|
return $dicurl;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ // public function testHandleSeires($series_list , $images_list , $url) {
|
|
|
|
+ // $series = array();
|
|
|
|
+ // $seriesIndexMap = array();
|
|
|
|
+ // foreach($series_list as $k => $v) {
|
|
|
|
+ // $series[$k] = $this->generateSerie($v);
|
|
|
|
+ // $seriesIndexMap[$v['id']] = $k;
|
|
|
|
+ // }
|
|
|
|
+ // // foreach($images_list as $k=>$v){
|
|
|
|
+ // // if (strpos($v['url'], "zskk-dcm.oss-cn-beijing.aliyuncs.com")){
|
|
|
|
+ // // $images_list[$k]['url'] = str_replace('zskk-dcm.oss-cn-beijing.aliyuncs.com', $url.'/oss', $images_list[$k]['url']);
|
|
|
|
+ // // }
|
|
|
|
+ // // }
|
|
|
|
+ // foreach($images_list as $image) {
|
|
|
|
+ // $series[$seriesIndexMap[$image['series_id']]]['instances'][] = $this->generateImage1($image, $this->generateUrl($image['url'], $url, $image['remote_url'], $image['local_url'], $image['status'], $image['metadata']));
|
|
|
|
+ // }
|
|
|
|
+ // return $series;
|
|
|
|
+ // }
|
|
|
|
+
|
|
public function testHandleSeires($series_list , $images_list , $url) {
|
|
public function testHandleSeires($series_list , $images_list , $url) {
|
|
$series = array();
|
|
$series = array();
|
|
- $seriesIndexMap = array();
|
|
|
|
|
|
+ $seriesMap = array();
|
|
foreach($series_list as $k => $v) {
|
|
foreach($series_list as $k => $v) {
|
|
- $series[$k] = $this->generateSerie($v);
|
|
|
|
- $seriesIndexMap[$v['id']] = $k;
|
|
|
|
|
|
+ $seriesMap[$v['id']] = $this->generateSerie($v);
|
|
}
|
|
}
|
|
- // foreach($images_list as $k=>$v){
|
|
|
|
- // if (strpos($v['url'], "zskk-dcm.oss-cn-beijing.aliyuncs.com")){
|
|
|
|
- // $images_list[$k]['url'] = str_replace('zskk-dcm.oss-cn-beijing.aliyuncs.com', $url.'/oss', $images_list[$k]['url']);
|
|
|
|
- // }
|
|
|
|
- // }
|
|
|
|
foreach($images_list as $image) {
|
|
foreach($images_list as $image) {
|
|
- $series[$seriesIndexMap[$image['series_id']]]['instances'][] = $this->generateImage1($image, $this->generateUrl($image['url'], $url, $image['remote_url'], $image['local_url'], $image['status'], $image['metadata']));
|
|
|
|
|
|
+ $seriesMap[$image['series_id']]['instances'][] = $this->generateImage1($image, $this->generateUrl($image['url'], $url, $image['remote_url'], $image['local_url'], $image['status'], $image['metadata']));
|
|
|
|
+ }
|
|
|
|
+ foreach($seriesMap as $serie) {
|
|
|
|
+ if(!empty($serie['instances'])) {
|
|
|
|
+ $series[] = $serie;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
return $series;
|
|
return $series;
|
|
}
|
|
}
|