changed config
This commit is contained in:
1 parent
6ed5057057
commit
fca43e8b81
4 files changed
+7
-20
No files matched your search
+1
-1
@@ -460,7 +460,7 @@ oracledb.exceptions.DatabaseError: DPY-4008: no bind placeholder named ":BANKCOD
|
|||||||
2026-03-07 21:35:48 - neft_inward_parser - INFO - Read 34 data rows using encoding utf-8-sig
|
2026-03-07 21:35:48 - neft_inward_parser - INFO - Read 34 data rows using encoding utf-8-sig
|
||||||
2026-03-07 21:35:48 - neft_inward_parser - INFO - Parsed 34 rows from /tmp/07032026_14_NEFT_INWARD.TXT
|
2026-03-07 21:35:48 - neft_inward_parser - INFO - Parsed 34 rows from /tmp/07032026_14_NEFT_INWARD.TXT
|
||||||
2026-03-07 21:35:48 - processors.data_mapper - INFO - Mapped 34 NEFT transactions for bank 0001
|
2026-03-07 21:35:48 - processors.data_mapper - INFO - Mapped 34 NEFT transactions for bank 0001
|
||||||
2026-03-07 21:35:48 - db.repository - INFO - [{'TXNIND': 'CR', 'BANKCODE': '0001', 'JRNL_ID': '000478050', 'REF_NO': 'WBSCN26065515434', 'TXN_DATE': '06032026', 'TXN_AMT': Decimal('100000'), 'SENDER_IFSC': 'WBSC0000005', 'RECIEVER_IFSC': 'IBKL0000263', 'SENDER_ACCT_NO': '00000101001350118', 'SENDER_ACCT_NAME': 'SAYO SAN CONSTRUCTION', 'REMITTER_DETAIL': 'SAYO SAN CONSTRUCTION KOLKATA', 'REMITTER_INFO': 'SAYO SAN CONSTRUCTION KOLKATA', 'RECVR_ACCT_NO': '0263104000095008', 'RECVR_ACCT_NAME': '/0263104000095008 SAYON GUPTA KOLKATA', 'STATUS': 'Processed', 'REJECT_CODE': '', 'REJECT_REASON': '', 'BENEF_ADDRESS': 'KOLKATA', 'MSG_TYPE': 'N06'}, {'TXNIND': 'CR', 'BANKCODE': '0001', 'JRNL_ID': '000473818', 'REF_NO': 'WBSCN26065515418', 'TXN_DATE': '06032026', 'TXN_AMT': Decimal('70080'), 'SENDER_IFSC': 'WBSC0000010', 'RECIEVER_IFSC': 'BKID0004221', 'SENDER_ACCT_NO': '00000080612930220', 'SENDER_ACCT_NAME': 'SUMAN ENGINEERING CO', 'REMITTER_DETAIL': 'SUMAN ENGINEERING CO KOLKATA', 'REMITTER_INFO': 'SUMAN ENGINEERING CO KOLKATA', 'RECVR_ACCT_NO': '422120110000431', 'RECVR_ACCT_NAME': '/422120110000431 SIGMA ENTERPRISE CHAKDAH', 'STATUS': 'Processed', 'REJECT_CODE': '', 'REJECT_REASON': '', 'BENEF_ADDRESS': 'CHAKDAH', 'MSG_TYPE': 'N06'}, {'TXNIND': 'CR', 'BANKCODE': '0001', 'JRNL_ID': '000474159', 'REF_NO': 'WBSCN26065515419', 'TXN_DATE': '06032026', 'TXN_AMT': Decimal('64800'), 'SENDER_IFSC': 'WBSC0000001', 'RECIEVER_IFSC': 'BKID0004012', 'SENDER_ACCT_NO': '00000101008518745', 'SENDER_ACCT_NAME': 'MANAGER S COLLECTION ACCOUNT', 'REMITTER_DETAIL': 'MANAGER S COLLECTION ACCOUNT THE WBSCB LTD KOLKATA MAIN BRANCH 24A WATERLOO STREET KOLKATA 700069', 'REMITTER_INFO': 'MANAGER S COLLECTION ACCOUNT THE WBSCB LTD KOLKATA MAIN BRANCH 24A WATERLOO STREET KOLKATA 700069', 'RECVR_ACCT_NO': '403220100345401', 'RECVR_ACCT_NAME': '/403220100345401 SBA ASSOCIATES 27 MIRZA GALIB STREET 5TH FLOOR KOLKATA 700016', 'STATUS': 'Processed', 'REJECT_CODE': '', 'REJECT_REASON': '', 'BENEF_ADDRESS': '27 MIRZA GALIB STREET 5TH FLOOR KOLKATA 700016', 'MSG_TYPE': 'N06'}, {'TXNIND': 'CR', 'BANKCODE': '0001', 'JRNL_ID': '000476587', 'REF_NO': 'WBSCN26065515429', 'TXN_DATE': '06032026', 'TXN_AMT': Decimal('50000'), 'SENDER_IFSC': 'WBSC0000028', 'RECIEVER_IFSC': 'SBIN0010541', 'SENDER_ACCT_NO': '00000129315132552', 'SENDER_ACCT_NAME': 'MAJUMDER ENTERPRISE', 'REMITTER_DETAIL': 'MAJUMDER ENTERPRISE BARRACKPORE', 'REMITTER_INFO': 'MAJUMDER ENTERPRISE BARRACKPORE', 'RECVR_ACCT_NO': '31316196926', 'RECVR_ACCT_NAME': '/31316196926 CHANDRATAN HALDER BIJOYGANJ BAZAR', 'STATUS': 'Processed', 'REJECT_CODE': '', 'REJECT_REASON': '', 'BENEF_ADDRESS': 'BIJOYGANJ BAZAR', 'MSG_TYPE': 'N06'}, {'TXNIND': 'CR', 'BANKCODE': '0001', 'JRNL_ID': '000469616', 'REF_NO': 'WBSCN26065515407', 'TXN_DATE': '06032026', 'TXN_AMT': Decimal('18013'), 'SENDER_IFSC': 'WBSC0000034', 'RECIEVER_IFSC': 'ICIC0000104', 'SENDER_ACCT_NO': '00000091560000174', 'SENDER_ACCT_NAME': 'WBSCBL', 'REMITTER_DETAIL': 'WBSCBL PANSHILA', 'REMITTER_INFO': 'WBSCBL PANSHILA', 'RECVR_ACCT_NO': 'WBB1521593517187', 'RECVR_ACCT_NAME': '/WBB1521593517187 COLLECTION ACCOUNT INTERIM WEST BENSODEPUR', 'STATUS': 'Processed', 'REJECT_CODE': '', 'REJECT_REASON': '', 'BENEF_ADDRESS': 'SODEPUR', 'MSG_TYPE': 'N06'}, {'TXNIND': 'CR', 'BANKCODE': '0001', 'JRNL_ID': '000473528', 'REF_NO': 'WBSCN26065515417', 'TXN_DATE': '06032026', 'TXN_AMT': Decimal('100000'), 'SENDER_IFSC': 'WBSC0000038', 'RECIEVER_IFSC': 'HDFC0000634', 'SENDER_ACCT_NO': '00000101011431406', 'SENDER_ACCT_NAME': 'MANJUSHREE ENTERPRISE', 'REMITTER_DETAIL': 'MANJUSHREE ENTERPRISE COOCHBEHAR', 'REMITTER_INFO': 'MANJUSHREE ENTERPRISE COOCHBEHAR', 'RECVR_ACCT_NO': '50200058619544', 'RECVR_ACCT_NAME': '/50200058619544 DVM EXPORTS FEROZE GANDHI MARKET', 'STATUS': 'Processed', 'REJECT_CODE': '', 'REJECT_REASON': '', 'BENEF_ADDRESS': 'FEROZE GANDHI MARKET', 'MSG_TYPE': 'N06'}, {'TXNIND': 'CR', 'BANKCODE': '0001', 'JRNL_ID': '000470642', 'REF_NO': 'WBSCN26065515411', 'TXN_DATE': '06032026', 'TXN_AMT': Decimal('100000'), 'SENDER_IFSC': 'WBSC0000019', 'RECIEVER_IFSC': 'IDIB000B580', 'SENDER_ACCT_NO': '00000129344052761', 'SENDER_ACCT_NAME': 'Mr SUBHASIS MANDAL', 'REMITTER_DETAIL': 'Mr SUBHASIS MANDAL KASHINAGAR', 'REMITTER_INFO': 'Mr SUBHASIS MANDAL KASHINAGAR', 'RECVR_ACCT_NO': '50454934770', 'RECVR_ACCT_NAME': '/50454934770 SUBHASIS MANDAL KASHINAGAR', 'STATUS': 'Processed', 'REJECT_CODE': '', 'REJECT_REASON': '', 'BENEF_ADDRESS': 'KASHINAGAR', 'MSG_TYPE': 'N06'}, {'TXNIND': 'CR', 'BANKCODE': '0001', 'JRNL_ID': '000468027', 'REF_NO': 'WBSCN26065515401', 'TXN_DATE': '06032026', 'TXN_AMT': Decimal('5991'), 'SENDER_IFSC': 'WBSC0000018', 'RECIEVER_IFSC': 'ICIC0000104', 'SENDER_ACCT_NO': '00000101013924411', 'SENDER_ACCT_NAME': 'MS UNITED CONTRUCTION', 'REMITTER_DETAIL': 'MS UNITED CONTRUCTION KAKDWIP', 'REMITTER_INFO': 'MS UNITED CONTRUCTION KAKDWIP', 'RECVR_ACCT_NO': 'WHBJ603260728212281382', 'RECVR_ACCT_NAME': '/WHBJ603260728212281382 WHBJ MUMBAI', 'STATUS': 'ProcesLine truncated
|
2026-03-07 21:35:48 - db.repository - INFO - [{'TXNIND': 'CR', 'BANKCODE': '0001', 'JRNL_ID': '000478050', 'REF_NO': 'WBSCN26065515434', 'TXN_DATE': '06032026', 'TXN_AMT': Decimal('100000'), 'SENDER_IFSC': 'WBSC0000005', 'RECIEVER_IFSC': 'IBKL0000263', 'SENDER_ACCT_NO': '00000101001350118', 'SENDER_ACCT_NAME': 'SAYO SAN CONSTRUCTION', 'REMITTER_DETAIL': 'SAYO SAN CONSTRUCTION KOLKATA', 'REMITTER_INFO': 'SAYO SAN CONSTRUCTION KOLKATA', 'RECVR_ACCT_NO': '0040026310095008', 'RECVR_ACCT_NAME': '/0263104000095008 SAYON GUPTA KOLKATA', 'STATUS': 'Processed', 'REJECT_CODE': '', 'REJECT_REASON': '', 'BENEF_ADDRESS': 'KOLKATA', 'MSG_TYPE': 'N06'}, {'TXNIND': 'CR', 'BANKCODE': '0001', 'JRNL_ID': '000473818', 'REF_NO': 'WBSCN26065515418', 'TXN_DATE': '06032026', 'TXN_AMT': Decimal('70080'), 'SENDER_IFSC': 'WBSC0000010', 'RECIEVER_IFSC': 'BKID0004221', 'SENDER_ACCT_NO': '00000080612930220', 'SENDER_ACCT_NAME': 'SUMAN ENGINEERING CO', 'REMITTER_DETAIL': 'SUMAN ENGINEERING CO KOLKATA', 'REMITTER_INFO': 'SUMAN ENGINEERING CO KOLKATA', 'RECVR_ACCT_NO': '422120110000431', 'RECVR_ACCT_NAME': '/422120110000431 SIGMA ENTERPRISE CHAKDAH', 'STATUS': 'Processed', 'REJECT_CODE': '', 'REJECT_REASON': '', 'BENEF_ADDRESS': 'CHAKDAH', 'MSG_TYPE': 'N06'}, {'TXNIND': 'CR', 'BANKCODE': '0001', 'JRNL_ID': '000474159', 'REF_NO': 'WBSCN26065515419', 'TXN_DATE': '06032026', 'TXN_AMT': Decimal('64800'), 'SENDER_IFSC': 'WBSC0000001', 'RECIEVER_IFSC': 'BKID0004012', 'SENDER_ACCT_NO': '00000101008518745', 'SENDER_ACCT_NAME': 'MANAGER S COLLECTION ACCOUNT', 'REMITTER_DETAIL': 'MANAGER S COLLECTION ACCOUNT THE WBSCB LTD KOLKATA MAIN BRANCH 24A WATERLOO STREET KOLKATA 700069', 'REMITTER_INFO': 'MANAGER S COLLECTION ACCOUNT THE WBSCB LTD KOLKATA MAIN BRANCH 24A WATERLOO STREET KOLKATA 700069', 'RECVR_ACCT_NO': '403220100345401', 'RECVR_ACCT_NAME': '/403220100345401 SBA ASSOCIATES 27 MIRZA GALIB STREET 5TH FLOOR KOLKATA 700016', 'STATUS': 'Processed', 'REJECT_CODE': '', 'REJECT_REASON': '', 'BENEF_ADDRESS': '27 MIRZA GALIB STREET 5TH FLOOR KOLKATA 700016', 'MSG_TYPE': 'N06'}, {'TXNIND': 'CR', 'BANKCODE': '0001', 'JRNL_ID': '000476587', 'REF_NO': 'WBSCN26065515429', 'TXN_DATE': '06032026', 'TXN_AMT': Decimal('50000'), 'SENDER_IFSC': 'WBSC0000028', 'RECIEVER_IFSC': 'SBIN0010541', 'SENDER_ACCT_NO': '00000129315132552', 'SENDER_ACCT_NAME': 'MAJUMDER ENTERPRISE', 'REMITTER_DETAIL': 'MAJUMDER ENTERPRISE BARRACKPORE', 'REMITTER_INFO': 'MAJUMDER ENTERPRISE BARRACKPORE', 'RECVR_ACCT_NO': '31316196926', 'RECVR_ACCT_NAME': '/31316196926 CHANDRATAN HALDER BIJOYGANJ BAZAR', 'STATUS': 'Processed', 'REJECT_CODE': '', 'REJECT_REASON': '', 'BENEF_ADDRESS': 'BIJOYGANJ BAZAR', 'MSG_TYPE': 'N06'}, {'TXNIND': 'CR', 'BANKCODE': '0001', 'JRNL_ID': '000469616', 'REF_NO': 'WBSCN26065515407', 'TXN_DATE': '06032026', 'TXN_AMT': Decimal('18013'), 'SENDER_IFSC': 'WBSC0000034', 'RECIEVER_IFSC': 'ICIC0000104', 'SENDER_ACCT_NO': '00000091560000174', 'SENDER_ACCT_NAME': 'WBSCBL', 'REMITTER_DETAIL': 'WBSCBL PANSHILA', 'REMITTER_INFO': 'WBSCBL PANSHILA', 'RECVR_ACCT_NO': 'WBB1521593517187', 'RECVR_ACCT_NAME': '/WBB1521593517187 COLLECTION ACCOUNT INTERIM WEST BENSODEPUR', 'STATUS': 'Processed', 'REJECT_CODE': '', 'REJECT_REASON': '', 'BENEF_ADDRESS': 'SODEPUR', 'MSG_TYPE': 'N06'}, {'TXNIND': 'CR', 'BANKCODE': '0001', 'JRNL_ID': '000473528', 'REF_NO': 'WBSCN26065515417', 'TXN_DATE': '06032026', 'TXN_AMT': Decimal('100000'), 'SENDER_IFSC': 'WBSC0000038', 'RECIEVER_IFSC': 'HDFC0000634', 'SENDER_ACCT_NO': '00000101011431406', 'SENDER_ACCT_NAME': 'MANJUSHREE ENTERPRISE', 'REMITTER_DETAIL': 'MANJUSHREE ENTERPRISE COOCHBEHAR', 'REMITTER_INFO': 'MANJUSHREE ENTERPRISE COOCHBEHAR', 'RECVR_ACCT_NO': '50200058619544', 'RECVR_ACCT_NAME': '/50200058619544 DVM EXPORTS FEROZE GANDHI MARKET', 'STATUS': 'Processed', 'REJECT_CODE': '', 'REJECT_REASON': '', 'BENEF_ADDRESS': 'FEROZE GANDHI MARKET', 'MSG_TYPE': 'N06'}, {'TXNIND': 'CR', 'BANKCODE': '0001', 'JRNL_ID': '000470642', 'REF_NO': 'WBSCN26065515411', 'TXN_DATE': '06032026', 'TXN_AMT': Decimal('100000'), 'SENDER_IFSC': 'WBSC0000019', 'RECIEVER_IFSC': 'IDIB000B580', 'SENDER_ACCT_NO': '00000129344052761', 'SENDER_ACCT_NAME': 'Mr SUBHASIS MANDAL', 'REMITTER_DETAIL': 'Mr SUBHASIS MANDAL KASHINAGAR', 'REMITTER_INFO': 'Mr SUBHASIS MANDAL KASHINAGAR', 'RECVR_ACCT_NO': '50454934770', 'RECVR_ACCT_NAME': '/50454934770 SUBHASIS MANDAL KASHINAGAR', 'STATUS': 'Processed', 'REJECT_CODE': '', 'REJECT_REASON': '', 'BENEF_ADDRESS': 'KASHINAGAR', 'MSG_TYPE': 'N06'}, {'TXNIND': 'CR', 'BANKCODE': '0001', 'JRNL_ID': '000468027', 'REF_NO': 'WBSCN26065515401', 'TXN_DATE': '06032026', 'TXN_AMT': Decimal('5991'), 'SENDER_IFSC': 'WBSC0000018', 'RECIEVER_IFSC': 'ICIC0000104', 'SENDER_ACCT_NO': '00000101013924411', 'SENDER_ACCT_NAME': 'MS UNITED CONTRUCTION', 'REMITTER_DETAIL': 'MS UNITED CONTRUCTION KAKDWIP', 'REMITTER_INFO': 'MS UNITED CONTRUCTION KAKDWIP', 'RECVR_ACCT_NO': 'WHBJ603260728212281382', 'RECVR_ACCT_NAME': '/WHBJ603260728212281382 WHBJ MUMBAI', 'STATUS': 'ProcesLine truncated
|
||||||
2026-03-07 21:35:48 - db.repository - INFO - Inserted 34 NEFT transactions into inward_neft_api_log
|
2026-03-07 21:35:48 - db.repository - INFO - Inserted 34 NEFT transactions into inward_neft_api_log
|
||||||
2026-03-07 21:35:48 - db.repository - INFO - Marked file as processed: 07032026_14_NEFT_INWARD.TXT
|
2026-03-07 21:35:48 - db.repository - INFO - Marked file as processed: 07032026_14_NEFT_INWARD.TXT
|
||||||
2026-03-07 21:35:48 - processors.file_processor - INFO - Successfully processed 07032026_14_NEFT_INWARD.TXT: 34 inserted
|
2026-03-07 21:35:48 - processors.file_processor - INFO - Successfully processed 07032026_14_NEFT_INWARD.TXT: 34 inserted
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ class NEFT_INWARD_Parser:
|
|||||||
rows, header = self._read_rows_with_fallback()
|
rows, header = self._read_rows_with_fallback()
|
||||||
header_map = self._prepare_header_map(header)
|
header_map = self._prepare_header_map(header)
|
||||||
|
|
||||||
# Basic file metadata similar to UIHParserΓÇÖs report_metadata
|
|
||||||
self.file_metadata = {
|
self.file_metadata = {
|
||||||
"source_file": os.path.basename(self.file_path),
|
"source_file": os.path.basename(self.file_path),
|
||||||
"columns_detected": header,
|
"columns_detected": header,
|
||||||
|
|||||||
@@ -62,23 +62,13 @@ class NEFTDataMapper:
|
|||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def process_status(status: str) -> str:
|
def process_status(status: str) -> str:
|
||||||
"""
|
|
||||||
Normalize status field.
|
|
||||||
|
|
||||||
- If contains 'processed' (case-insensitive) -> 'Processed'
|
|
||||||
- If equals 'PROS' (common NEFT code) -> 'Processed'
|
|
||||||
- If equals 'WAIT' -> 'Waiting'
|
|
||||||
- Else return original status (trimmed)
|
|
||||||
"""
|
|
||||||
try:
|
try:
|
||||||
if not status:
|
if not status:
|
||||||
return ''
|
return ''
|
||||||
s = status.strip()
|
s = status.strip()
|
||||||
sl = s.lower()
|
if s == 'PROS':
|
||||||
if 'processed' in sl or s.upper() == 'PROS':
|
|
||||||
return 'PROCESSED'
|
return 'PROCESSED'
|
||||||
if s.upper() == 'WAIT':
|
|
||||||
return 'Waiting'
|
|
||||||
return s
|
return s
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"Error processing status: {e}")
|
logger.error(f"Error processing status: {e}")
|
||||||
|
|||||||
+4
-7
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
"""
|
"""
|
||||||
ACH file processing scheduler.
|
NEFT file processing scheduler.
|
||||||
Runs polling loop every 30 minutes to process new files.
|
Runs polling loop every 30 minutes to process new files.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@@ -79,9 +79,6 @@ class Scheduler:
|
|||||||
# Get list of files already processed for this specific bank
|
# Get list of files already processed for this specific bank
|
||||||
bank_processed = repository.get_processed_files(bank_code)
|
bank_processed = repository.get_processed_files(bank_code)
|
||||||
remote_path = f"{self.config.sftp_base_path}/{bank_code}/NEFT"
|
remote_path = f"{self.config.sftp_base_path}/{bank_code}/NEFT"
|
||||||
# ach_files = sftp_client.list_files(remote_path, pattern=f'ACH_99944_{today_str}*.txt')
|
|
||||||
# uih_files = sftp_client.list_files(remote_path, pattern=f'UIH_99944_{today_str}*.txt')
|
|
||||||
# files= ach_files + uih_files
|
|
||||||
|
|
||||||
|
|
||||||
pattern = f"{today_str}_*_NEFT_INWARD.TXT"
|
pattern = f"{today_str}_*_NEFT_INWARD.TXT"
|
||||||
@@ -112,9 +109,9 @@ class Scheduler:
|
|||||||
logger.info(f" Successful: {stats['successful']}")
|
logger.info(f" Successful: {stats['successful']}")
|
||||||
logger.info(f" Failed: {stats['failed']}")
|
logger.info(f" Failed: {stats['failed']}")
|
||||||
|
|
||||||
# Call ach_api_txn_post procedure once per cycle to process all inserted transactions
|
# Call neft_api_txn_post procedure once per cycle to process all inserted transactions
|
||||||
if stats['successful'] > 0:
|
if stats['successful'] > 0:
|
||||||
logger.info("Calling ach_api_txn_post procedure for all inserted transactions...")
|
logger.info("Calling neft_api_txn_post procedure for all inserted transactions...")
|
||||||
if repository.call_neft_api_txn_post():
|
if repository.call_neft_api_txn_post():
|
||||||
logger.info("Transaction post-processing completed successfully")
|
logger.info("Transaction post-processing completed successfully")
|
||||||
else:
|
else:
|
||||||
@@ -129,7 +126,7 @@ class Scheduler:
|
|||||||
def run(self):
|
def run(self):
|
||||||
"""Run scheduler main loop."""
|
"""Run scheduler main loop."""
|
||||||
logger.info("="*80)
|
logger.info("="*80)
|
||||||
logger.info("ACH File Processing Scheduler Started")
|
logger.info("NEFT_INWARD File Processing Scheduler Started")
|
||||||
logger.info(f"Poll Interval: {self.config.poll_interval_minutes} minutes")
|
logger.info(f"Poll Interval: {self.config.poll_interval_minutes} minutes")
|
||||||
logger.info(f"Bank Codes: {', '.join(self.config.bank_codes)}")
|
logger.info(f"Bank Codes: {', '.join(self.config.bank_codes)}")
|
||||||
logger.info("="*80)
|
logger.info("="*80)
|
||||||
|
|||||||
Reference in new issue
Block a user