diff --git a/back/methods/edi/updateData.js b/back/methods/edi/updateData.js index d28071082..c4f7ef869 100644 --- a/back/methods/edi/updateData.js +++ b/back/methods/edi/updateData.js @@ -102,6 +102,31 @@ module.exports = Self => { const toTable = file.toTable; const baseName = file.fileName; + const firstEntry = entries[0]; + const entryName = firstEntry.entryName; + const startIndex = (entryName.length - 10); + const endIndex = (entryName.length - 4); + const dateString = entryName.substring(startIndex, endIndex); + + const lastUpdated = new Date(); + + let updated = null; + if (file.updated) { + updated = new Date(file.updated); + updated.setHours(0, 0, 0, 0); + } + + // Format string date to a date object + lastUpdated.setFullYear(`20${dateString.substring(4, 6)}`); + lastUpdated.setMonth(parseInt(dateString.substring(2, 4)) - 1); + lastUpdated.setDate(dateString.substring(0, 2)); + lastUpdated.setHours(0, 0, 0, 0); + + if (updated && lastUpdated <= updated) { + console.debug(`Table ${toTable} already updated, skipping...`); + return; + } + const tx = await Self.beginTransaction({}); try { @@ -112,31 +137,7 @@ module.exports = Self => { for (const zipEntry of entries) { const entryName = zipEntry.entryName; - console.log(`Reading file ${entryName}...`); - - const startIndex = (entryName.length - 10); - const endIndex = (entryName.length - 4); - const dateString = entryName.substring(startIndex, endIndex); - const lastUpdated = new Date(); - - // Format string date to a date object - let updated = null; - if (file.updated) { - updated = new Date(file.updated); - updated.setHours(0, 0, 0, 0); - } - - lastUpdated.setFullYear(`20${dateString.substring(4, 6)}`); - lastUpdated.setMonth(parseInt(dateString.substring(2, 4)) - 1); - lastUpdated.setDate(dateString.substring(0, 2)); - lastUpdated.setHours(0, 0, 0, 0); - - if (updated && lastUpdated <= updated) { - console.debug(`Table ${toTable} already updated, skipping...`); - continue; - } - - console.log('Dumping data...'); + console.log(`Dumping data from file ${entryName}...`); const templatePath = path.join(__dirname, `./sql/${toTable}.sql`); const sqlTemplate = fs.readFileSync(templatePath, 'utf8');