changed config

This commit is contained in:
bishwajeet.rajak committed 2026-03-12 12:16:19 +05:30
1 parent 6ed5057057
commit fca43e8b81
4 files changed
+7 -20

No files matched your search

+1 -1
View File
@@ -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
+1 -1
View File
@@ -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,
+1 -11
View File
@@ -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
View File
@@ -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)