D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
rosario
/
adm
/
app
/
gre
/
Models
/
Filename :
ModTradeContratoCadastrar.php
back
Copy
<?php namespace App\gre\Models; if (!defined('URL')) { header("Location: /"); exit();} /** * Description of ModTradeContratoCadastrar * * @copyright (c) year,Carlos Marques CM */ class ModTradeContratoCadastrar{ private $Resultado; private $Dados; private $DadosLoja; private $DadosProd; private $DadosItemProd; private $DadosItemContr; private $Contrato_id; private $TotalContratoTab; private $TotalContratoNeg; private $Duplo; private $substituicao = array( ' ' => '', '_' => '', '/' => '', '.' => '', ',' => '.', '(' => '', ')' => '' , 'R$ ' => ''); function getResultado() { return $this->Resultado; } public function cadContr(array $Dados) { $this->Dados = $Dados; $this->retiraMasc(); $this->verificaCampos(); if ( $this->Resultado) { $this->Dados['data_inicio'] = $this->Dados['data_inicio'].'-01'; $mes_atual = substr($this->Dados['data_inicio'], 5,2); $ano_atual = substr($this->Dados['data_inicio'], 0,4); $cont_mes = $this->Dados['qtde_mes'] -1; $mes_fim = $mes_atual + $cont_mes; if($mes_fim > 12) {$mes_fim = $mes_fim - 12; $ano_atual = $ano_atual + 1; } $mes_fim = str_pad($mes_fim, 2, '0', STR_PAD_LEFT); $data_fim = $ano_atual.'-'.$mes_fim.'-'.'01'; $data_final = strtotime($data_fim); $data_f = date("Y-m-t", $data_final); $this->Dados['data_fim'] = $data_f; var_dump( $this->Dados); //die; $this->verificaDuplo(); if ($this->Resultado) { $this->Dados['created'] = date("Y-m-d H:i:s"); $this->Dados['usuario_id'] = $_SESSION['usuario_id']; $this->Dados['adms_sit_id'] = 1; unset($this->Dados['gre_marca_id_aux']); unset($this->Dados['urladm']); $this->DadosLoja = $this->Dados; unset($this->DadosLoja['gravar_prod']); $this->DadosProd = $this->Dados; unset($this->DadosProd['gravar_lojas']); unset($this->Dados['gravar_lojas']); unset($this->Dados['gravar_prod']); unset($this->Dados['qtde_disp']); unset($this->Dados['hoje']); if ($this->TotalContratoTab == 0) { $this->TotalContratoTab = $this->TotalContratoNeg; } $this->Dados['valor_bruto_mes'] = $this->TotalContratoTab; $this->Dados['valor_liquido_mes'] = $this->TotalContratoNeg; unset($this->Dados['preco_venda_tabela']); unset($this->Dados['preco_venda_negociado']); $this->Dados['tipo_contrato_id'] = 1; // var_dump($this->Dados); //var_dump($this->DadosLoja); $cadLancServ = new \App\adms\Models\helper\AdmsCreate; $cadLancServ->exeCreate("ro_trade_contrato", $this->Dados); if ($cadLancServ->getResultado()) { $this->pega_ultimo_id(); foreach($this->DadosProd['gravar_prod'] as $id => $value) { $array[] = ['id' => $id,]; $this->DadosItemProd['produto_id']= trim($id); $this->DadosItemProd['contr_id'] = $this->Contrato_id[0]['contr_id']; $cadItemProd = new \App\adms\Models\helper\AdmsCreate; $cadItemProd->exeCreate("ro_trade_prod_contrato", $this->DadosItemProd); } foreach($this->DadosLoja['gravar_lojas'] as $key => $value) { if($value > 0) { $this->DadosItemContr['qtde'] = $value; $this->DadosItemContr['preco_venda_tabela'] = $this->DadosLoja['preco_venda_tabela']; $this->DadosItemContr['valor_total_tabela'] = $this->DadosLoja['preco_venda_tabela'] * $value; $this->DadosItemContr['preco_venda_negociado'] = $this->DadosLoja['preco_venda_negociado']; $this->DadosItemContr['valor_total_negociado'] = $this->DadosLoja['preco_venda_negociado'] * $value; $this->DadosItemContr['filial_id'] = $key; $this->DadosItemContr['contr_id'] = $this->Contrato_id[0]['contr_id']; $cadItemContr = new \App\adms\Models\helper\AdmsCreate; $cadItemContr->exeCreate("ro_trade_item_contrato", $this->DadosItemContr); } } $_SESSION['msg'] = "<div class='alert alert-success'>Contrato cadastrado com sucesso!</div>"; $this->Resultado = true; }else { $_SESSION['msg'] = "<div class='alert alert-danger'>Erro: Contrato não foi cadastrado!</div>"; $this->Resultado = false; } } } } private function retiraMasc() { $this->Dados['preco_venda_tabela'] = strtr($this->Dados['preco_venda_tabela'] , $this->substituicao); $this->Dados['preco_venda_negociado'] = strtr($this->Dados['preco_venda_negociado'] , $this->substituicao); if ( $this->Dados['preco_venda_negociado']== '') { $this->Dados['preco_venda_negociado']= 0.000; } } private function pega_ultimo_id(){ $verContrato_id = new \App\adms\Models\helper\AdmsRead(); $verContrato_id->fullRead("SELECT max(id) contr_id FROM ro_trade_contrato WHERE plano_id = :plano_id and tipo_id = :tipo_id and sub_tipo_id = :sub_tipo_id and marca_id = :marca_id and acao_id = :acao_id", "plano_id=" . $this->Dados['plano_id'] . "&tipo_id=" . $this->Dados['tipo_id'] . "&sub_tipo_id=" . $this->Dados['sub_tipo_id'] . "&marca_id=" . $this->Dados['marca_id'] . "&acao_id=" . $this->Dados['acao_id']); $this->Contrato_id = $verContrato_id->getResultado(); // var_dump($this->Contrato_id); } private function verificaCampos() { $this->Resultado = true; if (empty($this->Dados['marca_id'])) { $_SESSION['msg'] = "<div class='alert alert-danger'><button type='button' class='close' data-dismiss='alert' aria-label='Close'><span aria-hidden='true'>×</span></button><strong>Erro!</strong> Marca é Obrigatória !</div>"; $this->Resultado = false; } if (empty($this->Dados['plano_id'])) { $_SESSION['msg'] = "<div class='alert alert-danger'><button type='button' class='close' data-dismiss='alert' aria-label='Close'><span aria-hidden='true'>×</span></button><strong>Erro!</strong> Plano é Obrigatório!</div>"; $this->Resultado = false; } if (empty($this->Dados['tipo_id'])) { $_SESSION['msg'] = "<div class='alert alert-danger'><button type='button' class='close' data-dismiss='alert' aria-label='Close'><span aria-hidden='true'>×</span></button><strong>Erro!</strong> Tipo é Obrigatório!</div>"; $this->Resultado = false; } if (empty($this->Dados['sub_tipo_id'])) { $_SESSION['msg'] = "<div class='alert alert-danger'><button type='button' class='close' data-dismiss='alert' aria-label='Close'><span aria-hidden='true'>×</span></button><strong>Erro!</strong> Sub-Tipo é Obrigatório!</div>"; $this->Resultado = false; } if (empty($this->Dados['acao_id'])) { $_SESSION['msg'] = "<div class='alert alert-danger'><button type='button' class='close' data-dismiss='alert' aria-label='Close'><span aria-hidden='true'>×</span></button><strong>Erro!</strong> Ação é Obrigatório!</div>"; $this->Resultado = false; } if (empty($this->Dados['contato'])) { $_SESSION['msg'] = "<div class='alert alert-danger'><button type='button' class='close' data-dismiss='alert' aria-label='Close'><span aria-hidden='true'>×</span></button><strong>Erro!</strong> Contato é Obrigatório!</div>"; $this->Resultado = false; } if (empty($this->Dados['gravar_lojas'])) { $_SESSION['msg'] = "<div class='alert alert-danger'><button type='button' class='close' data-dismiss='alert' aria-label='Close'><span aria-hidden='true'>×</span></button><strong>Erro!</strong> Filial é Obrigatório!</div>"; $this->Resultado = false; } if ($this->Dados['preco_venda_tabela'] + $this->Dados['preco_venda_negociado'] == 0) { $_SESSION['msg'] = "<div class='alert alert-danger'><button type='button' class='close' data-dismiss='alert' aria-label='Close'><span aria-hidden='true'>×</span></button><strong>Erro!</strong> Preços Zerados!</div>"; $this->Resultado = false; } $total_qtde = 0; foreach($this->Dados['gravar_lojas'] as $fil => $qtde) { $total_qtde = $total_qtde + (int) $qtde; // var_dump('qtde :'. $qtde); // $this->Dados['preco_venda_tabela'] = 500.00; $this->TotalContratoTab = $this->TotalContratoTab + ($this->Dados['preco_venda_tabela'] * (int) $qtde); if(empty($this->Dados['preco_venda_negociado'])) { $this->Dados['preco_venda_negociado'] = $this->Dados['preco_venda_tabela']; } $this->TotalContratoNeg = $this->TotalContratoNeg + ($this->Dados['preco_venda_negociado'] * (int) $qtde); } if ($total_qtde == 0) { $_SESSION['msg'] = "<div class='alert alert-danger'><button type='button' class='close' data-dismiss='alert' aria-label='Close'><span aria-hidden='true'>×</span></button><strong>Erro!</strong> Nenhuma Qtde de Contrato por Filial foi digitada!</div>"; $this->Resultado = false; } } private function verificaDuplo(){ $verDuplo = new \App\adms\Models\helper\AdmsRead(); $verDuplo->fullRead("SELECT count(*) contr_id FROM ro_trade_contrato WHERE plano_id = :plano_id and tipo_id = :tipo_id and sub_tipo_id = :sub_tipo_id and marca_id = :marca_id and acao_id = :acao_id and data_inicio >= :data_inicio and data_fim <= :data_fim", "plano_id=" . $this->Dados['plano_id'] . "&tipo_id=" . $this->Dados['tipo_id'] . "&sub_tipo_id=" . $this->Dados['sub_tipo_id'] . "&marca_id=" . $this->Dados['marca_id'] . "&acao_id=" . $this->Dados['acao_id']."&data_inicio=" . $this->Dados['data_inicio']."&data_fim=" . $this->Dados['data_fim']); $this->Duplo = $verDuplo->getResultado(); if($this->Duplo[0]['contr_id'] == 0) { $this->Resultado = true; }else{ $this->Resultado = false; $_SESSION['msg'] = "<div class='alert alert-danger'><button type='button' class='close' data-dismiss='alert' aria-label='Close'><span aria-hidden='true'>×</span></button><strong>Erro!</strong> Contrato já cadastrado para esse periodo!</div>"; } // var_dump($this->Dados['data_inicio']); // var_dump($this->Dados['data_fim']); //var_dump($this->Resultado); } public function listarCadastrar() { $this->ResidId = filter_input(INPUT_GET, 'id'); $listar = new \App\adms\Models\helper\AdmsRead(); $this->idUser = $_SESSION['id_user']; $listar->fullRead("SELECT filial.id id_filial, filial.nome filial_nome FROM ro_filial filial where filial.situacao_id = 1 order by id"); $registro['filial'] = $listar->getResultado(); $listar->fullRead("SELECT marca.id, marca.nome nome_marca FROM ro_marca marca order by nome_marca"); $registro['marca'] = $listar->getResultado(); $listar->fullRead("SELECT preco.plano_id, preco.tipo_id, preco.sub_tipo_id, preco.acao_id, sub_tipo.base_id, base.nome base_nome, format(COALESCE(preco.preco_venda, 0), 2, 'de_DE') preco_venda FROM ro_trade_preco preco inner join ro_trade_sub_tipo_acao sub_tipo on sub_tipo.id = preco.sub_tipo_id inner join ro_trade_base base on base.id = sub_tipo.base_id order by preco.plano_id, preco.tipo_id, preco.sub_tipo_id, preco.acao_id"); $registro['preco'] = $listar->getResultado(); $listar->fullRead("SELECT grupserv.id grupserv_id, grupserv.nome grupserv_nome FROM gre_grupo_servico grupserv order by grupserv.id"); $registro['grupserv'] = $listar->getResultado(); $listar->fullRead("SELECT plano.id plano_id, plano.nome plano_nome, plano.qtde_meses plano_qtde_meses FROM ro_trade_plano plano"); $registro['plano'] = $listar->getResultado(); $listar->fullRead("SELECT tipo.id tipo_id, tipo.nome tipo_nome FROM ro_trade_tipo_acao tipo"); $registro['tipo'] = $listar->getResultado(); $listar->fullRead("SELECT sub_tipo.id sub_tipo_id, sub_tipo.tipo_id tipo_id, sub_tipo.nome sub_tipo_nome, base.sigla base_sigla FROM ro_trade_sub_tipo_acao sub_tipo inner join ro_trade_base base on base.id = sub_tipo.base_id"); $registro['sub_tipo'] = $listar->getResultado(); $listar->fullRead("SELECT acao.id acao_id, acao.tipo_id tipo_id, acao.sub_tipo_id sub_tipo_id, acao.nome acao_nome FROM ro_trade_acao acao"); $registro['acao'] = $listar->getResultado(); $this->Resultado = ['marca' => $registro['marca'],'preco' => $registro['preco'], 'filial' => $registro['filial'],'tipo' => $registro['tipo'], 'sub_tipo' => $registro['sub_tipo'], 'acao' => $registro['acao'],'plano' => $registro['plano']]; return $this->Resultado; } }