FIX: Corrigido padrão de data de requisições para marca d'água subir corretamente.

This commit is contained in:
Rafael Lopes 2025-10-24 21:59:08 -03:00
parent 938bf189f2
commit e436fe17af

View File

@ -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
};