db2bead1 by 周伟奇

add insurance

1 parent 01c7aaa5
...@@ -852,7 +852,7 @@ MVI_FIELD_ORDER = (('发票代码', '发票代码'), ...@@ -852,7 +852,7 @@ MVI_FIELD_ORDER = (('发票代码', '发票代码'),
852 ('主管税务机关及代码', '主管税务机关及代码'), 852 ('主管税务机关及代码', '主管税务机关及代码'),
853 ('吨位', '吨位'), 853 ('吨位', '吨位'),
854 ('限乘人数', '限乘人数'),) 854 ('限乘人数', '限乘人数'),)
855 IC_PID = VAT_PID = VATS_PID = MVC_PID = MVI_PID = RP_PID = DDA_PID = HMH_PID = JYPZ_PID = None 855 IC_PID = VAT_PID = VATS_PID = MVC_PID = MVI_PID = RP_PID = DDA_PID = HMH_PID = JYPZ_PID = INSURANCE_PID = None
856 856
857 # 营业执照 857 # 营业执照
858 BL_CN_NAME = '营业执照' 858 BL_CN_NAME = '营业执照'
...@@ -1006,6 +1006,21 @@ JYPZ_FIELD_ORDER = (("type", "标题"), ...@@ -1006,6 +1006,21 @@ JYPZ_FIELD_ORDER = (("type", "标题"),
1006 CONTRACT_CN_NAME = '合同' 1006 CONTRACT_CN_NAME = '合同'
1007 CONTRACT_CLASSIFY = 41 1007 CONTRACT_CLASSIFY = 41
1008 1008
1009 # 保单
1010 INSURANCE_CN_NAME = '保单'
1011 INSURANCE_CLASSIFY = 42
1012 INSURANCE_FIELD_ORDER = (("被保险人姓名", "被保险人姓名"),
1013 ("被保险人证件号码", "被保险人证件号码"),
1014 ("车架号", "车架号"),
1015 ("机动车损失保险金额", "机动车损失保险金额"),
1016 ("机动车第三者责任保险金额", "机动车第三者责任保险金额"),
1017 ("机动车损失保险绝对免赔率/绝对免赔额", "机动车损失保险绝对免赔率/绝对免赔额"),
1018 ("保险费合计", "保险费合计"),
1019 ("保险起始日期", "保险起始日期"),
1020 ("保险截止日期", "保险截止日期"),
1021 ("保单章", "保单章"),
1022 ("特别约定第一受益人", "特别约定第一受益人"))
1023
1009 SUCCESS_CODE_SET = {'0', 0} 1024 SUCCESS_CODE_SET = {'0', 0}
1010 1025
1011 FIELD_ORDER_MAP = { 1026 FIELD_ORDER_MAP = {
...@@ -1043,6 +1058,7 @@ LICENSE_ORDER = ((MVI_CLASSIFY, (MVI_PID, MVI_CN_NAME, MVI_FIELD_ORDER, False, F ...@@ -1043,6 +1058,7 @@ LICENSE_ORDER = ((MVI_CLASSIFY, (MVI_PID, MVI_CN_NAME, MVI_FIELD_ORDER, False, F
1043 (DDA_CLASSIFY, (DDA_PID, DDA_CN_NAME, DDA_FIELD_ORDER, False, False, None)), 1058 (DDA_CLASSIFY, (DDA_PID, DDA_CN_NAME, DDA_FIELD_ORDER, False, False, None)),
1044 (HMH_CLASSIFY, (HMH_PID, HMH_CN_NAME, HMH_FIELD_ORDER, False, False, None)), 1059 (HMH_CLASSIFY, (HMH_PID, HMH_CN_NAME, HMH_FIELD_ORDER, False, False, None)),
1045 (JYPZ_CLASSIFY, (JYPZ_PID, JYPZ_CN_NAME, JYPZ_FIELD_ORDER, False, False, None)), 1060 (JYPZ_CLASSIFY, (JYPZ_PID, JYPZ_CN_NAME, JYPZ_FIELD_ORDER, False, False, None)),
1061 (INSURANCE_CLASSIFY, (INSURANCE_PID, INSURANCE_CN_NAME, INSURANCE_FIELD_ORDER, False, False, None)),
1046 ) 1062 )
1047 1063
1048 FOLDER_LICENSE_ORDER = ((MVI_CLASSIFY, (MVI_PID, MVI_CN_NAME, MVI_FIELD_ORDER, False, False, MODEL_FIELD_MVI)), 1064 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 ...@@ -1054,7 +1070,7 @@ FOLDER_LICENSE_ORDER = ((MVI_CLASSIFY, (MVI_PID, MVI_CN_NAME, MVI_FIELD_ORDER, F
1054 LICENSE_CLASSIFY_MAPPING = dict(LICENSE_ORDER) 1070 LICENSE_CLASSIFY_MAPPING = dict(LICENSE_ORDER)
1055 1071
1056 OTHER_CLASSIFY_SET = {OTHER_CLASSIFY} 1072 OTHER_CLASSIFY_SET = {OTHER_CLASSIFY}
1057 LICENSE_CLASSIFY_SET_1 = {IC_CLASSIFY, VAT_CLASSIFY, MVC_CLASSIFY, MVI_CLASSIFY, UCI_CLASSIFY, DDA_CLASSIFY, HMH_CLASSIFY, JYPZ_CLASSIFY} 1073 LICENSE_CLASSIFY_SET_1 = {IC_CLASSIFY, VAT_CLASSIFY, MVC_CLASSIFY, MVI_CLASSIFY, UCI_CLASSIFY, DDA_CLASSIFY, HMH_CLASSIFY, JYPZ_CLASSIFY, INSURANCE_CLASSIFY}
1058 LICENSE_CLASSIFY_SET_2 = {BL_CLASSIFY, EEP_CLASSIFY, DL_CLASSIFY, PP_CLASSIFY, BC_CLASSIFY} 1074 LICENSE_CLASSIFY_SET_2 = {BL_CLASSIFY, EEP_CLASSIFY, DL_CLASSIFY, PP_CLASSIFY, BC_CLASSIFY}
1059 1075
1060 NYYH_CLASSIFY = {17, 18} 1076 NYYH_CLASSIFY = {17, 18}
......
...@@ -252,7 +252,31 @@ class Command(BaseCommand, LoggerMixin): ...@@ -252,7 +252,31 @@ class Command(BaseCommand, LoggerMixin):
252 if not license_data: 252 if not license_data:
253 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS_EMPTY)) 253 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS_EMPTY))
254 return 254 return
255 if classify == consts.DDA_CLASSIFY: # DDA处理 255 if classify == consts.INSURANCE_CLASSIFY: # 保单处理
256 product_result = ['', '', '']
257 for product in license_data.get('result', {}).get('productList', []):
258 name = product.get('name', {}).get('words', '')
259 if name == '机动车损失保险':
260 product_result[0] = product.get('coverage', {}).get('words', '')
261 product_result[2] = product.get('deductible_franchise', {}).get('words', '')
262 elif name == '机动车第三者责任保险':
263 product_result[1] = product.get('coverage', {}).get('words', '')
264
265 insurance_ocr_result = {
266 '被保险人姓名': license_data.get('result', {}).get('insurer', {}).get('name', {}).get('words', ''),
267 '被保险人证件号码': license_data.get('result', {}).get('insurer', {}).get('certiCode', {}).get('words', ''),
268 '车架号': license_data.get('result', {}).get('vehicle', {}).get('VIN', {}).get('words', ''),
269 '机动车损失保险金额': product_result[0],
270 '机动车第三者责任保险金额': product_result[1],
271 '机动车损失保险绝对免赔率/绝对免赔额': product_result[2],
272 '保险费合计': license_data.get('result', {}).get('premiumSum', {}).get('words', ''),
273 '保险起始日期': license_data.get('result', {}).get('startDate', {}).get('words', ''),
274 '保险截止日期': license_data.get('result', {}).get('endDate', {}).get('words', ''),
275 '保单章': '',
276 '特别约定第一受益人': license_data.get('result', {}).get('insured', {}).get('words', ''),
277 }
278 license_summary.setdefault(classify, []).append(insurance_ocr_result)
279 elif classify == consts.DDA_CLASSIFY: # DDA处理
256 pro = ocr_data.get('confidence', 0) 280 pro = ocr_data.get('confidence', 0)
257 if pro < consts.DDA_PRO_MIN: 281 if pro < consts.DDA_PRO_MIN:
258 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS_EMPTY)) 282 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!