ScheDuleController.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\CommunitySchedule;
  4. use App\Models\Schedule;
  5. use App\Models\SchedulePeriod;
  6. use App\Models\TimePeriod;
  7. use Illuminate\Support\Facades\DB;
  8. class ScheDuleController extends Controller
  9. {
  10. public function getComSchedule()
  11. {
  12. $time = TimePeriod::get(['id','start_time_period','end_time_period']);
  13. $arrays = [1,3,4,12,16,10,20];
  14. $org_id = 1;
  15. $docter_id = 1;
  16. $community = CommunitySchedule::where('org_id',$org_id)->orderBy('day_type')->pluck('times_id','day_type');
  17. $time_array = [[],[],[],[],[],[],[]];
  18. foreach ($community as $key => $ids){
  19. $time = TimePeriod::whereIn('id',$ids)->get(['id','start_time_period','end_time_period']);
  20. $time_info = [];
  21. foreach ($time as $val){
  22. if(!in_array(intval($val->id),$arrays)){
  23. $time_info[] = ['id'=>$val->id,'time'=>$val->start_time_period.'-'.$val->end_time_period];
  24. }
  25. }
  26. $time_array[$key-1] = $time_info;
  27. }
  28. $data['community'] = $time_array;
  29. $firstday = date('Y-m-d', strtotime("this week"));
  30. $scd_id = Schedule::where(['schedule_date'=>$firstday,'docter_id'=>$docter_id,'organization_id'=>$org_id])->value('id');
  31. $docter_schedule = $time_array;
  32. if(!empty($scd_id)){
  33. $sche_dule = SchedulePeriod::where('schedule_id',$scd_id)->get(['time_period_id','schedule_date'])->GroupBy('schedule_date')->toArray();
  34. foreach ($sche_dule as $val){
  35. if($val){
  36. $i = 0;
  37. $new_sche_dule[$i] = array_column($val,'time_period_id');
  38. $i++;
  39. }
  40. }
  41. }
  42. $data['docter'] = $docter_schedule;
  43. return (json_encode(['code'=>200,'msg'=>'ok','data'=>$data]));
  44. }
  45. public function setDocChedule()
  46. {
  47. }
  48. }