8eb3eae2 by 冯轩

Merge branch 'feature/CHINARPA-5075'

2 parents e9f31776 df025c2d
...@@ -1250,6 +1250,7 @@ FSM_CONTRACT_SC_FIELD = 'fsm_sc_ocr' ...@@ -1250,6 +1250,7 @@ FSM_CONTRACT_SC_FIELD = 'fsm_sc_ocr'
1250 FSM_CONTRACT_SC2_FIELD = 'fsm_sc2_ocr' 1250 FSM_CONTRACT_SC2_FIELD = 'fsm_sc2_ocr'
1251 FS_FIELD = 'fs_ocr' 1251 FS_FIELD = 'fs_ocr'
1252 FSS_FIELD = 'fss_ocr' 1252 FSS_FIELD = 'fss_ocr'
1253 DP_FIELD = 'dp_ocr'
1253 1254
1254 1255
1255 BS_CLASSIFY = 10089 1256 BS_CLASSIFY = 10089
...@@ -1308,6 +1309,7 @@ COMPARE_FIELDS = ( ...@@ -1308,6 +1309,7 @@ COMPARE_FIELDS = (
1308 HIL_CONTRACT_3_FIELD, 1309 HIL_CONTRACT_3_FIELD,
1309 FS_FIELD, 1310 FS_FIELD,
1310 FSS_FIELD, 1311 FSS_FIELD,
1312 DP_FIELD,
1311 ) 1313 )
1312 1314
1313 PRE_COMPARE_FIELDS = ( 1315 PRE_COMPARE_FIELDS = (
...@@ -1511,6 +1513,7 @@ JYPZ_TYPE_1 = ['二手车交易凭证'] ...@@ -1511,6 +1513,7 @@ JYPZ_TYPE_1 = ['二手车交易凭证']
1511 JYPZ_TYPE_2 = ['BMW官方认证二手车交易凭证', '二手车交易凭证'] 1513 JYPZ_TYPE_2 = ['BMW官方认证二手车交易凭证', '二手车交易凭证']
1512 SE_FS_FIELD = ['Hash值', '公章', '财年', '资产负债表内容', '利润表内容'] 1514 SE_FS_FIELD = ['Hash值', '公章', '财年', '资产负债表内容', '利润表内容']
1513 SE_FSS_FIELD = ['公司名称', '公章'] 1515 SE_FSS_FIELD = ['公司名称', '公章']
1516 SE_DP_FIELD = ['渠道', '姓名', '证件号码', '合同编号(含版本号)', '承诺人签字-电子', '承诺人签字日期-电子']
1514 1517
1515 SE_BANK_FIELD = ['accountNo', 'bankName'] 1518 SE_BANK_FIELD = ['accountNo', 'bankName']
1516 SE_DDA_FIELD = ['applicationId(1)', 'applicationId(2)', 'bankName', 'companyName', 'customerName', 'idNum', 'accountHolderName', 'accountNo'] 1519 SE_DDA_FIELD = ['applicationId(1)', 'applicationId(2)', 'bankName', 'companyName', 'customerName', 'idNum', 'accountHolderName', 'accountNo']
...@@ -1826,6 +1829,7 @@ HIL_CONTRACT_2_EN = '车辆租赁抵押合同' ...@@ -1826,6 +1829,7 @@ HIL_CONTRACT_2_EN = '车辆租赁抵押合同'
1826 HIL_CONTRACT_3_EN = '车辆处置协议' 1829 HIL_CONTRACT_3_EN = '车辆处置协议'
1827 FS_EN = 'Financial Statement' 1830 FS_EN = 'Financial Statement'
1828 FSS_EN = 'Financial Statement Supplementary' 1831 FSS_EN = 'Financial Statement Supplementary'
1832 DP_EN = 'Down Payment'
1829 1833
1830 DDA_NO_FIND = '需人工查看DDA或截图' 1834 DDA_NO_FIND = '需人工查看DDA或截图'
1831 FS_NO_FIND = '未提供财报或财报不完整' 1835 FS_NO_FIND = '未提供财报或财报不完整'
...@@ -2185,6 +2189,15 @@ FSS_COMPARE_LOGIC = { ...@@ -2185,6 +2189,15 @@ FSS_COMPARE_LOGIC = {
2185 '公章': ('stamp', 'stamp_str_compare', {}, '财报情况说明无公章'), 2189 '公章': ('stamp', 'stamp_str_compare', {}, '财报情况说明无公章'),
2186 } 2190 }
2187 2191
2192 DP_COMPARE_LOGIC = {
2193 '渠道': ('financial_org_name', 'se_common_compare', {'remove_space': True}, '首付款支付承诺书渠道错误'),
2194 '姓名': ('main_borrower_name', 'se_common_compare', {'remove_space': True}, '首付款支付承诺书姓名与系统不一致'),
2195 '证件号码': ('main_borrower_id_no', 'se_common_compare', {'remove_space': True}, '首付款支付承诺书证件号码与系统不一致'),
2196 '合同编号(含版本号)': ('apply_no', 'se_common_compare', {'remove_space': True}, '首付款支付承诺书合同编号与系统不一致'),
2197 '承诺人签字-电子': ('promisor_signature', 'se_common_compare', {'remove_all_space': True}, '首付款支付承诺书承诺人签字与系统不一致'),
2198 '承诺人签字日期-电子': ('promisor_signature_date', 'se_have_compare', {}, 'N-首付款支付承诺书缺少签字日期'),
2199 }
2200
2188 AFC_HT_DATE_FIELDS = ['主借人日期', '共借人日期', '保证人日期1', '保证人日期2'] 2201 AFC_HT_DATE_FIELDS = ['主借人日期', '共借人日期', '保证人日期1', '保证人日期2']
2189 2202
2190 # MVC_OCR_FIELD = 'mvc_ocr' 2203 # MVC_OCR_FIELD = 'mvc_ocr'
...@@ -2215,6 +2228,7 @@ SE_COMPARE_FIELD = { ...@@ -2215,6 +2228,7 @@ SE_COMPARE_FIELD = {
2215 HIL_CONTRACT_3_EN: (HIL_CONTRACT_3_FIELD, HIL_CONTRACT_3_COMPARE_LOGIC, False), 2228 HIL_CONTRACT_3_EN: (HIL_CONTRACT_3_FIELD, HIL_CONTRACT_3_COMPARE_LOGIC, False),
2216 FS_EN: (FS_FIELD, FS_COMPARE_LOGIC, False), 2229 FS_EN: (FS_FIELD, FS_COMPARE_LOGIC, False),
2217 FSS_EN: (FSS_FIELD, FSS_COMPARE_LOGIC, False), 2230 FSS_EN: (FSS_FIELD, FSS_COMPARE_LOGIC, False),
2231 DP_EN: (DP_FIELD, DP_COMPARE_LOGIC, False),
2218 } 2232 }
2219 2233
2220 SE_COMPARE_FIELD_AUTO = { 2234 SE_COMPARE_FIELD_AUTO = {
......
...@@ -944,6 +944,7 @@ def get_se_cms_compare_info_auto(application_id, last_obj, application_entity, d ...@@ -944,6 +944,7 @@ def get_se_cms_compare_info_auto(application_id, last_obj, application_entity, d
944 is_bo_corporate = False 944 is_bo_corporate = False
945 role_count = 0 945 role_count = 0
946 borrower_name = '' 946 borrower_name = ''
947 borrower_idnum = ''
947 legal_name = '' 948 legal_name = ''
948 # province = cms_info.get('province', '') 949 # province = cms_info.get('province', '')
949 for individual_info in cms_info.get('applicantInformation', []): 950 for individual_info in cms_info.get('applicantInformation', []):
...@@ -971,8 +972,14 @@ def get_se_cms_compare_info_auto(application_id, last_obj, application_entity, d ...@@ -971,8 +972,14 @@ def get_se_cms_compare_info_auto(application_id, last_obj, application_entity, d
971 is_bo_corporate = True 972 is_bo_corporate = True
972 973
973 # CHINARPA-4660 财报主借人姓名赋值 974 # CHINARPA-4660 财报主借人姓名赋值
975 # CHINARPA-5075 首付款承诺书主借人证件号赋值
974 if individual_info['applicantType'] == consts.APPLICANT_TYPE_ORDER[0]: 976 if individual_info['applicantType'] == consts.APPLICANT_TYPE_ORDER[0]:
975 borrower_name = customer_name 977 borrower_name = customer_name
978 for id_info in individual_info.get('IDInformation', []):
979 if id_info.get('idType') in consts.SE_CMS_FIRST_ID_FIELD_MAPPING:
980 borrower_idnum = decode_des(id_info.get('idNum', ''), des_key)
981 elif is_corporate and id_info.get('idType') in ['Unified Social Credit Code', 'Tax Number', 'Business License Number']:
982 borrower_idnum = decode_des(id_info.get('idNum', ''), des_key)
976 983
977 for id_info in individual_info.get('IDInformation', []): 984 for id_info in individual_info.get('IDInformation', []):
978 if id_info.get('idType') in consts.SE_CMS_FIRST_ID_FIELD_MAPPING: 985 if id_info.get('idType') in consts.SE_CMS_FIRST_ID_FIELD_MAPPING:
...@@ -1577,6 +1584,20 @@ def get_se_cms_compare_info_auto(application_id, last_obj, application_entity, d ...@@ -1577,6 +1584,20 @@ def get_se_cms_compare_info_auto(application_id, last_obj, application_entity, d
1577 contract_info[consts.AFC_CONTRACT_QRS_EN] = afc_contract_qrs_input 1584 contract_info[consts.AFC_CONTRACT_QRS_EN] = afc_contract_qrs_input
1578 1585
1579 compare_info['contract'] = contract_info 1586 compare_info['contract'] = contract_info
1587
1588 # 首付款承诺书
1589 down_payment_info = {}
1590 down_payment_input = []
1591 totalDownPayment = str(cms_info.get('financialInformation', {}).get('totalDownPayment'))
1592 if totalDownPayment and totalDownPayment != '0.00':
1593 down_payment_input.append((consts.SE_DP_FIELD[0], cms_info.get('financeCompany', '')))
1594 down_payment_input.append((consts.SE_DP_FIELD[1], borrower_name))
1595 down_payment_input.append((consts.SE_DP_FIELD[2], borrower_idnum))
1596 down_payment_input.append((consts.SE_DP_FIELD[3], cms_info.get('settlemnetVerification', {}).get('applicationNo', '')))
1597 down_payment_input.append((consts.SE_DP_FIELD[4], legal_name if is_bo_corporate else borrower_name ))
1598 down_payment_input.append((consts.SE_DP_FIELD[5], '有/无'))
1599 down_payment_info[consts.DP_EN] = down_payment_input
1600 compare_info['downPayment'] = down_payment_info
1580 return compare_info, cms_info.get('autoApprovedDetails', {}).get('aaType', ''), is_gsyh, allow_bs_type 1601 return compare_info, cms_info.get('autoApprovedDetails', {}).get('aaType', ''), is_gsyh, allow_bs_type
1581 1602
1582 1603
...@@ -1614,6 +1635,7 @@ def get_se_cms_compare_info(application_id, last_obj, application_entity, detect ...@@ -1614,6 +1635,7 @@ def get_se_cms_compare_info(application_id, last_obj, application_entity, detect
1614 is_bo_corporate = False 1635 is_bo_corporate = False
1615 role_count = 0 1636 role_count = 0
1616 borrower_name = '' 1637 borrower_name = ''
1638 borrower_idnum = ''
1617 legal_name = '' 1639 legal_name = ''
1618 # province = cms_info.get('province', '') 1640 # province = cms_info.get('province', '')
1619 for individual_info in cms_info.get('applicantInformation', []): 1641 for individual_info in cms_info.get('applicantInformation', []):
...@@ -1640,9 +1662,15 @@ def get_se_cms_compare_info(application_id, last_obj, application_entity, detect ...@@ -1640,9 +1662,15 @@ def get_se_cms_compare_info(application_id, last_obj, application_entity, detect
1640 if individual_info['applicantType'] == consts.APPLICANT_TYPE_ORDER[0] and is_corporate: 1662 if individual_info['applicantType'] == consts.APPLICANT_TYPE_ORDER[0] and is_corporate:
1641 is_bo_corporate = True 1663 is_bo_corporate = True
1642 1664
1643 # CHINARPA-4660 财报主借人姓名赋值 1665 # CHINARPA-4660 财报主借人姓名赋值
1666 # CHINARPA-5075 首付款承诺书主借人证件号赋值
1644 if individual_info['applicantType'] == consts.APPLICANT_TYPE_ORDER[0]: 1667 if individual_info['applicantType'] == consts.APPLICANT_TYPE_ORDER[0]:
1645 borrower_name = customer_name 1668 borrower_name = customer_name
1669 for id_info in individual_info.get('IDInformation', []):
1670 if id_info.get('idType') in consts.SE_CMS_FIRST_ID_FIELD_MAPPING:
1671 borrower_idnum = decode_des(id_info.get('idNum', ''), des_key)
1672 elif is_corporate and id_info.get('idType') in ['Unified Social Credit Code', 'Tax Number', 'Business License Number']:
1673 borrower_idnum = decode_des(id_info.get('idNum', ''), des_key)
1646 1674
1647 for id_info in individual_info.get('IDInformation', []): 1675 for id_info in individual_info.get('IDInformation', []):
1648 if id_info.get('idType') in consts.SE_CMS_FIRST_ID_FIELD_MAPPING: 1676 if id_info.get('idType') in consts.SE_CMS_FIRST_ID_FIELD_MAPPING:
...@@ -2212,6 +2240,20 @@ def get_se_cms_compare_info(application_id, last_obj, application_entity, detect ...@@ -2212,6 +2240,20 @@ def get_se_cms_compare_info(application_id, last_obj, application_entity, detect
2212 afc_contract_qrs_input = [(consts.SE_AFC_CON_QRS_FIELD[0], '{0}{1}{2}'.format(role_count, consts.SPLIT_STR, full_no))] 2240 afc_contract_qrs_input = [(consts.SE_AFC_CON_QRS_FIELD[0], '{0}{1}{2}'.format(role_count, consts.SPLIT_STR, full_no))]
2213 contract_info[consts.AFC_CONTRACT_QRS_EN] = afc_contract_qrs_input 2241 contract_info[consts.AFC_CONTRACT_QRS_EN] = afc_contract_qrs_input
2214 compare_info['contract'] = contract_info 2242 compare_info['contract'] = contract_info
2243
2244 # 首付款承诺书
2245 down_payment_info = {}
2246 down_payment_input = []
2247 totalDownPayment = str(cms_info.get('financialInformation', {}).get('totalDownPayment'))
2248 if totalDownPayment and totalDownPayment != '0.00':
2249 down_payment_input.append((consts.SE_DP_FIELD[0], cms_info.get('financeCompany', '')))
2250 down_payment_input.append((consts.SE_DP_FIELD[1], borrower_name))
2251 down_payment_input.append((consts.SE_DP_FIELD[2], borrower_idnum))
2252 down_payment_input.append((consts.SE_DP_FIELD[3], cms_info.get('settlemnetVerification', {}).get('applicationNo', '')))
2253 down_payment_input.append((consts.SE_DP_FIELD[4], legal_name if is_bo_corporate else borrower_name ))
2254 down_payment_input.append((consts.SE_DP_FIELD[5], '有/无'))
2255 down_payment_info[consts.DP_EN] = down_payment_input
2256 compare_info['downPayment'] = down_payment_info
2215 return compare_info, cms_info.get('applicationVersion', 1), cms_info.get('autoApprovedDetails', {}).get('aaType', ''), is_gsyh, allow_bs_type 2257 return compare_info, cms_info.get('applicationVersion', 1), cms_info.get('autoApprovedDetails', {}).get('aaType', ''), is_gsyh, allow_bs_type
2216 2258
2217 2259
......
...@@ -324,6 +324,9 @@ class Comparison: ...@@ -324,6 +324,9 @@ class Comparison:
324 return self.RESULT_Y 324 return self.RESULT_Y
325 if kwargs.get('remove_space', False): 325 if kwargs.get('remove_space', False):
326 input_str = input_str.replace(' ', '') 326 input_str = input_str.replace(' ', '')
327 if kwargs.get('remove_all_space', False):
328 input_str = input_str.replace(' ', '')
329 ocr_str = ocr_str.replace(' ', '')
327 if kwargs.get('brackets_replace', False): 330 if kwargs.get('brackets_replace', False):
328 input_str = input_str.translate(self.KH_TRANS) 331 input_str = input_str.translate(self.KH_TRANS)
329 ocr_str = ocr_str.translate(self.KH_TRANS) 332 ocr_str = ocr_str.translate(self.KH_TRANS)
......
1 import pyodbc
2
3 hil_sql = """
4 ALTER TABLE hil_ocr_result ADD dp_ocr nvarchar(max);
5 ALTER TABLE hil_se_ocr_result ADD dp_ocr nvarchar(max);
6 """
7
8 afc_sql = """
9 ALTER TABLE afc_ocr_result ADD dp_ocr nvarchar(max);
10 ALTER TABLE afc_se_ocr_result ADD dp_ocr nvarchar(max);
11 """
12
13 hil_cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};', autocommit=True)
14
15 hil_cursor = hil_cnxn.cursor()
16 hil_cursor.execute(hil_sql)
17
18 hil_cursor.close()
19 hil_cnxn.close()
20
21 afc_cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};', autocommit=True)
22
23 afc_cursor = afc_cnxn.cursor()
24 afc_cursor.execute(afc_sql)
25
26 afc_cursor.close()
27 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!