<?php

class Relatorio_TecnicaController extends Agro_Controller_Report {

	public function init() {
		$this->view->title = 'Relatórios » Técnica » Relatórios disponíveis';
		ini_set('memory_limit','2048M');
	}
	
	public function vendasAction()
    {
        $this->getHelper('ViewRenderer')->setNoRender();
        $this->getHelper('layout')->disableLayout();

        $parametros = $this->getRequest()->getParams();
        $vendas = new Relatorio_Model_Tecnica();
        $rs = $vendas->relatorioVendas(
            $parametros['id_safra'],
            $parametros['id_produto'],
            $parametros['dt_inicio'],
            $parametros['dt_fim'],
            [],
            false,
            $parametros['fl_exibir_area_total']
        );

        $arr = array();
        $titleArea = !empty($parametros['fl_exibir_area_total']) ? 'Área' : 'Área Segurada';

        foreach ($rs as $row) {

            $tp_proposta = ($row['id_proposta_renovada'] > 0) ? 'R' : 'P';
            $ds_classe = 'NO';

            if ($row['ds_classe']) {
                $ds_classe = $row['ds_classe'];
            }

            $vl_premio_liquido = $row['valor_total'] - $row['vl_custo_apolice'];
            $ds_coordenadas = preg_replace('/\s/', ' ', $row['ds_coordenadas']);
            $ds_coordenadas = str_replace(';', ' - ', $ds_coordenadas);

            $arr[$row['id_proposta']]['id_proposta'] = $row['id_proposta'];
            $arr[$row['id_proposta']]['id_versao'] = $row['id_versao'];
            $arr[$row['id_proposta']]['id_secao'] = $row['id_secao'];
            $arr[$row['id_proposta']]['nr_endosso'] = $row['nr_endosso'];
            $arr[$row['id_proposta']]['id_proposta_mae'] = $row['id_proposta_mae'];
            $arr[$row['id_proposta']]['id_proposta_mae_completo'] = $row['id_proposta_mae_completo'];
            $arr[$row['id_proposta']]['id_proposta_composto'] = $row['id_proposta_composto'];
            $arr[$row['id_proposta']]['tp_proposta'] = $tp_proposta;
            $arr[$row['id_proposta']]['nr_apolice'] = $row['nr_apolice'];
            $arr[$row['id_proposta']]['id_proponente'] = $row['id_proponente'];
            $arr[$row['id_proposta']]['tipo_produto'] = $row['tipo_produto'];
            $arr[$row['id_proposta']]['ds_nome_preposto'] = $row['ds_nome_preposto'];
            $arr[$row['id_proposta']]['valor_franquia'] = $row['valor_franquia'];
            $arr[$row['id_proposta']]['ds_status'] = $row['ds_status'];
            $arr[$row['id_proposta']]['municipio_propriedade'] = $row['municipio_propriedade'];
            $arr[$row['id_proposta']]['nr_ibge'] = $row['nr_ibge'];
            $arr[$row['id_proposta']]['estado_propriedade'] = $row['estado_propriedade'];
            $arr[$row['id_proposta']]['ds_nome_fantasia'] = $row['ds_nome_fantasia'];
            $arr[$row['id_proposta']]['vl_comissao'] = $row['vl_comissao'];
            $arr[$row['id_proposta']]['ds_nome_produto'] = $row['ds_nome_produto'];
            $arr[$row['id_proposta']]['ds_nome_cultura'] = $row['ds_nome_cultura'];
            $arr[$row['id_proposta']]['total_area'] = $row['total_area'];
            $arr[$row['id_proposta']]['total_lmga'] = $row['total_lmga'];
            $arr[$row['id_proposta']]['vl_premio_tarifario'] = $row['premio_principal'];
            $arr[$row['id_proposta']]['premio_adicional'] = $row['premio_adicional'];
            $arr[$row['id_proposta']]['valor_total'] = $row['valor_total'];
            $arr[$row['id_proposta']]['vl_premio_liquido'] = $vl_premio_liquido;
            $arr[$row['id_proposta']]['valor_segurado'] = $row['valor_segurado'];
            $arr[$row['id_proposta']]['premio_pago_segurado'] = $row['premio_pago_segurado'];
            $arr[$row['id_proposta']]['vl_custo_apolice'] = $row['vl_custo_apolice'];
            $arr[$row['id_proposta']]['valor_subvencao_federal'] = $row['valor_subvencao_federal'];
            $arr[$row['id_proposta']]['valor_subvencao_estadual'] = $row['valor_subvencao_estadual'];
            $arr[$row['id_proposta']]['dt_vigencia_inicio_original'] = $row['dt_vigencia_inicio_original'];
            $arr[$row['id_proposta']]['dt_vigencia_inicio'] = $row['dt_vigencia_inicio'];
            $arr[$row['id_proposta']]['dt_vigencia_fim'] = $row['dt_vigencia_fim'];
            $arr[$row['id_proposta']]['dt_transmissao'] = $row['dt_transmissao'];
            $arr[$row['id_proposta']]['ds_coordenadas'] = $ds_coordenadas;
            $arr[$row['id_proposta']]['ds_classe'] = $ds_classe;
            $arr[$row['id_proposta']]['nu_boleto'] = $row['nu_boleto'];
            $arr[$row['id_proposta']]['id_proposta_renovada'] = $row['id_proposta_renovada'];
            $arr[$row['id_proposta']]['fl_pago'] = $row['fl_pago'];
            $arr[$row['id_proposta']]['vencto_primeira_parcela'] = $row['vencto_primeira_parcela'];
            $arr[$row['id_proposta']]['valor_primeira_parcela'] = $row['valor_primeira_parcela'];
            $arr[$row['id_proposta']]['ds_nome_safra'] = $row['ds_nome_safra'];
            $arr[$row['id_proposta']]['ds_nome_contrato'] = $row['ds_nome_contrato'];
            $arr[$row['id_proposta']]['subvencao_concedida'] = $row['subvencao_concedida'];
            $arr[$row['id_proposta']]['fl_boleto_pago'] = $row['fl_boleto_pago'];
            $arr[$row['id_proposta']]['quest_sub_estadual'] = $row['quest_sub_estadual'];

            $rs_cob = $vendas->getCoberturasAdicionais($row['id_proposta']);
            $i = 0;
            foreach ($rs_cob as $row2) {
                $arr[$row['id_proposta']]['cob_' . $i] = $row2['id_cobertura'];
                $i++;
            }

			$area = !empty($parametros['fl_exibir_area_total'])
				? $row['valor_area_sumario']
				: $row['total_area'];

			$calculoPE = $row['area_pe'] / $area;
			$calculoPEFormatado = number_format($calculoPE, 3, '.', ',');

			$arr[$row['id_proposta']]['pe'] = $calculoPEFormatado;
			$arr[$row['id_proposta']]['pg'] = $calculoPEFormatado;

            if ($row['is_pg']) {
                $calculoPG = $calculoPE * ($row['valor_franquia'] / 100);
                $arr[$row['id_proposta']]['pg'] = number_format($calculoPG, 3, '.', ',');
            }
        }

        $titles = array(
            'id_proposta_mae' => 'Proposta',
            'id_proposta_composto' => 'Proposta Completo',
            'tp_proposta' => 'Tipo Proposta',
            'nr_apolice' => 'Nro Apólice',
            'id_proponente' => 'ID Segurado',
            'tipo_produto' => 'Grupo',
            'ds_nome_preposto' => 'Preposto',
            'valor_franquia' => 'Franquia',
            'ds_status' => 'Status',
            'municipio_propriedade' => 'Município',
            'nr_ibge' => 'Cod. IBGE',
            'estado_propriedade' => 'UF',
            'ds_nome_fantasia' => 'Corretor',
            'vl_comissao' => 'Comissão corretor',
            'ds_nome_produto' => 'Produto',
            'ds_nome_cultura' => 'Cultura',
            'total_area' => $titleArea,
            'total_lmga' => 'LMGA',
            'vl_premio_tarifario' => 'Prêmio Tarifario',
            'premio_adicional' => 'Prêmio adicional',
            'valor_total' => 'Prêmio Total',
            'vl_premio_liquido' => 'Prêmio Líquido',
            'valor_segurado' => 'Prêmio Segurado',
            'premio_pago_segurado' => 'Prêmio Ganho do Segurado',
            'vl_custo_apolice' => 'Custo de Apólice',
            'valor_subvencao_federal' => 'Subsídio Federal',
            'subvencao_concedida' => 'Status Sub. Federal (endosso 0)',
            'valor_subvencao_estadual' => 'Subsídio Estadual',
            'quest_sub_estadual' => 'Status Sub. Estadual (endosso 0)',
            'dt_vigencia_inicio_original' => 'Início Vigência Original',
            'dt_vigencia_inicio' => 'Início Vigência',
            'dt_vigencia_fim' => 'Final Vigência',
            'valor_primeira_parcela' => 'Valor 1ª Parcela',
            'vencto_primeira_parcela' => 'Vencimento 1ª Parcela',
            'nu_boleto' => 'Nro. Boleto',
            'fl_boleto_pago' => 'Status Boleto',
            'cob_0' => 'Cob. Adicional 1',
            'cob_1' => 'Cob. Adicional 2',
            'cob_2' => 'Cob. Adicional 3',
            'cob_3' => 'Cob. Adicional 4',
            'cob_4' => 'Cob. Adicional 5',
            'cob_5' => 'Cob. Adicional 6',
            'ds_coordenadas' => 'Coordenada',
            'ds_classe' => 'ST',
            'id_proposta_renovada' => 'Proposta Renovada',
            'nr_endosso' => 'Endosso',
            'id_proposta' => 'Proposta do Endosso',
            'ds_nome_safra' => 'Safra',
            'ds_nome_contrato' => 'Contrato de Resseguro',
            'dt_transmissao' => 'Dt. Transmissão',
            'id_secao' => 'Seção'
        );

        if ($parametros['fl_exibir_produtividade']) {
            $titles['pe'] = 'PE';
            $titles['pg'] = 'PG';
        }

        $format = array(
            'id_proposta' => array('align' => 'center')
        );

        switch ($this->getRequest()->getParam('tipo')) {
            case 'excel':
                $csv = new Agro_Plugin_Rs2Csv();
                $csv->setRecordSet($arr);
                $csv->setType("application/octet-stream");
                $csv->setFileName("relatorio_vendas.csv");
                $csv->setDisposition("attachment");
                $csv->setTitles($titles);
                $csv->setSeparator(";");
                $csv->getCsv();

                break;
            case 'html':
                $html = new Agro_Plugin_Rs2Html();
                $html->setRecordSet($arr);
                $html->setTitles($titles);
                $html->setFormat($format);
                $html->getHtml();
                break;
        }
    }
	
	public function subvencaoconcedidasAction() {
	    
	    $this->getHelper('ViewRenderer')->setNoRender();
	    $this->getHelper('layout')->disableLayout();
	    
	    $Vendas = new Relatorio_Model_Tecnica();
	    $Rs = $Vendas->relatorioSubvencaoFederalEstadualConcedidas($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'), $this->getRequest()->getParam('dt_inicio'), $this->getRequest()->getParam('dt_fim'));
	    $arr = array();
	    
	    foreach($Rs as $Row){
	        $arr[$Row['id_proposta']]['id_proposta']              = $Row['id_proposta'];
	        $arr[$Row['id_proposta']]['id_proposta_mae']          = $Row['id_proposta_mae'];
	        $arr[$Row['id_proposta']]['nr_apolice']               = $Row['nr_apolice'];
	        $arr[$Row['id_proposta']]['ds_status']                = $Row['ds_status'];
	        $arr[$Row['id_proposta']]['valor_subvencao_federal']  = $Row['valor_subvencao_federal'];
	        $arr[$Row['id_proposta']]['valor_subvencao_estadual'] = $Row['valor_subvencao_estadual'];
	        $arr[$Row['id_proposta']]['subvencao_concedida']      = $Row['subvencao_concedida'];
	        $arr[$Row['id_proposta']]['quest_sub_estadual']       = $Row['quest_sub_estadual'];
	    }
	    
	    $titles = array(
	        'id_proposta_mae' => 'Proposta',
	        'nr_apolice' => 'Nro Apólice',
	        'ds_status' => 'Status',
	        'valor_subvencao_federal' => 'Subsídio Federal',
	        'subvencao_concedida' => 'Status Sub. Federal (endosso 0)',
	        'valor_subvencao_estadual' => 'Subsídio Estadual',
	        'quest_sub_estadual' => 'Status Sub. Estadual (endosso 0)'
	    );

	    switch ($this->getRequest()->getParam('tipo')) {
	        case 'excel':
	            $Csv = new Agro_Plugin_Rs2Csv();
	            $Csv->setRecordSet($arr);
	            $Csv->setType("application/octet-stream");
	            $Csv->setFileName("relatorio_subvencao_federal_estadual_concedidas.csv");
	            $Csv->setDisposition("attachment");
	            $Csv->setTitles($titles);
	            $Csv->setSeparator(";");
	            $Csv->getCsv();
	            
	            break;
	        case 'html':
	            $Html = new Agro_Plugin_Rs2Html();
	            $Html->setRecordSet($arr);
	            $Html->setTitles($titles);
	            $Html->setFormat($format);
	            $Html->getHtml();
	            break;
	    }
	}

	public function arrozinundacaoAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$model = new Relatorio_Model_Tecnica();

		$rs = $model->relatorioArrozInundacao($this->getRequest()->getParam('id_safra'));
		$arr = array();
	
		foreach($rs as $Row){
			$tp_proposta = ($Row['id_proposta_renovada'] > 0 ) ? 'R' : 'P';
	
			$ds_classe = 'NO';
			if($Row['ds_classe']){
				$ds_classe = $Row['ds_classe'];
			}
	
			$vl_premio_liquido   = $Row['valor_total'] - $Row['vl_custo_apolice'];
			$vl_premio_tarifario = $vl_premio_liquido;
	
			$ds_coordenadas = preg_replace('/\s/',' ',$Row['ds_coordenadas']);
			$ds_coordenadas = str_replace(';',' - ',$ds_coordenadas);
	
			$arr[$Row['id_proposta']]['id_proposta']              = $Row['id_proposta'];
			$arr[$Row['id_proposta']]['id_versao']                = $Row['id_versao'];
			$arr[$Row['id_proposta']]['id_secao']                 = $Row['id_secao'];
			$arr[$Row['id_proposta']]['nr_endosso']               = $Row['nr_endosso'];
			$arr[$Row['id_proposta']]['id_proposta_mae']          = $Row['id_proposta_mae'];
			$arr[$Row['id_proposta']]['id_proposta_mae_completo'] = $Row['id_proposta_mae_completo'];
			$arr[$Row['id_proposta']]['id_proposta_composto']     = $Row['id_proposta_composto'];
			$arr[$Row['id_proposta']]['tp_proposta']              = $tp_proposta;
			$arr[$Row['id_proposta']]['nr_apolice']               = $Row['nr_apolice'];
			$arr[$Row['id_proposta']]['id_proponente']            = $Row['id_proponente'];
			$arr[$Row['id_proposta']]['ds_nome_preposto']         = $Row['ds_nome_preposto'];
			$arr[$Row['id_proposta']]['valor_franquia']           = $Row['valor_franquia'];
			$arr[$Row['id_proposta']]['ds_status']                = $Row['ds_status'];
			$arr[$Row['id_proposta']]['municipio_propriedade']    = $Row['municipio_propriedade'];
			$arr[$Row['id_proposta']]['nr_ibge']                  = $Row['nr_ibge'];
			$arr[$Row['id_proposta']]['estado_propriedade']       = $Row['estado_propriedade'];
			$arr[$Row['id_proposta']]['ds_nome_fantasia']         = $Row['ds_nome_fantasia'];
			$arr[$Row['id_proposta']]['vl_comissao']              = $Row['vl_comissao'];
			$arr[$Row['id_proposta']]['ds_nome_produto']          = $Row['ds_nome_produto'];
			$arr[$Row['id_proposta']]['ds_nome_cultura']          = $Row['ds_nome_cultura'];
			$arr[$Row['id_proposta']]['total_area']               = $Row['total_area'];
			$arr[$Row['id_proposta']]['total_lmga']               = $Row['total_lmga'];
			$arr[$Row['id_proposta']]['vl_premio_tarifario']      = $Row['premio_principal'];
			$arr[$Row['id_proposta']]['premio_adicional']         = $Row['premio_adicional'];
			$arr[$Row['id_proposta']]['valor_total']              = $Row['valor_total'];
			$arr[$Row['id_proposta']]['vl_premio_liquido']        = $vl_premio_liquido;
			$arr[$Row['id_proposta']]['valor_segurado']           = $Row['valor_segurado'];
			$arr[$Row['id_proposta']]['premio_pago_segurado']     = $Row['premio_pago_segurado'];
			$arr[$Row['id_proposta']]['vl_custo_apolice']         = $Row['vl_custo_apolice'];
			$arr[$Row['id_proposta']]['valor_subvencao_federal']  = $Row['valor_subvencao_federal'];
			$arr[$Row['id_proposta']]['valor_subvencao_estadual'] = $Row['valor_subvencao_estadual'];
			$arr[$Row['id_proposta']]['dt_vigencia_inicio_original'] = $Row['dt_vigencia_inicio_original'];
			$arr[$Row['id_proposta']]['dt_vigencia_inicio']       = $Row['dt_vigencia_inicio'];
			$arr[$Row['id_proposta']]['dt_vigencia_fim']          = $Row['dt_vigencia_fim'];
			$arr[$Row['id_proposta']]['dt_transmissao']           = $Row['dt_transmissao'];
			$arr[$Row['id_proposta']]['ds_coordenadas']           = $ds_coordenadas;
			$arr[$Row['id_proposta']]['ds_classe']                = $ds_classe;
			$arr[$Row['id_proposta']]['nu_boleto']                = $Row['nu_boleto'];
			$arr[$Row['id_proposta']]['id_proposta_renovada']     = $Row['id_proposta_renovada'];
			$arr[$Row['id_proposta']]['fl_pago']                  = $Row['fl_pago'];
			$arr[$Row['id_proposta']]['vencto_primeira_parcela']  = $Row['vencto_primeira_parcela'];
			$arr[$Row['id_proposta']]['valor_primeira_parcela']   = $Row['valor_primeira_parcela'];
			$arr[$Row['id_proposta']]['quest_pronamp']            = $Row['quest_pronamp'];
			$arr[$Row['id_proposta']]['quest_organico']           = $Row['quest_organico'];
			$arr[$Row['id_proposta']]['subvencao_concedida']      = $Row['subvencao_concedida'];
			$arr[$Row['id_proposta']]['fl_boleto_pago']           = $Row['fl_boleto_pago'];
			$arr[$Row['id_proposta']]['quest_sub_estadual']       = $Row['quest_sub_estadual'];
			$arr[$Row['id_proposta']]['dt_prazo_aceitacao']       = $Row['dt_prazo_aceitacao'];
			$arr[$Row['id_proposta']]['status_proposta_mae']      = $Row['status_proposta_mae'];
			$arr[$Row['id_proposta']]['status_vistoria_previa']   = preg_replace( "/\r|\n/", " ", $Row['status_vistoria_previa']);
			$arr[$Row['id_proposta']]['informacoes_adicionais']   = preg_replace( "/\r|\n/", " ", $Row['informacoes_adicionais']);
	
			$Rs_cob = $model->getCoberturasAdicionais($Row['id_proposta']);
			$i = 0;
			foreach($Rs_cob as $row2){
				$arr[$Row['id_proposta']]['cob_'.$i] = $row2['id_cobertura'];
				$i++;
			}
		}

		$titles = array(
				'id_proposta_mae' => 'Proposta',
				'id_proposta_composto' => 'Proposta Completo',
				'tp_proposta' => 'Tipo Proposta',
				'nr_apolice' => 'Nro Apólice',
				'id_proponente' => 'ID Segurado',
				'ds_nome_preposto' => 'Preposto',
				'valor_franquia' => 'Franquia',
				'ds_status' => 'Status',
				'municipio_propriedade' => 'Município',
				'nr_ibge' => 'Cod. IBGE',
				'estado_propriedade' => 'UF',
				'ds_nome_fantasia' => 'Corretor',
				'vl_comissao' => 'Comissão corretor',
				'ds_nome_produto' => 'Produto',
				'ds_nome_cultura' => 'Cultura',
				'total_area' => 'Área',
				'total_lmga' => 'LMGA',
				'vl_premio_tarifario' => 'Prêmio Tarifario',
				'premio_adicional' => 'Prêmio adicional',
				'valor_total' => 'Prêmio Total',
				'vl_premio_liquido' => 'Prêmio Líquido',
				'valor_segurado' => 'Prêmio Segurado',
				'premio_pago_segurado' => 'Prêmio Ganho do Segurado',
				'vl_custo_apolice' => 'Custo de Apólice',
				'valor_subvencao_federal' => 'Subsídio Federal',
				'subvencao_concedida' => 'Status Sub. Federal (endosso 0)',
				'valor_subvencao_estadual' => 'Subsídio Estadual',
				'quest_sub_estadual' => 'Status Sub. Estadual (endosso 0)',
				'dt_vigencia_inicio_original' => 'Início Vigência Original',
				'dt_vigencia_inicio' => 'Início Vigência',
				'dt_vigencia_fim' => 'Final Vigência',
				'valor_primeira_parcela' => 'Valor 1ª Parcela',
				'vencto_primeira_parcela' => 'Vencimento 1ª Parcela',
				'nu_boleto' => 'Nro. Boleto',
				'fl_boleto_pago' => 'Status Boleto',
				'cob_0' => 'Cob. Adicional 1',
				'cob_1' => 'Cob. Adicional 2',
				'cob_2' => 'Cob. Adicional 3',
				'cob_3' => 'Cob. Adicional 4',
				'cob_4' => 'Cob. Adicional 5',
				'ds_coordenadas' => 'Coordenada',
				'ds_classe' => 'ST',
				'id_proposta_renovada' => 'Proposta Renovada',
				'nr_endosso' => 'Endosso',
				'id_proposta' => 'Proposta do Endosso',
				'quest_pronamp' => 'Pronamp',
				'quest_organico' => 'Orgânico',
				'dt_transmissao' => 'Dt. Transmissão',
				'id_secao' => 'Seção',
				'informacoes_adicionais' => 'Informações Adicionais',
				'dt_prazo_aceitacao' => 'Prazo de Aceitação',
				'status_proposta_mae' => 'Status Proposta',
				'status_vistoria_previa' => 'Status Vistoria Prévia',
		);

		$format = array(
				'id_proposta' => array('align' => 'center')
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($arr);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_arroz_inundacao.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();
	
				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($arr);
				$Html->setTitles($titles);
				$Html->setFormat($format);
				$Html->getHtml();
				break;
		}
	}

	public function vendascompletoAction() {
	
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();
	
		$Vendas = new Relatorio_Model_Tecnica();
		$Rs = $Vendas->relatorioVendasCompleto($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'), $this->getRequest()->getParam('dt_inicio'), $this->getRequest()->getParam('dt_fim'));
		$arr = array();
	
		foreach($Rs as $Row){
			$tp_proposta = ($Row['id_proposta_renovada'] > 0 ) ? 'R' : 'P';
	
			$ds_classe = 'NO';
			if($Row['ds_classe']){
				$ds_classe = $Row['ds_classe'];
			}
	
			$vl_premio_liquido   = $Row['valor_total'] - $Row['vl_custo_apolice'];
			$vl_premio_tarifario = $vl_premio_liquido;
	
			$ds_coordenadas = preg_replace('/\s/',' ',$Row['ds_coordenadas']);
			$ds_coordenadas = str_replace(';',' - ',$ds_coordenadas);
	
			$arr[$Row['id_proposta']]['id_proposta']              = $Row['id_proposta'];
			$arr[$Row['id_proposta']]['id_versao']                = $Row['id_versao'];
			$arr[$Row['id_proposta']]['id_secao']                 = $Row['id_secao'];
			$arr[$Row['id_proposta']]['nr_endosso']               = $Row['nr_endosso'];
			$arr[$Row['id_proposta']]['id_proposta_mae']          = $Row['id_proposta_mae'];
			$arr[$Row['id_proposta']]['id_proposta_mae_completo'] = $Row['id_proposta_mae_completo'];
			$arr[$Row['id_proposta']]['id_proposta_composto']     = $Row['id_proposta_composto'];
			$arr[$Row['id_proposta']]['tp_proposta']              = $tp_proposta;
			$arr[$Row['id_proposta']]['nr_apolice']               = $Row['nr_apolice'];
			$arr[$Row['id_proposta']]['ds_nome_proponente']       = $Row['ds_nome_proponente'];
			$arr[$Row['id_proposta']]['cpf_cnpj']                 = $Row['cpf_cnpj'];
			$arr[$Row['id_proposta']]['ds_nome_preposto']         = $Row['ds_nome_preposto'];
			$arr[$Row['id_proposta']]['valor_franquia']           = $Row['valor_franquia'];
			$arr[$Row['id_proposta']]['ds_status']                = $Row['ds_status'];
			$arr[$Row['id_proposta']]['municipio_propriedade']    = $Row['municipio_propriedade'];
			$arr[$Row['id_proposta']]['nr_ibge']                  = $Row['nr_ibge'];
			$arr[$Row['id_proposta']]['estado_propriedade']       = $Row['estado_propriedade'];
			$arr[$Row['id_proposta']]['ds_nome_fantasia']         = $Row['ds_nome_fantasia'];
			$arr[$Row['id_proposta']]['vl_comissao']              = $Row['vl_comissao'];
			$arr[$Row['id_proposta']]['ds_nome_produto']          = $Row['ds_nome_produto'];
			$arr[$Row['id_proposta']]['ds_nome_cultura']          = $Row['ds_nome_cultura'];
			$arr[$Row['id_proposta']]['total_area']               = $Row['total_area'];
			$arr[$Row['id_proposta']]['total_lmga']               = $Row['total_lmga'];
			$arr[$Row['id_proposta']]['vl_premio_tarifario']      = $Row['premio_principal'];
			$arr[$Row['id_proposta']]['premio_adicional']         = $Row['premio_adicional'];
			$arr[$Row['id_proposta']]['valor_total']              = $Row['valor_total'];
			$arr[$Row['id_proposta']]['vl_premio_liquido']        = $vl_premio_liquido;
			$arr[$Row['id_proposta']]['valor_segurado']           = $Row['valor_segurado'];
			$arr[$Row['id_proposta']]['premio_pago_segurado']     = $Row['premio_pago_segurado'];
			$arr[$Row['id_proposta']]['vl_custo_apolice']         = $Row['vl_custo_apolice'];
			$arr[$Row['id_proposta']]['valor_subvencao_federal']  = $Row['valor_subvencao_federal'];
			$arr[$Row['id_proposta']]['valor_subvencao_estadual'] = $Row['valor_subvencao_estadual'];
			$arr[$Row['id_proposta']]['dt_vigencia_inicio_original'] = $Row['dt_vigencia_inicio_original'];
			$arr[$Row['id_proposta']]['dt_vigencia_inicio']       = $Row['dt_vigencia_inicio'];
			$arr[$Row['id_proposta']]['dt_vigencia_fim']          = $Row['dt_vigencia_fim'];
			$arr[$Row['id_proposta']]['dt_transmissao']           = $Row['dt_transmissao'];
			$arr[$Row['id_proposta']]['ds_coordenadas']           = $ds_coordenadas;
			$arr[$Row['id_proposta']]['ds_classe']                = $ds_classe;
			$arr[$Row['id_proposta']]['nu_boleto']                = $Row['nu_boleto'];
			$arr[$Row['id_proposta']]['id_proposta_renovada']     = $Row['id_proposta_renovada'];
			$arr[$Row['id_proposta']]['fl_pago']                  = $Row['fl_pago'];
			$arr[$Row['id_proposta']]['vencto_primeira_parcela']  = $Row['vencto_primeira_parcela'];
			$arr[$Row['id_proposta']]['valor_primeira_parcela']   = $Row['valor_primeira_parcela'];
			$arr[$Row['id_proposta']]['quest_pronamp']            = $Row['quest_pronamp'];
			$arr[$Row['id_proposta']]['quest_organico']           = $Row['quest_organico'];
			$arr[$Row['id_proposta']]['subvencao_concedida']      = $Row['subvencao_concedida'];
			$arr[$Row['id_proposta']]['fl_boleto_pago']           = $Row['fl_boleto_pago'];
			$arr[$Row['id_proposta']]['quest_sub_estadual']       = $Row['quest_sub_estadual'];
	
			$Rs_cob = $Vendas->getCoberturasAdicionais($Row['id_proposta']);
			$i = 0;
			foreach($Rs_cob as $row2){
				$arr[$Row['id_proposta']]['cob_'.$i] = $row2['id_cobertura'];
				$i++;
			}
		}
	
		$titles = array(
				'id_proposta_mae' => 'Proposta',
				'id_proposta_composto' => 'Proposta Completo',
				'tp_proposta' => 'Tipo Proposta',
				'nr_apolice' => 'Nro Apólice',
				'ds_nome_proponente' => 'Segurado',
				'cpf_cnpj' => 'CPF/CNPJ',
				'ds_nome_preposto' => 'Preposto',
				'valor_franquia' => 'Franquia',
				'ds_status' => 'Status',
				'municipio_propriedade' => 'Município',
				'nr_ibge' => 'Cod. IBGE',
				'estado_propriedade' => 'UF',
				'ds_nome_fantasia' => 'Corretor',
				'vl_comissao' => 'Comissão corretor',
				'ds_nome_produto' => 'Produto',
				'ds_nome_cultura' => 'Cultura',
				'total_area' => 'Área',
				'total_lmga' => 'LMGA',
				'vl_premio_tarifario' => 'Prêmio Tarifario',
				'premio_adicional' => 'Prêmio adicional',
				'valor_total' => 'Prêmio Total',
				'vl_premio_liquido' => 'Prêmio Líquido',
				'valor_segurado' => 'Prêmio Segurado',
				'premio_pago_segurado' => 'Prêmio Ganho do Segurado',
				'vl_custo_apolice' => 'Custo de Apólice',
				'valor_subvencao_federal' => 'Subsídio Federal',
				'subvencao_concedida' => 'Status Sub. Federal (endosso 0)',
				'valor_subvencao_estadual' => 'Subsídio Estadual',
				'quest_sub_estadual' => 'Status Sub. Estadual (endosso 0)',
				'dt_vigencia_inicio_original' => 'Início Vigência Original',
				'dt_vigencia_inicio' => 'Início Vigência',
				'dt_vigencia_fim' => 'Final Vigência',
				'valor_primeira_parcela' => 'Valor 1ª Parcela',
				'vencto_primeira_parcela' => 'Vencimento 1ª Parcela',
				'nu_boleto' => 'Nro. Boleto',
				'fl_boleto_pago' => 'Status Boleto',
				'cob_0' => 'Cob. Adicional 1',
				'cob_1' => 'Cob. Adicional 2',
				'cob_2' => 'Cob. Adicional 3',
				'cob_3' => 'Cob. Adicional 4',
				'cob_4' => 'Cob. Adicional 5',
				'ds_coordenadas' => 'Coordenada',
				'ds_classe' => 'ST',
				'id_proposta_renovada' => 'Proposta Renovada',
				'nr_endosso' => 'Endosso',
				'id_proposta' => 'Proposta do Endosso',
				'quest_pronamp' => 'Pronamp',
				'quest_organico' => 'Orgânico',
				'dt_transmissao' => 'Dt. Transmissão',
				'id_secao' => 'Seção'
		);
	
		$format = array(
				'id_proposta' => array('align' => 'center')
		);
	
		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($arr);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_vendas.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();
	
				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($arr);
				$Html->setTitles($titles);
				$Html->setFormat($format);
				$Html->getHtml();
				break;
		}
	}

