Új hozzászólás Aktív témák
-
petyus_
senior tag
Sziasztok!
Tavaly kezdtem fejleszteni saját felhasználásra egy home budget appot (net core + angular), egy ideje már használom is, viszont van egy elég fontos kérdés, amit csak tolok magam előtt. A számlák egyenlegének kiszámítása. (tudom, létezik ezer ilyen, valószínűleg jobbak is, mint amit magamnak csinálok, de rengeteget tudok tanulni belőle, illetve volt már 1-2 feature, ami felmerült, hogy hasznos lenne, és máshol nem láttam.)
Jelenleg ez nincs eltárolva a db-ben, hanem a számla lekérésekor kiszámolom. Ez egyértelműen nem túl hatékony, egyelőre viszont működik, 10K+ rekordnál is megvan pár ms alatt. Ennek ellenére szeretném normálisan megoldani, illetve most felmerült egy új feature ötlete. Szeretném megjeleníteni a számlák egyenlegének alakulását egy grafikonon. Írtam egy brute force megoldást, de ez már most nagyon sokáig tart (kiszedek minden számlát a db-ből hozzájuk tartozó transactionökkel, megkeresem a legelső dátumot, onnan szépen végig kell menni, és hiába szűrnék mondjuk az tuolsó 30 napra, akkor is végig kell menni az összesen).
Alapból egyszerű lenne egy minden nap lefutó jobbal rögzíteni a rendszerbe az aznapi egyenleget, így az aktuális egyenleghez elég lenne lekérni az előző napi zárás, plusz az aznapi tranzakciókat (3 évnyi adatom van, összesen ~6K transaction, tehát napi 5-6). Viszont itt a dátum az nem feltétlen egyezik a hozzáadás dátumával, előfordul, hogy pl valamit elfelejtettem felírni, és 3 hét múlva utólag hozzáadom, illetve módosítani is lehet régebbi recordokat. Emiatt a napi egyszeri mentés az kevés sajnos.
Most épp az merült fel bennem, hogy lenne egy job, ami létrehoz minden számlához minden nap egy recordot, ahova lényegében átmásolja az előző napi értéket, és minden tranzakció insert/update/delete esetén végigmegyek a balance-okon, és újraszámolom őket. Viszont itt is felmerül, hogy ha pl 2 hónappal ezelőttre bekerül egy új érték, akkor egy sima add is sokáig tartana, mivel végig kell menni az elmúlt két hónap balance-ain.
Miközben írom, még az jutott eszembe, hogy esetleg lenne egy havi záró érték, és akkor gyorsabb lenne az add/update/delete, mivel ha aktuális hónapban vagyok, nem is kell semmit hozzáadni. Viszont a napi értékek megjelenítésével ezzel ugyanott vagyok.
Lenne esetleg valami ötletetek?
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Videós, mozgóképes topik
- Kutya topik
- Amlogic S905, S912 processzoros készülékek
- WoW avagy World of Warcraft -=MMORPG=-
- Rezsicsökkentés, spórolás (fűtés, szigetelés, stb.)
- TCL LCD és LED TV-k
- QNAP hálózati adattárolók (NAS)
- One otthoni szolgáltatások (TV, internet, telefon)
- Milyen routert?
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- További aktív témák...
- HPE UPS Extended Runtime Module R8000/3, R12000/3 compatible - kiegészitő modul -rackbe szerelhető
- Dell PowerEdge M1000E Blade Chassis (CDV10)-without blades - Több db
- Dell PowerEdge R820 Blade Server- csak ház + alaplap - 2 db
- Dell PowerEdge R730 Blade Server- csak ház + alaplap -
- Dell PowerEdge R320 Blade Server- csak ház + alaplap - Több db
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- BESZÁMÍTÁS! ASUS H510M i5 11400F 16GB DDR4 512GB SSD RX 6600XT 8GB Zalman T4 Plus Cooler Master 650W
- Playstation 5 kontroller 3 hónap garancia
- Samsung 860 Pro 256GB V-NAND SSD
- 198 - Lenovo Legion Pro 5 (16IAX10) - Intel Core U9 275HX, RTX 5070 (FOGLALVA)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs

