Ú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!
- Duplázni félévente
- Digitális Állampolgárság Program DÁP
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- eMAG vélemények - tapasztalatok
- Kínai és egyéb olcsó órák topikja
- One otthoni szolgáltatások (TV, internet, telefon)
- exHWSW - Értünk mindenhez IS
- Samsung LCD és LED TV-k
- HiFi műszaki szemmel - sztereó hangrendszerek
- 3D nyomtatás
- További aktív témák...
- Ps5 Lemezes Verzió Extrán Megkímélt 2 Kontival Eladó!!!
- Új i5 12400F/G.byte B760M.DS3H/32GB DDR4,3200MHz.ARGB/1TB M.2/750GOLD/RTX5070 OC 12GB DLSS4/WIN11PRO
- Apple Magic -Keyboard, Trackpad és Mouse
- Xiaomi 15 256GB,Újszerű,Dobozával,12 hónap garanciával
- használt Xiaomi 11T Pro 5G 128GB 8GB Celestial Blue
- ÁRGARANCIA!Épített KomPhone Ultra 7 265KF 32/64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
- Bomba ár! Lenovo X1 Yoga 1st - i7-6G I 8GB I 256SSD I 14" WQHD Touch I HDMI I W11 I CAM I Garancia
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RX 9060 XT 8GB GAMER PC termékbeszámítással
- Huawei Watch 5 Titanium 46mm
- HIBÁTLAN iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3330, 100% Akksi
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest

