add backed transfer list chages. Add conffir dkailogsW

This commit is contained in:
2016-07-13 18:37:41 +02:00
parent 3e3cd83945
commit a580b3d295
11 changed files with 514 additions and 168 deletions

View File

@@ -131,11 +131,13 @@ class TransferController extends \backend\controllers\BackendController
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
$accounts = Account::read();
$searchModel->totalsTransfers();
$users = User::read();
if ( $searchModel->output == 'xls'){
set_time_limit(0);
return $this->downloadIndexXls($searchModel,$dataProvider);
}
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
@@ -145,6 +147,142 @@ class TransferController extends \backend\controllers\BackendController
}
/**
* @param $searchModel \backend\models\TicketSearch
* @param $dataProvider \yii\data\ActiveDataProvider
*/
private function downloadIndexXls($searchModel, $dataProvider){
$objPHPExcel = new \PHPExcel ();
$sheet = $objPHPExcel->setActiveSheetIndex ( 0 );
$formatter = \Yii::$app->formatter;
$admin = User::findOne(\Yii::$app->user->id);
$row = 1;
$sheet->setCellValue('A'.$row, 'Exportálta');
$sheet->setCellValue('B'.$row, $admin->username);
$sheet->setCellValue('C'.$row, 'Exportálás ideje');
$sheet->setCellValue('D'.$row, $formatter->asDatetime(new \DateTime()));
$row++;
$user = User::findOne($searchModel->id_user);
$userName = isset($user) ? $user->username : 'Mind';
$account = Account::findOne($searchModel->id_account);
$accountName = isset($account) ? $account->name : 'Mind' ;
$statusName = !empty($searchModel->status) ? Transfer::toStatusName($searchModel->status) : 'Mind';
$start = isset($searchModel->start) ? $formatter->asDateTime($searchModel->timestampStart) : '';
$end = isset($searchModel->end) ? $formatter->asDateTime($searchModel->timestampEnd) : '';
$paymentMethodName = !empty($searchModel->payment_method ) ? Transfer::toPaymentMethodName($searchModel->payment_method) : '';
$customerName = !empty($searchModel->customer_name) ? $searchModel->customer_name : "Mind";
$cardNumber = !empty($searchModel->card_number) ? $searchModel->card_number : "Mind";
$transferName = !empty($searchModel->transfer_name) ? $searchModel->transfer_name : "Mind";
$sheet->setCellValue('A'.$row, 'Felhasználó');
$sheet->setCellValue('B'.$row, $userName );
$sheet->setCellValue('C'.$row, 'Kassza');
$sheet->setCellValue('D'.$row, $accountName);
$sheet->setCellValue('E'.$row, 'Státusz');
$sheet->setCellValue('F'.$row, $statusName);
$row++;
$sheet->setCellValue('A'.$row, 'Fizetési mód');
$sheet->setCellValue('B'.$row, $paymentMethodName );
$sheet->setCellValue('C'.$row, 'Vendég neve');
$sheet->setCellValue('D'.$row, $customerName);
$row++;
$sheet->setCellValue('A'.$row, 'Időszak kezdete');
$sheet->setCellValue('B'.$row, $start);
$sheet->setCellValue('C'.$row, 'Időszak vége');
$sheet->setCellValue('D'.$row, $end);
$row++;
$sheet->setCellValue('E'.$row, 'Megnevezés');
$sheet->setCellValue('F'.$row, $transferName);
$sheet->setCellValue('G'.$row, 'Kártya szám');
$sheet->setCellValue('H'.$row, $cardNumber);
$row++;
$sheet->setCellValue('A'.$row, 'T. Azonosító')
->setCellValue('B'.$row, 'Típus')
->setCellValue('C'.$row, 'Megnevezés')
->setCellValue('D'.$row, 'Kiadta')
->setCellValue('E'.$row, 'Fizette')
->setCellValue('F'.$row, 'Vendég')
->setCellValue('G'.$row, 'Kassza')
->setCellValue('H'.$row, 'Egységár')
->setCellValue('I'.$row, 'Mennyiség')
->setCellValue('J'.$row, 'Összeg')
->setCellValue('K'.$row, 'Státusz')
->setCellValue('L'.$row, 'Fizetési mód')
->setCellValue('M'.$row, 'Kiadva')
->setCellValue('N'.$row, 'Fizetve')
->setCellValue('O'.$row, 'Érv. -tól')
->setCellValue('P'.$row, 'Érv. -ig')
;
foreach ( $dataProvider->getModels() as $model ) {
$row ++;
$sheet
->setCellValue('A'.$row, $model['transfer_id_transfer'])
->setCellValue('B'.$row, $model['transfer_type'])
->setCellValue('C'.$row, $model['transfer_name'])
->setCellValue('D'.$row, ($model['user_username']))
->setCellValue('E'.$row, ($model['paid_by_username']))
->setCellValue('F'.$row, ($model['customer_name']))
->setCellValue('G'.$row, $model['account_name'])
->setCellValue('H'.$row, $model['transfer_item_price'])
->setCellValue('I'.$row, $model['transfer_count'])
->setCellValue('J'.$row, $model['transfer_money'])
->setCellValue('K'.$row, $model['transfer_status'])
->setCellValue('L'.$row, $model['transfer_payment_method'])
->setCellValue('M'.$row, $model['transfer_created_at'])
->setCellValue('N'.$row, $model['transfer_paid_at'])
->setCellValue('O'.$row, $model['ticket_start'])
->setCellValue('P'.$row, $model['ticket_end'])
;
}
$styleArray = array (
'font' => array (
'bold' => true
)
);
foreach ( range ( 'A', 'Q' ) as $columnID ) {
$sheet->getColumnDimension ( $columnID )->setAutoSize ( true );
$sheet->getStyle ( $columnID . '6' )->applyFromArray ( $styleArray );
}
foreach ( ['A','C','E' ,'G']as $columnID ) {
for ($i = 1 ; $i < 6; $i++){
$sheet->getStyle ( $columnID . $i )->applyFromArray ( $styleArray );
}
}
$fileName = "berletek";
$fileName .= "_" . date ( "Ymd_His" );
$fileName .= ".xls";
// Redirect output to a clients web browser (Excel5)
header ( 'Content-Type: application/vnd.ms-excel' );
header ( 'Content-Disposition: attachment;filename="' . $fileName . '"' );
header ( 'Cache-Control: max-age=0' );
// If you're serving to IE 9, then the following may be needed
header ( 'Cache-Control: max-age=1' );
// If you're serving to IE over SSL, then the following may be needed
header ( 'Expires: Mon, 26 Jul 1997 05:00:00 GMT' ); // Date in the past
header ( 'Last-Modified: ' . gmdate ( 'D, d M Y H:i:s' ) . ' GMT' ); // always modified
header ( 'Cache-Control: cache, must-revalidate' ); // HTTP/1.1
header ( 'Pragma: public' ); // HTTP/1.0
$objWriter = \PHPExcel_IOFactory::createWriter ( $objPHPExcel, 'Excel5' );
$objWriter->save ( 'php://output' );
exit ();
}
/**
* Lists all Transfer models.
* @return mixed