<?php

class Sinistro2_ChamadosconfirmarcontatoController extends Agro_Controller_Action
{
    protected $_backAfterSave = false;

    public function getFilter(): array
    {
        $where = [
            [
                'field' => 'id_departamento',
                'operator' => '=',
                'value' => Sistema_Model_Departamentos::AGRO_SINISTRO
            ]
        ];

        if ($this->_requestParams['ds_descricao']) {
            $where[] = [
                'field' => 'ds_descricao',
                'operator' => 'ilike',
                'value' => "%{$this->_requestParams['ds_descricao']}%"
            ];
        }

        if ($this->_requestParams['fl_ativo']) {
            $where[] = [
                'field' => 'fl_ativo',
                'operator' => '=',
                'value' => $this->_requestParams['fl_ativo'] === 'true' ? 't' : 'f'
            ];
        }

        return $where;
    }

    public function getForm(): Sinistro2_Form_ChamadosConfirmarContato
    {
        return new Sinistro2_Form_ChamadosConfirmarContato();
    }

    public function getModel(): Sinistro2_Model_ChamadosConfirmarContato
    {
        return new Sinistro2_Model_ChamadosConfirmarContato();
    }

    public function init()
    {
        $this->view->title = 'Sinistro » Cadastros » Chamados Confirmar Contato';
    }

    public function solicitarconfirmacaocontatoAction()
    {
        $this->isAjax(true);

        $rowProposta = (new Seguro_Model_Propostas())->get($this->_requestParams['id_proposta']);
        $rowTipoChamado = (new Atendimento_Model_TipoChamado())->find(Atendimento_Model_TipoChamado::SINISTRO_CONFIRMAR_CONTATO_VISTORIADOR)->current();

        $this->view->idEmpresa = $this->_requestParams['id_empresa'];
        $this->view->idProposta = $this->_requestParams['id_proposta'];
        $this->view->idStatusProposta = $rowProposta['id_status'];
        $this->view->idUsuarioResponsavelTipoChamado = $rowTipoChamado['id_responsavel'];
        $this->view->nomeSegurado = $rowProposta['ds_nome_proponente'];
        $this->view->idDeparmento = Sistema_Model_Departamentos::AGRO_SINISTRO;
        $this->view->idTipoChamado = Atendimento_Model_TipoChamado::SINISTRO_CONFIRMAR_CONTATO_VISTORIADOR;
        $this->view->pendenciasVistoriador = (new Seguro_Model_PendenciasVistoriador())->fetchAll(
            ['id_departamento = ' . Sistema_Model_Departamentos::AGRO_SINISTRO], 'id'
        )->toArray();
    }
}
