<?php
$User = Zend_Auth::getInstance()->getIdentity();
$origemPrevia = isset($this->origemPrevia) && $this->origemPrevia === true;
$styleAcoes = $origemPrevia ? 'style="display: none"' : '';

if (!$this->error) {
    if ($origemPrevia && !count($this->solicitacoes)) {
      ?>
      <div class="text">
        <b>Nenhuma solicitação de endosso cadastrada.</b>
      </div>
      <?php
    }

    if (count($this->solicitacoes)) { ?>
      <table class='grid tableListConsultaEndosso' cellspacing="1" cellpadding="0" border="0" id="tablePagination">
          <?
          $options = array(
            array(
              'id'        => 'id',
              'nowrap'    => 'nowrap',
              'descricao' => 'Código',
              'image'     => '/resources/imagens/'
            ),
            array(
              'id'        => 'id_proposta',
              'nowrap'    => 'nowrap',
              'descricao' => 'Proposta',
              'image'     => '/resource/imagens/'
            ),
            array(
              'id'        => 'ds_nome_abreviado',
              'nowrap'    => 'nowrap',
              'descricao' => 'Produto',
              'image'     => '/resources/imagens/'
            ),
            array(
              'id'        => 'status_proposta',
              'nowrap'    => 'nowrap',
              'descricao' => 'Tipo',
              'image'     => '/resources/imagens/'
            ),
            array(
              'id'        => 'ds_status',
              'nowrap'    => 'nowrap',
              'descricao' => 'Status',
              'image'     => '/resources/imagens/'
            ),
            array(
              'id'        => 'ds_nome_usuario',
              'nowrap'    => 'nowrap',
              'descricao' => 'Digitador',
              'image'     => '/resources/imagens/'
            ),
            array(
              'id' => 'status_proposta_mae',
              'nowrap'    => '',
              'descricao' => 'Status Proposta',
              'image'     => '/resources/imagens/'
            ),
            array(
              'id' => 'ds_nome_responsavel',
              'nowrap'    => '',
              'descricao' => 'Responsável',
              'image'     => '/resources/imagens/'
            ),
            array(
              'nowrap'    => '',
              'descricao' => 'Ações'
            )
          );
          ?>
          <?= $this->listHeader($options, $this->order, $this->orderType) ?>

        <tbody>
        <?
        $ModelChamado = new Atendimento_Model_Chamado();
        $modelUsuarios = new Sistema_Model_Usuarios();
        $EndossoStatus = new Endosso_Model_SolicitacaoStatus();

        $i = 0;
        $statusSolicitacaoCancelamento = [
            Endosso_Model_Solicitacao::ID_STATUS_SOLICITACAO_ENDOSSO_NAO_ANALISADO,
            Endosso_Model_Solicitacao::ID_STATUS_SOLICITACAO_ENDOSSO_PENDENTE,
            Endosso_Model_Solicitacao::ID_STATUS_SOLICITACAO_ENDOSSO_ACEITO,
            Endosso_Model_Solicitacao::ID_STATUS_SOLICITACAO_ENDOSSO_ANALISE,
            Endosso_Model_Solicitacao::ID_STATUS_SOLICITACAO_NAO_FINALIZADA,
        ];

        $tipoUsuariosCorretorPreposto = [
          Sistema_Model_Usuarios::TIPO_USUARIO_CORRETOR,
          Sistema_Model_Usuarios::TIPO_USUARIO_PREPOSTO
        ];

        $chavesStatusBloqueioEdicao = [
          Endosso_Model_Solicitacao::DS_CHAVE_CANCELADO,
          Endosso_Model_Solicitacao::DS_CHAVE_SOLICITACAO_ENDOSSO_ACEITO_EFETIVADO,
          Endosso_Model_Solicitacao::DS_CHAVE_SOLICITACAO_ENDOSSO_CANCELADO_CORRETOR,
          Endosso_Model_Solicitacao::DS_CHAVE_SOLICITACAO_ENDOSSO_NEGADO,
        ];

        $chavesStatusEdicaoCorretor = [
            Endosso_Model_Solicitacao::DS_CHAVE_SOLICITACAO_ENDOSSO_NAO_ANALISADO,
            Endosso_Model_Solicitacao::DS_CHAVE_SOLICITACAO_ENDOSSO_PENDENTE,
            Endosso_Model_Solicitacao::DS_CHAVE_SOLICITACAO_ENDOSSO_AGUARDANDO_FORM_ASS,
        ];

        foreach ($this->solicitacoes as $item) {
            $class = '';
            $tip = 'Não assinada';
            $imgSign = 'inactive.png';

            if ($item['ds_nome_arquivo']) {
                $imgSign = 'active.png';
                $class = 'highlight';
                $tip = 'Assinada';
            }

            $tiposSolicitacaoNovoEndosso = [
                Endosso_Model_TiposSolicitacao::DS_CHAVE_CANCELAMENTO_APOLICE,
                Endosso_Model_TiposSolicitacao::DS_CHAVE_COM_MOVIMENTO_PREMIO,
                Endosso_Model_TiposSolicitacao::DS_CHAVE_SEM_MOVIMENTO_PREMIO,
            ];

            $codigo = $this->escape(str_pad($item['id_proposta'], 6, 0, STR_PAD_LEFT));

            if (!in_array($item['ds_chave_tipo_solicitacao'], $tiposSolicitacaoNovoEndosso)) {
                $codigo = $item['id'];
            }
            ?>
          <tr class="<?= $class ?>">
            <td nowrap="nowrap" align="center" width="2%"><?= $codigo ?></td>
            <td nowrap="nowrap" align="center"><?= $item['id_proposta_mae'] ?></td>
            <td nowrap="nowrap" align="center"><?= $item['ds_nome_abreviado'] ?></td>
            <td nowrap="nowrap" align="center"><?= $item['ds_tipo_endosso_tratado'] ?></td>
            <td nowrap="nowrap" align="center"><?= $item['ds_status'] ?></td>
            <td nowrap="nowrap" align="center"><?= $item['ds_nome_usuario'] ?></td>
            <td nowrap="nowrap" align="center"><?= $item['status_proposta_mae'] ?></td>
            <td nowrap="nowrap" align="center"><?= $item['ds_nome_responsavel'] ?></td>
            <td nowrap="nowrap" align="center">
                <?
                if ($modelUsuarios->isFuncionarioAgro()
                  || (in_array($User->tp_usuario, $tipoUsuariosCorretorPreposto) && in_array($item['ds_chave_status'], $chavesStatusEdicaoCorretor))
                ) {
                  $rota = "/endosso/solicitacao/form/id_proposta/{$item['id_proposta_mae']}/id_tipo/{$item['id_tipo_solicitacao']}";
                  $rota .= "/id/{$item['id']}/id_nova_proposta/{$item['id_proposta']}/ds_chave/{$item['ds_chave_tipo_solicitacao']}";
                  $rota .= "/consulta/1";
                    ?>
                  <a href="<?=$rota?>"
                     class="icon_editar" title="Editar" border="0" <?=$styleAcoes?>>
                    <img src="/resources/imagens/mini/edit.png" alt="Editar" border="0" id="help">
                  </a>
                <?
                } ?>

              <a href="/seguro/proposta/view/id/<?= $item['id_proposta'] ?>/origemSolicitacaoEndosso/1" class="popup">
                <img src="/resources/imagens/mini/view.png" alt="Visualizar" title="Visualizar" border="0">
              </a>

              <a class="showHistorico" href="/endosso/consulta/historico/id/<?= $item['id'] ?>">
                <img src="/resources/imagens/mini/add_att_20x20.png" alt="Histórico" title="Histórico" border="0">
              </a>

                <?
                if ($User->id_empresa == 20) {
                    if (Agro_Util::checkPermission('atendimento:chamado:index')) { ?>
                      <a class="showListChamados" rel="<?= $item['id_proposta'] ?>"
                         href="/atendimento/chamado/list/id_proposta/<?= $item['id_proposta'] ?>">
                        <img src="/resources/imagens/mini/<? echo ($ModelChamado->verificaChamadoNovoOuAberto($item['id_proposta']) ? 'com_chamado.png' : 'sem_chamado.png'); ?>"
                             alt="Visualizar Chamados" title="Visualizar Chamados" border="0">
                      </a>
                    <?
                    } else { ?>
                      <img src="/resources/imagens/transp.png" width="20" height="20" border="0">
                    <?
                    }
                }

                if (in_array($item['id_status'], $statusSolicitacaoCancelamento)) {
                    if (!$EndossoStatus->hasSolicitacaoCancelamentoCorretor($item['id'])) {
                        ?>
                      <a class="showCancelamento" href="/endosso/consulta/cancelamento/id/<?= $item['id'] ?>" <?=$styleAcoes?>>
                        <img style="margin-bottom: 2px;" src="/resources/imagens/icon/delete-off.png"
                             alt="Solicitar Cancelamento" title="Solicitar Cancelamento" border="0">
                      </a>
                    <?
                    } else { ?>
                      <img style="margin-bottom: 2px;" src="/resources/imagens/icon/delete.png"
                           alt="Cancelamento solicitado" title="Cancelamento solicitado" border="0" <?=$styleAcoes?>>
                    <?
                    }
                } ?>
            </td>
          </tr>
            <?
            $i++;
        }
        ?>
        </tbody>
      </table>
        <?= $this->paginationControl($this->solicitacoes, 'Sliding');
    }
} else {
    echo $this->showListError($this->error);
}
?>
