|
@@ -58,7 +58,7 @@ class ScheDuleController extends Controller
|
|
// $set_time = '2020-11-30至2020-12-06';
|
|
// $set_time = '2020-11-30至2020-12-06';
|
|
// $org_id = 1;
|
|
// $org_id = 1;
|
|
// $docter_id = 47;
|
|
// $docter_id = 47;
|
|
- $role = 1;
|
|
|
|
|
|
+ $role = 2;
|
|
|
|
|
|
if(empty($set_time) || empty($org_id) || empty($docter_id)){
|
|
if(empty($set_time) || empty($org_id) || empty($docter_id)){
|
|
return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
|
|
return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
|
|
@@ -74,6 +74,7 @@ class ScheDuleController extends Controller
|
|
|
|
|
|
$start_time = intval(str_replace('-','',$all_time[0]));
|
|
$start_time = intval(str_replace('-','',$all_time[0]));
|
|
$end_time = intval(str_replace('-','',$all_time[1]));
|
|
$end_time = intval(str_replace('-','',$all_time[1]));
|
|
|
|
+ $first_day = strtotime($all_time[0]);
|
|
// DB::enableQueryLog();
|
|
// DB::enableQueryLog();
|
|
$sche_dule = Schedule::whereBetween('schedule_day',[$start_time,$end_time])
|
|
$sche_dule = Schedule::whereBetween('schedule_day',[$start_time,$end_time])
|
|
->where(['docter_id'=>$docter_id])
|
|
->where(['docter_id'=>$docter_id])
|
|
@@ -122,11 +123,11 @@ class ScheDuleController extends Controller
|
|
|
|
|
|
//时段区间id
|
|
//时段区间id
|
|
$schedule_config = SystemConfig::get('docter_config');
|
|
$schedule_config = SystemConfig::get('docter_config');
|
|
- $mo = TimePeriod::where('start_time_period','>=',$schedule_config['morning_start'])->where('end_time_period','<=',$schedule_config['morning_end'])->pluck('id')->toArray();
|
|
|
|
- $af = TimePeriod::where('start_time_period','>=',$schedule_config['afternoon_start'])->where('end_time_period','<=',$schedule_config['afternoon_end'])->pluck('id')->toArray();
|
|
|
|
- $ev = TimePeriod::where('start_time_period','>=',$schedule_config['evening_start'])->where('end_time_period','<=',$schedule_config['evening_end'])->pluck('id')->toArray();
|
|
|
|
|
|
+ $times[] = TimePeriod::where('start_time_period','>=',$schedule_config['morning_start'])->where('end_time_period','<=',$schedule_config['morning_end'])->pluck('id')->toArray();
|
|
|
|
+ $times[] = TimePeriod::where('start_time_period','>=',$schedule_config['afternoon_start'])->where('end_time_period','<=',$schedule_config['afternoon_end'])->pluck('id')->toArray();
|
|
|
|
+ $times[] = TimePeriod::where('start_time_period','>=',$schedule_config['evening_start'])->where('end_time_period','<=',$schedule_config['evening_end'])->pluck('id')->toArray();
|
|
if(empty($sche_dule)){
|
|
if(empty($sche_dule)){
|
|
- return ['status'=>200,'msg'=>'ok','data'=>['schedule'=>$sche_dule_arr,'org_id'=>$org_id,'docter_id'=>$docter_id]];
|
|
|
|
|
|
+ return ['status'=>200,'msg'=>'ok','data'=>['docter'=>$sche_dule_arr,'org_id'=>$org_id,'docter_id'=>$docter_id]];
|
|
}
|
|
}
|
|
|
|
|
|
$role = 2;
|
|
$role = 2;
|
|
@@ -136,96 +137,47 @@ class ScheDuleController extends Controller
|
|
$name = Organization::where('id',$docter_id)->value('name');
|
|
$name = Organization::where('id',$docter_id)->value('name');
|
|
|
|
|
|
$user_id = $org_id;
|
|
$user_id = $org_id;
|
|
-
|
|
|
|
- for ($i = $start_time; $i<=$end_time; $i++){
|
|
|
|
- $j = 0;
|
|
|
|
- $strtime = "$i";
|
|
|
|
- $str_time = substr($strtime,0,4).'-'.substr($strtime,4,2).'-'.substr($strtime,6,2);
|
|
|
|
- //检测上午
|
|
|
|
-
|
|
|
|
- $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();
|
|
|
|
- ['schedule_id'=>$sche_dule,'schedule_date'=>$str_time,'organization_id'=>$org_id,'docter_id'=>$docter_id];
|
|
|
|
-
|
|
|
|
- $is_self = SchedulePeriod::whereIn('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::whereIn('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';
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //检测晚上
|
|
|
|
- $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::whereIn('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';
|
|
|
|
|
|
+ for ($i = 1; $i<7; $i++){
|
|
|
|
+ $str_time = date('Y-m-d',($first_day + $i * 86400));
|
|
|
|
+ for($j=0;$j<3;$j++){
|
|
|
|
+ //检测上午
|
|
|
|
+ $is_mo_have = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$times[$j])
|
|
|
|
+ ->where('organization_id','!=',$org_id)->count();
|
|
|
|
+ ['schedule_id'=>$sche_dule,'schedule_date'=>$str_time,'organization_id'=>$org_id,'docter_id'=>$docter_id];
|
|
|
|
+
|
|
|
|
+ $is_self = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$times[$j])
|
|
|
|
+ ->where('organization_id',$org_id)->count();
|
|
|
|
+
|
|
|
|
+ if($is_self){
|
|
|
|
+ $sche_dule_arr[$j][$week_arr[$i]] = true;
|
|
|
|
+ }
|
|
|
|
+ if($is_mo_have){
|
|
|
|
+ $sche_dule_arr[$j][$week_arr[$i]] = 'other';
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
} else {
|
|
} else {
|
|
|
|
+
|
|
$ids = DocterOrganization::where(['docter_id'=>$docter_id])->pluck('organization_id');
|
|
$ids = DocterOrganization::where(['docter_id'=>$docter_id])->pluck('organization_id');
|
|
$list = Organization::whereIn('id',$ids)->get(['id as value','name as label'])->toArray();
|
|
$list = Organization::whereIn('id',$ids)->get(['id as value','name as label'])->toArray();
|
|
$name = Docter::where('id',$docter_id)->value('name');
|
|
$name = Docter::where('id',$docter_id)->value('name');
|
|
$user_id = $docter_id;
|
|
$user_id = $docter_id;
|
|
-
|
|
|
|
- for ($i = $start_time; $i<=$end_time; $i++){
|
|
|
|
- $j = 0;
|
|
|
|
- $strtime = "$i";
|
|
|
|
- $str_time = substr($strtime,0,4).'-'.substr($strtime,4,2).'-'.substr($strtime,6,2);
|
|
|
|
- //检测上午
|
|
|
|
-// echo $str_time.'<br>';
|
|
|
|
-
|
|
|
|
- $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';
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //检测晚上
|
|
|
|
- $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';
|
|
|
|
|
|
+ for ($i=0; $i<=6; $i++){
|
|
|
|
+ $str_time = date('Y-m-d',($first_day + $i * 86400));
|
|
|
|
+ for($j=0;$j<=2;$j++){
|
|
|
|
+ //检测上午
|
|
|
|
+ $is_mo_have = SchedulePeriod::whereIn('schedule_id',$sche_dule)->where('schedule_date',$str_time)->whereIn('time_period_id',$times[$j])
|
|
|
|
+ ->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',$times[$j])
|
|
|
|
+ ->where('organization_id',$org_id)->where('docter_id',$docter_id)->count();
|
|
|
|
+// echo $i.'--'.$j.'is_self---'.$is_mo_self.'<br>';
|
|
|
|
+
|
|
|
|
+ if($is_mo_self){
|
|
|
|
+ $sche_dule_arr[$j][$week_arr[$i]] = true;
|
|
|
|
+ }
|
|
|
|
+ if($is_mo_have){
|
|
|
|
+ $sche_dule_arr[$j][$week_arr[$i]] = 'other';
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -255,113 +207,129 @@ class ScheDuleController extends Controller
|
|
$org_id = request('org_id');
|
|
$org_id = request('org_id');
|
|
$set_time = request('time');
|
|
$set_time = request('time');
|
|
$data = request('schedulingtime');
|
|
$data = request('schedulingtime');
|
|
- $shcdule_id = request('schdule_id');
|
|
|
|
- $set_time = '2020-12-07至2020-12-13';
|
|
|
|
|
|
+// $set_time = '2020-12-07至2020-12-13';
|
|
if(empty($set_time) || empty($org_id) || empty($docter_id)){
|
|
if(empty($set_time) || empty($org_id) || empty($docter_id)){
|
|
return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
|
|
return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
|
|
}
|
|
}
|
|
|
|
+
|
|
$all_time = explode('至',$set_time);
|
|
$all_time = explode('至',$set_time);
|
|
|
|
+ $schedule_id = Schedule::where(['organization_id'=>$org_id,'docter_id'=>$docter_id,'schedule_date'=>$all_time[0]])->value('id');
|
|
if(count($all_time) <2) {
|
|
if(count($all_time) <2) {
|
|
return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
|
|
return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
|
|
}
|
|
}
|
|
$start_time = intval(str_replace('-','',$all_time[0]));
|
|
$start_time = intval(str_replace('-','',$all_time[0]));
|
|
$end_time = intval(str_replace('-','',$all_time[1]));
|
|
$end_time = intval(str_replace('-','',$all_time[1]));
|
|
|
|
+ $first_day = strtotime($start_time);
|
|
//周字段映射
|
|
//周字段映射
|
|
$week_arr = ['monday','tuesday','wednesday','thursday','friday','saturday','sunday'];
|
|
$week_arr = ['monday','tuesday','wednesday','thursday','friday','saturday','sunday'];
|
|
-
|
|
|
|
- $data = [
|
|
|
|
- [
|
|
|
|
- 'date'=>"上午",
|
|
|
|
- 'monday'=>false,
|
|
|
|
- 'tuesday'=>false,
|
|
|
|
- 'wednesday'=>false,
|
|
|
|
- 'thursday'=>true,
|
|
|
|
- 'friday'=>false,
|
|
|
|
- 'saturday'=>false,
|
|
|
|
- 'sunday'=>false,
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- 'date'=>"下午",
|
|
|
|
- 'monday'=>false,
|
|
|
|
- 'tuesday'=>true,
|
|
|
|
- 'wednesday'=>false,
|
|
|
|
- 'thursday'=>false,
|
|
|
|
- 'friday'=>false,
|
|
|
|
- 'saturday'=>false,
|
|
|
|
- 'sunday'=>false,
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- 'date'=>"晚上",
|
|
|
|
- 'monday'=>false,
|
|
|
|
- 'tuesday'=>false,
|
|
|
|
- 'wednesday'=>true,
|
|
|
|
- 'thursday'=>false,
|
|
|
|
- 'friday'=>false,
|
|
|
|
- 'saturday'=>false,
|
|
|
|
- 'sunday'=>false,
|
|
|
|
- ]
|
|
|
|
- ];
|
|
|
|
|
|
+// $data = [
|
|
|
|
+// [
|
|
|
|
+// 'date'=>"上午",
|
|
|
|
+// 'monday'=>false,
|
|
|
|
+// 'tuesday'=>false,
|
|
|
|
+// 'wednesday'=>false,
|
|
|
|
+// 'thursday'=>true,
|
|
|
|
+// 'friday'=>false,
|
|
|
|
+// 'saturday'=>false,
|
|
|
|
+// 'sunday'=>false,
|
|
|
|
+// ],
|
|
|
|
+// [
|
|
|
|
+// 'date'=>"下午",
|
|
|
|
+// 'monday'=>false,
|
|
|
|
+// 'tuesday'=>true,
|
|
|
|
+// 'wednesday'=>false,
|
|
|
|
+// 'thursday'=>false,
|
|
|
|
+// 'friday'=>false,
|
|
|
|
+// 'saturday'=>false,
|
|
|
|
+// 'sunday'=>false,
|
|
|
|
+// ],
|
|
|
|
+// [
|
|
|
|
+// 'date'=>"晚上",
|
|
|
|
+// 'monday'=>false,
|
|
|
|
+// 'tuesday'=>false,
|
|
|
|
+// 'wednesday'=>true,
|
|
|
|
+// 'thursday'=>false,
|
|
|
|
+// 'friday'=>false,
|
|
|
|
+// 'saturday'=>false,
|
|
|
|
+// 'sunday'=>false,
|
|
|
|
+// ]
|
|
|
|
+// ];
|
|
|
|
|
|
|
|
|
|
//时段区间id
|
|
//时段区间id
|
|
$schedule_config = SystemConfig::get('docter_config');
|
|
$schedule_config = SystemConfig::get('docter_config');
|
|
- $mo = TimePeriod::where('start_time_period','>=',$schedule_config['morning_start'])
|
|
|
|
|
|
+ $times[1] = TimePeriod::where('start_time_period','>=',$schedule_config['morning_start'])
|
|
->where('end_time_period','<=',$schedule_config['morning_end'])
|
|
->where('end_time_period','<=',$schedule_config['morning_end'])
|
|
->pluck('id')->toArray();
|
|
->pluck('id')->toArray();
|
|
- $af = TimePeriod::where('start_time_period','>=',$schedule_config['afternoon_start'])
|
|
|
|
|
|
+
|
|
|
|
+ $times[2] = TimePeriod::where('start_time_period','>=',$schedule_config['afternoon_start'])
|
|
->where('end_time_period','<=',$schedule_config['afternoon_end'])
|
|
->where('end_time_period','<=',$schedule_config['afternoon_end'])
|
|
->pluck('id')->toArray();
|
|
->pluck('id')->toArray();
|
|
- $ev = TimePeriod::where('start_time_period','>=',$schedule_config['evening_start'])
|
|
|
|
|
|
+
|
|
|
|
+ $times[3] = TimePeriod::where('start_time_period','>=',$schedule_config['evening_start'])
|
|
->where('end_time_period','<=',$schedule_config['evening_end'])
|
|
->where('end_time_period','<=',$schedule_config['evening_end'])
|
|
->pluck('id')->toArray();
|
|
->pluck('id')->toArray();
|
|
|
|
+ foreach ($times as $val){
|
|
|
|
+ foreach ($val as $t){
|
|
|
|
+ $time_period[] = $t;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ $data[0] = array_values(object_array(json_decode($data[0])));
|
|
|
|
+ $data[1] = array_values(object_array(json_decode($data[1])));
|
|
|
|
+ $data[2] = array_values(object_array(json_decode($data[2])));
|
|
|
|
|
|
$mo_schedule = array_values($data[0]);
|
|
$mo_schedule = array_values($data[0]);
|
|
$af_schedule = array_values($data[1]);
|
|
$af_schedule = array_values($data[1]);
|
|
$ev_schedule = array_values($data[2]);
|
|
$ev_schedule = array_values($data[2]);
|
|
|
|
|
|
- $org_id = 1;
|
|
|
|
- $docter_id = 47;
|
|
|
|
|
|
|
|
DB::beginTransaction();
|
|
DB::beginTransaction();
|
|
try {
|
|
try {
|
|
- if(!$shcdule_id){
|
|
|
|
- $schedule_insert = [
|
|
|
|
- 'organization_id'=>$org_id,
|
|
|
|
- 'docter_id'=>$docter_id,
|
|
|
|
- 'schedule_date'=>$all_time[0],
|
|
|
|
- 'schedule_day'=>$start_time,
|
|
|
|
- 'created_at'=>Carbon::now(),
|
|
|
|
- 'updated_at'=>Carbon::now(),
|
|
|
|
- ];
|
|
|
|
- $shcdule_id = Schedule::insertGetId($schedule_insert);
|
|
|
|
|
|
+ $schedule_insert = [
|
|
|
|
+ 'organization_id'=>$org_id,
|
|
|
|
+ 'docter_id'=>$docter_id,
|
|
|
|
+ 'schedule_date'=>$all_time[0],
|
|
|
|
+ 'schedule_day'=>$start_time,
|
|
|
|
+ 'created_at'=>Carbon::now(),
|
|
|
|
+ 'updated_at'=>Carbon::now(),
|
|
|
|
+ ];
|
|
|
|
+ if(!$schedule_id){
|
|
|
|
+ $schedule_id = Schedule::insertGetId($schedule_insert);
|
|
}
|
|
}
|
|
-
|
|
|
|
unset($schedule_insert['schedule_day']);
|
|
unset($schedule_insert['schedule_day']);
|
|
-
|
|
|
|
- $schedule_insert['schedule_id'] =$shcdule_id;
|
|
|
|
|
|
+ $schedule_insert['schedule_id'] =$schedule_id;
|
|
$info = [];
|
|
$info = [];
|
|
- for ($i = 0 ;$i<=2;$i++){
|
|
|
|
- $mo_schedule = array_values($data[$i]);
|
|
|
|
|
|
+ for ($i = 1 ;$i<=3;$i++){
|
|
|
|
+ $mo_schedule = array_values($data[$i-1]);
|
|
foreach ($mo_schedule as $key=>$val){
|
|
foreach ($mo_schedule as $key=>$val){
|
|
if($key==0) continue;
|
|
if($key==0) continue;
|
|
$schedule_date = $start_time + $key;
|
|
$schedule_date = $start_time + $key;
|
|
$strtime = "$schedule_date";
|
|
$strtime = "$schedule_date";
|
|
- $first_day = strtotime('this week');
|
|
|
|
$time_insert = $schedule_insert;
|
|
$time_insert = $schedule_insert;
|
|
- $time_insert['type'] = $i+1;
|
|
|
|
|
|
+ $time_insert['type'] = $i;
|
|
|
|
+
|
|
|
|
+ $schedule_time = $times[$i];
|
|
$real_time = date('Y-m-d',($first_day + ($key-1)*86400));
|
|
$real_time = date('Y-m-d',($first_day + ($key-1)*86400));
|
|
$time_insert['schedule_date'] = $real_time;
|
|
$time_insert['schedule_date'] = $real_time;
|
|
$time_insert['me_sure'] = 1;
|
|
$time_insert['me_sure'] = 1;
|
|
- foreach ($mo as $time_id){
|
|
|
|
- $is_have = SchedulePeriod::where(['time_period_id'=>$time_id,'type'=>($i+1),'docter_id'=>$docter_id,'schedule_date'=>$real_time]);
|
|
|
|
- if($is_have) break;
|
|
|
|
- $time_insert['time_period_id'] = $time_id;
|
|
|
|
- $info[] = $time_insert;
|
|
|
|
- SchedulePeriod::insert($time_insert);
|
|
|
|
- }
|
|
|
|
- if($val){
|
|
|
|
|
|
+
|
|
|
|
+ if($val == true){
|
|
$data['schedule_date'] = $start_time ;
|
|
$data['schedule_date'] = $start_time ;
|
|
|
|
+
|
|
|
|
+ foreach ($schedule_time as $time_id){
|
|
|
|
+ $is_have = SchedulePeriod::where(['time_period_id'=>$time_id,'type'=>($i),'docter_id'=>$docter_id,'schedule_date'=>$real_time,'organization_id'=>$org_id,'docter_id'=>$docter_id,'schedule_id'=>$schedule_id])->value('id');
|
|
|
|
+ if($is_have) break;
|
|
|
|
+ $time_insert['time_period_id'] = $time_id;
|
|
|
|
+ $info[] = $time_insert;
|
|
|
|
+ SchedulePeriod::insert($time_insert);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ $data['schedule_date'] = $start_time;
|
|
|
|
+ foreach ($schedule_time as $time_id){
|
|
|
|
+ $is_have = SchedulePeriod::where(['time_period_id'=>$time_id,'type'=>($i),'docter_id'=>$docter_id,'schedule_date'=>$real_time,'organization_id'=>$org_id,'docter_id'=>$docter_id,'schedule_id'=>$schedule_id])->value('id');
|
|
|
|
+ if($is_have) SchedulePeriod::where(['time_period_id'=>$time_id,'type'=>($i),'docter_id'=>$docter_id,'schedule_date'=>$real_time,'organization_id'=>$org_id,'docter_id'=>$docter_id,'schedule_id'=>$schedule_id])->delete();
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -376,31 +344,38 @@ class ScheDuleController extends Controller
|
|
//获取用户信息
|
|
//获取用户信息
|
|
public function getScheduleInfo()
|
|
public function getScheduleInfo()
|
|
{
|
|
{
|
|
- $docter_id = request('docter_id');
|
|
|
|
|
|
+ $docter_id = request('id');
|
|
$org_id = request('org_id');
|
|
$org_id = request('org_id');
|
|
- $is_docter = CdmsUsers::where('docter_id',$docter_id);
|
|
|
|
- $role = 1;
|
|
|
|
|
|
+ $is_docter = CdmsUsers::where('docter_id',$docter_id)->first();
|
|
if(empty($org_id) && empty($docter_id)){
|
|
if(empty($org_id) && empty($docter_id)){
|
|
return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
|
|
return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
|
|
}
|
|
}
|
|
|
|
+ $role = 1;
|
|
if($is_docter){
|
|
if($is_docter){
|
|
$role = 2;
|
|
$role = 2;
|
|
}
|
|
}
|
|
|
|
+ $lists =[];
|
|
if($role == 1){
|
|
if($role == 1){
|
|
- $ids = DocterOrganization::where(['docter_id'=>$docter_id])->pluck('organization_id');
|
|
|
|
- $list = Organization::whereIn('id',$ids)->get(['id as value','name as label'])->toArray();
|
|
|
|
|
|
+ $ids = DocterOrganization::where(['organization_id'=>$org_id])->pluck('docter_id')->toArray();
|
|
|
|
+ $list = Docter::whereIn('id',$ids)->get(['id','name']);
|
|
|
|
+ foreach ($list as $val){
|
|
|
|
+ $lists[] = ['value'=>$val->id,'label'=>$val->name];
|
|
|
|
+ }
|
|
$name = Organization::where('id',$org_id)->value('name');
|
|
$name = Organization::where('id',$org_id)->value('name');
|
|
$user_id = $org_id;
|
|
$user_id = $org_id;
|
|
} else {
|
|
} else {
|
|
$ids = DocterOrganization::where(['docter_id'=>$docter_id])->pluck('organization_id');
|
|
$ids = DocterOrganization::where(['docter_id'=>$docter_id])->pluck('organization_id');
|
|
- $list = Organization::whereIn('id',$ids)->get(['id as value','name as label'])->toArray();
|
|
|
|
|
|
+ $list = Organization::whereIn('id',$ids)->get(['id','name']);
|
|
|
|
+ foreach ($list as $val){
|
|
|
|
+ $lists[] = ['value'=>$val->id,'label'=>$val->name];
|
|
|
|
+ }
|
|
$name = Docter::where('id',$docter_id)->value('name');
|
|
$name = Docter::where('id',$docter_id)->value('name');
|
|
$user_id = $docter_id;
|
|
$user_id = $docter_id;
|
|
}
|
|
}
|
|
$data['user_id'] = $user_id;
|
|
$data['user_id'] = $user_id;
|
|
$data['name'] = $name;
|
|
$data['name'] = $name;
|
|
$data['role'] = $role;
|
|
$data['role'] = $role;
|
|
- $data['list'] = $list;
|
|
|
|
|
|
+ $data['list'] = $lists;
|
|
return (json_encode(['code'=>200,'msg'=>'ok','data'=>$data]));
|
|
return (json_encode(['code'=>200,'msg'=>'ok','data'=>$data]));
|
|
}
|
|
}
|
|
|
|
|