コード例 #1
0
ファイル: Compra.php プロジェクト: bgstation/erp
 public function afterSave()
 {
     $oProduto = Produto::model()->findByPk($this->produto_id);
     $oProduto->scenario = 'alteracaoCompra';
     if ($this->isNewRecord) {
         $oProduto->quantidade = $oProduto->quantidade + $this->quantidade;
         $oProduto->save();
         $oFinanceiro = new Financeiro();
         $oFinanceiro->salvar(2, $this);
     } else {
         //            $oProduto->quantidade = $oProduto->quantidade - $this->quantidade;
         //            $oProduto->save();
         //            if ($this->qntAntigaTmp != $this->quantidade) {
         //                if ($this->qntAntigaTmp < $this->quantidade) {
         //                    $diffQuantidade = $this->quantidade - $this->qntAntigaTmp;
         //                    $oProduto->quantidade = $oProduto->quantidade + $diffQuantidade;
         //                } else {
         //                    $diffQuantidade = $this->qntAntigaTmp - $this->quantidade;
         //                    $oProduto->quantidade = $oProduto->quantidade - $diffQuantidade;
         //                }
         //                $oProduto->save();
         //            }
     }
     return parent::afterSave();
 }
コード例 #2
0
ファイル: LogCaixa.php プロジェクト: bgstation/erp
 public function beforeSave()
 {
     if ($this->operacao_id == self::RETIRADA) {
         $aRetorno = $this->getValores();
         $oFinanceiro = new Financeiro('search');
         $total = $aRetorno['inicio'] - $aRetorno['retiradas'] + $oFinanceiro->getTotalOrdemServicoDinheiro($aRetorno['data_inicio']);
         if ($this->valor > $total) {
             $this->addError('valor', 'O valor disponível para retirada é de R$ ' . RPFormat::valorMonetario($total));
             return false;
         }
     }
     $this->usuario_id = Yii::app()->user->getId();
     $this->data_hora = date("Y-m-d H:i:s");
     return parent::beforeSave();
 }
コード例 #3
0
ファイル: Despesa.php プロジェクト: bgstation/erp
 public function afterSave()
 {
     if ($this->isNewRecord && !$this->especial) {
         $oFinanceiro = new Financeiro();
         $oFinanceiro->salvar(3, $this);
     } else {
         if ($this->excluido == 1 && !$this->especial) {
             $oFinanceiro = Financeiro::model()->findByAttributes(array('tipo_item' => 3, 'tipo_item_id' => $this->id));
             //            $oFinanceiro->scenario = 'cancelar';
             $oFinanceiro->salvar(3, $this, null, 1);
         }
     }
     parent::afterSave();
 }
コード例 #4
0
ファイル: LogOrdemServico.php プロジェクト: bgstation/erp
 public function afterSave()
 {
     if ($this->status == self::FECHADA && $this->isNewRecord) {
         $oFinanceiro = new Financeiro();
         $oFinanceiro->salvar(1, $this->ordemServico, $this->usuario->nome);
         foreach ($this->ordemServico->ordemServicoItens as $item) {
             if ($item->tipo_item_id == OrdemServicoItem::PRODUTO) {
                 $oLogRetiradaProduto = new LogRetiradaProduto();
                 $oLogRetiradaProduto->produto_id = $item->item_id;
                 $oLogRetiradaProduto->quantidade = 1;
                 $oLogRetiradaProduto->observacao = 'Ordem de Serviço: ' . $this->ordem_servico_id;
                 $oLogRetiradaProduto->data_hora = date("Y-m-d H:i:s");
                 $oLogRetiradaProduto->usuario_id = Yii::app()->user->getId();
                 $oLogRetiradaProduto->ordem_servico_id = $this->ordem_servico_id;
                 if (!$oLogRetiradaProduto->save()) {
                     die(var_dump($oLogRetiradaProduto->getErrors()));
                 }
                 if ($item->item_id != 0) {
                     $oProduto = Produto::model()->findByPk($item->item_id);
                     $oProduto->decrementarQuantidade();
                 }
             }
         }
     } else {
         if ($this->status == self::CANCELADA) {
             $oFinanceiro = Financeiro::model()->findByAttributes(array('tipo_item' => Financeiro::ORDEM_SERVICO, 'tipo_item_id' => $this->ordem_servico_id));
             $oFinanceiro->salvar(Financeiro::ORDEM_SERVICO, $this->ordemServico, $this->usuario->nome, 1);
             foreach ($this->ordemServico->ordemServicoItens as $item) {
                 if ($item->tipo_item_id == OrdemServicoItem::PRODUTO) {
                     $oLogRetiradaProduto = LogRetiradaProduto::model()->findByAttributes(array('ordem_servico_id' => $this->ordem_servico_id, 'produto_id' => $item->item_id));
                     $oLogRetiradaProduto->excluido = true;
                     if (!$oLogRetiradaProduto->save()) {
                         die(var_dump($oLogRetiradaProduto->getErrors()));
                     }
                     $oProduto = Produto::model()->findByPk($item->item_id);
                     $oProduto->incrementarQuantidade();
                 }
             }
         }
     }
     parent::afterSave();
 }
