<?php

class Seguro_Model_Transmissao extends Agro_Db_Table_Propostas {
    protected $_schema = 'seguro';
    protected $_name = 'propostas';
    //protected $_view = 'v_propostas';
    protected $_primary = 'id';

    public function save($dados) {
    }

    /**
     * Monta o SQL que sera usado na listagem de propostas
     *
     * @param array $where
     */
    public function getData(array $where) {
        $Select = $this->select()->setIntegrityCheck(false)->distinct(false);
        $Select->from(array('spe' => 'seguro.propostas_endosso'), false);
        $Select->join(array('spr' => 'seguro.propostas'), 'spr.id = spe.id_proposta', array('id', 'id_endosso', 'id_status', "to_char(spr.dt_vigencia_inicio, 'dd/mm/yyyy') as dt_vigencia_inicio", 'id_usuario_criacao', 'id_produto', 'ds_status_seguradora', 'nr_digito_verificador'));
        $Select->join(array('spt' => 'seguro.propostas_proponentes'), 'spr.id = spt.id_proposta', array('ds_nome_proponente', 'cpf_cnpj'));
        $Select->join(array('spc' => 'seguro.propostas_corretores'), 'spr.id = spc.id_proposta', false);
        $Select->join(array('ppr' => 'produto.produtos'), 'ppr.id = spr.id_produto', array('ds_nome_abreviado', 'ds_nome_produto'));
        $Select->join(array('spd' => 'seguro.propostas_propriedades'), 'spr.id = spd.id_proposta', array('id_municipio'));
        $Select->join(array('smu' => 'sistema.municipios'), 'smu.id = spd.id_municipio', 'ds_nome_municipio');
        $Select->join(array('suf' => 'sistema.estados'), 'suf.id = smu.id_estado', 'ds_sigla');
        $Select->join(array('scr' => 'sistema.corretores'), 'spc.id_usuario = scr.id_usuario', array('ds_nome_fantasia'));
        $Select->join(array('sst' => 'sistema.status'), 'sst.id = spr.id_status', array('ds_cor', 'ds_chave', 'ds_status', 'cd_status'));
        $Select->join(array('sus' => 'sistema.usuarios'), 'sus.id = spr.id_usuario_criacao', 'ds_nome_usuario');
        $this->getWhere($Select, $where);
        if ($this->_order) {
            $Select->order($this->_order);
        }
        return $Select;
    }
}
