<?php

class Sinistro_Model_Ferramentas extends Agro_Db_Table_Abstract {
	protected $_rowClass = 'Sinistro_Model_Row_Processo';
	protected $_schema = 'sinistro';
	protected $_name = 'processos';
	protected $_view = 'v_processo_sinistro';
	protected $_primary = 'id';
	public $_order = 'dt_criacao_processo desc';



 public function mostrarEtiquetasEmitidas($propostas){

    	$sql = "select
					pro.id as Processo,
    			    seguro.id_proposta_mae(pro.id_proposta) as Proposta,
					p.nr_apolice as Apólice,
					pp.ds_nome_proponente as Segurado,
					e.ds_nome_fantasia as Vistoriador,
					c.ds_nome_corretor as Corretor,
					cu.ds_nome_cultura as Cultura,
					s.ds_nome_safra as Safra,
					(SELECT array_to_string(array(select to_char(sae.dt_criacao, 'DD/MM/YYYY') from sinistro.avisos_encerramento sae where sae.id_proposta = pro.id_proposta ORDER BY sae.dt_encerramento_colheita asc), ' - ')) as Encerramento
				from
					sinistro.processos pro inner join
					seguro.propostas p on p.id = pro.id_proposta inner join
    				seguro.propostas_endosso pen on p.id = pen.id_proposta and pen.fl_proposta_vigente=true inner join
					seguro.propostas_proponentes pp on pp.id_proposta = p.id inner join
					seguro.propostas_corretores pc on pc.id_proposta = p.id inner join
					produto.produtos prod on prod.id = p.id_produto inner join
					produto.produtos_geral pg on pg.id = prod.id_produto_geral inner join
					produto.culturas cu on cu.id = pg.id_cultura inner JOIN
					produto.safras s on s.id = prod.id_safra inner join
					sistema.corretores c on c.id_usuario = pc.id_usuario inner join
					sinistro.processos_empresas pe on pe.id_processo = pro.id inner join
					sistema.empresas e on e.id = pe.id_empresa
				where
					pro.fl_pasta_aberta = false";

    	$where = array();

    	foreach ($propostas as $key => $proposta){
    		if (is_numeric($proposta)){
    			$where[]=$proposta;
    		}
    	}

    	$sql.= " and p.id_endosso in (select id_endosso from seguro.propostas where id in (".implode(",", $where)."))";

    	$Row = Zend_Db_Table::getDefaultAdapter()->fetchAll($sql);

    	$Model = new Sinistro_Model_Processos();

    	try {
	    	foreach ($Row as $item){
	    		$Data = new Zend_Date();
	    		$User = Zend_Auth::getInstance()->getIdentity();

	    		$Processo = $Model->find($item["processo"])->current();
	    		$Processo->fl_pasta_aberta = true;
	    		$Processo->dt_abertura_pasta = $Data->get(Zend_Date::W3C);
	    		$Processo->id_responsavel_abertura_pasta = $User->id;

	    		$Processo->save();
	    	}

	    	$return = $Row;

    	} catch (Exception $e) {
    		$return = $e->getMessage();
    	}

    	return $return;
    }




}