<?

class Sinistro2_AvisosController extends Agro_Controller_Action {

	public function loadAction(){
		$User = Zend_Auth::getInstance()->getIdentity();
		$this->getHelper('layout')->disableLayout();

		$isFuncionarioAgro = Sistema_Model_Usuarios::usuarioLogadoFuncionarioAgro();

		// Busca avisos pelo id da proposta
		$Aviso = new Sinistro2_Model_AvisosSinistro();
		$arAvisos = $Aviso->getAvisosByProposta($this->_getParam('id_proposta'), ($User->tp_usuario == 'V' || $User->tp_usuario == 'M') ? 'ACEITO':null);
		$data['avisos'] = $arAvisos;

		// Busca quantidade de avisos de inicio de colheita existentes para a proposta
		$AvisosInicio = new Sinistro2_Model_AvisosInicio();
		$arAvisosInicio = $AvisosInicio->getAvisosInicioByProposta($this->_getParam('id_proposta'), $isFuncionarioAgro);
		$data['arAvisosInicio'] = $arAvisosInicio;

		// Busca quantidade de avisos de encerramento de colheita existentes para a proposta
		$AvisosEncerramento = new Sinistro2_Model_AvisosEncerramento();
		$arAvisosEncerramento = $AvisosEncerramento->getAvisosEncerramentoByProposta($this->_getParam('id_proposta'), $isFuncionarioAgro);
		$data['arAvisosEncerramento'] = $arAvisosEncerramento;

		// Recupera os avisos de final de replantio
		$AvisosFinalReplantio = new Sinistro2_Model_AvisosFinalReplantio();
		$data['arAvisosFinalReplantio'] = $AvisosFinalReplantio->getAvisosFinalReplantioByProposta($this->_getParam('id_proposta'), $isFuncionarioAgro);

		$data['id_proposta'] = $this->_getParam('id_proposta');

		//Busca demais observações
		$User = Zend_Auth::getInstance()->getIdentity();
		$PropostasAtendimento = new Atendimento_Model_Proposta();
		$PropostaAtendimento = $PropostasAtendimento->find($this->_getParam('id_proposta'))->current();
		$Observacoes = $PropostaAtendimento->observacoes_arquivos_geral(($User->id_empresa != 20 ? true : null), true);
        $ObsPrincipal = $PropostaAtendimento->observacoes(true);

        $coberturaPrincipal = $PropostaAtendimento->coberturas_contratadas('principal');
        $coberturasAdicionais = $PropostaAtendimento->coberturas_contratadas('adicional');

        array_unshift($Observacoes, $ObsPrincipal);

        array_unshift($Observacoes, array(
            'ds_nome_usuario' => '',
            'ds_observacao' => $coberturaPrincipal['ds_observacao'],
            'data_criacao' => ''
        ));
        foreach ($coberturasAdicionais as $cobAdicional) {
            array_unshift($Observacoes, array(
                'ds_nome_usuario' => '',
                'ds_observacao' => $cobAdicional['ds_observacao'],
                'data_criacao' => ''
            ));
        }

        $data['observacoesProposta'] = $Observacoes;
        $data['somente_avisos_sinistro'] = false;
        $somenteAvisosSinistro = $this->getRequest()->getParam('somente_avisos_sinistro');

        if (!empty($somenteAvisosSinistro) && $somenteAvisosSinistro === 'true') {
            $data['somente_avisos_sinistro'] = true;
        }

		$this->view->data = $data;

	}
}
