✏️ 正在编辑: ProspectoContato.php
路径:
/srv/systems_dir/yuppiecred-bkp/application/models/ProspectoContato.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Model_ProspectoContato { private $_id; private $_prospectoId; private $_classificacao; private $_dataRetorno; private $_motivo; private $_comentario; private $_nota; private $_corretorId; private $_contratoId; public function getId() { return $this->_id; } public function setId($id) { $this->_id = $id; } public function getProspectoId() { return $this->_prospectoId; } public function setProspectoId($prospectoId) { $this->_prospectoId = $prospectoId; } public function getClassificacao() { return $this->_classificacao; } public function setClassificacao($classificacao) { $this->_classificacao = $classificacao; } public function getDataRetorno() { return $this->_dataRetorno; } public function setDataRetorno($dataRetorno) { if( !empty($dataRetorno) ){ try{ $data = new Zend_Date($dataRetorno, Zend_Date::DATES, 'pt'); $dataRetorno = $data->toString('yyyy-MM-dd'); } catch (Zend_Date_Exception $e){ echo $e->getMessage(); $dataRetorno = null; } }else{ $dataRetorno = null; } $this->_dataRetorno = $dataRetorno; } public function getMotivo() { return $this->_motivo; } public function setMotivo($motivo) { $this->_motivo = $motivo; } public function getComentario() { return $this->_comentario; } public function setComentario($comentario) { $this->_comentario = $comentario; } public function getNota() { return $this->_nota; } public function setNota($nota) { $this->_nota = $nota; } public function getCorretorId() { return $this->_corretorId; } public function setContratoId($contratoId) { $this->_contratoId = $contratoId; } public function getContratoId() { return $this->_contratoId; } public function setCorretorId($corretorId) { $this->_corretorId = $corretorId; } 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_ProspectoContato(); $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 corretor passado por parâmetro * @param Model_ProspectoContato $prospecto */ public function salvar(Model_ProspectoContato $prospecto) { $dbtable = new Model_DbTable_ProspectoContato(); if( $prospecto->getId() > 0 ){ $dbtable->update($prospecto->_toArray(), "id = " . $prospecto->getId()); return $prospecto->getId(); } else { return $dbtable->insert($prospecto->_toArray()); } } /** * Exclui o corretor 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_ProspectoContato(); return $dbtable->delete("id = " . $id); } return null; } /** * Retorna uma lista de corretores * @param string $where * @param string $order * @param int $count * @param int $offset * @return array */ public function listar($fields = null, $order = "data_ocorrencia DESC") { $params = array( ); $where = null; //verifica as permissoes $ns = new Zend_Session_Namespace(); if( !$ns->acl->isAllowed(Yuppie_Auth::getIdentity()->grupo, 'visualizar-contatos-usuarios') ){ $params[] = "usuario_id = " . Yuppie_Auth::getIdentity()->id; } if( isset($fields['prospecto_id']) && !empty($fields['prospecto_id']) ){ $params[] = "prospecto_id = " . $fields['prospecto_id']; } if( isset($fields['data_retorno_de']) && !empty($fields['data_retorno_de']) && isset($fields['data_retorno_a']) && !empty($fields['data_retorno_a'])){ $params[] = "(data_retorno >= STR_TO_DATE('" . $fields['data_retorno_de'] . "', '%d/%m/%Y')" . " AND data_retorno <= STR_TO_DATE('" . $fields['data_retorno_a'] . "', '%d/%m/%Y'))"; } if( isset($fields['classificacao']) && !empty($fields['classificacao']) ){ $params[] = "classificacao = " . $fields['classificacao']; } if( count($params) > 0 ) $where = implode(" AND ", $params); $dbtable = new Model_DbTable_ProspectoContato(); 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_ProspectoContato(); return $dbtable->fetchRow("id = {$id}"); } public function fetchAllDependents($fields = null, $order = 'id DESC') { $dbTable = new Model_DbTable_ProspectoContato(); $select = $dbTable->select()->setIntegrityCheck(false) ->from(array('pc' => 'tb_prospectos_contatos')) ->joinLeft(array('c' => 'tb_clientes'), 'c.id = pc.prospecto_id', array('prospecto' => 'c.nome')) ->joinLeft(array('u' => 'tb_usuarios'), 'u.id = pc.usuario_id', array('usuario' => 'u.nome')) ->joinLeft(array('t' => 'tb_tipos'), 't.id = pc.classificacao', array('classificacao_descricao' => 'descricao')) ->joinLeft(['v' => 'tb_corretores'], 'v.id = pc.corretor_id', ['corretor' => 'nome']); if (isset($fields['prospecto']) && $fields['prospecto']) { $select->where('c.nome LIKE ?', '%' . $fields['prospecto'] . '%'); } if (isset($fields['usuario_id']) && $fields['usuario_id']) { $select->where('pc.usuario_id = ?', $fields['usuario_id']); } if (isset($fields['classificacao']) && $fields['classificacao']) { $select->where('pc.classificacao = ?', $fields['classificacao']); } if (isset($fields['data_inicio']) && $fields['data_inicio']) { $select->where("pc.data_retorno >= STR_TO_DATE('{$fields['data_inicio']}', '%d/%m/%Y')"); } if (isset($fields['data_fim']) && $fields['data_fim']) { $select->where("pc.data_retorno <= STR_TO_DATE('{$fields['data_fim']}', '%d/%m/%Y')"); } if (isset($fields['nota']) && $fields['nota']) { $select->where('pc.nota = ?', $fields['nota']); } if (isset($fields['corretor_id']) && $fields['corretor_id']) { $select->where('pc.corretor_id IN(?)', $fields['corretor_id']); } return $dbTable->getAdapter()->fetchAll($select); } }
💾 保存文件
← 返回文件管理器