Exemplo n.º 1
0
 public function sale()
 {
     //1. Check filter
     $search = [];
     $sort = [];
     if (Input::has('periode')) {
         $tmpdate = "01-" . Input::get('periode') . " 00:00:00";
         $search['ondate'] = [Carbon::createFromFormat('d-m-Y H:i:s', $tmpdate)->format('Y-m-d H:i:s'), Carbon::createFromFormat('d-m-Y H:i:s', $tmpdate)->addMonths(1)->format('Y-m-d H:i:s')];
     } else {
         $tmpdate = "01-" . date('m-Y') . " 00:00:00";
         $search['ondate'] = [Carbon::createFromFormat('d-m-Y H:i:s', $tmpdate)->format('Y-m-d H:i:s'), Carbon::createFromFormat('d-m-Y H:i:s', $tmpdate)->addMonths(1)->format('Y-m-d H:i:s')];
     }
     if (Input::has('q')) {
         $search['name'] = Input::get('q');
         $this->page_attributes->search = Input::get('q');
     }
     if (Input::has('sort')) {
         $sort_item = explode('-', Input::get('sort'));
         $sort = [$sort_item[0] => $sort_item[1]];
     } else {
         $sort = [];
     }
     $this->page_attributes->filters = [];
     //2. Sorting
     if (Input::has('sort')) {
         $sort_item = explode('-', Input::get('sort'));
         $sort = [$sort_item[0] => $sort_item[1]];
     } else {
         $sort = [];
     }
     $SortList = new SortList();
     $this->page_attributes->sorts = ['titles' => ['tanggal', 'jumlah'], 'tanggal' => $SortList->getSortingList('tanggal'), 'jumlah' => $SortList->getSortingList('jumlah')];
     //3. Check page
     if (is_null(Input::get('page'))) {
         $page = 1;
     } else {
         $page = Input::get('page');
     }
     //4. Generate breadcrumb
     $breadcrumb = ['Rekap Penjualan & Penggunaan Voucher' => route('report.recap.sale')];
     $this->page_attributes->breadcrumb = array_merge($this->page_attributes->breadcrumb, $breadcrumb);
     //5. Get data from API
     $APIReport = new APIReport();
     $report = $APIReport->getVoucherUsage(['search' => $search, 'sort' => $sort, 'take' => $this->take, 'skip' => ($page - 1) * $this->take]);
     $this->page_attributes->data = ['report' => $report];
     //6. Generate paginator
     $this->paginate(route('report.recap.sale'), $report['data']['count'], $page);
     //7. Generate view
     $this->page_attributes->source = $this->page_attributes->source . 'penjualan.index';
     return $this->generateView();
 }
 /**
  * Display all sold varian
  * 
  * 1. Check filter
  * 2. Check page
  * 3. Get data from API
  * 4. Generate paginator
  * 5. Generate breadcrumb
  * 6. Generate view
  * @param page, q
  * @return Object View
  */
 public function SoldProduct()
 {
     //1. Check filter
     $search = null;
     if (Input::has('start') && Input::has('end')) {
         $tmpstart = Input::get('start') . " 00:00:00";
         $tmpend = Input::get('end') . " 23:59:59";
         $search['ondate'] = [Carbon::createFromFormat('d-m-Y H:i:s', $tmpstart)->format('Y-m-d H:i:s'), Carbon::createFromFormat('d-m-Y H:i:s', $tmpend)->format('Y-m-d H:i:s')];
     } else {
         $searchResult = null;
     }
     if (Input::has('sort')) {
         $sort_item = explode('-', Input::get('sort'));
         $sort = [$sort_item[0] => $sort_item[1]];
     } else {
         $sort = ['name' => 'asc'];
     }
     //2. Check page
     if (is_null(Input::get('page'))) {
         $page = 1;
     } else {
         $page = Input::get('page');
     }
     //3. Get data from API
     $APIReport = new APIReport();
     $report = $APIReport->getSoldProduct(['search' => $search, 'sort' => $sort, 'take' => $this->take, 'skip' => ($page - 1) * $this->take]);
     $SortList = new SortList();
     $this->page_attributes->sorts = ['titles' => ['nama'], 'nama' => $SortList->getSortingList('nama')];
     $this->page_attributes->data = ['report' => $report];
     //4. Generate paginator
     $this->paginate(route('report.product.sold'), $report['data']['count'], $page);
     //5. Generate breadcrumb
     $breadcrumb = ['Laporan Penjualan Barang' => route('report.product.sold')];
     $this->page_attributes->breadcrumb = array_merge($this->page_attributes->breadcrumb, $breadcrumb);
     //6. Generate view
     $this->page_attributes->source = $this->page_attributes->source . 'product.index';
     return $this->generateView();
 }