D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
rosario
/
adm
/
app
/
gre
/
Views
/
Cotacao
/
Filename :
VieCtRespondeNegociaoDownload.php
back
Copy
<?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); //ob_clean(); // flush(); $Lanc = new \App\gre\Models\Cotacao\ModCtRespondeNegociacaoLer(); $arr = $Lanc->listarNegociacao($this->Dados); //echo '<pre>'; //var_dump($arr); //echo '</pre>'; //die; $nome = $arr[0]['nome_forn']; $repres_id = $arr[0]['repres_id']; $repres_nome = $arr[0]['repres_nome']; $marca_nome = $arr[0]['marca_nome']; $cab_plan = $arr[0]['nome_planilha']; //$sugestao_id = $arr[0]['sugestao_id']; $cabec = "ROSÁRIO - PEDIDO DE NEGOCIAÇÃO ". $cab_plan. ' '. $arr[0]['data_cotacaoi']. ' '.$repres_nome; $nomePlanilha = "negociacao_".$cab_plan.'_'.$repres_id.'_'. $arr[0]['data_cotacao_m']; date_default_timezone_set ("America/Sao_Paulo"); $datahoje = date("YmdHis"); $styleArray = [ 'borders' => [ 'allBorders' => [ 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN, 'color' => ['argb' => '00000000'], ], ], ]; require $_SERVER['DOCUMENT_ROOT']."/rosario/adm/vendor/autoload.php"; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; use PHPOffice\phpspreadsheet\Shared\Date; $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); $spreadsheet->getActiveSheet()->getStyle('A1:L2') ->getAlignment()->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER); $sheet->getColumnDimension('A')->setWidth(80,'px'); $sheet->getColumnDimension('B')->setWidth(70,'px'); $sheet->getColumnDimension('C')->setWidth(70,'px'); $sheet->getColumnDimension('D')->setWidth(70,'px'); $sheet->getColumnDimension('E')->setWidth(70,'px'); $sheet->getColumnDimension('F')->setWidth(70,'px'); $sheet->getColumnDimension('G')->setWidth(100,'px'); $sheet->getColumnDimension('H')->setWidth(400,'px'); $sheet->getColumnDimension('I')->setWidth(100,'px'); $sheet->getColumnDimension('J')->setWidth(100,'px'); $sheet->getColumnDimension('K')->setWidth(100,'px'); $sheet->getColumnDimension('L')->setWidth(150,'px'); $spreadsheet->getActiveSheet()->mergeCells('A1:L1'); $sheet->getStyle('A1:L2')->getFont()->setBold(true); $sheet->setCellValue('A1', $cabec); $sheet->setCellValue('A2', 'DATA '); $sheet->setCellValue('B2', 'REPRES '); $sheet->setCellValue('C2', 'ID CT'); $sheet->setCellValue('D2', 'ID SUG'); $sheet->setCellValue('E2', 'COD INT'); $sheet->setCellValue('F2', 'QTDE'); $sheet->setCellValue('G2', 'CODIGO EAN'); $sheet->setCellValue('H2', 'DESCRIÇÃO'); $sheet->setCellValue('I2', $nome); $sheet->setCellValue('J2', 'TENHO PREÇO'); $sheet->setCellValue('K2', 'DIFE.TOTAL'); $sheet->setCellValue('L2', 'MARCA'); $sn=3; $total_preco_cotado = 0; $total_preco_tenho = 0; foreach ($arr as $dados) { extract($dados); $sheet->setCellValue('A'.$sn, $data_cotacao_d); $sheet->setCellValue('B'.$sn, $repres_id); $sheet->setCellValue('C'.$sn, $cotacao_id); $sheet->setCellValue('D'.$sn, $sugestao_id); $sheet->setCellValue('E'.$sn, $prod_cod); $sheet->setCellValue('F'.$sn, $qtde); $sheet->getStyle('G'.$sn)->getNumberFormat()->setFormatCode('0000000000000'); $sheet->setCellValue('G'.$sn, $ean); $sheet->setCellValue('H'.$sn, $prod_nome); $sheet->getStyle('I'.$sn)->getNumberFormat()->setFormatCode('##,###,###,##0.00'); $sheet->setCellValue('I'.$sn, $preco_cotado); $sheet->getStyle('J'.$sn)->getNumberFormat()->setFormatCode('##,###,###,##0.00'); $sheet->setCellValue('J'.$sn, $tenho_preco); $sheet->setCellValue('K'.$sn, "=if(J".$sn.">0,(I".$sn."-J".$sn.")*F".$sn.",0)"); $sheet->setCellValue('L'.$sn, $marca_nome); // $sheet->setCellValue('J'.$sn, "=(H".$sn."-I".$sn.")*E".$sn); $total_preco_cotado += ($preco_cotado * $qtde); $total_preco_tenho += ($tenho_preco * $qtde); $sn++; } $sheet->getStyle('A1:K'.$sn)->applyFromArray($styleArray); $fim = $sn -1 ; $sheet->getStyle('H'.$sn)->getFont()->setBold(true); $sheet->setCellValue('H'.$sn, 'TOTAIS'); $sheet->getStyle('I'.$sn)->getFont()->setBold(true); $sheet->getStyle('I'.$sn)->getNumberFormat()->setFormatCode('##,###,###,##0.00'); $sheet->setCellValue('I'.$sn, '=SUMPRODUCT(F3:F'.$fim.',I3:I'.$fim.')'); $sheet->getStyle('J'.$sn)->getFont()->setBold(true); $sheet->getStyle('J'.$sn)->getNumberFormat()->setFormatCode('##,###,###,##0.00'); //$sheet->setCellValue('I'.$sn, '=SUMPRODUCT(E3:E'.$fim.',I3:I'.$fim.')'); $sheet->setCellValue('K'.$sn, '=sum(K3'.':K'.$fim.')'); $sheet->getStyle('K'.$sn)->getFont()->setBold(true); $sheet->getStyle('K'.$sn)->getNumberFormat()->setFormatCode('##,###,###,##0.00'); $fim = $sn; //$sn++; //$sheet->getStyle('H'.$sn)->getFont()->setBold(true); //$sheet->setCellValue('E'.$sn, 'DIFERENÇA'); //$sheet->getStyle('H'.$sn)->getFont()->setBold(true); //$sheet->getStyle('H'.$sn)->getNumberFormat()->setFormatCode('##,###,###,##0.00'); $sheet->getStyle('A2:L'.$sn)->getBorders()->getAllBorders()->setBorderStyle(\PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN); $sheet->getStyle('A2:I'.$sn)->getProtection()->setLocked(\PhpOffice\PhpSpreadsheet\Style\Protection::PROTECTION_PROTECTED); $sheet->getStyle('H2:L'.$sn)->getProtection()->setLocked(\PhpOffice\PhpSpreadsheet\Style\Protection::PROTECTION_PROTECTED); $nomeplanilha = 'negociacao_'.$cab_plan.'_'.$repres_id.'_'.$datahoje.'.xlsx'; $writer = new Xlsx($spreadsheet); $writer->save($nomeplanilha); $fileName = 'negociacao_'.$cab_plan.'_'.$repres_id.'_'.$datahoje.'.zip'; //$path = URLADM; $path = $_SERVER['DOCUMENT_ROOT'].'/rosario/adm/'; //$path = '/var/www/html/rosario/adm/'; $fullPath = $path.'/'.$fileName; $diretorio = dir($path); $zip = new \ZipArchive(); if( $zip->open($fullPath, \ZipArchive::CREATE) ){ while($arquivo = $diretorio->read()){ $extensao = substr($arquivo,strlen($arquivo)-4,4); if($extensao == 'xlsx'){ $zip->addFile($path.'/'.$arquivo, $arquivo); } } $zip->close(); } if(file_exists($fullPath)){ // Forçamos o donwload do arquivo. header('Content-Type: application/zip'); header('Content-Disposition: attachment; filename="'.$fileName.'"'); readfile($fullPath); // $path = '/var/www/html/rosario/adm/'; //__DIR__ $path = $_SERVER['DOCUMENT_ROOT'].'/rosario/adm/'; $fileDelz = 'negociacao_'.$cab_plan.'_'.$repres_id.'_'.$datahoje.'.zip'; $fullPathDelz = $path.'/'.$fileDelz; $fileDelx = 'negociacao_'.$cab_plan.'_'.$repres_id.'_'.$datahoje.'.xlsx'; $fullPathDelx = $path.'/'.$fileDelx; $diretorio = dir($path); unlink($fullPathDelz); unlink($fullPathDelx); } ?>