Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
8c7f69ad2f | ||
|
ccd0a8bf3c | ||
|
9fe11b8a8d | ||
|
a42b16c971 | ||
|
714880ce38 | ||
|
45363aa615 | ||
|
a10711f23b | ||
|
baea78322f |
22
finance.csv
22
finance.csv
@ -61,3 +61,25 @@
|
|||||||
2024-10-06,Příspěvek Micaai,50,CZK,Příjem
|
2024-10-06,Příspěvek Micaai,50,CZK,Příjem
|
||||||
2024-10-10,Příspěvek @fabia_man,200,CZK,Příjem
|
2024-10-10,Příspěvek @fabia_man,200,CZK,Příjem
|
||||||
2024-10-10,Příspěvek @Razemix@mamutovo,100,CZK,Příjem
|
2024-10-10,Příspěvek @Razemix@mamutovo,100,CZK,Příjem
|
||||||
|
2024-10-17,Příspěvek Schmaker,200,CZK,Příjem
|
||||||
|
2024-10-17,Příspěvek Luboš Blažek,1000,CZK,Příjem
|
||||||
|
2024-10-17,Příspěvek @Onqa6,100,CZK,Příjem
|
||||||
|
2024-10-17,Příspěvek D.Kolaja,111,CZK,Příjem
|
||||||
|
2024-10-20,Platba Contabo VPS,-442.07,CZK,Výdaj
|
||||||
|
2024-10-20,Platba server Hetzner ,-2620,CZK,Výdaj
|
||||||
|
2024-10-20,Příspěvek Capek Miloslav,2000,CZK,Příjem
|
||||||
|
2024-10-24,Platba doména faktura-67078139,-891,CZK,Výdaj
|
||||||
|
2024-10-24,Příspěvek Sešívaný ,200,CZK,Příjem
|
||||||
|
2024-10-24,Příspěvek Pixelfed/dnesnaukrajine,300,CZK,Příjem
|
||||||
|
2024-10-27,Příspěvek M.Kroul,150,CZK,Příjem
|
||||||
|
2024-10-27,S3 uložiště Idrive2,-41.66,CZK,Výdaj
|
||||||
|
2024-11-03,Příspěvek @tritol128,512,CZK,Příjem
|
||||||
|
2024-11-03,Příspěvek ZBNW,150,CZK,Příjem
|
||||||
|
2024-11-06,Příspěvek Micaai Mxchat,50,CZK,Příjem
|
||||||
|
2024-11-06,Příspěvek @fabia_man,200,CZK,Příjem
|
||||||
|
2024-11-08,Příspěvek Infoek,500,CZK,Příjem
|
||||||
|
2024-11-18,Platba server Hetzner ,-3147.6,CZK,Výdaj
|
||||||
|
2024-11-18,Příspěvek Schmaker,200,CZK,Příjem
|
||||||
|
2024-11-18,Příspěvek @Onqa6,100,CZK,Příjem
|
||||||
|
2024-11-18,Příspěvek D.Kolaja,111,CZK,Příjem
|
||||||
|
20241-11-18,Příspěvek Luboš Blažek,1000,CZK,Příjem
|
||||||
|
|
@ -1,16 +0,0 @@
|
|||||||
# Vytvoření testovacího DataFrame s podobnou strukturou jako uživatelův CSV soubor
|
|
||||||
data_corrected = {
|
|
||||||
'Datum': ['2024-06-04', '2024-06-05', '2024-06-10', '2024-06-17', '2024-06-18'],
|
|
||||||
'Popis': ['Stav účtu', 'Příspěvek @tritol128', 'Příspěvek @fabia_man', 'Příspěvek @Onqa6', 'Příspěvek D.Kolaja'],
|
|
||||||
'Částka': [9253.0, 512.0, 100.0, 100.0, 111.0],
|
|
||||||
'Měna': ['CZK', 'CZK', 'CZK', 'CZK', 'CZK'],
|
|
||||||
'Typ': ['Příjem', 'Příjem', 'Příjem', 'Příjem', 'Příjem']
|
|
||||||
}
|
|
||||||
|
|
||||||
df_corrected = pd.DataFrame(data_corrected)
|
|
||||||
|
|
||||||
# Uložení do CSV souboru
|
|
||||||
corrected_csv_path = "/mnt/data/finance_2024_corrected.csv"
|
|
||||||
df_corrected.to_csv(corrected_csv_path, index=False)
|
|
||||||
|
|
||||||
corrected_csv_path
|
|
Can't render this file because it contains an unexpected character in line 13 and column 22.
|
@ -38,12 +38,6 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Archiv přehledů financí -->
|
|
||||||
<div class="container text-center mt-4">
|
|
||||||
<h2>Archiv přehledů financí</h2>
|
|
||||||
<button id="load-archive-2024" class="btn btn-secondary">Načíst rok 2024</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<footer class="text-center mt-auto py-3">
|
<footer class="text-center mt-auto py-3">
|
||||||
<p>© 2024 <a href="https://git.arch-linux.cz/Archos/prehlad-financi-komunity" target="_blank">Archos</a></p>
|
<p>© 2024 <a href="https://git.arch-linux.cz/Archos/prehlad-financi-komunity" target="_blank">Archos</a></p>
|
||||||
</footer>
|
</footer>
|
||||||
|
41
skript.js
41
skript.js
@ -1,8 +1,5 @@
|
|||||||
document.addEventListener('DOMContentLoaded', function() {
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
// Funkce pro načítání financí
|
fetch('finance.csv')
|
||||||
function loadFinanceData(csvFile) {
|
|
||||||
console.log(`Načítání souboru: ${csvFile}`); // Debug výpis
|
|
||||||
fetch(csvFile)
|
|
||||||
.then(response => {
|
.then(response => {
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
throw new Error('Network response was not ok');
|
throw new Error('Network response was not ok');
|
||||||
@ -10,12 +7,10 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||||||
return response.text();
|
return response.text();
|
||||||
})
|
})
|
||||||
.then(data => {
|
.then(data => {
|
||||||
console.log('Načtená data:', data); // Debug výpis načtených dat
|
let rows = data.split('\n').slice(1);
|
||||||
let rows = data.split('\n').slice(1); // Odstraníme hlavičku CSV souboru
|
rows = rows.filter(row => row.trim() !== ""); // Remove empty rows
|
||||||
rows = rows.filter(row => row.trim() !== ""); // Odstranit prázdné řádky
|
rows.reverse(); // Reverse the order of rows
|
||||||
rows.reverse(); // Obrátit pořadí řádků
|
|
||||||
const tableBody = document.querySelector('#finance-table tbody');
|
const tableBody = document.querySelector('#finance-table tbody');
|
||||||
tableBody.innerHTML = ''; // Vyprázdnit tabulku před načtením nových dat
|
|
||||||
let accountBalance = 0;
|
let accountBalance = 0;
|
||||||
rows.forEach(row => {
|
rows.forEach(row => {
|
||||||
const columns = row.split(',');
|
const columns = row.split(',');
|
||||||
@ -28,32 +23,34 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||||||
});
|
});
|
||||||
tableBody.appendChild(tr);
|
tableBody.appendChild(tr);
|
||||||
|
|
||||||
// Výpočet zůstatku
|
// Debug output
|
||||||
const amount = parseFloat(columns[2].replace(/,/g, '').replace(/[^0-9.-]/g, '')); // Ošetření čísel
|
console.log('Row:', row);
|
||||||
|
console.log('Columns:', columns);
|
||||||
|
|
||||||
|
// Calculate account balance
|
||||||
|
const amount = parseFloat(columns[2].replace(/,/g, '').replace(/[^0-9.-]/g, '')); // Remove any invalid characters and ensure proper decimal handling
|
||||||
const currency = columns[3].trim();
|
const currency = columns[3].trim();
|
||||||
|
|
||||||
|
// Debug output
|
||||||
|
console.log('Amount:', amount);
|
||||||
|
console.log('Currency:', currency);
|
||||||
|
|
||||||
if (!isNaN(amount)) {
|
if (!isNaN(amount)) {
|
||||||
if (currency === 'CZK') {
|
if (currency === 'CZK') {
|
||||||
accountBalance += amount;
|
accountBalance += amount;
|
||||||
} else if (currency === 'EUR') {
|
} else if (currency === 'EUR') {
|
||||||
accountBalance += amount * 25; // Pro jednoduchost: 1 EUR = 25 CZK
|
// For simplicity, assume 1 EUR = 25 CZK (you can adjust the conversion rate)
|
||||||
|
accountBalance += amount * 25;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
console.error('Invalid amount:', columns[2]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
document.getElementById('account-balance').textContent = accountBalance.toFixed(2) + ' CZK';
|
document.getElementById('account-balance').textContent = accountBalance.toFixed(2) + ' CZK';
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
console.error('Chyba při načítání CSV souboru:', error);
|
console.error('Error fetching the CSV file:', error);
|
||||||
document.getElementById('account-balance').textContent = 'Chyba při načítání dat';
|
document.getElementById('account-balance').textContent = 'Chyba při načítání dat';
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
// Načítání aktuálního souboru finance.csv
|
|
||||||
loadFinanceData('finance.csv'); // Soubor je ve stejné složce, proto nemusíš zadávat cestu
|
|
||||||
|
|
||||||
// Přidání funkce pro načítání archivovaných dat za rok 2024
|
|
||||||
document.getElementById('load-archive-2024').addEventListener('click', function() {
|
|
||||||
loadFinanceData('finance_2024_corrected.csv'); // Stejná složka pro archivovaný soubor
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user