public function printPreview() { $tableId = parent::readCookie('cti'); $takeawayNo = parent::readCookie('ctn'); $deliveryNo = parent::readCookie('cdn'); Log::debug('Current tableId :-' . $tableId); Log::debug('Current takeawayNo :- ' . $takeawayNo); Log::debug('Current delivery number :- ' . $takeawayNo); if (!$tableId and !$takeawayNo and !$deliveryNo) { $this->redirect('login'); } $billController = new BillController(); $billInfo = $billController->getBill($tableId, $takeawayNo, $deliveryNo); if (is_null($billInfo)) { Log::error('Bill has not generated for this table'); $this->set([MESSAGE => DTO\ErrorDto::prepareMessage(124), COLOR => ERROR_COLOR]); return; } Log::debug('Bill has generated for this table'); $billDetailsController = new BillDetailsController(); $billDeatilsInfo = $billDetailsController->getOrderId($billInfo->billNo); $orders = array(); foreach ($billDeatilsInfo as $info) { array_push($orders, $info->orderId); } $orderDetailsController = new OrderDetailsController(); $billOrderDetails = $orderDetailsController->getbillOrderDetails($orders); $billPrintInfo = array(); $indexCounter = 0; $menuTitleList = array(); foreach ($billOrderDetails as $menu) { if (!key_exists($menu->menuTitle, $menuTitleList)) { $menuTitleList[$menu->menuTitle] = $menu; } else { foreach ($menuTitleList as $key => $value) { if ($value->menuId == $menu->menuId and $value->subMenuId == $menu->subMenuId) { $value->qty += $menu->qty; $value->orderPrice += $menu->orderPrice; } } } } foreach ($menuTitleList as $key => $value) { $billPrintDto = new DownloadDTO\BillPrintDwnldDto($indexCounter + 1, $value->menuId, $value->menuTitle, $value->qty, $value->orderPrice / $menu->qty, $value->orderPrice); $billPrintInfo[$indexCounter++] = $billPrintDto; } $restId = parent::readCookie('cri'); $restaurantController = new RestaurantController(); $restaurantInfo = $restaurantController->getAdminRestaurants(array($restId)); $userController = new UserController(); $userInfo = $userController->getUserName($billInfo->userId); $rtableController = new RTablesController(); $tableNo = $rtableController->getBillTableNo($tableId); if (isset($billInfo) and isset($restaurantInfo) and isset($billPrintInfo)) { $this->set(['table' => $tableNo, 'bill' => $billInfo, 'restaurants' => $restaurantInfo, 'printInfo' => $billPrintInfo, 'user' => $userInfo->userName]); } else { $this->set([MESSAGE => DTO\ErrorDto::prepareMessage(124), COLOR => ERROR_COLOR]); } }
public function placeOrder() { if (!$this->isLogin()) { $this->redirect('login'); } $data = explode('/', $this->request->url); Log::debug($data); $userController = new UserController(); $restaurantId = $this->readCookie('cri'); $users = $userController->getUsers($restaurantId); $menuCategoryController = new MenuCategoryController(); $categories = $menuCategoryController->getMenuCategories(); $menuController = new MenuController(); $menus = $menuController->getMenus($restaurantId); $tableId = $this->readCookie('cti'); $takeawayNo = $this->readCookie('ctn'); $deliveryNo = $this->readCookie('cdn'); $rtableController = new RTablesController(); if ($tableId) { $tableTransactionController = new TableTransactionController(); $custId = $tableTransactionController->getCurrentCustomer($tableId, $restaurantId); } else { if ($takeawayNo) { $takeawayController = new TakeawayController(); $custId = $takeawayController->getTakeawayCustomer($takeawayNo, $restaurantId); } else { if ($deliveryNo) { $deliverycontroller = new DeliveryController(); $custId = $deliverycontroller->getCurrentCustomer($deliveryNo, $restaurantId); } } } $rconfigSettingcontroller = new RConfigSettingsController(); $set = ['users' => $users, 'menus' => $menus, 'categories' => $categories, 'option' => $data[0], 'tableId' => $tableId, 'takeawayNo' => $takeawayNo, 'deliveryNo' => $deliveryNo, 'custId' => $custId, 'kot_permission' => $rconfigSettingcontroller->allow($restaurantId, KOT_CONFIG_KEY)]; if ($tableId) { $set['isOccupied'] = $rtableController->isOccupied($tableId); $set['tableNo'] = $rtableController->getBillTableNo($tableId); } $this->set($set); }
private function tableOccupy($operationData, $userInfo) { $tableOccupyUploadRequest = UploadDTO\RTableUploadDto::Deserialize($operationData); $rtableController = new RTablesController(); return $rtableController->occupyTable($tableOccupyUploadRequest, $userInfo->restaurantId); }
public function displayBill() { $this->autoRender = FALSE; $restId = parent::readCookie('cri'); $request = $this->request->query; Log::debug($request); Log::debug('Current restaurantId in order controller :- ' . $restId); if (isset($restId)) { $tableId = $request['table']; $takeawayNo = $request['takeaway']; $deliveryNo = $request['delivery']; Log::debug('Now bill list shows for table :-' . $tableId . 'or for takeawayNo :- ' . $takeawayNo); $latestBill = $this->getTableObj()->getTableBill($tableId, $takeawayNo, $deliveryNo, $restId); if (is_null($latestBill)) { $this->response->body(json_encode([MESSAGE => DTO\ErrorDto::prepareMessage(126)])); return; } $userController = new UserController(); $rtableController = new RTablesController(); foreach ($latestBill as $bill) { $user = $userController->getUserName($bill->user); $bill->user = $user->userName; $bill->tableNo = $rtableController->getBillTableNo($bill->tableNo); $bill->date = date('d-m-Y H:i', strtotime('+330 minutes', strtotime($bill->date))); } if ($this->request->is('ajax')) { $response = json_encode($latestBill); Log::debug($response); $this->response->body($response); } } else { if ($this->request->is('ajax')) { $this->response->body(json_encode([MESSAGE => DTO\ErrorDto::prepareMessage(126)])); } } }