public function indexAction_bk() { $str = ''; $strOrder = ''; $fromDate = ''; $toDate = ''; $strUser = ''; $strMenu = ''; $strMenuForAllMenu = ''; if ($this->getRequest()->isPost()) { $params = $this->params()->fromPost(); $fromDate = $params['formDate']; $toDate = $params['toDate']; $user = $params['user']; $strUserOrder = ''; if ($fromDate) { $fromDateTime = strtotime($fromDate . ' 00:00:00'); $str .= ' AND table.createDate >= ' . $fromDateTime; $strOrder .= ' AND o.createDate >= ' . $fromDateTime; } if ($toDate) { $toDateTime = strtotime($toDate . ' 23:59:00'); $str .= ' AND table.createDate <= ' . $toDateTime; $strOrder .= ' AND o.createDate <= ' . $toDateTime; } if (isset($params['user']) && $params['user'] != 0) { $strUserOrder .= ' AND table.userId = ' . $user; $strUser .= ' AND table.userId = ' . $user; } 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; } } $year = date('Y'); if ($this->params()->fromQuery('year')) { $year = $this->params()->fromQuery('year'); } $reportMonth = $this->modelOrder->reportAllMonth($year); //$categories = $this->modelCategories->findBy(array('isdelete'=>'0')); $reportUser = $this->modelOrder->createQuery('table.isdelete = 0 ' . $str . $strUser); $reportUser = reportModel::convertUserReportArray($reportUser); $reportTable = $this->modelOrder->createQueryTable('table.isdelete = 0 ' . $str . $strUser); $reportTable = reportModel::convertTableReportArray($reportTable); $reportMenu = $this->modelOrderDetail->createQueryMenu('table.isdelete = 0 ' . $strOrder . $strMenu); $reportMenu = reportModel::convertMenuReportArray($reportMenu); $reportPayment = $this->modelPayment->createQuery('table.id != 0'); $reportPayment = reportModel::convertPaymenttArray($reportPayment); $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); } $reportMenuType = $this->modelOrderDetail->createQueryMenuType('table.isdelete = 0 ' . $strOrder); $reportMenuType = reportModel::convertMenuTypeReportArray($reportMenuType); //linkEcel $link = renderExcel::renderMenuOrder($reportMenu); //tableTitle = table heading //datarow row of table... render by heading key //heading key = table column name //$dataRow = $this->modelCategories->convertToArray($categories); //setup data user table $dataUser = array('tableTitle' => $this->translator->translate('Report user'), 'link' => 'admin/order', 'data' => $reportUser, 'heading' => array('userId' => $this->translator->translate('User create'), 'count_user' => $this->translator->translate('Count number')), 'hideEditButton' => 1, 'hideDeleteButton' => 1, 'hideDetailButton' => 1); //setup data table $dataTable = array('tableTitle' => $this->translator->translate('Report table'), 'link' => 'admin/order', 'data' => $reportTable, 'heading' => array('tableId' => $this->translator->translate('Table name'), 'count_table' => $this->translator->translate('Count number')), 'hideEditButton' => 1, 'hideDeleteButton' => 1, 'hideDetailButton' => 1); //setup data menu $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); //setup data cost type menu $dataMenuCostType = array('tableTitle' => $this->translator->translate('Report menu'), 'link' => 'admin/order', 'data' => $reportMenuType, 'heading' => array('costType' => $this->translator->translate('Cost type'), 'cost_type_quantity' => $this->translator->translate('Count number'), 'realCost' => $this->translator->translate('Real cost')), 'hideEditButton' => 1, 'hideDeleteButton' => 1, 'hideDetailButton' => 1); //setup data Payment table $dataPayment = array('tableTitle' => $this->translator->translate('Report payment'), 'link' => 'admin/payment', 'data' => $reportPayment, 'heading' => array('title' => $this->translator->translate('Title'), 'value' => $this->translator->translate('Value'), 'reason' => $this->translator->translate('Reason'), 'time' => $this->translator->translate('Time')), 'hideEditButton' => 1, 'hideDeleteButton' => 1, 'hideDetailButton' => 1); return new ViewModel(array('data_table' => $dataTable, 'data_user' => $dataUser, 'data_menu' => $dataMenu, 'data_menu_costtype' => $dataMenuCostType, 'data_payment' => $dataPayment, 'title' => $this->translator->translate('Report'), 'report_table_box' => $this->translator->translate('Report table'), 'report_user_box' => $this->translator->translate('Report user'), 'report_menu_box' => $this->translator->translate('Report menu'), 'payment_menu_box' => $this->translator->translate('Report payment'), 'allOrder' => $reporAllOrder, 'allOrderText' => $this->translator->translate('You have total:'), 'allOrderTotalCostText' => $this->translator->translate('Total cost'), 'allOrderTotalRealCostText' => $this->translator->translate('Total real cost'), 'datetimeReport' => $this->translator->translate('Date time report'), 'fromDateText' => $this->translator->translate('From date'), 'allMonthInYearText' => $this->translator->translate('All month in year'), 'toDateText' => $this->translator->translate('To date'), 'submitText' => $this->translator->translate('Report'), 'reportMonth' => $reportMonth, 'fromDate' => $fromDate, 'toDate' => $toDate, 'excelLink' => $link)); }
public function indexAction() { $str = ''; $strOrder = ''; $strUser = ''; $strMenu = ''; $strMenuForAllMenu = ''; $params = $this->params()->fromPost(); $fromDate = date('Y-m-d'); $fromDate = str_replace('-', '/', $fromDate); $fromDate = date('Y-m-d', strtotime($fromDate . "-29 days")); $toDate = date('Y-m-d'); if ($fromDate) { $fromDateTime = strtotime($fromDate . ' 00:00:00'); $str .= ' AND table.createDate >= ' . $fromDateTime; $strOrder .= ' AND o.createDate >= ' . $fromDateTime; } if ($toDate) { $toDateTime = strtotime($toDate . ' 23:59:00'); $str .= ' AND table.createDate <= ' . $toDateTime; $strOrder .= ' AND o.createDate <= ' . $toDateTime; } 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; } // } $year = date('Y'); if ($this->params()->fromQuery('year')) { $year = $this->params()->fromQuery('year'); } // $reportMonth = $this->modelOrder->reportAllMonth($year); //$categories = $this->modelCategories->findBy(array('isdelete'=>'0')); $reportUser = $this->modelOrder->createQuery('table.isdelete = 0 ' . $str . $strUser); $reportUser = reportModel::convertUserReportArray($reportUser); $reportTable = $this->modelOrder->createQueryTable('table.isdelete = 0 ' . $str . $strUser); $reportTable = reportModel::convertTableReportArray($reportTable); $reportMenu = $this->modelOrderDetail->createQueryMenu('table.isdelete = 0 ' . $strOrder . $strMenu, 0, 10); $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, 0, 10); } $reportMenuType = $this->modelOrderDetail->createQueryMenuType('table.isdelete = 0 ' . $strOrder); $reportMenuType = reportModel::convertMenuTypeReportArray($reportMenuType); // //linkEcel // $link = renderExcel::renderMenuOrder($reportMenu); //setup data user table $dataUser = Utility::getUserForPieChart($reportUser); $dataUserCountOrder = Utility::getUserForPieChart($reportUser, 'userId', 'count_user'); // $dataUserCountOrder = Utility::getUserForPieChart($reportUser); //setup data table $dataTable = array('tableTitle' => $this->translator->translate('Report table'), 'link' => 'admin/order', 'data' => $reportTable, 'heading' => array('tableId' => $this->translator->translate('Table name'), 'count_table' => $this->translator->translate('Count number')), 'hideEditButton' => 1, 'hideDeleteButton' => 1, 'hideDetailButton' => 1); //setup data menu $dataMenu = array('tableTitle' => $this->translator->translate('Report menu'), 'link' => 'admin/order', 'data' => $reportMenu, 'heading' => array('menuName' => $this->translator->translate('Menu'), 'count_menu' => $this->translator->translate('Count number'), 'realCost' => $this->translator->translate('Real cost')), 'hideEditButton' => 1, 'hideDeleteButton' => 1, 'hideDetailButton' => 1); $dataByDay = Utility::rsReportPerDay(30); return new ViewModel(array('data_table' => $dataTable, 'data_user' => $dataUser, 'data_user_count_order' => $dataUserCountOrder, 'data_menu' => $dataMenu, 'title' => $this->translator->translate('Report'), 'report_table_box' => $this->translator->translate('Report table'), 'report_user_box' => $this->translator->translate('Report user'), 'report_menu_box' => $this->translator->translate('Report menu'), 'allOrder' => $reporAllOrder, 'allOrderText' => $this->translator->translate('You have total:'), 'allOrderTotalCostText' => $this->translator->translate('Total cost'), 'allOrderTotalRealCostText' => $this->translator->translate('Total real cost'), 'datetimeReport' => $this->translator->translate('Date time report'), 'reportPerDay' => $dataByDay)); }
public function indexAction() { $message = ''; if (!(is_executable('public/export') && is_writable('public/export'))) { $message = '<div class="alert alert-dismissable alert-success"> <h3 style="text-align:center">Make "public/export" writeable</h3></div>'; echo $message; return true; } $str = ''; $strOrder = ''; $fromDate = ''; $toDate = ''; $strUser = ''; if ($this->getRequest()->isPost()) { $params = $this->params()->fromPost(); $fromDate = $params['formDate']; $toDate = $params['toDate']; $user = $params['user']; $strUserOrder = ''; if ($fromDate) { $fromDateTime = strtotime($fromDate . ' 00:00:00'); $str .= ' AND table.createDate >= ' . $fromDateTime; $strOrder .= ' AND o.createDate >= ' . $fromDateTime; } if ($toDate) { $toDateTime = strtotime($toDate . ' 23:59:00'); $str .= ' AND table.createDate <= ' . $toDateTime; $strOrder .= ' AND o.createDate <= ' . $toDateTime; } if (isset($params['user']) && $params['user'] != 0) { $strUserOrder .= ' AND table.userId = ' . $user; $strUser .= ' AND table.userId = ' . $user; } } $year = date('Y'); if ($this->params()->fromQuery('year')) { $year = $this->params()->fromQuery('year'); } $reportMonth = $this->modelOrder->reportAllMonth($year); //$categories = $this->modelCategories->findBy(array('isdelete'=>'0')); $reportUser = $this->modelOrder->createQuery('table.isdelete = 0 ' . $str . $strUser); $reportUser = reportModel::convertUserReportArray($reportUser); $reportTable = $this->modelOrder->createQueryTable('table.isdelete = 0 ' . $str . $strUser); $reportTable = reportModel::convertTableReportArray($reportTable); $reportMenu = $this->modelOrderDetail->createQueryMenu('table.isdelete = 0 ' . $strOrder); $reportMenu = reportModel::convertMenuReportArray($reportMenu); $reporAllOrder = $this->modelOrder->createQueryAllMenu('table.isdelete = 0 ' . $str . $strUser); $reportMenuType = $this->modelOrderDetail->createQueryMenuType('table.isdelete = 0 ' . $strOrder); $reportMenuType = reportModel::convertMenuTypeReportArray($reportMenuType); //linkEcel $link = renderExcel::renderMenuOrder($reportMenu); //tableTitle = table heading //datarow row of table... render by heading key //heading key = table column name //$dataRow = $this->modelCategories->convertToArray($categories); //setup data user table $dataUser = array('tableTitle' => $this->translator->translate('Report User'), 'link' => 'admin/order', 'data' => $reportUser, 'heading' => array('userId' => $this->translator->translate('User Create'), 'count_user' => $this->translator->translate('Count Number')), 'hideEditButton' => 1, 'hideDeleteButton' => 1, 'hideDetailButton' => 1); //setup data table $dataTable = array('tableTitle' => $this->translator->translate('Report Table'), 'link' => 'admin/order', 'data' => $reportTable, 'heading' => array('tableId' => $this->translator->translate('Table Name'), 'count_table' => $this->translator->translate('Count Number')), 'hideEditButton' => 1, 'hideDeleteButton' => 1, 'hideDetailButton' => 1); //setup data menu $dataMenu = array('tableTitle' => $this->translator->translate('Report By Menu Item'), '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')), 'hideEditButton' => 1, 'hideDeleteButton' => 1, 'hideDetailButton' => 1); //setup data cost type menu $dataMenuCostType = array('tableTitle' => $this->translator->translate('Report By Type ( Stay Here Take Away )'), 'link' => 'admin/order', 'data' => $reportMenuType, 'heading' => array('costType' => $this->translator->translate('Cost type'), 'cost_type_quantity' => $this->translator->translate('Count Number'), 'realCost' => $this->translator->translate('Real cost')), 'hideEditButton' => 1, 'hideDeleteButton' => 1, 'hideDetailButton' => 1); //setup data Payment table return new ViewModel(array('data_table' => $dataTable, 'data_user' => $dataUser, 'data_menu' => $dataMenu, 'data_menu_costtype' => $dataMenuCostType, 'title' => $this->translator->translate('Report'), 'report_table_box' => $this->translator->translate('Report Table'), 'report_user_box' => $this->translator->translate('Report User'), 'report_menu_box' => $this->translator->translate('Report By Menu Item'), 'report_menu_cost_type' => $this->translator->translate('Report Menu Cost Type'), 'payment_menu_box' => $this->translator->translate('Report Payment'), 'allOrder' => $reporAllOrder, 'allOrderText' => $this->translator->translate('You Have Total:'), 'allOrderTotalCostText' => $this->translator->translate('Total Cost'), 'allOrderTotalRealCostText' => $this->translator->translate('Total Real Cost'), 'datetimeReport' => $this->translator->translate('Date Time Report'), 'fromDateText' => $this->translator->translate('From Date'), 'allMonthInYearText' => $this->translator->translate('All Month In Year'), 'toDateText' => $this->translator->translate('To Date'), 'submitText' => $this->translator->translate('Report'), 'reportMonth' => $reportMonth, 'fromDate' => $fromDate, 'toDate' => $toDate, 'excelLink' => $link)); }