浏览代码

Merge branch 'pro' of http://code.pacsonline.cn/zskk_bg/yuanchengpasc into pro

刘桂岩 5 年之前
父节点
当前提交
29c84e52ec

+ 2 - 2
application/index/controller/Index.php

@@ -14,8 +14,8 @@ use think\Db;
 class Index extends Controller
 class Index extends Controller
 {
 {
     public function  index(){
     public function  index(){
-        echo "index";
-        var_dump(json_decode(LC_IPS,TRUE));
+        // echo "index";
+        return $this->redirect('http://work.pacsonline.cn',302);;
     }
     }
     public function get_studiesinfo(){
     public function get_studiesinfo(){
         $study_id = $_REQUEST['study_id'];
         $study_id = $_REQUEST['study_id'];

+ 17 - 15
application/inter/controller/Application.php

@@ -65,12 +65,13 @@ class Application extends Base
             $info['exam_subclass_name'] = $exam_subclass['name'];
             $info['exam_subclass_name'] = $exam_subclass['name'];
             $info['exam_project_name'] = $exam_project['name'];
             $info['exam_project_name'] = $exam_project['name'];
             $info['device_name'] = $device['name'];
             $info['device_name'] = $device['name'];
-            $patient_info = DB::table('patient_infos')->where('id',$info['patient_id'])->field(['temp_patient_id','id','name','sex','age','birthday'])->find();
+            $patient_info = DB::table('patient_infos')->where('id',$info['patient_id'])->field(['temp_patient_id','id','name','sex','age','birthday', 'phone'])->find();
             $info['pid'] = $patient_info['id'];
             $info['pid'] = $patient_info['id'];
             $info['temp_patient_id'] = $patient_info['temp_patient_id'];
             $info['temp_patient_id'] = $patient_info['temp_patient_id'];
             $info['name'] = $patient_info['name'];
             $info['name'] = $patient_info['name'];
             $info['sex'] = $patient_info['sex'];
             $info['sex'] = $patient_info['sex'];
             $info['age'] = $patient_info['age'];
             $info['age'] = $patient_info['age'];
+            $info['phone'] = $patient_info['phone'];
             if(!empty($patient_info['birthday'])){
             if(!empty($patient_info['birthday'])){
                 $info['birthday'] = $patient_info['birthday'];
                 $info['birthday'] = $patient_info['birthday'];
             }
             }
@@ -303,7 +304,7 @@ class Application extends Base
             }
             }
             $exam_info =  DB::table('exams')->where('id',$param['id'])->field('exam_class,exam_status,patient_id')->find();
             $exam_info =  DB::table('exams')->where('id',$param['id'])->field('exam_class,exam_status,patient_id')->find();
             // 修改病人姓名
             // 修改病人姓名
-            DB::table('patient_infos')->where('id',$exam_info['patient_id'])->update(['name'=>$param['name']]);
+            DB::table('patient_infos')->where('id',$exam_info['patient_id'])->update(['name'=>$param['name'], 'phone'=> $param['phone']]??'');
             if($exam_info['exam_status'] != 3 && $exam_info['exam_status'] != 5 && $exam_info['exam_status'] != 8){
             if($exam_info['exam_status'] != 3 && $exam_info['exam_status'] != 5 && $exam_info['exam_status'] != 8){
                 // 3 检查完毕 5已驳回
                 // 3 检查完毕 5已驳回
                 switch($exam_info['exam_status']){
                 switch($exam_info['exam_status']){
@@ -363,6 +364,7 @@ class Application extends Base
             }
             }
             $application_info['application_desc'] = isset($param['description']) ? $param['description'] : '';
             $application_info['application_desc'] = isset($param['description']) ? $param['description'] : '';
             $application_info['req_doctor_id'] = $doctor['id'];
             $application_info['req_doctor_id'] = $doctor['id'];
+            $application_info['phone'] = $param['phone']?? '';
             $application_info['remote_doctor_id'] = $remote_doctor_id;
             $application_info['remote_doctor_id'] = $remote_doctor_id;
             $application_info['attachment'] = isset($param['attachment']) ? $param['attachment'] : '';
             $application_info['attachment'] = isset($param['attachment']) ? $param['attachment'] : '';
 //            $remote_application = DB::table('remote_application')->where('exam_id',$param['id'])->select();
 //            $remote_application = DB::table('remote_application')->where('exam_id',$param['id'])->select();
@@ -445,11 +447,11 @@ class Application extends Base
                             return json_encode(['status'=>'ok','code'=>'2017','msg'=> '远程机构获取失败']);
                             return json_encode(['status'=>'ok','code'=>'2017','msg'=> '远程机构获取失败']);
                         }
                         }
                         $res = false;
                         $res = false;
-                        if($contact['pay_type'] === 0) { //医院挂账
+                        if($contact['pay_type'] === self::PAY_TYPE['HOSPITAL']) { //医院挂账
                             // $hospital_id, $super_hospital_id, $doctor_id, $super_doctor_id, $exam_class, $application_id, $order_money
                             // $hospital_id, $super_hospital_id, $doctor_id, $super_doctor_id, $exam_class, $application_id, $order_money
                             $res = $this->createHospitalOrder($local_institution_id, $remote_institution_id, $req_doctor_id, $remote_doctor_id, $exam_info['exam_class'], $application['id'], $cost['money'], $is_urgent, $wechatService);
                             $res = $this->createHospitalOrder($local_institution_id, $remote_institution_id, $req_doctor_id, $remote_doctor_id, $exam_info['exam_class'], $application['id'], $cost['money'], $is_urgent, $wechatService);
                         }
                         }
-                        if($contact['pay_type'] === 1) { // 患者支付
+                        if($contact['pay_type'] === self::PAY_TYPE['PATIENT']) { // 患者支付
                             // var_dump(2);
                             // var_dump(2);
                             // var_dump($wechatService);
                             // var_dump($wechatService);
                             // $push_res = WechatService::pushWechatOrder($param['id']);
                             // $push_res = WechatService::pushWechatOrder($param['id']);
@@ -526,7 +528,7 @@ class Application extends Base
                 DB::commit();
                 DB::commit();
                 // return true;
                 // return true;
                 // DB::rollback();
                 // DB::rollback();
-                return json_encode(['status'=>'fail','code'=>'2019','已存在订单,请勿重复发起']);
+                return json_encode(['status'=>'fail','code'=>'2019','msg' => '已存在订单,请勿重复发起']);
             }
             }
             $hospital = DB::table('institution')
             $hospital = DB::table('institution')
             ->where('id', $hospital_id)
             ->where('id', $hospital_id)
@@ -534,13 +536,13 @@ class Application extends Base
             ->find();
             ->find();
             if(!$hospital) {
             if(!$hospital) {
                 DB::rollback();
                 DB::rollback();
-                return json_encode(['status'=>'fail','code'=>'2017','查找本地医院失败']);
+                return json_encode(['status'=>'fail','code'=>'2017','msg' => '查找本地医院失败']);
             }
             }
             $min_money = $hospital['min_money'];
             $min_money = $hospital['min_money'];
             $current_money = $hospital['current_money'];
             $current_money = $hospital['current_money'];
             if($current_money - $order_money < $min_money) {
             if($current_money - $order_money < $min_money) {
                 DB::rollback();
                 DB::rollback();
-                return json_encode(['status'=>'fail','code'=>'2017','余额不足请联系医院管理员充值']);
+                return json_encode(['status'=>'fail','code'=>'2017','msg' => '余额不足请联系医院管理员充值']);
             }
             }
             DB::table('institution')->where('id',$hospital_id)->update(['current_money'=> $current_money - $order_money]);
             DB::table('institution')->where('id',$hospital_id)->update(['current_money'=> $current_money - $order_money]);
             $order_id = UUIDs::uuid16();
             $order_id = UUIDs::uuid16();
@@ -575,7 +577,7 @@ class Application extends Base
             // 回滚事务
             // 回滚事务
             DB::rollback();
             DB::rollback();
         }
         }
