D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
idoso_ant
/
adm
/
app
/
gre
/
Models
/
Filename :
GreCadastrarServicoResidente.php
back
Copy
<?php namespace App\gre\Models; if (!defined('URL')) { header("Location: /"); exit(); } /** * Description of GreCadastrarServicoResidente * * @copyright (c) year,Carlos Marques CM */ class GreCadastrarServicoResidente { private $Resultado; private $Dados; private $preco; private $campo; private $ContServ; private $resid; private $IdResid; private $IdFilial; private $UltimoServicoResidente; Private $substituicao = array( ' ' => '', '_' => '', '-' => '', '/' => '', '.' => '', ',' => '.', '(' => '', ')' => '' ); function getResultado() { return $this->Resultado; } public function cadServResid(array $Dados) { $this->Dados = $Dados; $this->campo = explode("-", $this->Dados['gre_residente_id']); $this->Dados['gre_filial_id'] = $this->campo[0]; $this->Dados['gre_residente_id'] = $this->campo[1]; $this->validaServDuplo(); if (($this->ContServ[0]['itens'] == 0)) { $this->retiraMasc(); $this->inserirServResid(); } else { $_SESSION['msg'] = "<div class='alert alert-danger' role='alert'> Erro: Serviço já incluído para o Residente!! <button type='button' class='close' data-dismiss='alert' aria-label='Close'> <span aria-hidden='true'>×</span></button> </div>"; } } private function inserirServResid() { $this->VerificaVigencia(); if ($this->Resultado == false) { $_SESSION['msg'] = "<div class='alert alert-danger' role='alert'> Erro: Fim da Vigência menor ou igual Início ! <button type='button' class='close' data-dismiss='alert' aria-label='Close'> <span aria-hidden='true'>×</span></button> </div>"; }else{ $this->Dados['created'] = date("Y-m-d H:i:s"); $this->Dados['adms_sit_id'] = 1; unset($this->Dados['baspre']); if($this->Dados['data_fim_vigencia']== ''){ unset($this->Dados['data_fim_vigencia']); } $this->resid = $this->Dados['gre_resid_id']; unset($this->Dados['gre_resid_id']); if($this->Dados['tem_final']== 'N') { $this->Dados['data_fim_vigencia'] = '9999-12-31'; } unset($this->Dados['tem_final']); $this->Dados['gre_empr_princ_id'] = $_SESSION['id_user']; $cadPrecServ = new \App\adms\Models\helper\AdmsCreate; $cadPrecServ->exeCreate("gre_servico_contratado", $this->Dados); $this->Dados['gre_resid_id'] = $this->resid ; if ($cadPrecServ->getResultado()) { $_SESSION['msg'] = "<div class='alert alert-success' role='alert'> Serviço incluído com sucesso! <button type='button' class='close' data-dismiss='alert' aria-label='Close'> <span aria-hidden='true'>×</span></button> </div>"; $this->Resultado = true; } else { $_SESSION['msg'] = "<div class='alert alert-danger' role='alert'> Erro: Serviço não foi incluído! <button type='button' class='close' data-dismiss='alert' aria-label='Close'> <span aria-hidden='true'>×</span></button> </div>"; $this->Resultado = false; } } } private function verificaVigencia() { if($this->Dados['data_fim_vigencia']== ''){ $this->Resultado = true; }else{ if($this->Dados['data_fim_vigencia'] <= $this->Dados['data_inicio_vigencia']){ $this->Resultado = false; }else{ $this->Resultado = true; } } } private function retiraMasc() { $this->Dados['preco'] = strtr($this->Dados['preco'] , $this->substituicao); } /**S * <b>Listar registros para chave estrangeira:</b> Buscar informações na tabela "adms_sits" para utilizar como chave estrangeira */ public function listarCadastrar($idFilial = null, $idResid = null) { $this->IdResid = (int) $idResid; $this->IdFilial = (int) $idFilial; $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(); $listar->fullRead("SELECT filial.id id_filial, filial.nome_fantasia nome_filial FROM gre_filial filial inner join gre_empresa empr on empr.id = filial.gre_empr_princ_id where empr.id= ". $_SESSION['id_user'] . " and filial.id = " . $this->IdFilial. " ORDER BY filial.id ASC"); $registro['filial'] = $listar->getResultado(); $listar->fullRead("SELECT gruposerv.id id_gruposerv, max(gruposerv.nome) nome_gruposerv, tab.gre_filial_id filial_id FROM gre_preco_servico tab inner join gre_grupo_servico gruposerv on tab.gre_grupo_servico_id = gruposerv.id where tab.gre_empr_princ_id = ". $_SESSION['id_user'] . " and tab.gre_filial_id = " . $this->IdFilial . " group by tab.gre_filial_id,gruposerv.id"); $registro['gruposerv'] = $listar->getResultado(); $listar->fullRead("SELECT serv.id id_serv, max(serv.nome) nome_serv, serv.gre_grupo_servico_id gruposerv_id, precserv.gre_filial_id filial_serv_id FROM gre_preco_servico precserv inner join gre_servico serv on serv.id = precserv.gre_servico_id inner join gre_filial filial on filial.id = precserv.gre_filial_id inner join gre_empresa empr on empr.id = filial.gre_empr_princ_id where empr.id= ". $_SESSION['id_user'] . " and precserv.gre_filial_id = " . $this->IdFilial . " GROUP BY precserv.gre_servico_id, precserv.gre_filial_id"); $registro['serv'] = $listar->getResultado(); $listar->fullRead("SELECT concat(resid.gre_filial_id, '-', resid.id ) id_resid, resid.nome nome_resid FROM gre_residente resid inner join gre_filial filial on filial.id = resid.gre_filial_id inner join gre_empresa empr on empr.id = filial.gre_empr_princ_id where empr.id= ". $_SESSION['id_user'] . " and resid.id = " . $this->IdResid . " ORDER BY resid.nome ASC"); $registro['resid'] = $listar->getResultado(); $listar->fullRead("Select precserv.id, baspre.nome baspre_nome, baspre.id gre_base_preco_id, precserv.gre_filial_id pre_filial_id, format(precserv.preco_venda,2, 'de_DE') preco, precserv.gre_grupo_servico_id pre_gruposerv_id, precserv.gre_servico_id pre_serv_id from gre_preco_servico precserv join gre_base_preco baspre on baspre.id = precserv.gre_base_preco_id join gre_filial filial on filial.id = precserv.gre_filial_id join gre_empresa empr on empr.id = filial.gre_empr_princ_id join gre_grupo_servico gruposerv on gruposerv.id = precserv.gre_grupo_servico_id where precserv.gre_filial_id = " . $this->IdFilial . " and empr.id= ". $_SESSION['id_user']); $registro['preco'] = $listar->getResultado(); $this->Resultado = ['sit' => $registro['sit'], 'filial' => $registro['filial'], 'gruposerv' => $registro['gruposerv'] , 'serv' => $registro['serv'], 'resid' => $registro['resid'] , 'preco' => $registro['preco'] ]; return $this->Resultado; } private function validaServDuplo() { $verServ = new \App\adms\Models\helper\AdmsRead(); $verServ->fullRead("SELECT count(*) itens FROM gre_servico_contratado WHERE gre_filial_id = :filial_id AND gre_grupo_servico_id = :gruposerv_id AND gre_servico_id = :serv_id AND gre_residente_id = :resid_id AND adms_sit_id = 1 LIMIT :limit", "filial_id=" . $this->Dados['gre_filial_id'] ."&gruposerv_id=" . $this->Dados['gre_grupo_servico_id'] ."&serv_id=" . $this->Dados['gre_servico_id']."&resid_id=" . $this->Dados['gre_residente_id'] . "&limit=1"); $this->ContServ = $verServ->getResultado(); } }