D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
rosario
/
adm
/
app
/
gre
/
Views
/
Cotacao
/
Filename :
VieCtImportaPrecoXlsx.php
back
Copy
<?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); ob_start(); $path = getcwd(); $Dados = $_POST; $prim = 0; $data = ''; $hoje = date('Y-m-d'); $_UP['pasta'] = $_SERVER['DOCUMENT_ROOT']."/rosario/adm/"; $_UP['tamanho'] = 1024 * 1024 * 2; // 2Mb $arquivo = $Dados['id_arquivo']; $erro = 0; $mens_erro = ""; $sugestao_id = 0; $nome_final = $_FILES['arquivo']['name']; require $_SERVER['DOCUMENT_ROOT']."/rosario/adm/vendor/autoload.php"; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; use PHPOffice\phpspreadsheet\Shared\Date; include_once("conecta.php"); if (!move_uploaded_file($_FILES['arquivo']['tmp_name'], $nome_final)) { $_SESSION['msg'] = "<div class='alert alert-danger' role='alert'> ERRO: Erro no Upload! <button type='button' class='close' data-dismiss='alert' aria-label='Close'> <span aria-hidden='true'>×</span></button> </div>"; }else{ $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Xlsx'); $reader->setReadDataOnly(TRUE); $spreadsheet = $reader->load($arquivo ); $worksheet = $spreadsheet->getActiveSheet(); $highestRow = $worksheet->getHighestRow(); $highestColumn = $worksheet->getHighestColumn(); $highestColumnIndex = \PhpOffice\PhpSpreadsheet\Cell\Coordinate::columnIndexFromString($highestColumn); $erro = 0; $reg = "insert into ct_preco_resposta ( marca_id, forn_id, data, repres_id, prod_cod, ean, preco_resposta, fator_embalagem, estoque, data_resposta ) VALUES ("; for ($row = 3; $row <= $highestRow -1; ++$row) { $reg .= 'null,null,'; for ($col = 1; $col <= $highestColumnIndex; ++$col) { $value = $worksheet->getCellByColumnAndRow($col, $row)->getValue(); if($col == 1) { $data = $value; $data_m = $data; $array = explode('/', $data); if(count($array) <> 3 ){ $erro = 2; }else{ $dia = (int)$array[0]; $mes = (int)$array[1]; $ano = (int)$array[2]; if(!checkdate($mes, $dia, $ano)){ $erro = 2; }else{ $data = str_pad($ano,4,0, STR_PAD_LEFT).'-'.str_pad($mes,2,0, STR_PAD_LEFT).'-'.str_pad($dia,2,0, STR_PAD_LEFT); $reg.="'".$data."',"; } } } if($col == 2) { $reg.= $value.","; $repres_id = $value; } if($col == 4) {$reg.= $value.",";} if($col == 5) {$reg.= $value.",";} if($col == 7 ) { if (trim($value) == '') { $value = '0'; } } if($col == 7 ) { if (!is_numeric($value)) { $erro = 1; }else{ $reg.= $value.","; } } if($col == 8 ) { if (!is_numeric($value)) { $value = '0';} $reg.= $value.","; } if($col == 9 ) { if (!is_numeric($value)) { $value = '0';} $reg.= $value.",'"; $reg.= $hoje."')"; } } if($row < $highestRow -1){ $reg.= ",("; }else{ $reg.= ";"; } } if($erro > 0){ if ($erro == 1) { $_SESSION['msg'] = "<div class='alert alert-danger' role='alert'> Erro: Coluna PREÇO fora do Padrão não numerico ou fórmula no Preço! <button type='button' class='close' data-dismiss='alert' aria-label='Close'> <span aria-hidden='true'>×</span></button> </div>"; } if ($erro == 2) { $_SESSION['msg'] = "<div class='alert alert-danger' role='alert'> Erro: Planilha fora do Padrão erro Coluna Data formato correto é dd/mm/aaaa ! <button type='button' class='close' data-dismiss='alert' aria-label='Close'> <span aria-hidden='true'>×</span></button> </div>"; } $path = $_SERVER['DOCUMENT_ROOT'].'/rosario/adm/'.$_FILES['arquivo']['name']; unlink($path); $UrlDestino = URLADM . 'con-ct-envia-preco-gerar/listar'; header("Location: $UrlDestino"); }else{ if ($prim == 0) { $prim = 1; $sqlw = "delete from ct_preco_resposta where data = ".$data. " and repres_id = ".$repres_id.";"; mysqli_query($link,$sqlw); } if(mysqli_query($link,$reg)){ $sqlp = "select ceiling(coalesce(sum(preco_resposta),0)) preco from ct_preco_resposta"; $result = mysqli_query($link,$sqlp); $row = mysqli_fetch_array( $result ); if($row['preco'] == 0){ $_SESSION['msg'] = "<div class='alert alert-danger' role='alert'> Erro: Todos os Preços da Planilha selecionada Estão Zerados! <button type='button' class='close' data-dismiss='alert' aria-label='Close'> <span aria-hidden='true'>×</span></button> </div>"; $sqlw = "delete from ct_preco_resposta where data = ".$data. " and repres_id = ".$repres_id.";"; mysqli_query($link,$sqlw); $path = $_SERVER['DOCUMENT_ROOT'].'/rosario/adm/'.$_FILES['arquivo']['name']; unlink($path); $UrlDestino = URLADM . 'con-ct-envia-preco-gerar/listar'; header("Location: $UrlDestino"); }else{ $data_cota = "'".$data."'"; $sqlv = "call ct_atualiza_resposta_preco($data_cota, $repres_id);"; if(mysqli_query($link,$sqlv)){ $Lanc = new \App\gre\Models\Cotacao\ModCtPrecosCotacaoLer(); $arr = $Lanc->listarResponde($repres_id.'@'.$data_m.'@P'); foreach ($arr as $email) { extract($email); $prim_nome = utf8_decode('Olá, '.$apelido); $orig_nome = utf8_decode("Resposta de Preços - "). $usu_apelido; $this->DadosEmail['orig_email'] = $usu_email; $this->DadosEmail['orig_nome'] = $orig_nome; $this->DadosEmail['dest_nome'] = $prim_nome; $this->DadosEmail['dest_email'] = $email; $this->DadosEmail['titulo_email'] = utf8_decode("Resposta de preços fechamento".$data_fecha. ' - ' . $usu_apelido); $this->DadosEmail['cont_email'] = $prim_nome."<br><br>"; $this->DadosEmail['cont_email'] .= $usu_apelido.utf8_decode(" respondeu preços da Cotação do dia <b> " ). $data_m . "</b>.<br>"; $this->DadosEmail['cont_email'] .= utf8_decode("Data do fechamento: <b> " ). $data_fecha . ".</b><br>"; date_default_timezone_set ("America/Sao_Paulo"); $this->DadosEmail['cont_email'] .= utf8_decode("<br>e-mail enviado em: ") . date('d/m/Y H:i')." hs"; $this->DadosEmail['cont_text_email'] = $this->DadosEmail['cont_email']; $emailPHPMailer = new \App\adms\Models\helper\AdmsPhpMailer(); $emailPHPMailer->emailPhpMailer($this->DadosEmail); // nao esta chamando essa function if ($emailPHPMailer->getResultado()) { $_SESSION['msg'] = "<div class='alert alert-success' role='alert'> Cotação Gerada e E-mails enviados com sucesso ! <button type='button' class='close' data-dismiss='alert' aria-label='Close'> <span aria-hidden='true'>×</span></button> </div>"; } else { $_SESSION['msg'] = "<div class='alert alert-danger'>Erro: Erro ao enviar E-mails!</div>"; $this->Resultado = false; } } $_SESSION['msg'] = "<div class='alert alert-success' role='alert'> Preços enviados com Sucesso! <button type='button' class='close' data-dismiss='alert' aria-label='Close'> <span aria-hidden='true'>×</span></button> </div>"; }else{ $_SESSION['msg'] = "<div class='alert alert-danger' role='alert'> ERRO: Procedure ct_grava_resposta ! <button type='button' class='close' data-dismiss='alert' aria-label='Close'> <span aria-hidden='true'>×</span></button> </div>"; $path = $_SERVER['DOCUMENT_ROOT'].'/rosario/adm/'.$_FILES['arquivo']['name']; unlink($path); $UrlDestino = URLADM . 'con-ct-envia-preco-gerar/listar'; header("Location: $UrlDestino"); } } }else{ $_SESSION['msg'] = "<div class='alert alert-danger' role='alert'> ERRO: Preços não enviados ! <button type='button' class='close' data-dismiss='alert' aria-label='Close'> <span aria-hidden='true'>×</span></button> </div>"; } } mysqli_close($link); $path = $_SERVER['DOCUMENT_ROOT'].'/rosario/adm/'.$_FILES['arquivo']['name']; unlink($path); $UrlDestino = URLADM . 'con-ct-envia-preco-gerar/listar'; header("Location: $UrlDestino"); }