db73da94 by 周伟奇

June SE part 2

1 parent 5b24219b
...@@ -1409,7 +1409,7 @@ SE_CORPORATE_ALL_FIELD = ['companyName', 'legalRepName', 'firstIdNo', 'businessL ...@@ -1409,7 +1409,7 @@ SE_CORPORATE_ALL_FIELD = ['companyName', 'legalRepName', 'firstIdNo', 'businessL
1409 'taxRegistrationCertificateNo', 'establishmentDate', 'businessLicenseDueDate'] 1409 'taxRegistrationCertificateNo', 'establishmentDate', 'businessLicenseDueDate']
1410 SE_NEW_FIELD = ['vinNo', 'dealer', 'vehicleTransactionAmount'] 1410 SE_NEW_FIELD = ['vinNo', 'dealer', 'vehicleTransactionAmount']
1411 SE_USED_FIELD = ['vinNo', 'vehicleTransactionAmount'] 1411 SE_USED_FIELD = ['vinNo', 'vehicleTransactionAmount']
1412 SE_NEW_ADD_FIELD = ['customerName', 'idNum', 'dateOfInvoice', 'stamp', '发票联', '发票真伪校验', '新旧版式'] 1412 SE_NEW_ADD_FIELD = ['customerName', 'idNum', 'dateOfInvoice', 'stamp', '发票联', '发票真伪校验', '新旧版式', '不含税价校验', '增值税额校验', '价税合计大小写检验']
1413 SE_FPL_VALUE = '发票联' 1413 SE_FPL_VALUE = '发票联'
1414 SE_STAMP_VALUE = '有' 1414 SE_STAMP_VALUE = '有'
1415 SE_DYSYR_VALUE = '无' 1415 SE_DYSYR_VALUE = '无'
...@@ -1717,6 +1717,12 @@ SME_BL_COMPARE_LOGIC = { ...@@ -1717,6 +1717,12 @@ SME_BL_COMPARE_LOGIC = {
1717 'businessLicenseDueDate': ('营业期限', 'se_date_compare', {'ocr_split': True, 'long': True, 'ocr_replace': True, 'today': True}, '公司营业期限疑似过期'), 1717 'businessLicenseDueDate': ('营业期限', 'se_date_compare', {'ocr_split': True, 'long': True, 'ocr_replace': True, 'today': True}, '公司营业期限疑似过期'),
1718 } 1718 }
1719 1719
1720 ZW_METHOD = 'mvi_special'
1721 LOWER_AMOUNT_FIELD = '价税合计小写'
1722 UPPER_AMOUNT_FIELD = '价税合计大写'
1723 BHSJ_FIELD = '不含税价'
1724 ZZSSE_FIELD = '增值税税额'
1725
1720 MVI_COMPARE_LOGIC = { 1726 MVI_COMPARE_LOGIC = {
1721 'vinNo': ('车辆识别代码', 'se_common_compare', {}, '发票车架号与系统不一致'), 1727 'vinNo': ('车辆识别代码', 'se_common_compare', {}, '发票车架号与系统不一致'),
1722 'dealer': ('销方名称', 'se_contain_compare_2', {'brackets_replace': True}, '发票销货单位名称与系统不一致'), 1728 'dealer': ('销方名称', 'se_contain_compare_2', {'brackets_replace': True}, '发票销货单位名称与系统不一致'),
...@@ -1726,14 +1732,13 @@ MVI_COMPARE_LOGIC = { ...@@ -1726,14 +1732,13 @@ MVI_COMPARE_LOGIC = {
1726 'dateOfInvoice': ('开票日期', 'se_date_compare_2', {'three_month': True}, '发票开票日期早于首次提交申请日期'), 1732 'dateOfInvoice': ('开票日期', 'se_date_compare_2', {'three_month': True}, '发票开票日期早于首次提交申请日期'),
1727 'stamp': ('销售单位章', 'se_common_compare', {}, '发票无章'), 1733 'stamp': ('销售单位章', 'se_common_compare', {}, '发票无章'),
1728 '发票联': ('发票类型', 'se_common_compare', {}, '发票疑似非发票联'), 1734 '发票联': ('发票类型', 'se_common_compare', {}, '发票疑似非发票联'),
1729 '发票真伪校验': ('发票真伪校验', 'se_common_compare', {}, '发票疑似造假,需人工核算'), 1735 # '发票真伪校验': ('发票真伪校验', 'se_common_compare', {}, '发票疑似造假,需人工核算'),
1736 '不含税价校验': (BHSJ_FIELD, 'se_common_compare', {}, '发票不含税价疑似错误,需人工核算'),
1737 '增值税额校验': (ZZSSE_FIELD, 'se_common_compare', {}, '发票增值税额疑似错误,需人工核算'),
1738 '价税合计大小写检验': ('价税合计大小写检验', 'se_common_compare', {}, '发票价税合计大小写校验疑似错误,需人工核算'),
1730 '新旧版式': ('新旧版式', 'se_contain_compare_2', {}, '发票版本与打印版式不符'), 1739 '新旧版式': ('新旧版式', 'se_contain_compare_2', {}, '发票版本与打印版式不符'),
1731 } 1740 }
1732 ZW_METHOD = 'mvi_special' 1741
1733 LOWER_AMOUNT_FIELD = '价税合计小写'
1734 UPPER_AMOUNT_FIELD = '价税合计大写'
1735 BHSJ_FIELD = '不含税价'
1736 ZZSSE_FIELD = '增值税税额'
1737 1742
1738 UCI_COMPARE_LOGIC = { 1743 UCI_COMPARE_LOGIC = {
1739 'vinNo': ('车架号', 'se_common_compare', {}, '二手车发票车架号与系统不一致'), 1744 'vinNo': ('车架号', 'se_common_compare', {}, '二手车发票车架号与系统不一致'),
......
...@@ -1022,11 +1022,14 @@ def get_se_cms_compare_info_auto(last_obj, application_entity, auto=True): ...@@ -1022,11 +1022,14 @@ def get_se_cms_compare_info_auto(last_obj, application_entity, auto=True):
1022 # vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[3], consts.SE_STAMP_VALUE)) 1022 # vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[3], consts.SE_STAMP_VALUE))
1023 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[4], consts.SE_FPL_VALUE)) 1023 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[4], consts.SE_FPL_VALUE))
1024 bhsj = float(amount) / 1.13 1024 bhsj = float(amount) / 1.13
1025 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[5], consts.SPLIT_STR.join([ 1025 # vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[5], consts.SPLIT_STR.join([
1026 format(bhsj, '.2f'), 1026 # format(bhsj, '.2f'),
1027 format(float(amount) - bhsj, '.2f'), 1027 # format(float(amount) - bhsj, '.2f'),
1028 consts.RESULT_Y 1028 # consts.RESULT_Y
1029 ]))) 1029 # ])))
1030 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[7], format(bhsj, '.2f')))
1031 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[8], format(float(amount) - bhsj, '.2f')))
1032 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[9], consts.RESULT_Y))
1030 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[6], consts.SE_LAYOUT_VALUE)) 1033 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[6], consts.SE_LAYOUT_VALUE))
1031 vehicle_info[consts.MVI_EN] = vehicle_field_input 1034 vehicle_info[consts.MVI_EN] = vehicle_field_input
1032 # 二手车发票、交易凭证、绿本------------------------------------------------------------------------------------------ 1035 # 二手车发票、交易凭证、绿本------------------------------------------------------------------------------------------
...@@ -1536,11 +1539,14 @@ def get_se_cms_compare_info(last_obj, application_entity, detect_list, auto=Fals ...@@ -1536,11 +1539,14 @@ def get_se_cms_compare_info(last_obj, application_entity, detect_list, auto=Fals
1536 # vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[3], consts.SE_STAMP_VALUE)) 1539 # vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[3], consts.SE_STAMP_VALUE))
1537 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[4], consts.SE_FPL_VALUE)) 1540 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[4], consts.SE_FPL_VALUE))
1538 bhsj = float(amount) / 1.13 1541 bhsj = float(amount) / 1.13
1539 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[5], consts.SPLIT_STR.join([ 1542 # vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[5], consts.SPLIT_STR.join([
1540 format(bhsj, '.2f'), 1543 # format(bhsj, '.2f'),
1541 format(float(amount) - bhsj, '.2f'), 1544 # format(float(amount) - bhsj, '.2f'),
1542 consts.RESULT_Y 1545 # consts.RESULT_Y
1543 ]))) 1546 # ])))
1547 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[7], format(bhsj, '.2f')))
1548 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[8], format(float(amount) - bhsj, '.2f')))
1549 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[9], consts.RESULT_Y))
1544 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[6], consts.SE_LAYOUT_VALUE)) 1550 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[6], consts.SE_LAYOUT_VALUE))
1545 vehicle_info[consts.MVI_EN] = vehicle_field_input 1551 vehicle_info[consts.MVI_EN] = vehicle_field_input
1546 # 二手车发票、交易凭证、绿本------------------------------------------------------------------------------------------ 1552 # 二手车发票、交易凭证、绿本------------------------------------------------------------------------------------------
...@@ -1906,182 +1912,6 @@ def get_se_cms_compare_info(last_obj, application_entity, detect_list, auto=Fals ...@@ -1906,182 +1912,6 @@ def get_se_cms_compare_info(last_obj, application_entity, detect_list, auto=Fals
1906 return compare_info, cms_info.get('applicationVersion', 1), is_gsyh 1912 return compare_info, cms_info.get('applicationVersion', 1), is_gsyh
1907 1913
1908 1914
1909 def get_se_compare_info(last_obj, application_entity, detect_list):
1910 compare_info = {}
1911 individual_info_dict = {}
1912 main_role_info = {}
1913 for individual_info in json.loads(last_obj.individual_cus_info):
1914 if isinstance(individual_info.get('secondIdNum'), str):
1915 id_num = '{0}、{1}'.format(individual_info['idNum'], individual_info['secondIdNum'])
1916 else:
1917 id_num = individual_info['idNum']
1918 main_role_info.setdefault(individual_info['applicantType'], []).append(
1919 (individual_info['customerName'], id_num, individual_info['idNum']))
1920
1921 license_dict = {}
1922
1923 if individual_info['idType'] in consts.SE_FIRST_ID_FIELD_MAPPING:
1924 license_en, field_list = consts.SE_FIRST_ID_FIELD_MAPPING[individual_info['idType']]
1925 field_input = []
1926 for field in field_list:
1927 if field in individual_info:
1928 field_input.append((field, individual_info[field]))
1929 license_dict[license_en] = field_input
1930
1931 if individual_info.get('secondIdType') in consts.SE_SECOND_ID_FIELD_MAPPING:
1932 second_license_en, second_field_list = consts.SE_SECOND_ID_FIELD_MAPPING[individual_info['secondIdType']]
1933 if second_license_en not in license_dict:
1934 second_field_input = []
1935 for second_field, write_field in second_field_list:
1936 if second_field in individual_info:
1937 second_field_input.append((write_field, individual_info[second_field]))
1938 license_dict[second_license_en] = second_field_input
1939
1940 if individual_info['customerType'] == consts.CUSTOMER_TYPE[5]:
1941 sep_field_input = []
1942 for sep_field, sep_write_field in consts.SE_SEP_FIELD:
1943 if sep_field in individual_info:
1944 sep_field_input.append((sep_write_field, individual_info[sep_field]))
1945 license_dict[consts.BL_EN] = sep_field_input
1946
1947 if len(license_dict) > 0:
1948 individual_info_dict.setdefault(individual_info['applicantType'], []).append(license_dict)
1949
1950 compare_info['individualCusInfo'] = individual_info_dict
1951
1952 dda_name_list = []
1953 dda_num_list = []
1954 for applicant_type in consts.APPLICANT_TYPE:
1955 if applicant_type in main_role_info:
1956 main_name, main_num, _ = main_role_info[applicant_type][0]
1957 hmh_name, _, hmh_id = main_role_info[applicant_type][0]
1958 break
1959 for applicant_type in consts.APPLICANT_TYPE[:2]:
1960 if applicant_type in main_role_info:
1961 for dda_name_part, _, dda_num_part in main_role_info[applicant_type]:
1962 dda_name_list.append(dda_name_part)
1963 dda_num_list.append(dda_num_part)
1964 dda_name = '、'.join(dda_name_list)
1965 dda_num = '、'.join(dda_num_list)
1966 del main_role_info
1967
1968 company_info = None
1969 if isinstance(last_obj.corporate_cus_info, str):
1970 corporate_info_dict = json.loads(last_obj.corporate_cus_info)
1971 corporate_info = {}
1972 company_info = (corporate_info_dict['companyName'], corporate_info_dict['businessLicenseNo'])
1973 if corporate_info_dict['firstIdType'] == consts.ID_TYPE[6]:
1974 bl_field_input = []
1975 for bl_field in consts.SE_CORPORATE_ALL_FIELD:
1976 bl_field_input.append((bl_field, corporate_info_dict[bl_field]))
1977 corporate_info[consts.BL_EN] = bl_field_input
1978 else:
1979 if corporate_info_dict['firstIdType'] in consts.SE_FIRST_ID_FIELD_MAPPING:
1980 license_en, _ = consts.SE_FIRST_ID_FIELD_MAPPING[corporate_info_dict['firstIdType']]
1981 first_id_field_input = []
1982 for first_id_field, first_id_write_field in consts.SE_CORPORATE_ID_FIELD:
1983 first_id_field_input.append((first_id_write_field, corporate_info_dict[first_id_field]))
1984 corporate_info[license_en] = first_id_field_input
1985 bl_field_input = []
1986 for bl_field in consts.SE_CORPORATE_FIELD:
1987 bl_field_input.append((bl_field, corporate_info_dict[bl_field]))
1988 corporate_info[consts.BL_EN] = bl_field_input
1989
1990 compare_info['corporateCusInfo'] = corporate_info
1991
1992 vehicle_info_dict = json.loads(last_obj.vehicle_info) # TODO 车辆登记证
1993 vehicle_info = {}
1994 vehicle_field_input = []
1995 if vehicle_info_dict['vehicleStatus'] == 'New':
1996 for vehicle_field in consts.SE_NEW_FIELD:
1997 vehicle_field_input.append((vehicle_field, vehicle_info_dict[vehicle_field]))
1998 if isinstance(company_info, tuple):
1999 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[0], company_info[0]))
2000 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[1], company_info[1]))
2001 else:
2002 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[0], main_name))
2003 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[1], main_num))
2004 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[2], last_obj.first_submmison_date))
2005 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[3], consts.SE_STAMP_VALUE))
2006 vehicle_info[consts.MVI_EN] = vehicle_field_input
2007 else:
2008 gb_field_input = []
2009 gb34_field_input = []
2010 jypz_field_input = []
2011 for vehicle_field in consts.SE_USED_FIELD:
2012 vehicle_field_input.append((vehicle_field, vehicle_info_dict[vehicle_field]))
2013 for gb_field in consts.SE_GB_NEW_FIELD:
2014 gb_field_input.append((gb_field, vehicle_info_dict[gb_field]))
2015 if isinstance(company_info, tuple):
2016 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[0], company_info[0]))
2017 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[1], company_info[1]))
2018 jypz_field_input.append((consts.SE_NEW_ADD_FIELD[0], company_info[0]))
2019 jypz_field_input.append((consts.SE_NEW_ADD_FIELD[1], company_info[1]))
2020 gb34_field_input.append((consts.SE_GB_USED_FIELD[0], company_info[0]))
2021 gb34_field_input.append((consts.SE_GB_USED_FIELD[1], company_info[1]))
2022 else:
2023 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[0], main_name))
2024 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[1], main_num))
2025 jypz_field_input.append((consts.SE_NEW_ADD_FIELD[0], main_name))
2026 jypz_field_input.append((consts.SE_NEW_ADD_FIELD[1], main_num))
2027 gb34_field_input.append((consts.SE_GB_USED_FIELD[0], main_name))
2028 gb34_field_input.append((consts.SE_GB_USED_FIELD[1], main_num))
2029 gb34_field_input.append((consts.SE_GB_USED_FIELD[2], last_obj.first_submmison_date))
2030 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[2], last_obj.first_submmison_date))
2031 vehicle_field_input.append((consts.SE_NEW_ADD_FIELD[3], consts.SE_STAMP_VALUE))
2032 for jypz_field in consts.SE_USED_FIELD:
2033 jypz_field_input.append((jypz_field, vehicle_info_dict[jypz_field]))
2034 jypz_field_input.append((consts.SE_GB_USED_FIELD[-1], last_obj.first_submmison_date))
2035 vehicle_info[consts.MVC_EN] = gb_field_input
2036 vehicle_info[consts.MVC34_EN] = gb34_field_input
2037 if not detect_list[0]:
2038 vehicle_info[consts.UCI_EN] = vehicle_field_input
2039 if not detect_list[1]:
2040 vehicle_info[consts.JYPZ_EN] = jypz_field_input
2041 if detect_list[0] and detect_list[1]:
2042 vehicle_info[consts.UCI_EN] = vehicle_field_input
2043 compare_info['vehicleInfo'] = vehicle_info
2044
2045 bank_info_dict = json.loads(last_obj.bank_info)
2046 bank_info = {}
2047 bank_field_input = []
2048 for bank_field in consts.SE_BANK_FIELD:
2049 bank_field_input.append((bank_field, bank_info_dict[bank_field]))
2050 if '工商' in bank_info_dict.get(consts.SE_BANK_FIELD[-1], ''):
2051 is_gsyh = True
2052 else:
2053 is_gsyh = False
2054 bank_info[consts.BC_EN] = bank_field_input
2055
2056 if is_gsyh or not detect_list[-1]:
2057 dda_field_input = []
2058 for dda_field in consts.SE_DDA_FIELD:
2059 if dda_field.startswith('applicationId'):
2060 dda_field_input.append((dda_field, last_obj.application_id))
2061 elif dda_field == 'companyName':
2062 company_name = consts.HIL_COMPANY_NAME if application_entity in consts.HIL_SET else consts.AFC_COMPANY_NAME
2063 dda_field_input.append((dda_field, company_name))
2064 elif dda_field == 'customerName':
2065 dda_field_input.append((dda_field, dda_name))
2066 elif dda_field == 'idNum':
2067 dda_field_input.append((dda_field, dda_num))
2068 else:
2069 dda_field_input.append((dda_field, bank_info_dict[dda_field]))
2070 bank_info[consts.DDA_EN] = dda_field_input
2071 compare_info['bankInfo'] = bank_info
2072
2073 if not detect_list[2]:
2074 other_info = {}
2075 hmh_field_input = []
2076 hmh_field_input.append((consts.SE_HMH_FIELD[0], hmh_name))
2077 hmh_field_input.append((consts.SE_HMH_FIELD[1], hmh_id))
2078 hmh_field_input.append((consts.SE_HMH_FIELD[2], last_obj.application_id))
2079 other_info[consts.HMH_EN] = hmh_field_input
2080 compare_info['other'] = other_info
2081
2082 return compare_info, is_gsyh
2083
2084
2085 def se_bs_compare(license_en, ocr_res_dict, strip_list, is_auto): 1915 def se_bs_compare(license_en, ocr_res_dict, strip_list, is_auto):
2086 # 主共借至少提供一个 1916 # 主共借至少提供一个
2087 # 有担保人,担保人必须提供。主共借没有时,修改comment:人工查看担保人亲属关系 1917 # 有担保人,担保人必须提供。主共借没有时,修改comment:人工查看担保人亲属关系
...@@ -2322,12 +2152,10 @@ def se_compare_license(license_en, ocr_res_dict, field_list): ...@@ -2322,12 +2152,10 @@ def se_compare_license(license_en, ocr_res_dict, field_list):
2322 break 2152 break
2323 2153
2324 for idx, (name, value) in enumerate(field_list): 2154 for idx, (name, value) in enumerate(field_list):
2325 if ocr_field == consts.MVI_OCR_FIELD and name == consts.SE_NEW_ADD_FIELD[5]: 2155 if ocr_field == consts.MVI_OCR_FIELD and name == consts.SE_NEW_ADD_FIELD[9]:
2326 ocr_str = getattr(cp, consts.ZW_METHOD)( 2156 ocr_str = getattr(cp, consts.ZW_METHOD)(
2327 ocr_res_list[res_idx].get(consts.LOWER_AMOUNT_FIELD, ''), 2157 ocr_res_list[res_idx].get(consts.LOWER_AMOUNT_FIELD, ''),
2328 ocr_res_list[res_idx].get(consts.UPPER_AMOUNT_FIELD, ''), 2158 ocr_res_list[res_idx].get(consts.UPPER_AMOUNT_FIELD, ''),
2329 ocr_res_list[res_idx].get(consts.BHSJ_FIELD, ''),
2330 ocr_res_list[res_idx].get(consts.ZZSSE_FIELD, '')
2331 ) 2159 )
2332 else: 2160 else:
2333 ocr_str = ocr_res_list[res_idx].get(compare_logic[name][0]) 2161 ocr_str = ocr_res_list[res_idx].get(compare_logic[name][0])
...@@ -2758,8 +2586,9 @@ def se_compare_process(compare_info, ocr_res_dict, is_gsyh, is_auto): ...@@ -2758,8 +2586,9 @@ def se_compare_process(compare_info, ocr_res_dict, is_gsyh, is_auto):
2758 for name, value, result, ocr_str, img_path, error_type, cn_reason in result_field_list: 2586 for name, value, result, ocr_str, img_path, error_type, cn_reason in result_field_list:
2759 total_fields += 1 2587 total_fields += 1
2760 if result == consts.RESULT_N: 2588 if result == consts.RESULT_N:
2761 failed_count += 1 2589 if license_en != consts.MVI_EN or name != consts.SE_NEW_ADD_FIELD[9]:
2762 successful_at_this_level = False 2590 successful_at_this_level = False
2591 failed_count += 1
2763 failure_field.append(name) 2592 failure_field.append(name)
2764 if isinstance(cn_reason, str): 2593 if isinstance(cn_reason, str):
2765 cn_reason_list.append(cn_reason) 2594 cn_reason_list.append(cn_reason)
...@@ -2868,14 +2697,8 @@ def se_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res ...@@ -2868,14 +2697,8 @@ def se_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res
2868 # 比对逻辑 2697 # 比对逻辑
2869 start_time = datetime.now() 2698 start_time = datetime.now()
2870 detect_list = se_result_detect(ocr_res_dict) 2699 detect_list = se_result_detect(ocr_res_dict)
2871 # if is_cms:
2872 # last_obj = rebuild_compare_info(last_obj, application_id)
2873 if is_cms:
2874 compare_info, application_version, is_gsyh = get_se_cms_compare_info( 2700 compare_info, application_version, is_gsyh = get_se_cms_compare_info(
2875 last_obj, application_entity, detect_list) 2701 last_obj, application_entity, detect_list)
2876 else:
2877 compare_info, is_gsyh = get_se_compare_info(last_obj, application_entity, detect_list)
2878 application_version = last_obj.application_version
2879 compare_result, total_fields, failed_count, successful_at_this_level, failure_reason_str, cn_failure_reason_str, bs_failure_reason_str = se_compare_process(compare_info, ocr_res_dict, is_gsyh, False) 2702 compare_result, total_fields, failed_count, successful_at_this_level, failure_reason_str, cn_failure_reason_str, bs_failure_reason_str = se_compare_process(compare_info, ocr_res_dict, is_gsyh, False)
2880 compare_log.info('{0} [SE] [compare success] [entity={1}] [id={2}] [ocr_res_id={3}] [result={4}]'.format( 2703 compare_log.info('{0} [SE] [compare success] [entity={1}] [id={2}] [ocr_res_id={3}] [result={4}]'.format(
2881 log_base, application_entity, application_id, ocr_res_id, compare_result)) 2704 log_base, application_entity, application_id, ocr_res_id, compare_result))
......
...@@ -123,7 +123,7 @@ class Comparison: ...@@ -123,7 +123,7 @@ class Comparison:
123 ocr_output = None 123 ocr_output = None
124 return self.build_res(input_str == ocr_str), ocr_output 124 return self.build_res(input_str == ocr_str), ocr_output
125 125
126 def mvi_special(self, amount_lower_str, amount_upper_str, bhsj_str, zzsse_str): 126 def mvi_special(self, amount_lower_str, amount_upper_str):
127 # 不含税价, 增值税税额 127 # 不含税价, 增值税税额
128 try: 128 try:
129 if float(amount_lower_str) != rmb_handler.to_rmb_lower(amount_upper_str): 129 if float(amount_lower_str) != rmb_handler.to_rmb_lower(amount_upper_str):
...@@ -131,7 +131,7 @@ class Comparison: ...@@ -131,7 +131,7 @@ class Comparison:
131 except Exception: 131 except Exception:
132 return self.RESULT_N 132 return self.RESULT_N
133 else: 133 else:
134 return self.SPLIT_STR.join([bhsj_str, zzsse_str, self.RESULT_Y]) 134 return self.RESULT_Y
135 135
136 def rmb_compare(self, input_str, ocr_str, idx, **kwargs): 136 def rmb_compare(self, input_str, ocr_str, idx, **kwargs):
137 if not isinstance(ocr_str, str) or not isinstance(input_str, str): 137 if not isinstance(ocr_str, str) or not isinstance(input_str, str):
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!