コード例 #5
0
ファイル: AtualizaDados.php プロジェクト: rojherio/legalmarte
 public function executa()
 {
     //Validações
     $validar = new Validar();
     //Pessoais
     $opcao = '';
     $opcaoSessao = key($_SESSION);
     $idPessoa = $opcaoSessao == 'pessoa' ? $_SESSION['pessoa']['id'] : $_SESSION['usuario']['idParaEditar'];
     if (isset($_POST['nome'])) {
         $nome = $_POST['nome'];
         $rg = $_POST['rg'];
         $emissor = $_POST['emissor'];
         $nascimento = Validacoes::getDataBanco($_POST['nascimento']);
         $sexo = $_POST['sexo'];
         $email = $_POST['email'];
         $validaNome = Validacoes::validaVazio($nome);
         $validaRg = Validacoes::validaVazio($rg);
         $validaEmissor = Validacoes::validaVazio($emissor);
         $validaNascimento = Validacoes::validaDataBanco($nascimento);
         $validaSexo = Validacoes::validaVazio($sexo);
         $validaEmail = Validacoes::validaEmail($email);
         $valida = $validaNome && $validaRg && $validaEmissor && $validaNascimento && $validaSexo && $validaEmail;
         $opcao = 'pessoais';
     }
     //Endereco
     if (isset($_POST['cep'])) {
         $cep = $_POST['cep'];
         $logradouro = $_POST['logradouro'];
         $numero = $_POST['numero'];
         $complemento = $_POST['complemento'];
         $bairro = $_POST['bairro'];
         $estado = $_POST['estado'];
         $cidade = $_POST['cidade'];
         $validaCep = Validacoes::validaVazio($cep);
         $validaLogradouro = Validacoes::validaVazio($logradouro);
         $validaNumero = Validacoes::validaVazio($numero);
         $validaBairro = Validacoes::validaVazio($bairro);
         $validaCidade = Validacoes::validaVazio($cidade);
         $valida = $validaCep && $validaLogradouro && $validaNumero && $validaBairro && $validaCidade;
         $opcao = 'endereco';
     }
     //Contato
     if (isset($_POST['celular'])) {
         $residencial = $_POST['residencial'];
         $celular = $_POST['celular'];
         $comercial = $_POST['comercial'];
         $validaResidencial = Validacoes::validaVazio($residencial);
         $validaCelular = Validacoes::validaVazio($celular);
         $validaComercial = Validacoes::validaVazio($comercial);
         $valida = $validaCelular || $validaResidencial || $validaComercial;
         $opcao = 'contato';
     }
     //Financeiro
     if (isset($_POST['banco'])) {
         $banco = $_POST['banco'];
         $tipoConta = $_POST['tipoconta'];
         $agencia = $_POST['agencia'];
         $agenciaDV = $_POST['agenciadv'];
         $conta = $_POST['conta'];
         $contaDV = $_POST['contadv'];
         $variacao = $_POST['variacao'];
         $validaBanco = Validacoes::validaVazio($banco);
         $validaTipoConta = Validacoes::validaVazio($tipoConta);
         $validaAgencia = Validacoes::validaVazio($agencia);
         $validaAgenciaDV = true;
         $validaConta = Validacoes::validaVazio($conta);
         $validaContaDV = true;
         $valida = $validaBanco && $validaTipoConta && $validaAgencia && $validaAgencia && $validaConta && $validaContaDV;
         $opcao = 'financeiro';
     }
     //Validar a amiga é especial
     if ($valida) {
         $enderecoSucesso = '';
         $dao = new PessoaDAO();
         if ($opcao == 'pessoais') {
             $pessoa = new Pessoa();
             $pessoa->set_id($idPessoa);
             $pessoa->set_nome($nome);
             $pessoa->set_email($email);
             $pessoa->set_dataNascimento($nascimento);
             $pessoa->set_rg($rg);
             $pessoa->set_orgaoExpedidor($emissor);
             $pessoa->set_sexo($sexo);
             $dao->atualizaPessoais($pessoa);
             if ($opcaoSessao == 'pessoa') {
                 $nomeCompleto = $nome;
                 $separaNome = explode(' ', $nomeCompleto);
                 $nome = $separaNome[0];
                 $_SESSION[$opcaoSessao]['nome'] = $nome;
                 $_SESSION[$opcaoSessao]['nomeCompleto'] = $nomeCompleto;
                 $_SESSION[$opcaoSessao]['email'] = $email;
                 $_SESSION[$opcaoSessao]['sexo'] = $sexo;
             }
             $enderecoSucesso = 'meus-dados/pessoais';
         }
         if ($opcao == 'endereco') {
             $enderecos = array();
             $endereco = new Endereco();
             $endereco->set_logradouro($logradouro);
             $endereco->set_numero($numero);
             $endereco->set_complemento($complemento);
             $endereco->set_bairro($bairro);
             $endereco->set_cep($cep);
             $endereco->set_idCidade($cidade);
             $endereco->set_idTipoEndereco(1);
             $enderecos[] = $endereco;
             $dao->insereEndereco($idPessoa, $enderecos);
             $enderecoSucesso = 'meus-dados/endereco';
         }
         if ($opcao == 'contato') {
             $telefones = array();
             if ($validaResidencial) {
                 $telefone = new Telefone();
                 $telefone->set_numero($residencial);
                 $telefone->set_idTipoNumero(2);
                 $telefones[] = $telefone;
             }
             if ($validaCelular) {
                 $telefone = new Telefone();
                 $telefone->set_numero($celular);
                 $telefone->set_idTipoNumero(1);
                 $telefones[] = $telefone;
             }
             if ($validaComercial) {
                 $telefone = new Telefone();
                 $telefone->set_numero($comercial);
                 $telefone->set_idTipoNumero(3);
                 $telefones[] = $telefone;
             }
             $dao->insereTelefone($idPessoa, $telefones);
             $enderecoSucesso = 'meus-dados/contato';
         }
         if ($opcao == 'financeiro') {
             $financeiros = array();
             $financeiro = new Financeiro();
             $financeiro->set_idBanco($banco);
             $financeiro->set_agencia($agencia);
             $financeiro->set_agenciaDV($agenciaDV);
             $financeiro->set_conta($conta);
             $financeiro->set_contaDV($contaDV);
             $financeiro->set_tipoConta($tipoConta);
             $financeiro->set_variacao($variacao);
             $financeiros[] = $financeiro;
             $dao->insereFinanceiro($idPessoa, $financeiros);
             $enderecoSucesso = 'dados-bancarios';
         }
         if ($enderecoSucesso == 'dados-bancarios') {
             $_SESSION['atualizacao-bancarios'] = true;
         } else {
             $_SESSION['atualizacao'] = true;
         }
         $loginEndereco = $opcaoSessao == 'pessoa' ? '' : '/' . $_SESSION['usuario']['loginParaEditar'];
         header('Location: perfil/' . $enderecoSucesso . $loginEndereco);
     } else {
         echo '<script>alert("Você deve informar todos os dados"); window.history.go(-1);</script>';
         exit;
     }
 }
