c11096ce by 冯轩

init:4546

1 parent c94cfa1f
......@@ -1885,7 +1885,7 @@ ZZSSE_FIELD = '增值税税额'
MVI_COMPARE_LOGIC = {
'vinNo': ('车辆识别代码', 'se_common_compare', {}, '发票车架号与系统不一致'),
'dealer': ('销方名称', 'se_common_compare', {'brackets_replace': True}, '发票销货单位名称与系统不一致'),
'dealer': ('销方名称', 'se_input_list_compare', {'brackets_replace': True}, '发票销货单位名称与系统不一致'),
'vehicleTransactionAmount': ('价税合计小写', 'se_amount_compare', {}, '发票车辆价格与系统不一致'),
'customerName': ('购方名称', 'se_name_compare', {'is_passport': True, 'replace_kuohao': True}, '发票购买方姓名与系统不一致'),
'idNum': ('购买方身份证号或组织机构代码', 'se_common_compare', {}, '发票购买方证件号码与系统不一致'),
......
......@@ -1108,4 +1108,14 @@ class HILCmsStatusInfo(models.Model):
class Meta:
managed = False
db_table = 'hil_cms_status_info'
\ No newline at end of file
db_table = 'hil_cms_status_info'
class DealerMapping(models.Model):
id = models.AutoField(primary_key=True, verbose_name="id") # 主键
cms_value = models.CharField(max_length=64, verbose_name="CMS中的 dealer name")
mapping_value = models.CharField(max_length=64, verbose_name="映射后的 dealer name")
create_time = models.DateTimeField(verbose_name='创建时间')
class Meta:
managed = False
db_table = 'dealer_mapping'
\ No newline at end of file
......
......@@ -38,6 +38,7 @@ from apps.doc.models import (
HILCompareReportNew,
AFCCompareReportNew,
AFCDoc,
DealerMapping,
)
from apps.doc import consts
from apps.doc.ocr.gcap import gcap
......@@ -910,8 +911,18 @@ def get_se_cms_compare_info_auto(last_obj, application_entity, data_source, auto
company_info_list = []
dealer_name_list = cms_info.get('dealerName', '').split()
dealer_name = '' if len(dealer_name_list) == 0 else dealer_name_list[-1]
issuer_dealer = cms_info.get('fapiaoIssuerDealer', '').strip()
#dealer_name = '' if len(dealer_name_list) == 0 else dealer_name_list[-1]
#issuer_dealer = cms_info.get('fapiaoIssuerDealer', '').strip()
#CHINARPA-4546 delaerName变为list,包含dealer_name_list[0]映射后对应的所有值 + dealer_name_list[-1],比对时,任一完全一致为Y,全部不一致为N
dealer_name = []
if len(dealer_name_list) != 0:
dealer_name_mapper_str = DealerMapping.objects.filter(cms_value=dealer_name_list[0]).first().mapping_value
dealer_name_mapper_list = dealer_name_mapper_str.split(',')
dealer_name.extend(dealer_name_mapper_list) # 映射后的所有值
dealer_name.append(dealer_name_list[-1]) # CMS的最后一个值
issuer_dealer = []
issuer_dealer.append(cms_info.get('fapiaoIssuerDealer', '').strip())
# 个人信息证件------------------------------------------------------------------------------------------------------
# is_cdfl = True # 车贷分离
......@@ -1463,8 +1474,18 @@ def get_se_cms_compare_info(last_obj, application_entity, detect_list, data_sour
company_info_list = []
dealer_name_list = cms_info.get('dealerName', '').split()
dealer_name = '' if len(dealer_name_list) == 0 else dealer_name_list[-1]
issuer_dealer = cms_info.get('fapiaoIssuerDealer', '').strip()
#dealer_name = '' if len(dealer_name_list) == 0 else dealer_name_list[-1]
#issuer_dealer = cms_info.get('fapiaoIssuerDealer', '').strip()
#CHINARPA-4546 delaerName变为list,包含dealer_name_list[0]映射后对应的所有值 + dealer_name_list[-1],比对时,任一完全一致为Y,全部不一致为N
dealer_name = []
if len(dealer_name_list) != 0:
dealer_name_mapper_str = DealerMapping.objects.filter(cms_value=dealer_name_list[0]).first().mapping_value
dealer_name_mapper_list = dealer_name_mapper_str.split(',')
dealer_name.extend(dealer_name_mapper_list) # 映射后的所有值
dealer_name.append(dealer_name_list[-1]) # CMS的最后一个值
issuer_dealer = []
issuer_dealer.append(cms_info.get('fapiaoIssuerDealer', '').strip())
# 个人信息证件------------------------------------------------------------------------------------------------------
is_cdfl_bo = False # 车贷分离,主借
......
......@@ -187,6 +187,17 @@ class Comparison:
else:
return self.RESULT_N
def se_input_list_compare(self, input_list, ocr_str, **kwargs):
if isinstance(input_list, list) and len(input_list) > 0 and isinstance(ocr_str, str):
ocr_str = ocr_str.translate(self.KH_TRANS)
for input_str in input_list:
input_str = input_str.translate(self.KH_TRANS)
if input_str == ocr_str:
return self.RESULT_Y
else:
return self.RESULT_N
def super_list_compare(self, input_list, ocr_str, **kwargs):
for input_str in input_list:
if kwargs.get('method', 'common') == 'name':
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!