A rendszer architektúrája
1. Alapvető komponensek
- Jegybanki alapkamat tábla: A jelenleg érvényes kamatlábak nyilvántartása
- Egyenleg lekérdező eljárás: Meglévő rendszer, ami az albetétek aktuális egyenlegét képes lekérdezni
- Napi tőketartozás tábla: A napi bontású tartozásokat tárolja
- Havi késedelmi kamat tábla: Havi összesítéseket tartalmaz
2. A kamatszámítás logikája
-- Késedelmi kamat = Jegybanki alapkamat + 8% -- Napi kamatláb = Éves kamatláb / 365 -- Napi kamat = Tartozás × Napi kamatláb / 100
A tárolt eljárás működése
1. Paraméterezés – Egyszerűen és gyorsan
EXEC [dbo].[sp_NapiToketartozasFeltoltes] @AlbetetID_Tol = 1001, -- Kezdő albetét ID @AlbetetID_Ig = 1100, -- Záró albetét ID @DatumTol = '2025-01-01', -- Kezdő dátum @DatumIg = '2025-10-31'; -- Záró dátum
2. Az egyenleg lekérdezés mechanizmusa
A rendszer a meglévő
sp_AlbetetEgyenlegKimutatas eljárást használja, amely részletes egyenleg információkat szolgáltat:
| Sorrend |
Tipus |
Datum |
Leiras |
Osszeg |
Egyenleg |
| 1 |
NYITÓ |
2025-01-01 |
Egyenleg átvitel |
– |
-50000 |
| 2 |
ELŐÍRÁS |
2025-01-01 |
Havi előírás |
-15000 |
-65000 |
| 3 |
BEFIZETÉS |
2025-01-15 |
Készpénzes befizetés |
10000 |
-55000 |
| 4 |
ZÁRÓ |
2025-01-31 |
Záró egyenleg |
– |
-55000 |
3. A napi tőketartozás számítási logika
A számítás különbséget tesz a hónap első és második fele között:
-- 1-15. nap: Előző hónap záróegyenlege - Havi előírás -- 16-31. nap: Aktuális nap egyenlege (befizetések figyelembe véve)
Példa:
–
Január 1-15.: December 31-i egyenleg – Januári előírás
–
Január 16-31.: Valós egyenleg az adott napon
4. Kamatlábak meghatározása
A rendszer févenként változtatja a kamatlábat:
-- 1. félév (január 1. - június 30.): január 1-jei jegybanki kamat + 8% -- 2. félév (július 1. - december 31.): július 1-jei jegybanki kamat + 8%
Részletes folyamatleírás
1. Előkészítő lépések
-- Táblák létrehozása, ha nem léteznek CREATE TABLE Napi_Toketartozas (...); CREATE TABLE Havi_Keses_Kamat (...);
2. Adattisztítás
-- Korábbi adatok törlése a megadott tartományból DELETE FROM Napi_Toketartozas WHERE AlbetetID BETWEEN @AlbetetID_Tol AND @AlbetetID_Ig AND Datum BETWEEN @DatumTol AND @DatumIg;
3. Fő számítási ciklus
WHILE @AktualisAlbetetID <= @AlbetetID_Ig BEGIN -- Minden albetétre külön-külön WHILE @AktualisNap <= @DatumIg BEGIN -- Minden napra külön számítás -- 1. Egyenleg lekérdezése -- 2. Kamatláb meghatározása -- 3. Napi kamat számítása -- 4. Adatok mentése END END
4. Havi összesítések készítése
INSERT INTO Havi_Keses_Kamat SELECT AlbetetID, YEAR(Datum), MONTH(Datum), SUM(NapiKamat), COUNT(*), AVG(ABS(NapiEgyenlegElotteElso15Nap)), AVG(EvesKamatlab) FROM Napi_Toketartozas GROUP BY AlbetetID, YEAR(Datum), MONTH(Datum);
Használati esetek
1. Napi lekérdezés egy albetétre
EXEC sp_NapiToketartozasFeltoltes @AlbetetID_Tol = 1001, @DatumTol = '2025-10-31', @DatumIg = '2025-10-31';
Eredmény:
| AlbetetID |
Datum |
NapiEgyenleg |
EvesKamatlab |
NapiKamatlab |
NapiKamat |
| 1001 |
2025-10-31 |
-75000 |
14.50 |
0.03973 |
29.80 |
2. Havi összesítés albetét csoportra
EXEC sp_NapiToketartozasFeltoltes @AlbetetID_Tol = 1001, @AlbetetID_Ig = 1050, @DatumTol = '2025-01-01', @DatumIg = '2025-10-31';
Havi eredmény:
| AlbetetID |
Év |
Hó |
HaviKesesKamat |
KamatosNapok |
AtlagosEgyenleg |
AtlagosKamatlab |
| 1001 |
2025 |
1 |
895.60 |
31 |
-68450.25 |
14.50 |
| 1001 |
2025 |
2 |
812.45 |
28 |
-65230.75 |
14.50 |
| 1001 |
2025 |
3 |
945.80 |
31 |
-71560.30 |
14.50 |
Előnyök és hatékonyság
⏱️
Időmegtakarítás
Manuális számítás: Órák/hetek
Automatizált: Másodpercek
🎯
Pontosság
Eliminálja az emberi hibákat
Konzisztens számítási módszer
🔄
Rugalmasság
Bármely dátum tartományra
Bármely albetét csoportra
Valós idejű kamatváltozások
📊
Jelentéskészítés
Napi és havi bontás
Részletes nyomkövetés
Auditálható eredmények
Gyakorlati tanácsok
1. Optimalizálás
-- Indexek létrehozása a gyorsabb lekérdezéshez CREATE INDEX IX_Albetet_Datum ON Napi_Toketartozas (AlbetetID, Datum); CREATE INDEX IX_Albetet_EvHo ON Havi_Keses_Kamat (AlbetetID, Ev, Ho);
2. Hibakezelés
BEGIN TRY -- Egyenleg lekérdezés EXEC sp_AlbetetEgyenlegKimutatas @AlbetetID, @Datum; END TRY BEGIN CATCH -- Hibás albetétek kezelése SET @Egyenleg = 0; END CATCH
3. Naplózás
PRINT 'Albetét feldolgozása: ' + CAST(@AlbetetID AS VARCHAR); PRINT 'Kamatláb: ' + CAST(@Kamatlab AS VARCHAR) + '%';
Következtetés
A késedelmi kamatok automatizált számítása nemcsak időt takarít meg, hanem növeli a számítások pontosságát és követhetőségét is. A bemutatott rendszer rugalmasan kezeli a különböző üzleti igényeket, miközben integrálódik a meglévő rendszerekbe.
A legnagyobb előny, hogy a felhasználóknak nem kell ismerniük a mögöttes számítási logikát – mindössze meg kell adniuk a paramétereket, és a rendszer elvégzi a többit. Ez lehetővé teszi, hogy akár nem szakemberek is könnyedén generálhassanak pontos kamatszámításokat.
Egy gombnyomás, és kész is a késedelmi kamat számítás!
Próbáld ki te is és éld át a hatékonyság növekedését!