Merge pull request #16 from is343/fix/initial-kbb-daily

fix: only parse kbb daily mileage transaction if it has previous data
This commit is contained in:
Robert Dyer
2024-12-14 18:14:41 -06:00
committed by GitHub
+15 -13
View File
@@ -63,21 +63,23 @@ async function getKBB(URL) {
const daily = parseInt(getTagValue(note, 'kbbDailyMileage')); const daily = parseInt(getTagValue(note, 'kbbDailyMileage'));
if (mileage && daily) { if (mileage && daily) {
let lastDate = await getLastTransactionDate(account, undefined, true); let lastDate = await getLastTransactionDate(account, undefined, true);
const parts = lastDate.split('-'); if (lastDate) {
lastDate = new Date(parts[0], parts[1] - 1, parts[2]); const parts = lastDate.split('-');
if (lastDate < new Date()) { lastDate = new Date(parts[0], parts[1] - 1, parts[2]);
let today = new Date(); if (lastDate < new Date()) {
today = new Date(today.getFullYear(), today.getMonth(), today.getDate()); let today = new Date();
const days = Math.round((today - lastDate) / (1000 * 60 * 60 * 24)); today = new Date(today.getFullYear(), today.getMonth(), today.getDate());
if (days > 0) { const days = Math.round((today - lastDate) / (1000 * 60 * 60 * 24));
mileage += days * daily; if (days > 0) {
mileage += days * daily;
const newNote = note.replace(/kbbMileage:\d+/, `kbbMileage:${mileage}`); const newNote = note.replace(/kbbMileage:\d+/, `kbbMileage:${mileage}`);
await setAccountNote(account, newNote); await setAccountNote(account, newNote);
console.log('daily mileage:', daily); console.log('daily mileage:', daily);
console.log('days since last update:', days); console.log('days since last update:', days);
console.log('Updated mileage to:', mileage); console.log('Updated mileage to:', mileage);
}
} }
} }
} }