Hirdetés
Ú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!
- Samsung Galaxy S23 Ultra 5G 512GB, Kártyafüggetlen, 1 Év Garanciával
- Gamer PC-Számítógép! Csere-Beszámítás! R5 3600X / GTX 1080Ti / 16GB DDR4 / 512 SSD
- iKing.Hu-Nothing Phone 3a Pro Grey Glyph stílus, 3 optikai zoom 12/256 GB -3 hónap garancia
- iPhone 13 mini 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS4052, 100% Akkumulátor
- BESZÁMÍTÁS! Asus TUF Z690 i7 14700KF 32GB DDR5 1TB SSD RX 6900XT 16GB Zalman Z1 PLUS EVGA 850W
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


