a7108e9b by 冯轩

Merge branch 'feature/CHINARPA-5075' into feature/uat-tmp

2 parents 42ec5afd fa023243
...@@ -1251,6 +1251,7 @@ FSM_CONTRACT_SC_FIELD = 'fsm_sc_ocr' ...@@ -1251,6 +1251,7 @@ FSM_CONTRACT_SC_FIELD = 'fsm_sc_ocr'
1251 FSM_CONTRACT_SC2_FIELD = 'fsm_sc2_ocr' 1251 FSM_CONTRACT_SC2_FIELD = 'fsm_sc2_ocr'
1252 FS_FIELD = 'fs_ocr' 1252 FS_FIELD = 'fs_ocr'
1253 FSS_FIELD = 'fss_ocr' 1253 FSS_FIELD = 'fss_ocr'
1254 DP_FIELD = 'dp_ocr'
1254 1255
1255 1256
1256 BS_CLASSIFY = 10089 1257 BS_CLASSIFY = 10089
...@@ -1512,6 +1513,7 @@ JYPZ_TYPE_1 = ['二手车交易凭证'] ...@@ -1512,6 +1513,7 @@ JYPZ_TYPE_1 = ['二手车交易凭证']
1512 JYPZ_TYPE_2 = ['BMW官方认证二手车交易凭证', '二手车交易凭证'] 1513 JYPZ_TYPE_2 = ['BMW官方认证二手车交易凭证', '二手车交易凭证']
1513 SE_FS_FIELD = ['Hash值', '公章', '财年', '资产负债表内容', '利润表内容'] 1514 SE_FS_FIELD = ['Hash值', '公章', '财年', '资产负债表内容', '利润表内容']
1514 SE_FSS_FIELD = ['公司名称', '公章'] 1515 SE_FSS_FIELD = ['公司名称', '公章']
1516 SE_DP_FIELD = ['渠道', '姓名', '证件号码', '合同编号(含版本号)', '承诺人签字-电子', '承诺人签字日期-电子']
1515 1517
1516 SE_BANK_FIELD = ['accountNo', 'bankName'] 1518 SE_BANK_FIELD = ['accountNo', 'bankName']
1517 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']
...@@ -1827,6 +1829,7 @@ HIL_CONTRACT_2_EN = '车辆租赁抵押合同' ...@@ -1827,6 +1829,7 @@ HIL_CONTRACT_2_EN = '车辆租赁抵押合同'
1827 HIL_CONTRACT_3_EN = '车辆处置协议' 1829 HIL_CONTRACT_3_EN = '车辆处置协议'
1828 FS_EN = 'Financial Statement' 1830 FS_EN = 'Financial Statement'
1829 FSS_EN = 'Financial Statement Supplementary' 1831 FSS_EN = 'Financial Statement Supplementary'
1832 DP_EN = 'Down Payment'
1830 1833
1831 DDA_NO_FIND = '需人工查看DDA或截图' 1834 DDA_NO_FIND = '需人工查看DDA或截图'
1832 FS_NO_FIND = '未提供财报或财报不完整' 1835 FS_NO_FIND = '未提供财报或财报不完整'
...@@ -2186,6 +2189,15 @@ FSS_COMPARE_LOGIC = { ...@@ -2186,6 +2189,15 @@ FSS_COMPARE_LOGIC = {
2186 '公章': ('stamp', 'stamp_str_compare', {}, '财报情况说明无公章'), 2189 '公章': ('stamp', 'stamp_str_compare', {}, '财报情况说明无公章'),
2187 } 2190 }
2188 2191
2192 DP_COMPARE_LOGIC = {
2193 '渠道': ('financial_org_name', 'se_common_compare', {}, '首付款支付承诺书渠道错误'),
2194 '姓名': ('main_borrower_name', 'se_common_compare', {}, '首付款支付承诺书姓名与系统不一致'),
2195 '证件号码': ('main_borrower_id_no', 'se_common_compare', {}, '首付款支付承诺书证件号码与系统不一致'),
2196 '合同编号(含版本号)': ('apply_no', 'se_common_compare', {}, '首付款支付承诺书合同编号与系统不一致'),
2197 '承诺人签字-电子': ('promisor_signature', 'se_common_compare', {}, '首付款支付承诺书承诺人签字与系统不一致'),
2198 '承诺人签字日期-电子': ('promisor_signature_date', 'se_common_compare', {}, 'N-首付款支付承诺书缺少签字日期'),
2199 }
2200
2189 AFC_HT_DATE_FIELDS = ['主借人日期', '共借人日期', '保证人日期1', '保证人日期2'] 2201 AFC_HT_DATE_FIELDS = ['主借人日期', '共借人日期', '保证人日期1', '保证人日期2']
2190 2202
2191 # MVC_OCR_FIELD = 'mvc_ocr' 2203 # MVC_OCR_FIELD = 'mvc_ocr'
...@@ -2216,6 +2228,7 @@ SE_COMPARE_FIELD = { ...@@ -2216,6 +2228,7 @@ SE_COMPARE_FIELD = {
2216 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),
2217 FS_EN: (FS_FIELD, FS_COMPARE_LOGIC, False), 2229 FS_EN: (FS_FIELD, FS_COMPARE_LOGIC, False),
2218 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),
2219 } 2232 }
2220 2233
2221 SE_COMPARE_FIELD_AUTO = { 2234 SE_COMPARE_FIELD_AUTO = {
......
...@@ -946,6 +946,7 @@ def get_se_cms_compare_info_auto(application_id, last_obj, application_entity, d ...@@ -946,6 +946,7 @@ def get_se_cms_compare_info_auto(application_id, last_obj, application_entity, d
946 is_bo_corporate = False 946 is_bo_corporate = False
947 role_count = 0 947 role_count = 0
948 borrower_name = '' 948 borrower_name = ''
949 borrower_idnum = ''
949 legal_name = '' 950 legal_name = ''
950 # province = cms_info.get('province', '') 951 # province = cms_info.get('province', '')
951 for individual_info in cms_info.get('applicantInformation', []): 952 for individual_info in cms_info.get('applicantInformation', []):
...@@ -973,8 +974,12 @@ def get_se_cms_compare_info_auto(application_id, last_obj, application_entity, d ...@@ -973,8 +974,12 @@ def get_se_cms_compare_info_auto(application_id, last_obj, application_entity, d
973 is_bo_corporate = True 974 is_bo_corporate = True
974 975
975 # CHINARPA-4660 财报主借人姓名赋值 976 # CHINARPA-4660 财报主借人姓名赋值
977 # CHINARPA-5075 首付款承诺书主借人证件号赋值
976 if individual_info['applicantType'] == consts.APPLICANT_TYPE_ORDER[0]: 978 if individual_info['applicantType'] == consts.APPLICANT_TYPE_ORDER[0]:
977 borrower_name = customer_name 979 borrower_name = customer_name
980 for id_info in individual_info.get('IDInformation', []):
981 if id_info.get('idType') in consts.SE_CMS_FIRST_ID_FIELD_MAPPING:
982 borrower_idnum = decode_des(id_info.get('idNum', ''), des_key)
978 983
979 for id_info in individual_info.get('IDInformation', []): 984 for id_info in individual_info.get('IDInformation', []):
980 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:
...@@ -1579,6 +1584,20 @@ def get_se_cms_compare_info_auto(application_id, last_obj, application_entity, d ...@@ -1579,6 +1584,20 @@ def get_se_cms_compare_info_auto(application_id, last_obj, application_entity, d
1579 contract_info[consts.AFC_CONTRACT_QRS_EN] = afc_contract_qrs_input 1584 contract_info[consts.AFC_CONTRACT_QRS_EN] = afc_contract_qrs_input
1580 1585
1581 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
1582 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
1583 1602
1584 1603
...@@ -1616,6 +1635,7 @@ def get_se_cms_compare_info(application_id, last_obj, application_entity, detect ...@@ -1616,6 +1635,7 @@ def get_se_cms_compare_info(application_id, last_obj, application_entity, detect
1616 is_bo_corporate = False 1635 is_bo_corporate = False
1617 role_count = 0 1636 role_count = 0
1618 borrower_name = '' 1637 borrower_name = ''
1638 borrower_idnum = ''
1619 legal_name = '' 1639 legal_name = ''
1620 # province = cms_info.get('province', '') 1640 # province = cms_info.get('province', '')
1621 for individual_info in cms_info.get('applicantInformation', []): 1641 for individual_info in cms_info.get('applicantInformation', []):
...@@ -1642,9 +1662,13 @@ def get_se_cms_compare_info(application_id, last_obj, application_entity, detect ...@@ -1642,9 +1662,13 @@ def get_se_cms_compare_info(application_id, last_obj, application_entity, detect
1642 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:
1643 is_bo_corporate = True 1663 is_bo_corporate = True
1644 1664
1645 # CHINARPA-4660 财报主借人姓名赋值 1665 # CHINARPA-4660 财报主借人姓名赋值
1666 # CHINARPA-5075 首付款承诺书主借人证件号赋值
1646 if individual_info['applicantType'] == consts.APPLICANT_TYPE_ORDER[0]: 1667 if individual_info['applicantType'] == consts.APPLICANT_TYPE_ORDER[0]:
1647 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)
1648 1672
1649 for id_info in individual_info.get('IDInformation', []): 1673 for id_info in individual_info.get('IDInformation', []):
1650 if id_info.get('idType') in consts.SE_CMS_FIRST_ID_FIELD_MAPPING: 1674 if id_info.get('idType') in consts.SE_CMS_FIRST_ID_FIELD_MAPPING:
...@@ -2214,6 +2238,20 @@ def get_se_cms_compare_info(application_id, last_obj, application_entity, detect ...@@ -2214,6 +2238,20 @@ def get_se_cms_compare_info(application_id, last_obj, application_entity, detect
2214 afc_contract_qrs_input = [(consts.SE_AFC_CON_QRS_FIELD[0], '{0}{1}{2}'.format(role_count, consts.SPLIT_STR, full_no))] 2238 afc_contract_qrs_input = [(consts.SE_AFC_CON_QRS_FIELD[0], '{0}{1}{2}'.format(role_count, consts.SPLIT_STR, full_no))]
2215 contract_info[consts.AFC_CONTRACT_QRS_EN] = afc_contract_qrs_input 2239 contract_info[consts.AFC_CONTRACT_QRS_EN] = afc_contract_qrs_input
2216 compare_info['contract'] = contract_info 2240 compare_info['contract'] = contract_info
2241
2242 # 首付款承诺书
2243 down_payment_info = {}
2244 down_payment_input = {}
2245 totalDownPayment = str(cms_info.get('financialInformation', {}).get('totalDownPayment'))
2246 if totalDownPayment and totalDownPayment == '0.00':
2247 down_payment_input.append((consts.SE_DP_FIELD[0], cms_info.get('financeCompany', '')))
2248 down_payment_input.append((consts.SE_DP_FIELD[1], borrower_name))
2249 down_payment_input.append((consts.SE_DP_FIELD[2], borrower_idnum))
2250 down_payment_input.append((consts.SE_DP_FIELD[3], cms_info.get('settlemnetVerification', {}).get('applicationNo', '')))
2251 down_payment_input.append((consts.SE_DP_FIELD[4], legal_name if is_bo_corporate else borrower_name ))
2252 down_payment_input.append((consts.SE_DP_FIELD[5], '有/无'))
2253 down_payment_info[consts.DP_EN] = down_payment_input
2254 compare_info['downPayment'] = down_payment_info
2217 return compare_info, cms_info.get('applicationVersion', 1), cms_info.get('autoApprovedDetails', {}).get('aaType', ''), is_gsyh, allow_bs_type 2255 return compare_info, cms_info.get('applicationVersion', 1), cms_info.get('autoApprovedDetails', {}).get('aaType', ''), is_gsyh, allow_bs_type
2218 2256
2219 2257
......
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!