Class GraDAO

java.lang.Object
systextil.bo.inte.gra.GraDAO

public class GraDAO extends Object
DAO para acesso as tabelas INTE_001 e INTE_002 da integracao GRA. A fila das referencias cruzadas (INTE_005) fica no GraReferenciaCruzadaDAO.
  • Constructor Details

    • GraDAO

      public GraDAO(br.com.intersys.systextil.connection.AppConnection conn)
  • Method Details

    • enviarManual

      public void enviarManual(int empresa, String tipo, List<String> ids)
      "Enviar" da aba de pedidos e notas: recoloca os registros na fila. A data da movimentacao (data_ultimo_envio, o "Modificado em") vira agora, como na reentrada pela trigger e no "Reenviar" das referencias (PendenteAnalise, 10.6).
    • findConfigByEmpresa

      public GraConfigDTO findConfigByEmpresa(int empresa)
      Configuracao da empresa, com o nome dela (o e-mail de erros o mostra), ou null se nao configurada.
    • insertConfig

      public void insertConfig(GraConfigDTO dto)
    • updateConfig

      public void updateConfig(GraConfigDTO dto)
    • deleteConfig

      public void deleteConfig(int empresa)
    • findAllConfigs

      public List<GraConfigDTO> findAllConfigs()
    • consultarAgendamentos

      public Map<Integer,GraAgendamentoDTO> consultarAgendamentos(Integer empresa)
      Estado do agendamento por empresa, a fonte unica de /config, /config/list e /batch-status (design, 8.1 e 8.2): so le, nunca muda a configuracao (a reconciliacao que inativava a empresa sem agendamento saiu, 8.9). O processo da vez e o em execucao ou, sem ele, o agendado; entre varios, o de execucao mais recente, para um ciclo morto ou um agendado esquecido antigo nao passar na frente do atual. Os tempos sao calculados pelo relogio do banco. No SQL: config e a empresa configurada (INTE_001), com a linha (ROWID) do processo da vez (rid_atual) e a do ultimo ciclo terminado (rid_ultimo); atual e ultimo sao essas duas linhas da OPER_001. Pelo ROWID porque o nr_solicitacao (seq_relatorio) se repete na OPER_001 da mesma empresa, e a juncao por ele trazia mais de uma linha; o proprio agente identifica a linha por numero, codigo do relatorio, solicitante e empresa (PendenteAnalise, 12.1). O ORDER BY final so ordena a lista das empresas.
      Parameters:
      empresa - so essa empresa; null, todas as configuradas
      Returns:
      o estado por codigo da empresa, na ordem do codigo
    • inserirFilaReversaoNota

      public void inserirFilaReversaoNota(br.com.intersys.systextil.connection.AppConnection connParam, int empresa, String chaveAcesso)
      Insere (ou atualiza) na fila INTE_002 um registro de reversao de nota (tipo_operacao='D'). O batch inte_f010 processara de forma assincrona e enviara o status 'R' ao GRA.
    • listarMonitoramento

      public Map<String,Object> listarMonitoramento(GraMonitoramentoFiltro filtro)
      Pagina da aba Pedidos / Notas fiscais, com filtros e ordem no servidor, como a da aba de referencias (ConsultaPaginada; PendenteAnalise, 9.6).
      Returns:
      itens (as linhas da pagina) e temMais
    • listarLogs

      public List<GraLogDTO> listarLogs(String idCabecalho, String tipo)
    • podeAdministrar

      public boolean podeAdministrar(String usuario, int empresa)
      Permissao de administrador da inte_f010 (OPER_550, subprograma ADMINISTRADOR) do usuario na empresa.
    • obrf101Exists

      public boolean obrf101Exists(String chaveAcesso)
    • obrf010Exists

      public boolean obrf010Exists(String chaveAcesso)
    • insertObrf101

      public void insertObrf101(String chaveAcesso, String xmlBaixado, int codigoEmpresa, String cnpjEmissor, String fornecedor, String statusSefaz)
      XML recebido na OBRF_101. O status e o da SEFAZ que o XML traz (cStat - xMotivo), como a importacao de XML grava: nao muda com o resultado da integracao, que fica na INTE_002.
    • deleteObrf101

      public void deleteObrf101(String chaveAcesso)