D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
rosario
/
adm
/
app
/
gre
/
Models
/
Filename :
ModTradeAcaoContratoCadastrar.php
back
Copy
<?php namespace App\gre\Models; if (!defined('URL')) { header("Location: /"); exit();} /** * Description of ModTradeContratoCadastrar * * @copyright (c) year,Carlos Marques CM */ class ModTradeAcaoContratoCadastrar{ private $Resultado; private $Dados; private $DadosLoja; private $DadosProd; private $DadosMarca; private $DadosItemProd; private $DadosItemContr; private $DadosFilialContr; private $DadosCabContr; private $DadosPlano; private $DadosReceber; 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->Dados['data_inicio'] = $this->Dados['data_inicio'].'-01'; $this->Dados['created'] = date("Y-m-d H:i:s"); $this->Dados['usuario_id'] = $_SESSION['usuario_id']; $this->retiraMasc(); var_dump($this->Dados); $this->verificaCampos(); if ( $this->Resultado) { if ($this->Dados['tipo_forn'] == 'I') { $this->Dados['tipo_contratante_id '] = 0; if ($this->Dados['tipo_forn'] > 1) { $this->verificaCamposIndustria(); } //$this->verificaDuplo(); // var_dump($this->Resultado); if ( $this->Resultado) { $this->Dados['status_id'] = 1; 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']); $listar = new \App\adms\Models\helper\AdmsRead(); $listar->fullRead("select contr_id, max(data_fim) data_fim, sum(valor_total_tabela) valor_tabela from ro_trade_item_contrato where contr_id = {$this->Dados['contr_id']}"); $this->DadosAcao['total'] = $listar->getResultado(); //var_dump($this->DadosAcao['total'][0]['valor_tabela']); $this->Dados['valor_investido'] = $this->DadosAcao['total'][0]['valor_tabela']; if(isset($this->Dados['distr_repasse'])){ $this->DadosCabContr['distr_repasse'] = $this->Dados['distr_repasse']; } $this->DadosCabContr['id'] = $this->DadosAcao['total'][0]['contr_id']; $this->DadosCabContr['tipo_contratante_id'] = $this->Dados['tipo_contratante_id ']; $this->DadosCabContr['parcelas'] = $this->Dados['parcelas']; $this->DadosCabContr['celular_contratante'] = $this->Dados['celular_contratante']; $this->DadosCabContr['contato'] = $this->Dados['contato']; $this->DadosCabContr['tipo_contrato_id'] = 1; $this->DadosCabContr['data_emissao'] = $this->Dados['data_inicio']; $this->DadosCabContr['final_vigencia'] =$this->DadosAcao['total'][0]['data_fim']; $this->DadosCabContr['valor_tabela'] = $this->DadosAcao['total'][0]['valor_tabela']; $this->DadosCabContr['valor_total_tabela'] = $this->DadosAcao['total'][0]['valor_tabela']; // $this->DadosCabContr['valor_tabela_negociado'] =$this->DadosAcao['total'][0]['valor_negociado']; $this->DadosCabContr['valor_total_negociado'] = $this->Dados['valor_investido']; $this->DadosCabContr['observacao'] = $this->Dados['observacao']; $this->DadosCabContr['created'] = $this->Dados['created']; $this->DadosCabContr['usuario_id'] =$this->Dados['usuario_id']; $this->DadosCabContr['situacao_id'] = 1; // echo '<pre>'; // var_dump($this->Dados); // var_dump($this->DadosCabContr); // echo '</pre>'; $cadCabContr = new \App\adms\Models\helper\AdmsUpdate(); $cadCabContr->exeUpdate("ro_trade_cab_contrato", $this->DadosCabContr, "WHERE id =:id", "id=" . $this->DadosCabContr['id']); $_SESSION['msg'] = "<div class='alert alert-success'><button type='button' class='close' data-dismiss='alert' aria-label='Close'><span aria-hidden='true'>×</span></button>Solicitação realizada com sucesso!</div>"; $this->Resultado = true; } }else{ $this->Dados['tipo_contratante_id '] = 1; $this->verificaCamposAtacado(); //$this->verificaDuplo(); // var_dump($this->Resultado); if ( $this->Resultado) { $this->Dados['status_id'] = 1; 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']); $listar = new \App\adms\Models\helper\AdmsRead(); $listar->fullRead("select contr_id, max(data_fim) data_fim, sum(valor_total_tabela) valor_tabela from ro_trade_item_contrato where contr_id = {$this->Dados['contr_id']}"); $this->DadosAcao['total'] = $listar->getResultado(); //var_dump($this->DadosAcao['total'][0]['valor_tabela']); $this->Dados['valor_investido'] = $this->DadosAcao['total'][0]['valor_tabela']; $this->DadosCabContr['id'] = $this->DadosAcao['total'][0]['contr_id']; $this->DadosCabContr['tipo_contratante_id'] = $this->Dados['tipo_contratante_id ']; $this->DadosCabContr['parcelas'] = $this->Dados['parcelas']; $this->DadosCabContr['celular_contratante'] = $this->Dados['celular_contratante']; $this->DadosCabContr['contato'] = $this->Dados['contato']; $this->DadosCabContr['tipo_contrato_id'] = 1; $this->DadosCabContr['data_emissao'] = $this->Dados['data_inicio']; $this->DadosCabContr['final_vigencia'] =$this->DadosAcao['total'][0]['data_fim']; $this->DadosCabContr['valor_tabela'] = $this->DadosAcao['total'][0]['valor_tabela']; $this->DadosCabContr['valor_total_tabela'] = $this->DadosAcao['total'][0]['valor_tabela']; // $this->DadosCabContr['valor_tabela_negociado'] =$this->DadosAcao['total'][0]['valor_negociado']; $this->DadosCabContr['valor_total_negociado'] = $this->Dados['valor_investido']; $this->DadosCabContr['observacao'] = $this->Dados['observacao']; $this->DadosCabContr['created'] = $this->Dados['created']; $this->DadosCabContr['usuario_id'] =$this->Dados['usuario_id']; $this->DadosCabContr['situacao_id'] = 1; // echo '<pre>'; // var_dump($this->Dados); // var_dump($this->DadosCabContr); // echo '</pre>'; // die; $cadCabContr = new \App\adms\Models\helper\AdmsUpdate(); $cadCabContr->exeUpdate("ro_trade_cab_contrato", $this->DadosCabContr, "WHERE id =:id", "id=" . $this->DadosCabContr['id']); // $CadContr = new \App\gre\Models\ModTradeEnviaSolicitacaoRosario(); // $CadContr->enviarEmail($this->DadosCabContr); $_SESSION['msg'] = "<div class='alert alert-success'><button type='button' class='close' data-dismiss='alert' aria-label='Close'><span aria-hidden='true'>×</span></button>Solicitação realizada com sucesso!</div>"; $this->Resultado = true; } } } // inicializa datas das ações // $IniciaDatas = new \App\adms\Models\helper\AdmsProcedure; // $IniciaDatas->exeProcedure("start_trade_data", $this->DadosItemContr['contr_id']); } private function retiraMasc() { $this->Dados['preco_venda_tabela'] = strtr($this->Dados['preco_venda_tabela'] , $this->substituicao); if (isset($this->Dados['parcelas'])) { $this->Dados['parcelas'] = strtr($this->Dados['parcelas'] , $this->substituicao); if ( $this->Dados['parcelas']== '') { $this->Dados['parcelas']= 0; } } if (isset($this->Dados['cnpj'])) { $this->Dados['cnpj'] = strtr($this->Dados['cnpj'] , $this->substituicao); } if (isset($this->Dados['celular_contratante'])) { $this->Dados['celular_contratante'] = strtr($this->Dados['celular_contratante'] , $this->substituicao); } } private function pega_ultimo_id() { $verContrato_id = new \App\adms\Models\helper\AdmsRead(); $verContrato_id->fullRead("SELECT coalesce(max(id),0) + 1 contr_id FROM ro_trade_cab_contrato"); $this->Contrato_id = $verContrato_id->getResultado(); $this->Dados['contr_id'] = $this->Contrato_id[0]['contr_id']; } private function verificaCampos() { $this->Resultado = true; if (empty($this->Dados['data_inicio'])) { $_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>Data de Início é Obrigatória !</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; } $total_qtde = 0; } private function verificaCamposPacote(){ $this->Resultado = true; if (empty($this->Dados['razao_social'])) { $_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> Razao Social é Obrigatória !</div>"; $this->Resultado = false; exit; } if (empty($this->Dados['cnpj'])) { $_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> CNPJ é Obrigatório !</div>"; $this->Resultado = false; } } private function verificaCamposIndustria() { $this->Resultado = true; if (!isset($this->Dados['distr_repasse'])) { $_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> Distribuidor para Repasse é Obrigatório !</div>"; $this->Resultado = false; exit; }else{ if (empty($this->Dados['distr_repasse'])) { $_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> Distribuidor para Repasse é Obrigatório !</div>"; $this->Resultado = false; exit; } } } private function verificaCamposAtacado() { $this->Resultado = true; if (!isset($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; exit; }else{ 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; exit; } } } private function verificaDuplo(){ $verDuplo = new \App\adms\Models\helper\AdmsRead(); $verDuplo->fullRead("SELECT count(*) contr_id FROM ro_trade_cab_contrato WHERE tipo_id = :tipo_id and sub_tipo_id = :sub_tipo_id and contratante_id = :contratante_id and acao_id = :acao_id and data_inicio >= :data_inicio and data_vigencia <= :data_fim", "tipo_id=" . $this->Dados['tipo_id'] . "&sub_tipo_id=" . $this->Dados['sub_tipo_id'] . "&contratante_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(empty($this->Duplo)) { $this->Resultado = true; }else{ 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>"; } } } 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 m.id marca_id , m.nome nome_marca FROM ro_trade_inds_forn tif inner join ct_repres_forn_marca fm on fm.forn_id = tif.dist_id inner join ro_marca m on m.id = fm.marca_id group by m.id, m.nome order by nome_marca"); $registro['marca'] = $listar->getResultado(); $listar->fullRead("select f.forn_id inds_id, f.nome_fantasia nome_inds from ro_trade_fornecedor f where f.tipo_forn = 'I' order by f.nome_fantasia"); $registro['inds'] = $listar->getResultado(); $listar->fullRead("SELECT tif.dist_id, f.nome_fantasia, f.tipo_forn FROM ro_trade_inds_forn tif inner join ro_trade_fornecedor f on tif.dist_id = f.forn_id where f.tipo_forn = 'D' group by tif.dist_id, f.nome_fantasia, f.tipo_forn"); $registro['distr'] = $listar->getResultado(); $listar->fullRead("SELECT tif.inds_id, tif.dist_id, f.nome_fantasia, f.tipo_forn FROM ro_trade_inds_forn tif inner join ro_trade_fornecedor f on tif.dist_id = f.forn_id where f.tipo_forn = 'D' group by tif.inds_id, tif.dist_id, f.nome_fantasia, f.tipo_forn order by f.nome_fantasia"); $registro['distr_inds'] = $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 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 FROM ro_trade_sub_tipo_acao sub_tipo order by sub_tipo_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, acao.filial_controle, base.abrangencia, format(acao.preco_venda, 2, 'de_DE') preco_venda, acao.filial_controle, acao.base_id, base.nome base_nome, base.base base_sigla, acao.controla_prod FROM ro_trade_acao acao inner join ro_trade_base base on base.id = acao.base_id"); $registro['acao'] = $listar->getResultado(); $listar->fullRead("select apelido, mask(celular, '(##)-#####-####') celular from adms_usuarios where id = {$_SESSION['usuario_id']}"); $registro['usu'] = $listar->getResultado(); $this->Resultado = ['marca' => $registro['marca'],'distr' => $registro['distr'],'inds' => $registro['inds'],'distr_inds' => $registro['distr_inds'],'preco' => $registro['preco'], 'filial' => $registro['filial'],'tipo' => $registro['tipo'], 'sub_tipo' => $registro['sub_tipo'], 'acao' => $registro['acao'], 'usu' => $registro['usu']]; return $this->Resultado; } }