/var/www/vhosts/nabawater/backend/controllers
Edit: /var/www/vhosts/nabawater/backend/controllers/DriverOrderController.php (3585B)
render('index',
[
'searchModel' => $searchModel,
'dataProvider' => $searchModel->search(Yii::$app->request->queryParams)
]
);
}
/**
*
* @return string
*
* @Title("Driver Order")
*/
public function actionOrder()
{
$searchModel = new DriverOrderSearch();
return $this->render('driver-order',
[
'searchModel' => $searchModel,
'dataProvider' => $searchModel->orderSearch(Yii::$app->request->queryParams)
]
);
}
/**
* @throws \Throwable
* @throws \yii\base\ExitException
*
* @Title("Export")
*/
public function actionExport()
{
$searchModel = new DriverOrderSearch();
$dataProvider = $searchModel->orderSearch(Yii::$app->request->queryParams);
$model = $dataProvider->query->all();
$driverDetails = (new DriverOrderSearch)->Driver();
$thead = [];
$tbody = [];
$theading = [
'Delivery Boy Name',
'Order Number',
'Branch Name',
'Order Date Time',
'Order Total',
'Order Status',
'Payment Status'
];
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
$index = 1;
foreach ($theading as $key => $value) {
$sheet->setCellValueByColumnAndRow($index, 1,$theading[$key]);
$index++;
}
$fileName = 'Driver-Order-Report'.'-'.date('Y-m-d').'.xlsx';
$positionValue = 2;
foreach ($model as $key => $value) {
$driverName = '';
foreach ($driverDetails as $key => $dvalue) {
if($dvalue['key'] == $value['deliveryboy_id']) {
$driverName = $dvalue['name'];
}
}
$sheet->setCellValue("A$positionValue", $driverName)
->setCellValue("B$positionValue", $value['order_number'])
->setCellValue("C$positionValue", $value['branch_name'])
->setCellValue("D$positionValue", $value['order_date_time'])
->setCellValue("E$positionValue", number_format($value['order_total'], 2))
->setCellValue("F$positionValue", Order::getOrderStatusLabel($value['order_status']))
->setCellValue("G$positionValue", Order::getPaymentStatusLabel($value['payment_status']));
++$positionValue;
}
// We'll be outputting an excel file
header('Content-type: text/x-csv');
// It will be called file.xls
header("Content-Disposition: attachment; filename=.$fileName");
$writer->save('php://output');
exit;
}
}