Browse Source

数字化门诊

wanghaijun 4 năm trước cách đây
mục cha
commit
98c7f7300b
2 tập tin đã thay đổi với 55 bổ sung21 xóa
  1. 54 21
      app/Http/Controllers/AppiontController.php
  2. 1 0
      routes/web.php

+ 54 - 21
app/Http/Controllers/AppiontController.php

xqd xqd xqd
@@ -4,6 +4,7 @@
 namespace App\Http\Controllers;
 
 
+use Illuminate\Support\Facades\DB;
 use App\Models\Order;
 use App\Models\OrderPatient;
 use App\Models\Patient;
@@ -14,12 +15,13 @@ class AppiontController extends Controller
    public function getAppiontInfo()
    {
        $data = request()->all();
+//       dd(strtotime('2021-01-20 09:31:00'));
        $defaulRes = [
            'server_handle_result'=>0,
            'reserve_check_result'=>0,
            'allow_get_ticket'=>0,
            'tip_msg'=>'',
-           'reserve_service_no'=>'',
+           'reserve_service_no'=>'Y',
            'reserve_date'=>'',
            'reserve_start_time'=>'',
            'reserve_end_time'=>'',
@@ -66,38 +68,69 @@ class AppiontController extends Controller
                exit(json_encode($defaulRes));
            }
 
-           $user_id = User::where('phone',$data['telphone'])->value('id');
+           //先用患者表找,如果没有就直接查找用户表
+           $user_id = Patient::where('phone',$data['telphone'])->value('user_id');
+           if(empty($user_id)){
+               $user_id = User::where('phone',$data['telphone'])->value('id');
+           }
+
            if(empty($user_id)){
                $defaulRes['sig'] = '无效账号';
                exit(json_encode($defaulRes));
            }
 
-
+           DB::enableQueryLog();
            $order = Order::where('user_id',$user_id)->select('id','order_sn','user_id','patient_id','is_ticket')->with('orderPatient:order_id,appoint_start_time,appoint_end_time');
+
            if($data['st']){
                $order = $order->whereHas('orderPatient',function ($query) use ($data){
-                   $query->where('appoint_start_time','>=',$data['st']);
+                   $query->where('appoint_start_time','<=',$data['st']);
+                   $query->where('appoint_end_time','>=',$data['st']);
                });
            }
-
-           $order_list =$order->get()->toArray();
-
-           foreach ($order_list as $order){
-               $defauldata = $defaulRes;
-               $defauldata['orderId'] = $order['id'];
-               if(!$order['is_ticket']){
-                   $defauldata['reserve_start_time']  = $order['orderPatient']['appoint_start_time'];
-                   $defauldata['reserve_end_time']  = $order['orderPatient']['appoint_end_time'];
-                   $defauldata['allow_post_ticket']  = 1;
-                   $defauldata['reserve_check_result']  = 1;
-                   $defauldata['reserve_date']  = date('Y-m-d',strtotime($order['orderPatient']['appoint_start_time']));
-               } else {
-                   $defauldata['reserve_check_result']  = 1;
-                   $defauldata['allow_post_ticket']  = 0;
+           $order_list =$order->first();
+           dump(DB::getQueryLog());
+           if(empty($order_list)){
+               $defaulRes['tip_msg'] = '无预约';
+               exit(json_encode($defaulRes));
+           }
+           $order = $order_list->toArray();
+
+           $defaulRes['orderId'] = $order['id'];
+           $defaulRes['server_handle_result'] = 1;
+           if( $order['is_ticket'] == 0 && !empty($order['order_patient'])){
+               if(intval($order['order_patient']['appoint_start_time']) < intval($data['st']) || intval($data['st']) < time()){
+                   $defaulRes['sig'] = '预约已过期,您预约的时间为:'.date('Y-m-d',strtotime($order['order_patient']['appoint_start_time'])).date('H:i',$order['order_patient']['appoint_start_time']).'~'.date('H:i',$order['order_patient']['appoint_end_time']);
+                   exit(json_encode($defaulRes));
                }
-               $appiontList [] = $defauldata;
+               $defaulRes['reserve_start_time']  = date('H:i',intval($order['order_patient']['appoint_start_time']));
+               $defaulRes['reserve_end_time']  = date('H:i',intval($order['order_patient']['appoint_end_time']));
+               $defaulRes['allow_post_ticket']  = 1;
+               $defaulRes['reserve_check_result']  = 1;
+               $defaulRes['reserve_date']  = date('Y-m-d',strtotime(intval($order['order_patient']['appoint_start_time'])));
+           } else {
+               $defaulRes['reserve_check_result']  = 1;
+               $defaulRes['allow_post_ticket']  = 0;
            }
-           exit(json_encode($appiontList));
+
+//           foreach ($order_list as $order){
+//               $defauldata = $defaulRes;
+//               $defauldata['orderId'] = $order['id'];
+//               if(!$order['is_ticket'] && !empty($order['orderPatient'])){
+//                   $defauldata['reserve_start_time']  = $order['orderPatient']['appoint_start_time'];
+//                   $defauldata['reserve_end_time']  = $order['orderPatient']['appoint_end_time'];
+//                   $defauldata['allow_post_ticket']  = 1;
+//                   $defauldata['reserve_check_result']  = 1;
+//                   $defauldata['reserve_date']  = date('Y-m-d',strtotime($order['orderPatient']['appoint_start_time']));
+//               } else {
+//                   $defauldata['reserve_check_result']  = 1;
+//                   $defauldata['allow_post_ticket']  = 0;
+//               }
+//               $appiontList [] = $defauldata;
+//           }
+
+
+           exit(json_encode($defaulRes));
        }
 
    }

+ 1 - 0
routes/web.php

xqd
@@ -41,4 +41,5 @@ Route::get('/api/getScheduleInfo', 'ScheDuleController@getScheduleInfo');
 Route::get('/api/getAppiontInfo', 'Appiontcontroller@getAppiontInfo');
 Route::get('/api/docterList', 'Appiontcontroller@docterList');
 Route::get('/api/organizationList', 'Appiontcontroller@organizationList');
+Route::post('/api/organizationList', 'Appiontcontroller@organizationList');