✏️ 正在编辑: ComissionamentoPercentual.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/application/models/ComissionamentoPercentual.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Model_ComissionamentoPercentual { private $_id; private $_comissionamentoId; private $_dataInicial; private $_dataFinal; private $_dataBase; private $_comissao; private $_bonus; private $_diferimento; private $_adiantamento; private $_baseComissaoValor; private $_baseComissaoBonus; private $_baseComissaoDiferimento; private $_baseComissaoAdiantamento; public function getId() { return $this->_id; } public function setId($id) { $this->_id = $id; } public function getComissionamentoId() { return $this->_comissionamentoId; } public function setComissionamentoId($comissionamentoId) { $this->_comissionamentoId = $comissionamentoId; } public function getDataInicial() { return $this->_dataInicial; } public function setDataInicial($dataInicial) { if( !empty($dataInicial) ){ try { $data = new Zend_Date($dataInicial, Zend_Date::DATES, 'pt'); $dataInicial = $data->toString('yyyy-MM-dd'); } catch ( Zend_Date_Exception $e ) { echo $e->getMessage(); $dataInicial = null; } } else { $dataInicial = null; } $this->_dataInicial = $dataInicial; } public function getDataFinal() { return $this->_dataFinal; } public function setDataFinal($dataFinal) { if( !empty($dataFinal) ){ try { $data = new Zend_Date($dataFinal, Zend_Date::DATES, 'pt'); $dataFinal = $data->toString('yyyy-MM-dd'); } catch ( Zend_Date_Exception $e ) { echo $e->getMessage(); $dataFinal = null; } } else { $dataFinal = null; } $this->_dataFinal = $dataFinal; } public function getDataBase() { return $this->_dataBase; } public function setDataBase($dataBase) { $this->_dataBase = $dataBase == "L" ? "L" : "E"; } public function getComissao() { return $this->_comissao; } public function setComissao($comissao) { $this->_comissao = String_Refatorar::parseStringToFloat($comissao); } function getDiferimento() { return $this->_diferimento; } function getAdiantamento() { return $this->_adiantamento; } function getBonus() { return $this->_bonus; } function setDiferimento($diferimento) { $this->_diferimento = String_Refatorar::parseStringToFloat($diferimento); } function setAdiantamento($adiantamento) { $this->_adiantamento = String_Refatorar::parseStringToFloat($adiantamento); } function setBonus($bonus) { $this->_bonus = String_Refatorar::parseStringToFloat($bonus); } public function getBaseComissaoValor() { return $this->_baseComissaoValor; } public function getBaseComissaoBonus() { return $this->_baseComissaoBonus; } public function getBaseComissaoDiferimento() { return $this->_baseComissaoDiferimento; } public function getBaseComissaoAdiantamento() { return $this->_baseComissaoAdiantamento; } public function setBaseComissaoValor($baseComissaoValor) { $this->_baseComissaoValor = $baseComissaoValor; } public function setBaseComissaoBonus($baseComissaoBonus) { $this->_baseComissaoBonus = $baseComissaoBonus; } public function setBaseComissaoDiferimento($baseComissaoDiferimento) { $this->_baseComissaoDiferimento = $baseComissaoDiferimento; } public function setBaseComissaoAdiantamento($baseComissaoAdiantamento) { $this->_baseComissaoAdiantamento = $baseComissaoAdiantamento; } 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_ComissionamentoPercentual(); $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_ComissionamentoPercentual $comissao */ public function salvar(Model_ComissionamentoPercentual $comissao) { $dbtable = new Model_DbTable_ComissionamentoPercentual(); $data = $comissao->_toArray(); if( $comissao->getId() > 0 ){ $dbtable->update($data, "id = " . $comissao->getId()); return $comissao->getId(); } else { return $dbtable->insert($data); } } /** * 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_ComissionamentoPercentual(); 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( "comissionamentos.excluido<>1 AND percentuais.excluido<>1" ); $where = null; if( isset($fields['comissionamento_id']) && !empty($fields['comissionamento_id']) ){ $params[] = "comissionamento_id = " . $fields['comissionamento_id']; } if( isset($fields['empresa_id']) && !empty($fields['empresa_id']) ){ $params[] = "comissionamentos.empresa_id = " . $fields['empresa_id']; } if( isset($fields['produto']) && !empty($fields['produto']) ){ $params[] = "comissionamentos.produto = '" . $fields['produto'] . "'"; } if( isset($fields['data_de']) && !empty($fields['data_de']) && isset($fields['data_a']) && !empty($fields['data_a']) ){ $params[] = "(percentuais.data_inicial >= STR_TO_DATE('" . $fields['data_de'] . "', '%d/%m/%Y')" . " AND percentuais.data_final <= STR_TO_DATE('" . $fields['data_a'] . "', '%d/%m/%Y'))"; } if( count($params) > 0 ) $where = implode(" AND ", $params); $dbtable = new Model_DbTable_ComissionamentoPercentual(); $select = $dbtable->getAdapter()->select()->from(array( 'percentuais' => 'tb_comissionamento_percentual' ), array( 'percentuais.*' )) ->joinInner(array( 'comissionamentos' => 'tb_comissionamento' ), "percentuais.comissionamento_id = comissionamentos.id", array( 'produto', 'prazo', 'prazo_de', 'prazo_a' )) ->joinLeft(array( 'empresas' => 'tb_empresas' ), "empresas.id = comissionamentos.empresa_id", array( 'empresa' => 'nome' )); if( $where != null ) $select->where($where); if( $order != null ) $select->order($order); return $dbtable->getAdapter()->fetchAll($select); } /** * 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_ComissionamentoPercentual(); return $dbtable->fetchRow("id = " . $id); } public function atualizarDataFinal($id, $dataFinal) { if( $id > 0 && $dataFinal != '' ){ try { $data = new Zend_Date($dataFinal, Zend_Date::DATES, 'pt'); $dataFinal = $data->toString('yyyy-MM-dd'); } catch ( Zend_Date_Exception $e ) { echo $e->getMessage(); $dataFinal = null; } $dbtable = new Model_DbTable_ComissionamentoPercentual(); $result = $dbtable->update(array( 'data_final' => $dataFinal ), "id = " . $id); return $result; } return null; } public function findComissionamento($comissionamentoId) { $dbtable = new Model_DbTable_ComissionamentoPercentual(); return $dbtable->fetchRow("(data_final IS NULL OR data_final = '0000-00-00') AND comissionamento_id = " . $comissionamentoId); } public function atualizarComissao($currentComissao = null, $dados = null, $comissionamentoId = null) { $dbtable = new Model_DbTable_ComissionamentoPercentual(); if( $currentComissao ){ $dataFinal = new Zend_Date($dados['data_inicial']); $dataFinal->subDay(1); $data = array( 'data_final' => $dataFinal->get('yyyy-MM-dd') ); $dbtable->update($data, "id = " . $currentComissao['id']); } $dataInicial = new Zend_Date($dados['data_inicial']); $percentual = array( 'comissao' => isset($dados['comissao_avista']) ? str_replace(array( '.', ',' ), array( '', '.' ), $dados['comissao_avista']) : 0.00, 'adiantamento' => isset($dados['comissao_antecipada']) ? str_replace(array( '.', ',' ), array( '', '.' ), $dados['comissao_antecipada']) : 0.00, 'diferimento' => isset($dados['comissao_diferida']) ? str_replace(array( '.', ',' ), array( '', '.' ), $dados['comissao_diferida']) : 0.00, 'data_inicial' => $dataInicial->get('yyyy-MM-dd'), 'comissionamento_id' => $comissionamentoId, ); $result = $dbtable->insert($percentual); return $result; } }
💾 保存文件
← 返回文件管理器