<?php

class Relatorio_AtendimentoController extends Agro_Controller_Report {

	public function init() {
		$this->view->title = 'Relatórios » Atendimento » Relatórios disponíveis';
		ini_set('max_execution_time', 180);
		ini_set('memory_limit', '3048M');
	}

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

		$Model = new Relatorio_Model_Atendimento();

		$titles = array(
			'ds_nome_proponente' => 'Nome',
			'cpf_cnpj' => 'CPF/CNPJ',
			'fl_validacao_receita' => 'Validação Receita?',
			'fl_inadimplente' => 'Inadimplente?',
			'fl_restricao' => 'Restrição?',
			'ds_descricao' => 'Descrição Restrição',
			'id_proposta' => 'Proposta Restrição',
			'ds_nome_corretor' => 'Corretor Restrição',
			'ds_nome_agronomo' => 'Agrônomo Restrição',
			'ds_nome_perito' => 'Perito Restrição',
			'restricoes' => 'Problemas'
		);

		$Rs = $Model->relatorioProponentes($this->getRequest()->getParams());

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($Rs);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("proponentes.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 cpfconferenciaAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Atendimento();
		$titles = array(
		    'id' => 'Proposta',
			'ds_nome_proponente' => 'Nome',
			'dt_nascimento' => 'Data Nascimento',
			'cpf_cnpj' => 'CPF/CNPJ',
			'ds_nome_produto' => 'Produto',
			'dt_vigencia_inicio' => 'Início Vigência',
			'ds_sigla' => 'UF Segurado',
			'ds_sigla_propriedade' => 'UF Propriedade',
			'dt_transmissao' => 'Transmissão'
		);

		$Rs = $Model->relatorioCPFConferencia($this->getRequest()->getParams());

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($Rs);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("proponentes.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 corretorAction() {
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Atendimento();

		$Rs = $Model->relatorioCorretores($this->getRequest()->getParams());
		$arr = array();
		$aux = 0;
		$numeroMaximoComerciais = 0;

		foreach($Rs as $Row){
			$arr[$aux]['id'] = $Row['id'];
			$arr[$aux]['cpf_cnpj'] = $Row['cpf_cnpj'];
			$arr[$aux]['ds_nome_fantasia'] = $Row['ds_nome_fantasia'];
			$arr[$aux]['ds_nome_abreviado'] = $Row['ds_nome_abreviado'];
			$arr[$aux]['ds_razao_social'] = $Row['ds_razao_social'];
			$arr[$aux]['ds_nome_responsavel'] = $Row['ds_nome_responsavel'];
			$arr[$aux]['nr_susep'] = ' '.$Row['nr_susep'];
			$arr[$aux]['ds_email'] = $Row['ds_email'];
			$arr[$aux]['ds_email_responsavel'] = $Row['ds_email_responsavel'];
			$arr[$aux]['ds_nome_estado'] = $Row['ds_nome_estado'];
			$arr[$aux]['ds_nome_municipio'] = $Row['ds_nome_municipio'];
			$arr[$aux]['tp_pessoa'] = $Row['tp_pessoa'];
			$arr[$aux]['ds_nome_usuario'] = $Row['ds_nome_usuario'];
			$arr[$aux]['dt_criacao'] = $Row['dt_criacao'];
			$arr[$aux]['dt_alteracao'] = $Row['dt_alteracao'];
			$arr[$aux]['ds_status'] = $Row['ds_status'];
			$arr[$aux]['ativo'] = $Row['ativo'];

			$Rs_corr = $Model->getComerciais($Row['id']);

			$i = 0;
			foreach($Rs_corr as $row2){
				$arr[$aux]['corr_'.$i] = $row2['ds_nome_funcionario'];
				$i++;
			}

            $arr[$aux]['data_prazo'] = '';

			$modelCadastroAnual = new Sistema_Model_CorretoresPeriodoCadastroAnual();
			$registroCorretor = $modelCadastroAnual->getByCorretor($Row['id'])->toArray();

			if (!empty($registroCorretor)) {
                $arr[$aux]['data_prazo'] = Agro_Util::formatDate($registroCorretor[0]['dt_fim']);
            }

			$aux++;

			$aux++;
            $numeroMaximoComerciais = $i > $numeroMaximoComerciais ? $i : $numeroMaximoComerciais;
		}

		$titles = array(
			'id' => 'Código',
			'cpf_cnpj' => 'CPF/CNPJ',
			'ds_nome_fantasia' => 'Nome Fantasia',
			'ds_nome_abreviado' => 'Nome Abreviado',
			'ds_razao_social' => 'Razão Social',
			'ds_nome_responsavel' => 'Responsável',
			'ds_email_responsavel' => 'Email Responsável',
			'nr_susep' => 'Susep',
			'ds_email' => 'Email',
			'ds_nome_estado' => 'Estado',
			'ds_nome_municipio' => 'Município',
			'tp_pessoa' => 'Tipo Pessoa',
			'ds_nome_usuario'=> 'Nome Usuário',
			'dt_criacao' => 'Data Criação',
			'dt_alteracao' => 'Data de Alteração',
			'corr_0' => 'Comercial 1',
			'corr_1' => 'Comercial 2',
			'corr_2' => 'Comercial 3',
			'corr_3' => 'Comercial 4',
			'corr_4' => 'Comercial 5',
			'ds_status' => 'Status',
			'data_prazo' => 'Data Prazo Cadastro Anual',
			'ativo' => 'Ativo'
		);

		$contadorComercial = 1;
		for($i = 0; $i < $numeroMaximoComerciais; $i++) {
            $titles["corr_{$i}"] = "Comercial {$contadorComercial}";
            $contadorComercial++;
        }

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($arr);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("corretores.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 empresavistoriadoraAction(){
		$this->getHelper('ViewRenderer')->setNoRender();
		$this->getHelper('layout')->disableLayout();

		$Model = new Relatorio_Model_Atendimento();
		$Rs = $Model->relatorioEmpresaVistoriadora($this->getRequest()->getParams());
		$titles = array(
			'id' => 'Código',
			'ds_nome_fantasia' => 'Nome Fantasia',
			'ds_nome_responsavel' => 'Responsável',
			'ds_email_responsavel' => 'Email Responsável',
			'ds_nome_estado' => 'Estado',
			'ds_nome_municipio' => 'Município',
			'ativo' => 'Ativo'
		);

		switch ($this->getRequest()->getParam('tipo')) {
			case 'excel':
				$Csv = new Agro_Plugin_Rs2Csv();
				$Csv->setRecordSet($Rs);
				$Csv->setType("application/octet-stream");
				$Csv->setFileName("empresasvistoriadoras.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 Chamados
     * Id: 829
     * @return void
     */
	public function chamadosAction()
    {
        $this->getHelper('ViewRenderer')->setNoRender();
        $this->getHelper('layout')->disableLayout();

        $rs = (new Relatorio_Model_Atendimento())->relatorioChamados($this->getRequest()->getParams());
        $user = Zend_Auth::getInstance()->getIdentity();

        foreach ($rs as &$row) {
            $row['ds_descricao_ultimo_log'] = html_entity_decode(
                $row['ds_descricao_ultimo_log'],
                ENT_QUOTES | ENT_HTML401,
                'UTF-8'
            );
        }

        $titles = array(
            'id_proposta_mae' => 'Proposta',
            'id_proposta' => 'Proposta (Endosso)',
            'nr_apolice' => 'Apólice',
            'ds_nome_produto' => 'Produto',
            'ds_chave' => 'Status Proposta',
            'id' => 'Chamado',
            'ds_tipo_chamado' => 'Tipo	',
            'ds_nome_departamento' => 'Departamento',
            'ds_destinatario' => 'Destinatário',
            'ds_nome_corretor' => 'Corretor',
            'digitador' => 'Digitador',
            'ds_status' => 'Status',
            'criador' => 'Criador',
            'criado_em' => 'Criado em',
            'ultima_alteracao' => 'Alterado por',
            'ultima_alteracao_em' => 'Alterado em',
            'tp_usuario' => 'Tipo Usuário'
        );

        if ($user->tp_usuario === Sistema_Model_Usuarios::TIPO_USUARIO_FUNCIONARIO) {
            $arr = array(
                'ds_nome_responsavel' => 'Responsável',
                'ds_empresa_vistoriadora' => 'Empresa Sinistro',
                'ds_empresa_vistoriadora_previa' => 'Empresa Prévia',
                'ds_descricao_ultimo_log' => 'Descrição'
            );
            $titles = array_merge($titles, $arr);
        }

        $titles['dt_final_prazo'] = 'Data Final do Prazo';

        $format = array(
            'id_proposta' => array('align' => 'center'),
            'cd_status' => array('align' => 'center'),
            'id' => array('align' => 'center'),
            'ds_status' => array('align' => 'center'),
            'ds_nome_departamento' => array('align' => 'center'),
            'ds_nome_produto' => array('align' => 'left'),
            'ds_empresa_vistoriadora' => array('align' => 'left'),
            'ds_empresa_vistoriadora_previa' => array('align' => 'left'),
            'ds_destinatario' => array('align' => 'center'),
            'ultima_alteracao' => 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("chamados.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 chamadospreviaAction(){

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

		$Model = new Relatorio_Model_Atendimento();
		$Rs = $Model->relatorioChamadosPrevia($this->getRequest()->getParams());

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

		$titles = array(
				'id_proposta' => 'Proposta',
				'nr_apolice' => 'Apólice',
				'ds_chave' => 'Status Proposta',
				'id' => 'Chamado',
				'ds_tipo_chamado' => 'Tipo	',
				'ds_nome_departamento' => 'Departamento',
				'ds_destinatario' => 'Destinatário',
				'ds_nome_corretor' => 'Corretor',
				'ds_empresa_vistoriadora' => 'Vistoriadora',
				'ds_status' => 'Status',
				'criador' => 'Criador',
				'criado_em' => 'Criado em',
				'ultima_alteracao' => 'Alterado por',
				'ultima_alteracao_em' => 'Alterado em'
		);

		if($User->tp_usuario == 'F'){
			$arr = array('ds_nome_responsavel' => 'Responsável');
			$titles = array_merge($titles, $arr);
		}

		$format = array(
				'id_proposta' => array('align' => 'center'),
				'cd_status' => array('align' => 'center'),
				'id' => array('align' => 'center'),
				'ds_status' => array('align' => 'center'),
				'ds_nome_departamento' => array('align' => 'center'),
				'ds_destinatario' => array('align' => 'center'),
				'ultima_alteracao' => 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("chamados_previa.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 pendenciasAction()
    {
        $this->getHelper('ViewRenderer')->setNoRender();
        $this->getHelper('layout')->disableLayout();

        $parametros = $this->getRequest()->getParams();
        $Pendencias = new Relatorio_Model_Atendimento();
        $RsPendencias = $Pendencias->relatorioPendencias(
          (int)$parametros['id_safra'],
          $parametros['id_produto'],
          !empty($parametros['id_status']) ? $parametros['id_status'] : null,
          !empty($parametros['pendencia']) ? $parametros['pendencia'] : null
        );

        $arRelPendencias = array();

        foreach ($RsPendencias as $Row) {
            $ds_nome_preposto = $Row['tp_usuario'] == 'P' ? $Row['ds_nome_usuario'] : '';

            $arRelPendencias[$Row['id_proposta'] . $Row['id_pendencia']]['id_proposta'] = $Row['id_proposta'];
            $arRelPendencias[$Row['id_proposta'] . $Row['id_pendencia']]['status_proposta'] = $Row['status_proposta'];
            $arRelPendencias[$Row['id_proposta'] . $Row['id_pendencia']]['ds_nome_proponente'] = $Row['ds_nome_proponente'];
            $arRelPendencias[$Row['id_proposta'] . $Row['id_pendencia']]['ds_nome_cultura'] = $Row['ds_nome_cultura'];
            $arRelPendencias[$Row['id_proposta'] . $Row['id_pendencia']]['ds_nome_fantasia'] = $Row['ds_nome_fantasia'];
            $arRelPendencias[$Row['id_proposta'] . $Row['id_pendencia']]['dt_sublogin'] = $ds_nome_preposto;
            $arRelPendencias[$Row['id_proposta'] . $Row['id_pendencia']]['dt_inicio_vigencia'] = $Row['dt_vigencia_inicio'];
            $arRelPendencias[$Row['id_proposta'] . $Row['id_pendencia']]['dt_prazo'] = $Row['dt_prazo'];
            $arRelPendencias[$Row['id_proposta'] . $Row['id_pendencia']]['ds_nome_pendencia'] = $Row['ds_nome_pendencia'];
            $arRelPendencias[$Row['id_proposta'] . $Row['id_pendencia']]['dt_transmissao'] = $Row['dt_transmissao'];
            $arRelPendencias[$Row['id_proposta'] . $Row['id_pendencia']]['dt_aceitacao'] = $Row['dt_aceitacao'];
        }

        $totalColunas = 0;
        $arrayChamadosPropostas = [];
        $arrayRelatorioFiltrado = [];
        $rowChamadosPropostas = (new Atendimento_Model_Chamado())->getChamadosPendencias();

        foreach ($rowChamadosPropostas as $registro) {
            $arrayChamadosPropostas[$registro['id_proposta']][$registro['id_pendencia']][$registro['id_status_chamado']][] = ['id_chamado' => $registro['id_chamado'], 'ds_status_chamado' => $registro['ds_status_chamado']];
        }

        foreach ($arrayChamadosPropostas as $idProposta => $pendenciasChamados) {
            $totalChamadosProposta = 0;

            foreach ($pendenciasChamados as $idPendencia => $idStatusChamados) {
                $indiceContador = 1;
                $temParametroPorStatusChamado = !empty($parametros['id_status_chamado']);
                $encontrouStatusFiltrado = false;

                foreach ($idStatusChamados as $idStatus => $chamados) {
                    if ($temParametroPorStatusChamado && in_array($idStatus, $parametros['id_status_chamado'])) {
                        $encontrouStatusFiltrado = true;
                    }

                    $totalChamadosProposta += count($chamados);
                    $validarTotalColunas = false;

                    foreach ($chamados as $chamado) {
                        if (array_key_exists("{$idProposta}{$idPendencia}", $arRelPendencias)) {
                            if (!$temParametroPorStatusChamado) {
                                $arRelPendencias["{$idProposta}{$idPendencia}"]["id_chamado_{$indiceContador}"] = $chamado['id_chamado'];
                                $arRelPendencias["{$idProposta}{$idPendencia}"]["status_chamado_{$indiceContador}"] = $chamado['ds_status_chamado'];
                            } else {
                                $arrayRelatorioFiltrado["{$idProposta}{$idPendencia}"] = $arRelPendencias["{$idProposta}{$idPendencia}"];
                                $arrayRelatorioFiltrado["{$idProposta}{$idPendencia}"]["id_chamado_{$indiceContador}"] = $chamado['id_chamado'];
                                $arrayRelatorioFiltrado["{$idProposta}{$idPendencia}"]["status_chamado_{$indiceContador}"] = $chamado['ds_status_chamado'];
                            }

                            $indiceContador++;
                            $validarTotalColunas = true;
                        }
                    }

                    if ($validarTotalColunas && $totalChamadosProposta > $totalColunas) {
                        $totalColunas = $totalChamadosProposta;
                    }
                }

                if ($temParametroPorStatusChamado && !$encontrouStatusFiltrado) {
                    unset($arRelPendencias["{$idProposta}{$idPendencia}"]);
                    unset($arrayRelatorioFiltrado["{$idProposta}{$idPendencia}"]);
                }
            }
        }

        if (!empty($arrayRelatorioFiltrado)) {
            $arRelPendencias = $arrayRelatorioFiltrado;
        }

        $titles = array(
          'id_proposta'        => 'Proposta',
          'status_proposta'    => 'Status da Proposta',
          'ds_nome_proponente' => 'Segurado',
          'ds_nome_cultura'    => 'Cultura',
          'dt_inicio_vigencia' => 'Início de Vigência',
          'ds_nome_fantasia'   => 'Corretor',
          'dt_sublogin'        => 'Sublogin',
          'dt_prazo'           => 'Prazo',
          'ds_nome_pendencia'  => 'Pendência',
          'dt_transmissao'     => 'Dt. Transmissão',
          'dt_aceitacao'       => 'Prazo de Aceitação do Seguro'
        );

        for($contador = 1; $contador <= $totalColunas; $contador++) {
            $titles["id_chamado_{$contador}"] = "Número do Chamado {$contador}";
            $titles["status_chamado_{$contador}"] = "Status do Chamado {$contador}";
        }

        switch ($parametros['tipo']) {
            case 'excel':
                $Csv = new Agro_Plugin_Rs2Csv();
                $Csv->setRecordSet($arRelPendencias);
                $Csv->setType("application/octet-stream");
                $Csv->setFileName("relatorio_pendencias.csv");
                $Csv->setDisposition("attachment");
                $Csv->setTitles($titles);
                $Csv->setSeparator(";");
                $Csv->getCsv();

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

                break;
        }
    }

	public function propostasfisicasAction(){

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

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

		$titles = array(
				'id_proposta_mae' => 'Proposta',
				'nr_endosso' => 'Endosso',
				'versao' => 'Última Versão',
				'id_proposta' => 'Proposta Endosso',
				'ds_nome_proponente' => 'Segurado',
				'ds_nome_corretor' => 'Corretor',
				'sublogin' => 'Sublogin',
				'dt_vigencia_inicio' => 'Início Vigência',
				'ds_chave' => 'Status'
		);

		$format = array(
				'id_proposta' => array('align' => 'center'),
				'versao' => array('align' => 'center'),
				'nr_endosso' => array('align' => 'center'),
				'ds_status' => array('align' => 'center'),
				'dt_vigencia_inicio' => array('align' => 'center'),
				'ds_nome_proponente' => array('align' => 'left'),
				'ds_nome_corretor' => array('align' => 'left'),
				'sublogin' => 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("propostas_fisicas.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;
		}
	}

    /**
     * Relatório de Solicitações de Endosso
     * Id: 1551
     * @return void
     */
    public function solicitacaoendossosAction()
    {
        $this->getHelper('ViewRenderer')->setNoRender();
        $this->getHelper('layout')->disableLayout();

        $rs = (new Relatorio_Model_Atendimento())->relatorioSolicitacaoEndossos($this->getRequest()->getParams());
        $user = Zend_Auth::getInstance()->getIdentity();

        $titles = array(
            'id_proposta' => 'Proposta Endosso',
            'id_proposta_mae' => 'Proposta',
            'ds_nome_corretor' => 'Corretor',
            'ds_nome_preposto' => 'Sublogin',
            'ds_tipo_endosso' => 'Tipo Solicitação',
            'ds_status' => 'Status',
            'cd_status' => 'Status da Proposta',
            'aviso' => 'Aviso sinistro',
            'dt_criacao' => 'Data Solicitação',
            'dt_alteracao' => 'Data Alteração',
            'fl_cancelamento_corretor' => 'Cancelamento?',
            'ds_observacao' => 'Motivo',
            'ds_descricao' => 'Justificativa',
            'ds_nome_cultura' => 'Cultura',
            'ds_nome_abreviado' => 'Produto'
        );

		if ($user->tp_usuario == Sistema_Model_Usuarios::TIPO_USUARIO_FUNCIONARIO) {
			$titles['subvencao_concedida'] = 'Status Subvenção Federal';
			$titles['quest_sub_estadual'] = 'Status Subvenção Estadual';
			$titles['responsavel'] = 'Responsável';
		}

        $format = array(
            'id_proposta' => array('align' => 'center'),
            'id_proposta_mae' => array('align' => 'center'),
            'dt_criacao' => array('align' => 'center'),
            'dt_criacao_arquivo' => array('align' => 'center'),
            'id' => 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_solicitacao_endossos.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 dafcadinAction() {
    	$this->getHelper('ViewRenderer')->setNoRender();
    	$this->getHelper('layout')->disableLayout();

    	$Model = new Relatorio_Model_Atendimento();

    	$titles = array(
    			'id_proposta' => 'Proposta',
    			'ds_nome_proponente' => 'Segurado',
    			'cpf_cnpj' => 'CPF/CNPJ',
    			'ds_sigla' => 'UF',
    			'quest_daf' => 'DAF',
    			'dt_vigencia_inicio' => 'Início Vigência',
    			'dt_transmissao' => 'Dt. Transmissão'
    	);

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

    	switch ($this->getRequest()->getParam('tipo')) {
    		case 'excel':
    			$Csv = new Agro_Plugin_Rs2Csv();
    			$Csv->setRecordSet($Rs);
    			$Csv->setType("application/octet-stream");
    			$Csv->setFileName("daf.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 documentofisicoAction() {
    	$this->getHelper('ViewRenderer')->setNoRender();
    	$this->getHelper('layout')->disableLayout();
    
    	$DocFisico   = new Relatorio_Model_Corretor();
    	$RsDocFisico = $DocFisico->relatorioDocumentoFisico($this->getRequest()->getParam('id_safra'), $this->getRequest()->getParam('id_produto'), $this->getRequest()->getParam('id_corretor'), '', false, $this->getRequest()->getParam('nr_caixa'));
    
    	$titles = array(
    			'id_safra' => 'Safra',
    			'id_proposta' => 'Proposta',
    			'nr_endosso' => 'Endosso',
    			'ds_status' => 'Status',
    			'id' => 'Proposta Endosso',
    			'ds_nome_proponente' => 'Segurado',
    			'ds_nome_cultura' => 'Cultura',
    			'ds_nome_fantasia' => 'Corretor',
    			'sublogin' => 'Sublogin',
    			'dt_transmissao' => 'Data de Transmissão',
    			'dt_transmissao_dif_hoje' => 'Nº de dias da Transmissão',
    			'ds_status_doc_fisico' => 'Situação Proposta',
    			'pendencias' => 'Pendência',
    			'ds_observacao' => 'Caixa',
                'dt_envio_fisico' => 'Prazo Final de Envio do Físico',
                'dt_ultima_alteracao' => 'Data Última Alteração'
    	);

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