lgy 6 years ago
parent
commit
40721fb4ff

+ 6 - 7
application/inter/controller/Application.php

@@ -248,17 +248,15 @@ class Application extends Base
                     $d_phone = $dinfo['phone'];
                     $d_name = '';
                 if($dinfo['institution_id'] == '22100003'){ //魏庙
-//                    $repsone = send_message::sendSms2Apply($d_phone,$d_time,$d_name);
+                    $repsone = send_message::sendSms2Apply($d_phone,$d_time,$d_name);
                 }
                     // 申请医院院名
                     $x_institution = DB::table('institution')->where('id',$doctor['institution_id'])->field('name')->find();
                     $s_institution = DB::table('institution')->where('id',$application_info['remote_institution_id'])->field('name')->find();
                     $tel = '18910184804';
                     $type = '发起申请';
-                    $content  = $x_institution['name'].'医院的'.$doctor['realname'].'医生向上级'.$s_institution['name'].'医院的'.$dinfo['realname'].'医生发起了申请,该申请于'.$d_time.'过期,单子的申请单id是'.$aid;
-                var_dump($content);
+                    $content  = $aid;
                     $response = send_message::sendSms2Self($tel,$type,$content);
-                var_dump($response);
 //                }
             }
             return json_encode(['status'=>'ok','code'=>'0000','sessionid'=>$sessionid]);
@@ -366,8 +364,9 @@ class Application extends Base
 //        if($application['req_doctor_id'] == 'c44663d6d3c0b535'){
             $dinfo = DB::table('doctors')->where('id',$application['req_doctor_id'])->find();
             $d_phone = $dinfo['phone'];
-        $d_phone =  '18366391911';
+        if($dinfo['institution_id'] == '22100002'){ //魏庙下级
             $repsone = send_message::sendSms2RejectApply($d_phone,$param['description']);
+        }
             // 上级医院
             $s_institution = DB::table('institution')->where('id',$doctor['institution_id'])->field('name')->find();
             //下级医院
@@ -375,7 +374,7 @@ class Application extends Base
             $x_name = DB::table('doctors')->where('id',$application['req_doctor_id'])->field('realname')->find();
             $tel = '18910184804';
             $type = '驳回申请';
-            $content  = $s_institution['name'].'医院的'.$doctor['realname'].'医生驳回了下级'.$x_institution['name'].'医院的'.$x_name['realname'].'医生发起的申请,单子的申请单id是'.$application['id'].',驳回的理由是'.$param['description'];
+            $content  = $application['id'];
             send_message::sendSms2Self($tel,$type,$content);
         $tel = '18366391911';
         send_message::sendSms2Self($tel,$type,$content);
@@ -422,7 +421,7 @@ class Application extends Base
             $x_name = DB::table('doctors')->where('id',$application['req_doctor_id'])->field('realname')->find();
             $tel = '18910184804';
             $type = '接收申请';
-            $content  = $s_institution['name'].'医院的'.$doctor['realname'].'医生接收了下级'.$x_institution['name'].'医院的'.$x_name['realname'].'医生发起的申请,单子的申请单id是'.$application['id'];
+            $content  = $application['id'];
             send_message::sendSms2Self($tel,$type,$content);
         }
         return json_encode(['status'=>'ok','code'=>'0000','sessionid'=>$sessionid]);

+ 85 - 33
application/inter/controller/Dcquery.php

@@ -137,42 +137,51 @@ class Dcquery extends Controller
             $series_list = DB::table('series')->where('study_id',$study_info['id'])->where('modality','not in','PR,SR')->field('id,series_num,seriesuid,description')->order('series_num asc')->select();
             $series = array();
             $error = 1;
+            $ids = array();
             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'];
+                $ids[] = $v['id'];
             }
