db2bead1 by 周伟奇

add insurance

1 parent 01c7aaa5
......@@ -852,7 +852,7 @@ MVI_FIELD_ORDER = (('发票代码', '发票代码'),
('主管税务机关及代码', '主管税务机关及代码'),
('吨位', '吨位'),
('限乘人数', '限乘人数'),)
IC_PID = VAT_PID = VATS_PID = MVC_PID = MVI_PID = RP_PID = DDA_PID = HMH_PID = JYPZ_PID = None
IC_PID = VAT_PID = VATS_PID = MVC_PID = MVI_PID = RP_PID = DDA_PID = HMH_PID = JYPZ_PID = INSURANCE_PID = None
# 营业执照
BL_CN_NAME = '营业执照'
......@@ -1006,6 +1006,21 @@ JYPZ_FIELD_ORDER = (("type", "标题"),
CONTRACT_CN_NAME = '合同'
CONTRACT_CLASSIFY = 41
# 保单
INSURANCE_CN_NAME = '保单'
INSURANCE_CLASSIFY = 42
INSURANCE_FIELD_ORDER = (("被保险人姓名", "被保险人姓名"),
("被保险人证件号码", "被保险人证件号码"),
("车架号", "车架号"),
("机动车损失保险金额", "机动车损失保险金额"),
("机动车第三者责任保险金额", "机动车第三者责任保险金额"),
("机动车损失保险绝对免赔率/绝对免赔额", "机动车损失保险绝对免赔率/绝对免赔额"),
("保险费合计", "保险费合计"),
("保险起始日期", "保险起始日期"),
("保险截止日期", "保险截止日期"),
("保单章", "保单章"),
("特别约定第一受益人", "特别约定第一受益人"))
SUCCESS_CODE_SET = {'0', 0}
FIELD_ORDER_MAP = {
......@@ -1043,6 +1058,7 @@ LICENSE_ORDER = ((MVI_CLASSIFY, (MVI_PID, MVI_CN_NAME, MVI_FIELD_ORDER, False, F
(DDA_CLASSIFY, (DDA_PID, DDA_CN_NAME, DDA_FIELD_ORDER, False, False, None)),
(HMH_CLASSIFY, (HMH_PID, HMH_CN_NAME, HMH_FIELD_ORDER, False, False, None)),
(JYPZ_CLASSIFY, (JYPZ_PID, JYPZ_CN_NAME, JYPZ_FIELD_ORDER, False, False, None)),
(INSURANCE_CLASSIFY, (INSURANCE_PID, INSURANCE_CN_NAME, INSURANCE_FIELD_ORDER, False, False, None)),
)
FOLDER_LICENSE_ORDER = ((MVI_CLASSIFY, (MVI_PID, MVI_CN_NAME, MVI_FIELD_ORDER, False, False, MODEL_FIELD_MVI)),
......@@ -1054,7 +1070,7 @@ FOLDER_LICENSE_ORDER = ((MVI_CLASSIFY, (MVI_PID, MVI_CN_NAME, MVI_FIELD_ORDER, F
LICENSE_CLASSIFY_MAPPING = dict(LICENSE_ORDER)
OTHER_CLASSIFY_SET = {OTHER_CLASSIFY}
LICENSE_CLASSIFY_SET_1 = {IC_CLASSIFY, VAT_CLASSIFY, MVC_CLASSIFY, MVI_CLASSIFY, UCI_CLASSIFY, DDA_CLASSIFY, HMH_CLASSIFY, JYPZ_CLASSIFY}
LICENSE_CLASSIFY_SET_1 = {IC_CLASSIFY, VAT_CLASSIFY, MVC_CLASSIFY, MVI_CLASSIFY, UCI_CLASSIFY, DDA_CLASSIFY, HMH_CLASSIFY, JYPZ_CLASSIFY, INSURANCE_CLASSIFY}
LICENSE_CLASSIFY_SET_2 = {BL_CLASSIFY, EEP_CLASSIFY, DL_CLASSIFY, PP_CLASSIFY, BC_CLASSIFY}
NYYH_CLASSIFY = {17, 18}
......
......@@ -252,7 +252,31 @@ class Command(BaseCommand, LoggerMixin):
if not license_data:
res_list.append((pno, ino, part_idx, consts.RES_SUCCESS_EMPTY))
return
if classify == consts.DDA_CLASSIFY: # DDA处理
if classify == consts.INSURANCE_CLASSIFY: # 保单处理
product_result = ['', '', '']
for product in license_data.get('result', {}).get('productList', []):
name = product.get('name', {}).get('words', '')
if name == '机动车损失保险':
product_result[0] = product.get('coverage', {}).get('words', '')
product_result[2] = product.get('deductible_franchise', {}).get('words', '')
elif name == '机动车第三者责任保险':
product_result[1] = product.get('coverage', {}).get('words', '')
insurance_ocr_result = {
'被保险人姓名': license_data.get('result', {}).get('insurer', {}).get('name', {}).get('words', ''),
'被保险人证件号码': license_data.get('result', {}).get('insurer', {}).get('certiCode', {}).get('words', ''),
'车架号': license_data.get('result', {}).get('vehicle', {}).get('VIN', {}).get('words', ''),
'机动车损失保险金额': product_result[0],
'机动车第三者责任保险金额': product_result[1],
'机动车损失保险绝对免赔率/绝对免赔额': product_result[2],
'保险费合计': license_data.get('result', {}).get('premiumSum', {}).get('words', ''),
'保险起始日期': license_data.get('result', {}).get('startDate', {}).get('words', ''),
'保险截止日期': license_data.get('result', {}).get('endDate', {}).get('words', ''),
'保单章': '',
'特别约定第一受益人': license_data.get('result', {}).get('insured', {}).get('words', ''),
}
license_summary.setdefault(classify, []).append(insurance_ocr_result)
elif classify == consts.DDA_CLASSIFY: # DDA处理
pro = ocr_data.get('confidence', 0)
if pro < consts.DDA_PRO_MIN:
res_list.append((pno, ino, part_idx, consts.RES_SUCCESS_EMPTY))
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!