<?php

class Agro_View_Helper_HeaderProposta extends Zend_View_Helper_Abstract {
	private $_quebra;

	public function headerProposta($proposta, $paginaCorrente=0, $totalPaginas=0, $quebra=false, $type='always', $force=false, $barcode='PRO') {
		$this->_quebra = $quebra;

		if (($paginaCorrente == 1 && $totalPaginas > 1) && !$force) {
			$type = '';
		}

		return $this->_renderHeaderProposta($proposta, $type, $paginaCorrente, $totalPaginas, $barcode);
	}

	private function _renderHeaderProposta($proposta, $type, $paginaCorrente, $totalPaginas, $barcode) {
		$cobertura = $proposta->coberturas(true);
		$status = $proposta->status(true);
		$produto = $proposta->produto();
		ob_start();

		$dataVigenciaInicio = $proposta['dt_vigencia_inicio'];
		$dataRecepcao = $proposta->getDataRecepcao();

		$dtTransmissaoProposta = !empty($proposta['dt_transmissao']) ? $proposta['dt_transmissao'] : date('Y-m-d H:i:s');

		if ($proposta->id !== $proposta->id_proposta_mae) {
			$propostaMae = (new Seguro_Model_Propostas())->find($proposta->id_proposta_mae)->current();
			$dtTransmissaoProposta = $propostaMae['dt_transmissao'];
		}
		
		$dtTransmissaoProposta = substr($dtTransmissaoProposta, 0, 10);
		
		// Validação para exibir logotipo da Nobre em propostas até a Safra 13 e da Essor à partir da Safra 14
		$nomeSeguradora = $produto['ds_nome_fantasia'];
		if ($nomeSeguradora == 'ESSOR SEGUROS'){
			$logoProposta = 'essor.png';
		} else {
			$logoProposta = 'nobre.png';
		}

		if (!empty($dataRecepcao)) {
		    $diasEntreData = Agro_Util::contarDiasEntreDatas(Agro_Util::formatDate($dataVigenciaInicio, Zend_Date::DATES), $dataRecepcao);

		    if ($diasEntreData > 0) {
            	$dataVigenciaInicio = $dataRecepcao;
        	}
    	}

		$versaoEndosso = $proposta->versao_endosso(false);
		$endossoMaiorZero = $versaoEndosso > 0;
		$chavesEndosso = [Seguro_Model_Propostas::DS_CHAVE_ORCAMENTO_ENDOSSO, Seguro_Model_Propostas::DS_CHAVE_SOLICITACAO_ENDOSSO];
		$mostrarMensagemOrcamentoEndosso = in_array($status['ds_chave'], $chavesEndosso);

    	if ($mostrarMensagemOrcamentoEndosso) {
        	$rowsSolicitacoes = (new Endosso_Model_Solicitacao())->getSolicitacoesByProposta($proposta['id'], true);

        	if (!empty($rowsSolicitacoes)
        	    && $rowsSolicitacoes['ds_chave_status_solicitacao'] === Endosso_Model_Solicitacao::DS_CHAVE_SOLICITACAO_ENDOSSO_ACEITO_EFETIVADO
			){
				$mostrarMensagemOrcamentoEndosso = false;
        	}
    	}

		$hash = $proposta->getHash();
		$hash = !empty($hash) ? "({$hash})" : '';
	?>

		<? $class = ($this->_quebra ? 'no-view' : ''); ?>
		<table width="100%" border="0" cellpadding="1" cellspacing="0" class="<?=$class?>" style="page-break-before:<?=$type?>;">
			<tr>
				<td width=10% align="center" rowspan="2" height="79"><img src="/resources/imagens/<?=$logoProposta;?>" width=139 height=60 /></td>
                <td width=50%>
					<? if ($endossoMaiorZero): ?>
							<b>Proposta de Endosso de Seguro</b>
					<? else: ?>
						<? if (($status['ds_chave'] == 'NAO_ENVIADA') or ($status['ds_chave'] == 'DEVOLVIDA')): ?>
							<b>Orçamento de Seguro</b>
						<? elseif (Zend_Controller_Front::getInstance()->getRequest()->getControllerName() == 'avisosinistro'): ?>
							<h3 style="font-size: 16px">Ordem de Serviço de Inspeção</h3>
						<? elseif ((Zend_Controller_Front::getInstance()->getRequest()->getControllerName() == 'consulta') && (Zend_Controller_Front::getInstance()->getRequest()->getModuleName() == 'endosso')): ?>
							<b>Solicitação de Endosso</b>
						<? else: ?>
							<b>Proposta de Seguro</b>
						<? endif; ?>
					<? endif; ?>
				    <br> <span class="produto">Produto: <?=$produto['ds_nome_produto']?></span>
				</td>
                
                <td align="right">
                    <img src="/resources/imagens/barcode/<?=$proposta['id']; ?>-<?=$barcode; ?>.gif" />
					<br>
					<?=$hash?>
                </td>
			</tr>

			<tr>
			    <td width=45% valign="top">
					<table width="100%" cellpadding="0" cellspacing="0" border="0">
					<tr>
						<td class="text_bold" width="49%"><font style="font-size:110%">Cobertura Principal: <?=($produto['id'] == 734) ? 'Multirisco II' : $cobertura['ds_nome_cobertura']?></font></td>
					</tr>
					<tr>
						<td class="text_bold"><font style="font-size:110%">Seguradora: <?=$produto['ds_razao_social']?></font></td>
					</tr>
					<tr>
						<td class="text">CNPJ: <?=$produto['cpf_cnpj']?></td>
					</tr>
					<tr>
						<td class="text">Processo SUSEP: <?=$produto['nr_susep']?></td>
					</tr>
					<tr>
						<td class="text_underline">Código MAPA: <?=$produto['cd_mapa']?></td>
					</tr>
					<tr>
						<? if (($status['ds_chave'] == 'NAO_ENVIADA') or ($status['ds_chave'] == 'DEVOLVIDA')): ?>
							<td class="text_bold">Orçamento: <?=$proposta->doc();?></td>
						<? else: ?>
							<td class="text_bold">Proposta: <?=$proposta->doc();?> <?=($proposta['id_proposta_renovada'] ? ' <b>(Renovação)</b>' : '')?> </td>
						<? endif; ?>
					</tr>
					<? if ($proposta['nr_apolice']): ?>
						<tr>
							<td class="text_bold">Apólice: <?=$proposta['nr_apolice']?> - <?=$versaoEndosso;?></td>
						</tr>
					<? endif; ?>
					<? if ($endossoMaiorZero): ?>
						<tr>
							<td class="text_bold">
								Status: <?=$status['ds_status']?>
							</td>
						</tr>
					<? endif; ?>
					</table>
			    </td>
			    <td width=45%>
					<table width=100%>
					    <tr>
							<td width="100%" valign="top">
								<? if (($status['ds_chave'] == 'NAO_ENVIADA') or ($status['ds_chave'] == 'DEVOLVIDA')): ?>
									<table width="100%" cellpadding="1" cellspacing="0" border="0">
										<tr>
											<td class="text_uppercase" colspan="2">
                        Orçamento sem cobertura
                          <?php
                          if ($status['ds_chave'] === 'NAO_ENVIADA') {
                            ?>
                            <br><br>
							<?php if($produto['id_safra'] >= 25): ?>
								<?php if ($status['ds_chave'] == 'NAO_ENVIADA' && strtotime($dtTransmissaoProposta) >= strtotime(DATA_INICIO_NOVA_LEI_SEGURO)):?>
									Verifique o bloco de “AVISOS IMPORTANTES PARA O PROPONENTE”.
								<? else: ?>
									Verifique o bloco de “Informações”.
								<? endif; ?>
							<? else: ?>
								Verifique as informações do bloco “Carência e Restrições para Cobertura dos Riscos”.
							<? endif; ?>
                            <?php
                          }
                          ?>
                      </td>
										</tr>
										<tr>
											<td class="text_bold" colspan="2">Data Orçamento: <?=Agro_Util::formatDate($proposta['dt_alteracao'], Zend_Date::DATES);?></td>
										</tr>
										<tr>
											<td class="text_bold">Safra: <?=$produto['ds_nome_safra']?></td>
										</tr>
										<tr>
											<td class="text">
											<?=($proposta['id_proposta_renovada'] ? ' <b>(Renovação)</b>' : '')?>
											</td>
											<td><?=$proposta->versao();?></td>
										</tr>
										<tr>
											<td align="right" colspan="2">
												<? if ($paginaCorrente != 0) { ?>
													<font class="no-view">Página <?=$paginaCorrente?>/<?=$totalPaginas?></font>
												<? } ?>
											</td>
										</tr>
									</table>
								<? else: ?>
									<table width="100%" cellpadding="1" cellspacing="0" border="0" valign="top">
                      <?php
                      if ($mostrarMensagemOrcamentoEndosso) {
                        ?>
                        <table width="100%" cellpadding="1" cellspacing="0" border="0">
                          <tr>
                            <td class="text_uppercase" colspan="2">
                              Orçamento de endosso - Sem validade
                            </td>
                          </tr>
                        </table>
                        <?php
                      }
                      ?>
										<tr>
											<td class="text_bold"><?=(strtotime($dataVigenciaInicio) > strtotime('2015-02-04') ? 'Vigência do Contrato de Seguro' : 'Vigência')?></td>
										</tr>
										<tr>
											<td class="text">Das 24 horas do dia <?=Agro_Util::formatDate($dataVigenciaInicio, Zend_Date::DATES);?></td>
										</tr>
										<tr>
											<td class="text_underline">Até as 24 horas do dia <?=Agro_Util::formatDate($proposta['dt_vigencia_fim'], Zend_Date::DATES);?></td>
											<td align="left" class="text_underline">
												<? if ($paginaCorrente != 0) { ?>
													<font class="no-view">Página <?=$paginaCorrente?>/<?=$totalPaginas?></font>
												<? } ?>
											</td>
										</tr>
										<tr>
											<td class="text_bold">
												<!--  Data do Sistema: <?=date('d/m/Y h:i:s')?> -->
												Safra: <?=$produto['ds_nome_safra']?>
											</td>
											<td><?=$proposta->versao();?></td>
										</tr>
										
										<?if($proposta->nr_endosso() == 0 && $dataRecepcao):?>
											<tr><td colspan=2>Data de Recepção da Proposta:&nbsp;<?=$dataRecepcao;?></td></tr>
										<?endif;?>
										
										<? if ($status['ds_chave'] == 'PROPOSTA_CANCELADA' || $status['ds_chave'] == 'APOLICE_CANCELADA'): ?>
											<tr>
												<td class="text_bold" style="color:#<?=$status['ds_cor']?>" colspan="2">
												Status da Proposta: <?=strtoupper(strtr($status['ds_status'],"áéíóúâêôãõàèìòùç","ÁÉÍÓÚÂÊÔÃÕÀÈÌÒÙÇ"))?>
												</td>
											</tr>
										<? endif; ?>
									</table>
								<?endif; ?>
							</td>
					    </tr>
					</table>
			    </td>
			</tr>
		</table>

		<?
		$html = ob_get_contents();
		ob_end_clean();

		return $html;
	}
}
