ScheduleStatController.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace App\Community\Controllers;
  3. use App\Models\Organization;
  4. use App\Models\SchedulePeriod;
  5. use Encore\Admin\Facades\Admin;
  6. use Encore\Admin\Layout\Content;
  7. class ScheduleStatController extends Admin
  8. {
  9. public function schedule()
  10. {
  11. $org_id = Admin::user()->org_id;
  12. if(empty($org_id)){
  13. $org_id = 0;
  14. }
  15. $scheduleType = request('t',1);
  16. $weekStartTime = strtotime('this week');
  17. for ($i=1;$i<=7;$i++){
  18. $time = $weekStartTime + ($i-1)*86400;
  19. $date = date('Y-m-d',$time);
  20. $amCount = SchedulePeriod::where(['organization_id'=>$org_id,'schedule_date'=>$date,'type'=>1,'schedule_type'=>$scheduleType])->distinct('docter_id')->count();
  21. $pmCount = SchedulePeriod::where(['organization_id'=>$org_id,'schedule_date'=>$date,'type'=>2,'schedule_type'=>$scheduleType])->distinct('docter_id')->count();
  22. $evCount = SchedulePeriod::where(['organization_id'=>$org_id,'schedule_date'=>$date,'type'=>3,'schedule_type'=>$scheduleType])->distinct('docter_id')->count();
  23. $week[$i] = [$amCount,$pmCount,$evCount];
  24. }
  25. $data['week'] = $week;
  26. $data['timeType'] = ['上午','下午','晚上'];
  27. $data['name'] = Organization::where(['id'=>$org_id])->value('name');
  28. $content = new Content();
  29. $types = [1=>'门诊',2=>'计免','3'=>'儿保'];
  30. $content->title($data['name']);
  31. $content->description($types[$scheduleType].'排班统计');
  32. $content->view('cdms.totalSchedule',['data'=>$data]);
  33. return $content;
  34. }
  35. }