lgy 6 vuotta sitten
vanhempi
commit
8f888c0bb8

+ 0 - 1
application/common/versionsql/Version1

@@ -47,7 +47,6 @@ ALTER  TABLE  `exams`  ADD  INDEX exams_patient_num (  `patient_num`  );
 ALTER  TABLE  `exams`  ADD  INDEX exams_patient_id (  `patient_id`  );
 ALTER  TABLE  `images`  ADD  size varchar(255);
 ALTER  TABLE  `images`  ADD  institution_id varchar(100);
-ALTER  TABLE  `images`  ADD  INDEX series_id_index (  `series_id`  );
 ALTER  TABLE  `images`  ADD  INDEX images_owner (  `owner`  );
 ALTER  TABLE  `images`  ADD  INDEX images_institution_id (  `institution_id`  );
 ALTER  TABLE  `images`  ADD  INDEX images_url (  `url`  );

+ 2 - 0
application/common/versionsql/Version7

@@ -7,3 +7,5 @@ CREATE TABLE if not exists `every_studies` (
   PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 ALTER  TABLE  `institution`  ADD  is_test  varchar(10) default 0;
+ALTER  TABLE  `doctors`  ADD  is_use_autograph  varchar(10) default 0;
+ALTER  TABLE  `doctors`  ADD  autograph  varchar(255);

+ 0 - 1
application/common/versionsql/version1

@@ -47,7 +47,6 @@ ALTER  TABLE  `exams`  ADD  INDEX exams_patient_num (  `patient_num`  );
 ALTER  TABLE  `exams`  ADD  INDEX exams_patient_id (  `patient_id`  );
 ALTER  TABLE  `images`  ADD  size varchar(255);
 ALTER  TABLE  `images`  ADD  institution_id varchar(100);
-ALTER  TABLE  `images`  ADD  INDEX series_id_index (  `series_id`  );
 ALTER  TABLE  `images`  ADD  INDEX images_owner (  `owner`  );
 ALTER  TABLE  `images`  ADD  INDEX images_institution_id (  `institution_id`  );
 ALTER  TABLE  `images`  ADD  INDEX images_url (  `url`  );

+ 20 - 0
application/inter/controller/Application.php

@@ -690,4 +690,24 @@ class Application extends Base
             return json_encode(['status'=>'fail','code'=>'2000','msg'=>$e->getMessage()]);
         }
     }
+
+    //获取医生的接收和分配权限
+    public function get_doctor_role()
+    {
+        try{
+            $sessionid = $_REQUEST['sessionid'];
+            $doctor = Cache::get($sessionid);
+            $info = [];
+            $info['is_admin'] = $doctor['is_admin'];
+            $role = DB::table('doctor_class')->where('doctor_id',$doctor['id'])->value('doctor_class');
+            if(strpos($role,'7') !== false){
+                $info['is_doctor'] = 1;
+            }else{
+                $info['is_doctor'] = 0;
+            }
+            return  json_encode(['status'=>'ok','code'=>'0000','info'=>$info]);
+        }catch(\Exception $e){
+            return json_encode(['status'=>'fail','code'=>'2000','msg'=>$e->getMessage()]);
+        }
+    }
 }

+ 26 - 1
application/inter/controller/Doctors.php

@@ -36,7 +36,8 @@ class Doctors extends Base
     public function  index(){
         $sessionid = $_REQUEST['sessionid'];
         $doctor = Cache::get($sessionid);
-        $info = DB::table('doctors')->where('id',$doctor['id'])->find();
+        $field = ['realname','email','phone','doctor_title','attachment','message_push','is_use_autograph','autograph'];
+        $info = DB::table('doctors')->where('id',$doctor['id'])->field($field)->find();
         return json_encode(['status'=>'ok','code'=>'0000','info'=>$info]);
     }
 
@@ -143,6 +144,28 @@ class Doctors extends Base
             return json_encode(['status'=>'fail','code'=>'2000','msg'=>$e->getMessage()]);
         }
 
