/var/www/vhosts/nabawater/backend/controllers
Edit: /var/www/vhosts/nabawater/backend/controllers/TopOrderItemReportController.php (3866B)
request->queryParams);
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $searchModel->search(Yii::$app->request->queryParams),
]);
}
/**
* @throws \Throwable
* @throws \yii\base\ExitException
*
* @Title("Export New")
*/
public function actionExport()
{
$searchModel = new VendorOrderReportSearch();
$dataProvider = $searchModel->search($_SESSION['data']);
$model = $dataProvider->query->all();
$thead = [];
$tbody = [];
$theading = [
'Vendor Name',
'Order Date Time',
'Order Amount',
'Discount',
'Vendor Profit',
'Admin Commission',
];
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$writer = new \PhpOffice\PhpSpreadsheet\Writer\Csv($spreadsheet);
$index = 1;
foreach ($theading as $key => $value) {
$sheet->setCellValueByColumnAndRow($index, 1,$theading[$key]);
$index++;
}
$fileName = 'Vendor-Order-Report'.'-'.date('Y-m-d').'.csv';
$positionValue = 2;
foreach ($model as $key => $value) {
$sheet->setCellValue("A$positionValue", $value['vendor_name'])
->setCellValue("B$positionValue", $value['order_date_time'])
->setCellValue("C$positionValue", round($value['order_total'], 2))
->setCellValue("D$positionValue", round($value['total_discount_value'], 2))
->setCellValue("E$positionValue", round($value['vendor_profit'], 2))
->setCellValue("F$positionValue", round($value['admin_commission'], 2));
++$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;
}
public function actionQuickView()
{
$params = ['id'];
$post = Yii::$app->getRequest()->post();
$result = ['status' => STATUS_FAIL, 'msg' => ''];
foreach ($params as $param) {
if ( !array_key_exists($param, $post) ) {
$result['msg'] = Yii::t('backend', 'Required param missing');
goto skip;
}
}
$resposeArray = \backend\models\Order::find()
->where(['branch_id' => $post['id']])
->andwhere(['order_status' => Order::ORDER_STATUS_DELIVERED])
->andwhere(['DATE(order_date_time)' => $post['date']])
->all();
$result['status'] = STATUS_SUCCESS;
$result['response'] = $resposeArray;
$result['data'] = $this->renderPartial('view', ['resposeArray' => $resposeArray]);
skip:
return $this->asJson($result);
}
}