ScheDuleController.php 4.7 KB

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