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;
     }
 }