Pedidos Não Integrados
Esta seção documenta os procedimentos para forçar a integração de pedidos que foram retirados da Vitrine ou que apresentaram falha.
Método de Importação Manual
Para forçar a integração de pedidos específicos, execute o método de importação do Millennium.
Método a Ser Executado
MILLENIUM_ECO.ACTIVE.IMPORTParâmetros
| Parâmetro | Obrigatório | Descrição | Exemplo |
|---|---|---|---|
VITRINE | Sim | Identificador da vitrine | 1 |
COD_PEDIDOV | Sim | Código do pedido na vitrine | VTX-634901 |
SOMENTE_INCLUI_PEDIDO | Sim | Flag para incluir apenas o pedido | 1 |
PEDIDO_EXTERNO | Não | Código do pedido na plataforma externa | - |
Como Executar
Execute este método através do painel de administração do Millennium, informando os parâmetros conforme a tabela acima.
Fila de Pedidos Travada
O sistema possui um limitador de 1000 pedidos na fila. Quando esse valor é alcançado, a fila trava e é necessário fazer uma análise e limpeza.
Sintoma
Se novos pedidos não estão sendo integrados e a fila parece parada, verifique se o limite de 1000 pedidos foi atingido.
Identificar e Bloquear Pedidos Problemáticos
Esta query identifica pedidos com erro de "código de pedido cliente" e os move para a tabela de bloqueados:
INSERT INTO VITRINE_PEDIDOS_BLOQUEADOS
(VITRINE_PEDIDOS_BLOQUEADO, VITRINE, COD_PEDIDOV, PEDIDO_EXTERNO, DATA_INCLUSAO)
SELECT
MIN(vp.VITRINE_PEDIDO) + 1,
vl.VITRINE,
vl.COD_PEDIDOV,
vp.PEDIDO_EXTERNO,
CURRENT_TIMESTAMP
FROM vitrine_log vl
INNER JOIN vitrine_pedidos vp ON vp.COD_PEDIDOV = vl.COD_PEDIDOV
LEFT JOIN pedido_venda pv ON pv.COD_PEDIDOV = vl.COD_PEDIDOV
LEFT JOIN VITRINE_PEDIDOS_BLOQUEADOS vb ON vb.COD_PEDIDOV = vp.COD_PEDIDOV
WHERE vb.VITRINE_PEDIDOS_BLOQUEADO IS NULL
AND pv.PEDIDOV IS NULL
AND vl.TIPO = '4'
AND vl.DATA > CURRENT_TIMESTAMP - 1
AND vl.OBS LIKE '%digo de pedido cliente%'
GROUP BY vl.VITRINE, vl.COD_PEDIDOV, vp.PEDIDO_EXTERNO;Bloquear Pedidos Específicos
Quando você já sabe quais pedidos precisam ser bloqueados, use um dos scripts abaixo conforme seu banco de dados.
Firebird
SET TERM ^ ;
EXECUTE BLOCK
AS
DECLARE pb_vitrine_counter INT;
DECLARE pb_vitrine INT;
DECLARE pb_cod_pedidov VARCHAR(255);
DECLARE pb_pedido_externo VARCHAR(255);
DECLARE counter INT;
BEGIN
-- Inicializando o contador
counter = 1;
-- Obter o maior valor atual de vitrine_pedidos_bloqueado
SELECT MAX(vitrine_pedidos_bloqueado)
FROM vitrine_pedidos_bloqueados
INTO :pb_vitrine_counter;
-- Verificar se vitrine_pedidos_bloqueado é nulo e inicializá-lo com 0 se for o caso
IF (pb_vitrine_counter IS NULL) THEN
pb_vitrine_counter = 0;
FOR SELECT
VITRINE,
COD_PEDIDOV,
PEDIDO_EXTERNO
FROM VITRINE_PEDIDOS
WHERE COD_PEDIDOV IN ('VTX-594047') -- Substituir pelos códigos dos pedidos
INTO
:pb_vitrine,
:pb_cod_pedidov,
:pb_pedido_externo
DO
BEGIN
-- Calculando o novo vitrine_pedidos_bloqueados
pb_vitrine_counter = :pb_vitrine_counter + :counter;
-- Inserindo na tabela vitrine_pedidos_bloqueados
INSERT INTO VITRINE_PEDIDOS_BLOQUEADOS
(VITRINE_PEDIDOS_BLOQUEADO, VITRINE, COD_PEDIDOV, PEDIDO_EXTERNO, DATA_INCLUSAO)
VALUES (
:pb_vitrine_counter,
:pb_vitrine,
:pb_cod_pedidov,
:pb_pedido_externo,
CURRENT_TIMESTAMP
);
END
END^
SET TERM ; ^Personalização
Altere a cláusula WHERE COD_PEDIDOV IN ('VTX-594047') com os códigos dos pedidos que deseja bloquear.
Para múltiplos pedidos: WHERE COD_PEDIDOV IN ('VTX-594047', 'VTX-594048', 'VTX-594049')
SQL Server
BEGIN
DECLARE @vp_bloqueados INT;
SET @vp_bloqueados = (SELECT ISNULL(MAX(vitrine_pedidos_bloqueado), 0) FROM vitrine_pedidos_bloqueados);
INSERT INTO VITRINE_PEDIDOS_BLOQUEADOS
(VITRINE_PEDIDOS_BLOQUEADO, VITRINE, COD_PEDIDOV, PEDIDO_EXTERNO, DATA_INCLUSAO)
SELECT
@vp_bloqueados + ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS VITRINE_PEDIDOS_BLOQUEADO,
VITRINE,
COD_PEDIDOV,
PEDIDO_EXTERNO,
GETDATE() AS DATA_INCLUSAO
FROM VITRINE_PEDIDOS
WHERE COD_PEDIDOV IN ('TRS-867516'); -- Substituir pelos códigos dos pedidos
END;Tabela de Referência
Estrutura da Tabela VITRINE_PEDIDOS_BLOQUEADOS
| Coluna | Tipo | Descrição |
|---|---|---|
VITRINE_PEDIDOS_BLOQUEADO | INT | Identificador único (PK) |
VITRINE | INT | Identificador da vitrine |
COD_PEDIDOV | VARCHAR | Código do pedido na vitrine |
PEDIDO_EXTERNO | VARCHAR | Código do pedido na plataforma |
DATA_INCLUSAO | TIMESTAMP | Data de inclusão no bloqueio |
Fluxo de Resolução
┌─────────────────────────────┐
│ Pedidos não integram? │
└─────────────┬───────────────┘
│
┌───────▼───────┐
│ Verificar se │
│ fila > 1000 │
└───────┬───────┘
│
┌─────────┴─────────┐
│ Sim │ Não
▼ ▼
┌───────────────┐ ┌───────────────┐
│ Identificar │ │ Verificar │
│ pedidos com │ │ logs do │
│ erro │ │ pedido │
└───────┬───────┘ └───────┬───────┘
│ │
▼ ▼
┌───────────────┐ ┌───────────────┐
│ Bloquear │ │ Usar método │
│ pedidos │ │ de importação │
│ problemáticos │ │ manual │
└───────────────┘ └───────────────┘Próximos Passos
- Para verificar a fila de produtos, consulte Diagnóstico da Fila
- Para analisar erros, consulte Análise de Logs