title('全额缴费率'); } /** * 处理请求. * * @param Request $request * * @return void */ public function handle(Request $request) { $number = 0; $studentsNum = 0; //取出当前年份 $config = Config::query()->where([ "unique_identification" => "annual_session" ])->first(); //当前年份已完成二级学院扫码的学生(实际报道人数) $allCount = CompletedOfflineStep::query()->where([ "annual_session" => $config->data, ])->select("unique_number")->distinct()->get()->toArray(); if(!empty($allCount)){ $number = count($allCount); } //取出当前年份录入的学生 $importStudents = AdmissionNewStudents::query()->where([ "annual_session" => $config->data, "status" => AdmissionNewStudents::STATUS_YES, "is_new_student" => AdmissionNewStudents::IS_NEW_STUDENT_YES, ])->get("idCard")->toArray(); if(!empty($importStudents)){ $idcardList = array_column($importStudents, "idCard"); //根据身份证集取出已注册的用户 $userList = UsersMember::query()->whereIn("idcard", $idcardList)->where("status", UsersMember::STATUS_YES)->get("unique_number")->toArray(); if(!empty($userList)){ $userList = array_column($userList, "unique_number"); //全额缴费人数 $paymentList = PaymentList::query()->where("annual_session", $config->data) ->whereIn("unique_number", $userList) ->select('unique_number', DB::raw('SUM(amount) as total_amount')) ->groupBy('unique_number') ->havingRaw('total_amount = ?', [0]) ->get()->toArray(); $studentsNum = count($paymentList); } } if($number == 0 || $studentsNum == 0){ $this->content("0%"); }else{ $this->content(round((($studentsNum / $number) * 100),2)."%"); } } /** * @param int $percent * * @return $this */ public function up($percent) { return $this->footer( " {$percent}人 为当前年份已分配床位数" ); } /** * @param int $percent * * @return $this */ public function down($percent) { return $this->footer( " {$percent}人 为当前年份已分配床位数" ); } /** * 设置卡片底部内容. * * @param string|Renderable|\Closure $footer * * @return $this */ public function footer($footer) { $this->footer = $footer; return $this; } /** * 渲染卡片内容. * * @return string */ public function renderContent() { $content = parent::renderContent(); return <<