FIX: Corrigido padrão de data de requisições para marca d'água subir corretamente.
This commit is contained in:
parent
938bf189f2
commit
e436fe17af
@ -26,9 +26,6 @@ const processAndSaveTickets = async (tickets, type) => {
|
||||
// Para requisições, o status está diretamente em ticket.state
|
||||
const ticketStatus = type === 'incidente' ? ticket.state?.display_value : ticket.state;
|
||||
|
||||
|
||||
|
||||
console.log(ticketStatus)
|
||||
const dataSync = {
|
||||
sn_ticket_id: idTableTicketSn,
|
||||
last_sn_sync: new Date(),
|
||||
@ -62,7 +59,8 @@ const processAndSaveTickets = async (tickets, type) => {
|
||||
// Se já existe, não faz nada, pois a lógica de atualização de status será em outro processo.
|
||||
|
||||
// Guarda o timestamp mais recente do lote para usar como a próxima marca d'água
|
||||
const currentUpdate = ticket.sys_updated_on?.value;
|
||||
let currentUpdate = type === 'incidente' ? ticket.sys_updated_on?.value : ticket.sys_updated_on;
|
||||
currentUpdate = defaultDate(currentUpdate);
|
||||
if (currentUpdate && currentUpdate > latestUpdateTimestamp) {
|
||||
latestUpdateTimestamp = currentUpdate;
|
||||
}
|
||||
@ -96,7 +94,7 @@ const processSyncController = async () => {
|
||||
|
||||
// 2. Determina a nova marca d'água (o timestamp mais recente entre todos os tickets processados)
|
||||
const newWatermark = latestIncidentUpdate > latestRequestUpdate ? latestIncidentUpdate : latestRequestUpdate;
|
||||
|
||||
|
||||
// 3. Se processamos algum ticket, atualiza a marca d'água para a próxima execução
|
||||
if (newWatermark) {
|
||||
// Adiciona 1 segundo para evitar reprocessar o último ticket em caso de timestamps iguais
|
||||
@ -111,6 +109,29 @@ const processSyncController = async () => {
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
//Função auxiliar para padronizar data
|
||||
|
||||
function defaultDate(dataStr) {
|
||||
if (!dataStr) return null;
|
||||
const [data, hora] = dataStr.split(' ');
|
||||
|
||||
let ano, mes, dia;
|
||||
if (data.includes('/')) {
|
||||
// Ex: 31/12/2024 → 2024-12-31
|
||||
[dia, mes, ano] = data.split('/');
|
||||
} else {
|
||||
// Ex: 2025-10-24 → já está no formato
|
||||
[ano, mes, dia] = data.split('-');
|
||||
}
|
||||
|
||||
// Garante formato consistente (YYYY-MM-DD HH:mm:ss)
|
||||
return `${ano.padStart(4, '0')}-${mes.padStart(2, '0')}-${dia.padStart(2, '0')} ${hora}`;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
module.exports = {
|
||||
processSyncController
|
||||
};
|
||||
Loading…
Reference in New Issue
Block a user