コード例 #6
0
ファイル: PessoaDAO.php プロジェクト: rojherio/legalmarte
 public function carrega($id)
 {
     //Coloca os dados separados por , (para facilitar)
     $dd = 'idpessoa,nome,email,login,data_nascimento,idpessoa_pai,data_cadastro,cpf,rg,orgao_expedidor,sexo,idstatus,foto,foto_original';
     //separa os dados acima em array
     $dados = explode(',', $dd);
     $where = 'idpessoa = ?';
     $dadosWhere = array($id);
     $resultado = Transacao::selectBasico($this->tabela, $dados, $where, $dadosWhere);
     $resultado = $resultado[0];
     $pessoa = new Pessoa();
     $pessoa->set_id($resultado['idpessoa']);
     $pessoa->set_nome($resultado['nome']);
     $pessoa->set_email($resultado['email']);
     $pessoa->set_login($resultado['login']);
     $pessoa->set_dataNascimento($resultado['data_nascimento']);
     $pessoa->set_idPai($resultado['idpessoa_pai']);
     $pessoa->set_dataCadastro($resultado['data_cadastro']);
     $pessoa->set_cpf($resultado['cpf']);
     $pessoa->set_rg($resultado['rg']);
     $pessoa->set_orgaoExpedidor($resultado['orgao_expedidor']);
     $pessoa->set_sexo($resultado['sexo']);
     /* 		$pessoa->set_dataAprovado($resultado['data_aprovado']); */
     $pessoa->set_status($resultado['idstatus']);
     $pessoa->set_foto($resultado['foto']);
     $pessoa->set_fotoOriginal($resultado['foto_original']);
     $filhos = $this->getFilhosQtd($id);
     $pessoa->set_filhosQtd($filhos);
     //Telefones
     $telefones = $this->getTelefone($id);
     foreach ($telefones as $t) {
         $tel = new Telefone();
         $tel->set_id($t['idtelefone']);
         $tel->set_numero($t['telefone']);
         $tel->set_idTipoNumero($t['tipo_telefone']);
         $pessoa->set_telefone($tel);
     }
     $enderecos = $this->getEndereco($id);
     foreach ($enderecos as $e) {
         $end = new Endereco();
         $end->set_id($e['idendereco']);
         $end->set_logradouro($e['logradouro']);
         $end->set_numero($e['numero']);
         $end->set_complemento($e['complemento']);
         $end->set_bairro($e['bairro']);
         $end->set_cep($e['cep']);
         $end->set_idCidade($e['idcidade']);
         $end->set_cidade($e['cidade']);
         $end->set_idEstado($e['idestado']);
         $end->set_estado($e['estado']);
         $end->set_idTipoEndereco($e['idtipo_endereco']);
         $end->set_tipoEndereco($e['tipo_endereco']);
         $pessoa->set_endereco($end);
     }
     $contratos = $this->getContrato($id);
     foreach ($contratos as $c) {
         $con = new Contrato();
         $con->set_id($c['idcontrato']);
         $con->set_dataCadastro($c['data_cadastro']);
         $con->set_dataAprovado($c['data_aprovado']);
         $con->set_dataFim($c['data_fim']);
         $con->set_idPlano($c['idplano']);
         $con->set_plano($c['plano']);
         $con->set_tamanho($c['tamanho']);
         $pessoa->set_contrato($con);
     }
     $financeiro = $this->getFinanceiro($id);
     foreach ($financeiro as $f) {
         $fin = new Financeiro();
         $fin->set_id($f['idfinanceiro']);
         $fin->set_idBanco($f['idbanco']);
         $fin->set_banco($f['banco']);
         $fin->set_agencia($f['agencia']);
         $fin->set_agenciaDV($f['agencia_dv']);
         $fin->set_conta($f['conta']);
         $fin->set_contaDV($f['conta_dv']);
         $fin->set_tipoConta($f['tipo_conta']);
         $fin->set_variacao($f['variacao']);
         $pessoa->set_financeiro($fin);
     }
     return $pessoa;
 }
コード例 #7
0
 /**
  * Returns the data model based on the primary key given in the GET variable.
  * If the data model is not found, an HTTP exception will be raised.
  * @param integer $id the ID of the model to be loaded
  * @return Financeiro the loaded model
  * @throws CHttpException
  */
 public function loadModel($id)
 {
     $model = Financeiro::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }