✏️ 正在编辑: Bonus.php
路径:
/srv/systems_dir/yuppiecred/application/models/Bonus.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Model_Bonus { private $_id; private $_tabelaId; private $_convenioId; private $_prazo; //número de parcelas private $_produto; private $_intervaloParcelasDe; private $_intervaloParcelasA; public function getId() { return $this->_id; } public function setId($id) { $this->_id = $id; } public function getTabelaId() { return $this->_tabelaId; } public function setTabelaId($tabelaId) { $this->_tabelaId = $tabelaId; } public function getConvenioId() { return $this->_convenioId; } public function setConvenioId($convenioId) { $this->_convenioId = $convenioId; } public function getPrazo() { return $this->_prazo; } public function setPrazo($prazo) { $this->_prazo = $prazo; } public function getProduto() { return $this->_produto; } public function setProduto($produto) { $this->_produto = $produto; } public function getIntervaloParcelasDe() { return $this->_intervaloParcelasDe; } public function setIntervaloParcelasDe($intervaloParcelasDe) { $this->_intervaloParcelasDe = $intervaloParcelasDe; } public function getIntervaloParcelasA() { return $this->_intervaloParcelasA; } public function setIntervaloParcelasA($intervaloParcelasA) { $this->_intervaloParcelasA = $intervaloParcelasA; } 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_Bonus(); $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_Bonus $bonus */ public function salvar(Model_Bonus $bonus) { $dbtable = new Model_DbTable_Bonus(); if( $bonus->getId() > 0 ){ $dbtable->update($bonus->_toArray(), "id = " . $bonus->getId()); return $bonus->getId(); } else { return $dbtable->insert($bonus->_toArray()); } } /** * Retorna uma lista * @param string $where * @param string $order * @param int $count * @param int $offset * @return array */ public function listar($fields = null, $order = 'id ASC') { $params = array( ); if( isset($fields['tabela_id']) && $fields['tabela_id'] > 0 ){ $params[] = "tabela_id = " . $fields['tabela_id']; } if( isset($fields['convenio_id']) && $fields['convenio_id'] > 0 ){ $params[] = "convenio_id = " . $fields['convenio_id']; } $where = null; if( count($params) > 0 ) $where = implode(" AND ", $params); $dbtable = new Model_DbTable_Bonus(); return $dbtable->fetchAll($where, $order); } /** * 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_Bonus(); return $dbtable->delete("id = " . $id); } return null; } /** * 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_Bonus(); return $dbtable->fetchRow("id = " . $id); } /** * Retorna o valor do bonus * @param int $tabelaId * @param int $convenioId * @param int $prazoId * @param string $dataEmissaoContrato */ public function getValorBonus($tabelaId, $convenioId, $prazo, $dataEmissaoContrato, $produto = null) { $dbtable = new Model_DbTable_Bonus(); $where = "tabela_id = " . $tabelaId . " AND convenio_id = " . $convenioId . " AND prazo = " . $prazo . " AND produto = '" . $produto . "'"; $dados = $dbtable->fetchRow($where); if( $dados != null ){ $dbtableBonus = new Model_DbTable_BonusPercentual(); $where = "bonus_id = " . $dados['id'] . " AND ((data_inicial <= '" . $dataEmissaoContrato . "' AND data_final IS NULL)" . "OR (data_inicial <= '" . $dataEmissaoContrato . "' AND data_final >= '" . $dataEmissaoContrato . "')" . ")"; $bonus = $dbtableBonus->fetchRow($where, "id DESC"); if( $bonus != null ) return $bonus['percentual']; } return null; } }
💾 保存文件
← 返回文件管理器