✏️ 正在编辑: SolicitacaoRecurso.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/application/models/SolicitacaoRecurso.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Model_SolicitacaoRecurso { private $_id; private $_dataSolicitacao; private $_valor; private $_valorPagamento; private $_empresaId; private $_tipoPagamento; private $_descricao; private $_favorecido; private $_cpfCnpj; private $_banco; private $_agencia; private $_conta; private $_tipoConta; private $_usuarioAprovacao; private $_dataAprovacao; private $_dataPagamento; private $_usuarioPagamento; private $_motivoCancelamento; private $_dataCancelamento; private $_usuarioCancelamento; private $_prazo; private $_periodoDe; private $_periodoA; private $_rotaId; public function getId() { return $this->_id; } public function getDataSolicitacao() { return $this->_dataSolicitacao; } public function getValor() { return $this->_valor; } public function getValorPagamento() { return $this->_valorPagamento; } public function getEmpresaId() { return $this->_empresaId; } public function getTipoPagamento() { return $this->_tipoPagamento; } public function getDescricao() { return $this->_descricao; } public function getFavorecido() { return $this->_favorecido; } public function getCpfCnpj() { return $this->_cpfCnpj; } public function getBanco() { return $this->_banco; } public function getAgencia() { return $this->_agencia; } public function getConta() { return $this->_conta; } public function getTipoConta() { return $this->_tipoConta; } public function getUsuarioAprovacao() { return $this->_usuarioAprovacao; } public function getDataAprovacao() { return $this->_dataAprovacao; } public function getDataPagamento() { return $this->_dataPagamento; } public function getUsuarioPagamento() { return $this->_usuarioPagamento; } public function getMotivoCancelamento() { return $this->_motivoCancelamento; } public function getDataCancelamento() { return $this->_dataCancelamento; } public function getUsuarioCancelamento() { return $this->_usuarioCancelamento; } public function setId($id) { $this->_id = $id; } public function getPeriodoDe() { return $this->_periodoDe; } public function getPeriodoA() { return $this->_periodoA; } public function getRotaId() { return $this->_rotaId; } public function setPeriodoDe($periodoDe) { if( !empty($periodoDe) ){ try { $data = new Zend_Date($periodoDe, Zend_Date::DATES, 'pt'); $periodoDe = $data->toString('yyyy-MM-dd'); } catch ( Zend_Date_Exception $e ) { echo $e->getMessage(); $periodoDe = null; } } else { $periodoDe = null; } $this->_periodoDe = $periodoDe; return $this; } public function setPeriodoA($periodoA) { if( !empty($periodoA) ){ try { $data = new Zend_Date($periodoA, Zend_Date::DATES, 'pt'); $periodoA = $data->toString('yyyy-MM-dd'); } catch ( Zend_Date_Exception $e ) { echo $e->getMessage(); $periodoA = null; } } else { $periodoA = null; } $this->_periodoA = $periodoA; return $this; } public function setRotaId($rotaId) { $this->_rotaId = $rotaId; } public function setDataSolicitacao($dataSolicitacao) { if( !empty($dataSolicitacao) ){ try { $data = new Zend_Date($dataSolicitacao, Zend_Date::DATES, 'pt'); $dataSolicitacao = $data->toString('yyyy-MM-dd'); } catch ( Zend_Date_Exception $e ) { echo $e->getMessage(); $dataSolicitacao = null; } } else { $dataSolicitacao = null; } $this->_dataSolicitacao = $dataSolicitacao; return $this; } public function setValor($valor) { if( Zend_Locale_Format::isFloat($valor, array( 'precision' => 2 )) ){ $valor = Zend_Locale_Format::getFloat($valor, array( 'precision' => 2 )); } $this->_valor = $valor; return $this; } public function setValorPagamento($valorPagamento) { if( Zend_Locale_Format::isFloat($valorPagamento, array( 'precision' => 2 )) ){ $valorPagamento = Zend_Locale_Format::getFloat($valorPagamento, array( 'precision' => 2 )); } $this->_valorPagamento = $valorPagamento; return $this; } public function setEmpresaId($empresaId) { $this->_empresaId = $empresaId; } public function setTipoPagamento($tipoPagamento) { $this->_tipoPagamento = $tipoPagamento; } public function setDescricao($descricao) { $this->_descricao = $descricao; } public function setFavorecido($favorecido) { $this->_favorecido = $favorecido; } public function setCpfCnpj($cpfCnpj) { $this->_cpfCnpj = $cpfCnpj; } public function setBanco($banco) { $this->_banco = $banco; } public function setAgencia($agencia) { $this->_agencia = $agencia; } public function setConta($conta) { $this->_conta = $conta; } public function setTipoConta($tipoConta) { $this->_tipoConta = $tipoConta; } public function setUsuarioAprovacao($usuarioAprovacao) { $this->_usuarioAprovacao = $usuarioAprovacao; } public function setDataAprovacao($dataAprovacao) { if( !empty($dataAprovacao) ){ try { $data = new Zend_Date($dataAprovacao, Zend_Date::DATES, 'pt'); $dataAprovacao = $data->toString('yyyy-MM-dd'); } catch ( Zend_Date_Exception $e ) { echo $e->getMessage(); $dataAprovacao = null; } } else { $dataAprovacao = null; } $this->_dataAprovacao = $dataAprovacao; return $this; } public function setDataPagamento($dataPagamento) { if( !empty($dataPagamento) ){ try { $data = new Zend_Date($dataPagamento, Zend_Date::DATES, 'pt'); $dataPagamento = $data->toString('yyyy-MM-dd'); } catch ( Zend_Date_Exception $e ) { echo $e->getMessage(); $dataPagamento = null; } } else { $dataPagamento = null; } $this->_dataPagamento = $dataPagamento; return $this; } public function setUsuarioPagamento($usuarioPagamento) { $this->_usuarioPagamento = $usuarioPagamento; } public function setMotivoCancelamento($motivoCancelamento) { $this->_motivoCancelamento = $motivoCancelamento; } public function setDataCancelamento($dataCancelamento) { if( !empty($dataCancelamento) ){ try { $data = new Zend_Date($dataCancelamento, Zend_Date::DATES, 'pt'); $dataCancelamento = $data->toString('yyyy-MM-dd'); } catch ( Zend_Date_Exception $e ) { echo $e->getMessage(); $dataCancelamento = null; } } else { $dataCancelamento = null; } $this->_dataCancelamento = $dataCancelamento; return $this; } public function setUsuarioCancelamento($usuarioCancelamento) { $this->_usuarioCancelamento = $usuarioCancelamento; } public function getPrazo() { return $this->_prazo; } public function setPrazo($prazo) { if( !empty($prazo) ){ try { $data = new Zend_Date($prazo, Zend_Date::DATES, 'pt'); $prazo = $data->toString('yyyy-MM-dd'); } catch ( Zend_Date_Exception $e ) { echo $e->getMessage(); $prazo = null; } } else { $prazo = null; } $this->_prazo = $prazo; return $this; } public function __construct($options = null) { if( is_array($options) ){ $this->setOptions($options); } } public function setOptions(array $options) { $methods = get_class_methods($this); foreach ( $options as $key => $value ) { $explode = explode("_", $key); $methodName = ''; foreach ( $explode as $v ) { $methodName .= ucfirst($v); } $key = $methodName != '' ? $methodName : $key; $method = 'set' . ucfirst($key); if( in_array($method, $methods) ){ $this->$method($value); } } return $this; } public function _toArray() { $dbtable = new Model_DbTable_SolicitacaoRecurso(); $info = $dbtable->info(); $methods = get_class_methods($this); $data = array(); foreach ( $info['cols'] as $key ) { $col = $key; $explode = explode("_", $key); $methodName = ''; foreach ( $explode as $v ) { $methodName .= ucfirst($v); } $key = $methodName != '' ? $methodName : $key; $method = 'get' . ucfirst($key); if( in_array($method, $methods) ){ $data[$col] = $this->$method(); } } return $data; } /** * Insere ou altera o registro passado por parâmetro * @param Model_SolicitacaoRecurso $recurso */ public function salvar(Model_SolicitacaoRecurso $recurso) { $dbtable = new Model_DbTable_SolicitacaoRecurso(); if( $recurso->getId() > 0 ){ $dbtable->update($recurso->_toArray(), "id = " . $recurso->getId()); return $recurso->getId(); } else { return $dbtable->insert($recurso->_toArray()); } } /** * Exclui o registro passado por parâmetro * @param int $id * @return int The number of rows deleted */ public function excluir($id) { if( $id > 0 ){ $dbtable = new Model_DbTable_SolicitacaoRecurso(); return $dbtable->delete("id = " . $id); } return null; } /** * Retorna uma lista * @param string $where * @param string $order * @param int $count * @param int $offset * @return array */ public function listar($fields, $order = 'id ASC') { $params = array("excluido <> 1"); $where = null; if( isset($fields['numero_solicitacao']) && !empty($fields['numero_solicitacao']) ){ $params[] = "id = " . $fields['numero_solicitacao']; } if( isset($fields['empresa_id']) && !empty($fields['empresa_id']) ){ $params[] = "empresa_id = " . $fields['empresa_id']; } if( isset($fields['banco']) && !empty($fields['banco']) ){ $params[] = "banco = " . $fields['banco']; } if( isset($fields['data_solicitacao_de']) && !empty($fields['data_solicitacao_de']) && isset($fields['data_solicitacao_a']) && !empty($fields['data_solicitacao_a']) ){ $params[] = ("(data_solicitacao >= STR_TO_DATE('" . $fields['data_solicitacao_de'] . "', '%d/%m/%Y')" . " AND data_solicitacao <= STR_TO_DATE('" . $fields['data_solicitacao_a'] . "', '%d/%m/%Y'))"); } $usuario = Yuppie_Auth::getIdentity(); $ns = new Zend_Session_Namespace(); $acl = $ns->acl; if(!$acl->isAllowed($usuario->grupo, "solicitacao-recurso", "aprovar-solicitacao")){ $params[] = "usuario = $usuario->id"; } if( $usuario->grupo == "Supervisor" ){ $params[] = "usuario = $usuario->id"; $params[] = "tipo_usuario LIKE 'supervisor'"; }elseif($usuario->grupo == "Gerente Regional"){ $params[] = "usuario = $usuario->id"; $params[] = "tipo_usuario LIKE 'gerente'"; } if( count($params) > 0 ) $where = implode(" AND ", $params); $dbtable = new Model_DbTable_SolicitacaoRecurso(); return $dbtable->fetchAll($where, $order); } /** * Retorna um fetchRow do item passado por parâmetro * @param int $id * @return Zend_Db_Table_Row_Abstract | null */ public function exibir($id){ $dbtable = new Model_DbTable_SolicitacaoRecurso(); return $dbtable->fetchRow("id = " . $id); } public function getRelatorioSolicitacao($fields = array()) { $dbtable = new Model_DbTable_SolicitacaoRecurso(); $select = $dbtable->getAdapter()->select()->from(array('solicitacoes' => 'tb_solicitacao_recurso'), array('solicitacoes.*')) ->joinLeft(array('empresas' => 'tb_empresas'), 'empresas.id = solicitacoes.empresa_id', array('empresa' => 'empresas.nome')) ->joinLeft(array('bancos' => 'tb_bancos'), 'bancos.id = solicitacoes.banco', array('banco' => 'bancos.nome')) ->joinLeft(array('usuarios' => 'tb_usuarios'), 'usuarios.id = solicitacoes.usuario', array('solicitante' => 'usuarios.nome')) ->joinLeft(array('usuarios2' => 'tb_usuarios'), 'usuarios2.id = solicitacoes.usuario_aprovacao', array('usuario_aprovacao_nome' => 'usuarios2.nome')) ->joinLeft(array('usuarios3' => 'tb_usuarios'), 'usuarios3.id = solicitacoes.usuario_pagamento', array('usuario_pagamento_nome' => 'usuarios3.nome')) ->joinLeft(array('usuarios4' => 'tb_usuarios'), 'usuarios4.id = solicitacoes.usuario_cancelamento', array('usuario_cancelamento_nome' => 'usuarios4.nome')); if(isset($fields['numero_solicitacao']) && !empty($fields['numero_solicitacao'])){ $select->where("solicitacoes.id = " . $fields['numero_solicitacao']); } if(isset($fields['empresa_id']) && !empty($fields['empresa_id'])){ $select->where("solicitacoes.empresa_id = " . $fields['empresa_id']); } if(isset($fields['banco']) && !empty($fields['banco'])){ $select->where("solicitacoes.banco = " . $fields['banco']); } if( isset($fields['data_solicitacao_de']) && !empty($fields['data_solicitacao_de']) && isset($fields['data_solicitacao_a']) && !empty($fields['data_solicitacao_a']) ){ $select->where("(data_solicitacao >= STR_TO_DATE('" . $fields['data_solicitacao_de'] . "', '%d/%m/%Y')" . " AND data_solicitacao <= STR_TO_DATE('" . $fields['data_solicitacao_a'] . "', '%d/%m/%Y'))"); } if( isset($fields['data_aprovacao_de']) && !empty($fields['data_aprovacao_de']) && isset($fields['data_aprovacao_a']) && !empty($fields['data_aprovacao_a']) ){ $select->where("(data_aprovacao >= STR_TO_DATE('" . $fields['data_aprovacao_de'] . "', '%d/%m/%Y')" . " AND data_aprovacao <= STR_TO_DATE('" . $fields['data_aprovacao_a'] . "', '%d/%m/%Y'))"); } if( isset($fields['data_pagamento_de']) && !empty($fields['data_pagamento_de']) && isset($fields['data_pagamento_a']) && !empty($fields['data_pagamento_a']) ){ $select->where("(data_pagamento >= STR_TO_DATE('" . $fields['data_pagamento_de'] . "', '%d/%m/%Y')" . " AND data_pagamento <= STR_TO_DATE('" . $fields['data_pagamento_a'] . "', '%d/%m/%Y'))"); } return $dbtable->getAdapter()->fetchAll($select); } }
💾 保存文件
← 返回文件管理器