    /**
     * Relatório de Dados de Prorrogação
     * Id: 1884
     * @return void
     */
	public function dadosprorrogacaoAction()
    {
        $this->getHelper('ViewRenderer')->setNoRender();
        $this->getHelper('layout')->disableLayout();

        $rs = (new Relatorio_Model_Tecnica())->dadosProrrogacao(
            $this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_status')
        );

        $titles = array(
            'id_proposta' => 'Proposta',
            'id_proposta_completa' => 'Proposta Completo',
            'nr_apolice' => 'Apólice',
            'segurado' => 'Segurado',
            'cpf_cnpj' => 'CPF/CNPJ',
            'endereco_cep' => 'CEP Segurado',
            'endereco' => 'Endereço Segurado',
            'endereco_bairro' => 'Bairro Segurado',
            'cidade' => 'Cidade Segurado',
            'uf' => 'UF Segurado',
            'email_proprio' => 'E-mail Próprio?',
            'email' => 'E-mail Segurado'
        );

        $format = array(
            'id_proposta' => array('align' => 'center')
        );

        switch ($this->getRequest()->getParam('tipo')) {
            case 'excel':
                $csv = new Agro_Plugin_Rs2Csv();
                $csv->setRecordSet($rs);
                $csv->setType("application/octet-stream");
                $csv->setFileName("relatorio_dados_prorrogacao.csv");
                $csv->setDisposition("attachment");
                $csv->setTitles($titles);
                $csv->setSeparator(";");
                $csv->getCsv();

                break;
            case 'html':
                $html = new Agro_Plugin_Rs2Html();
                $html->setRecordSet($rs);
                $html->setTitles($titles);
                $html->setFormat($format);
                $html->getHtml();
                break;
        }
    }

	public function dadosprorrogacaoorcamentoAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();
		
		$Vendas = new Relatorio_Model_Tecnica();
		//traz somente os dados da prorrocagão que possuem propostas com o status "Orçamento não enviado"
		$Rs = $Vendas->dadosProrrogacao($this->getRequest()->getParam('id_safra'), 2);

		$titles = array(
			'id_proposta' => 'Proposta',
			'id_proposta_completa' => 'Proposta Completo',
			'nr_apolice' => 'Apólice',
			'segurado' => 'Segurado',
			'cpf_cnpj' => 'CPF/CNPJ',
			'endereco_cep' => 'CEP Segurado',
			'endereco' => 'Endereço Segurado',
			'endereco_bairro' => 'Bairro Segurado',
			'cidade' => 'Cidade Segurado',
			'uf' => 'UF Segurado',
			'email' => 'E-mail Segurado'
		);

