示例#1
0
 public function convertSingleToArray($data)
 {
     //        echo '<pre>';
     //        print_r($data);
     //        echo '</pre>';
     $catInfo = Utility::getCatInfo($data->getCatId());
     $array = array();
     $array['id'] = $data->getId();
     $array['name'] = $data->getName();
     $array['function'] = Utility::getMenuStoreInMenu($data->getId());
     $array['desc'] = $data->getDescription();
     $array['image'] = $data->getImage();
     $array['catId'] = $catInfo->getName();
     $array['cost'] = $data->getCost();
     $array['taCost'] = $data->getTakeAwayCost();
     $array['isCombo'] = Utility::getCombo(number_format($data->getIsCombo()));
     return $array;
 }
 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')));
 }
示例#3
0
 public function ajaxListAction()
 {
     $fields = array('id', 'name', 'cost', 'takeAwayCost', 'description', 'catId', 'isdelete');
     $offset = $this->getDataTableQueryOffset();
     $limit = $this->getDataTableQueryLimit();
     $sortCol = $this->getDataTableQuerySortingColumn();
     $sortDirection = $this->getDataTableQuerySortingDirection();
     $search = $this->getDataTableQuerySearch();
     $customWhere = ' c.isdelete = 0';
     // WHERE conditions
     $customQuery = $this->customWhereSql($customWhere);
     $dqlWhere = $this->getDataTableWhereDql('c', $fields, $search, $customWhere);
     if (!empty($dqlWhere)) {
         $customQuery = '';
     }
     // ORDERING
     $dqlOrder = $this->getDataTableOrderDql('c', $fields, $sortCol, $sortDirection);
     // DQL
     $dql = "SELECT c FROM Admin\\Entity\\Menu c  ";
     // RESULTS
     $query = $this->getEntityManager()->createQuery($dql . $customQuery . $dqlWhere . $dqlOrder);
     //$parameter = array('isdelete'=>0);
     if (!empty($dqlWhere)) {
         $query->setParameter(':search', '%' . $search . '%');
     }
     $results = $query->setMaxResults($limit)->setFirstResult($offset)->getResult();
     // echo $query->getSQL();
     // TOTAL RESULTS COUNT
     $countDql = "SELECT COUNT(c.id) FROM Admin\\Entity\\Menu c";
     $count = $this->getEntityManager()->createQuery($countDql)->getSingleScalarResult();
     $ret = array_map(function ($item) {
         $categoryInfo = Utility::getCatInfo($item->getCatId());
         $formular = Utility::getMenuStoreInMenu($item->getId());
         $linkEdit = '/admin/index/add/' . $item->getId();
         $linkDelete = '/admin/index/delete/' . $item->getId();
         $linkDetail = '/admin/index/detail/' . $item->getId();
         return array('id' => $item->getId(), 'name' => $item->getName(), 'cost' => $item->getCost(), 'takeAwayCost' => $item->getTakeAWayCost(), 'description' => $item->getDescription(), 'catId' => $categoryInfo->getName(), 'formula' => $formular, 'action' => '
             <a href="' . $linkDetail . '" class="btn btn-info"><i class="icon-edit-sign"></i></a>
             <a class="btn btn-primary" href="' . $linkEdit . '"><i class="icon-edit-sign"></i></a>
             <a id="' . $item->getId() . '"  data-link="' . $linkDelete . '" data-id="' . $item->getId() . '" href="#"  class="btn btn-danger btn-delete"><i class="icon-trash"></i></a>');
     }, $results);
     return $this->getDataTableJsonResponse($ret, $count, $dqlWhere);
 }