D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
rosario
/
adm
/
app
/
gre
/
Models
/
Filename :
ModTradeContratoAutorizaEditar.php
back
Copy
<?php // Models namespace App\gre\Models; if (!defined('URL')) { header("Location: /"); exit(); } /** * Description of ModTradeSupContratoListar * * @copyright (c) year, Carlos Marques - CM */ class ModTradeContratoAutorizaEditar { private $DadosReceber; private $DadosCab; private $Resultado; private $Dados; private $Distr; private $substituicao = array( '-' => '', ' ' => '', '_' => '', '/' => '', '.' => '', ',' => '.', '(' => '', ')' => '' , 'R$ ' => ''); function getResultado() { return $this->Resultado; } public function verContratoAutoriza($Dados = null) { $this->Dados = $Dados; //$this->Dados['usuario_id'] = $_SESSION['usuario_id']; $listarContr = new \App\adms\Models\helper\AdmsRead(); $listarContr->fullRead("select c.id id, c.contratante_id forn_id, f.nome_fantasia nome_forn, case when fr.nome_fantasia is null then 'VERBA' else fr.nome_fantasia end nome_repasse, c.distr_repasse, date_format(c.data_emissao, '%d/%m/%Y') data_inicio, c.data_emissao data_inicioi, date_format(c.final_vigencia, '%d/%m/%Y') data_fim, format(c.valor_total_tabela, 2, 'de_DE') valor_tabela, c.parcelas, c.observacao, stat.nome nome_sit, cr.cor cor_cr, user.usuario, c.observacao from ro_trade_cab_contrato c inner join ro_trade_fornecedor f on f.forn_id = c.contratante_id left join ro_trade_fornecedor fr on fr.forn_id = c.distr_repasse left join ro_marca m on m.id = c.marca_id inner JOIN ro_trade_status stat ON stat.id= c.situacao_id inner JOIN adms_cors cr ON cr.id=stat.adms_cor_id left JOIN adms_usuarios user ON c.usuario_id= user.id where c.id = :id order by c.nome", "id=" . $this->Dados['id']); $this->Resultado = $listarContr->getResultado(); return $this->Resultado; } public function altContratoAutoriza(array $Dados) { $this->Dados = $Dados; $this->retiraMasc(); date_default_timezone_set ("America/Sao_Paulo"); $this->Dados['modified'] = date("Y-m-d H:i:s"); var_dump($this->Dados); if($this->Dados['autoriza'] == 'S'){ if($this->Dados['parcelas'] == '') { $this->Dados['parcelas'] = $this->Dados['parc_ant']; } if($this->Dados['valor_tabela'] == '') { $this->Dados['valor_tabela'] = $this->Dados['valor_ant']; } $this->grava_a_receber(); $this->DadosCab['valor_total_negociado'] = $this->Dados['valor_tabela']; $this->DadosCab['parcelas'] = $this->Dados['parcelas']; $this->DadosCab['situacao_id'] = 1; date_default_timezone_set ("America/Sao_Paulo"); $this->DadosCab['modified'] = date("Y-m-d H:i:s"); $this->DadosCab['usuario_autorizou'] = $_SESSION['usuario_id']; $this->DadosCab['observacao_enviada']= $this->Dados['observacao_enviada']; unset($this->DadosCab['autoriza']); $upAutoriza = new \App\adms\Models\helper\AdmsUpdate(); $upAutoriza->exeUpdate("ro_trade_cab_contrato", $this->DadosCab, "WHERE id =:id", "id=" . $this->Dados['id']); if ($upAutoriza->getResultado()) { $this->DadosCab['autoriza'] = 'S'; $this->DadosCab['id'] = $this->Dados['id']; $envEmail = new \App\gre\Models\ModTradeRetornaSolicitacaoRosario(); $envEmail->enviarEmail($this->DadosCab); $_SESSION['msg'] = "<div class='alert alert-success'>Solicitação autorizada com sucesso!</div>"; $this->Resultado = true; } else { $_SESSION['msg'] = "<div class='alert alert-danger'>Erro: Solicitação não foi atualizada!</div>"; $this->Resultado = false; } }else{ $this->DadosCab['situacao_id'] = 4; date_default_timezone_set ("America/Sao_Paulo"); $this->DadosCab['modified'] = date("Y-m-d H:i:s"); $this->DadosCab['usuario_autorizou'] = $_SESSION['usuario_id']; $this->DadosCab['observacao_enviada']= $this->Dados['observacao_enviada']; var_dump($this->DadosCab); var_dump($this->Dados['id']); $upAutoriza = new \App\adms\Models\helper\AdmsUpdate(); $upAutoriza->exeUpdate("ro_trade_cab_contrato", $this->DadosCab, "WHERE id =:id", "id=" . $this->Dados['id']); if ($upAutoriza->getResultado()) { $this->DadosCab['autoriza'] = 'N'; $this->DadosCab['id'] = $this->Dados['id']; $envEmail = new \App\gre\Models\ModTradeRetornaSolicitacaoRosario(); $envEmail->enviarEmail($this->DadosCab); $_SESSION['msg'] = "<div class='alert alert-success'>Solicitação autorizada com sucesso!</div>"; $this->Resultado = true; } else { $_SESSION['msg'] = "<div class='alert alert-danger'>Erro: Solicitação não foi atualizada!</div>"; $this->Resultado = false; } } } private function grava_a_receber(){ // GRAVA RO_TRADE_RECEBER if(!empty($this->Dados['distr_repasse'])) { $this->lerDistrRepasse(); } $resto = ($this->Dados['valor_tabela'] / $this->Dados['parcelas']); $parcela = (floor($resto * 100) / 100); $prim_parcela = round($this->Dados['valor_tabela'] - (floor($resto * 100) / 100)* $this->Dados['parcelas'],2) + $parcela; $data_venc = date("Y-m-d", strtotime($this->Dados['data_inicio']. "+". 1 ." ".'month')); $data_venc = substr($data_venc, 0,8).'15'; $this->DadosReceber['contr_id'] = $this->Dados['id']; for($i =1; $i < $this->Dados['parcelas'] + 1; $i++){ if(!empty($this->Dados['distr_repasse'])) { $this->DadosReceber['marca_id'] = $this->Dados['distr_repasse']; $this->DadosReceber['nome'] = $this->Distr[0]['nome_fantasia']; }else{ $this->DadosReceber['marca_id'] = $this->Dados['forn_id']; $this->DadosReceber['nome'] = $this->Dados['nome_forn']; } $this->DadosReceber['tipo_contrato_id'] = 1; $this->DadosReceber['data_emissao'] = $this->Dados['data_inicio']; $this->DadosReceber['data_vencimento'] = $data_venc; $this->DadosReceber['parcela_num'] = $i; $this->DadosReceber['parcela_de'] = $this->Dados['parcelas']; if ($i == 1) { $this->DadosReceber['valor_bruto'] = $prim_parcela; $this->DadosReceber['valor_liquido'] = $prim_parcela; }else{ $this->DadosReceber['valor_bruto'] = $parcela; $this->DadosReceber['valor_liquido'] = $parcela; } date_default_timezone_set ("America/Sao_Paulo"); $this->DadosReceber['created'] = date("Y-m-d H:i:s"); ; $this->DadosReceber['usuario_id'] = $_SESSION['usuario_id']; $cadReceber = new \App\adms\Models\helper\AdmsCreate; $cadReceber->exeCreate("ro_trade_receber", $this->DadosReceber); $data_venc = date("Y-m-d", strtotime($data_venc. "+". 1 ." ".'month')); } } private function retiraMasc() { $this->Dados['valor_ant'] = strtr($this->Dados['valor_ant'] , $this->substituicao); $this->Dados['valor_tabela'] = strtr($this->Dados['valor_tabela'] , $this->substituicao); } public function lerDistrRepasse() { $listar = new \App\adms\Models\helper\AdmsRead(); $listar->fullRead("SELECT nome_fantasia FROM ro_trade_fornecedor where forn_id = :forn_id", "forn_id=" . $this->Dados['distr_repasse']); $this->Distr = $listar->getResultado(); // var_dump ($distr[0]['nome_fantasia']); if(!empty( $this->Distr[0]['nome_fantasia'])){ $this->DadosReceber['observacao'] = "Repasse Contrato nº ". $this->Dados['id']. " Fabricante: ".$this->DadosReceber['nome'] = $this->Dados['nome_forn']; } } public function listarCadastrar() { $listar = new \App\adms\Models\helper\AdmsRead(); $listar->fullRead("SELECT id id_sit, nome nome_sit FROM adms_sits ORDER BY nome ASC"); $registro['sit'] = $listar->getResultado(); $this->Resultado = ['sit' => $registro['sit']]; return $this->Resultado; } }