		$format = array(
			'id_proposta' => array('align' => 'center')
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($Rs);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_dados_prorrogacao.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($Rs);
				$Html->setTitles($titles);
				$Html->setFormat($format);
				$Html->getHtml();
				break;
		}
	}

    /**
     * ID: 1876 - Relatório de Vendas - Item
     * @return void
     */
	public function vendasitemAction()
    {
        $this->getHelper('ViewRenderer')->setNoRender();
        $this->getHelper('layout')->disableLayout();

        $vendas = new Relatorio_Model_Tecnica();

        $rs = $vendas->relatorioVendasItem(
            $this->getRequest()->getParam('id_safra'),
            $this->getRequest()->getParam('id_produto'),
            $this->getRequest()->getParam('dt_inicio'),
            $this->getRequest()->getParam('dt_fim')
        );

        $arr = [];
        $propostasTalhoes = [];

        if (!empty($rs)) {
            $rowsCroquisTalhoes = $vendas->propostasCroquisTalhoes($this->getRequest()->getParams());
            $idsEndosso = [];
            $controleMaiorPoligonoRepetido = [];

            foreach ($rs as $row) {
                $idsEndosso[$row['id_endosso']] = $row['id_endosso'];
            }

            $mapCroquisTalhoesToEndossoNrItem = $vendas->mapCroquisTalhoesToEndossoNrItem($idsEndosso);

            foreach ($rowsCroquisTalhoes as $row) {
                $numeroCoordendasPoligono = count(json_decode($row['ds_coordenadas'], true));

                /*
                 * Controle feito para casos antigos, onde um polígono foi vinculado a mais de um item. Neste caso,
                 * pegamos o que possui mais coordenadas para mostrar o centroide
                 */
                if (
                    isset($controleMaiorPoligonoRepetido[$row['ds_item_segurado']])
                    && $numeroCoordendasPoligono < $controleMaiorPoligonoRepetido[$row['ds_item_segurado']]
                ) {
                    continue;
                }

                $controleMaiorPoligonoRepetido[$row['ds_item_segurado']] = $numeroCoordendasPoligono;
                $dadosCroquiTalhao = new stdClass();
                $dadosCroquiTalhao->ds_item_segurado = $row['ds_item_segurado'];
                $dadosCroquiTalhao->ds_coordenadas_centroide = $row['ds_coordenadas_centroide'];
                $propostasTalhoes[$row['id_proposta']][] = $dadosCroquiTalhao;
            }
        }

        foreach ($rs as $row) {

            $dsCoordenadas = preg_replace('/\s/', ' ', $row['ds_coordenadas']);
            $dsCoordenadas = str_replace(';', ' - ', $dsCoordenadas);
            $premioTarifario = Agro_Util::round((($row['vl_lmga_item'] * $row['taxa_proposta']) / 100));

            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['id_proposta'] = $row['id_proposta'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['id_versao'] = $row['id_versao'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['nr_endosso'] = $row['nr_endosso'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['id_proposta_mae'] = $row['id_proposta_mae'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['id_proposta_mae_completo'] = $row['id_proposta_mae_completo'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['id_proposta_composto'] = $row['id_proposta_composto'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['tp_proposta'] = ($row['id_proposta_renovada'] > 0)
                ? 'R'
                : 'P';
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['nr_apolice'] = $row['nr_apolice'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['id_proponente'] = $row['id_proponente'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['tipo_produto'] = $row['tipo_produto'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['ds_nome_preposto'] = $row['ds_nome_preposto'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['valor_franquia'] = $row['valor_franquia'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['ds_status'] = $row['ds_status'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['municipio_propriedade'] = $row['municipio_propriedade'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['nr_ibge'] = $row['nr_ibge'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['estado_propriedade'] = $row['estado_propriedade'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['ds_nome_fantasia'] = $row['ds_nome_fantasia'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['vl_comissao'] = $row['vl_comissao'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['ds_nome_produto'] = $row['ds_nome_produto'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['ds_nome_cultura'] = $row['ds_nome_cultura'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['nr_item_segurado'] = $row['nr_item_segurado'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['area_item'] = $row['area_item'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['total_lmga'] = $row['total_lmga'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['vl_lmga_item'] = $row['vl_lmga_item'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['vl_premio_tarifario'] = number_format(
                $premioTarifario,
                2,
                '.',
                ''
            );
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['valor_segurado'] = $row['valor_segurado'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['premio_pago_segurado'] = $row['premio_pago_segurado'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['vl_custo_apolice'] = $row['vl_custo_apolice'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['valor_subvencao_federal'] = $row['valor_subvencao_federal'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['valor_subvencao_estadual'] = $row['valor_subvencao_estadual'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['dt_vigencia_inicio_original'] = $row['dt_vigencia_inicio_original'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['dt_vigencia_inicio'] = $row['dt_vigencia_inicio'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['dt_vigencia_fim'] = $row['dt_vigencia_fim'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['dt_transmissao'] = $row['dt_transmissao'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['ds_coordenadas'] = $dsCoordenadas;
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['ds_classe'] = $row['ds_classe'] ?? 'NO';
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['nu_boleto'] = $row['nu_boleto'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['id_proposta_renovada'] = $row['id_proposta_renovada'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['fl_pago'] = $row['fl_pago'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['vencto_primeira_parcela'] = $row['vencto_primeira_parcela'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['valor_primeira_parcela'] = $row['valor_primeira_parcela'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['quest_pronamp'] = $row['quest_pronamp'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['quest_organico'] = $row['quest_organico'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['subvencao_concedida'] = $row['subvencao_concedida'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['fl_boleto_pago'] = $row['fl_boleto_pago'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['quest_sub_estadual'] = $row['quest_sub_estadual'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['ds_nome_variedade'] = $row['ds_nome_variedade'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['sistema_plantio'] = $row['sistema_plantio'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['primeiro_ano_plantio'] = $row['primeiro_ano_plantio'];

            $rsCob = $vendas->getCoberturasAdicionais($row['id_proposta']);

            $i = 0;
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['premio_adicional'] = 0;

            foreach ($rsCob as $row2) {
                $arr[$row['id_proposta'] . $row['nr_item_segurado']]['premio_adicional'] += Agro_Util::round(
                    (($row2['vl_taxa'] * $row['vl_lmga_item']) / 100)
                );
                $arr[$row['id_proposta'] . $row['nr_item_segurado']]['cob_' . $i] = $row2['id_cobertura'];
                $i++;
            }

            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['premio_adicional'] = number_format(
                $arr[$row['id_proposta'] . $row['nr_item_segurado']]['premio_adicional'],
                2,
                '.',
                ''
            );

            $total = $premioTarifario + $arr[$row['id_proposta'] . $row['nr_item_segurado']]['premio_adicional'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['valor_total'] = $total + $row['vl_custo_apolice'];
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['vl_premio_liquido'] = $total;

            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['valor_total'] = number_format(
                $arr[$row['id_proposta'] . $row['nr_item_segurado']]['valor_total'],
                2,
                '.',
                ''
            );
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['vl_premio_liquido'] = number_format(
                $arr[$row['id_proposta'] . $row['nr_item_segurado']]['vl_premio_liquido'],
                2,
                '.',
                ''
            );
            $arr[$row['id_proposta'] . $row['nr_item_segurado']]['ds_coordenadas_centroide'] = '';

            if (array_key_exists($row['id_proposta'], $propostasTalhoes)) {
                foreach ($propostasTalhoes[$row['id_proposta']] as $talhao) {
                    $idsItemSegurado = explode(',', $talhao->ds_item_segurado);

                    if (
                        in_array($row['id_item_segurado'], $idsItemSegurado)
                        && !empty($talhao->ds_coordenadas_centroide)
                    ) {
                        $arr[$row['id_proposta'] . $row['nr_item_segurado']]['ds_coordenadas_centroide'] = $talhao->ds_coordenadas_centroide;
                        break;
                    }
                }
            } elseif (
                !empty($mapCroquisTalhoesToEndossoNrItem[$row['id_endosso']])
                && !empty($mapCroquisTalhoesToEndossoNrItem[$row['id_endosso']][$row['nr_item_segurado']])
            ) {
                $arr[$row['id_proposta'] . $row['nr_item_segurado']]['ds_coordenadas_centroide']
                    = $mapCroquisTalhoesToEndossoNrItem[$row['id_endosso']][$row['nr_item_segurado']];
            }

        }

        $titles = array(
            'id_proposta_mae' => 'Proposta',
            'id_proposta_mae_completo' => 'Proposta Completo',
            'tp_proposta' => 'Tipo Proposta',
            'nr_apolice' => 'Nro Apólice',
            'id_proponente' => 'ID Segurado',
            'tipo_produto' => 'Grupo',
            'ds_nome_preposto' => 'Preposto',
            'valor_franquia' => 'Franquia',
            'ds_status' => 'Status',
            'municipio_propriedade' => 'Município',
            'nr_ibge' => 'Cod. IBGE',
            'estado_propriedade' => 'UF',
            'ds_nome_fantasia' => 'Corretor',
            'vl_comissao' => 'Comissão corretor',
            'ds_nome_produto' => 'Produto',
            'ds_nome_cultura' => 'Cultura',
            'nr_item_segurado' => 'Item',
            'area_item' => 'Área',
            'vl_lmga_item' => 'LMGA',
            'vl_premio_tarifario' => 'Prêmio Tarifario',
            'premio_adicional' => 'Prêmio adicional',
            'valor_total' => 'Prêmio Total',
            'vl_premio_liquido' => 'Prêmio Líquido',
            'valor_segurado' => 'Prêmio Segurado',
            'premio_pago_segurado' => 'Prêmio Ganho do Segurado',
            'vl_custo_apolice' => 'Custo de Apólice',
            'valor_subvencao_federal' => 'Subsídio Federal',
            'subvencao_concedida' => 'Status Sub. Federal (endosso 0)',
            'valor_subvencao_estadual' => 'Subsídio Estadual',
            'quest_sub_estadual' => 'Status Sub. Estadual (endosso 0)',
            'dt_vigencia_inicio_original' => 'Início Vigência Original',
            'dt_vigencia_inicio' => 'Início Vigência',
            'dt_vigencia_fim' => 'Final Vigência',
            'valor_primeira_parcela' => 'Valor 1ª Parcela',
            'vencto_primeira_parcela' => 'Vencimento 1ª Parcela',
            'nu_boleto' => 'Nro. Boleto',
            'fl_boleto_pago' => 'Status Boleto',
            'cob_0' => 'Cob. Adicional 1',
            'cob_1' => 'Cob. Adicional 2',
            'cob_2' => 'Cob. Adicional 3',
            'cob_3' => 'Cob. Adicional 4',
            'cob_4' => 'Cob. Adicional 5',
            'ds_coordenadas_centroide' => 'Centroide',
            'ds_classe' => 'ST',
            'id_proposta_renovada' => 'Proposta Renovada',
            'nr_endosso' => 'Endosso',
            'id_proposta' => 'Proposta do Endosso',
            'quest_pronamp' => 'Pronamp',
            'quest_organico' => 'Orgânico',
            'dt_transmissao' => 'Dt. Transmissão',
            'ds_nome_variedade' => 'Variedade',
            'sistema_plantio' => 'Sistema de Plantio',
            'primeiro_ano_plantio' => '1º Ano de Plantio?',
        );

        $format = array(
            'id_proposta' => array('align' => 'center')
        );

        switch ($this->getRequest()->getParam('tipo')) {
            case 'excel':
                $csv = new Agro_Plugin_Rs2Csv();
                $csv->setRecordSet($arr);
                $csv->setType("application/octet-stream");
                $csv->setFileName("relatorio_vendas_item.csv");
                $csv->setDisposition("attachment");
                $csv->setTitles($titles);
                $csv->setSeparator(";");
                $csv->getCsv();

                break;
            case 'html':
                $html = new Agro_Plugin_Rs2Html();
                $html->setRecordSet($arr);
                $html->setTitles($titles);
                $html->setFormat($format);
                $html->getHtml();
                break;
        }
    }

	public function relatoriodadospropriedadeAction() {

		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Vendas = new Relatorio_Model_Tecnica();
		$Rs = $Vendas->relatorioDadosPropriedade($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'), $this->getRequest()->getParam('dt_inicio'), $this->getRequest()->getParam('dt_fim'));
		$arr = array();

		foreach($Rs as $Row){
			if($Row['tp_usuario'] == 'P'){
				$ds_nome_preposto = $Vendas->getPrepostoProposta($Row['id_usuario_criacao']);
			} else {
				$ds_nome_preposto = '';
			}

			$vl_premio_liquido   = $Row['valor_total'] - $Row['vl_custo_apolice'];

			$arr[$Row['id_proposta']]['id_proposta']              = $Row['id_proposta'];
			$arr[$Row['id_proposta']]['tp_proposta']              = $Row['tp_segurado'];
			$arr[$Row['id_proposta']]['nr_apolice']               = $Row['nr_apolice'];
			$arr[$Row['id_proposta']]['id_proponente']            = $Row['id_proponente'];
			$arr[$Row['id_proposta']]['tp_segurado']              = $Row['tp_segurado'];
			$arr[$Row['id_proposta']]['ds_nome_preposto']         = $ds_nome_preposto;
			$arr[$Row['id_proposta']]['valor_franquia']           = $Row['tp_segurado'];
			$arr[$Row['id_proposta']]['ds_status']                = $Row['ds_status'];
			$arr[$Row['id_proposta']]['municipio_propriedade']    = $Row['municipio_propriedade'];
			$arr[$Row['id_proposta']]['nr_ibge']                  = $Row['nr_ibge'];
			$arr[$Row['id_proposta']]['estado_propriedade']       = $Row['estado_propriedade'];
			$arr[$Row['id_proposta']]['ds_nome_fantasia']         = $Row['ds_nome_fantasia'];
			$arr[$Row['id_proposta']]['vl_comissao']              = $Row['vl_comissao'];
			$arr[$Row['id_proposta']]['ds_nome_produto']          = $Row['ds_nome_produto'];
			$arr[$Row['id_proposta']]['ds_nome_cultura']          = $Row['ds_nome_cultura'];
			$arr[$Row['id_proposta']]['total_area']               = $Row['total_area'];
			$arr[$Row['id_proposta']]['total_lmga']               = $Row['total_lmga'];
			$arr[$Row['id_proposta']]['vl_premio_tarifario']      = $Row['premio_principal'];
			$arr[$Row['id_proposta']]['premio_adicional']         = $Row['premio_adicional'];
			$arr[$Row['id_proposta']]['valor_total']              = $Row['valor_total'];
			$arr[$Row['id_proposta']]['vl_premio_liquido']        = $vl_premio_liquido;
			$arr[$Row['id_proposta']]['valor_segurado']           = $Row['valor_segurado'];
			$arr[$Row['id_proposta']]['vl_custo_apolice']         = $Row['vl_custo_apolice'];
			$arr[$Row['id_proposta']]['valor_subvencao_federal']  = $Row['valor_subvencao_federal'];
			$arr[$Row['id_proposta']]['valor_subvencao_estadual'] = $Row['valor_subvencao_estadual'];
			$arr[$Row['id_proposta']]['dt_vigencia_inicio']       = $Row['dt_vigencia_inicio'];
			$arr[$Row['id_proposta']]['dt_vigencia_fim']          = $Row['dt_vigencia_fim'];
			$arr[$Row['id_proposta']]['ds_endereco']              = $Row['ds_endereco'];
			$arr[$Row['id_proposta']]['ds_endereco_nro']          = $Row['ds_endereco_nro'];
			$arr[$Row['id_proposta']]['ds_endereco_complemento']  = $Row['ds_endereco_complemento'];
			$arr[$Row['id_proposta']]['ds_endereco_bairro']       = $Row['ds_endereco_bairro'];
			$arr[$Row['id_proposta']]['ds_endereco_cep']          = $Row['ds_endereco_cep'];
			$arr[$Row['id_proposta']]['ds_nome_propriedade']      = $Row['ds_nome_propriedade'];
		}

		$titles = array(
			'id_proposta' => 'Proposta',
			'nr_apolice' => 'Nro Apólice',
			'id_proponente' => 'ID Segurado',
		    'tp_segurado' => 'Tipo Segurado',
			'ds_nome_preposto' => 'Preposto',
			'ds_status' => 'Status',
			'municipio_propriedade' => 'Município',
			'nr_ibge' => 'Cod. IBGE',
			'estado_propriedade' => 'UF',
		    'ds_endereco' => 'Endereço Propriedade',
		    'ds_endereco_nro' => 'Nro. Propriedade',
		    'ds_endereco_complemento' => 'Comp. Propriedade',
		    'ds_endereco_bairro' => 'Bairro Propriedade',
		    'ds_endereco_cep' => 'CEP Propriedade',
		    'ds_nome_propriedade' => 'Nome Propriedade',
			'ds_nome_fantasia' => 'Corretor',
			'ds_nome_produto' => 'Produto',
			'ds_nome_cultura' => 'Cultura',
			'total_area' => 'Área',
			'total_lmga' => 'LMGA',
			'vl_premio_liquido' => 'Prêmio Líquido',
			'dt_vigencia_inicio' => 'Início Vigência',
			'dt_vigencia_fim' => 'Final Vigência'
		);

		$format = array(
			'id_proposta' => array('align' => 'center')
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($arr);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_dados_propriedade.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($arr);
				$Html->setTitles($titles);
				$Html->setFormat($format);
				$Html->getHtml();
				break;
		}
	}

    /**
     * Relatório de Propostas Canceladas
     * ID: 835
     * @return void
     */
	public function propostascanceladasAction()
    {
        $this->getHelper('ViewRenderer')->setNoRender();
        $this->getHelper('layout')->disableLayout();

        $parametros = $this->getRequest()->getParams();
        $model = new Relatorio_Model_Tecnica();
        $rs = $model->relatorioPropostasCanceladas(
            $parametros['id_safra'],
            $parametros['id_produto'],
            $parametros['fl_exibir_area_total']
        );
        $arr = array();
        $titleArea = !empty($parametros['fl_exibir_area_total']) ? 'Área' : 'Área Segurada';

        foreach ($rs as $row) {
            if ($row['tp_usuario'] == 'P') {
                $ds_nome_preposto = $model->getPrepostoProposta($row['id_usuario_criacao']);
            } else {
                $ds_nome_preposto = '';
            }

            $vl_premio_liquido = $row['valor_total'] - $row['vl_custo_apolice'];

            $ds_coordenadas = preg_replace('/\s/', ' ', $row['ds_coordenadas']);
            $ds_coordenadas = str_replace(';', ' - ', $ds_coordenadas);

            $ds_observacao = str_replace("\n", "", $row['ds_observacao']);
            $ds_observacao = str_replace("\r", "", $ds_observacao);

            $arr[$row['id_proposta']]['id_proposta_mae'] = $row['id_proposta_mae'];
            $arr[$row['id_proposta']]['nr_endosso'] = $row['nr_endosso'];
            $arr[$row['id_proposta']]['id_proposta_mae_completo'] = $row['id_proposta_mae_completo'];
            $arr[$row['id_proposta']]['tp_proposta'] = ($row['id_proposta_renovada'] > 0) ? 'R' : 'P';
            $arr[$row['id_proposta']]['nr_apolice'] = $row['nr_apolice'];
            $arr[$row['id_proposta']]['id_proponente'] = $row['id_proponente'];
            $arr[$row['id_proposta']]['tipo_produto'] = $row['tipo_produto'];
            $arr[$row['id_proposta']]['ds_nome_preposto'] = $ds_nome_preposto;
            $arr[$row['id_proposta']]['valor_franquia'] = $row['valor_franquia'];
            $arr[$row['id_proposta']]['ds_status'] = $row['ds_status'];
            $arr[$row['id_proposta']]['municipio_propriedade'] = $row['municipio_propriedade'];
            $arr[$row['id_proposta']]['nr_ibge'] = $row['nr_ibge'];
            $arr[$row['id_proposta']]['estado_propriedade'] = $row['estado_propriedade'];
            $arr[$row['id_proposta']]['ds_nome_fantasia'] = $row['ds_nome_fantasia'];
            $arr[$row['id_proposta']]['vl_comissao'] = $row['vl_comissao'];
            $arr[$row['id_proposta']]['ds_nome_produto'] = $row['ds_nome_produto'];
            $arr[$row['id_proposta']]['ds_nome_cultura'] = $row['ds_nome_cultura'];
            $arr[$row['id_proposta']]['total_area'] = $row['total_area'];
            $arr[$row['id_proposta']]['total_lmga'] = $row['total_lmga'];
            $arr[$row['id_proposta']]['vl_premio_tarifario'] = $row['premio_principal'];
            $arr[$row['id_proposta']]['premio_adicional'] = $row['premio_adicional'];
            $arr[$row['id_proposta']]['valor_total'] = $row['valor_total'];
            $arr[$row['id_proposta']]['vl_premio_liquido'] = $vl_premio_liquido;
            $arr[$row['id_proposta']]['valor_segurado'] = $row['valor_segurado'];
            $arr[$row['id_proposta']]['vl_custo_apolice'] = $row['vl_custo_apolice'];
            $arr[$row['id_proposta']]['valor_subvencao_federal'] = $row['valor_subvencao_federal'];
            $arr[$row['id_proposta']]['subvencao_concedida'] = $row['subvencao_concedida'];
            $arr[$row['id_proposta']]['valor_subvencao_estadual'] = $row['valor_subvencao_estadual'];
            $arr[$row['id_proposta']]['dt_vigencia_inicio'] = $row['dt_vigencia_inicio'];
            $arr[$row['id_proposta']]['dt_vigencia_fim'] = $row['dt_vigencia_fim'];
            $arr[$row['id_proposta']]['valor_primeira_parcela'] = $row['valor_primeira_parcela'];
            $arr[$row['id_proposta']]['vencto_primeira_parcela'] = $row['vencto_primeira_parcela'];
            $arr[$row['id_proposta']]['nu_boleto'] = $row['nu_boleto'];
            $arr[$row['id_proposta']]['id_secao'] = $row['id_secao'];
            $arr[$row['id_proposta']]['ds_coordenadas'] = $ds_coordenadas;
            $arr[$row['id_proposta']]['ds_classe'] = 'NO';
            $arr[$row['id_proposta']]['id_proposta_renovada'] = $row['id_proposta_renovada'];
            $arr[$row['id_proposta']]['vl_retido'] = ($row['vl_retido'] > 0 ? $row['vl_retido'] : '0');
            $arr[$row['id_proposta']]['ds_nome_contrato'] = $row['ds_nome_contrato'];

            if ($row['motivo_cancelamento']) {
                $arr[$row['id_proposta']]['motivo_cancelamento'] = $row['motivo_cancelamento'];
            } else {
                $arr[$row['id_proposta']]['motivo_cancelamento'] = $ds_observacao;
            }

            $arr[$row['id_proposta']]['dt_cancelamento'] = Agro_Util::formatDate($row['dt_cancelamento'], 'dd/MM/Y H:m');


            $rs_cob = $model->getCoberturasAdicionais($row['id_proposta']);
            $i = 0;
            foreach ($rs_cob as $row2) {
                $arr[$row['id_proposta']]['cob_' . $i] = $row2['id_cobertura'];
                $i++;
            }

			$area = !empty($parametros['fl_exibir_area_total'])
				? $row['valor_area_sumario']
				: $row['total_area'];

            $calculoPE = $row['area_pe'] / $area;
			$calculoPEFormatado = number_format($calculoPE, 3, '.', ',');

			$arr[$row['id_proposta']]['pe'] = $calculoPEFormatado;
			$arr[$row['id_proposta']]['pg'] = $calculoPEFormatado;

            if ($row['is_pg']) {
                $calculoPG = $calculoPE * ($row['valor_franquia'] / 100);
                $arr[$row['id_proposta']]['pg'] = number_format($calculoPG, 3, '.', ',');
            }
        }

        $titles = array(
            'id_proposta_mae' => 'Proposta',
            'id_proposta_mae_completo' => 'Proposta Completo',
            'nr_endosso' => 'Endosso',
            'tp_proposta' => 'Tipo Proposta',
            'nr_apolice' => 'Nro Apólice',
            'id_proponente' => 'ID Segurado',
            'tipo_produto' => 'Grupo',
            'ds_nome_preposto' => 'Sublogin',
            'valor_franquia' => 'Franquia',
            'ds_status' => 'Status',
            'municipio_propriedade' => 'Município',
            'nr_ibge' => 'Cod. IBGE',
            'estado_propriedade' => 'UF',
            'ds_nome_fantasia' => 'Corretor',
            'vl_comissao' => 'Comissão corretor',
            'ds_nome_produto' => 'Produto',
            'ds_nome_cultura' => 'Cultura',
            'total_area' => $titleArea,
            'total_lmga' => 'LMGA',
            'vl_premio_tarifario' => 'Prêmio Tarifario',
            'premio_adicional' => 'Prêmio adicional',
            'valor_total' => 'Prêmio Total',
            'vl_premio_liquido' => 'Prêmio Líquido',
            'valor_segurado' => 'Prêmio Segurado',
            'vl_custo_apolice' => 'Custo de Apólice',
            'valor_subvencao_federal' => 'Subsídio Federal',
            'subvencao_concedida' => 'Subvenção Concedida?',
            'valor_subvencao_estadual' => 'Subsídio Estadual',
            'dt_vigencia_inicio' => 'Início Vigência',
            'dt_vigencia_fim' => 'Final Vigência',
            'valor_primeira_parcela' => 'Valor 1ª Parcela',
            'vencto_primeira_parcela' => 'Vencimento 1ª Parcela',
            'nu_boleto' => 'Nro. Boleto',
            'cob_0' => 'Cob. Adicional 1',
            'cob_1' => 'Cob. Adicional 2',
            'cob_2' => 'Cob. Adicional 3',
            'cob_3' => 'Cob. Adicional 4',
            'cob_4' => 'Cob. Adicional 5',
            'ds_coordenadas' => 'Coordenada',
            'ds_classe' => 'ST',
            'id_proposta_renovada' => 'Proposta Renovada',
            'motivo_cancelamento' => 'Motivo Cancelamento',
            'dt_cancelamento' => 'Data Cancelamento',
            'vl_retido' => 'Retido',
            'id_secao' => 'Seção',
			'ds_nome_contrato' => 'Contrato de Resseguro'
        );

        if ($parametros['fl_exibir_produtividade']) {
            $titles['pe'] = 'PE';
            $titles['pg'] = 'PG';
        }

        $format = array(
            'id_proposta' => array('align' => 'center')
        );

        switch ($this->getRequest()->getParam('tipo')) {
            case 'excel':
                $csv = new Agro_Plugin_Rs2Csv();
                $csv->setRecordSet($arr);
                $csv->setType("application/octet-stream");
                $csv->setFileName("relatorio_propostas_canceladas_" . date('dmy') . ".csv");
                $csv->setDisposition("attachment");
                $csv->setTitles($titles);
                $csv->setSeparator(";");
                $csv->getCsv();

                break;
            case 'html':
                $html = new Agro_Plugin_Rs2Html();
                $html->setRecordSet($arr);
                $html->setTitles($titles);
                $html->setFormat($format);
                $html->getHtml();
                break;
        }
    }

	public function conferenciaAction() {

		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Vendas = new Relatorio_Model_Tecnica();
		$Rs = $Vendas->relatorioConferencia($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));
		$arr = array();

		foreach($Rs as $Row){
			$tp_proposta = ($Row['id_proposta_renovada'] > 0 ) ? 'R' : 'P';

			if($Row['tp_usuario'] == 'P'){
				$ds_nome_preposto = $Vendas->getPrepostoProposta($Row['id_usuario_criacao']);
				$id_preposto = $Row['id_usuario_criacao'];
			} else {
				$ds_nome_preposto = '';
				$id_preposto = '';
			}

			$ds_classe = 'NO';
			if($Row['ds_classe']){
				$ds_classe = $Row['ds_classe'];
			}

			$vl_premio_liquido   = $Row['valor_total'] - $Row['vl_custo_apolice'];
			$vl_premio_tarifario = $vl_premio_liquido;

			$ds_coordenadas = preg_replace('/\s/',' ',$Row['ds_coordenadas']);
			$ds_coordenadas = str_replace(';',' - ',$ds_coordenadas);

			$arr[$Row['id_proposta']]['id_proposta']              = $Row['id_proposta'];
			$arr[$Row['id_proposta']]['tp_proposta']              = $tp_proposta;
			$arr[$Row['id_proposta']]['nr_apolice']               = $Row['nr_apolice'];
			$arr[$Row['id_proposta']]['id_proponente']            = $Row['id_proponente'];
			$arr[$Row['id_proposta']]['tipo_produto']             = $Row['tipo_produto'];
			$arr[$Row['id_proposta']]['ds_nome_preposto']         = $ds_nome_preposto;
			$arr[$Row['id_proposta']]['id_preposto']              = $id_preposto;
			$arr[$Row['id_proposta']]['valor_franquia']           = $Row['valor_franquia'];
			$arr[$Row['id_proposta']]['ds_status']                = $Row['ds_status'];
			$arr[$Row['id_proposta']]['municipio_propriedade']    = $Row['municipio_propriedade'];
			$arr[$Row['id_proposta']]['nr_ibge']                  = $Row['nr_ibge'];
			$arr[$Row['id_proposta']]['estado_propriedade']       = $Row['estado_propriedade'];
			$arr[$Row['id_proposta']]['ds_nome_fantasia']         = $Row['ds_nome_fantasia'];
			$arr[$Row['id_proposta']]['vl_comissao']              = $Row['vl_comissao'];
			$arr[$Row['id_proposta']]['ds_nome_produto']          = $Row['ds_nome_produto'];
			$arr[$Row['id_proposta']]['id_produto']               = $Row['id_produto'];
			$arr[$Row['id_proposta']]['ds_nome_cultura']          = $Row['ds_nome_cultura'];
			$arr[$Row['id_proposta']]['nr_itens_segurados']       = $Row['nr_itens_segurados'];
			$arr[$Row['id_proposta']]['total_area']               = $Row['total_area'];
			$arr[$Row['id_proposta']]['total_lmga']               = $Row['total_lmga'];
			$arr[$Row['id_proposta']]['vl_premio_tarifario']      = $Row['premio_principal'];
			$arr[$Row['id_proposta']]['premio_adicional']         = $Row['premio_adicional'];
			$arr[$Row['id_proposta']]['valor_total']              = $Row['valor_total'];
			$arr[$Row['id_proposta']]['vl_premio_liquido']        = $vl_premio_liquido;
			$arr[$Row['id_proposta']]['valor_segurado']           = $Row['valor_segurado'];
			$arr[$Row['id_proposta']]['vl_custo_apolice']         = $Row['vl_custo_apolice'];
			$arr[$Row['id_proposta']]['valor_subvencao_federal']  = $Row['valor_subvencao_federal'];
			$arr[$Row['id_proposta']]['valor_subvencao_estadual'] = $Row['valor_subvencao_estadual'];
			$arr[$Row['id_proposta']]['dt_vigencia_inicio']       = $Row['dt_vigencia_inicio'];
			$arr[$Row['id_proposta']]['dt_vigencia_fim']          = $Row['dt_vigencia_fim'];
			$arr[$Row['id_proposta']]['ds_coordenadas']           = $ds_coordenadas;
			$arr[$Row['id_proposta']]['ds_classe']                = $ds_classe;

			$Rs_cob = $Vendas->getCoberturasAdicionais($Row['id_proposta']);
			$i = 0;
			foreach($Rs_cob as $row2){
				$arr[$Row['id_proposta']]['cob_'.$i] = $row2['id_cobertura'];
				$i++;
			}
		}

		$titles = array(
			'id_proposta' => 'Proposta',
			'tp_proposta' => 'Tipo Proposta',
			'nr_apolice' => 'Nro Apólice',
			'id_proponente' => 'ID Segurado',
			'tipo_produto' => 'Grupo',
			'ds_nome_preposto' => 'Preposto',
		    'id_preposto' => 'Id Preposto',
			'valor_franquia' => 'Franquia',
			'ds_status' => 'Status',
			'municipio_propriedade' => 'Município',
			'nr_ibge' => 'Cod. IBGE',
			'estado_propriedade' => 'UF',
			'ds_nome_fantasia' => 'Corretor',
			'vl_comissao' => 'Comissão corretor',
			'ds_nome_produto' => 'Produto',
			'id_produto' => 'Id Produto',
			'ds_nome_cultura' => 'Cultura',
		    'nr_itens_segurados' => 'Nro Itens',
			'total_area' => 'Área',
			'total_lmga' => 'LMGA',
			'vl_premio_tarifario' => 'Prêmio Tarifario',
			'premio_adicional' => 'Prêmio adicional',
			'valor_total' => 'Prêmio Total',
			'vl_premio_liquido' => 'Prêmio Líquido',
			'valor_segurado' => 'Prêmio Segurado',
			'vl_custo_apolice' => 'Custo de Apólice',
			'valor_subvencao_federal' => 'Subsídio Federal',
			'valor_subvencao_estadual' => 'Subsídio Estadual',
			'dt_vigencia_inicio' => 'Início Vigência',
			'dt_vigencia_fim' => 'Final Vigência',
			'cob_0' => 'Cob. Adicional 1',
			'cob_1' => 'Cob. Adicional 2',
			'cob_2' => 'Cob. Adicional 3',
			'cob_3' => 'Cob. Adicional 4',
			'cob_4' => 'Cob. Adicional 5',
			'cob_5' => 'Cob. Adicional 6',
			'ds_coordenadas' => 'Coordenada',
			'ds_classe' => 'ST'
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($arr);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_conferencia.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($arr);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function conferenciagraosAction() {

		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Vendas = new Relatorio_Model_Tecnica();
		$Rs = $Vendas->relatorioConferenciaGraos($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));
		$arr = array();
		$count = 0;

		foreach($Rs as $Row){
			$tp_proposta = ($Row['id_proposta_renovada'] > 0 ) ? 'R' : 'P';

			if($Row['tp_usuario'] == 'P'){
				$ds_nome_preposto = $Vendas->getPrepostoProposta($Row['id_usuario_criacao']);
				$id_preposto = $Row['id_usuario_criacao'];
			} else {
				$ds_nome_preposto = '';
				$id_preposto = '';
			}

			$ds_classe = 'NO';
			if($Row['ds_classe']){
				$ds_classe = $Row['ds_classe'];
			}

			$vl_premio_principal = round(($Row['valor_taxa'] * $Row['vl_lmga'])/100,2);

			$ds_coordenadas = preg_replace('/\s/',' ',$Row['ds_coordenadas']);
			$ds_coordenadas = str_replace(';',' - ',$ds_coordenadas);

			$arr[$count]['id_proposta']              = $Row['id_proposta'];
			$arr[$count]['tp_proposta']              = $tp_proposta;
			$arr[$count]['nr_apolice']               = $Row['nr_apolice'];
			$arr[$count]['id_proponente']            = $Row['id_proponente'];
			$arr[$count]['tipo_produto']             = $Row['tipo_produto'];
			$arr[$count]['ds_nome_preposto']         = $ds_nome_preposto;
			$arr[$count]['id_preposto']              = $id_preposto;
			$arr[$count]['valor_franquia']           = $Row['valor_franquia'];
			$arr[$count]['valor_franquia_adicional'] = $Row['valor_franquia_adicional'];
			$arr[$count]['ds_status']                = $Row['ds_status'];
			$arr[$count]['municipio_propriedade']    = $Row['municipio_propriedade'];
			$arr[$count]['nr_ibge']                  = $Row['nr_ibge'];
			$arr[$count]['estado_propriedade']       = $Row['estado_propriedade'];
			$arr[$count]['ds_nome_fantasia']         = $Row['ds_nome_fantasia'];
			$arr[$count]['vl_comissao']              = $Row['vl_comissao'];
			$arr[$count]['ds_nome_produto']          = $Row['ds_nome_produto'];
			$arr[$count]['id_produto']               = $Row['id_produto'];
			$arr[$count]['ds_nome_cultura']          = $Row['ds_nome_cultura'];
			$arr[$count]['nr_item_segurado']         = $Row['nr_item_segurado'];
			$arr[$count]['ds_item_segurado']         = $Row['ds_item_segurado'];
			$arr[$count]['vl_area']                  = $Row['vl_area'];
			$arr[$count]['vl_lmga']                  = $Row['vl_lmga'];
			$arr[$count]['vl_rendimento_tonelada']   = number_format($Row['vl_rendimento_tonelada'],3,'.','');
			$arr[$count]['vl_producao_garantida']    = $Row['vl_producao_garantida'];
			$arr[$count]['vl_valor_tonelada']        = $Row['vl_valor_tonelada'];
			$arr[$count]['vl_custo_apolice']         = $Row['vl_custo_apolice'];
			$arr[$count]['dt_vigencia_inicio']       = $Row['dt_vigencia_inicio'];
			$arr[$count]['dt_vigencia_fim']          = $Row['dt_vigencia_fim'];
			$arr[$count]['ds_nome_variedade']        = $Row['ds_nome_variedade'];

			$arr[$count]['dt_plantio']               = $Row['dt_plantio'];
			$arr[$count]['ds_nome_ciclo']            = $Row['ds_nome_ciclo'];

			$arr[$count]['ds_coordenadas']           = $ds_coordenadas;
			$arr[$count]['ds_classe']                = $ds_classe;
			$arr[$count]['vl_premio_principal']      = $vl_premio_principal;
			$arr[$count]['id_tipo_solo']      = $Row['id_tipo_solo'];

			$Rs_cob = $Vendas->getCoberturasAdicionais($Row['id_proposta']);
			$i = 0;
			$vl_premio_adicional = 0;

			foreach($Rs_cob as $row2){
				$arr[$count]['cob_'.$i] = $row2['id_cobertura'];
				$vl_premio_adicional    += round(($row2['vl_taxa'] * $Row['vl_lmga'])/100,2);
				$i++;
			}

			$arr[$count]['vl_premio_adicional'] = $vl_premio_adicional;
			$count++;
		}

		$titles = array(
			'id_proposta' => 'Proposta',
			'tp_proposta' => 'Tipo Proposta',
			'nr_apolice' => 'Nro Apólice',
			'id_proponente' => 'ID Segurado',
			'tipo_produto' => 'Grupo',
			'ds_nome_preposto' => 'Preposto',
		    'id_preposto' => 'Id Preposto',
			'valor_franquia' => 'Franquia',
            'valor_franquia_adicional' => 'Franquia Adicional',
			'ds_status' => 'Status',
			'municipio_propriedade' => 'Município',
			'nr_ibge' => 'Cod. IBGE',
			'estado_propriedade' => 'UF',
			'ds_nome_fantasia' => 'Corretor',
			'vl_comissao' => 'Comissão corretor',
			'ds_nome_produto' => 'Produto',
			'id_produto' => 'Id Produto',
			'ds_nome_cultura' => 'Cultura',
		    'nr_item_segurado' => 'Item',
		    'ds_item_segurado' => 'Quadra',
		    'ds_nome_variedade' => 'Variedade',
			'dt_plantio' => 'Plantio',
			'ds_nome_ciclo' => 'Ciclo',
			'vl_area' => 'Área',
			'vl_lmga' => 'LMGA',
		    'vl_rendimento_tonelada' => 'PE',
		    'vl_producao_garantida' => 'PG',
		    'vl_valor_tonelada' => 'Valor/Ton',
			'vl_custo_apolice' => 'Custo de Apólice',
			'dt_vigencia_inicio' => 'Início Vigência',
			'dt_vigencia_fim' => 'Final Vigência',
		    'vl_premio_principal' => 'Prêmio Principal',
		    'vl_premio_adicional' => 'Prêmio Adicional',
			'cob_0' => 'Cob. Adicional 1',
			'cob_1' => 'Cob. Adicional 2',
			'cob_2' => 'Cob. Adicional 3',
			'cob_3' => 'Cob. Adicional 4',
			'cob_4' => 'Cob. Adicional 5',
			'ds_coordenadas' => 'Coordenada',
			'ds_classe' => 'ST',
			'id_tipo_solo' => 'Tipo Solo'
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($arr);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_conferencia_graos.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($arr);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function emissaoAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Vendas = new Relatorio_Model_Tecnica();
		$Rs = $Vendas->relatorioEmissao($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));
		$arr = array();

		foreach($Rs as $Row){
			$ds_nome_preposto = '';
			if($Row['tp_usuario'] == 'P'){
				$ds_nome_preposto = $Vendas->getPrepostoProposta($Row['id_usuario_criacao']);
			}

			$vl_premio_liquido   = $Row['valor_total'] - $Row['vl_custo_apolice'];

			$arr[$Row['id_proposta']]['id_proposta']              = $Row['id_proposta'];
			$arr[$Row['id_proposta']]['id_proposta_composto']     = $Row['id_proposta_composto'];
			$arr[$Row['id_proposta']]['ds_nome_proponente']       = $Row['ds_nome_proponente'];
			$arr[$Row['id_proposta']]['cpf_cnpj']                 = $Row['cpf_cnpj'];
			$arr[$Row['id_proposta']]['ds_nome_preposto']         = $ds_nome_preposto;
			$arr[$Row['id_proposta']]['ds_status']                = $Row['ds_status'];
			$arr[$Row['id_proposta']]['cd_status']                = $Row['cd_status'];
			$arr[$Row['id_proposta']]['estado_propriedade']       = $Row['estado_propriedade'];
			$arr[$Row['id_proposta']]['ds_nome_fantasia']         = $Row['ds_nome_fantasia'];
			$arr[$Row['id_proposta']]['ds_nome_produto']          = $Row['ds_nome_produto'];
			$arr[$Row['id_proposta']]['id_produto']               = $Row['id_produto'];
			$arr[$Row['id_proposta']]['ds_nome_cultura']          = $Row['ds_nome_cultura'];
			$arr[$Row['id_proposta']]['total_lmga']               = $Row['total_lmga'];
			$arr[$Row['id_proposta']]['valor_total']              = $Row['valor_total'];
			$arr[$Row['id_proposta']]['vl_premio_liquido']        = $vl_premio_liquido;
			$arr[$Row['id_proposta']]['valor_subvencao_federal']  = $Row['valor_subvencao_federal'];
			$arr[$Row['id_proposta']]['valor_subvencao_estadual'] = $Row['valor_subvencao_estadual'];
			$arr[$Row['id_proposta']]['dt_vigencia_inicio']       = $Row['dt_vigencia_inicio'];
			$arr[$Row['id_proposta']]['dt_vigencia_fim']          = $Row['dt_vigencia_fim'];
			$arr[$Row['id_proposta']]['valor_primeira_parcela']   = $Row['valor_primeira_parcela'];
			$arr[$Row['id_proposta']]['vencto_primeira_parcela']  = $Row['vencto_primeira_parcela'];
			$arr[$Row['id_proposta']]['nu_boleto']                = $Row['nu_boleto'];
			$arr[$Row['id_proposta']]['fl_pago']                  = $Row['fl_pago'];
		}

		$titles = array(
			'id_proposta' => 'Proposta',
			'ds_nome_proponente' => 'Segurado',
			'ds_nome_produto' => 'Produto',
			'id_produto' => 'Id Produto',
			'ds_nome_cultura' => 'Cultura',
		    'ds_nome_fantasia' => 'Corretor',
			'ds_nome_preposto' => 'Preposto',
			'total_lmga' => 'LMGA',
			'valor_total' => 'Prêmio Total',
			'vl_premio_liquido' => 'Prêmio Líquido',
			'valor_subvencao_federal' => 'Subsídio Federal',
			'valor_subvencao_estadual' => 'Subsídio Estadual',
		    'dt_vigencia_inicio' => 'Início Vigência',
			'dt_vigencia_fim' => 'Final Vigência',
			'vencto_primeira_parcela' => 'Data Venc 1° Parcela',
			'nu_boleto' => 'Boleto',
			'fl_pago' => 'Status Boleto',
			'id_proposta_composto' => 'Proposta Completo',
			'cpf_cnpj' => 'CPF/CNPJ',
			'estado_propriedade' => 'UF',
			'ds_status' => 'Status',
			'cd_status' => 'CD Status'
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($arr);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_emissao.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($arr);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function analisesubscricaoAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Tecnica();
		$ModelProposta = new Seguro_Model_Propostas();

		$Rs = $Model->relatorioAnaliseSubscricao($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));
		$arr = array();

		foreach($Rs as $Row){
			$tp_proposta = ($Row['id_proposta_renovada'] > 0 ) ? 'R' : 'P';

			if($Row['tp_usuario'] == 'P'){
				$ds_nome_preposto = $Model->getPrepostoProposta($Row['id_usuario_criacao']);
			} else {
				$ds_nome_preposto = '';
			}

			$cpf_cnpj = $Row['cpf_cnpj'];
			if($Row['tp_pessoa'] == 'J'){
				$cpf_cnpj = substr($Row['cpf_cnpj'],0,10);
			}

			$Proposta      = $ModelProposta->get($Row['id_proposta']);
			$Beneficiarios = $Proposta->beneficiarios();
			$ds_nome_beneficiario = "";
			if(is_array($Beneficiarios)){
				foreach($Beneficiarios as $benef){
					if($benef['ds_tipo_conta'] == 's'){
						$ds_nome_beneficiario .= $benef['ds_nome_banco']." / ";
					} else {
						$ds_nome_beneficiario .= $benef['ds_nome_beneficiarios']." / ";
					}
				}
			}

			$soma_espacamento = 0;
			foreach($Proposta->unidades(false) as $item) {
				if($item['IS_ESPACAMENTO_SIMPLES']){
					$pos1 = strpos($item['IS_ESPACAMENTO_SIMPLES'], "x");
					$pos2 = strpos($item['IS_ESPACAMENTO_SIMPLES'], "X");

					if($pos1 === false and $pos2 === false){
						$soma_espacamento += str_replace('.',',',$item['IS_ESPACAMENTO_SIMPLES']);
					} else {
						if($pos1 > 0){
							$arEspacamento = explode("x",$item['IS_ESPACAMENTO_SIMPLES']);
						}
						if($pos2 > 0){
							$arEspacamento = explode("X",$item['IS_ESPACAMENTO_SIMPLES']);
						}
						$soma_espacamento_tmp = $arEspacamento[0] + $arEspacamento[1];
						$soma_espacamento += $soma_espacamento_tmp;
					}
				} else {
					$soma_espacamento_tmp = $item['IS_ESPACAMENTO_COMPOSTO'][0] + $item['IS_ESPACAMENTO_COMPOSTO'][1];
					$soma_espacamento += $soma_espacamento_tmp;
				}
			}

			$ds_classe = 'NO';
			if($Row['ds_classe']){
				$ds_classe = $Row['ds_classe'];
			}

			$vl_premio_liquido   = $Row['valor_total'] - $Row['vl_custo_apolice'];

			$arr[$Row['id_proposta']]['id_proposta']              = $Row['id_proposta'];
			$arr[$Row['id_proposta']]['ds_classe']                = $ds_classe;
			$arr[$Row['id_proposta']]['cd_status']                = $Row['cd_status'];
			$arr[$Row['id_proposta']]['ds_nome_proponente']       = $Row['ds_nome_proponente'];
			$arr[$Row['id_proposta']]['cpf_cnpj']                 = $cpf_cnpj;
			$arr[$Row['id_proposta']]['ds_nome_cliente']          = $Row['ds_nome_cliente'];
			$arr[$Row['id_proposta']]['ds_nome_fantasia']         = $Row['ds_nome_fantasia'];
			$arr[$Row['id_proposta']]['ds_nome_preposto']         = $ds_nome_preposto;
			$arr[$Row['id_proposta']]['municipio_propriedade']    = $Row['municipio_propriedade'];
			$arr[$Row['id_proposta']]['estado_propriedade']       = $Row['estado_propriedade'];
			$arr[$Row['id_proposta']]['nr_ibge']                  = $Row['nr_ibge'];
			$arr[$Row['id_proposta']]['ds_nome_produto']          = $Row['ds_nome_produto'];
			$arr[$Row['id_proposta']]['ds_nome_cultura']          = $Row['ds_nome_cultura'];
			$arr[$Row['id_proposta']]['total_area']               = $Row['total_area'];
			$arr[$Row['id_proposta']]['total_lmga']               = $Row['total_lmga'];
			$arr[$Row['id_proposta']]['valor_total']              = $vl_premio_liquido;
			$arr[$Row['id_proposta']]['valor_subvencao_federal']  = $Row['valor_subvencao_federal'];
			$arr[$Row['id_proposta']]['valor_subvencao_estadual'] = $Row['valor_subvencao_estadual'];
			$arr[$Row['id_proposta']]['valor_franquia']           = $Row['valor_franquia'];
			$arr[$Row['id_proposta']]['vl_comissao']              = $Row['vl_comissao'];
			$arr[$Row['id_proposta']]['nro_itens_segurados']      = $Row['nro_itens_segurados'];
			$arr[$Row['id_proposta']]['total_idade']              = $Row['total_idade'];
			$arr[$Row['id_proposta']]['total_espacamento']        = $soma_espacamento;
			$arr[$Row['id_proposta']]['ds_nome_outra_pessoa']     = $Row['ds_nome_outra_pessoa'];
			$arr[$Row['id_proposta']]['ds_beneficiario']          = substr($ds_nome_beneficiario,0,-2);
		}

		$titles = array(
			'id_proposta' => 'Proposta',
			'ds_classe' => 'ST',
			'cd_status' => 'Status',
			'ds_nome_proponente' => 'Segurado',
			'cpf_cnpj' => 'CPF/CNPJ',
			'ds_nome_cliente' => 'Cliente',
			'ds_nome_fantasia' => 'Corretor',
			'ds_nome_preposto' => 'Preposto',
			'municipio_propriedade' => 'Município',
			'nr_ibge' => 'Cod. IBGE',
			'estado_propriedade' => 'UF',
			'ds_nome_produto' => 'Produto',
			'ds_nome_cultura' => 'Cultura',
			'total_area' => 'Área',
			'total_lmga' => 'LMGA',
			'valor_total' => 'Prêmio Total',
			'valor_subvencao_federal' => 'Sub. Fed.',
			'valor_subvencao_estadual' => 'Sub. Est.',
			'valor_franquia' => 'Franquia',
			'vl_comissao' => 'Comissão',
			'nro_itens_segurados' => 'US',
			'total_idade' => 'Idade',
			'total_espacamento' => 'Esp',
			'ds_nome_outra_pessoa' => 'Vistoria',
			'ds_beneficiario' => 'Beneficiario'
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($arr);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_subscricao.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($arr);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function parcelasAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Parcelas = new Relatorio_Model_Tecnica();
		$RsParcelas = $Parcelas->relatorioParcelas($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));

		$arRelParcelas = array();

		foreach($RsParcelas as $Row){

			$ds_sub_federal  = ($Row['quest_sub_federal']  == 1 ) ? 'Sim' : 'Não';
			$ds_sub_estadual = ($Row['quest_sub_estadual'] == 1 ) ? 'Sim' : 'Não';

			$arRelParcelas[$Row['id_proposta']]['id_proposta']         = $Row['id_proposta'];
			$arRelParcelas[$Row['id_proposta']]['nr_apolice']          = $Row['nr_apolice'];
			$arRelParcelas[$Row['id_proposta']]['ds_nome_cultura']     = $Row['ds_nome_cultura'];
			$arRelParcelas[$Row['id_proposta']]['dt_inicio_vigencia']  = $Row['dt_vigencia_inicio'];
			$arRelParcelas[$Row['id_proposta']]['ds_status']           = $Row['ds_status'];
			$arRelParcelas[$Row['id_proposta']]['ds_sub_federal']      = $ds_sub_federal;
			$arRelParcelas[$Row['id_proposta']]['ds_sub_estadual']     = $ds_sub_estadual;

			$RsParcelasProp = $Parcelas->getParcelasPropostasBoletos($Row['id_proposta'], $Row['id_versao']);
			if(count($RsParcelasProp) == 0){
				$RsParcelasProp = $Parcelas->getParcelasPropostas($Row['id_proposta']);
			}

			$i = 1;
			foreach($RsParcelasProp as $Row2){
			    $fl_pago = ($Row2['fl_pago'] == true ) ? 'Sim' : 'Não';

				$arRelParcelas[$Row['id_proposta']]['parc_'.$i]         = $Row2['vl_segurado'];
				$arRelParcelas[$Row['id_proposta']]['sub_'.$i]          = $Row2['vl_subvencao_federal'];
				$arRelParcelas[$Row['id_proposta']]['sub_uf_'.$i]       = $Row2['vl_subvencao_estadual'];
				$arRelParcelas[$Row['id_proposta']]['total_'.$i]        = $Row2['vl_total'];
				$arRelParcelas[$Row['id_proposta']]['vencto_'.$i]       = $Row2['dt_vencimento'];
				$arRelParcelas[$Row['id_proposta']]['fl_pago_'.$i]      = $fl_pago;
				$arRelParcelas[$Row['id_proposta']]['dt_pagamento_'.$i] = '';

				$i++;
			}
		}

		$titles = array(
			'id_proposta' => 'Proposta',
		    'nr_apolice' => 'Apólice',
			'ds_nome_cultura' => 'Cultura',
			'dt_vigencia_inicio' => 'Início de Vigência',
			'ds_status' => 'Status',
			'ds_sub_federal' => 'Sub. Federal',
			'ds_sub_estadual' => 'Sub. Estadual',
			'parc_1' => 'Parc. 1',
			'sub_1' => 'Sub. 1',
			'sub_uf_1' => 'Sub. UF 1',
		    'total_1' => 'Total 1',
			'vencto_1' => 'Venc. 1',
		    'fl_pago_1' => 'Pago? 1',
		    'dt_pagamento_1' => 'Dt. Pagamento 1',
			'parc_2' => 'Parc. 2',
			'sub_2' => 'Sub. 2',
			'sub_uf_2' => 'Sub. UF 2',
		    'total_2' => 'Total 2',
			'vencto_2' => 'Venc. 2',
		    'fl_pago_2' => 'Pago? 2',
		    'dt_pagamento_2' => 'Dt. Pagamento 2',
			'parc_3' => 'Parc. 3',
			'sub_3' => 'Sub. 3',
			'sub_uf_3' => 'Sub. UF 3',
		    'total_3' => 'Total 3',
			'vencto_3' => 'Venc. 3',
		    'fl_pago_3' => 'Pago? 3',
		    'dt_pagamento_3' => 'Dt. Pagamento 3',
			'parc_4' => 'Parc. 4',
			'sub_4' => 'Sub. 4',
			'sub_uf_4' => 'Sub. UF 4',
		    'total_4' => 'Total 4',
			'vencto_4' => 'Venc. 4',
		    'fl_pago_4' => 'Pago? 4',
		    'dt_pagamento_4' => 'Dt. Pagamento 4',
			'parc_5' => 'Parc. 5',
			'sub_5' => 'Sub. 5',
			'sub_uf_5' => 'Sub. UF 5',
		    'total_5' => 'Total 5',
			'vencto_5' => 'Venc. 5',
		    'fl_pago_5' => 'Pago? 5',
		    'dt_pagamento_5' => 'Dt. Pagamento 5',
			'parc_6' => 'Parc. 6',
			'sub_6' => 'Sub. 6',
			'sub_uf_6' => 'Sub. UF 6',
		    'total_6' => 'Total 6',
			'vencto_6' => 'Venc. 6',
		    'fl_pago_6' => 'Pago? 6',
		    'dt_pagamento_6' => 'Dt. Pagamento 6',
			'parc_7' => 'Parc. 7',
			'sub_7' => 'Sub. 7',
			'sub_uf_7' => 'Sub. UF 7',
		    'total_7' => 'Total 7',
			'vencto_7' => 'Venc. 7',
		    'fl_pago_7' => 'Pago? 7',
		    'dt_pagamento_7' => 'Dt. Pagamento 7',
			'parc_8' => 'Parc. 8',
			'sub_8' => 'Sub. 8',
			'sub_uf_8' => 'Sub. UF 8',
		    'total_8' => 'Total 8',
			'vencto_8' => 'Venc. 8',
		    'fl_pago_8' => 'Pago? 8',
		    'dt_pagamento_8' => 'Dt. Pagamento 8',
			'parc_9' => 'Parc. 9',
			'sub_9' => 'Sub. 9',
			'sub_uf_9' => 'Sub. UF 9',
		    'total_9' => 'Total 9',
			'vencto_9' => 'Venc. 9',
		    'fl_pago_9' => 'Pago? 9',
		    'dt_pagamento_9' => 'Dt. Pagamento 9',

		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($arRelParcelas);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_parcelas.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($arRelParcelas);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}
	
	public function parcelassegurocanceladoAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();
	
		$Parcelas   = new Relatorio_Model_Corretor();
		$RsParcelas = $Parcelas->relatorioParcelas($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'), Zend_Auth::getInstance()->getIdentity()->id, Zend_Auth::getInstance()->getIdentity()->tp_usuario, true);
	
		$titles = array(
				'id_proposta' => 'Proposta',
				'nr_endosso' => 'Endosso ',
				'ds_nome_proponente' => 'Segurado',
				'ds_nome_cultura' => 'Cultura',
				'ds_nome_fantasia' => 'Corretor',
				'sublogin' => 'Sublogin',
				'dt_vigencia_inicio' => 'Início de Vigência',
				'nr_parcela' => 'N° Parcela',
				'vl_segurado' => 'Valor Segurado',
				'dt_vencimento' => 'Vencimento',
				'fl_pago' => 'Status Pagamento',
				'cd_status' => 'Status'
		);
	
		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($RsParcelas);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_parcelas.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();
	
				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($RsParcelas);
				$Html->setTitles($titles);
				$Html->getHtml();
	
				break;
		}
	}

	
	public function parcelaslinhasAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Parcelas = new Relatorio_Model_Tecnica();
		$RsParcelas = $Parcelas->relatorioParcelasLinhas($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'), $this->getRequest()->getParam('canceladas'));

		$arRelParcelas = array();

		foreach($RsParcelas as $Row){

			if($Row['tp_usuario'] == 'P'){
				$ds_nome_preposto = $Row['ds_nome_usuario'];
			} else {
				$ds_nome_preposto = '';
			}

			$fl_pago = ($Row['fl_pago'] == true) ? 'Sim' : 'Não';

			if(!$Row['nu_boleto']){
				//$fl_pago = "-";
			}

			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['id_proposta']              = $Row['id_proposta'];
			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['nr_endosso']               = $Row['nr_endosso'];
			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['id_proposta_mae']          = $Row['id_proposta_mae'];
			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['nr_apolice']               = $Row['nr_apolice'];
			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['ds_nome_cultura']          = $Row['ds_nome_cultura'];
			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['dt_inicio_vigencia']       = $Row['dt_vigencia_inicio'];
			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['ds_nome_fantasia']         = $Row['ds_nome_fantasia'];
			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['dt_sublogin']              = $ds_nome_preposto;
			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['ds_status']                = $Row['ds_status'];
			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['ds_sub_federal']           = $Row['subvencao_federal_concedida'];
			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['ds_sub_estadual']          = $Row['subvencao_estadual_concedida'];
			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['nr_parcela']               = $Row['nr_parcela'];
			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['vl_segurado']              = $Row['vl_segurado'];
			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['vl_subvencao_federal']     = $Row['vl_subvencao_federal'];
			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['vl_subvencao_estadual']    = $Row['vl_subvencao_estadual'];
			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['vl_total']                 = $Row['vl_total'];
			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['dt_vencimento']            = $Row['dt_vencimento'];
			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['fl_pago']                  = $fl_pago;
			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['vl_comissao']              = $Row['vl_comissao'];
			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['versao']                   = $Row['versao'];
			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['ds_identificador_seguradora'] = $Row['ds_identificador_seguradora'];
			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['nu_boleto']                = $Row['nu_boleto'];
			$arRelParcelas[$Row['id_proposta'].$Row['nr_parcela']]['ds_nome_safra']                = $Row['ds_nome_safra'];
		}

		$titles = array(
				'id_proposta_mae' => 'Proposta',
				'ds_nome_safra' => 'Safra',
				'id_proposta' => 'Proposta do Endosso',
				'nr_endosso' => 'Endosso',
				'nr_apolice' => 'Apólice',
				'ds_nome_cultura' => 'Cultura',
				'dt_inicio_vigencia' => 'Início de Vigência',
				'ds_nome_fantasia' => 'Corretor',
				'dt_sublogin' => 'Sublogin',
				'ds_status' => 'Status',
				'ds_sub_federal' => 'Status Sub. Federal',
				'ds_sub_estadual' => 'Status Sub. Estadual',
				'nr_parcela' => 'N° Parcela',
				'vl_segurado' => 'Valor Segurado',
				'vl_subvencao_federal' => 'Valor Sub. Federal',
				'vl_subvencao_estadual' => 'Valor Sub. Estadual',
				'vl_total' => 'Valor Total',
				'dt_vencimento' => 'Vencimento',
				'fl_pago' => 'Status Pagamento',
				'vl_comissao' => 'Comissão',
				'ds_identificador_seguradora' => 'Id Endosso Essor',
				'nu_boleto' => 'Nº Boleto Essor'
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($arRelParcelas);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_parcelas_linhas.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($arRelParcelas);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function beneficiariosAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Beneficiarios = new Relatorio_Model_Tecnica();
		$RsBenef = $Beneficiarios->relatorioBeneficiarios($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));

		$titles = array(
			'id_proposta' => 'Proposta',
			'nr_apolice' => 'Apólice',
			'dt_vigencia_inicio' => 'Vigência',
		    'cd_status' => 'Status',
			'ds_banco' => 'Banco?',
			'ds_nome_beneficiario' => 'Beneficiário',
			'nr_cpf_cnpj' => 'CPF/CNPJ',
			'dt_nascimento' => 'Data Nascimento',
			'ds_qualidade_beneficiario' => 'Qualidade',
			'vl_limite_beneficio' => 'Valor (R$)',
			'fl_validado' => 'NOVO',
			'dt_transmissao' => 'Transmissão'
		);

		$format = array(
			'id_proposta' => array('align' => 'center'),
			'cd_status' => array('align' => 'center'),
			'ds_banco' => array('align' => 'center'),
			'dt_vigencia_inicio' => array('align' => 'center'),
			'dt_vigencia_fim' => array('align' => 'center'),
			'ds_nome_beneficiario' => array('align' => 'left'),
			'nr_cpf_cnpj' => array('align' => 'right'),
			'ds_qualidade_beneficiario' => array('align' => 'left'),
			'fl_validado' => array('align' => 'center'),
			'vl_limite_beneficio' => array('align' => 'right', 'format' => 'currency')
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($RsBenef);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_beneficiarios.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($RsBenef);
				$Html->setFormat($format);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function previanaoencaminhadasAction() {
		ini_set('max_execution_time',360);
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Tecnica();
		$RsVistoriaPrevia = $Model->relatorioVistoriaPreviaNaoEncaminhadas(
		  $this->getRequest()->getParam('id_safra'),
          $this->getRequest()->getParam('id_produto'),
          $this->getRequest()->getParam('id_estado') ?? [],
          $this->getRequest()->getParam('id_municipio') ?? []
        );

		$titles = array(
			'id_proposta_mae' => 'Proposta',
			'id' => 'Proposta Endosso',
			//'nr_endosso' => 'Endosso',
			'ds_nome_proponente' => 'Segurado',
			'ds_nome_produto' => 'Produto',
			'ds_nome_municipio' => 'Município',
			'ds_sigla' => 'UF',
			'data_semeadura' => 'Plantio',
			'lmga_total' => 'LMGA',
		    'ds_nome_usuario' => 'Digitador',
		    'fl_boleto' => 'Boleto Pago?',
		    'vencto_primeira_parcela' => 'Vencimento'
		);

		$format = array(
			'id' => array('align' => 'center'),
			'ds_nome_proponente' => array('align' => 'left'),
			'ds_nome_produto' => array('align' => 'left'),
			'ds_nome_municipio' => array('align' => 'left'),
			'ds_sigla' => array('align' => 'center'),
			'lmga_total' => array('align' => 'right'),
		    'data_semeadura' => array('align' => 'center', 'format' => 'data'),
			'ds_nome_usuario' => array('align' => 'left')
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($RsVistoriaPrevia);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_vistoria_previa.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($RsVistoriaPrevia);
				$Html->setFormat($format);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function vistoriapreviaAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Tecnica();
		$RsVistoriaPrevia = $Model->relatorioVistoriaPrevia($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));

		foreach($RsVistoriaPrevia as $Row){
			if($Row['tp_usuario'] == 'P'){
				$ds_nome_preposto = $Model->getPrepostoProposta($Row['id_usuario_criacao']);
			} else {
				$ds_nome_preposto = '';
			}

			$arr[$Row['id']]['id']                 = $Row['id'];
			$arr[$Row['id']]['ds_chave']           = $Row['ds_chave'];
			$arr[$Row['id']]['ds_nome_proponente'] = $Row['ds_nome_proponente'];
			$arr[$Row['id']]['ds_nome_produto']    = $Row['ds_nome_produto'];
			$arr[$Row['id']]['ds_nome_municipio']  = $Row['ds_nome_municipio'];
			$arr[$Row['id']]['ds_sigla']           = $Row['ds_sigla'];
			$arr[$Row['id']]['ds_status_vistoria'] = $Row['ds_status_vistoria'];
			$arr[$Row['id']]['dt_encaminhamento']  = $Row['dt_encaminhamento'];
			$arr[$Row['id']]['ds_nome_fantasia']   = $Row['ds_nome_fantasia'];
			$arr[$Row['id']]['dt_agendamento']     = $Row['dt_agendamento'];
			$arr[$Row['id']]['ds_nome_abreviado']  = $Row['ds_nome_abreviado'];
			$arr[$Row['id']]['ds_nome_preposto']   = $ds_nome_preposto;
		}

		$titles = array(
			'id' => 'Proposta',
			'ds_chave' => 'Status Proposta',
			'ds_nome_proponente' => 'Segurado',
			'ds_nome_produto' => 'Produto',
			'ds_nome_municipio' => 'Município',
			'ds_sigla' => 'UF',
			'ds_status_vistoria' => 'Status Vistoria',
			'dt_encaminhamento' => 'Data Encaminhamento',
		    'ds_nome_fantasia' => 'Empresa',
		    'dt_agendamento' => 'Data Agendamento',
		    'ds_turno' => 'Turno',
		    'ds_nome_abreviado' => 'Corretor',
		    'ds_nome_preposto' => 'Preposto'
		);

		$format = array(
			'id_proposta' => array('align' => 'center'),
			'ds_chave' => array('align' => 'center'),
			'ds_nome_proponente' => array('align' => 'left'),
			'ds_nome_produto' => array('align' => 'left'),
			'ds_nome_municipio' => array('align' => 'left'),
			'ds_sigla' => array('align' => 'center'),
			'ds_status_vistoria' => array('align' => 'left'),
		    'dt_encaminhamento' => array('align' => 'center'),
			'ds_nome_fantasia' => array('align' => 'left'),
			'dt_agendamento' => array('align' => 'center'),
			'ds_turno' => array('align' => 'center')
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($arr);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_vistoria_previa.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($arr);
				$Html->setFormat($format);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

    /**
     * Relatório de Vistorias Prévia - Finalizadas
     * Id: 1264
     * @return void
     */
	public function vistoriapreviafinalizadaAction()
    {
        $this->getHelper('ViewRenderer')->setNoRender();
        $this->getHelper('layout')->disableLayout();

        $rs = (new Relatorio_Model_Tecnica())->relatorioVistoriaPreviaFinalizada(
            $this->getRequest()->getParam('id_safra'),
            $this->getRequest()->getParam('id_produto')
        );

        $titles = array(
            'id' => 'Proposta',
            'id_proponente' => 'ID Segurado',
            'ds_nome_safra' => 'Safra',
            'ds_nome_produto' => 'Produto',
            'nr_quadra' => 'Quadra',
            'ds_nome_variedade' => 'Variedade',
            'ds_nome_ciclo' => 'Ciclo',
            'dt_inicio_semeadura' => 'Início Semeadura',
            'dt_final_semeadura' => 'Fim Semeadura',
            'vl_area_declarada' => 'Área Declarada',
            'vl_area_vistoriada' => 'Área Vistoriada',
            'vl_area_asseguravel' => 'Área Assegurável',
            'vl_area_excluida' => 'Área Excluída',
            'tipo_solo' => 'Solo',
            'ds_nome_municipio' => 'Município',
            'ds_sigla' => 'UF',
            'ds_nome_fantasia' => 'Empresa',
            'ds_vistoriador' => 'Vistoriador',
            'corretor' => 'Corretor',
            'preposto' => 'Preposto',
            'status_proposta' => 'Status Proposta',
            'status_laudo' => 'Status Vistoria',
            'tp_preenchimento' => 'Tipo de VP',
            'ds_status_analise' => 'Status Análise',
            'nr_endosso' => 'Endosso',
            'fl_reavaliacao' => 'Nova Vistoria',
            'dt_vistoria' => 'Data Vistoria',
            'dt_prazo_retorno' => 'Prazo para Retorno',
            'id_vistoria_previa' => 'ID Vistoria Prévia',
            'item' => 'Item',
            'coordenadas' => 'Coordenadas',
            'estadio_fenologico' => 'Estadio Fenológico',
            'tamanho_planta' => 'Tamanho da Planta',
            'tipo_semeadura' => 'Sistema de plantio',
            'espacamento_linhas' => 'Espaçamento Entre Linhas',
            'unidade_stand_plantas' => 'Unidade Stand de Plantas',
            'amostra_1' => 'Stand Amostra 1',
            'amostra_2' => 'Stand Amostra 2',
            'amostra_3' => 'Stand Amostra 3',
            'amostra_4' => 'Stand Amostra 4',
            'media_amostras' => 'Média Stand de Plantas',
            'populacao_ha' => 'População por ha',
            'vl_rendimento_proposta' => 'Rendimento da Proposta',
            'rendimento_inferior' => 'Rendimento é Inferior?',
            'vl_rendimento_estimado' => 'Novo Rendimento',
            'baixo_stand' => 'Baixo Stand',
            'incidencia_doencas' => 'Incidência de Doenças',
            'incidencia_pragas' => 'Incidência de Pragas',
            'incidencia_invasores' => 'Incidência de Invasores',
            'desuniformidade_plantio' => 'Desuniformidade de Plantio',
            'erosao' => 'Risco/Ocorrência de Erosão',
            'toxidez' => 'Toxidez',
            'restricoes_tecnicas' => 'Restrições Técnicas',
            'ds_nivel_tecnologico' => 'Nível Tecnológico',
            'ds_observacao' => 'OBS do Laudo',
            'obs_app' => 'OBS gerada pelo APP',
        );

        $format = array(
            'id_proposta' => array('align' => 'center'),
            'ds_nome_produto' => array('align' => 'left'),
            'ds_nome_fantasia' => array('align' => 'left'),
            'ds_nome_usuario' => array('align' => 'left'),
            'ds_vistoriador' => array('align' => 'left'),
            'status_proposta' => array('align' => 'center'),
            'status_laudo' => array('align' => 'center'),
            'ds_status_analise' => array('align' => 'center'),
            'ds_nome_safra' => array('align' => 'center'),
            'dt_prazo_retorno' => array('align' => 'center')
        );

        switch ($this->getRequest()->getParam('tipo')) {
            case 'excel':
                $csv = new Agro_Plugin_Rs2Csv();
                $csv->setRecordSet($rs);
                $csv->setType("application/octet-stream");
                $csv->setFileName("relatorio_vistorias_previas_finalizadas.csv");
                $csv->setDisposition("attachment");
                $csv->setTitles($titles);
                $csv->setSeparator(";");
                $csv->getCsv();

                break;
            case 'html':
                $html = new Agro_Plugin_Rs2Html();
                $html->setRecordSet($rs);
                $html->setFormat($format);
                $html->setTitles($titles);
                $html->getHtml();

                break;
        }
    }


	public function vistoriapreviacompletoAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Tecnica();

		$RsVistoriaPrevia = $Model->relatorioVistoriaPreviaCompleto(
		  $this->getRequest()->getParam('id_safra'),
          $this->getRequest()->getParam('id_produto'),
          false,
          $this->getRequest()->getParam('id_estado') ?? [],
          $this->getRequest()->getParam('id_municipio') ?? []
        );

		$titles = array(
			'id' => 'Proposta',
			'ds_chave' => 'Status Proposta',
			'id_proponente' => 'ID Segurado',
			'ds_nome_produto' => 'Produto',
			'total_itens'	  => 'Total Itens',
		    'vl_area' => 'Área',
		    'dt_semeadura' => 'Plantio',
			'ds_nome_municipio' => 'Município',
			'ds_sigla' => 'UF',
			'ds_status_vistoria' => 'Status Vistoria',
			'tp_preenchimento' => 'Tipo de VP',
			'dt_analise'		=> 'Data Análise',
		    'alterado_por' => 'Alterado Por',
		    'ds_status_analise' => 'Status Análise',
			'dt_encaminhamento' => 'Data Encaminhamento',
		    'ds_nome_fantasia' => 'Empresa',
		    'dt_agendamento' => 'Data Agendamento',
		    'ds_turno' => 'Turno',
		    'dt_vistoria' => 'Data Vistoria',
		    'dt_digitacao' => 'Data Digitação',
		    'dt_transmissao' => 'Data Transmissão',
		    'ds_nome_abreviado' => 'Corretor',
		    'ds_nome_preposto' => 'Preposto',
		    'fl_sinistro' => 'Sinistro?',
		    'nr_endosso' => 'Endossos?',
		    'prioridade_conferencia' => 'Prioridade de Conferência',
		    'dt_prazo_retorno' => 'Prazo para Retorno',
		);

		$format = array(
			'id_proposta' => array('align' => 'center'),
			'ds_chave' => array('align' => 'center'),
			'ds_nome_proponente' => array('align' => 'left'),
			'ds_nome_produto' => array('align' => 'left'),
			'total_itens' => array('align' => 'center'),
			'vl_area' => array('align' => 'right'),
			'ds_nome_municipio' => array('align' => 'left'),
			'ds_sigla' => array('align' => 'center'),
			'ds_status_vistoria' => array('align' => 'left'),
		    'ds_status_analise' => array('align' => 'left'),
		    'dt_encaminhamento' => array('align' => 'center'),
			'ds_nome_fantasia' => array('align' => 'left'),
			'dt_agendamento' => array('align' => 'center'),
			'ds_turno' => array('align' => 'center'),
		    'dt_vistoria' => array('align' => 'center'),
		    'dt_digitacao' => array('align' => 'center'),
		    'fl_sinistro' => array('align' => 'center'),
		    'dt_prazo_retorno' => array('align' => 'center')
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($RsVistoriaPrevia);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_vistoria_previa.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($RsVistoriaPrevia);
				$Html->setFormat($format);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function vistoriapreviaempresasAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Tecnica();
		$RsVistoriaPrevia = $Model->relatorioVistoriaPreviaCompleto($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'), true);

		foreach($RsVistoriaPrevia as $Row){

			$arr[$Row['id']]['id']                 = $Row['id'];
			$arr[$Row['id']]['ds_nome_proponente'] = $Row['ds_nome_proponente'];
			$arr[$Row['id']]['ds_nome_produto']    = $Row['ds_nome_produto'];
			$arr[$Row['id']]['ds_nome_municipio']  = $Row['ds_nome_municipio'];
			$arr[$Row['id']]['ds_sigla']           = $Row['ds_sigla'];
			$arr[$Row['id']]['ds_status_vistoria'] = $Row['ds_status_vistoria'];
			$arr[$Row['id']]['ds_status_analise'] =  $Row['ds_status_analise'];
			$arr[$Row['id']]['dt_encaminhamento']  = $Row['dt_encaminhamento'];
			$arr[$Row['id']]['dt_agendamento']     = $Row['dt_agendamento'];
			$arr[$Row['id']]['ds_turno']           = $Row['ds_turno'];
			$arr[$Row['id']]['fl_sinistro']        = $Row['fl_sinistro'];
			$arr[$Row['id']]['tp_preenchimento']   = $Row['tp_preenchimento'];
			$arr[$Row['id']]['dt_prazo_retorno']   = $Row['dt_prazo_retorno'];
		}

		$titles = array(
				'id' => 'Proposta',
				'ds_nome_proponente' => 'Segurado',
				'ds_nome_produto' => 'Produto',
				'ds_nome_municipio' => 'Município',
				'ds_sigla' => 'UF',
				'ds_status_vistoria' => 'Status Vistoria',
				'tp_preenchimento' => 'Tipo de VP',
				'ds_status_analise' => 'Status Análise',
				'dt_encaminhamento' => 'Data Encaminhamento',
				'dt_agendamento' => 'Data Agendamento',
				'ds_turno' => 'Turno',
				'fl_sinistro' => 'Sinistro?',
				'dt_prazo_retorno' => 'Prazo para Retorno'
		);

		$format = array(
				'id_proposta' => array('align' => 'center'),
				'ds_nome_proponente' => array('align' => 'left'),
				'ds_nome_produto' => array('align' => 'left'),
				'ds_nome_municipio' => array('align' => 'left'),
				'ds_sigla' => array('align' => 'center'),
				'ds_status_vistoria' => array('align' => 'left'),
				'ds_status_analise' => array('align' => 'left'),
				'dt_encaminhamento' => array('align' => 'center'),
				'dt_agendamento' => array('align' => 'center'),
				'ds_turno' => array('align' => 'center'),
				'fl_sinistro' => array('align' => 'center'),
				'dt_prazo_retorno' => array('align' => 'center')
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($arr);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_vistoria_previa_empresa.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($arr);
				$Html->setFormat($format);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function premioliquidoAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$PremioLiquido = new Relatorio_Model_Tecnica();
		$RsPremioLiquido = $PremioLiquido->relatorioPremioLiquido($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));

		$titles = array(
			'id_proposta' => 'Proposta',
			'ds_nome_produto' => 'Produto',
			'ds_nome_fantasia' => 'Corretor',
			'municipio_propriedade' => 'Município',
			'estado_propriedade' => 'UF',
			'ds_nome_cultura' => 'Cultura',
			'valor_premio_liquido' => 'Prêmio Líquido',
			'total_lmga' => 'LGMA',
			'total_area' => 'Área',
			'fl_renovacao' => 'Renovação',
			'ds_status' => 'Status',
			'dt_vigencia_inicio' => 'Início de Vigência',
			'valor_subvencao_federal' => 'Subvenção Federal'
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($RsPremioLiquido);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_premio_liquido.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($RsPremioLiquido);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function verificacaonobreAction() {
		// ini_set("memory_limit", "512M");

		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Tecnica();
		$Rs = $Model->relatorioItensSegurados($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));

		$titlesExcel = array(
			'id_proposta' => 'Proposta',
			'id_proposta_composto' => 'Proposta Completo',
			'dt_vigencia_inicio' => 'Início de Vigência',
			'nr_item_segurado' => 'Item',
			'vl_rendimento_tonelada' => 'Prod. Estimada',
			'vl_area' => 'Área',
			'vl_lmga' => 'IS',
			'ds_nome_variedade' => 'Variedade',
			'ds_nome_corretor' => 'Corretor',
			'ds_nome_cultura' => 'Cultura',
			'ds_sigla' => 'UF',
			'ds_nome_municipio' => 'Município',
			'nr_ibge' => 'IBGE'
		);

		$titlesHTML = array(
			'id_proposta' => 'Proposta',
			'id_proposta_composto' => 'Proposta Completo',
			'dt_vigencia_inicio' => 'Início de Vigência',
			'nr_item_segurado' => 'Item',
			'vl_rendimento_tonelada' => 'Prod. Estimada',
			'vl_area' => 'Área',
			'vl_lmga' => 'IS',
			'ds_nome_variedade' => 'Variedade',
			'ds_nome_corretor' => 'Corretor',
			'ds_nome_cultura' => 'Cultura',
			'ds_sigla' => 'UF',
			'ds_nome_municipio' => 'Município',
			'nr_ibge' => 'IBGE'
		);

		$format = array(
			'id_proposta' => array('align' => 'center'),
			'id_proposta_composto' => array('align' => 'center'),
			'dt_vigencia_inicio' => array('align' => 'center'),
			'nr_item_segurado' => array('align' => 'left'),
			'vl_rendimento_tonelada' => array('align' => 'right'),
			'vl_area' => array('align' => 'right'),
			'vl_lmga' => array('align' => 'right')
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($Rs);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_itens_segurados.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titlesExcel);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($Rs);
				$Html->setTitles($titlesHTML);
				$Html->setFormat($format);
				$Html->getHtml();

				break;
		}
	}

	public function boletosAction() {
		ini_set("memory_limit", "512M");

		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Boletos = new Relatorio_Model_Tecnica();
		$RsBoletos = $Boletos->relatorioBoletos($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));

		$titlesExcel = array(
			'id_proposta' => 'Proposta',
		    'ds_chave' => 'Status',
			'nr_parcela' => 'Parcela',
			'nu_boleto' => 'Boleto',
			'ds_identificador' => 'Identificador',
			'fl_pago' => 'Pago?',
			'fl_ativo' => 'Ativo?'
		);

		$titlesHTML = array(
			'id_proposta' => 'Proposta',
		    'ds_chave' => 'Status',
			'nr_parcela' => 'Parcela',
			'url' => 'Boleto',
			'ds_identificador' => 'Identificador',
			'fl_pago' => 'Pago?',
			'fl_ativo' => 'Ativo?'
		);

		$format = array(
			'id_proposta' => array('align' => 'center'),
		    'ds_chave' => array('align' => 'center'),
			'fl_pago' => array('align' => 'center', 'format' => 'yesno'),
			'fl_ativo' => array('align' => 'center', 'format' => 'yesno'),
			'url' => array('align' => 'center')
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($RsBoletos);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_boletos.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titlesExcel);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($RsBoletos);
				$Html->setTitles($titlesHTML);
				$Html->setFormat($format);
				$Html->getHtml();

				break;
		}
	}

	public function subvencaocadinAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Subvencao = new Relatorio_Model_Tecnica();
		$RsSubvencao = $Subvencao->relatorioSubvencaoCadin($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));
/*
		$count = 0;
		foreach($RsSubvencao as $Row){
			$arr[$count]['subvencao_concedida']     = $Row['subvencao_concedida'];
			$arr[$count]['fl_boleto_pago']          = $Row['fl_boleto_pago'];
			$arr[$count]['ds_status']               = $Row['ds_status'];
			$arr[$count]['codigo_seguradora']       = $Row['codigo_seguradora'];
			$arr[$count]['dt_vigencia_inicio']      = $Row['dt_vigencia_inicio'];
			$arr[$count]['id_proposta_composto']    = $Row['id_proposta_composto'];
			$arr[$count]['cpf_cnpj']                = $Row['cpf_cnpj'];
			$arr[$count]['ds_nome_proponente']      = $Row['ds_nome_proponente'];
			$arr[$count]['valor_subvencao_federal'] = $Row['valor_subvencao_federal'];
			$arr[$count]['valor_total']             = $Row['valor_total'];
			$arr[$count]['vl_custo_apolice']        = $Row['vl_custo_apolice'];
			$arr[$count]['cd_bacen']                = $Row['cd_bacen'];
			$arr[$count]['cd_bacen_municipio']      = $Row['cd_bacen_municipio'];
			$arr[$count]['zoneamento_mapa']         = $Row['zoneamento_mapa'];
			$arr[$count]['quest_pronamp']           = $Row['quest_pronamp'];
			$arr[$count]['quest_organico']          = $Row['quest_organico'];
			$count++;
		}
*/
		$titles = array(
			'subvencao_concedida' => 'Subvenção Concedida?',
			'fl_boleto_pago' => 'Boleto',
			'ds_status' => 'Status',
			'codigo_seguradora' => 'Codigo Seguradora',
			'dt_vigencia_inicio' => 'Data da Proposta',
            'id_proposta_composto' => 'Número da Proposta',
            'cpf_cnpj' => 'CPF ou CNPJ do Segurado',
			'ds_nome_proponente' => 'Nome do Segurado',
			'valor_subvencao_federal' => 'Subvenção (R$)',
			'valor_total' => 'Prêmio Total (R$)',
			'vl_custo_apolice' => 'Custo de Emissão de Apólice',
			'cd_bacen' => 'Codigo da Atividade (Banco Central)',
			'cd_bacen_municipio' => 'Codigo do Municipio (Banco Central)',
			'zoneamento_mapa' => 'Utilizacao do Zoneamento Agricola do MAPA',
			'quest_pronamp' => 'Beneficiario do Pronamp',
			'quest_organico' => 'Cultura Organica'
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($RsSubvencao);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_subvencao_consulta_cadin.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($RsSubvencao);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function subvencaoapolicecadinAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Subvencao = new Relatorio_Model_Tecnica();
		$RsSubvencao = $Subvencao->relatorioSubvencaoApoliceCadin($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));

		$titles = array(
				'subvencao_concedida' => 'Subvenção Concedida?',
				'fl_boleto_pago' => 'Boleto',
				'ds_status' => 'Status',
				'codigo_seguradora' => 'Codigo Seguradora',
				'dt_vigencia_inicio' => 'Data da Proposta',
				'id_proposta_composto' => 'Número da Proposta',
				'cpf_cnpj' => 'CPF ou CNPJ do Segurado',
				'ds_nome_proponente' => 'Nome do Segurado',
				'valor_subvencao_federal' => 'Subvenção (R$)',
				'valor_total' => 'Prêmio Total (R$)',
				'vl_custo_apolice' => 'Custo de Emissão de Apólice',
				'cd_bacen' => 'Codigo da Atividade (Banco Central)',
				'cd_bacen_municipio' => 'Codigo do Municipio (Banco Central)',
				'zoneamento_mapa' => 'Utilizacao do Zoneamento Agricola do MAPA',
				'quest_organico' => 'Cultura Organica',
				'quest_pronamp' => 'Beneficiario do Pronamp',
				'ds_razao_social_seguradora' => 'Razão Social da Seguradora',
				'cpf_cnpj_seguradora' => 'CNPJ da Seguradora',
				'dt_apolice' => 'Data da Apólice',
				'nr_apolice' => 'Número da Apólice',
				'ds_nome_propriedade' => 'Nome da Propriedade Rural',
				'ds_endereco_propriedade' => 'Logradouro da Propriedade Rural',
				'ds_endereco_nro_propriedade' => 'Numero da Propriedade Rural',
				'ds_endereco_complemento_propriedade' => 'Complemento do Endereço da Propriedade Rural',
				'ds_nome_municipio_propriedade' => 'Municipio da Propriedade Rural',
				'ds_sigla_propriedade' => 'Estado da Propriedade Rural',
				'ds_endereco_cep_propriedade' => 'CEP da Propriedade Rural',
				'ds_endereco_segurado' => 'Logradouro do Segurado',
				'ds_endereco_nro_segurado' => 'Número do Endereço do Segurado',
				'ds_endereco_complemento_segurado' => 'Complemento do Endereço do Segurado',
				'ds_nome_municipio_segurado' => 'Município do Endereço do Segurado',
				'ds_sigla_segurado' => 'Estado do Endereço do Segurado',
				'ds_endereco_cep_segurado' => 'CEP do Endereço do Segurado',
				'produtividade_estimada' => 'Produtividade Estimada',
				'vl_area' => 'Área Segurada',
				'produtividade_garantida' => 'Produtividade Segurada',
				'vl_lmga' => 'Importância Segurada',
				'nr_endosso' => 'Número do Endosso',
				'nr_susep' => 'Número do Processo do Produto na SUSEP',
				'coord1' => 'Grau Latitude',
				'coord2' => 'Minuto Latitude',
				'coord3' => 'Segundo Latitude',
				'coord4' => 'Posição Latitude',
				'coord5' => 'Grau Longitude',
				'coord6' => 'Minuto Longitude',
				'coord7' => 'Segundo Longitude',
				'coord8' => 'Posição Longitude'
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($RsSubvencao);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_subvencao_apolice_mapa.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($RsSubvencao);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function consultasubvencaomapaAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Subvencao = new Relatorio_Model_Tecnica();
		$RsSubvencao = $Subvencao->relatorioConsultaSubvencaoMapa($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));

		$titles = array(
				'id_proposta_mae' => 'Proposta',
				'id_proposta' => 'Proposta Endosso',
				'nr_endosso' => 'Endosso',
				'ds_nome_proponente' => 'Segurado',
				'dt_vigencia_inicio' => 'Inicio Vigencia',
				'dt_vigencia_inicio_original' => 'Inicio Vigencia Original',
				'ds_nome_fantasia' => 'Corretor',
				'ds_nome_produto' => 'Produto',
				'ds_status' => 'Status',
				'quest_zoneamento_mapa' => 'Quest. Mapa',
				'fl_solicitacao_pendente' => 'Solicitação Pendente?',
				'fl_retorno_pendente' => 'Retorno Pendente?',
				'fl_sucesso' => 'Subvenção Liberada?',
				'dt_criacao' => 'Data Consulta',
				'ds_retorno' => 'Retorno'
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($RsSubvencao);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_consulta_subvencao_mapa.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($RsSubvencao);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function subvencaoAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Subvencao = new Relatorio_Model_Tecnica();
		$RsSubvencao = $Subvencao->relatorioSubvencao($this->getRequest()->getParam('id_cultura'),$this->getRequest()->getParam('ds_ano'));

		$titles = array(
			'ds_nome_abreviado' => 'Corretor',
			'ds_nome_cultura' => 'Cultura',
			'vl_liberado' => 'Valor Liberado (R$)',
			'vl_usado' => 'Valor Utilizado (R$)',
			'fl_ativo' => 'Ativo'
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($RsSubvencao);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_subvencao.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($RsSubvencao);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function subvencaogruposAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Subvencao = new Relatorio_Model_Tecnica();
		$RsSubvencao = $Subvencao->relatorioSubvencaoGrupos($this->getRequest()->getParam('id_cultura'), $this->getRequest()->getParam('ds_ano'));

		$titles = array(
			'ds_nome_validacao' => 'Validação',
			'ds_nome_cultura' => 'Cultura',
			'vl_liberado' => 'Valor Liberado (R$)',
			'vl_usado' => 'Valor Utilizado (R$)',
		    'ativo' => 'Ativo'
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($RsSubvencao);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_subvencao_grupos.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($RsSubvencao);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function statusnobreAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Tecnica();
		$RsStatusNobre = $Model->relatorioStatusNobre($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));

		$titles = array(
			'id' => 'Proposta',
			'ds_status_seguradora' => 'Status Nobre'
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($RsStatusNobre);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_status_nobre.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($RsStatusNobre);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

    /**
     * Relatório de Coordenadas
     * Id: 765
     * @return void
     */
	public function coordenadasAction()
    {
        $this->getHelper('ViewRenderer')->setNoRender();
        $this->getHelper('layout')->disableLayout();

        $rs = (new Relatorio_Model_Tecnica())->relatorioCoordenadas(
            $this->getRequest()->getParam('id_safra'),
            $this->getRequest()->getParam('id_produto')
        );

        $arr = array();
        $count = 0;
        $id_proposta = null;

        foreach ($rs as $row) {
            $coordenadasDecimais = [];

            if (!empty($row['ds_coordenadas_geograficas'])) {
                $coordenadasDecimais = Agro_Util::coordenadas($row['ds_coordenadas_geograficas']);
            }

            if ($id_proposta != $row['id_proposta']) {
                $count++;
                $coordenadasDecimaisItemPropriedade = Agro_Util::coordenadas($row['ds_coordenadas']);
                $id_proposta = $row['id_proposta'];
                $arr[$count]['id_proposta'] = $row['id_proposta'];
                $arr[$count]['nr_ibge'] = $row['nr_ibge'];
                $arr[$count]['dt_vigencia_inicio'] = $row['dt_vigencia_inicio'];
                $arr[$count]['ds_nome_municipio'] = $row['ds_nome_municipio'];
                $arr[$count]['ds_sigla'] = $row['ds_sigla'];
                $arr[$count]['nr_item_segurado'] = 'PROPRIEDADE';
                $arr[$count]['ds_coordenadas_geograficas'] = $row['ds_coordenadas'];
                $arr[$count]['ds_chave'] = $row['ds_chave'];
                $arr[$count]['latitude'] = $coordenadasDecimaisItemPropriedade['lat'];
                $arr[$count]['longitude'] = $coordenadasDecimaisItemPropriedade['lon'];
                $arr[$count]['cd_status'] = $row['cd_status'];
            }

            $count++;
            $arr[$count]['id_proposta'] = $row['id_proposta'];
            $arr[$count]['nr_ibge'] = $row['nr_ibge'];
            $arr[$count]['dt_vigencia_inicio'] = $row['dt_vigencia_inicio'];
            $arr[$count]['ds_nome_municipio'] = $row['ds_nome_municipio'];
            $arr[$count]['ds_sigla'] = $row['ds_sigla'];
            $arr[$count]['nr_item_segurado'] = $row['nr_item_segurado'];
            $arr[$count]['ds_coordenadas_geograficas'] = $row['ds_coordenadas_geograficas'];
            $arr[$count]['ds_chave'] = $row['ds_chave'];
            $arr[$count]['latitude'] = $coordenadasDecimais['lat'];
            $arr[$count]['longitude'] = $coordenadasDecimais['lon'];
            $arr[$count]['cd_status'] = $row['cd_status'];
        }

        $titles = array(
            'id_proposta' => 'Proposta',
            'nr_ibge' => 'IBGE',
            'ds_nome_municipio' => 'Município',
            'ds_sigla' => 'UF',
            'dt_vigencia_inicio' => 'Início de Vigência',
            'nr_item_segurado' => 'Item',
            'ds_coordenadas_geograficas' => 'Coordenada',
            'ds_chave' => 'Status Descrição',
            'latitude' => 'Latitude',
            'longitude' => 'Longitude',
            'cd_status' => 'Status',
        );

        switch ($this->getRequest()->getParam('tipo')) {
            case 'excel':
                $csv = new Agro_Plugin_Rs2Csv();
                $csv->setRecordSet($arr);
                $csv->setType("application/octet-stream");
                $csv->setFileName("relatorio_coordenadas.csv");
                $csv->setDisposition("attachment");
                $csv->setTitles($titles);
                $csv->setSeparator(";");
                $csv->getCsv();

                break;
            case 'html':
                $html = new Agro_Plugin_Rs2Html();
                $html->setRecordSet($arr);
                $html->setTitles($titles);
                $html->getHtml();

                break;
        }
    }

	public function premiocoberturaAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Tecnica();
		$Rs = $Model->relatorioPremioCobertura($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));

		$titles = array(
			'id_proposta' => 'Proposta',
			'vl_premio' => 'Prêmio',
			'vl_lmga' => 'LMGA Cobertura',
			'ds_nome_cobertura' => 'Cobertura',
			'vl_franquia' => 'Franquia',
		    'ds_chave' => 'Status',
		    'ds_nome_produto' => 'Produto',
		    'ds_nome_cultura' => 'Cultura',
		    'nr_ibge' => 'IBGE',
		    'vl_comissao' => '% Comissão'
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($Rs);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_premio_cobertura.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($Rs);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function resultadopremiocoberturaAction() {
	    $this->getHelper('ViewRenderer')->setNoRender();
	    $this->getHelper('layout')->disableLayout();
	    
		$modelSinistro = new Relatorio_Model_Sinistro();

		// Query 1 que pega AQUI getValorIndenizacaoLiq17 agrupado por liquidacao
		$sqlValoresItensSegurados = "SELECT sis.vl_area, ";
        $sqlValoresItensSegurados .= "       sis.vl_rendimento_tonelada, ";
        $sqlValoresItensSegurados .= "       sis.vl_lmga, ";
        $sqlValoresItensSegurados .= "       lfis.vl_percent_colhido, ";
        $sqlValoresItensSegurados .= "       lfis.vl_rendimento_final_lavoura, ";
        $sqlValoresItensSegurados .= "       isc.vl_producao_garantida, ";
        $sqlValoresItensSegurados .= "       lisc.id_liquidacao ";
        $sqlValoresItensSegurados .= "FROM seguro.itens_segurados AS sis ";
        $sqlValoresItensSegurados .= "INNER JOIN sinistro.laudos_finais_itens_segurados AS lfis ON sis.id = lfis.id_item_segurado ";
        $sqlValoresItensSegurados .= "INNER JOIN sinistro.liquidacoes_itens_segurados_coberturas_lf AS lisclf ON lfis.id = lisclf.id_laudo_final_item_segurado ";
        $sqlValoresItensSegurados .= "INNER JOIN sinistro.liquidacoes_itens_segurados_coberturas AS lisc ON lisclf.id_liquidacoes_itens_segurados_coberturas = lisc.id ";
        $sqlValoresItensSegurados .= "INNER JOIN seguro.itens_segurados_complemento AS isc ON sis.id = isc.id_item_segurado ";
        $sqlValoresItensSegurados .= "INNER JOIN sinistro.laudos_finais AS lf ON lf.id = lfis.id_laudo_final ";
        $sqlValoresItensSegurados .= "INNER JOIN sinistro.liquidacoes AS l ON l.id = lisc.id_liquidacao AND l.id_tipo_liquidacao = 16 ";
        $sqlValoresItensSegurados .= "WHERE (lfis.id_motivo_quadra_nao_vistoriada IS NULL ";
        $sqlValoresItensSegurados .= "       OR lfis.id_motivo_quadra_nao_vistoriada IN (1, 2, 3, 4, 7)) ";
        $sqlValoresItensSegurados .= "  AND (lf.id_status <> 207);";
        $rsValoresItensSegurados = $modelSinistro->fetchAll($sqlValoresItensSegurados);
        
		$dadosItensLiquidacao = [];

        foreach ($rsValoresItensSegurados as $registro) {
            if (!array_key_exists($registro['id_liquidacao'], $dadosItensLiquidacao)) {
                $dadosItensLiquidacao[$registro['id_liquidacao']] = [];
            }

            $dadosItensLiquidacao[$registro['id_liquidacao']][] = $registro;
        }

		// Query 2 pegando todas as liquidacoes liq_17 agrupadas por processo
		$sqlProcessoLiquidacao17 = "SELECT distinct l.id_processo, l.id as id_liquidacao, c.ds_nome_cobertura
									  FROM sinistro.processos p 
									  JOIN sinistro.liquidacoes l ON l.id_processo = p.id
									  JOIN sinistro.liquidacoes_itens_segurados_coberturas lisc ON lisc.id_liquidacao = l.id
									  JOIN produto.coberturas c ON c.id = lisc.id_cobertura
									  WHERE l.id_tipo_liquidacao = 16;";

		$rsProcessoLiquidacao17 = $modelSinistro->fetchAll($sqlProcessoLiquidacao17);
		$dadosProcessoLiquidacoes17 = [];

		foreach ($rsProcessoLiquidacao17 as $registro) {
            if (!array_key_exists($registro['id_processo'], $dadosProcessoLiquidacoes17)) {
                $dadosProcessoLiquidacoes17[$registro['id_processo']] = [];
            }

            $dadosProcessoLiquidacoes17[$registro['id_processo']][] = $registro;
        }

	    $Model = new Relatorio_Model_Tecnica();
	    $Rs = $Model->relatorioPremioCobertura($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));

		//Pego dentro do array de processos se existe a chave, e realiza o recalculo da liq17 de acordo com a query 1
		foreach($Rs as &$premioCobertura) {

			//Só recalcula se tiver valor de indenização retornado
			if ($premioCobertura['vl_indenizacao'] == '0.00') {
				continue;
			}

			$idProcesso = $premioCobertura['id_processo'];
			if (array_key_exists($idProcesso, $dadosProcessoLiquidacoes17)) {

				foreach($dadosProcessoLiquidacoes17[$idProcesso] as $idLiquidacao17) {

					if (empty($dadosItensLiquidacao[$idLiquidacao17['id_liquidacao']])) {
						continue;
					}

					if ($premioCobertura['ds_nome_cobertura'] != $idLiquidacao17['ds_nome_cobertura']) {
						continue;
					}

					$soma_mpa = 0;
					$soma_pgm = 0;
					$soma_lmga = 0;
					$area_total = 0;
			
					$itens = $dadosItensLiquidacao[$idLiquidacao17['id_liquidacao']];
					foreach ($itens as $quadra) {
						$rendimento = round(((($quadra['vl_percent_colhido']/100) * $quadra['vl_area'] * $quadra['vl_rendimento_tonelada']) + ((1 - ($quadra['vl_percent_colhido']/100))
							  * $quadra['vl_area'] * $quadra['vl_rendimento_final_lavoura']))/$quadra['vl_area'], 3);
			
						$soma_mpa += $rendimento * $quadra['vl_area'];
						$soma_pgm += $quadra['vl_area'] * $quadra['vl_producao_garantida'];
						$soma_lmga += $quadra['vl_lmga'];
						$area_total += $quadra['vl_area'];
					}
					
					if ($soma_mpa == 0 || $soma_pgm == 0) {
						$premioCobertura['vl_indenizacao'] = '0.00';
						continue;
					}

			
					$pmo = ($soma_mpa / $area_total);
					$pgm = $soma_pgm / $area_total;
					$sub = $pgm - $pmo;

					if (($sub) == 0) {
						$premioCobertura['vl_indenizacao'] = '0.00';
						continue;
					}

					$perc_indenizacao = round(($sub / $pgm), 4);
					$perc_indenizacao = round($perc_indenizacao * 100, 2);

					$premioCobertura['vl_indenizacao'] = $perc_indenizacao < 0 ? '0.00' : round(($perc_indenizacao/100) * $soma_lmga, 2);
				}
			}

			$premioCobertura['vl_prejuizo'] = number_format($premioCobertura['vl_prejuizo'], 2, '.', '');
			$premioCobertura['vl_indenizacao'] = number_format($premioCobertura['vl_indenizacao'], 2, '.', '');
		}

	    $titles = array(
	        'id_proposta' => 'Proposta',
	        'vl_premio' => 'Prêmio',
	        'vl_lmga' => 'LMGA Cobertura',
	        'vl_area' => 'Área',
	        'ds_nome_cobertura' => 'Cobertura',
	        'vl_franquia' => 'Franquia',
	        'ds_chave' => 'Status',
	        'ds_nome_produto' => 'Produto',
	        'ds_nome_cultura' => 'Cultura',
	        'nr_ibge' => 'IBGE',
	        'vl_comissao' => '% Comissão',
	        'ds_nome_safra' => 'Safra',
            'vl_prejuizo' => 'Prejuízo',
            'vl_indenizacao' => 'Indenização'
	    );
	    
	    switch ($this->getRequest()->getParam('tipo')) {
	        case 'excel':
	            $Csv = new Agro_Plugin_Rs2Csv();
	            $Csv->setRecordSet($Rs);
	            $Csv->setType("application/octet-stream");
	            $Csv->setFileName("relatorio_resultado_premio_cobertura.csv");
	            $Csv->setDisposition("attachment");
	            $Csv->setTitles($titles);
	            $Csv->setSeparator(";");
	            $Csv->getCsv();
	            
	            break;
	        case 'html':
	            $Html = new Agro_Plugin_Rs2Html();
	            $Html->setRecordSet($Rs);
	            $Html->setTitles($titles);
	            $Html->getHtml();
	            
	            break;
	    }
	}
	
	public function lmicoberturaAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Tecnica();
		$RsLmiCobertura = $Model->relatorioLmiCobertura($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));

		$titles = array(
			'id' => 'Proposta',
			'soma_lmga' => 'LMGA',
    		'vl_lmi' => 'LMI Cobertura',
    		'ds_nome_cobertura' => 'Cobertura',
    		'vl_franquia' => 'Franquia',
    		'ds_nome_produto' => 'Produto',
    		'ds_nome_cultura' => 'Cultura',
    		'soma_area_parcial' => 'Área'
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($RsLmiCobertura);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_status_nobre.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($RsLmiCobertura);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function subvencaopropostasAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Subvencao = new Relatorio_Model_Tecnica();
		$RsSubvencao = $Subvencao->relatorioSubvencaoPropostas($this->getRequest()->getParam('id_cultura'),$this->getRequest()->getParam('ds_ano'));

		$titles = array(
			'id' => 'Proposta',
			'ds_nome_proponente' => 'Segurado',
		    'cpf_cnpj' => 'CPF/CNPJ',
		    'dt_vigencia_inicio' => 'Início Vigência',
		    'ds_nome_cultura' => 'Cultura',
			'subvencao_federal' => 'Subvenção Federal(R$)',
			'subvencao_estadual' => 'Subvenção Estadual(R$)'
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($RsSubvencao);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_subvencao_propostas.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($RsSubvencao);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function circularlavagemdinheiroAction() {

		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Tecnica();
		$Rs = $Model->relatorioCircularLavagemDinheiro($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'), $this->getRequest()->getParam('dt_inicio'), $this->getRequest()->getParam('dt_fim'));
		$arr = array();

		foreach($Rs as $Row){
			$arr[$Row['id_proposta']]['id_proposta']                         = $Row['id_proposta'];
			$arr[$Row['id_proposta']]['fl_politicamente_exposto']            = $Row['fl_politicamente_exposto'];
			$arr[$Row['id_proposta']]['fl_parentesco_politicamente_exposto'] = $Row['fl_parentesco_politicamente_exposto'];
			$arr[$Row['id_proposta']]['vl_faturamento_anual']                = $Row['vl_faturamento_anual'];
			$arr[$Row['id_proposta']]['vl_patrimonio']                       = $Row['vl_patrimonio'];
			$arr[$Row['id_proposta']]['ds_faixa_remuneracao']                = $Row['ds_faixa_remuneracao'];

			$Rs_socios = $Model->getSocios($Row['cpf_cnpj']);
			$i = 0;
			foreach($Rs_socios as $row2){
				$arr[$Row['id_proposta']]['socio_'.$i] = $row2['ds_nome_socio'];
				$i++;
			}
		}

		$titles = array(
			'id_proposta' => 'Proposta',
			'ds_faixa_remuneracao' => 'Renda',
			'fl_politicamente_exposto' => 'Politicamente Exposta',
			'fl_parentesco_politicamente_exposto' => 'Relac proximo polit. Exposta',
			'vl_patrimonio' => 'Valor do Patrimônio',
		    'vl_faturamento_anual' => 'Faturamento Anual',
			'socio_0' => 'Sócio 1',
			'socio_1' => 'Sócio 2',
			'socio_2' => 'Sócio 3',
			'socio_3' => 'Sócio 4',
			'socio_4' => 'Sócio 5'
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($arr);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_circular_lavagem_dinheiro.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($arr);
				$Html->setTitles($titles);
				$Html->setFormat($format);
				$Html->getHtml();
				break;
		}
	}

	public function variedadeculturasAction() {

		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Tecnica();
		$Rs = $Model->relatorioVariedades($this->getRequest()->getParam('id_cultura'));
		$arr = array();

		foreach($Rs as $Row){
			$arr[$Row['id']]['id']                          = $Row['id'];
			$arr[$Row['id']]['ds_nome_variedade']           = $Row['ds_nome_variedade'];
			$arr[$Row['id']]['cd_variedade_seguradora']     = $Row['cd_variedade_seguradora'];
			$arr[$Row['id']]['fl_ativo']                    = $Row['fl_ativo'];

			$Rs_cob = $Model->getCulturasVariedades($Row['id']);
			$i = 0;
			foreach($Rs_cob as $row2){
				$arr[$Row['id']]['cultura_'.$i] = $row2['ds_nome_cultura'];
				$i++;
			}
		}

		$titles = array(
				'id' => 'Id',
				'ds_nome_variedade' => 'Variedade',
				'cd_variedade_seguradora' => 'Cod. Seguradora',
				'fl_ativo' => 'Ativo?',
				'cultura_0' => 'Cultura 1',
				'cultura_1' => 'Cultura 2',
				'cultura_2' => 'Cultura 3',
				'cultura_3' => 'Cultura 4',
				'cultura_4' => 'Cultura 5'
		);

		$format = array(
				'ds_nome_variedade' => array('align' => 'left')
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($arr);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_variedades.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($arr);
				$Html->setTitles($titles);
				$Html->setFormat($format);
				$Html->getHtml();
				break;
		}
	}

	public function analiseduplicadaAction() {
	    $this->getHelper('ViewRenderer')->setNoRender();
	    $this->getHelper('layout')->disableLayout();

	    $Model = new Relatorio_Model_Tecnica();
	    $Rs = $Model->relatorioAnaliseDuplicadas($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));

	    $titles = array(
	            'id_proposta' => 'Proposta',
	            'dt_vigencia_inicio' => 'Início Vigência',
	            'ds_nome_fantasia' => 'Corretor',
	            'ds_nome_usuario' => 'Digitador',
	            'ds_nome_produto' => 'Produto',
	    		'ds_motivo' => 'Restrição',
	            'ds_nome_safra' => 'Safra'
	    );

	    $format = array(
	            'id_proposta' => array('align' => 'center'),
	            'dt_vigencia_inicio' => array('align' => 'center'),
	            'ds_nome_fantasia' => array('align' => 'left'),
	            'ds_nome_usuario' => array('align' => 'left'),
	            'ds_nome_produto' => array('align' => 'left'),
	    		'ds_motivo' => array('align' => 'left'),
	            'ds_nome_safra' => array('align' => 'center')
	    );

	    switch ($this->getRequest()->getParam('tipo')) {
	        case 'excel':
	            $Csv = new Agro_Plugin_Rs2Csv();
	            $Csv->setRecordSet($Rs);
	            $Csv->setType("application/octet-stream");
	            $Csv->setFileName("relatorio_analise_duplicadas.csv");
	            $Csv->setDisposition("attachment");
	            $Csv->setTitles($titles);
	            $Csv->setSeparator(";");
	            $Csv->getCsv();

	            break;
	        case 'html':
	            $Html = new Agro_Plugin_Rs2Html();
	            $Html->setRecordSet($Rs);
	            $Html->setFormat($format);
	            $Html->setTitles($titles);
	            $Html->getHtml();

	            break;
	    }
	}

	public function valoresaceitacaomacaAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Tecnica();
		$Rs = $Model->valoresAceitacaoMaca($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));

		$titles = array(
				'id_safra' => 'Safra',
				'ds_nome_produto' => 'Produto',
				'id_validacao' => 'Id Validação',
				'id_valor' => 'Id Valor',
				'ds_nome_validacao' => 'Nome Validação',
				'ds_nome_grupo_densidade' => 'Grupo Densidade',
				'ds_nome_grupo_portaenxerto' => 'Grupo Portaenxerto',
				'ds_nome_grupo_variedade' => 'Grupo Variedade',
				'nu_idade' => 'Idade',
				'vl_minimo' => 'Valor Mínimo',
				'vl_maximo' => 'Valor Máximo',
				'nr_plantas' => 'Nr. Plantas',
				'nr_plantas_regiao' => 'Nr. Plantas Região'
		);

		$format = array(
				'id_safra' => array('align' => 'center'),
				'dt_vigencia_inicio' => array('align' => 'center'),
				'ds_nome_produto' => array('align' => 'left'),
				'ds_nome_validacao' => array('align' => 'left'),
				'ds_nome_grupo_densidade' => array('align' => 'left'),
				'ds_nome_grupo_portaenxerto' => array('align' => 'left'),
				'ds_nome_grupo_variedade' => array('align' => 'left')
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($Rs);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("valores_aceitacao_maca.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($Rs);
				$Html->setFormat($format);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function valoresaceitacaovariedadesAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Tecnica();
		$Rs = $Model->valoresAceitacaoVariedades($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));

		$titles = array(
				'id_safra' => 'Safra',
				'ds_nome_produto' => 'Produto',
				'ds_nome_cultura' => 'Cultura',
				'id_validacao' => 'Id Validação',
				'ds_nome_validacao' => 'Nome Validação',
				'id_variedade' => 'Id Variedade',
				'ds_nome_variedade' => 'Variedade',
				'vl_importancia_segurada_minima' => 'Valor IS Mínima',
				'vl_importancia_segurada_maxima' => 'Valor IS Máxima',
				'ds_nome_grupo' => 'Nome Grupo'
		);

		$format = array(
				'id_safra' => array('align' => 'center'),
				'id_validacao' => array('align' => 'center'),
				'ds_nome_produto' => array('align' => 'left'),
				'ds_nome_cultura' => array('align' => 'left'),
				'ds_nome_variedade' => array('align' => 'left'),
				'ds_nome_validacao' => array('align' => 'left'),
				'ds_nome_grupo' => array('align' => 'center')

		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($Rs);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("valores_aceitacao_variedades.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($Rs);
				$Html->setFormat($format);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function valoresaceitacaodensidadesAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Tecnica();
		$Rs = $Model->valoresAceitacaoDensidades($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));

		$titles = array(
				'id_safra' => 'Safra',
				'ds_nome_produto' => 'Produto',
				'id_validacao' => 'Id Validação',
				'ds_nome_validacao' => 'Nome Validação',
				'id_valor' => 'Id Valor',
				'ds_nome_grupo_densidade' => 'Grupo Densidade',
				'vl_densidade_minima' => 'Vl Densidade Máximo',
				'vl_densidade_maxima' => 'Vl Densidade Mínimo',
				'nu_idade' => 'Idade',
				'vl_minimo' => 'Valor Mínimo',
				'vl_maximo' => 'Valor Máximo'
		);

		$format = array(
				'id_safra' => array('align' => 'center'),
				'dt_vigencia_inicio' => array('align' => 'center'),
				'ds_nome_produto' => array('align' => 'left'),
				'ds_nome_validacao' => array('align' => 'left'),
				'ds_nome_grupo_densidade' => array('align' => 'left')
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($Rs);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("valores_aceitacao_densidades.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($Rs);
				$Html->setFormat($format);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function valoresaceitacaoidadesAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Tecnica();
		$Rs = $Model->valoresAceitacaoIdades($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));

		$titles = array(
				'id_safra' => 'Safra',
				'ds_nome_produto' => 'Produto',
				'ds_nome_cultura' => 'Cultura',
				'id_validacao' => 'Id Validação',
				'ds_nome_validacao' => 'Nome Validação',
				'id_valor' => 'Id Valor',
				'nu_idade' => 'Idade',
				'ds_nome_grupo_variedade' => 'Grupo de Variedade',
				'vl_minimo' => 'Valor Mínimo',
				'vl_maximo' => 'Valor Máximo'
		);

		$format = array(
				'id_safra' => array('align' => 'center'),
				'dt_vigencia_inicio' => array('align' => 'center'),
				'ds_nome_produto' => array('align' => 'left'),
				'ds_nome_validacao' => array('align' => 'left'),
				'ds_nome_grupo_variedade' => array('align' => 'left')
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($Rs);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("valores_aceitacao_idades.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($Rs);
				$Html->setFormat($format);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function historicostatusAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Tecnica();
		$Rs = $Model->historicoStatus($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));

		$titles = array(
				'id_safra' => 'Safra',
				'ds_nome_safra' => 'Ano Safra',
				'ds_nome_produto' => 'Produto',
				'id_proposta' => 'Proposta',
				'nr_endosso' => 'Endosso',
				'ds_status' => 'Status',
				'dt_criacao' => 'Data',
				'ds_nome_usuario' => 'Usuário',
				'fl_ativo' => 'Ativo?'
		);

		$format = array(
				'id_safra' => array('align' => 'center'),
				'id_proposta' => array('align' => 'center'),
				'dt_criacao' => array('align' => 'center'),
				'ds_nome_produto' => array('align' => 'left'),
				'fl_ativo' => array('align' => 'center')
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($Rs);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("historico_status.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($Rs);
				$Html->setFormat($format);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function endossosparcelasAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Tecnica();
		$Rs    = $Model->endossosParcelas(
			$this->getRequest()->getParam('id_safra'), 
			$this->getRequest()->getParam('id_produto'),
			$this->getRequest()->getParam('id_status_proposta')
		);

		// 2010021943 - Removing line break in the ds_observacao field
		for($i = 0; $i < count($Rs); $i++){
			$Rs[$i]['ds_observacao'] = preg_replace('/\s/',' ', $Rs[$i]['ds_observacao']);
		}
		

		$titles = array(
				'id_proposta_mae' => 'Proposta',
				'ds_nome_safra' => 'Safra',
				'id_proposta_completo' => 'Proposta Completa',
				'id_proposta' => 'Proposta Endosso',
				'ds_identificador_seguradora' => 'Id Endosso',
				'nr_apolice' => 'Apólice',
				'nr_endosso' => 'Endosso',
				'ds_tipo' => 'Tipo Endosso',
				'ds_chave' => 'Status',
				'nr_parcela' => 'Parcela',
				'vl_segurado' => 'Valor Segurado',
				'vl_subvencao_federal' => 'Valor Sub Federal',
				'vl_subvencao_estadual' => 'Valor Sub Estadual',
				'vl_total' => 'Valor Total',
				'ds_nome_corretor' => 'Corretor',
				'ds_nome_usuario' => 'Criado por',
				'dt_criacao' => 'Criada em',
				'ds_nome_usuario_alteracao' => 'Alterado por',
				'dt_alteracao' => 'Alterada em' ,
				'ds_observacao' => 'Motivo' //2010021943 - included new field MOTIVO
				
		);

		$format = array(
				'id_proposta' => array('align' => 'center'),
				'nr_endosso' => array('align' => 'center'),
				'ds_tipo' => array('align' => 'left'),
				'ds_chave' => array('align' => 'left'),
				'vl_segurado' => array('align' => 'right', 'format' => 'currency'),
				'vl_subvencao_federal' => array('align' => 'right', 'format' => 'currency'),
				'vl_subvencao_estadual' => array('align' => 'right', 'format' => 'currency'),
				'vl_total' => array('align' => 'right', 'format' => 'currency'),
				'nr_apolice' => array('align' => 'center'),
                'ds_chave' => array('align' => 'left')
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($Rs);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_endossos_parcelas.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($Rs);
				$Html->setFormat($format);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function premioendossoAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Tecnica();
		$Rs    = $Model->premioEndosso($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));

		$titles = array(
				'id_proposta_completo' => 'Proposta Completa',
				'id_proposta' => 'Proposta',
				'id_proposta_endosso' => 'Proposta Endosso',
				'nr_apolice' => 'Apólice',
				'nr_endosso' => 'Endosso',
				'status' => 'Status',
				'ds_nome_proponente' => 'Proponente',
				'cpf_cnpj' => 'CPF/CNPJ',
				'ds_nome_produto' => 'Produto',
				'tipo' => 'Tipo',
				'vl_segurado' => 'Valor Segurado',
				'vl_subvencao_federal' => 'Valor Sub Federal',
				'vl_subvencao_estadual' => 'Valor Sub Estadual'
		);

		$format = array(
				'id_proposta_completo' => array('align' => 'center'),
				'id_proposta' => array('align' => 'center'),
				'id_proposta_endosso' => array('align' => 'center'),
				'nr_endosso' => array('align' => 'center'),
				'ds_tipo' => array('align' => 'left'),
				'ds_chave' => array('align' => 'left'),
				'vl_segurado' => array('align' => 'right', 'format' => 'currency'),
				'vl_subvencao_federal' => array('align' => 'right', 'format' => 'currency'),
				'vl_subvencao_estadual' => array('align' => 'right', 'format' => 'currency'),
				'nr_apolice' => array('align' => 'center')
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($Rs);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_endossos_parcelas.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($Rs);
				$Html->setFormat($format);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function configprodutosAction() {

		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Tecnica();
		$Rs = $Model->relatorioConfigProdutos($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'), $this->getRequest()->getParam('dt_inicio'), $this->getRequest()->getParam('dt_fim'));
		$arr = array();

		foreach($Rs as $Row){
			$arr[$Row['id_produto']]['ds_nome_produto']         = $Row['ds_nome_produto'];
			$arr[$Row['id_produto']]['nr_susep']                = $Row['nr_susep'];
			$arr[$Row['id_produto']]['id_produto']              = $Row['id_produto'];
			$arr[$Row['id_produto']]['cd_produto_seguradora']   = $Row['cd_produto_seguradora'];
			$arr[$Row['id_produto']]['ds_nome_cobertura']       = $Row['ds_nome_cobertura'];
			$arr[$Row['id_produto']]['id_cobertura']            = $Row['id_cobertura'];
			$arr[$Row['id_produto']]['cd_cobertura_seguradora'] = $Row['cd_cobertura_seguradora'];
			$arr[$Row['id_produto']]['vl_lmi']                  = $Row['vl_lmi'];

			$Rs_cob = $Model->getCoberturasConfiguradas($Row['id_produto']);
			$i = 0;
			foreach($Rs_cob as $row2){
				$arr[$Row['id_produto']]['ds_nome_cobertura_'.$i]       = $row2['ds_nome_cobertura'];
				$arr[$Row['id_produto']]['id_cobertura_'.$i]            = $row2['id_cobertura'];
				$arr[$Row['id_produto']]['cd_cobertura_seguradora_'.$i] = $row2['cd_cobertura_seguradora'];
				$arr[$Row['id_produto']]['vl_lmi_'.$i]                  = $row2['vl_lmi'];
				$arr[$Row['id_produto']]['fl_validar_capacidade_'.$i]   = $row2['fl_validar_capacidade'];
				$i++;
			}
		}

		$titles = array(
				'ds_nome_produto' => 'Produto',
				'nr_susep' => 'Nº SUSEP',
				'id_produto' => 'Id Produto AgroBrasil',
				'cd_produto_seguradora' => 'Id Produto Seguradora',
				'ds_nome_cobertura' => 'Cobertura Principal',
				'id_cobertura' => 'Id Cobertura Principal AgroBrasil',
				'cd_cobertura_seguradora' => 'Id Cobertura Principal Essor',
				'vl_lmi' => 'LMI Cob Principal (%)',
				'ds_nome_cobertura_0' => 'Cob. Adicional 1',
				'id_cobertura_0' => 'Id Cobertura Adicional 1 AgroBrasil',
				'cd_cobertura_seguradora_0' => 'Id Cobertura Adicional 1 Seguradora',
				'vl_lmi_0' => 'LMI Cob 1 (%)',
				'fl_validar_capacidade_0' => 'Validar Capacidade Cob 1 (S ou N)',
				'ds_nome_cobertura_1' => 'Cob. Adicional 2',
				'id_cobertura_1' => 'Id Cobertura Adicional 2 AgroBrasil',
				'cd_cobertura_seguradora_1' => 'Id Cobertura Adicional 2 Seguradora',
				'vl_lmi_1' => 'LMI Cob 2 (%)',
				'fl_validar_capacidade_1' => 'Validar Capacidade Cob 2 (S ou N)',
				'ds_nome_cobertura_2' => 'Cob. Adicional 3',
				'id_cobertura_2' => 'Id Cobertura Adicional 3 AgroBrasil',
				'cd_cobertura_seguradora_2' => 'Id Cobertura Adicional 3 Seguradora',
				'vl_lmi_2' => 'LMI Cob 3 (%)',
				'fl_validar_capacidade_2' => 'Validar Capacidade Cob 3 (S ou N)',
				'ds_nome_cobertura_3' => 'Cob. Adicional 4',
				'id_cobertura_3' => 'Id Cobertura Adicional 4 AgroBrasil',
				'cd_cobertura_seguradora_3' => 'Id Cobertura Adicional 4 Seguradora',
				'vl_lmi_3' => 'LMI Cob 4 (%)',
				'fl_validar_capacidade_3' => 'Validar Capacidade Cob 4 (S ou N)',
				'ds_nome_cobertura_4' => 'Cob. Adicional 5',
				'id_cobertura_4' => 'Id Cobertura Adicional 5 AgroBrasil',
				'cd_cobertura_seguradora_4' => 'Id Cobertura Adicional 5 Seguradora',
				'vl_lmi_4' => 'LMI Cob 5 (%)',
				'fl_validar_capacidade_4' => 'Validar Capacidade Cob 5 (S ou N)'
		);

		$format = array(
				'id_proposta' => array('align' => 'center')
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($arr);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_config_produtos.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($arr);
				$Html->setTitles($titles);
				$Html->setFormat($format);
				$Html->getHtml();
				break;
		}
	}

	public function prorrogacaoboletosAction() {

		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Tecnica();
		$Rs = $Model->relatorioProrrogacaoBoletos($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'), $this->getRequest()->getParam('dt_inicio'), $this->getRequest()->getParam('dt_fim'));

		$titles = array(
				'id_proposta' => 'Proposta',
				'ds_nome_safra' => 'Safra',
				'id_proponente' => 'ID Proponente',
				'ds_nome_produto' => 'Produto',
				'nr_parcela' => 'Nro. Parcela',
				'nu_boleto' => 'Nro. Boleto',
				'dt_vencimento' => 'Data Vencimento',
                'dt_vencimento_original' => 'Data Vencimento Original',
                'dt_prorrogacao' => 'Data Prorrogação',
				'vl_total' => 'Valor Total',
				'vl_segurado' => 'Valor Segurado',
				'vl_juros' => 'Valor Juros',
				'vl_multa' => 'Valor Multa'
		);

		$format = array(
				'id_proposta' => array('align' => 'center'),
				'vl_total' => array('align' => 'right', 'format' => 'currency'),
				'vl_segurado' => array('align' => 'right', 'format' => 'currency'),
				'vl_juros' => array('align' => 'right', 'format' => 'currency'),
				'vl_multa' => array('align' => 'right', 'format' => 'currency'),
				'versao' => array('align' => 'center'),
				'dt_vencimento' => array('align' => 'center')
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($Rs);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_endossos_parcelas.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($Rs);
				$Html->setFormat($format);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

	public function arquivosdigitalizadosAction() {

		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

        $User = Zend_Auth::getInstance()->getIdentity();
		$Model = new Relatorio_Model_Tecnica();

        if ($User->id_empresa == 20) {
            $Rs = $Model->relatorioArquivosDigitalizados($this->getRequest()->getParams());
        } else {
            $Rs = $Model->relatorioArquivosDigitalizados($this->getRequest()->getParams(), $User->tp_usuario, $User->id);
        }

		$titles = array(
            'id_proposta' => 'Proposta',
            'nr_apolice'  => 'Apólice',
            'nr_endosso'  => 'Endosso',
            'ds_nome_proponente' => 'Segurado',
            'ds_nome_preposto' => 'Sublogin',
            'ds_nome_fantasia' => 'Corretor',
            'ds_nome_cultura' => 'Cultura',
            'ds_status' => 'Status',
            'ds_pendencia' => 'Tipo de Pendência',
            'dt_alteracao_status' => 'Data Alteração',
            'dt_inicio_vigencia' => 'Início Vigência',
            'dt_final_vigencia' => 'Final de Vigência'
		);

        $format = array(
            'dt_alteracao_status' => array('align' => 'center'),
            'dt_inicio_vigencia' => array('align' => 'center'),
            'dt_final_vigencia' => array('align' => 'center')
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($Rs);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_endossos_parcelas.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($Rs);
				$Html->setFormat($format);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}

    }
    
    public function subvencaocanceladaAction() {
    
    	$this->getHelper('ViewRenderer')->setNoRender();
    	$this->getHelper('layout')->disableLayout();
    
    	$User = Zend_Auth::getInstance()->getIdentity();
    	$Model = new Relatorio_Model_Tecnica();

    	$Rs  = $Model->relatorioSubvencaoCancelada($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));
    
    	$titles = array(
    		'id_proposta' => 'Proposta',
    		'id_proposta_completo' => 'Proposta Completo ',
    		'nr_apolice' => 'Apólice',
    		'ds_identificador_seguradora' => 'Nº Endosso ',
    		'dt_transmissao2' => 'Data de transmissão do Endosso',
    		'vl_subvencao_federal' => 'Subsídio Federal cancelado',
    		'vl_subvencao_estadual' => 'Subsídio Estadual cancelado',
    		'motivo' => 'Motivo'
    	);
    
    	switch ($this->getRequest()->getParam('tipo')) {
    		case 'excel':
    			$Csv = new Agro_Plugin_Rs2Csv();
    			$Csv->setRecordSet($Rs);
    			$Csv->setType("application/octet-stream");
    			$Csv->setFileName("relatorio_subvencao_cancelada.csv");
    			$Csv->setDisposition("attachment");
    			$Csv->setTitles($titles);
    			$Csv->setSeparator(";");
    			$Csv->getCsv();
    
    			break;
    		case 'html':
    			$Html = new Agro_Plugin_Rs2Html();
    			$Html->setRecordSet($Rs);
    			$Html->setFormat($format);
    			$Html->setTitles($titles);
    			$Html->getHtml();
    
    			break;
    	}
    }
    
    public function subvencaoparanaAction() {
    	$this->getHelper('ViewRenderer')->setNoRender();
    	$this->getHelper('layout')->disableLayout();
    	
    	$Subvencao = new Relatorio_Model_Tecnica();
    	$RsSubvencao = $Subvencao->relatorioSubvencaoEstadual($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));
    	
    	$titles = array(
    			'codigo_seguradora' => 'Codigo Seguradora',
    			'dt_transmissao' => 'Data da Proposta',
				'id_proposta_composto' => 'Número da Proposta',
				'cadpro' => 'CADPRO',
    			'cpf_cnpj' => 'CPF ou CNPJ do Segurado',
    			'ds_nome_proponente' => 'Nome do Segurado',
    			'ds_caracterizacao_cobertura' => 'Caracterização da Cobertura',	
    			'vl_nivel_cobertura' => 'Nível de Cobertura de Produtividade',	
    			'vl_percentual_subvencao' => 'Percentual de Subvenção',
    			'valor_subvencao_federal' => 'Subvenção Federal (R$)',
    			'valor_subvencao_estadual' => 'Subvenção Estadual (R$)',
    			'valor_total' => 'Prêmio Total (R$)',
    			'vl_custo_apolice' => 'Custo de Emissão de Apólice',
    			'cd_bacen' => 'Codigo da Atividade (Banco Central)',
    			'cd_bacen_municipio' => 'Codigo do Municipio (Banco Central)',
    			'zoneamento_mapa' => 'Utilizacao do Zoneamento Agricola do MAPA',
    			'quest_organico' => 'Cultura Organica',
    			'quest_pronamp' => 'Beneficiario do Pronamp',
    			'ds_razao_social_seguradora' => 'Razão Social da Seguradora',
    			'cpf_cnpj_seguradora' => 'CNPJ da Seguradora',
    			'dt_apolice' => 'Data da Apólice',
    			'nr_apolice' => 'Número da Apólice',
    			'ds_nome_propriedade' => 'Nome da Propriedade Rural',
    			'ds_endereco_propriedade' => 'Logradouro da Propriedade Rural',
    			'ds_endereco_nro_propriedade' => 'Numero da Propriedade Rural',
    			'ds_endereco_complemento_propriedade' => 'Complemento do Endereço da Propriedade Rural',
    			'ds_nome_municipio_propriedade' => 'Municipio da Propriedade Rural',
    			'ds_sigla_propriedade' => 'Estado da Propriedade Rural',
    			'ds_endereco_cep_propriedade' => 'CEP da Propriedade Rural',
    			'ds_endereco_segurado' => 'Logradouro do Segurado',
    			'ds_endereco_nro_segurado' => 'Número do Endereço do Segurado',
    			'ds_endereco_complemento_segurado' => 'Complemento do Endereço do Segurado',
    			'ds_nome_municipio_segurado' => 'Município do Endereço do Segurado',
    			'ds_sigla_segurado' => 'Estado do Endereço do Segurado',
    			'ds_endereco_cep_segurado' => 'CEP do Endereço do Segurado',
    			'produtividade_estimada' => 'Produtividade Estimada',
    			'vl_area' => 'Área Segurada',
    			'produtividade_garantida' => 'Produtividade Segurada',
    			'vl_lmga' => 'Importância Segurada',
    			'nr_endosso' => 'Número do Endosso',
    			'nr_susep' => 'Número do Processo do Produto na SUSEP',
    			'coord1' => 'Grau Latitude',
    			'coord2' => 'Minuto Latitude',
    			'coord3' => 'Segundo Latitude',
    			'coord4' => 'Posição Latitude',
    			'coord5' => 'Grau Longitude',
    			'coord6' => 'Minuto Longitude',
    			'coord7' => 'Segundo Longitude',
    			'coord8' => 'Posição Longitude',
				'ds_nome_cultura' => 'Cultura'
    	);
    	
    	switch ($this->getRequest()->getParam('tipo')) {
    		case 'excel':
    			$Csv = new Agro_Plugin_Rs2Csv();
    			$Csv->setRecordSet($RsSubvencao);
    			$Csv->setType("application/octet-stream");
    			$Csv->setFileName("relatorio_subvencao_pr.csv");
    			$Csv->setDisposition("attachment");
    			$Csv->setTitles($titles);
    			$Csv->setSeparator(";");
    			$Csv->getCsv();
    			
    			break;
    		case 'html':
    			$Html = new Agro_Plugin_Rs2Html();
    			$Html->setRecordSet($RsSubvencao);
    			$Html->setTitles($titles);
    			$Html->getHtml();
    			
    			break;
    	}
    }
    
    public function subvencaosaopauloAction() {
    	$this->getHelper('ViewRenderer')->setNoRender();
    	$this->getHelper('layout')->disableLayout();
    	
    	$Subvencao = new Relatorio_Model_Tecnica();
    	$RsSubvencao = $Subvencao->relatorioSubvencaoEstadualSP($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));

    	$titles = array(
    		    'ds_nome_cultura' => 'Cultura',
    			'id_proposta_mae' => 'Proposta',
    			'id_proposta_composto' => 'Proposta Completo',
    			'ds_nome_proponente' => 'Nome do Segurado',
    			'cpf_cnpj' => 'CPF/CNPJ',
    			'nr_apolice' => 'Nro Apólice',
    			'dt_apolice' => 'Data de Emissão da Apólice',
    			'valor_subvencao_estadual' => ' Subsídio Estadual (R$)',
    			'dt_inicio_vigencia_original' => 'Início Vigência',
    			'dt_emissao_endosso' => 'Data do Ult. Ajuste',
    			'ds_chave' => 'Status',
				'dt_vigencia_fim' => 'Final Vigência',
				'quest_sub_estadual' => 'Sub. Est. Concedida (endosso 0)',
				'ds_tel_residencia' => 'Telefone',
				'ds_email_proponente' => 'E-mail'
    	);
    	
    	switch ($this->getRequest()->getParam('tipo')) {
    		case 'excel':
    			$Csv = new Agro_Plugin_Rs2Csv();
    			$Csv->setRecordSet($RsSubvencao);
    			$Csv->setType("application/octet-stream");
    			$Csv->setFileName("relatorio_subvencao_sp.csv");
    			$Csv->setDisposition("attachment");
    			$Csv->setTitles($titles);
    			$Csv->setSeparator(";");
    			$Csv->getCsv();
    			
    			break;
    		case 'html':
    			$Html = new Agro_Plugin_Rs2Html();
    			$Html->setRecordSet($RsSubvencao);
    			$Html->setTitles($titles);
    			$Html->getHtml();
    			
    			break;
    	}
    }
    

    public function ppeAction() {
    	$this->getHelper('ViewRenderer')->setNoRender();
    	$this->getHelper('layout')->disableLayout();
    	 
    	$Model = new Relatorio_Model_Tecnica();
    	$RsPPE = $Model->relatorioPPE($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));
    	
    	foreach($RsPPE as $Row){
    		$arr[$Row['id_proposta_mae']]['id_proposta_mae'] = $Row['id_proposta_mae'];
    		$arr[$Row['id_proposta_mae']]['id_proposta_composto'] = $Row['id_proposta_composto'];
    		$arr[$Row['id_proposta_mae']]['nr_endosso'] = $Row['nr_endosso'];
    		$arr[$Row['id_proposta_mae']]['dt_inicio_vigencia_original'] = $Row['dt_inicio_vigencia_original'];
    		$arr[$Row['id_proposta_mae']]['ds_chave'] = $Row['ds_chave'];
    		$arr[$Row['id_proposta_mae']]['tp_pessoa'] = $Row['tp_pessoa'];
    		$arr[$Row['id_proposta_mae']]['ds_nome_proponente'] = $Row['ds_nome_proponente'];
    		$arr[$Row['id_proposta_mae']]['cpf_cnpj'] = $Row['cpf_cnpj'];
    		$arr[$Row['id_proposta_mae']]['ds_profissao'] = $Row['ds_profissao'];
     		$arr[$Row['id_proposta_mae']]['ds_faixa_remuneracao'] = ($Row['tp_pessoa'] == 'J') ? '' : $Row['ds_faixa_remuneracao'];
    		$arr[$Row['id_proposta_mae']]['fl_politicamente_exposto'] = $Row['fl_politicamente_exposto'];
    		$arr[$Row['id_proposta_mae']]['ds_nome_atividade_economica'] = $Row['ds_nome_atividade_economica'];
    		$arr[$Row['id_proposta_mae']]['ds_receita_operacional'] = $Row['ds_receita_operacional'];
    		$arr[$Row['id_proposta_mae']]['ds_patrimonio_liquido'] = $Row['ds_patrimonio_liquido'];
    		
    		if($Row['fl_politicamente_exposto'] == 'Sim' OR $Row['tp_pessoa'] == 'J'){
	    		$i = 0;
		    	$RsRelacionamentoPPE = $Model->getRelacionamentoPPE($Row['id_proposta']);
		    	
		    	if(count($RsRelacionamentoPPE) > 0 && $Row['tp_pessoa'] == 'J'){
		    	    $arr[$Row['id_proposta_mae']]['fl_politicamente_exposto'] = 'Sim';
		    	}
		    	
		    	foreach($RsRelacionamentoPPE as $row2){
		    		
		    		$arr[$Row['id_proposta_mae']]['ppe_nome_'.$i] = $row2['ds_nome_socio'];
		    		$arr[$Row['id_proposta_mae']]['ppe_cpf_'.$i] = $row2['ds_nro_cpf'];
		    		$arr[$Row['id_proposta_mae']]['ppe_tipo_'.$i] = $row2['tp_relacionamento'];
		    		$i++;
		    	}
    		}
    	}
    	
    	$titles = array(
    			'id_proposta_mae' => 'Proposta',
    			'id_proposta_composto' => 'Proposta Completo',
    	        'nr_endosso' => 'Endosso',
    			'dt_inicio_vigencia_original' => 'Início de Vigência',
    			'ds_chave' => 'Status',
    			'tp_pessoa' => 'Pessoa',
    			'ds_nome_proponente' => 'Proponente',
    			'cpf_cnpj' => 'CPF/CNPJ',
    			'ds_profissao' => 'Profissão',
    			'ds_faixa_remuneracao' => 'Renda Mensal',
    			'fl_politicamente_exposto' => 'PPE?',
    			'ds_nome_atividade_economica' => 'Atividade Econômica',
    			'ds_receita_operacional' => 'Receita Operacional',
    			'ds_patrimonio_liquido' => 'Patrimônio Líquido',
    			'ppe_nome_0' => 'Relacionamento PPE1 (Nome)',
    			'ppe_cpf_0' => 'Relacionamento PPE1 (CPF)',
    			'ppe_tipo_0' => 'Relacionamento PPE1 (Tipo)',
    			'ppe_nome_1' => 'Relacionamento PPE2 (Nome)',
    			'ppe_cpf_1' => 'Relacionamento PPE2 (CPF)',
    			'ppe_tipo_1' => 'Relacionamento PPE2 (Tipo)',
    			'ppe_nome_2' => 'Relacionamento PPE3 (Nome)',
    			'ppe_cpf_2' => 'Relacionamento PPE3 (CPF)',
    			'ppe_tipo_2' => 'Relacionamento PPE3 (Tipo)',
    			'ppe_nome_3' => 'Relacionamento PPE4 (Nome)',
    			'ppe_cpf_3' => 'Relacionamento PPE4 (CPF)',
    			'ppe_tipo_3' => 'Relacionamento PPE4 (Tipo)',
    			'ppe_nome_4' => 'Relacionamento PPE5 (Nome)',
    			'ppe_cpf_4' => 'Relacionamento PPE5 (CPF)',
    			'ppe_tipo_4' => 'Relacionamento PPE5 (Tipo)'
    	);
    	 
    	 
    	switch ($this->getRequest()->getParam('tipo')) {
    		case 'excel':
    			$Csv = new Agro_Plugin_Rs2Csv();
    			$Csv->setRecordSet($arr);
    			$Csv->setType("application/octet-stream");
    			$Csv->setFileName("relatorio_subvencao_sp.csv");
    			$Csv->setDisposition("attachment");
    			$Csv->setTitles($titles);
    			$Csv->setSeparator(";");
    			$Csv->getCsv();
    			 
    			break;
    		case 'html':
    			$Html = new Agro_Plugin_Rs2Html();
    			$Html->setRecordSet($arr);
    			$Html->setTitles($titles);
    			$Html->getHtml();
    			 
    			break;
    	}
    }

    public function comissoesAction() {
        $this->getHelper('ViewRenderer')->setNoRender();
        $this->getHelper('layout')->disableLayout();

        $Parcelas   = new Relatorio_Model_Tecnica();
        $RsParcelas = $Parcelas->relatorioComissoes($this->getRequest()->getParam('dt_recebimento'));

        $titles = array(
            'id_proposta' => 'Proposta',
            'nr_endosso' => 'Endosso ',
            'ds_tipo' => 'Tipo Endosso',
            'nr_apolice' => 'Apólice',
            'dt_emissao_apolice' => 'Data de Emissão da Apólice',
            'id_proponente' => 'ID Segurado',
            'ds_nome_cultura' => 'Cultura',
            'ds_nome_fantasia' => 'Corretor',
            'sublogin' => 'Sublogin',
            'nr_parcela' => 'N° Parcela',
            'vl_segurado' => 'Valor Segurado',
            'dt_vencimento' => 'Vencimento Original',
            'vl_segurado_juros' => 'Valor Segurado com juros',
            'dt_vencto_prorrogado' => 'Vencimento Prorrogado',
            'vl_pago' => 'Valor Pago',
            'dt_pagamento' => 'Data Pagamento',
			'dt_recebimento' => 'Date Recebimento',
            'fl_pago' => 'Status Pagamento',
			'ds_nome_safra' => 'Nome Safra',
			'ds_identificador_seguradora' => 'Id Endosso ESSOR'
        );

        switch ($this->getRequest()->getParam('tipo')) {
            case 'excel':
                $Csv = new Agro_Plugin_Rs2Csv();
                $Csv->setRecordSet($RsParcelas);
                $Csv->setType("application/octet-stream");
                $Csv->changeFileName("relatorio_controle_financeiro.csv");
                $Csv->setDisposition("attachment");
                $Csv->setTitles($titles);
                $Csv->setSeparator(";");
                $Csv->getCsv();

                break;
            case 'html':
                $Html = new Agro_Plugin_Rs2Html();
                $Html->setRecordSet($RsParcelas);
                $Html->setTitles($titles);
                $Html->getHtml();

                break;
        }
    }
    
    public function grupostaxasAction() {
        $this->getHelper('ViewRenderer')->setNoRender();
        $this->getHelper('layout')->disableLayout();
        
        $Model   = new Relatorio_Model_Tecnica();
        $RsTaxasComissoes = $Model->relatorioTaxasComissoes($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));
        
        $titles = array(
            'id_validacao' => 'Id Validação',
            'nome_validacao' => 'Nome Validação ',
            'tipo_validacao' => 'Tipo Validação',
            'ds_nome_produto' => 'Produto',
            'ativo' => 'Ativo?',
            'vl_comissao' => 'Comissão',
            'id_secao' => 'Seção'
        );
        
        switch ($this->getRequest()->getParam('tipo')) {
            case 'excel':
                $Csv = new Agro_Plugin_Rs2Csv();
                $Csv->setRecordSet($RsTaxasComissoes);
                $Csv->setType("application/octet-stream");
                $Csv->setFileName("relatorio_grupos_taxas.csv");
                $Csv->setDisposition("attachment");
                $Csv->setTitles($titles);
                $Csv->setSeparator(";");
                $Csv->getCsv();
                
                break;
            case 'html':
                $Html = new Agro_Plugin_Rs2Html();
                $Html->setRecordSet($RsTaxasComissoes);
                $Html->setTitles($titles);
                $Html->getHtml();
                
                break;
        }
    }
    
    public function consultasubvencaoAction() {
        $this->getHelper('ViewRenderer')->setNoRender();
        $this->getHelper('layout')->disableLayout();
        
        $Model   = new Relatorio_Model_Tecnica();
        $subvencoesByProposta = $Model->consultaSubvencao($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'), $this->getRequest()->getParam('canceladas'), $this->getRequest()->getParam('vigentes'));

        $titles = array(
            'id_proposta_mae' => 'Proposta',
            'id_proposta_completo' => 'Proposta Completo ',
            'nr_apolice' => 'Nro Apólice',
            'id_proponente' => 'ID Segurado',
            'tipo_produto' => 'Grupo',
            'produto' => 'Produto',
            'cultura' => 'Cultura',
            'quest_sub_federal' => 'Adesão Sub. Federal',
            'subvencao_federal' => 'Subsídio Federal',
            'quest_sub_federal_confirmada' => 'Status Sub. Federal',
            'quest_sub_estadual' => 'Adesão Sub. Estadual',
            'subvencao_estadual' => 'Subsídio Estadual',
            'quest_sub_estadual_confirmada' => 'Status Sub. Estadual',
			'status' => 'Status Proposta',
			'nro_endosso' => 'Endosso',
			'status_documento' => 'Status Doc. Físico',
			'pendencias' => 'Pendências'
        );
        
        switch ($this->getRequest()->getParam('tipo')) {
            case 'excel':
                $Csv = new Agro_Plugin_Rs2Csv();
		        $Csv->setRecordSet($subvencoesByProposta);
		        $Csv->setType("application/octet-stream");
		        $Csv->setFileName("relatorio_taxas_comissoes.csv");
		        $Csv->setDisposition("attachment");
		        $Csv->setTitles($titles);
		        $Csv->setSeparator(";");
		        $Csv->getCsv();
                break;
            case 'html':
                $Html = new Agro_Plugin_Rs2Html();
                $Html->setRecordSet($subvencoesByProposta);
                $Html->setTitles($titles);
                $Html->getHtml();
                break;
        }
        
    }

    public function subvencaopsrprAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Subvencao = new Relatorio_Model_Tecnica();
		$RsSubvencao = $Subvencao->relatorioSubvencaoPsrPR($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));
		
		$titles = array(
				'id_proposta_mae' => 'Proposta',
				'dt_apolice' => 'Data da apólice',
				'nr_apolice' => 'Nº da apolice',
				'dt_transmissao' => 'Data da Proposta',
				'subvencao_concedida_confirmada' => 'Status da Subvenção Estatual',
				'ds_status' => 'Status',
				'cultura' => 'Cultura',
				'ano_proposta' => 'Ano',
				'atividade' => 'Atividade',
				'lote' => 'Lote',
				'codigo_seguradora' => 'Codigo Seguradora',
				'id_proposta_composto' => 'Número da Proposta',
				'dt_vigencia_inicio' => 'Data da Proposta',
				'cpf_cnpj' => 'CPF ou CNPJ do Segurado',
				'ds_nome_proponente' => 'Nome do Segurado',
				'cadpro' => 'CADPRO',
				'ds_endereco_segurado' => 'Logradouro do Segurado',
				'ds_endereco_nro_segurado' => 'Número do Endereço do Segurado',
				'ds_endereco_complemento_segurado' => 'Complemento do Endereço do Segurado',
				'ds_endereco_cep_segurado' => 'CEP do Endereço do Segurado',
				'ds_nome_municipio_segurado' => 'Município do Endereço do Segurado',
				'ds_sigla_segurado' => 'Estado do Endereço do Segurado',
				'ds_nome_propriedade' => 'Nome da Propriedade Rural',
				'ds_endereco_propriedade' => 'Logradouro da Propriedade Rural',
				'ds_endereco_nro_propriedade' => 'Número da Propriedade Rural',
				'ds_endereco_complemento_propriedade' => 'Complemento Propriedade Rural',
				'ds_endereco_cep_propriedade' => 'CEP da Propriedade Rural',
				'ds_nome_municipio_propriedade' => 'Municipio da Propriedade Rural',
				'ds_sigla_propriedade' => 'Estado da Propriedade Rural',
				'ds_caracterizacao_cobertura' => 'Caracterização da Cobertura',
				'vl_nivel_cobertura' => 'Nível de Cobertura de Produtividade',
				'vl_percentual_subvencao' => 'Percentual de Subvenção',
				'valor_subvencao_federal' => 'Subvenção Federal (R$)',
				'valor_subvencao_estadual' => 'Subvenção Estadual (R$)',
				'valor_total' => 'Prêmio Total (R$)',
				'produtividade_estimada' => 'Produtividade Estimada',
				'produtividade_garantida' => 'Produtividade Segurada (Toneladas)',
				'vl_area' => 'Área Segurada',
				'importancia_segurada' => 'Importância Segurada',
				'coord1' => 'Grau Latitude',
				'coord2' => 'Minuto Latitude',
				'coord3' => 'Segundo Latitude',
				'coord4' => 'Posição Latitude',
				'coord5' => 'Grau Longitude',
				'coord6' => 'Minuto Longitude',
				'coord7' => 'Segundo Longitude',
				'coord8' => 'Posição Longitude'
		);

		$modelPropostasCroquisTalhoes = new Seguro_Model_PropostasCroquis();

		foreach ($RsSubvencao as $indice => $dados) {
		    $rowCroquis = $modelPropostasCroquisTalhoes->getCroquis($dados['id'], 'ds_item_segurado');
			if (!empty($rowCroquis)) {
				list($lat, $lng) = array_map('floatval', explode(',', $rowCroquis[0]['ds_coordenadas_centroide']));
				$coordsLatitude = explode(' ', Agro_Util::dec2gms($lat));
				$RsSubvencao[$indice]['coord1'] = str_replace('-', '', $coordsLatitude[0]);
				$RsSubvencao[$indice]['coord2'] = $coordsLatitude[1];
				$RsSubvencao[$indice]['coord3'] = str_pad(round($coordsLatitude[2]), 2, "0", STR_PAD_LEFT);
				
				$coordsLongitude = explode(' ', Agro_Util::dec2gms($lng));
				$RsSubvencao[$indice]['coord5'] = str_replace('-', '', $coordsLongitude[0]);
				$RsSubvencao[$indice]['coord6'] = $coordsLongitude[1];
				$RsSubvencao[$indice]['coord7'] = str_pad(round($coordsLongitude[2]), 2, "0", STR_PAD_LEFT);
            }

			$RsSubvencao[$indice]['cpf_cnpj'] = str_replace(['.', '-', '/'], '', trim($dados['cpf_cnpj']));
			$RsSubvencao[$indice]['ds_nome_proponente'] = str_replace(['\\', '"', ';'], '', trim($dados['ds_nome_proponente']));
			$RsSubvencao[$indice]['ds_endereco_segurado'] = str_replace(';', ',', trim($dados['ds_endereco_segurado']));
			$RsSubvencao[$indice]['ds_endereco_nro_segurado'] = trim($dados['ds_endereco_nro_segurado']);
			$RsSubvencao[$indice]['ds_endereco_complemento_segurado'] = trim($dados['ds_endereco_complemento_segurado']);
			$RsSubvencao[$indice]['ds_endereco_cep_segurado'] = str_replace(['.', '-', '/'], '', trim($dados['ds_endereco_cep_segurado']));
			$RsSubvencao[$indice]['ds_nome_propriedade'] = str_replace(';', ',', trim($dados['ds_nome_propriedade']));
			$RsSubvencao[$indice]['ds_endereco_propriedade'] = trim($dados['ds_endereco_propriedade']);
			$RsSubvencao[$indice]['ds_endereco_nro_propriedade'] = trim($dados['ds_endereco_nro_propriedade']);
			$RsSubvencao[$indice]['ds_endereco_complemento_propriedade'] = trim($dados['ds_endereco_complemento_propriedade']);
			$RsSubvencao[$indice]['ds_endereco_cep_propriedade'] = str_replace(['.', '-', '/'], '', trim($dados['ds_endereco_cep_propriedade']));

			if ($dados['ds_caracterizacao_cobertura'] == 'Risco Nomeado') {
				$RsSubvencao[$indice]['vl_nivel_cobertura'] = 0;
			}

			$RsSubvencao[$indice]['vl_percentual_subvencao'] = Agro_Util::formatDbCurrency($dados['vl_percentual_subvencao'], 2, ',', ''); 
			$RsSubvencao[$indice]['valor_subvencao_federal'] = Agro_Util::formatDbCurrency($dados['valor_subvencao_federal'], 2, ',', ''); 
			$RsSubvencao[$indice]['valor_subvencao_estadual'] = Agro_Util::formatDbCurrency($dados['valor_subvencao_estadual'], 2, ',', ''); 
			$RsSubvencao[$indice]['valor_total'] = Agro_Util::formatDbCurrency($dados['valor_total'], 2, ',', ''); 
			$RsSubvencao[$indice]['vl_area'] = Agro_Util::formatDbCurrency($dados['vl_area'], 2, ',', ''); 
			$RsSubvencao[$indice]['importancia_segurada'] = Agro_Util::formatDbCurrency($dados['importancia_segurada'], 2, ',', ''); 
			$RsSubvencao[$indice]['produtividade_estimada'] = Agro_Util::formatDbCurrency($dados['produtividade_estimada'], 2, ',', ''); 
			$RsSubvencao[$indice]['produtividade_garantida'] = Agro_Util::formatDbCurrency($dados['produtividade_garantida'], 2, ',', ''); 
        }


		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($RsSubvencao);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("relatorio_subvencao_apolice_mapa.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($RsSubvencao);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

    public function comissaocorretorAction() {
        $this->getHelper('ViewRenderer')->setNoRender();
        $this->getHelper('layout')->disableLayout();

        $User = Zend_Auth::getInstance()->getIdentity();
        $Model   = new Relatorio_Model_Tecnica();

        if ($User->id_empresa == 20) {
        	$comissoesByProposta = $Model->consultaComissaoCorretor($this->getRequest()->getParam('id_safra'));
        } else {
			$comissoesByProposta = $Model->consultaComissaoCorretor($this->getRequest()->getParam('id_safra'), $User->id, $User->tp_usuario);
        }

        $titles = array(
        	'safra' => 'Safra',
            'id_proposta' => 'Proposta',
            'apolice' => 'Apólice',
            'segurado' => 'Proponente',
            'cpf_cnpj' => 'CPF/CNPJ',
            'corretor' => 'Corretor',
            'preposto' => 'Sublogin',
            'digitador' => 'Digitador',
            'produto' => 'Produto',
            'cultura' => 'Cultura',
            'estado' => 'UF',
            'municipio' => 'Município',
            'comissao_corretor' => '% Comissão de Corretor',
            'data_transmissao' => 'Data de Transmissão',
            'status_proposta' => 'Status da Proposta'
        );
        
        switch ($this->getRequest()->getParam('tipo')) {
            case 'excel':
                $Csv = new Agro_Plugin_Rs2Csv();
		        $Csv->setRecordSet($comissoesByProposta);
		        $Csv->setType("application/octet-stream");
		        $Csv->setFileName("relatorio_comissao_corretor.csv");
		        $Csv->setDisposition("attachment");
		        $Csv->setTitles($titles);
		        $Csv->setSeparator(";");
		        $Csv->getCsv();
                break;
            case 'html':
                $Html = new Agro_Plugin_Rs2Html();
                $Html->setRecordSet($comissoesByProposta);
                $Html->setTitles($titles);
                $Html->getHtml();
                break;
        }  
    }
    
    public function endossorestituicaosubvencaoAction() {
        
        $this->getHelper('ViewRenderer')->setNoRender();
        $this->getHelper('layout')->disableLayout();
        
        $Model = new Relatorio_Model_Tecnica();
        $Rs = $Model->relatorioEndossoRestituicaoSubvencao($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'), $this->getRequest()->getParam('dt_inicio'), $this->getRequest()->getParam('dt_fim'));
        
        $titles = array(
            'ds_nome_safra' => 'Safra',
            'id_proposta_mae' => 'Proposta',
            'propostas_completa' => 'Proposta Completa',
            'id_endosso_essor' => 'Id Endosso',
            'nr_apolice' => 'Apólice',
            'nr_endosso' => 'Endosso',
            'ds_tipo_endosso' => 'Tipo Endosso',
            'ds_status' => 'Status',
            'valor_subvencao_federal' => 'Valor Sub Federal',
            'valor_subvencao_estadual' => 'Valor Sub Estadual',
            'ds_subvencao_federal_concedida' => 'Status Sub. Federal',
            'ds_subvencao_estadual_concedida' => 'Status Sub. Estadual'
        );
        
        switch ($this->getRequest()->getParam('tipo')) {
            case 'excel':
                $Csv = new Agro_Plugin_Rs2Csv();
                $Csv->setRecordSet($Rs);
                $Csv->setType("application/octet-stream");
                $Csv->setFileName("relatorio_endosso_restituicao_subvencao.csv");
                $Csv->setDisposition("attachment");
                $Csv->setTitles($titles);
                $Csv->setSeparator(";");
                $Csv->getCsv();
                
                break;
            case 'html':
                $Html = new Agro_Plugin_Rs2Html();
                $Html->setRecordSet($Rs);
                $Html->setTitles($titles);
                $Html->setFormat($format);
                $Html->getHtml();
                break;
        }
    }

    public function retornosseguradoraAction()
    {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Tecnica = new Relatorio_Model_Tecnica();
		$Rs = $Tecnica->retornosSeguradora($this->getRequest()->getParam('dt_inicio'), $this->getRequest()->getParam('dt_fim'));

		$titles = array(
            'id_proposta_mae' => 'Proposta (Mãe)',
            'id_proposta_endosso' => 'Proposta Endosso',
            'id' => 'ID',
            'ds_tipo_transmissao' => 'Tipo',
            'fl_sucesso' => 'Sucesso',
            'ds_retorno' => 'Retorno',
            'dt_criacao' => 'Data/Hora'
        );

        switch ($this->getRequest()->getParam('tipo')) {
            case 'excel':

            	foreach ($Rs as &$row) {
            		$row['ds_retorno'] = '"' . $row['ds_retorno'] . '"';
            	}

                $Csv = new Agro_Plugin_Rs2Csv();
                $Csv->setRecordSet($Rs);
                $Csv->setType("application/octet-stream");
                $Csv->setFileName("relatorio_retornos_seguradora.csv");
                $Csv->setDisposition("attachment");
                $Csv->setTitles($titles);
                $Csv->setSeparator(";");
                $Csv->getCsv();
                
                break;
            case 'html':
                $Html = new Agro_Plugin_Rs2Html();
                $Html->setRecordSet($Rs);
                $Html->setTitles($titles);
                $Html->setFormat($format);
                $Html->getHtml();
                break;
        }
    }

    public function vistoriapreviatransmitidaAction()
    {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Tecnica = new Relatorio_Model_Tecnica();
		$Rs = $Tecnica->relatorioVistoriaPreviaTransmitida(
			$this->getRequest()->getParam('id_safra'),
			$this->getRequest()->getParam('id_produto')
		);

		foreach ($Rs as &$Row) {
			$Row['obs_laudo'] = str_replace("\n", "", $Row['obs_laudo']);
			$Row['obs_laudo'] = str_replace("\r", "", $Row['obs_laudo']);
			$Row['obs_app'] = str_replace("\n", "", $Row['obs_app']);
			$Row['obs_app'] = str_replace("\r", "", $Row['obs_app']);
		}

		$titles = array(
			'id' => 'Proposta',
			'ds_chave' => 'Status Proposta',
			'ds_nome_produto' => 'Produto',
			'total_itens'	  => 'Total Itens',
			'ds_nome_municipio' => 'Município',
			'ds_sigla' => 'UF',
			'ds_status_vistoria' => 'Status Vistoria',
			'tp_preenchimento' => 'Tipo de VP',
		    'ds_status_analise' => 'Status Análise',
		    'ds_nome_fantasia' => 'Empresa',
		    'dt_vistoria' => 'Data Vistoria',
		    'ds_nome_abreviado' => 'Corretor',
		    'fl_sinistro' => 'Sinistro?',
		    'nr_endosso' => 'Endossos?',
		    'prioridade_conferencia' => 'Prioridade de Conferência',
			'obs_laudo' => 'OBS do laudo',
			'obs_app' => 'OBS gerada pelo App',
			'croqui' => 'Croqui'
		);

        switch ($this->getRequest()->getParam('tipo')) {
            case 'excel':
                $Csv = new Agro_Plugin_Rs2Csv();
                $Csv->setRecordSet($Rs);
                $Csv->setType("application/octet-stream");
                $Csv->setFileName("relatorio_vistoria_previa_transmitida.csv");
                $Csv->setDisposition("attachment");
                $Csv->setTitles($titles);
                $Csv->setSeparator(";");
                $Csv->getCsv();
                break;
            case 'html':
                $Html = new Agro_Plugin_Rs2Html();
                $Html->setRecordSet($Rs);
                $Html->setTitles($titles);
                $Html->setFormat($format);
                $Html->getHtml();
                break;
        }
    }

	public function controleemissoesAction()
	{
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Safras = new Produto_Model_Safras();
		$safraAtual = $Safras->getSafraAtual();
		
		$Tecnica = new Relatorio_Model_Tecnica();
		$Rs = $Tecnica->relatorioControleEmissoes($safraAtual['id'], $this->getRequest()->getParam('id_produto'));

		$titles = array(
			'ds_nome_safra' => 'Safra',
			'id_proposta_mae' => 'Proposta',
			'nr_endosso' => 'Endosso',
			'tp_endosso' => 'Tipo de Endosso',
			'nr_apolice' => 'Apólice',
			'ds_status' => 'Status',
			'dt_emissao_apolice' => 'Data da Emissão',
			'vl_segurado' => 'Prêmio Segurado',
			'vl_subvencao_federal' => 'Prêmio Sub Federal',
			'vl_subvencao_estadual' => 'Prêmio Sub Estadual'
        );

        switch ($this->getRequest()->getParam('tipo')) {
            case 'excel':
                $Csv = new Agro_Plugin_Rs2Csv();
                $Csv->setRecordSet($Rs);
                $Csv->setType("application/octet-stream");
                $Csv->setFileName("relatorio_controle_emissoes.csv");
                $Csv->setDisposition("attachment");
                $Csv->setTitles($titles);
                $Csv->setSeparator(";");
                $Csv->getCsv();
                
                break;
            case 'html':
                $Html = new Agro_Plugin_Rs2Html();
                $Html->setRecordSet($Rs);
                $Html->setTitles($titles);
                $Html->setFormat($format);
                $Html->getHtml();
                break;
        }
	}

	public function controlesafradataemissaoapolicesAction()
	{
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();
		
		$Tecnica = new Relatorio_Model_Tecnica();
		$Rs = $Tecnica->relatorioControleSafraDataEmissaoApolices($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));

		$titles = array(
			'id_proposta_mae' => 'Proposta',
			'proposta_completo' => 'Proposta Completo',
			'nr_apolice' => 'Apólice',
			'ds_nome_safra' => 'Safra',
			'ds_status' => 'Status',
			'dt_transmissao' => 'Data de Trasmissão',
			'dt_emissao_apolice' => 'Data da Emissão'
        );

        switch ($this->getRequest()->getParam('tipo')) {
            case 'excel':
                $Csv = new Agro_Plugin_Rs2Csv();
                $Csv->setRecordSet($Rs);
                $Csv->setType("application/octet-stream");
                $Csv->setFileName("relatorio_controle_emissoes.csv");
                $Csv->setDisposition("attachment");
                $Csv->setTitles($titles);
                $Csv->setSeparator(";");
                $Csv->getCsv();
                
                break;
            case 'html':
                $Html = new Agro_Plugin_Rs2Html();
                $Html->setRecordSet($Rs);
                $Html->setTitles($titles);
                $Html->getHtml();
                break;
        }
	}

	public function loginAction() {
		
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$safras = $this->getRequest()->getParam('id_safra');
		$produtos = $this->getRequest()->getParam('id_produto');
		$usuarios = $this->getRequest()->getParam('id_usuario');

		if(empty($safras)) {
			echo  "<script>alert('Selecione ao menos uma safra.');window.close();</script>";
			return false;
		}

		if(empty($produtos)){
			echo  "<script>alert('Selecione ao menos um produto.');window.close();</script>";
			return false;
		}

		if(empty($usuarios)) {
			echo  "<script>alert('Selecione ao menos um corretor/preposto.');window.close();</script>";
			return false;
		}

		$Tecnica = new Relatorio_Model_Tecnica();
		$ResultsCondComLogin = $Tecnica->relatorioCondicoesComerciaisLogin($safras, $produtos, $usuarios);
		if(count($ResultsCondComLogin) < 1){
			echo  "<script>alert('Não existem resultados para esta consulta.');window.close();</script>";
			return;
		}

		$titles = array(
			'ds_nome_safra' 			=> 'Safra',
			'ds_nome_produto' 			=> 'Produto',
			'ds_nome_cobertura'         => 'Cobertura',
			'id_cobertura'              => 'ID Cobertura',
			'ds_nome_agrupamento_taxas' => 'Nome da Condição',
			'vl_comissao' 				=> 'Comissão (%)',
			'vl_franquia'	 			=> 'Franquia/NC (%)',
			'vl_taxa' 					=> 'Taxa (%)',
			'vl_taxa_renovacao' 		=> 'Taxa Renovação (%)',
			'vl_taxa_inadimplente' 		=> 'Taxa Inadimplente (%)',
			'nr_ibge' 					=> 'Município (Código IBGE)',
			'vl_produtividade_estimada' => 'PE',
			'nome_usuario' 				=> 'Login/Sub-login'
		);

		$format = array(
			'ds_nome_safra' 			=> array('align' => 'left'),
			'ds_nome_produto' 			=> array('align' => 'left'),
			'ds_nome_agrupamento_taxas' => array('align' => 'left'),
			'vl_comissao' 				=> array('align' => 'right'),
			'vl_franquia'	 			=> array('align' => 'right'),
			'vl_taxa' 					=> array('align' => 'right'),
			'vl_taxa_renovacao' 		=> array('align' => 'right'),
			'vl_taxa_inadimplente' 		=> array('align' => 'right'),
			'nr_ibge' 					=> array('align' => 'right'),
			'vl_produtividade_estimada' => array('align' => 'right'),
			'usuario' 					=> array('align' => 'left')
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($ResultsCondComLogin);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("rel_cond_com_login.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($ResultsCondComLogin);
				$Html->setFormat($format);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

    /**
     * Relatório para Devolução
     * Id: 2006
     * @return void
     */
	public function relatoriodevolucaoAction()
	{
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$tecnica = new Relatorio_Model_Tecnica();
		$rs = $tecnica->relatorioDevolucao(
			$this->getRequest()->getParam('id_safra'),
			$this->getRequest()->getParam('motivo'),
			$this->getRequest()->getParam('id_produto'),
			$this->getRequest()->getParam('id_corretor'));

        foreach ($rs as &$registro) {
            $registro['observacao'] = Agro_Util::removerCaracteresQuebraRelatorios($registro['observacao']);
        }

		$titles = array(
			'id_proposta_mae' => 'Proposta',
			'ds_nome_safra' => 'Safra',
			'nr_endosso' => 'Endosso',
			'proposta_completa' => 'Proposta completa',
			'nr_apolice' => 'Apólice',
			'id_endosso' => 'Id endosso',
			'dt_inicio' => 'Data Início',
			'numero_titulo' => 'Nº título',
			'corretor' => 'Corretor',
			'ds_nome_proponente' => 'Segurado',
			'cpf_cnpj_proponente' => 'CPF/CNPJ (segurado)',
			'termo' => 'Termo',
			'cpf_cnpj_beneficiario' => 'CPF/CNPJ (beneficiário)',
			'valor' => 'Valor R$',
			'motivo' => 'Motivo',
			'tp_devolucao' => 'Tipo de devolução (OP/Depósito)',
			'instituicao_financeira' => 'Instituição financeira',
			'agencia' => 'Agência',
			'conta' => 'Conta',
			'conta_conjunta' => 'Conta conjunta S/N',
			'tipo_conta' => 'Tipo de conta (Corrente/Poupaça)',
			'ds_status_devolucao' => 'Status da Devolução',
			'documento_anexado' => 'Documento Anexado?',
			'dt_programada' => 'Data Programada',
			'data_ultima_alteracao' => 'Data de Alteração',
			'total_tentativas_devolucao' => 'Tentativa Devolução',
			'observacao' => 'Observação',
		);
		
		$format = array(
			'cpf_cnpj_proponente' => array('align' => 'right'),
			'cpf_cnpj_beneficiario' => array('align' => 'right'),
			'termo' => array('align' => 'center'),
			'valor' => array('align' => 'right'),
			'agencia' => array('align' => 'right'),
			'conta' => array('align' => 'right'),
			'conta_conjunta' => array('align' => 'center')
		);
		
        switch ($this->getRequest()->getParam('tipo')) {
            case 'excel':
                $Csv = new Agro_Plugin_Rs2Csv();
                $Csv->setRecordSet($rs);
                $Csv->setType("application/octet-stream");
                $Csv->setFileName("relatorio_devolucao.csv");
				$Csv->setDisposition("attachment");
                $Csv->setTitles($titles);
                $Csv->setSeparator(";");
                $Csv->getCsv();
                
                break;
            case 'html':
                $Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($rs);
                $Html->setTitles($titles);
				$Html->setFormat($format);
				$Html->getHtml();
                break;
        }
	}

    public function vistoriapreviaalteracoesAction()
    {
        $this->getHelper('ViewRenderer')->setNoRender();
        $this->getHelper('layout')->disableLayout();

        $Model = new Relatorio_Model_Tecnica();
        $parametros = $this->getRequest()->getParams();
        $statusAnaliseValidos = [
            Seguro_Model_VistoriaPrevia::ID_STATUS_VP_ANALISE_CONCLUIDA_COM_ALT_SEM_MOV,
            Seguro_Model_VistoriaPrevia::ID_STATUS_VP_ANALISE_CONCLUIDA_AUMENTO,
            Seguro_Model_VistoriaPrevia::ID_STATUS_VP_ANALISE_CONCLUIDA_RED,
            Seguro_Model_VistoriaPrevia::ID_STATUS_VP_ANALISE_CONCLUIDA_CANC,
        ];
        $RsVistoriaPrevia = $Model->relatorioVistoriaPreviaCompleto(
            $parametros['id_safra'],
            $parametros['id_produto'],
            false,
            [],
            [],
            $parametros['id_status_analise'] === '' ? $statusAnaliseValidos : [$parametros['id_status_analise']],
            $parametros['id_status_alteracao'] === '*' ? null : (int) $parametros['id_status_alteracao']
        );

        $titles = array(
            'id' => 'Proposta',
            'ds_chave' => 'Status Proposta',
            'ds_nome_produto' => 'Produto',
            'ds_status_vistoria' => 'Status Vistoria',
            'tp_preenchimento' => 'Tipo de VP',
            'dt_analise' => 'Data Análise',
            'alterado_por' => 'Alterado Por',
            'ds_status_analise' => 'Status Análise',
            'ds_status_alteracao' => 'Status da Alteração - VP',
            'fl_sinistro' => 'Sinistro?',
            'observacao' => 'Observação Cadastrada',
        );

        $format = array(
            'id_proposta' => array('align' => 'center'),
            'ds_chave' => array('align' => 'center'),
            'ds_nome_produto' => array('align' => 'left'),
            'ds_status_vistoria' => array('align' => 'left'),
            'ds_status_analise' => array('align' => 'left')
        );

        switch ($this->getRequest()->getParam('tipo')) {
            case 'excel':
                $Csv = new Agro_Plugin_Rs2Csv();
                $Csv->setRecordSet($RsVistoriaPrevia);
                $Csv->setType("application/octet-stream");
                $Csv->setFileName("relatorio_vistoria_previa.csv");
                $Csv->setDisposition("attachment");
                $Csv->setTitles($titles);
                $Csv->setSeparator(";");
                $Csv->getCsv();

                break;
            case 'html':
                $Html = new Agro_Plugin_Rs2Html();
                $Html->setRecordSet($RsVistoriaPrevia);
                $Html->setFormat($format);
                $Html->setTitles($titles);
                $Html->getHtml();

                break;
        }
    }

    public function iniciocoberturaAction()
    {
        $this->getHelper('ViewRenderer')->setNoRender();
        $this->getHelper('layout')->disableLayout();
		
        $rs = (new Relatorio_Model_Tecnica())->inicioCobertura($this->getRequest()->getParams());
		
		foreach ($rs as $k => &$v) {
			$parametrosCalculoCoberturaTecnica = new Agro_ParameterObject_CalculoCoberturaTecnica(
				new Zend_Date($v['inicio_cobertura'], 'dd/MM/Y'),
				new Zend_Date($v['dt_vigencia_inicio_original'], 'dd/MM/Y'),
				new Zend_Date($v['dt_vigencia_fim'], 'dd/MM/Y'),
				new Zend_Date($v['dt_vencimento_boleto'], 'dd/MM/Y'),
				(float) $v['valor_segurado'],
				(float) $v['premio_pago_segurado']
			);
			
			$resultado = Agro_CalculoCoberturaTecnica::calcula($parametrosCalculoCoberturaTecnica);

			$v['inicio_estimado_cobertura'] = !empty($resultado['dataInicioEstimadoCobertura'])
				? ($resultado['dataInicioEstimadoCobertura'])->get('dd/MM/Y')
				: null;
			$v['final_vigencia_recalculado'] = !empty($resultado['dataFinalVigenciaRecalculado'])
				? ($resultado['dataFinalVigenciaRecalculado'])->get('dd/MM/Y')
				: null;
			$v['final_cobertura_tecnica'] = !empty($resultado['dataFinalCoberturaTecnica'])
				? ($resultado['dataFinalCoberturaTecnica'])->get('dd/MM/Y')
				: null;
		}	

        $titles = [
            'id_proposta_mae' => 'Proposta',
			'ds_nome_safra' => 'Safra',
            'nr_apolice' => 'Apólice',
            'ds_nome_cultura' => 'Cultura',
            'uf_propriedade' => 'UF',
            'ds_nome_produto' => 'Produto',
            'numero_endosso' => 'Endosso',
            'ds_status' => 'Status',
            'nr_parcela' => 'Nº Parcela Segurado',
            'vl_segurado' => 'Valor Original',
            'dt_vencimento' => 'Vencimento Original',
            'nu_boleto' => 'Nº Boleto Essor',
            'vl_total' => 'Valor Prorrogado',
            'dt_vencimento_prorrogado' => 'Vencimento Prorrogado',
            'numero_boleto_essor_prorrogado' => 'Nº Boleto Essor Prorrogado',
            'status_pagamento' => 'Status Pagamento',
            'dt_pagamento' => 'Data Pagamento',
            'sinistro_andamento' => 'Sinistro em Andamento?',
            'sinistro_recusado' => 'Sinistro Recusado?',
            'motivo_recusa' => 'Motivo de Recusa',
            'dt_vigencia_inicio_original' => 'Início de Vigência',
            'dt_vigencia_fim' => 'Final de Vigência',
            'inicio_cobertura' => 'Início Estimado do Risco',
			'inicio_estimado_cobertura' => 'Início Estimado Cobertura',
			'final_vigencia_recalculado' => 'Final de Vigência Recalculado',
			'final_cobertura_tecnica' => 'Final de Cobertura Técnica',
            'dt_aceitacao' => 'Prazo de Aceitação do Seguro',
            'valor_segurado' => 'Prêmio Total Segurado',
            'premio_pago_segurado' => 'Prêmio Total Pago Pelo Segurado'
        ];

        $format = [
            'id_proposta' => ['align' => 'right'],
            'nr_apolice' => ['align' => 'right'],
            'ds_nome_cultura' => ['align' => 'left'],
            'uf_propriedade' => ['align' => 'center'],
            'ds_nome_produto' => ['align' => 'left'],
            'numero_endosso' => ['align' => 'right'],
            'ds_status' => ['align' => 'left'],
            'nr_parcela' => ['align' => 'right'],
            'vl_segurado' => ['align' => 'right'],
            'dt_vencimento' => ['align' => 'center'],
            'nu_boleto' => ['align' => 'right'],
            'vl_total' => ['align' => 'right'],
            'dt_vencimento_prorrogado' => ['align' => 'right'],
            'numero_boleto_essor_prorrogado' => ['align' => 'right'],
            'status_pagamento' => ['align' => 'left'],
            'dt_pagamento' => ['align' => 'right'],
            'sinistro_andamento' => ['align' => 'center'],
            'sinistro_recusado' => ['align' => 'center'],
            'motivo_recusa' => ['align' => 'left'],
            'dt_vigencia_inicio_original' => ['align' => 'center'],
            'dt_vigencia_fim' => ['align' => 'center'],
            'inicio_cobertura' => ['align' => 'center'],
            'dt_aceitacao' => ['align' => 'center'],
            'valor_segurado' => ['align' => 'right'],
            'premio_pago_segurado' => ['align' => 'right'],
            'ds_nome_safra' => ['align' => 'left'],
        ];

        switch ($this->getRequest()->getParam('tipo')) {
            case 'excel':
                $Csv = new Agro_Plugin_Rs2Csv();
                $Csv->setRecordSet($rs);
                $Csv->setType("application/octet-stream");
                $Csv->setFileName("relatorio_inicio_cobertura.csv");
                $Csv->setDisposition("attachment");
                $Csv->setTitles($titles);
                $Csv->setSeparator(";");
                $Csv->getCsv();

                break;
            case 'html':
                $Html = new Agro_Plugin_Rs2Html();
                $Html->setRecordSet($rs);
                $Html->setFormat($format);
                $Html->setTitles($titles);
                $Html->getHtml();

                break;
        }
    }

	public function acompanhamentocamposegurosvigentesAction() {
	
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Vendas = new Relatorio_Model_Tecnica();
	
		$rs = $Vendas->relatorioAcompanhamentocCampoSegurosVigentes(
			(int) $this->getRequest()->getParam('id_safra'),
			(int) $this->getRequest()->getParam('id_cultura'),
			$this->getRequest()->getParam('id_produto'),
			$this->getRequest()->getParam('id_estado')
		);
		
		$arr = array();
		
		$coberturasAdicionais = $Vendas->getCoberturasAdicionaisByIdsProposta(array_column($rs, 'id_proposta'));
		
		foreach($rs as $Row){
			$tp_proposta = ($Row['id_proposta_renovada'] > 0 ) ? 'R' : 'P';
	
			$ds_classe = 'NO';
			if($Row['ds_classe']){
				$ds_classe = $Row['ds_classe'];
			}
	
			$ds_coordenadas = preg_replace('/\s/',' ',$Row['ds_coordenadas']);
			$ds_coordenadas = str_replace(';',' - ',$ds_coordenadas);
	
			$arr[$Row['id_proposta']]['id_proposta']              = $Row['id_proposta'];
			$arr[$Row['id_proposta']]['id_proposta_mae']          = $Row['id_proposta_mae'];
			$arr[$Row['id_proposta']]['tipo_produto']          	  = $Row['tipo_produto'];
			$arr[$Row['id_proposta']]['ds_status']                = $Row['ds_status'];
			$arr[$Row['id_proposta']]['municipio_propriedade']    = $Row['municipio_propriedade'];
			$arr[$Row['id_proposta']]['estado_propriedade']       = $Row['estado_propriedade'];
			$arr[$Row['id_proposta']]['ds_nome_produto']          = $Row['ds_nome_produto'];
			$arr[$Row['id_proposta']]['ds_nome_cultura']          = $Row['ds_nome_cultura'];
			$arr[$Row['id_proposta']]['total_area']               = $Row['total_area'];
			$arr[$Row['id_proposta']]['total_lmga']               = $Row['total_lmga'];
			$arr[$Row['id_proposta']]['dt_vigencia_fim']          = $Row['dt_vigencia_fim'];
			$arr[$Row['id_proposta']]['ds_coordenadas']           = $ds_coordenadas;
			$arr[$Row['id_proposta']]['ds_nome_cobertura']        = $Row['ds_nome_cobertura'];

			$arr[$Row['id_proposta']]['inicio_cobertura'] = '';

			if (!empty($Row['inicio_cobertura']) || !empty($Row['dt_vigencia_inicio_original'])) {
				$arrInicioCobertura = explode('/', $Row['inicio_cobertura']);
				$arrVigenciaOriginal = explode('/', $Row['dt_vigencia_inicio_original']);

				$dataInicioCobertura = "{$arrInicioCobertura[2]}-{$arrInicioCobertura[1]}-{$arrInicioCobertura[0]}";
				$dataVigenciaOriginal = "{$arrVigenciaOriginal[2]}-{$arrVigenciaOriginal[1]}-{$arrVigenciaOriginal[0]}";
				
				$arr[$Row['id_proposta']]['inicio_cobertura'] = $dataInicioCobertura > $dataVigenciaOriginal
					? $Row['inicio_cobertura']
					: $Row['dt_vigencia_inicio_original'];
			}

			$arr[$Row['id_proposta']]['previa_encaminhada']       = $Row['previa_encaminhada'];
			$arr[$Row['id_proposta']]['sinistro_comunicado']      = $Row['sinistro_comunicado'];
	
			$Rs_cob = $coberturasAdicionais[$Row['id_proposta']];
			$i = 0;

			foreach ($Rs_cob as $row2) {
				$arr[$Row['id_proposta']]['cob_'.$i] = $row2['ds_nome_cobertura'];
				$i++;
			}
		}
	
		$titles = array(
				'id_proposta_mae' => 'Proposta',
				'ds_status' => 'Status',
				'estado_propriedade' => 'UF',
				'municipio_propriedade' => 'Município',
				'ds_nome_cultura' => 'Cultura',
				'ds_nome_produto' => 'Produto',
				'tipo_produto' => 'Grupo de Cultura',
				'dt_vigencia_fim' => 'Final Vigência',
				'inicio_cobertura' => 'Início de Cobertura Estimado',
				'total_area' => 'Área',
				'total_lmga' => 'LMGA',
				'ds_nome_cobertura' => 'Cobertura Principal',
				'cob_0' => 'Cob. Adicional 1',
				'cob_1' => 'Cob. Adicional 2',
				'cob_2' => 'Cob. Adicional 3',
				'cob_3' => 'Cob. Adicional 4',
				'cob_4' => 'Cob. Adicional 5',
				'cob_5' => 'Cob. Adicional 6',
				'ds_coordenadas' => 'Coordenada da Sede',
				'previa_encaminhada' => 'Prévia Encaminhada?',
				'sinistro_comunicado' => 'Sinistro Comunicado?'
		);
	
		$format = array(
			'id_proposta' => array('align' => 'center')
		);
		
		$this->generateReport('relatorio_vendas.csv', $arr, $titles, $format);
	}
    /**
     * Relatório de Subscrição
     * Id: 2062
     * @return void
     */
    public function subscricaoAction()
    {
        $this->getHelper('ViewRenderer')->setNoRender();
        $this->getHelper('layout')->disableLayout();

        $beneficiariosPropostas = [];
        $coberturasAdicionais = [];
        $maiorNumeroCoberturasAdicionais = 0;
        $parametros = $this->getRequest()->getParams();
        $propostas = [];

        $modelRelatorioTecnica = new Relatorio_Model_Tecnica();
        $registros = $modelRelatorioTecnica->relatorioSubscricao($parametros);

        if (!empty($registros)) {
            $beneficiarios = $modelRelatorioTecnica->beneficiariosProposta($parametros);
            $coberturasAdicionaisRetorno = $modelRelatorioTecnica->coberturasAdicionaisPropostas($parametros);

            foreach ($beneficiarios as $beneficiario) {
                $beneficiariosPropostas[$beneficiario['id_proposta']][] = $beneficiario;
            }

            foreach ($coberturasAdicionaisRetorno as $cobertura) {
                $coberturasAdicionais[$cobertura['id_proposta']][] = $cobertura;
            }

            foreach ($registros as $registro) {
                $chave = "{$registro['id']}_{$registro['nr_item_segurado']}";
                $propostas[$chave] = $registro;
                $propostas[$chave]['ds_referencia_localizacao'] = preg_replace( "/\r|\n|;/", "", $registro['ds_referencia_localizacao']);
                $propostas[$chave]['ds_observacao'] = preg_replace( "/\r|\n|;/", "", $registro['ds_observacao']);
                $propostas[$chave]["cpf_cnpf_beneficiario_1"] = '';
                $propostas[$chave]["beneficiario_novo_1"] = '';
                $propostas[$chave]["cpf_cnpf_beneficiario_2"] = '';
                $propostas[$chave]["beneficiario_novo_2"] = '';
                $propostas[$chave]["cobertura_adicional_0"] = '';
                $propostas[$chave]["cobertura_adicional_1"] = '';
                $propostas[$chave]["cobertura_adicional_2"] = '';
                $propostas[$chave]["cobertura_adicional_3"] = '';
                $propostas[$chave]["cobertura_adicional_4"] = '';
                $propostas[$chave]["cobertura_adicional_5"] = '';

                if (array_key_exists($registro['id'], $beneficiariosPropostas)) {
                    foreach ($beneficiariosPropostas[$registro['id']] as $indice => $beneficiario) {
                        $propostas[$chave]["cpf_cnpf_beneficiario_{$indice}"] = $beneficiario['cpf_cnpj'];
                        $propostas[$chave]["beneficiario_novo_{$indice}"] = $beneficiario['beneficiario_novo'];
                    }
                }

                if (array_key_exists($registro['id'], $coberturasAdicionais)) {
                    $totalCoberturasAdicionais = 0;
                    foreach ($coberturasAdicionais[$registro['id']] as $indice => $cobertura) {
                        $propostas[$chave]["cobertura_adicional_{$indice}"] = $cobertura['ds_nome_cobertura'];
                        $totalCoberturasAdicionais++;
                    }

                    if ($totalCoberturasAdicionais > $maiorNumeroCoberturasAdicionais) {
                        $maiorNumeroCoberturasAdicionais = $totalCoberturasAdicionais;
                    }
                }
            }
        }

        $titulosInicio = array(
            'id_proposta_mae' => 'Proposta',
            'status' => 'Status',
            'ds_nome_usuario' => 'Sublogin (Digitador)',
            'cpf_cnpj_proponente_novo' => 'CPF/CNPJ Proponente Novo?',
            'fl_restricao' => 'RT',
            'cpf_cnpf_beneficiario_0' => 'CPF/CNPJ Beneficiário 1?',
            'beneficiario_novo_0' => 'Beneficiário 1 Novo?',
            'cpf_cnpf_beneficiario_1' => 'CPF/CNPJ Beneficiário 2?',
            'beneficiario_novo_1' => 'Beneficiário 2 Novo?',
            'nr_item_segurado' => 'Item',
            'ds_item_segurado' => 'Nome da Quadra',
            'estado_propriedade' => 'UF',
            'municipio_propriedade' => 'Município',
            'ds_nome_produto' => 'Produto',
            'cobertura_principal' => 'Cob. Principal',
        );

        for ($contador = 0; $contador < $maiorNumeroCoberturasAdicionais; $contador++) {
            $numeroCobertura = $contador + 1;
            $titulosInicio["cobertura_adicional_{$contador}"] = "Cob. Adicional {$numeroCobertura}";
        }

        $titulosComplemento = [
            'ds_nome_variedade' => 'Variedade',
            'primeiro_ano_plantio' => '1º Ano de Plantio?',
            'area_item' => 'Área',
            'vl_lmga_item' => 'LMGA',
            'sistema_plantio' => 'Sistema de Plantio',
            'dt_aceitacao' => 'Prazo de Aceitação',
            'ds_referencia_localizacao' => 'Dica de Acesso a Sede',
            'toda_area_cultivada' => 'Questionário Pergunta 5',
            'possui_lavoura_mesmo_municipio' => 'Questionário Pergunta 6',
            'ds_observacao' => 'Observação da Proposta',
            'dt_transmissao' => 'Dt Transmissão',
        ];

        $titulos = $titulosInicio + $titulosComplemento;

        $format = array(
            'id_proposta_mae' => array('align' => 'center')
        );

        switch ($this->getRequest()->getParam('tipo')) {
            case 'excel':
                $Csv = new Agro_Plugin_Rs2Csv();
                $Csv->setRecordSet($propostas);
                $Csv->setType("application/octet-stream");
                $Csv->setFileName("relatorio_subscricao.csv");
                $Csv->setDisposition("attachment");
                $Csv->setTitles($titulos);
                $Csv->setSeparator(";");
                $Csv->getCsv();

                break;
            case 'html':
                $Html = new Agro_Plugin_Rs2Html();
                $Html->setRecordSet($propostas);
                $Html->setTitles($titulos);
                $Html->setFormat($format);
                $Html->getHtml();
                break;
        }
    }

    /**
     * Relatório de Subscrição - Georreferenciamento
     * Id: 2078
     * @return void
     */
    public function subscricaogeorreferenciamentoAction()
    {
        $this->getHelper('ViewRenderer')->setNoRender();
        $this->getHelper('layout')->disableLayout();

        $rs = (new Relatorio_Model_Tecnica())->subscricaoGeorreferenciamento($this->getRequest()->getParams());
		$maxIndexCoordenadas = 0;

		foreach ($rs as &$row) {

			if (!empty($row['ds_coordenadas'])) {

				$talhoes = explode("|", $row['ds_coordenadas']);
				
				$coordenadas = [];
				foreach ($talhoes as $index => $talhao) {
					$dsCoordenadasJSON = json_decode($talhao);
					
					foreach ($dsCoordenadasJSON as $coordenada) {
						$longitude = substr($coordenada->longitude, 0, 10);
						$latitude = substr($coordenada->latitude, 0, 10);
						$coordenadas[$index][] = "{$longitude} {$latitude}";
					}
					$coordenadas[$index][] = $coordenadas[$index][0];
				}

				if (count($coordenadas) > 1) {
					$row['ds_coordenadas'] = "MULTIPOLYGON (";

					foreach ($coordenadas as $index => $coordenada) {

						$virgula = $index == 0 ? "" : ", ";
						$row['ds_coordenadas'] .= $virgula . "((". implode(", ", $coordenada) ."))";
					}

					$row['ds_coordenadas'] .= ")";

				} else {
					$row['ds_coordenadas'] = "POLYGON ((". implode(", ", $coordenadas[0]) ."))";
				}

				$dsCoordenadas = str_split($row['ds_coordenadas'], 32726);
				
				foreach ($dsCoordenadas as $index => $valor) {
					$row["ds_coordenadas_{$index}"] = $valor;
					$maxIndexCoordenadas = $index > $maxIndexCoordenadas ? $index : $maxIndexCoordenadas;
				}
			}
			
			if(!is_null($row['fl_manual'])){
				$row['ds_entrada_car'] = (!$row['fl_manual']) ? "Selecionado" : "Manual";
			}else{
				$row['ds_entrada_car'] = '';
			}

		}

        $titles = [
            'id_proposta_mae' => 'id_proposta_mae',
            'id_proposta' => 'id_proposta',
            'status_endosso' => 'status_endosso',
            'id_segurado' => 'id_segurado',
            'nome_cultura' => 'nome_cultura',
            'nome_grupo' => 'nome_grupo',
            'nome_fantasia_corretor' => 'nome_fantasia_corretor',
            'nome_sublogin' => 'nome_sublogin',
            'codigo_ibge' => 'codigo_ibge',
            'nome_municipio' => 'nome_municipio',
            'sigla_uf' => 'sigla_uf',
            'id_cobertura_principal' => 'id_cobertura_principal',
            'cobertura_adicional_1' => 'cobertura_adicional_1',
            'cobertura_adicional_2' => 'cobertura_adicional_2',
            'cobertura_adicional_3' => 'cobertura_adicional_3',
            'cobertura_adicional_4' => 'cobertura_adicional_4',
            'cobertura_adicional_5' => 'cobertura_adicional_5',
            'cobertura_adicional_6' => 'cobertura_adicional_6',
            'cobertura_adicional_7' => 'cobertura_adicional_7',
            'valor_lmga' => 'valor_lmga',
            'valor_area' => 'valor_area',
            'vigencia_inicio' => 'vigencia_inicio',
            'vigencia_fim' => 'vigencia_fim',
            'data_transmissao' => 'data_transmissao',
            'numero_item' => 'numero_item',
            'descricao_item' => 'descricao_item',
            'proposta_item' => 'proposta_item',
			'ds_car' => 'CAR',
			'ds_entrada_car' => 'Forma de Entrada'
        ];

		for ($i = 0; $i <= $maxIndexCoordenadas; $i++) { 
			$titles["ds_coordenadas_{$i}"] = 'poligono ' . ($i + 1) . '/' . ($maxIndexCoordenadas + 1);
		}

        switch ($this->getRequest()->getParam('tipo')) {
            case 'excel':
                $csv = new Agro_Plugin_Rs2Csv();
                $csv->setRecordSet($rs);
                $csv->setType("application/octet-stream");
                $csv->setFileName("relatorio_inicio_cobertura.csv");
                $csv->setDisposition("attachment");
                $csv->setTitles($titles);
                $csv->setSeparator(";");
                $csv->getCsv();

                break;
            case 'html':
                $html = new Agro_Plugin_Rs2Html();
                $html->setRecordSet($rs);
                $html->setTitles($titles);
                $html->getHtml();

                break;
        }
    }

    /**
     * Relatório de Subscrição - Listagem de Coordenadas
     * * Id: 2079
     * @return void
     * @throws Zend_Db_Adapter_Exception
     */
    public function subscricaolistagemcoordenadasAction()
    {
        $this->getHelper('ViewRenderer')->setNoRender();
        $this->getHelper('layout')->disableLayout();

        $rs = (new Relatorio_Model_Tecnica())->subscricaoListagemCoordenadas($this->getRequest()->getParams());

        $arquivo = Zend_Controller_Front::getInstance()->getRequest()->getControllerName();
        $arquivo .= '_' . Zend_Controller_Front::getInstance()->getRequest()->getActionName() . '.csv';
        $arquivoCompleto = APPLICATION_PATH . "/upload_files/relatorio/{$arquivo}";
        $cabecalho = "id;id_proposta_mae;id_proposta;latitude;longitude;numero_item;proposta_item\n";
        $string = "";

        file_put_contents($arquivoCompleto, $cabecalho);

        foreach ($rs as $registro) {
            $string .= "{$registro['id']};{$registro['id_proposta_mae']};{$registro['id_proposta']};";
            $string .= "{$registro['latitude']};{$registro['longitude']};{$registro['numero_item']};";
            $string .= "{$registro['proposta_item']}\n";
        }

        file_put_contents($arquivoCompleto, $string, FILE_APPEND);

        $this->logRelatorioGerado();

        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename="'.basename($arquivoCompleto).'"');
        header('Expires: 0');
        header('Cache-Control: must-revalidate');
        header('Pragma: public');
        header('Content-Length: ' . filesize($arquivoCompleto));
        readfile($arquivoCompleto);
        exit;
    }

    /**
     * @return void
     * @throws Zend_Db_Adapter_Exception
     */
    private function logRelatorioGerado()
    {
        $insert = array(
            'id_usuario_criacao' => Zend_Auth::getInstance()->getIdentity()->id,
            'ds_controller'      => Zend_Controller_Front::getInstance()->getRequest()->getControllerName(),
            'ds_module'          => Zend_Controller_Front::getInstance()->getRequest()->getModuleName(),
            'ds_action'          => Zend_Controller_Front::getInstance()->getRequest()->getActionName(),
            'filename'           => Zend_Controller_Front::getInstance()->getRequest()->getControllerName()
                . '_' . Zend_Controller_Front::getInstance()->getRequest()->getActionName() . '.csv'
        );

        Agro_Db_Table_Abstract::getDefaultAdapter()->insert('log.log_relatorios_gerados', $insert);
    }

	public function resultadopremioitemcoberturaAction(): void
	{
		$this->getHelper('ViewRenderer')->setNoRender();
	    $this->getHelper('layout')->disableLayout();

		$modelTecnica = new Relatorio_Model_Tecnica();
	    $rs = $modelTecnica->relatorioPremioItemCobertura($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'));

	    $titles = array(
	        'id_proposta' => 'Proposta',
			'nr_item_segurado' => "Item",
			'ds_item_segurado' => "Quadra",
	        'vl_premio' => 'Prêmio',
	        'vl_lmga' => 'LMGA Cobertura',
	        'vl_area' => 'Área',
	        'ds_nome_cobertura' => 'Cobertura',
	        'vl_franquia' => 'Franquia',
	        'ds_chave' => 'Status',
	        'ds_nome_produto' => 'Produto',
	        'ds_nome_cultura' => 'Cultura',
	        'nr_ibge' => 'IBGE',
	        'vl_comissao' => '% Comissão',
	        'ds_nome_safra' => 'Safra',
            'vl_prejuizo' => 'Prejuízo',
            'vl_indenizacao' => 'Indenização',
			'tipo_produto' => 'Grupo',
			'ds_nome_municipio' => 'Município',
			'ds_sigla' => 'UF',
			'ds_coordenadas_centroide' => 'Centróide',
	    );
	    
	    switch ($this->getRequest()->getParam('tipo')) {
	        case 'excel':
	            $Csv = new Agro_Plugin_Rs2Csv();
	            $Csv->setRecordSet($rs);
	            $Csv->setType("application/octet-stream");
	            $Csv->setFileName("relatorio_resultado_premio_cobertura.csv");
	            $Csv->setDisposition("attachment");
	            $Csv->setTitles($titles);
	            $Csv->setSeparator(";");
	            $Csv->getCsv();
	            
	            break;
	        case 'html':
	            $Html = new Agro_Plugin_Rs2Html();
	            $Html->setRecordSet($rs);
	            $Html->setTitles($titles);
	            $Html->getHtml();
	            
	            break;
	    }
	}

	
	private function decimalParaDMS($decimal) {
		$sinal = $decimal < 0 ? '-' : '';
		$decimal = abs($decimal);

		$graus = floor($decimal);
		$minutosDecimais = ($decimal - $graus) * 60;
		$minutos = floor($minutosDecimais);
		$segundos = round(($minutosDecimais - $minutos) * 60);

    	// Corrige caso os segundos sejam 60
    	if ($segundos == 60) {
        	$segundos = 0;
        	$minutos++;
    	}

    	// Corrige caso os minutos sejam 60
    	if ($minutos == 60) {
        	$minutos = 0;
        	$graus++;
		}

		return sprintf('%s%d %02d %02d', $sinal, $graus, $minutos, $segundos);
	}


	public function relatorioresseguroAction()
	{
		$this->getHelper('ViewRenderer')->setNoRender();
        $this->getHelper('layout')->disableLayout();

        $parametros = $this->getRequest()->getParams();
	
		unset($parametros["module"], $parametros["controller"], $parametros["action"]);

		if (!isset($parametros['id_resseguro']) || empty($parametros['id_resseguro'])) {
			echo  "<script>alert('Selecione ao menos um contrato de resseguro.');window.close();</script>";
			return false;
		}

		if(!isset($parametros['id_safra']) || empty($parametros['id_safra'])) {
			echo  "<script>alert('Selecione ao menos uma safra.');window.close();</script>";
			return false;
		}

		if(!isset($parametros['id_cultura']) || empty($parametros['id_cultura'])) {
			echo  "<script>alert('Selecione ao menos uma cultura.');window.close();</script>";
			return false;
		}

		foreach ($parametros as $key => $value) {
			if (is_array($value)) {
				$in = implode(",", array_map('intval', $value));
				if($key == 'id_resseguro'){
					$where['id_contrato_resseguro'] = "IN ($in)";
				}elseif($key == 'id_cultura'){
					$where['id_cultura'] = "IN ($in)";
				}elseif($key == 'id_safra'){
					$where['id_safra'] = "IN ($in)";
				}
			}
		}
		//$where = implode(" AND ", $where);
	
        $model = new Relatorio_Model_Tecnica();
        $rs = $model->relatorioInformacoesResseguroPorApolice($where);
		
		$combinado = [];

		foreach ($rs['dados_complementares'] as $dado) {
			$key =  $dado['id_endosso'].'_'.$dado['id_proposta_mae'];
	
			// Verifica se a situação está preenchida
			// $situacao = !empty($dado['situacao_proposta']) ? $dado['situacao_proposta'] : null;

			if(!isset($combinado[$key])){
				$combinado[$key] = [
					'dados_complementares' 	=> $dado,
					'liquidacoes' 			=> [],
					'sinistros' 			=> [],
					'situacao_proposta'		=> null
				];
			}else{
				if($dado['nr_endosso'] == 0){
					$dt_transmissao 		= $dado['dt_transmissao'];
					$dt_inicio_vigencia		= $dado['dt_inicio_vigencia'];
					$dt_vigencia_fim		= $dado['dt_vigencia_fim'];

					$combinado[$key]['dados_complementares']['dt_transmissao'] = $dt_transmissao;
					$combinado[$key]['dados_complementares']['dt_inicio_vigencia'] = $dt_inicio_vigencia;
					$combinado[$key]['dados_complementares']['dt_vigencia_fim'] = $dt_vigencia_fim;
				}
			}

			if (empty($combinado[$key]['situacao_proposta']) && !empty($dado['situacao_proposta'])) {
				$combinado[$key]['situacao_proposta'] = $dado['situacao_proposta'];
			}
		}

		foreach ($rs['liquidacoes'] as $liq) {
			$key =  $liq['id_endosso'].'_'.$liq['id_proposta_mae'];
			if (isset($combinado[$key])) {
				$combinado[$key]['liquidacoes'][] = $liq;
			}
		}
		foreach ($rs['sinistros'] as $proc) {
			$key =  $proc['id_endosso'].'_'.$proc['id_proposta_mae'];
			if (isset($combinado[$key])) {
				$combinado[$key]['sinistros'][] = $proc;
			}
		}

		unset($proc);
		$arr = array();

    	foreach ($combinado as $row) {
			$id_proposta = $row['dados_complementares']['id_proposta_mae'];
			$dt_emissao = new DateTime($row['dados_complementares']['menor_data_emissao']);
			$dt_emissao = $dt_emissao->format('d/m/Y');

			//Inicio fluxo de tratamento das datas para ficar no formato d/m/Y
			$dt_transmissao 	= DateTime::createFromFormat('d/m/Y H:i:s', $row['dados_complementares']['dt_transmissao']);
			$dt_transmissao 	= (!is_bool($dt_transmissao)) ? $dt_transmissao->format("d/m/Y") : "-";
			$dt_inicio_vigencia = DateTime::createFromFormat('d/m/Y H:i:s', $row['dados_complementares']['dt_inicio_vigencia']);
			$dt_inicio_vigencia = (!is_bool($dt_inicio_vigencia)) ? $dt_inicio_vigencia->format("d/m/Y") : "-";
			$dt_vigencia_fim 	= DateTime::createFromFormat('d/m/Y H:i:s', $row['dados_complementares']['dt_vigencia_fim']);
			$dt_vigencia_fim	= (!is_bool($dt_vigencia_fim)) ? $dt_vigencia_fim->format("d/m/Y") : "-";

			$dataRecepcao = $model->getDataRecepcao($id_proposta);
		
			if (!empty($dataRecepcao)) {
				$diasEntreData = Agro_Util::contarDiasEntreDatas(Agro_Util::formatDate($dt_inicio_vigencia, Zend_Date::DATES), $dataRecepcao);
		    	if ($diasEntreData > 0) {
            		$dt_inicio_vigencia = $dataRecepcao;
        		}
			}
			//FIM fluxo de tratamento das datas para ficar no formato d/m/Y

			$dt_vigencia_fim_expirada = (DateTime::createFromFormat('d/m/Y', $dt_vigencia_fim) < new DateTime()) ? true : false;
			$apenasAvisosCanceladosOuRecusados = (isset($row['sinistros'][0]['apenasAvisosCanceladosOuRecusados'])) ? $row['sinistros'][0]['apenasAvisosCanceladosOuRecusados'] : false;

			####### Definição do status_liquidacao_final
			$status_liqs = [];
			if (!empty($row['sinistros'][0]['liquidacoes'])) {
 				foreach ($row['sinistros'][0]['liquidacoes']['liquidacoes'] as $liq) {
					$status_liqs[] = $liq['status_liquidacao'];
 				}
		
				// Normaliza os status para facilitar a análise
 				$status_liqs = array_map('trim', $status_liqs);
			
				if (in_array('Aguardando Revisão', $status_liqs) || in_array('Aguardando envio para seguradora', $status_liqs)) {
    				// Regra 5: Em análise
    				$row['sinistros'][0]['status_liquidacao_final'] = 'Em análise';
				} elseif (in_array('Pendente de Pagamento', $status_liqs)) {
    				// Regra 4: Aguardando Pagamento
    				$restantes = array_diff($status_liqs, ['Pendente de Pagamento']);
    				if (empty($restantes) || count(array_diff($restantes, ['Indenização paga', 'Sem Indenização'])) === 0) {
        				$row['sinistros'][0]['status_liquidacao_final'] = 'Aguardando Pagamento';
    				}
				} 	elseif (in_array('Indenização paga', $status_liqs)){
					    				// Regra 3: Encerrado com pagamento
    				$restantes = array_diff($status_liqs, ['Indenização paga']);
    				if (empty($restantes) || count(array_diff($restantes, ['Sem Indenização'])) === 0) {
        				$row['sinistros'][0]['status_liquidacao_final'] = 'Encerrado com pagamento';
    				}
				}elseif ((count(array_unique($status_liqs)) === 1 && $status_liqs[0] === 'Sem Indenização') || ($apenasAvisosCanceladosOuRecusados && $dt_vigencia_fim_expirada)) {
    				// Regra 2: Encerrado sem pagamento
    				$row['sinistros'][0]['status_liquidacao_final'] = 'Encerrado sem pagamento';
				} else {
    				// Caso nenhum se aplique
    				$row['sinistros'][0]['status_liquidacao_final'] = 'Em análise';
				}

			}elseif(($row['sinistros'][0]['id_status_sinistro'] == 35)){
				$row['sinistros'][0]['status_liquidacao_final'] = 'Encerrado sem pagamento';
			}elseif(($apenasAvisosCanceladosOuRecusados && $dt_vigencia_fim_expirada)){
				$row['sinistros'][0]['status_liquidacao_final'] = 'Encerrado sem pagamento'; //NÃO TEM LIQUIDACAO
			}elseif(empty($row['sinistros'][0])){
				$row['sinistros'][0]['status_liquidacao_final'] = "-";
			}else{
				$row['sinistros'][0]['status_liquidacao_final'] = "Em análise";
			}

			####### Fim definição do status_liquidacao_final

			$ano_resseguro = explode('-',$row['dados_complementares']['dt_inicio_vigencia_resseguro']);
			$ano_resseguro = $ano_resseguro[0];
			if(is_null($ano_resseguro) or empty($ano_resseguro)){
                continue;
            }
        	$vl_premio_liquido = $row['dados_complementares']['valor_total'] - $row['dados_complementares']['vl_custo_apolice'];
			//Inicio fluxo para formatar coordenadas para formato '21 33 44'
			$ds_latitude 	= preg_replace('/\s/', ' ', $row['dados_complementares']['latitude']);
			$ds_longitude 	= preg_replace('/\s/', ' ', $row['dados_complementares']['longitude']);
        	$ds_latitude 	= str_replace(';', ' ', $ds_latitude);
        	$ds_longitude 	= str_replace(';', ' ', $ds_longitude);
	
			$ds_latitude 	= $this->decimalParaDMS($ds_latitude);
			$ds_longitude 	= $this->decimalParaDMS($ds_longitude);

			//FIM fluxo para formatar coordenadas para formato '21 33 44'
			$area = $row['dados_complementares']['total_area'];
			//$area = str_replace(',','.',$area);
			$area_formatada = number_format($area,2, '.', ',');
			$lmga = $row['dados_complementares']['vl_lmga'];

			$vl_retido = number_format($row['dados_complementares']['vl_retido'], 2, '.', ',');
			$calculoPE 			= $row['dados_complementares']['area_pe'] / $area;
			$calculoPEFormatado = number_format($calculoPE, 3, '.', ',');
			$calculoPG 			= $calculoPEFormatado;
			//Inicio regra especial para calculo de taxa (definida no doc de requisitos)

			if($row['dados_complementares']['is_pg']){
				$taxa = (($vl_premio_liquido / $lmga)*100);
				$taxa = number_format($taxa, 2); 

				$calculoPG = $calculoPE * ($row['dados_complementares']['vl_franquia'] / 100);
				$calculoPG = number_format($calculoPG, 3, '.', ',');
			}
			$taxa = ($row['dados_complementares']['id_status'] == 8) ? (($vl_premio_liquido / $lmga)*100) : (($row['dados_complementares']['vl_retido'] / $lmga)*100);
			$taxa = number_format($taxa, 2);
			//FIM regra especial para calculo de taxa

			$somatorioDespesasVistorias = 0;
			foreach($row['sinistros'][0]['vistorias'] as $r){
				$somatorioDespesasVistorias += (float)$r['despesas_sinistro']; 
			}

			$somatorio_vl_pago = 0;
			$vl_premio_liquido = number_format($vl_premio_liquido, 2, '.', ',');
			
			if($vl_retido < 0){
				$vl_retido = 0;
			}

			if(!is_null($row['sinistros'][0]['liquidacoes']['vl_pago_total'])){

				$somatorio_vl_pago = number_format($row['sinistros'][0]['liquidacoes']['vl_pago_total'], 2, '.', ',');
			}

			if(!is_null($somatorioDespesasVistorias)){
				$somatorioDespesasVistorias = number_format($somatorioDespesasVistorias, 2, '.', ',');
			}

			$valorPremio = ($row['dados_complementares']['id_status'] != 13) ? $vl_premio_liquido : $vl_retido;
			$ds_nome_produto = str_replace("*","",$row['dados_complementares']['ds_nome_produto']);

			ksort($row['sinistros'][0]['eventos_avisos']);
		
			$arr[$row['dados_complementares']['id_proposta']]['ano_resseguro'] 		= $ano_resseguro;
			$arr[$row['dados_complementares']['id_proposta']]['nr_apolice'] 		= $row['dados_complementares']['nr_apolice'];
			$arr[$row['dados_complementares']['id_proposta']]['Attachment_Date'] 	= $dt_emissao;
			$arr[$row['dados_complementares']['id_proposta']]['Policy_Issue_Date'] 	= $dt_emissao;
			$arr[$row['dados_complementares']['id_proposta']]['id_proposta'] 		= $id_proposta;
        	$arr[$row['dados_complementares']['id_proposta']]['dt_transmissao'] 	= $dt_transmissao;
        	$arr[$row['dados_complementares']['id_proposta']]['dt_inicio_vigencia'] = $dt_inicio_vigencia;
        	$arr[$row['dados_complementares']['id_proposta']]['dt_vigencia_fim'] 	= $dt_vigencia_fim;
        	$arr[$row['dados_complementares']['id_proposta']]['nr_ibge'] 			= $row['dados_complementares']['nr_ibge'];
			$arr[$row['dados_complementares']['id_proposta']]['ds_nome_regiao'] 	= $row['dados_complementares']['ds_regiao_ibge'];
        	$arr[$row['dados_complementares']['id_proposta']]['uf'] 				= $row['dados_complementares']['ds_sigla'];
        	$arr[$row['dados_complementares']['id_proposta']]['ds_nome_municio'] 	= $row['dados_complementares']['ds_nome_municipio'];
			$arr[$row['dados_complementares']['id_proposta']]['tipo_cobertura'] 	= $row['dados_complementares']['tipo_cobertura'];
        	$arr[$row['dados_complementares']['id_proposta']]['ds_nome_produto'] 	= $ds_nome_produto;
        	$arr[$row['dados_complementares']['id_proposta']]['cobertura_basica'] 	= $row['dados_complementares']['cobertura_basica'];
        	$arr[$row['dados_complementares']['id_proposta']]['ds_nome_safra'] 		= $row['dados_complementares']['ds_nome_safra'];
        	$arr[$row['dados_complementares']['id_proposta']]['ds_nome_cultura'] 	= $row['dados_complementares']['ds_nome_cultura'];
        	$arr[$row['dados_complementares']['id_proposta']]['tipo_ajuste_perda'] 	= $row['dados_complementares']['tipo_area'];
        	$arr[$row['dados_complementares']['id_proposta']]['area'] 				= $area_formatada;
        	$arr[$row['dados_complementares']['id_proposta']]['pe'] 				= $calculoPEFormatado;
        	$arr[$row['dados_complementares']['id_proposta']]['pg'] 				= $calculoPG;
        	$arr[$row['dados_complementares']['id_proposta']]['vl_franquia'] 		= $row['dados_complementares']['vl_franquia'];
        	$arr[$row['dados_complementares']['id_proposta']]['vl_lmga'] 			= number_format($lmga, 2, '.', ',');
        	$arr[$row['dados_complementares']['id_proposta']]['vl_premio'] 			= $valorPremio;
        	$arr[$row['dados_complementares']['id_proposta']]['taxa'] 				= ((int)$valorPremio > 0) ? $taxa."%" : "        -" ;
        	$arr[$row['dados_complementares']['id_proposta']]['status_proposta'] 	= $row['situacao_proposta'];
			$arr[$row['dados_complementares']['id_proposta']]['id_sinistro_i4pro'] 	= "";
			$arr[$row['dados_complementares']['id_proposta']]['eventos_sinistro'] 	= ($row['sinistros'][0]['eventos_avisos']) ? $row['sinistros'][0]['eventos_avisos'] : "        -";
			$arr[$row['dados_complementares']['id_proposta']]['dts_sinistro'] 		= ($row['sinistros'][0]['dts_sinistro']) ? $row['sinistros'][0]['dts_sinistro'] : "        -";
			$arr[$row['dados_complementares']['id_proposta']]['dts_envio'] 			= ($row['sinistros'][0]['dts_envio']) ? $row['sinistros'][0]['dts_envio'] : "        -" ;
			$arr[$row['dados_complementares']['id_proposta']]['status_sinistro'] 	= ($row['sinistros'][0]['status_liquidacao_final']) ? $row['sinistros'][0]['status_liquidacao_final'] : "        -";
			$arr[$row['dados_complementares']['id_proposta']]['sinistros_pagos'] 	= ($row['sinistros'][0]['liquidacoes']['vl_pago_total']) ? $somatorio_vl_pago : "0.00" ;
			$arr[$row['dados_complementares']['id_proposta']]['reserva_sinistro'] 	= "";
			$arr[$row['dados_complementares']['id_proposta']]['despesas_sinistro'] 	= ($somatorioDespesasVistorias > 0) ? $somatorioDespesasVistorias : "0.00";
			$arr[$row['dados_complementares']['id_proposta']]['latitude'] 			=  $ds_latitude;
			$arr[$row['dados_complementares']['id_proposta']]['longitude'] 			= $ds_longitude;
    	}
    	$titles = array(
        	'ano_resseguro' => 'Contract_Year', //A
        	'nr_apolice' => 'Policy_Id', //B
			'Policy_Issue_Date' => 'Policy_Issue_Date', //C
			'Attachment_Date' => 'Attachment_Date', //D
			'id_proposta' => 'Propose_Id', //E
        	'dt_transmissao' => 'Propose_Issue_Date', //F
        	'dt_inicio_vigencia' => 'Inception_Date', //G
        	'dt_vigencia_fim' => 'Expire_Date', //H
        	'nr_ibge' => 'Geocode', //I
			'ds_nome_regiao' => 'Region',//J
        	'uf' => 'State', //K
        	'ds_nome_municio' => 'City', //L
        	'tipo_cobertura' => 'Product_Type', //M
        	'ds_nome_produto' => 'Product_Name', //N
        	'cobertura_basica' => 'Basic_Coverage', //O
        	'ds_nome_safra' => 'Crop_Season', //P
        	'ds_nome_cultura' => 'Crop', //Q
        	'tipo_ajuste_perda' => 'Loss_adjustment_type', //R
        	'area' => 'Area',//S
        	'pe' => 'Expected_Yield',//T
        	'pg' => 'Guaranteed_Yield',//U
        	'vl_franquia' => 'Coverage_level',//V
        	'vl_lmga' => 'Total_Sum_Insured',//W
        	'vl_premio' => 'Written_Premium',//X
        	'taxa' => 'Rate_on_Line',//Y
        	'status_proposta' => 'Policy_Status',//Z
        	'id_sinistro_i4pro' => 'Claim_Id',//AA
        	'eventos_sinistro' => 'Claim_Event',//AB
        	'dts_sinistro' => 'Claim_Event_Date',//AC
        	'dts_envio' => 'Claim_Notice_Date',//AD
        	'status_sinistro' => 'Claim_Status',//AE
        	'sinistros_pagos' => 'Claim_Paid',//AF
			'reserva_sinistro' => 'Claim_Reserves',//AG
			'despesas_sinistro' => 'Claim_Expenses',//AH
			'somatorio_vl_pago' => 'Claim_Total',//AI
        	'latitude' => 'Latitude',//AJ
        	'longitude' => 'Longitude');//AK
		$format = array(
    		'Propose_Id' => array('align' => 'center'),
        	'Propose_Issue_Date' => array('align' => 'center'),
        	'Inception_Date' => array('align' => 'center'),
        	'Expire_Date' => array('align' => 'center')
		);
    	switch ($this->getRequest()->getParam('tipo')) {
        	case 'excel':
            	$csv = new Agro_Plugin_Rs2Csv();
            	$csv->setRecordSet($arr);
            	$csv->setType("application/octet-stream");
            	$csv->setFileName("relatorio_resseguro.csv");
            	$csv->setDisposition("attachment");
            	$csv->setTitles($titles);
            	$csv->setSeparator(";");
            	$csv->getCsv();
        		break;
        	case 'html':
            	$html = new Agro_Plugin_Rs2Html();
            	$html->setRecordSet($arr);
            	$html->setTitles($titles);
            	$html->setFormat($format);
            	$html->getHtml();
            	break;
        }
	}

	public function relatoriocondicoescomerciaispormunicipioAction()
	{
		ini_set("memory_limit", "-1");
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$safras = $this->getRequest()->getParam('id_safra');
		$produtos = $this->getRequest()->getParam('id_produto');
		$municipios = $this->getRequest()->getParam('id_municipio');
		
		$Tecnica = new Relatorio_Model_Tecnica();
		$results = $Tecnica->relatorioCondicoesComerciaisPorMunicipio($safras, $produtos,$municipios);

		$titles = array(
			'ds_nome_safra' 			=> 'Safra',
			'ds_nome_produto' 			=> 'Produto',
			'ds_nome_cobertura'         => 'Cobertura',
			'id_cobertura'              => 'ID Cobertura',
			'ds_nome_agrupamento_taxas' => 'Nome da Condição',
			'vl_comissao' 				=> 'Comissão (%)',
			'vl_franquia'	 			=> 'Franquia/NC (%)',
			'vl_taxa' 					=> 'Taxa (%)',
			'vl_taxa_renovacao' 		=> 'Taxa Renovação (%)',
			'vl_taxa_inadimplente' 		=> 'Taxa Inadimplente (%)',
			'nr_ibge' 					=> 'Município (Código IBGE)',
			'id_municipio'				=> 'ID Município',
			'ds_sigla_estado'			=> 'UF',
			'ds_nome_municipio'			=> 'Município',
			'vl_produtividade_estimada' => 'PE'
		);

		$format = array(
			'ds_nome_safra' 			=> array('align' => 'left'),
			'ds_nome_produto' 			=> array('align' => 'left'),
			'ds_nome_cobertura' 		=> array('align' => 'left'),
			'id_cobertura' 				=> array('align' => 'right'),
			'ds_nome_agrupamento_taxas'	=> array('align' => 'right'),
			'vl_comissao' 				=> array('align' => 'right'),
			'vl_franquia' 				=> array('align' => 'right'),
			'vl_taxa' 					=> array('align' => 'right'),
			'vl_taxa_renovacao'			=> array('align' => 'right'),
			'nr_ibge' 					=> array('align' => 'right'),
			'id_municipio' 				=> array('align' => 'left')
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($results);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("rel_cond_com_login.csv");
				$Csv->setDisposition("attachment");
				$Csv->setTitles($titles);
				$Csv->setSeparator(";");
				$Csv->getCsv();

				break;
			case 'html':
				$Html = new Agro_Plugin_Rs2Html();
				$Html->setRecordSet($results);
				$Html->setFormat($format);
				$Html->setTitles($titles);
				$Html->getHtml();

				break;
		}
	}

}
