| xqd
@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
|
|
|
|
|
|
|
|
|
|
|
|
+use App\Models\CdmsUsers;
|
|
|
use App\Models\CommunitySchedule;
|
|
|
use App\Models\Docter;
|
|
|
use App\Models\DocterOrganization;
|
| xqd
@@ -24,23 +25,45 @@ use phpDocumentor\Reflection\DocBlock\Description;
|
|
|
class ScheDuleController extends Controller
|
|
|
{
|
|
|
|
|
|
+ public function __construct()
|
|
|
+ {
|
|
|
+
|
|
|
+ // 允许 $originarr 数组内的 域名跨域访问
|
|
|
+
|
|
|
+ header('Access-Control-Allow-Origin:*');
|
|
|
+
|
|
|
+ // 响应类型
|
|
|
+
|
|
|
+ header('Access-Control-Allow-Methods:POST,GET');
|
|
|
+
|
|
|
+ // 带 cookie 的跨域访问
|
|
|
+
|
|
|
+ header('Access-Control-Allow-Credentials: true');
|
|
|
+
|
|
|
+ // 响应头设置
|
|
|
+
|
|
|
+ header('Access-Control-Allow-Headers:x-requested-with,Content-Type,X-CSRF-Token');
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取排班页面
|
|
|
public function getComSchedule()
|
|
|
{
|
|
|
|
|
|
- $set_time = request('Schedulingtime');//时间
|
|
|
- $org_id = request('mechanism');//机构
|
|
|
+ $set_time = request('time');//时间
|
|
|
+ $org_id = request('org_id');//机构
|
|
|
$docter_id = request('docter_id');//医生
|
|
|
|
|
|
|
|
|
- $set_time = '2020-11-30至2020-12-06';
|
|
|
- $org_id = 1;
|
|
|
- $docter_id = 47;
|
|
|
+// $set_time = '2020-11-30至2020-12-06';
|
|
|
+// $org_id = 1;
|
|
|
+// $docter_id = 47;
|
|
|
$role = 1;
|
|
|
|
|
|
if(empty($set_time) || empty($org_id) || empty($docter_id)){
|
|
|
return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
|
|
|
} else{
|
|
|
- echo 'what happend';
|
|
|
+// echo 'what happend';
|
|
|
}
|
|
|
|
|
|
|
| xqd
@@ -61,36 +84,36 @@ class ScheDuleController extends Controller
|
|
|
// echo '</pre>';
|
|
|
//dd($sche_dule);
|
|
|
|
|
|
- $sche_dule_arr = [
|
|
|
+ $sche_dule_arr =[
|
|
|
[
|
|
|
'date'=>"上午",
|
|
|
- 'mondy'=>true,
|
|
|
- 'tuesday'=>true,
|
|
|
- 'wednesday'=>true,
|
|
|
- 'thursday'=>true,
|
|
|
- 'friday'=>true,
|
|
|
- 'saturday'=>true,
|
|
|
- 'sunday'=>true,
|
|
|
+ 'mondy'=>false,
|
|
|
+ 'tuesday'=>false,
|
|
|
+ 'wednesday'=>false,
|
|
|
+ 'thursday'=>false,
|
|
|
+ 'friday'=>false,
|
|
|
+ 'saturday'=>false,
|
|
|
+ 'sunday'=>false,
|
|
|
],
|
|
|
[
|
|
|
'date'=>"下午",
|
|
|
- 'mondy'=>true,
|
|
|
- 'tuesday'=>true,
|
|
|
- 'wednesday'=>true,
|
|
|
- 'thursday'=>true,
|
|
|
- 'friday'=>true,
|
|
|
- 'saturday'=>true,
|
|
|
- 'sunday'=>true,
|
|
|
+ 'mondy'=>false,
|
|
|
+ 'tuesday'=>false,
|
|
|
+ 'wednesday'=>false,
|
|
|
+ 'thursday'=>false,
|
|
|
+ 'friday'=>false,
|
|
|
+ 'saturday'=>false,
|
|
|
+ 'sunday'=>false,
|
|
|
],
|
|
|
[
|
|
|
'date'=>"晚上",
|
|
|
- 'mondy'=>true,
|
|
|
- 'tuesday'=>true,
|
|
|
- 'wednesday'=>true,
|
|
|
- 'thursday'=>true,
|
|
|
- 'friday'=>true,
|
|
|
- 'saturday'=>true,
|
|
|
- 'sunday'=>true,
|
|
|
+ 'mondy'=>false,
|
|
|
+ 'tuesday'=>false,
|
|
|
+ 'wednesday'=>false,
|
|
|
+ 'thursday'=>false,
|
|
|
+ 'friday'=>false,
|
|
|
+ 'saturday'=>false,
|
|
|
+ 'sunday'=>false,
|
|
|
]
|
|
|
];
|
|
|
|
| xqd
@@ -109,7 +132,9 @@ class ScheDuleController extends Controller
|
|
|
$role = 2;
|
|
|
if($role == 1){
|
|
|
$ids = DocterOrganization::where(['organization_id'=>$org_id])->pluck('docter_id');
|
|
|
- $list = Docter::whereIn('id',$ids)->get(['id','name'])->toArray();
|
|
|
+ $list = Docter::whereIn('id',$ids)->get(['id as value','name as label'])->toArray();
|
|
|
+ $name = Organization::where('id',$docter_id)->value('name');
|
|
|
+
|
|
|
$user_id = $org_id;
|
|
|
|
|
|
for ($i = $start_time; $i<=$end_time; $i++){
|
| xqd
@@ -119,12 +144,22 @@ class ScheDuleController extends Controller
|
|
|
//检测上午
|
|
|
$is_mo_have = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$mo)
|
|
|
->where('organization_id','!=',$org_id)->count();
|
|
|
+ $is_self = SchedulePeriod::where('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$mo)
|
|
|
+ ->where('organization_id',$org_id)->count();
|
|
|
+ if($is_self){
|
|
|
+ $sche_dule_arr[0][$week_arr[$j]] = true;
|
|
|
+ }
|
|
|
if($is_mo_have){
|
|
|
$sche_dule_arr[0][$week_arr[$j]] = 'other';
|
|
|
}
|
|
|
//检测下午
|
|
|
$is_af_have = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$af)
|
|
|
->where('organization_id','!=',$org_id)->count();
|
|
|
+ $is_af_self = SchedulePeriod::where('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$af)
|
|
|
+ ->where('organization_id',$org_id)->count();
|
|
|
+ if($is_af_self){
|
|
|
+ $sche_dule_arr[1][$week_arr[$j]] = true;
|
|
|
+ }
|
|
|
if($is_af_have){
|
|
|
$sche_dule_arr[1][$week_arr[$j]] = 'other';
|
|
|
}
|
| xqd
@@ -132,6 +167,11 @@ class ScheDuleController extends Controller
|
|
|
//检测晚上
|
|
|
$is_ev_have = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$ev)
|
|
|
->where('organization_id','!=',$org_id)->count();
|
|
|
+ $is_ev_self = SchedulePeriod::where('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$ev)
|
|
|
+ ->where('organization_id',$org_id)->count();
|
|
|
+ if($is_ev_self){
|
|
|
+ $sche_dule_arr[2][$week_arr[$j]] = true;
|
|
|
+ }
|
|
|
if($is_ev_have){
|
|
|
$sche_dule_arr[2][$week_arr[$j]] = 'other';
|
|
|
}
|
| xqd
@@ -140,7 +180,8 @@ class ScheDuleController extends Controller
|
|
|
|
|
|
} else {
|
|
|
$ids = DocterOrganization::where(['docter_id'=>$docter_id])->pluck('organization_id');
|
|
|
- $list = Organization::whereIn('id',$ids)->get(['id','name'])->toArray();
|
|
|
+ $list = Organization::whereIn('id',$ids)->get(['id as value','name as label'])->toArray();
|
|
|
+ $name = Docter::where('id',$docter_id)->value('name');
|
|
|
$user_id = $docter_id;
|
|
|
|
|
|
for ($i = $start_time; $i<=$end_time; $i++){
|
| xqd
@@ -150,12 +191,22 @@ class ScheDuleController extends Controller
|
|
|
//检测上午
|
|
|
$is_mo_have = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$mo)
|
|
|
->where('organization_id','!=',$org_id)->where('docter_id','!=',$docter_id)->count();
|
|
|
+ $is_mo_self = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$mo)
|
|
|
+ ->where('organization_id','!=',$org_id)->where('docter_id',$docter_id)->count();
|
|
|
+ if($is_mo_self){
|
|
|
+ $sche_dule_arr[0][$week_arr[$j]] = true;
|
|
|
+ }
|
|
|
if($is_mo_have){
|
|
|
$sche_dule_arr[0][$week_arr[$j]] = 'other';
|
|
|
}
|
|
|
//检测下午
|
|
|
$is_af_have = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$af)
|
|
|
->where('organization_id','!=',$org_id)->where('docter_id','!=',$docter_id)->count();
|
|
|
+ $is_af_self = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$af)
|
|
|
+ ->where('organization_id','!=',$org_id)->where('docter_id',$docter_id)->count();
|
|
|
+ if($is_af_self){
|
|
|
+ $sche_dule_arr[1][$week_arr[$j]] = true;
|
|
|
+ }
|
|
|
if($is_af_have){
|
|
|
$sche_dule_arr[1][$week_arr[$j]] = 'other';
|
|
|
}
|
| xqd
@@ -163,6 +214,11 @@ class ScheDuleController extends Controller
|
|
|
//检测晚上
|
|
|
$is_ev_have = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$ev)
|
|
|
->where('organization_id','!=',$org_id)->where('docter_id','!=',$docter_id)->count();
|
|
|
+ $is_ev_self = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$ev)
|
|
|
+ ->where('organization_id','!=',$org_id)->where('docter_id',$docter_id)->count();
|
|
|
+ if($is_ev_self){
|
|
|
+ $sche_dule_arr[2][$week_arr[$j]] = true;
|
|
|
+ }
|
|
|
if($is_ev_have){
|
|
|
$sche_dule_arr[2][$week_arr[$j]] = 'other';
|
|
|
}
|
| xqd
@@ -179,13 +235,15 @@ class ScheDuleController extends Controller
|
|
|
|
|
|
|
|
|
$data['docter'] = $sche_dule_arr;
|
|
|
- $data['list'] = array_column($list,'name','id');
|
|
|
+ $data['name'] = $name;
|
|
|
+ $data['list'] = $list;
|
|
|
+
|
|
|
$data['role'] = $role;
|
|
|
$data['user_id'] = $user_id;
|
|
|
return (json_encode(['code'=>200,'msg'=>'ok','data'=>$data]));
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ //编辑排班
|
|
|
public function setDocChedule()
|
|
|
{
|
|
|
$docter_id = request('docter_id');
|
| xqd
@@ -208,33 +266,33 @@ class ScheDuleController extends Controller
|
|
|
$data = [
|
|
|
[
|
|
|
'date'=>"上午",
|
|
|
- 'mondy'=>true,
|
|
|
- 'tuesday'=>true,
|
|
|
- 'wednesday'=>true,
|
|
|
- 'thursday'=>true,
|
|
|
- 'friday'=>true,
|
|
|
- 'saturday'=>true,
|
|
|
- 'sunday'=>true,
|
|
|
+ 'mondy'=>false,
|
|
|
+ 'tuesday'=>false,
|
|
|
+ 'wednesday'=>false,
|
|
|
+ 'thursday'=>false,
|
|
|
+ 'friday'=>false,
|
|
|
+ 'saturday'=>false,
|
|
|
+ 'sunday'=>false,
|
|
|
],
|
|
|
[
|
|
|
'date'=>"下午",
|
|
|
- 'mondy'=>true,
|
|
|
- 'tuesday'=>true,
|
|
|
- 'wednesday'=>true,
|
|
|
- 'thursday'=>true,
|
|
|
- 'friday'=>true,
|
|
|
- 'saturday'=>true,
|
|
|
- 'sunday'=>true,
|
|
|
+ 'mondy'=>false,
|
|
|
+ 'tuesday'=>false,
|
|
|
+ 'wednesday'=>false,
|
|
|
+ 'thursday'=>false,
|
|
|
+ 'friday'=>false,
|
|
|
+ 'saturday'=>false,
|
|
|
+ 'sunday'=>false,
|
|
|
],
|
|
|
[
|
|
|
'date'=>"晚上",
|
|
|
- 'mondy'=>true,
|
|
|
- 'tuesday'=>true,
|
|
|
- 'wednesday'=>true,
|
|
|
- 'thursday'=>true,
|
|
|
- 'friday'=>true,
|
|
|
- 'saturday'=>true,
|
|
|
- 'sunday'=>true,
|
|
|
+ 'mondy'=>false,
|
|
|
+ 'tuesday'=>false,
|
|
|
+ 'wednesday'=>false,
|
|
|
+ 'thursday'=>false,
|
|
|
+ 'friday'=>false,
|
|
|
+ 'saturday'=>false,
|
|
|
+ 'sunday'=>false,
|
|
|
]
|
|
|
];
|
|
|
|
| xqd
@@ -309,42 +367,59 @@ class ScheDuleController extends Controller
|
|
|
return json_encode(['status'=>200,'msg'=>'插入成功','data'=>count($info)]);
|
|
|
}
|
|
|
|
|
|
- public function getScheduleInfo ()
|
|
|
+ //获取用户信息
|
|
|
+ public function getScheduleInfo()
|
|
|
{
|
|
|
$docter_id = request('docter_id');
|
|
|
$org_id = request('org_id');
|
|
|
- $docter_id = 47;
|
|
|
- $org_id = 1;
|
|
|
+// dd(request()->toArray());
|
|
|
+ $is_docter = CdmsUsers::where('docter_id',$docter_id);
|
|
|
$role = 1;
|
|
|
+ if(empty($org_id) && empty($docter_id)){
|
|
|
+ return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
|
|
|
+ }
|
|
|
+ if($is_docter){
|
|
|
+ $role = 2;
|
|
|
+ }
|
|
|
if($role == 1){
|
|
|
$ids = DocterOrganization::where(['docter_id'=>$docter_id])->pluck('organization_id');
|
|
|
- $list = Organization::whereIn('id',$ids)->get(['id','name'])->toArray();
|
|
|
+ $list = Organization::whereIn('id',$ids)->get(['id as value','name as label'])->toArray();
|
|
|
+ $name = Organization::where('id',$org_id)->value('name');
|
|
|
$user_id = $org_id;
|
|
|
} else {
|
|
|
$ids = DocterOrganization::where(['docter_id'=>$docter_id])->pluck('organization_id');
|
|
|
- $list = Organization::whereIn('id',$ids)->get(['id','name'])->toArray();
|
|
|
+ $list = Organization::whereIn('id',$ids)->get(['id as value','name as label'])->toArray();
|
|
|
+ $name = Docter::where('id',$docter_id)->value('name');
|
|
|
$user_id = $docter_id;
|
|
|
-
|
|
|
}
|
|
|
$data['user_id'] = $user_id;
|
|
|
+ $data['name'] = $name;
|
|
|
$data['role'] = $role;
|
|
|
$data['list'] = $list;
|
|
|
return (json_encode(['code'=>200,'msg'=>'ok','data'=>$data]));
|
|
|
}
|
|
|
|
|
|
+ //获取图文订单
|
|
|
public function get_chat_order()
|
|
|
{
|
|
|
$org_id = 1;
|
|
|
- $docter_id = 1;
|
|
|
+// $docter_id = 1;
|
|
|
+ $docter_id = request('docter_id');
|
|
|
+ if(empty($docter_id)){
|
|
|
+ return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
$list = Order::where(['organization_id'=>$org_id,'docter_id'=>$docter_id,'order_status'=>3])->with('orderUser')->distinct('user_id')->get('user_id');
|
|
|
+ $user_list = [];
|
|
|
foreach ($list as $val){
|
|
|
$user_list[] = [
|
|
|
- 'user_id'=>$val->user_id,
|
|
|
+ 'id'=>$val->user_id,
|
|
|
'avatar'=>$val->orderUser->avatar,
|
|
|
'name'=>$val->orderUser->nickname,
|
|
|
];
|
|
|
}
|
|
|
- $data['docter_id'] = $docter_id;
|
|
|
+ $data['docter'] = Docter::where('id',$docter_id)->first(['id','avatar','name']);
|
|
|
$data['order_list'] = $user_list;
|
|
|
return (json_encode(['code'=>200,'msg'=>'ok','data'=>$data]));
|
|
|
}
|