-        return json_encode(['status'=>'fail','code'=>'2018','远程诊断发起失败']);
+        return json_encode(['status'=>'fail','code'=>'2018','msg' => '远程诊断发起失败']);
     }
     }
     private function createPatientsOrder($hospital_id, $super_hospital_id, $doctor_id, $super_doctor_id, $exam_class, $application_id, $order_money, $is_urgent = 0, $wechatService) {
     private function createPatientsOrder($hospital_id, $super_hospital_id, $doctor_id, $super_doctor_id, $exam_class, $application_id, $order_money, $is_urgent = 0, $wechatService) {
         $pay_type = self::PAY_TYPE['PATIENT'];
         $pay_type = self::PAY_TYPE['PATIENT'];
@@ -593,7 +595,7 @@ class Application extends Base
                 DB::commit();
                 DB::commit();
                 // return json_encode(['status'=>'ok','code'=>'0000','oid'=>$remote_order['id'],'aid'=>$application_id]);
                 // return json_encode(['status'=>'ok','code'=>'0000','oid'=>$remote_order['id'],'aid'=>$application_id]);
                 // DB::rollback();
                 // DB::rollback();
-                return json_encode(['status'=>'fail','code'=>'2019','已存在订单,请勿重复发起']);
+                return json_encode(['status'=>'fail','code'=>'2019','msg' => '已存在订单,请勿重复发起']);
             }
             }
             $order_id = UUIDs::uuid16();
             $order_id = UUIDs::uuid16();
             DB::table('remote_order')->insert([
             DB::table('remote_order')->insert([
@@ -618,7 +620,7 @@ class Application extends Base
             var_dump($e);
             var_dump($e);
             DB::rollback();
             DB::rollback();
         }
         }
-        return json_encode(['status'=>'fail','code'=>'2020','远程诊断发起失败']);
+        return json_encode(['status'=>'fail','code'=>'2020','msg' => '远程诊断发起失败']);
     }
     }
 
 
     private function cancelHospitalOrder($order_id, $hospital_id, $order_money) {
     private function cancelHospitalOrder($order_id, $hospital_id, $order_money) {
@@ -650,7 +652,7 @@ class Application extends Base
             // 回滚事务
             // 回滚事务
             DB::rollback();
             DB::rollback();
         }
         }
