ScheDuleController.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  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\SystemConfig;
  7. use App\Models\TimePeriod;
  8. use Encore\Admin\Admin;
  9. use Illuminate\Support\Facades\DB;
  10. class ScheDuleController extends Controller
  11. {
  12. public function getComSchedule()
  13. {
  14. $time = TimePeriod::get(['id','start_time_period','end_time_period']);
  15. $set_time = request('Schedulingtime');//时间
  16. $org_id = request('mechanism');//机构
  17. $docter_id = request('docter_id');//医生
  18. $set_time = '2020-11-10至2020-11-16';
  19. $org_id = 1;
  20. $docter_id = 1;
  21. if(empty($set_time) || empty($org_id) || empty($docter_id)){
  22. return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
  23. } else{
  24. echo 'what happend';
  25. }
  26. $all_time = explode('至',$set_time);
  27. if(count($all_time) <2){
  28. return json_encode(['status'=>601,'msg'=>'缺少必要参数','data'=>'']);
  29. }
  30. $sche_dule = Schedule::where('organization_id','!=','')
  31. ->where(['docter_id'=>$docter_id,'schedule_date'=>$all_time[0]])
  32. ->pluck('id');
  33. $sche_dule_arr = [
  34. [
  35. 'date'=>"上午",
  36. 'mondy'=>true,
  37. 'tuesday'=>true,
  38. 'wednesday'=>true,
  39. 'thursday'=>true,
  40. 'friday'=>true,
  41. 'saturday'=>true,
  42. 'sunday'=>true,
  43. ],
  44. [
  45. 'date'=>"下午",
  46. 'mondy'=>true,
  47. 'tuesday'=>true,
  48. 'wednesday'=>true,
  49. 'thursday'=>true,
  50. 'friday'=>true,
  51. 'saturday'=>true,
  52. 'sunday'=>true,
  53. ],
  54. [
  55. 'date'=>"晚上",
  56. 'mondy'=>true,
  57. 'tuesday'=>true,
  58. 'wednesday'=>true,
  59. 'thursday'=>true,
  60. 'friday'=>true,
  61. 'saturday'=>true,
  62. 'sunday'=>true,
  63. ]
  64. ];
  65. if(empty($sche_dule)){
  66. return ['status'=>200,'msg'=>'ok','data'=>['schedule'=>$sche_dule_arr,'org_id'=>$org_id,'docter_id'=>$docter_id]];
  67. }
  68. foreach ($sche_dule as
  69. ){
  70. $org_schdule = SchedulePeriod::where(['schedule_id'=>$org_id,''])->get()->GroupBy('organization_id');
  71. }
  72. $schedule_config = SystemConfig::get('docter_config');
  73. dd($schedule_config);
  74. $community = CommunitySchedule::where('org_id',$org_id)->orderBy('day_type')->pluck('times_id','day_type');
  75. $time_array = [[],[],[],[],[],[],[]];
  76. foreach ($community as $key => $ids){
  77. $time = TimePeriod::whereIn('id',$ids)->get(['id','start_time_period','end_time_period']);
  78. $time_info = [];
  79. foreach ($time as $val){
  80. if(!in_array(intval($val->id),$arrays)){
  81. $time_info[] = ['id'=>$val->id,'time'=>$val->start_time_period.'-'.$val->end_time_period];
  82. }
  83. }
  84. $time_array[$key-1] = $time_info;
  85. }
  86. $data['community'] = $time_array;
  87. $firstday = date('Y-m-d', strtotime("this week"));
  88. $scd_id = Schedule::where(['schedule_date'=>$firstday,'docter_id'=>$docter_id,'organization_id'=>$org_id])->value('id');
  89. $docter_schedule = $time_array;
  90. if(!empty($scd_id)){
  91. $sche_dule = SchedulePeriod::where('schedule_id',$scd_id)->get(['time_period_id','schedule_date'])->GroupBy('schedule_date')->toArray();
  92. foreach ($sche_dule as $val){
  93. if($val){
  94. $i = 0;
  95. $new_sche_dule[$i] = array_column($val,'time_period_id');
  96. $i++;
  97. }
  98. }
  99. }
  100. $data['docter'] = $docter_schedule;
  101. $data['role'] = 1;
  102. return (json_encode(['code'=>200,'msg'=>'ok','data'=>$data]));
  103. }
  104. public function setDocChedule()
  105. {
  106. }
  107. }