| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- 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 """
- """
|