production-evyos-systems-an.../ServicesBank/Finder/Payment/README.md

92 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Docs of Finder
Finds people, living spaces, companies from AccountRecords
start_time = perf_counter()
end_time = perf_counter()
elapsed = end_time - start_time
print(f'{elapsed:.3f} : seconds')
print('shallow_copy_list', len(shallow_copy_list))
texts = [
"D 1 MÜBERRA BALTACI ŞUBAT 2016 O 4245N6000892 MÜBERRA BALTAC",
"BERAT VARNALI-GÜNEŞ APT NO-6 ŞUBAT 2016 ÖDEMESİ",
"BERAT VARNALI-GÜNEŞ APT NO-6 NİSAN 2016 ÖDEMESİ",
"GÖNÜL ARISOY- AİDAT*GÖNÜL ARISOY*H2406115923882",
"GÜLSER MAY - 8 NOLU DAIRENIN MAYIS 2016 ONARIM BEDELI",
"İREM YÜKSEKOL 12 NOLU DAİRE ARALIK AİDAT VE TAMİRAT PARASI",
"İREM YÜKSEKOL 12 NOLU DAİRE EKİM AİDAT VE TAMİRAT PARASI",
"GÜÇLÜ FATİH ERGÜN FATİH ERGÜN GÜÇLÜ D7 AİDAT",
"KASIM ARALIK 2015 OCAK 2016 TADILAT YUSUF EDEPLI DAIRE 10",
"muberra baltacı daıre 1 yakıt bedelı*MÜBERRA BALTACI*H2406175186422",
"YEŞİM ŞİMŞEK 5 NOLU DAİRE HAMDİYE AKAGÜNDÜZ",
"* HESAP İŞLETİM MASRAFI İADE (BTÇG) * 4245/ 76099902*MUH.HESA",
"4245 0500749 numarali hesap kapama",
"İREM YÜKSEKOL 12 NOLU DAİRE OCAK AİDAT VE TAMİRAT PARASI",
"GÜÇLÜ FATİH ERGÜN FATİH ERGÜN GÜÇLÜ D7 AİDAT",
"MUSTAFA EDEPLİ NO:11 MART AİDATI +20 TL ESKİ BORÇ *ALİ İHSAN EDEPLİ *4245X10Ç42",
"muberra baltaci daire 1 yakit bedeli*MUBERRA BALTACI*H2502245307227",
"OSMAN KILINÇ*0111*OSMAN KILINÇ - AİDAT - SUBAT*2238807",
"GÖNÜL ARISOY GÖNÜL ARISOY TARAFINDAN AKTA",
"AIDAT BEDELI*MEHMET KARATAY*H2504537864455",
"ELİFCAN DEMİRTAŞ*0062*CEP-EFTEMRİ-DAİRE 8 . AİDAT ÖDEMESİ*0130484",
"BALTACI MÜBERRA MÜBERRA BALTACI D:1YAKIT BED",
"SEZEN KONUR GÜNEŞ APARTMAN AİDATI 12 NUMARA",
"MEHMET KARATAY - HESABA AKTARILAN OCAK-SUBAT 2017 AIDAT",
"Osman Kilinc*0111*osman kilinc - 2024 - ekim*8614131*FAST",
"GÖNÜL ARISOY GÖNÜL ARISOY TARAFINDAN AKTA",
"GÖNÜL ARISOY GÖNÜL ARISOY TARAFINDAN AKTA",
"BALTACI MÜBERRA MÜBERRA BALTACI D:1YAKIT BED",
"SONGÜL VAR-2NOLU DAİRE KASIM 2015 ÖDEME",
"GÖNÜL ARISOY (9 NUMARA AİDAT)*GÖNÜL ARISOY*H2211022448099",
"BALTACI MÜBERRA MÜBERRA BALTACI D:1YAKIT BED",
"GÜÇLÜ FATİH ERGÜN FATİH ERGÜN GÜÇLÜ D7 AİDAT",
"2 nolu daire - TEMMUZ Ç4 TADİLAT*SONGÜL VAR*H2408373383590",
"GÜÇLÜ FATİH ERGÜN FATİH ERGÜN GÜÇLÜ D7 AİDAT",
"ELİFCAN DEMİRTAŞ*0062*ARALIK AYI AİDAT DAİRE 8*443Ç00*FAST",
"GÜÇLÜ FATİH ERGÜN FATİH ERGÜN GÜÇLÜ D7 AİDAT",
"ERİNÇ KARATAŞ 9 NOLU DAİRE AĞUSTOS AYI 15 GÜNLÜK AİDATI",
"HASAN CİHAN ŞENKÜÇÜK*0046*AİDAT*1690685*FAST",
"DAMLA GÖRMEZOĞLU*0099*6 nolu daire Kemal bey dava Ekim Kasım*2242091694*FAST",
"Müberra Baltacı Daire 1 Yakıt bedli*MÜBERRA BALTACI*H2107153811822",
"Osman Kılınç*0111*osman kılınç - aidat - Ç1- nisan*Ş12506*FAST",
"mübarra baltacı 1 nolu daire yakıt farkı şubat ayı dahil*MÜBERRA BALTACI*H210Ç5745006",
"ELİFCAN DEMİRTAŞ*0062*CEP-EFTEMRİ-DAİRE 8 EYLUL Ç0 AİDAT*0520317"
]
"""
"""
1. Stage (Incoming Money)
# BuildDecisionBookPayments are reverse records of AccountRecords
AccountRecords.approved_record == True
AccountRecords.living_space_id is not None
# AccountRecords.receive_debit = Credit Receiver (Incoming money from client) / Debit Sender (Debt to be paid by system)
1.1
AccountRecords.currency_value > 0 Received Money Transaction +
AccountRecords.currency_value > AccountRecords.remainder_balance () You have extra money in system account
Money consumed => AccountRecords.currency_value != abs(AccountRecords.remainder_balance) singluar iban
Some payment done but money not yet all money is consumed => AccountRecords.currency_value + AccountRecords.remainder_balance != 0
AccountRecords.currency_value = AccountRecords.remainder_balance (There is no money that individual has in system)
AccountRecords.bank_date (Date money arrived)
AccountRecords.process_type (Type of bank transaction)
1.2
AccountRecords.currency_value < 0 Sent Money Transaction -
2. Stage (Payment Match Process)
Parse : BuildDecisionBookPayments.process_date (Year / Month / Day / Time)
BuildDecisionBookPayments.account_records_id == None ( Payment is not assigned to any account record)
BuildDecisionBookPayments.payment_types_id == debit_enum.id (Payment type is debit)
2.1 Check current month has any payment to due Payment Month == Money Arrived Month
2.2 Check previous months has any payment to due Payment Month < Money Arrived Month
3. Stage (Payment Assignment Process)
Do payment set left money to account record as AccountRecords.remainder_balance