StatController.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace App\Community\Controllers;
  3. use App\Http\Controllers\Controller;
  4. use App\Models\Order;
  5. use App\Models\Schedule;
  6. use App\Models\SchedulePeriod;
  7. use App\Models\Vaccine;
  8. class StatController extends Controller
  9. {
  10. //疫苗统计
  11. public function vaccine()
  12. {
  13. $data ['count'] = Vaccine::count();
  14. $data['have'] = Vaccine::sum('state');
  15. $data['today_spend'] = Order::where(['state'=>0])->count();//取苗钟数
  16. $data['success'] = Order::where(['order_status'=>1])->where('product_type',4)->where('created_at','>',date('Y-m-d H:i:s',time()))->count();
  17. $data['today_vaccine'] = Order::where(['product_type'=>4])->with('orderPatient','appoint_start_time',strtotime('today'))->count();//接诊患者(人次)
  18. return $data;
  19. }
  20. //实时数据
  21. public function service()
  22. {
  23. $data['success'] = Order::where(['order_status'=>1])->whereIn('product_type',[3,4,5])->where('created_at','>',date('Y-m-d H:i:s',time()))->count();
  24. $data['success'] = SchedulePeriod::distinct()->where('schedule_data',date('Y-m-d H:i:s',time()))->count();
  25. // $data['paitent_num'] = Order::where(['order_status'=>1])->distinct()->count()->BgroupBy('patient_id');
  26. $data['paitent_num'] = Order::where(['product_type'=>4,'orderPatient.appoint_start_time'=>strtotime('today')])->count();//接诊患者(人次)
  27. }
  28. //儿保概况
  29. public function nurse()
  30. {
  31. $nurse_num = Order::where('prdoduct_type',5)->where('created_at','>',strtotime('today'));
  32. }
  33. //排班统计
  34. public function schedule()
  35. {
  36. SchedulePeriod::where('schedule_date',strtotime('today'))->distinct('docter_id')->get()->GroupBy('docter.type');
  37. }
  38. }