-            if($error == 1){
-                throw new \think\Exception('series列表为空');
+            $images_list = DB::table('images')->where('series_id','in',$ids)->select();
+            if(empty($images_list)){
+                throw new \think\Exception('series列表中影像为空');
             }
+            $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列表为空');
+//            }
             $info['seriesList'] = $series;
             $return  = array();
             $return['transactionId'] = $study_info['studyuid'];
@@ -346,4 +355,47 @@ class Dcquery extends Controller
             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 $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']));
+        }
+    }
+
+    public function generateSerie($serie) {
+        return [
+            'instances' => array(),
+            'seriesInstanceUid' => $serie['seriesuid'],
+            'seriesDescription' => $serie['description'],
+            'seriesNumber' => $serie['series_num']
+        ];
+    }
+
+    public function generateImage1($image,$url,$frameIndex = -1) {
+        $image_url = $url;
+        $imageNumber = $image['instanceNumber'];
+        if($frameIndex !== -1) {
+            $image_url = $url.'?frame='.$frameIndex;
+            $imageNumber = $frameIndex + 1;
+        }
+        return [
+            'remote_url' => $image['remote_url'],
+            'local_url' => $image['local_url'],
+            'status' => $image['status'],
+            'columns' => $image['columns'],
+            'rows' => $image['rows'],
+            'instanceNumber' => $imageNumber,
+            'imageNumber' => $imageNumber,
+            'sopInstanceUid' => $image['sopInstanceUid'],
+            'metadata' => $image['metadata'],
+            'url' => $image_url,
+            'frame' => $image['frame'],
+            'frameIndex' => $frameIndex,
+        ];
+    }
 }

+ 9 - 8
application/inter/controller/Writereport.php

@@ -263,7 +263,7 @@ class Writereport extends Base
                 $x_name = DB::table('doctors')->where('id',$application['req_doctor_id'])->field('realname')->find();
                 $tel = '18910184804';
                 $type = '保存报告';
-                $content  = $s_institution['name'].'医院的'.$doctor['realname'].'医生保存了下级'.$x_institution['name'].'医院的'.$x_name['realname'].'医生发起的申请,单子的申请单id是'.$application['id'];
+                $content  = $application['id'];
                 send_message::sendSms2Self($tel,$type,$content);
             }
             return json_encode(['status'=>'ok','code'=>'0000','msg'=>'保存成功','sessionid'=>$sessionid]);
@@ -530,18 +530,19 @@ class Writereport extends Base
                 $dinfo = DB::table('doctors')->where('id',$application['req_doctor_id'])->find();
                 $d_phone = $dinfo['phone'];
                 log::record('发短信的手机号为'.$d_phone);
-            $d_phone = '18366391911';
-                $d_name = '';
+            $d_name = '';
+            if($dinfo['institution_id'] == '22100002'){ //魏庙下级
                 $repsone = send_message::sendSms2CompleteReport($d_phone,$d_name);
+            }
                 // 上级医院
                 $s_institution = DB::table('institution')->where('id',$doctor['institution_id'])->field('name')->find();
                 //下级医院
                 $x_institution = DB::table('institution')->where('id',$application['local_institution_id'])->field('name')->find();
                 $x_name = DB::table('doctors')->where('id',$application['req_doctor_id'])->field('realname')->find();
-//                $tel = '18910184804';
-//                $type = '完成并审核报告';
-//                $content  = $s_institution['name'].'医院的'.$doctor['realname'].'医生完成并审核了下级'.$x_institution['name'].'医院的'.$x_name['realname'].'医生发起的申请,单子的申请单id是'.$application['id'];
-//                send_message::sendSms2Self($tel,$type,$content);
+                $tel = '18910184804';
+                $type = '完成并审核报告';
+                $content  =$application['id'];
+                send_message::sendSms2Self($tel,$type,$content);
 //            }
             return json_encode(['status'=>'ok','code'=>'0000','msg'=>'已审核']);
         }catch(\Exception $e){
@@ -874,7 +875,7 @@ class Writereport extends Base
             $x_name = DB::table('doctors')->where('id',$application['req_doctor_id'])->field('realname')->find();
             $tel = '18910184804';
             $type = '保存报告';
-            $content  = $s_institution['name'].'医院的'.$doctor['realname'].'医生保存了下级'.$x_institution['name'].'医院的'.$x_name['realname'].'医生发起的申请,单子的申请单id是'.$application['id'];
+            $content  = $application['id'];
             send_message::sendSms2Self($tel,$type,$content);
         }
         return json_encode(['status'=>'ok','msg'=>'成功','code'=>'0000']);