12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- <?php
- namespace App\Community\Controllers;
- use App\Http\Controllers\Controller;
- use App\Models\Order;
- use App\Models\Schedule;
- use App\Models\SchedulePeriod;
- use App\Models\Vaccine;
- class StatController extends Controller
- {
- //疫苗统计
- public static function vaccine()
- {
- $data ['sum_num'] = Vaccine::count();
- $data['have_num'] = Vaccine::sum('stock');
- $data['less_num'] = Vaccine::where(['stock'=>0])->count();//取苗钟数
- $data['today_schedule'] = Order::where(['order_status'=>1])->where('product_type',4)->where('created_at','>',date('Y-m-d H:i:s',time()))->count();
- $data['today_vaccine'] = Order::where(['product_type'=>4])->with('orderPatient','appoint_start_time',strtotime('today'))->count();//接诊患者(人次)
- return $data;
- }
- //实时数据
- public static function service()
- {
- $data['schedule_paitent'] = Order::where(['order_status'=>1])->whereIn('product_type',[3,4,5])->where('created_at','>',date('Y-m-d H:i:s',time()))->count();
- $data['schedule_docter'] = SchedulePeriod::distinct('docter_id')->where('schedule_date',date('Y-m-d H:i:s',time()))->count();
- // $data['paitent_num'] = Order::where(['order_status'=>1])->distinct()->count()->BgroupBy('patient_id');
- $data['paitent_num'] = Order::whereHas('orderPatient',function ($query){
- $query->where(['appoint_start_time'=>strtotime('today')]);
- })->where(['product_type'=>4])->count();//接诊患者(人次)
- return $data;
- }
- //儿保概况
- public static function nurse()
- {
- $nurse_num = Order::where('prdoduct_type',5)->where('created_at','>',strtotime('today'));
- return $nurse_num;
- }
- //排班统计
- public static function schedule()
- {
- $data = SchedulePeriod::where('schedule_date',strtotime('today'))->distinct('docter_id')->get()->GroupBy('docter.type');
- return $data;
- }
- }
|