from typing import Any, Dict from core.document_processor.templates.base_template import DocumentTemplate class BankTemplate(DocumentTemplate): """客户收款单模板""" @property def template_name(self) -> str: return "bank" @property def description(self) -> str: return "银行流水识别模板" def get_hardcoded_guidance(self) -> Dict[str, Any]: """硬编码的字段指导信息(项目初期为空,验收后转移内容到这里)""" return { "field_guidance": { # 项目初期保持为空,验收后将template_config.json的内容转移到这里 # "cusname": ["可能的字段描述:付款人户名、付款方、转出方、付款人名称"], # "cusamt": ["金额字段可能包含:金额、收款金额、实收金额"], }, "additional_rules": "", # 硬编码的额外规则 } def output_schema(self) -> Dict[str, Any]: return { "counterpartyName": "对方名称位于第几列", "counterpartyAccount": "对方账号位于第几列", "summary": "如果同时存在'摘要'列和'备注/附言'列,则优先返回'备注/附言'列的列序号;如果只有'摘要'列,则返回'摘要'列的列序号位于第几列", "inamt": "收款金额位于第几列", "outamt": "付款金额位于第几列", "date": "交易日期位于第几列", "sn": "流水号位于第几列", "firstdatarow": "第一行数据位于第几行", "myaccountname": "我方账号", } def extraction_rules(self) -> str: return """ """