public function getReportJson($arrDate, $data, $flagReport) { //get country $itemCountry = modelCountry::select('id', 'country_name')->get(); if ($data && count($data) > 0) { $totalDisapperved = 0; $totalApproved = 0; foreach ($arrDate as $key => $value) { $approved = 0; $disapproved = 0; foreach ($data as $key1 => $value1) { if ($flagReport == 1) { $dateFormat = date("Y-n", strtotime($value1->updated_at)); } else { $dateFormat = date("d", strtotime($value1->updated_at)); $key = $value; } if ($key == $dateFormat) { if ($value1->status == modelAppPubManager::STATUS_APPROVED) { //publisher approved $approved++; $totalApproved++; } if ($value1->status == modelAppPubManager::STATUS_DISAPPROVED) { //publisher disapproved $disapproved++; $totalDisapperved++; } } } $arrDataApproved[] = $approved; $arrDataDisapproved[] = $disapproved; } //math percent approved and disapproved $total = $totalApproved + $totalDisapperved; if ($total > 0) { $percentApproved = round($totalApproved / $total * 100, 2); $percentDisapproved = round($totalDisapperved * 100 / $total, 2); } else { $percentApproved = 0; $percentDisapproved = 0; } //math percent new publisher $mathPercentNewPublisher = $this->mathPercentNewPublisher($flagReport, $itemCountry, $data); //get data approve $itemApprove = modelPubApprove::whereBetween('updated_at', [$this->dateLast, $this->dateEnd])->limit($this->limit)->get()->toArray(); //show list approve if ($itemApprove) { $htmlListApprove = $this->showListApprove($itemApprove); } else { $htmlListApprove = trim(trans("backend::publisher/text.no_data")); } $arrJson = ['status' => 1, 'series' => [['name' => 'Approved', 'data' => $arrDataApproved], ['name' => 'Disapproved', 'data' => $arrDataDisapproved]], 'xAxis' => array_values($arrDate), 'chartpie' => [['name' => 'Percentage', 'data' => [['Approved', $percentApproved], ['Disapproved', $percentDisapproved]]]], 'textPie' => 'Application status', 'chartpie2' => $mathPercentNewPublisher, 'textPie2' => 'New publisher', 'htmlApprove' => trim($htmlListApprove)]; } else { $arrJson = ['status' => 0]; } return json_encode($arrJson); }
public function checkExistsUserApprove($id, $id_user) { $item = PublisherApproveBaseModel::where(['user_id' => $id_user, 'publisher_id' => $id])->first(); if ($item) { return TRUE; } else { return FALSE; } }