public function indexAction() { if ($this->getRequest()->isPost()) { $str = ''; $strOrder = ''; $fromDate = ''; $toDate = ''; $strUser = ''; $strMenu = ''; $strMenuForAllMenu = ''; $params = $this->params()->fromPost(); $fromDate = $params['formDate']; $toDate = $params['toDate']; $user = $params['user']; $strUserOrder = ''; $userText = ''; $fromText = ''; $toText = ''; $menuText = ''; if ($fromDate) { $fromDateTime = strtotime($fromDate . ' 00:00:00'); $str .= ' AND table.createDate >= ' . $fromDateTime; $strOrder .= ' AND o.createDate >= ' . $fromDateTime; $fromText = $this->translator->translate('from ') . date('d-m-Y', $fromDateTime); } if ($toDate) { $toDateTime = strtotime($toDate . ' 23:59:00'); $str .= ' AND table.createDate <= ' . $toDateTime; $strOrder .= ' AND o.createDate <= ' . $toDateTime; $toText = $this->translator->translate(' to ') . date('d-m-Y', $toDateTime); } if (isset($params['user']) && $params['user'] != 0) { $strUserOrder .= ' AND table.userId = ' . $user; $strUser .= ' AND table.userId = ' . $user; $userInfo = Utility::getUserInfo($user); $userText = $this->translator->translate(' by ') . $userInfo->getUserName(); } if (isset($params['menu']) && $params['menu'] != 0) { $strMenu .= ' AND mn.catId =' . $params['menu']; $strMenuForAllMenu .= ' AND table.id = od.orderId AND od.menuId = mn.id ' . $strMenu; $menuInfo = Utility::getCatInfo($params['menu']); $menuText = $this->translator->translate(' in ') . $menuInfo->getName(); } // fetch data $orderBy = " "; $reportMenu = $this->modelOrderDetail->createQueryMenu('table.isdelete = 0 ' . $strOrder . $strMenu); $reportMenu = reportModel::convertMenuReportArray($reportMenu); $reporAllOrder = $this->modelOrder->createQueryAllMenu('table.isdelete = 0 ' . $str . $strUser); /* report order and count cost by menu id */ if (isset($params['menu']) && $params['menu'] != 0) { $reporAllOrder = $this->modelOrder->createQueryByMenu('table.isdelete = 0 ' . $str . $strUser . $strMenuForAllMenu); } // echo '<pre>'; // print_r($reportMenu); // echo '<hr/>'; // print_r($reporAllOrder); // die; // remove all report file Utility::deleteAllFileInFolder('public/export/'); $link = renderExcel::renderMenuOrder($reportMenu); $reportText = $this->translator->translate('Report ') . $fromText . $toText . $userText . $menuText; $dataMenu = array('tableTitle' => $this->translator->translate('Report menu'), 'link' => 'admin/order', 'data' => $reportMenu, 'heading' => array('orderDetailId' => $this->translator->translate('Order Detail Id'), 'OrderId' => $this->translator->translate('Order Id'), 'menuId' => $this->translator->translate('Name'), 'menuName' => $this->translator->translate('Menu'), 'count_menu' => $this->translator->translate('Count number'), 'realCost' => $this->translator->translate('Real cost'), 'time' => $this->translator->translate('Time')), 'hideEditButton' => 1, 'hideDeleteButton' => 1, 'hideDetailButton' => 1); return new ViewModel(array('totalTable' => $reporAllOrder[0]['count_table'], 'tCost' => $reporAllOrder[0]['tCost'], 'tRCost' => $reporAllOrder[0]['tRCost'], 'excelLink' => $link, 'reportText' => $reportText, 'reportMenu' => $dataMenu, 'title' => $this->translator->translate('Report'))); } return new ViewModel(array('title' => $this->translator->translate('Report'))); }