1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- namespace App\Http\Controllers;
- use App\Models\CommunitySchedule;
- use App\Models\Schedule;
- use App\Models\SchedulePeriod;
- use App\Models\TimePeriod;
- use Illuminate\Support\Facades\DB;
- class ScheDuleController extends Controller
- {
- public function getComSchedule()
- {
- $time = TimePeriod::get(['id','start_time_period','end_time_period']);
- $arrays = [1,3,4,12,16,10,20];
- $org_id = 1;
- $docter_id = 1;
- $community = CommunitySchedule::where('org_id',$org_id)->orderBy('day_type')->pluck('times_id','day_type');
- $time_array = [[],[],[],[],[],[],[]];
- foreach ($community as $key => $ids){
- $time = TimePeriod::whereIn('id',$ids)->get(['id','start_time_period','end_time_period']);
- $time_info = [];
- foreach ($time as $val){
- if(!in_array(intval($val->id),$arrays)){
- $time_info[] = ['id'=>$val->id,'time'=>$val->start_time_period.'-'.$val->end_time_period];
- }
- }
- $time_array[$key-1] = $time_info;
- }
- $data['community'] = $time_array;
- $firstday = date('Y-m-d', strtotime("this week"));
- $scd_id = Schedule::where(['schedule_date'=>$firstday,'docter_id'=>$docter_id,'organization_id'=>$org_id])->value('id');
- $docter_schedule = $time_array;
- if(!empty($scd_id)){
- $sche_dule = SchedulePeriod::where('schedule_id',$scd_id)->get(['time_period_id','schedule_date'])->GroupBy('schedule_date')->toArray();
- foreach ($sche_dule as $val){
- if($val){
- $i = 0;
- $new_sche_dule[$i] = array_column($val,'time_period_id');
- $i++;
- }
- }
- }
- $data['docter'] = $docter_schedule;
- return (json_encode(['code'=>200,'msg'=>'ok','data'=>$data]));
- }
- public function setDocChedule()
- {
- }
- }
|