+    }
+    public function upload_autograph(){
+        try{
+            // 获取表单上传文件 例如上传了001.jpg
+            $file = request()->file('autograph');
+            log::record('----------上传的文件-----------');
+            log::record($file);
+            // 移动到框架应用根目录/public/uploads/ 目录下
+            if($file){
+                $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads'.DS.'autograph');
+                log::record($info);
+                if($info){
+                    return json_encode(['status'=>'ok','code'=>'0000','info'=>'http://'.$_SERVER["SERVER_NAME"]. '/uploads/autograph/'.$info->getSaveName()]);
+                }else{
+                    // 上传失败获取错误信息
+                    echo $file->getError();
+                }
+            }
+        }catch(\Exception $e){
+            return json_encode(['status'=>'fail','code'=>'2000','msg'=>$e->getMessage()]);
+        }
+
     }
 
     /**
@@ -191,6 +214,8 @@ class Doctors extends Base
             $data['doctor_title'] = $info['doctor_title'];
             $data['message_push'] = $info['message_push'];
             $data['attachment'] = $info['attachment'];
+            $data['is_use_autograph'] = $info['is_use_autograph'];
+            $data['autograph'] = $info['autograph'];
             DB::table('doctors')->where('id',$doctor['id'])->update($data);
             return  json_encode(['status'=>'ok','code'=>'0000','info'=>'修改成功']);
         }catch(\Exception $e){

+ 37 - 5
application/inter/controller/Writereport.php

@@ -862,8 +862,10 @@ class Writereport extends Base
             $info['sex'] = $patient_info['sex'];
             $info['age'] = $patient_info['age'];
             // 申请医生
-            $application_name = DB::table('doctors')->where('id',$remote['req_doctor_id'])->field('realname,department_id')->find();
+            $application_name = DB::table('doctors')->where('id',$remote['req_doctor_id'])->field('realname,department_id,autograph,is_use_autograph')->find();
             $info['application_name'] = $application_name['realname'];
+            $info['application_use_autograph'] = $application_name['is_use_autograph'];
+            $info['application_autograph'] = $application_name['autograph'];
             // 申请科室
             $department  = DB::table('department')->where('id',$application_name['department_id'])->field('department_name')->find();
             $info['department_name'] = $department['department_name'];
@@ -879,11 +881,15 @@ class Writereport extends Base
             $info['description'] = $report['description'];
             $info['qr_code'] = $report['qr_code'];
             // 报告医生
-            $report_doctor = DB::table('doctors')->where('id',$report['report_doctor_id'])->field('realname')->find();
+            $report_doctor = DB::table('doctors')->where('id',$report['report_doctor_id'])->field('realname,autograph,is_use_autograph')->find();
             $info['report_doctor'] = $report_doctor['realname'];
+            $info['report_use_autograph'] = $report_doctor['is_use_autograph'];
+            $info['report_autograph'] = $report_doctor['autograph'];
             //审核医生
-            $review_doctor = DB::table('doctors')->where('id',$report['review_doctor_id'])->field('realname')->find();
+            $review_doctor = DB::table('doctors')->where('id',$report['review_doctor_id'])->field('realname,autograph,is_use_autograph')->find();
             $info['review_doctor'] = $review_doctor['realname'];
+            $info['review_use_autograph'] = $review_doctor['is_use_autograph'];
+            $info['review_autograph'] = $review_doctor['autograph'];
             $hospital = DB::table('institution')->where('id',$doctor['institution_id'])->field('name')->find();
             $info['hospital'] = $hospital['name'];
             return json_encode(['status'=>'ok','code'=>'0000','info'=>$info,'sessionid'=>$sessionid]);
@@ -1173,7 +1179,7 @@ class Writereport extends Base
      **/
     public function get_report_list(){
         $sessionid = $_REQUEST['sessionid'];
-         $doctor = Cache::get($sessionid);
+        $doctor = Cache::get($sessionid);
         $param = $_REQUEST['param'];
         $rinfo = DB::table('report')->where('exam_id',$param['id'])->where('type','<>',1)->select();
         $pinfo = DB::table('patient_infos')->where('temp_patient_id',$param['pid'])->field('name,temp_patient_id,sex,age,phone')->find();
@@ -1198,7 +1204,8 @@ class Writereport extends Base
                 $arr['exam_sub_class'] = $einfo['exam_sub_class'];
                 $arr['exam_datetime'] = $einfo['exam_datetime'];
                 $arr['report_status'] = $remote_info['report_status'];
-                $info[] = $arr;
+                $arr['hospital_name'] = DB::table('institution')->where('id',$remote_info['remote_institution_id'])->value('name');
+                $info = $arr;
             }elseif($remote_info['report_status'] == 4){
                 //申请中
                 return json_encode(['status'=>'fail','code'=>'0125','msg'=>'申请单正在申请中,暂无医生接收远程报告']);
@@ -1218,4 +1225,29 @@ class Writereport extends Base
         }
         return json_encode(['status'=>'ok','info'=>$info,'code'=>'0000']);
     }
+
+    public function reject_examine()
+    {
+        $sessionid = $_REQUEST['sessionid'];
+        //传值报告id
+        $report_id = $_REQUEST['report_id'];
+        $reason = $_REQUEST['reason'];
+        $is_remote = $_REQUEST['is_remote'];
+        $report = DB::table('report')->where('id',$report_id)->field('remote_application_id,exam_id,report_doctor_id')->find();
+        $exam = DB::table('exams')->where('id',$report['exam_id'])->value('exam_class');
+        if($is_remote == 1){
+            //远程
+            DB::table('remote_application')->where('id',$report['remote_application_id'])->update(['report_status'=>13]);
+        }else{
+            // 本地
+            DB::table('exams')->where('id',$report['exam_id'])->update(['exam_status'=>13]);
+        }
+        $url = Message::url($sessionid,$report['exam_id'],0,$exam,$report_id,$report['remote_application_id']);
+        $t = '您的报告在审核步骤已被驳回';
+        $c = '您保存的报告在审核步骤已被驳回,驳回的原因是:'.$reason.',请您重新更改您的报告';
+        $d = $report['report_doctor_id'];
+        $type = '8';
+        Message::insert($t,$c,$d,$type,$url,1,$report['remote_application_id']);
+        return json_encode(['status'=>'ok','msg'=>'审核已驳回','code'=>'0000']);
+    }
 }