<?php

class Sinistro_Model_Row_Proposta extends Agro_Db_Table_Row_Proposta {

	public function questionarios() {
    	$Model = new Produto_Model_Atributos();
    	$proponente = $this->proponente();
    	$corretor = $this->corretor();
    	$preposto = $this->preposto();

    	return $Model->getGrupoAtributo($this->id_produto, 'QUESTIONARIO', $corretor['id_usuario'], $preposto['id_usuario'], $proponente['cpf_cnpj']);
    }

	public function itens_segurados() {
		$Select = $this->select()->setIntegrityCheck(false)->from('sinistro.v_unidades_seguradas')->where('id_proposta = ?', $this->id);
		return Agro_Db_Table_Abstract::getDefaultAdapter()->fetchAll($Select);
	}
	
	public function getVigenciaOriginal() {
		$Select = $this->select()->setIntegrityCheck(false)->from('seguro.propostas','seguro.dt_vigencia_inicio_original('.$this->id.')')->where('id = ?', $this->id);
		return Agro_Db_Table_Abstract::getDefaultAdapter()->fetchOne($Select);
	}	

	public function atributos_rn($modulo, $parent=null) {
		$Select = $this->select()->setIntegrityCheck(false)->distinct(true);
		$Select->from(array('g' => 'produto.produtos_grupos_atributos_rn'), false);
		$Select->join(array('p' => 'produto.produtos_atributos_rn'), 'g.id = p.id_grupo_atributo_rn', 'ds_valor');
		$Select->join(array('a' => 'produto.atributos_rn'), "a.id = p.id_atributo_rn");
		$Select->join(array('t' => 'produto.tipo_atributo'), 't.id = a.id_tipo_atributo', array('ds_chave_tipo_atributo'));
		$Select->join(array('m' => 'produto.atributos_modulos'), 'm.id = a.id_atributo_modulo', false);
		$parent ? $Select->where('a.id_parent = ?', $parent) : $Select->where('a.id_parent = 0');
		$Select->where('m.ds_chave_atributo_modulo = ?', $modulo);
		$Select->where('g.id_produto = ?', $this->id_produto);
		$Select->where('a.ds_chave_rn != ?', 'IS_DT_FINAL_COLHEITA');
		$Select->where('a.ds_chave_rn != ?', 'IS_PREMIO_PARCIAL');
		$Select->order('a.ds_ordem');

    	return Agro_Db_Table_Abstract::getDefaultAdapter()->fetchAll($Select);
	}

}