c18d2bad by 周伟奇

add FSM ocr result

1 parent cd2068d7
......@@ -1541,6 +1541,9 @@ SE_AFC_CON_MAP = {
'还款账号': (2, 2, '还款账户', '账号'),
'户名': (2, 2, '还款账户', '户名'),
'开户行': (2, 2, '还款账户', '开户行'),
'收款账号': (2, 2, '借款人收款账户', '账号'),
'收款户名': (2, 2, '借款人收款账户', '户名'),
'收款开户行': (2, 2, '借款人收款账户', '开户行'),
'借款人签字及时间': (1, 1, '借款人签字及时间', None),
......@@ -1580,9 +1583,12 @@ SE_HIL_CON_1_MAP = {
'融资成本总额': (5, 4, 7, '融资成本总额', None),
'租期': (5, 4, 7, '租期', None),
'还款计划表': (5, 5, 7, '付款计划表', None),
'还款账号': (5, 5, 7, '银行账户-银行账号', None),
'户名': (5, 5, 7, '银行账户-户名', None),
'开户行': (5, 5, 7, '银行账户-开户行', None),
'还款账号': (5, 6, 7, '银行账户-银行账号', None),
'户名': (5, 6, 7, '银行账户-户名', None),
'开户行': (5, 6, 7, '银行账户-开户行', None),
'收款账号': (5, 5, 7, '收款银行账户-银行账号', None),
'收款户名': (5, 5, 7, '收款银行账户-户名', None),
'收款开户行': (5, 5, 7, '收款银行账户-开户行', None),
'ASP项目详情': (5, 4, 7, '车辆附加产品明细表', None),
'承租人法定代表人或授权代表': (1, 1, 7, '承租人-法定代表人或授权代表', None),
'共同承租人法定代表人或授权代表': (1, 1, 7, '共同承租人-法定代表人或授权代表', None),
......@@ -1638,6 +1644,39 @@ SE_HIL_CON_MAP = {
HIL_CONTRACT_3_CLASSIFY: SE_HIL_CON_3_MAP,
}
SE_FSM_WEP_MAP = {
'客户姓名': (1, '客户姓名'),
'证件类型': (1, '证件类型'),
'证件号码': (1, '证件号码'),
'合同价格(小写)': (1, '合同价格(小写)'),
'客户签名': (1, '客户签名'),
'签单日期': (1, '签单日期'),
}
SE_FSM_MSI_MAP = {
'客户姓名': (1, '客户姓名'),
'证件类型': (1, '证件类型'),
'证件号码': (1, '证件号码'),
'合同价格(小写)': (1, '合同价格(小写)'),
'客户签名': (2, '客户签名'),
'签单日期': (2, '签单日期'),
}
SE_FSM_SC_MAP = {
'姓名': (1, '姓名'),
'证件类型': (1, '证件类型'),
'证件号码': (1, '证件号码'),
'总价': (1, '总价'),
'客户签名': (12, '客户签名'),
'签单日期': (12, '签单日期'),
}
SE_FSM_CON_MAP = {
FSM_CONTRACT_WEP_CLASSIFY: SE_FSM_WEP_MAP,
FSM_CONTRACT_MSI_CLASSIFY: SE_FSM_MSI_MAP,
FSM_CONTRACT_SC_CLASSIFY: SE_FSM_SC_MAP,
}
SE_AFC_CON_QRS_FIELD = ['合同编号']
SE_AFC_CON_FIELD = ['合同编号-每页', '所购车辆价格-小写-重要条款', '车架号-重要条款', '贷款本金金额-重要条款', '贷款期限-重要条款',
'车辆贷款本金金额-重要条款', '附加产品融资贷款本金总额-重要条款', '所购车辆价格', '车架号', '经销商',
......
......@@ -998,7 +998,7 @@ class Command(BaseCommand, LoggerMixin):
res.setdefault(consts.ALL_POSITION_KEY, dict())[key] = page_info_dict.get(str(pno), {}).get(
consts.ALL_POSITION_KEY, {}).get(key1, [])
license_summary[classify] = [res]
elif classify in consts.SE_HIL_CON_MAP: # TODO FSM新合同写入数据库用于比对
elif classify in consts.SE_HIL_CON_MAP:
res = {}
for key, (pno1, pno2, end_idx, key1, key2) in consts.SE_HIL_CON_MAP[classify].items():
if pno1 is None:
......@@ -1022,7 +1022,14 @@ class Command(BaseCommand, LoggerMixin):
res[key] = tmp_res
res.setdefault(consts.IMG_PATH_KEY, dict())[key] = page_info_dict.get(str(img_pno), {}).get(
consts.IMG_PATH_KEY, '')
license_summary[classify] = [res]
elif classify in consts.SE_FSM_CON_MAP:
res = {}
for key, (pno1, key1) in consts.SE_FSM_CON_MAP[classify].items():
res[key] = page_info_dict.get(str(pno1), {}).get(key1)
res.setdefault(consts.IMG_PATH_KEY, dict())[key] = page_info_dict.get(str(img_pno), {}).get(
consts.IMG_PATH_KEY, '')
license_summary[classify] = [res]
def rebuild_bs_summary(self, bs_summary, unknown_summary):
......
......@@ -329,6 +329,9 @@ class AFCOCRResult(models.Model):
hil_contract_2_ocr = models.TextField(null=True, verbose_name="HIL合同2")
hil_contract_3_ocr = models.TextField(null=True, verbose_name="HIL合同3")
qrs_ocr = models.TextField(null=True, verbose_name="AFC合同确认书")
fsm_wep_ocr = models.TextField(null=True, verbose_name="FSM-WEP")
fsm_msi_ocr = models.TextField(null=True, verbose_name="FSM-MSI")
fsm_sc_ocr = models.TextField(null=True, verbose_name="FSM-SC")
update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间')
create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
......@@ -365,6 +368,9 @@ class HILOCRResult(models.Model):
hil_contract_2_ocr = models.TextField(null=True, verbose_name="HIL合同2")
hil_contract_3_ocr = models.TextField(null=True, verbose_name="HIL合同3")
qrs_ocr = models.TextField(null=True, verbose_name="AFC合同确认书")
fsm_wep_ocr = models.TextField(null=True, verbose_name="FSM-WEP")
fsm_msi_ocr = models.TextField(null=True, verbose_name="FSM-MSI")
fsm_sc_ocr = models.TextField(null=True, verbose_name="FSM-SC")
update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间')
create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
......@@ -400,6 +406,9 @@ class AFCSEOCRResult(models.Model):
hil_contract_2_ocr = models.TextField(null=True, verbose_name="HIL合同2")
hil_contract_3_ocr = models.TextField(null=True, verbose_name="HIL合同3")
qrs_ocr = models.TextField(null=True, verbose_name="AFC合同确认书")
fsm_wep_ocr = models.TextField(null=True, verbose_name="FSM-WEP")
fsm_msi_ocr = models.TextField(null=True, verbose_name="FSM-MSI")
fsm_sc_ocr = models.TextField(null=True, verbose_name="FSM-SC")
update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间')
create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
......@@ -436,6 +445,9 @@ class HILSEOCRResult(models.Model):
hil_contract_2_ocr = models.TextField(null=True, verbose_name="HIL合同2")
hil_contract_3_ocr = models.TextField(null=True, verbose_name="HIL合同3")
qrs_ocr = models.TextField(null=True, verbose_name="AFC合同确认书")
fsm_wep_ocr = models.TextField(null=True, verbose_name="FSM-WEP")
fsm_msi_ocr = models.TextField(null=True, verbose_name="FSM-MSI")
fsm_sc_ocr = models.TextField(null=True, verbose_name="FSM-SC")
update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间')
create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
......
......@@ -56,12 +56,12 @@ class Finder:
"融资成本总额": self.item,
"租期": self.item,
"付款计划表": self.item,
"承租人收款账户-户名": self.item,
"承租人收款账户-银行账号": self.item,
"承租人收款账户-开户行": self.item,
"承租人扣款账户-户名": self.item,
"承租人扣款账户-银行账号": self.item,
"承租人扣款账户-开户行": self.item,
"收款银行账户-户名": self.item,
"收款银行账户-银行账号": self.item,
"收款银行账户-开户行": self.item,
"银行账户-户名": self.item,
"银行账户-银行账号": self.item,
"银行账户-开户行": self.item,
"签字页-承租人姓名": self.item,
"签字页-承租人签章": self.item,
......@@ -1260,18 +1260,18 @@ class Finder:
self.init_result['付款计划表'] = repayment_schedule
# 找承租人收款账户户名、银行账号、银行
name = self.get_key_value(key='户名:', page_num='4')
self.init_result['承租人收款账户-户名'] = name
self.init_result['收款银行账户-户名'] = name
account = self.get_key_value(key='银行账号:', page_num='4')
self.init_result['承租人收款账户-银行账号'] = account
self.init_result['收款银行账户-银行账号'] = account
bank = self.get_key_value(key='开户银行:', page_num='4')
self.init_result['承租人收款账户-开户行'] = bank
# 找承租人扣款账户户名、银行账号、银行
name = self.get_key_value(key='户名:', page_num='5')
self.init_result['承租人扣款账户-户名'] = name
self.init_result['银行账户-户名'] = name
account = self.get_key_value(key='银行账号:', page_num='5')
self.init_result['承租人扣款账户-银行账号'] = account
self.init_result['银行账户-银行账号'] = account
bank = self.get_key_value(key='开户银行:', page_num='5')
self.init_result['承租人扣款账户-开户行'] = bank
self.init_result['银行账户-开户行'] = bank
# 找签字页上的系列信息
# 承租人姓名、签章
......
import pyodbc
hil_sql = """
ALTER TABLE hil_ocr_result ADD fsm_wep_ocr nvarchar(max);
ALTER TABLE hil_ocr_result ADD fsm_msi_ocr nvarchar(max);
ALTER TABLE hil_ocr_result ADD fsm_sc_ocr nvarchar(max);
ALTER TABLE hil_se_ocr_result ADD fsm_wep_ocr nvarchar(max);
ALTER TABLE hil_se_ocr_result ADD fsm_msi_ocr nvarchar(max);
ALTER TABLE hil_se_ocr_result ADD fsm_sc_ocr nvarchar(max);
"""
afc_sql = """
ALTER TABLE afc_ocr_result ADD fsm_wep_ocr nvarchar(max);
ALTER TABLE afc_ocr_result ADD fsm_msi_ocr nvarchar(max);
ALTER TABLE afc_ocr_result ADD fsm_sc_ocr nvarchar(max);
ALTER TABLE afc_se_ocr_result ADD fsm_wep_ocr nvarchar(max);
ALTER TABLE afc_se_ocr_result ADD fsm_msi_ocr nvarchar(max);
ALTER TABLE afc_se_ocr_result ADD fsm_sc_ocr nvarchar(max);
"""
hil_cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};', autocommit=True)
hil_cursor = hil_cnxn.cursor()
hil_cursor.execute(hil_sql)
hil_cursor.close()
hil_cnxn.close()
afc_cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};', autocommit=True)
afc_cursor = afc_cnxn.cursor()
afc_cursor.execute(afc_sql)
afc_cursor.close()
afc_cnxn.close()
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!