✏️ 正在编辑: ResgatePonto.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/application/models/DbTable/ResgatePonto.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Model_DbTable_ResgatePonto extends Core_DbTable { protected $_name = 'tb_campanhas_resgates'; protected static $_viewName = 'vw_resgates'; protected $_referenceMap = array( 'Campanha' => array( 'columns' => array( 'campanha_id' ), 'refTableClass' => 'Model_DbTable_Campanha', 'refColumns' => array( 'id' ) ), 'Corretor' => array( 'columns' => array( 'corretor_id' ), 'refTableClass' => 'Model_DbTable_Corretor', 'refColumns' => array( 'id' ) ) ); public static function getViewName() { return self::$_viewName; } public function getTotalResgate($campanhaId, $corretorId) { if( $campanhaId <= 0 || $corretorId <= 0 ){ return 0; } $where = "campanha_id = " . $campanhaId . " AND corretor_id = " . $corretorId; $select = $this->select()->from($this->_name, array('total_resgate' => "SUM(valor_resgate)")) ->where($where); $dados = $this->fetchRow($select); if( $dados != null ){ return $dados['total_resgate'] != null ? ($dados['total_resgate']) : 0; } return 0; } public function insert(array $data) { if( $data['campanha_id'] <= 0 || $data['corretor_id'] <= 0 ){ return null; } $campanha = new Model_Campanha(); $dadosCampanha = $campanha->exibir($data['campanha_id']); $dataFinal = new Zend_Date($dadosCampanha['data_final']); $prazoResgate = $dataFinal->addDay($dadosCampanha['prazo_resgate']); $dataResgate = new Zend_Date($data['data_resgate']); $ns = new Zend_Session_Namespace(); if( $ns->acl->isAllowed(Yuppie_Auth::getIdentity()->grupo, 'resgate-fora-prazo') || ($dataResgate->isLater($dadosCampanha['data_inicial']) && ($dataResgate->compare($prazoResgate) != 1)) ){ return parent::insert($data); } return null; } public function getTotalResgateGeral($corretorId) { if( $corretorId <= 0 ){ return 0; } $where = "corretor_id = " . $corretorId; $select = $this->select()->from($this->_name, array('total_resgate' => "SUM(valor_resgate)")) ->where($where); $dados = $this->fetchRow($select); if( $dados != null ){ return $dados['total_resgate'] != null ? ($dados['total_resgate']) : 0; } return 0; } public function selectResgates($params) { $tbResgate = array('re' => $this->_name); $tbCorretor = array('co' => 'tb_corretores'); $tbCampanha = array('ca' => 'tb_campanhas'); $colunas = array( 'resgate' => array( 'id', 'valor_resgate', 'data_resgate' => "DATE_FORMAT(data_resgate, '%d/%m/%Y')" ), 'corretores' => array( 'nome' ), 'campanhas' => array( 'descricao' ), ); $select = $this->getAdapter()->select() ->from($tbResgate, $colunas['resgate']) ->join($tbCorretor, 're.corretor_id = co.id', $colunas['corretores']) ->join($tbCampanha, 're.campanha_id = ca.id', $colunas['campanhas']) ->where('re.excluido = 0'); if (array_key_exists('campanha_id', $params) && $params['campanha_id'] > 0) { $select->where('re.campanha_id = ?', $params['campanha_id']); } if (array_key_exists('corretor_id', $params) && $params['corretor_id'] > 0) { $select->where('re.corretor_id = ?', $params['corretor_id']); } if (array_key_exists('data_emissao_de', $params) && $params['data_emissao_de'] && array_key_exists('data_emissao_a', $params) && $params['data_emissao_a']) { $dataDe = new Zend_Date($params['data_emissao_de']); $dataDe = $dataDe->toString('Y-MM-dd'); $dataA = new Zend_Date($params['data_emissao_a']); $dataA = $dataA->toString('Y-MM-dd'); $select->where('re.data_resgate >= ?', $dataDe) ->where('re.data_resgate <= ?', $dataA); } $select->order('data_resgate'); return $this->getAdapter()->fetchAll($select); } }
💾 保存文件
← 返回文件管理器