123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- <?php
- namespace App\Http\Controllers;
- use App\Models\CommunitySchedule;
- use App\Models\Schedule;
- use App\Models\SchedulePeriod;
- use App\Models\SystemConfig;
- use App\Models\TimePeriod;
- use Encore\Admin\Admin;
- use Illuminate\Support\Facades\DB;
- class ScheDuleController extends Controller
- {
- public function getComSchedule()
- {
- $time = TimePeriod::get(['id','start_time_period','end_time_period']);
- $set_time = request('Schedulingtime');//时间
- $org_id = request('mechanism');//机构
- $docter_id = request('docter_id');//医生
- $set_time = '2020-11-10至2020-11-16';
- $org_id = 1;
- $docter_id = 1;
- if(empty($set_time) || empty($org_id) || empty($docter_id)){
- return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
- } else{
- echo 'what happend';
- }
- $all_time = explode('至',$set_time);
- if(count($all_time) <2){
- return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
- }
- $sche_dule = Schedule::where('organization_id','!=','')
- ->where(['docter_id'=>$docter_id,'schedule_date'=>$all_time[0]])
- ->pluck('id');
- $sche_dule_arr = [
- [
- 'date'=>"上午",
- 'mondy'=>true,
- 'tuesday'=>true,
- 'wednesday'=>true,
- 'thursday'=>true,
- 'friday'=>true,
- 'saturday'=>true,
- 'sunday'=>true,
- ],
- [
- 'date'=>"下午",
- 'mondy'=>true,
- 'tuesday'=>true,
- 'wednesday'=>true,
- 'thursday'=>true,
- 'friday'=>true,
- 'saturday'=>true,
- 'sunday'=>true,
- ],
- [
- 'date'=>"晚上",
- 'mondy'=>true,
- 'tuesday'=>true,
- 'wednesday'=>true,
- 'thursday'=>true,
- 'friday'=>true,
- 'saturday'=>true,
- 'sunday'=>true,
- ]
- ];
- if(empty($sche_dule)){
- return ['status'=>200,'msg'=>'ok','data'=>['schedule'=>$sche_dule_arr,'org_id'=>$org_id,'docter_id'=>$docter_id]];
- }
- foreach ($sche_dule as
- ){
- $org_schdule = SchedulePeriod::where(['schedule_id'=>$org_id,''])->get()->GroupBy('organization_id');
- }
- $schedule_config = SystemConfig::get('docter_config');
- dd($schedule_config);
- $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;
- $data['role'] = 1;
- return (json_encode(['code'=>200,'msg'=>'ok','data'=>$data]));
- }
- public function setDocChedule()
- {
- }
- }
|