|
@@ -147,18 +147,16 @@ class Dcquery extends Controller
|
|
|
}else{
|
|
|
$image[$key]['url'] = $url.$value['metadata'];
|
|
|
}*/
|
|
|
- if(empty($value['remote_url']) && empty($value['local_url'])){
|
|
|
- $image[$key]['url'] = 'dicomweb://'.$_REQUEST['address'].'/'.$value['metadata'];
|
|
|
- }else{
|
|
|
- $imageUrl = $this->generateUrl($value['url'],$_REQUEST['address'],$value['remote_url'],$value['local_url'],$value['status']);
|
|
|
- if(!$imageUrl){
|
|
|
- $file = ROOT_PATH . 'public' . DS . 'get_studiesinfo/'.date('Ymd').'-fail.log';
|
|
|
- $log = 'url错误,传值为--'.$_REQUEST['address'];
|
|
|
- file_put_contents($file, $log,FILE_APPEND);
|
|
|
- continue;
|
|
|
- }
|
|
|
- $image[$key]['imageNumber'] = $value['instanceNumber'];
|
|
|
+ $imageUrl = $this->generateUrl($value['url'],$_REQUEST['address'],$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错误,传值为--'.$_REQUEST['address'];
|
|
|
+ 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'];
|
|
@@ -185,31 +183,35 @@ class Dcquery extends Controller
|
|
|
$return['studies'][] = $info;
|
|
|
return json_encode($return);
|
|
|
}
|
|
|
- public function generateUrl($url, $address, $remote_url, $local_url, $status) {
|
|
|
+ public function generateUrl($url, $address, $remote_url, $local_url, $status, $metadata) {
|
|
|
if(empty($address)) {
|
|
|
return self::generateNormalUrl($url);
|
|
|
}
|
|
|
if(preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/",$address)) {
|
|
|
- return self::generateIpUrl($url,$address,$remote_url, $local_url, $status);
|
|
|
+ return self::generateIpUrl($url,$address,$remote_url, $local_url, $status,$metadata);
|
|
|
}
|
|
|
return self::generateNormalUrl($url,$address);
|
|
|
}
|
|
|
- public function generateIpUrl($url, $address, $remote_url, $local_url, $status) {
|
|
|
- //获取ip
|
|
|
- $ip = $this->getIpbyAddress($address);
|
|
|
- if(in_array($ip,json_decode(LC_IPS,TRUE))) {
|
|
|
- //浪潮政务云访问
|
|
|
- return "dicomweb://$address/$remote_url";
|
|
|
- }
|
|
|
- if($status & STATUS_LOCAL) {
|
|
|
- //内网url有效
|
|
|
- return "dicomweb://$address/$local_url";
|
|
|
- }
|
|
|
- if($status & STATUS_REMOTE) {
|
|
|
- //外网url有效
|
|
|
- return "dicomweb://$address/".REMOTE_FLAG."/$remote_url";
|
|
|
+ public function generateIpUrl($url, $address, $remote_url, $local_url, $status,$metadata) {
|
|
|
+ if(empty($remote_url) && empty($local_url)){
|
|
|
+ return 'dicomweb://'.$address.'/'.$metadata;
|
|
|
+ }else{
|
|
|
+ //获取ip
|
|
|
+ $ip = $this->getIpbyAddress($address);
|
|
|
+ if(in_array($ip,json_decode(LC_IPS,TRUE))) {
|
|
|
+ //浪潮政务云访问
|
|
|
+ return "dicomweb://$address/$remote_url";
|
|
|
+ }
|
|
|
+ if($status & STATUS_LOCAL) {
|
|
|
+ //内网url有效
|
|
|
+ return "dicomweb://$address/$local_url";
|
|
|
+ }
|
|
|
+ if($status & STATUS_REMOTE) {
|
|
|
+ //外网url有效
|
|
|
+ return "dicomweb://$address/".REMOTE_FLAG."/$remote_url";
|
|
|
+ }
|
|
|
+ return null;
|
|
|
}
|
|
|
- return null;
|
|
|
}
|
|
|
public function getIpbyAddress($url){
|
|
|
$ip = explode(':',$url);
|
|
@@ -229,7 +231,11 @@ class Dcquery extends Controller
|
|
|
$dicurl = 'dicomweb://'.$lujing[1].'/'.$url;
|
|
|
return $dicurl;
|
|
|
}else{
|
|
|
- $dicurl = 'dicomweb://'.$domain.'/'.$url;
|
|
|
+ if(empty($domain)){
|
|
|
+ $dicurl = 'dicomweb://dcm.pacsonline.cn/'.$url;
|
|
|
+ }else{
|
|
|
+ $dicurl = 'dicomweb://'.$domain.'/'.$url;
|
|
|
+ }
|
|
|
return $dicurl;
|
|
|
}
|
|
|
}
|