AnalyseController.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace App\Http\Controllers\Admin\TCM;
  3. use App\Http\Controllers\Controller;
  4. use App\Repositories\Models\TCM\Combinations;
  5. use App\Repositories\Models\TCM\Drug;
  6. use App\Repositories\Models\TCM\MedicalRecord;
  7. use App\Repositories\Models\TCM\Patient;
  8. use App\Repositories\Models\TCM\Prescription;
  9. use Illuminate\Http\Request;
  10. use Illuminate\Support\Facades\DB;
  11. use Jiannei\Response\Laravel\Support\Facades\Response;
  12. /**
  13. * Class CategoriesController.
  14. *
  15. * @package namespace App\Http\Controllers\TCM;
  16. */
  17. class AnalyseController extends Controller
  18. {
  19. /**
  20. * Author: Mead
  21. */
  22. public function index()
  23. {
  24. $admin_id = login_user_id();
  25. $patient_nums = Patient::query()->where('admin_id', $admin_id)->count();
  26. $medical_record_nums = MedicalRecord::query()->where('admin_id', $admin_id)->count();
  27. $prescription_nums = Prescription::query()->where('admin_id', $admin_id)->count();
  28. $drug_nums = Drug::query()->count();
  29. return Response::success(compact('patient_nums', 'drug_nums', 'medical_record_nums', 'prescription_nums'));
  30. }
  31. public function drug(Request $request)
  32. {
  33. $count = $request->get('count', 1);
  34. $model = Combinations::query()->where('count', $count);
  35. $admin_id = login_user_id();
  36. if ($admin_id != 1) {
  37. $model = $model->where('admin_id', $admin_id);
  38. }
  39. $data = $model->groupBy('name')->select(DB::raw('name,count(*) as nums,count'))->orderByDesc('nums')->paginate(self::PAGE_NUM);
  40. return Response::success($data);
  41. }
  42. }