-        return json_encode(['status'=>'fail','code'=>'2018','取消订单失败']);
+        return json_encode(['status'=>'fail','code'=>'2018','msg' => '取消订单失败']);
     }
     }
     private function cancelPatientsOrder($order_id) {
     private function cancelPatientsOrder($order_id) {
         try{
         try{
@@ -660,7 +662,7 @@ class Application extends Base
         } catch (\Exception $e) {
         } catch (\Exception $e) {
             var_dump($e);
             var_dump($e);
         }
         }
-        return json_encode(['status'=>'fail','code'=>'2109','订单取消失败']);
+        return json_encode(['status'=>'fail','code'=>'2109','msg' => '订单取消失败']);
     }
     }
 
 
     /**订单状态 创建 支付完成 订单完成 取消 */
     /**订单状态 创建 支付完成 订单完成 取消 */
@@ -694,10 +696,10 @@ class Application extends Base
         "BANK" => 13
         "BANK" => 13
     ];
     ];
    
    
-    /**支付类型 医院 微信 */
+    /**支付类型 微信 医院  */
     public const PAY_TYPE = [
     public const PAY_TYPE = [
-        "HOSPITAL" => 0,
-        "PATIENT" => 1
+        "PATIENT" => 0,
+        "HOSPITAL" => 1
     ];
     ];
 
 
     /**
     /**

+ 3 - 3
application/inter/controller/Dcquery.php

@@ -119,9 +119,9 @@ class Dcquery extends Controller
     public function get_studiesinfo(){
     public function get_studiesinfo(){
         try{
         try{
             $study_id = $_REQUEST['study_id']?? false;
             $study_id = $_REQUEST['study_id']?? false;
-            if($study_id && Cache::get($study_id)){
-                return Cache::get($study_id);
-            }
+            // if($study_id && Cache::get($study_id)){
+            //     return Cache::get($study_id);
+            // }
             if(isset($_REQUEST['address']) && !empty($_REQUEST['address'])){
             if(isset($_REQUEST['address']) && !empty($_REQUEST['address'])){
                 $url = $_REQUEST['address'];
                 $url = $_REQUEST['address'];
             }else{
             }else{

+ 4 - 1
application/inter/controller/Reciveremote.php

@@ -216,7 +216,10 @@ class Reciveremote extends Base
             $num =  $_REQUEST['num'];
             $num =  $_REQUEST['num'];
 
 
             $doc_class = DB::table('doctor_class')->where('doctor_id',$doctor['id'])->value('doctor_class');
             $doc_class = DB::table('doctor_class')->where('doctor_id',$doctor['id'])->value('doctor_class');
-            if(strpos('8', $doc_class) !== false){
+            // Log::record('医生id');
+            // Log::record($remote_doctor_id);
+            // Log::record(strpos('8', $doc_class));
+            if(strpos($doc_class, '8') !== false){
                 $where2 = "((`ra`.`report_status` = '7' or `ra`.`report_status` = '8' or `ra`.`report_status` = '9') or ((`ra`.`report_status` = '4' or `ra`.`report_status` = '6') and (`ra`.`remote_doctor_id`= ? or `ra`.`remote_doctor_id` = '')))";
                 $where2 = "((`ra`.`report_status` = '7' or `ra`.`report_status` = '8' or `ra`.`report_status` = '9') or ((`ra`.`report_status` = '4' or `ra`.`report_status` = '6') and (`ra`.`remote_doctor_id`= ? or `ra`.`remote_doctor_id` = '')))";
             } else {
             } else {
                 $where2 = "(`ra`.`report_status` = '4' or `ra`.`report_status` = '6' or `ra`.`report_status` = '7' or `ra`.`report_status` = '8' or `ra`.`report_status` = '9') and (`ra`.`remote_doctor_id`= ? or `ra`.`remote_doctor_id` = '')";
                 $where2 = "(`ra`.`report_status` = '4' or `ra`.`report_status` = '6' or `ra`.`report_status` = '7' or `ra`.`report_status` = '8' or `ra`.`report_status` = '9') and (`ra`.`remote_doctor_id`= ? or `ra`.`remote_doctor_id` = '')";

+ 20 - 11
application/inter/service/WechatService.php

@@ -140,23 +140,30 @@ class WechatService {
   }
   }
 
 
   private function getPushOpenId($exam_id) {
   private function getPushOpenId($exam_id) {
-    $exams = DB::table("exams")
+    $exam = DB::table("exams")
     ->alias('e')
     ->alias('e')
     ->join('studies s', 'e.study_id = s.id')
     ->join('studies s', 'e.study_id = s.id')
     ->join('patient_infos pi', 'e.patient_id = pi.id')
     ->join('patient_infos pi', 'e.patient_id = pi.id')
-    ->field('e.patient_id, s.accession_num, s.studyid, pi.temp_patient_id, pi.card_num, pi.phone')
+    ->field('e.patient_id, s.accession_num, s.studyid, pi.temp_patient_id, pi.card_num, pi.phone, e.institution_id')
     ->where('e.id', $exam_id)
     ->where('e.id', $exam_id)
     ->find();
     ->find();
-    if(!$exams) {
+    if(!$exam) {
+      log::record('---------没有对应检查--------');
       return false;
       return false;
     }
     }
+    $institution = Db::table('institution')->where('id', $exam['institution_id'])->find();
+    if(!$institution) {
+      log::record('---------没有对应医院--------');
+      return false;
+    }
+    $wx_source = $institution['wx_source'];
     $options = [];
     $options = [];
-    $accession_num = $exams['accession_num'];
-    $studyid = $exams['studyid'];
-    $patient_id = $exams['patient_id'];
-    $temp_patient_id = $exams['temp_patient_id'];
-    $card_num = $exams['card_num'];
-    $phone = $exams['phone'];
+    $accession_num = $exam['accession_num'];
+    $studyid = $exam['studyid'];
+    $patient_id = $exam['patient_id'];
+    $temp_patient_id = $exam['temp_patient_id'];
+    $card_num = $exam['card_num'];
+    $phone = $exam['phone'];
 
 
     $sql1 = "select user_id as uid from user_bind where patient_id = ?";
     $sql1 = "select user_id as uid from user_bind where patient_id = ?";
     $options[] = $patient_id;
     $options[] = $patient_id;
@@ -177,14 +184,16 @@ class WechatService {
       $sql2 .= " or idcard = ?";
       $sql2 .= " or idcard = ?";
       $options[] = $card_num;
       $options[] = $card_num;
     }
     }
-    if($card_num) {
+    if($phone) {
       $sql2 .= " or phone = ?";
       $sql2 .= " or phone = ?";
       $options[] = $phone;
       $options[] = $phone;
     }
     }
 
 
-    $sql = "select wx_openid as openid, source from user where id in (".$sql1." union ".$sql2.")";
+    $sql = "select wx_openid as openid, source from user where id in (".$sql1." union ".$sql2.") and source = ?";
+    $options[] = $wx_source;
     log::record('---------微信推送sql--------');
     log::record('---------微信推送sql--------');
     log::record($sql);
     log::record($sql);
+    log::record($options);
     return Db::query($sql, $options);
     return Db::query($sql, $options);
   }
   }
 
 

+ 0 - 3
public/index.html

@@ -1,3 +0,0 @@
-<!DOCTYPE html><html><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1"><meta name=renderer content=webkit><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><title>中世康恺远程诊断平台</title><link rel="shortcut icon" type=image/x-icon href=favicon.ico><link rel="shortcut icon" href=/favicon.ico><link href=/static/css/app.35cae6590d924184e2b1db3f9810ecd7.css rel=stylesheet></head><style>body::-webkit-scrollbar{
-    width: 0;
-  }</style><body><script src=http://libs.baidu.com/jquery/2.0.0/jquery.js></script><script src=/static/tinymce4.7.5/tinymce.min.js></script><div id=app></div><script type=text/javascript src=/static/js/manifest.c5a92ab239cdf4ea64d7.js></script><script type=text/javascript src=/static/js/vendor.7edea4a4dee5476472dd.js></script><script type=text/javascript src=/static/js/app.8a394e4cfd2c424e2705.js></script><script type=text/javascript src=/static/js/babel-polyfill.c3ea913f8cb1fddc2567.js></script></body></html>