5c7e5769 by 周伟奇

dda excel

1 parent 23c4a341
...@@ -836,7 +836,7 @@ MVI_FIELD_ORDER = (('发票代码', '发票代码'), ...@@ -836,7 +836,7 @@ MVI_FIELD_ORDER = (('发票代码', '发票代码'),
836 ('主管税务机关及代码', '主管税务机关及代码'), 836 ('主管税务机关及代码', '主管税务机关及代码'),
837 ('吨位', '吨位'), 837 ('吨位', '吨位'),
838 ('限乘人数', '限乘人数'),) 838 ('限乘人数', '限乘人数'),)
839 IC_PID = VAT_PID = VATS_PID = MVC_PID = MVI_PID = RP_PID = None 839 IC_PID = VAT_PID = VATS_PID = MVC_PID = MVI_PID = RP_PID = DDA_PID = None
840 840
841 # 营业执照 841 # 营业执照
842 BL_CN_NAME = '营业执照' 842 BL_CN_NAME = '营业执照'
...@@ -944,6 +944,24 @@ BC_FIELD_ORDER = (('BankName', '发卡行名称'), ...@@ -944,6 +944,24 @@ BC_FIELD_ORDER = (('BankName', '发卡行名称'),
944 DDA_CN_NAME = 'DDA' 944 DDA_CN_NAME = 'DDA'
945 DDA_CLASSIFY = 38 945 DDA_CLASSIFY = 38
946 946
947 DDA_IC_NAME = 'customer_name'
948 DDA_IC_ID = 'customer_id'
949 DDA_BC_NAME = 'account_name'
950 DDA_BC_ID = 'account_id'
951
952 DDA_FIELD_ORDER = {
953 "title": "授权书标题",
954 "check_Num": "缴费编号",
955 "to_company": "收款企业",
956 "to_bank": "收款银行",
957 DDA_IC_NAME: "客户姓名",
958 DDA_IC_ID: "客户身份证号",
959 DDA_BC_NAME: "账户姓名",
960 DDA_BC_ID: "账户号码",
961 "signature": "客户签名",
962 "signature_date": "签名日期"
963 }
964
947 SUCCESS_CODE_SET = {'0', 0} 965 SUCCESS_CODE_SET = {'0', 0}
948 966
949 FIELD_ORDER_MAP = { 967 FIELD_ORDER_MAP = {
...@@ -977,7 +995,9 @@ LICENSE_ORDER = ((MVI_CLASSIFY, (MVI_PID, MVI_CN_NAME, MVI_FIELD_ORDER, False, F ...@@ -977,7 +995,9 @@ LICENSE_ORDER = ((MVI_CLASSIFY, (MVI_PID, MVI_CN_NAME, MVI_FIELD_ORDER, False, F
977 (DL_CLASSIFY, (DL_PID, DL_CN_NAME, None, True, False, MODEL_FIELD_DL)), 995 (DL_CLASSIFY, (DL_PID, DL_CN_NAME, None, True, False, MODEL_FIELD_DL)),
978 (PP_CLASSIFY, (PP_PID, PP_CN_NAME, PP_FIELD_ORDER, False, False, MODEL_FIELD_PP)), 996 (PP_CLASSIFY, (PP_PID, PP_CN_NAME, PP_FIELD_ORDER, False, False, MODEL_FIELD_PP)),
979 (MVC_CLASSIFY, (MVC_PID, MVC_CN_NAME, None, True, True, MODEL_FIELD_MVC)), 997 (MVC_CLASSIFY, (MVC_PID, MVC_CN_NAME, None, True, True, MODEL_FIELD_MVC)),
980 (VAT_CLASSIFY, (VAT_PID, VAT_CN_NAME, VAT_FIELD_ORDER, False, False, MODEL_FIELD_VAT))) 998 (VAT_CLASSIFY, (VAT_PID, VAT_CN_NAME, VAT_FIELD_ORDER, False, False, MODEL_FIELD_VAT)),
999 (DDA_CLASSIFY, (DDA_PID, DDA_CN_NAME, DDA_FIELD_ORDER, False, False, None)),
1000 )
981 1001
982 FOLDER_LICENSE_ORDER = ((MVI_CLASSIFY, (MVI_PID, MVI_CN_NAME, MVI_FIELD_ORDER, False, False, MODEL_FIELD_MVI)), 1002 FOLDER_LICENSE_ORDER = ((MVI_CLASSIFY, (MVI_PID, MVI_CN_NAME, MVI_FIELD_ORDER, False, False, MODEL_FIELD_MVI)),
983 (IC_CLASSIFY, (IC_PID, IC_CN_NAME, None, True, False, MODEL_FIELD_IC)), 1003 (IC_CLASSIFY, (IC_PID, IC_CN_NAME, None, True, False, MODEL_FIELD_IC)),
...@@ -1204,10 +1224,6 @@ BC_FIELD = 'BC' ...@@ -1204,10 +1224,6 @@ BC_FIELD = 'BC'
1204 IC_KEY_FIELD = ('姓名', '公民身份号码') 1224 IC_KEY_FIELD = ('姓名', '公民身份号码')
1205 BC_KEY_FIELD = 'CardNum' 1225 BC_KEY_FIELD = 'CardNum'
1206 1226
1207 DDA_IC_NAME = 'customer_name'
1208 DDA_IC_ID = 'customer_id'
1209 DDA_BC_NAME = 'account_name'
1210 DDA_BC_ID = 'account_id'
1211 DDA_IMG_PATH = 'img_path' 1227 DDA_IMG_PATH = 'img_path'
1212 DDA_PRO = 'pro' 1228 DDA_PRO = 'pro'
1213 1229
...@@ -1218,3 +1234,7 @@ DDA_MAPPING = [ ...@@ -1218,3 +1234,7 @@ DDA_MAPPING = [
1218 (DDA_BC_ID, BC_FIELD), 1234 (DDA_BC_ID, BC_FIELD),
1219 ] 1235 ]
1220 1236
1237 DDA_PRO_MIN = 0.6
1238
1239
1240
......
...@@ -199,17 +199,14 @@ class Command(BaseCommand, LoggerMixin): ...@@ -199,17 +199,14 @@ class Command(BaseCommand, LoggerMixin):
199 if not license_data: 199 if not license_data:
200 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS_EMPTY)) 200 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS_EMPTY))
201 return 201 return
202 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS))
203 if classify == consts.DDA_CLASSIFY: # DDA处理 202 if classify == consts.DDA_CLASSIFY: # DDA处理
204 pro = ocr_data.get('confidence') 203 pro = ocr_data.get('confidence', 0)
205 dda_ocr_result = { 204 if pro < consts.DDA_PRO_MIN:
206 consts.DDA_IC_NAME: license_data.get('result', {}).get(consts.DDA_IC_NAME, {}).get('words', ''), 205 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS_EMPTY))
207 consts.DDA_IC_ID: license_data.get('result', {}).get(consts.DDA_IC_ID, {}).get('words', ''), 206 return
208 consts.DDA_BC_NAME: license_data.get('result', {}).get(consts.DDA_BC_NAME, {}).get('words', ''), 207 dda_ocr_result = {key: value.get('words', '') for key, value in license_data.get('result', {}).items()}
209 consts.DDA_BC_ID: license_data.get('result', {}).get(consts.DDA_BC_ID, {}).get('words', ''), 208 dda_ocr_result[consts.DDA_IMG_PATH] = img_path
210 consts.DDA_IMG_PATH: img_path, 209 dda_ocr_result[consts.DDA_PRO] = pro
211 consts.DDA_PRO: pro
212 }
213 license_summary.setdefault(classify, []).append(dda_ocr_result) 210 license_summary.setdefault(classify, []).append(dda_ocr_result)
214 211
215 elif classify == consts.MVC_CLASSIFY: # 车辆登记证 3/4页结果整合 212 elif classify == consts.MVC_CLASSIFY: # 车辆登记证 3/4页结果整合
...@@ -304,6 +301,7 @@ class Command(BaseCommand, LoggerMixin): ...@@ -304,6 +301,7 @@ class Command(BaseCommand, LoggerMixin):
304 license_summary.setdefault(classify, []).extend(license_data) 301 license_summary.setdefault(classify, []).extend(license_data)
305 else: 302 else:
306 license_summary.setdefault(classify, []).extend(license_data) 303 license_summary.setdefault(classify, []).extend(license_data)
304 res_list.append((pno, ino, part_idx, consts.RES_SUCCESS))
307 305
308 def license2_process(self, ocr_res_2, license_summary, pid, classify, res_list, pno, ino, part_idx, img_path, do_dda, dda_id_bc_mapping): 306 def license2_process(self, ocr_res_2, license_summary, pid, classify, res_list, pno, ino, part_idx, img_path, do_dda, dda_id_bc_mapping):
309 if ocr_res_2.get('ErrorCode') in consts.SUCCESS_CODE_SET: 307 if ocr_res_2.get('ErrorCode') in consts.SUCCESS_CODE_SET:
...@@ -1046,9 +1044,10 @@ class Command(BaseCommand, LoggerMixin): ...@@ -1046,9 +1044,10 @@ class Command(BaseCommand, LoggerMixin):
1046 if len(dda_res_list) > 0: 1044 if len(dda_res_list) > 0:
1047 dda_res_list.sort(key=lambda x: x.get(consts.DDA_PRO, 0), 1045 dda_res_list.sort(key=lambda x: x.get(consts.DDA_PRO, 0),
1048 reverse=True) 1046 reverse=True)
1049 tmp_best_dda_res = dda_res_list[0] 1047 best_dda_res = dda_res_list[0]
1050 if tmp_best_dda_res.get(consts.DDA_PRO, 0) >= 0.6: 1048 # tmp_best_dda_res = dda_res_list[0]
1051 best_dda_res = tmp_best_dda_res 1049 # if tmp_best_dda_res.get(consts.DDA_PRO, 0) >= consts.DDA_PRO_MIN:
1050 # best_dda_res = tmp_best_dda_res
1052 self.online_log.info( 1051 self.online_log.info(
1053 '{0} [dda process] [task={1}] [dda={2}]'.format( 1052 '{0} [dda process] [task={1}] [dda={2}]'.format(
1054 self.log_base, task_str, dda_res_list)) 1053 self.log_base, task_str, dda_res_list))
......
...@@ -654,6 +654,7 @@ class BSWorkbook(Workbook): ...@@ -654,6 +654,7 @@ class BSWorkbook(Workbook):
654 ws.append((write_field, field_value)) 654 ws.append((write_field, field_value))
655 ws.append((None, )) 655 ws.append((None, ))
656 count += 1 656 count += 1
657 if field_str is not None:
657 count_list.append((field_str, count)) 658 count_list.append((field_str, count))
658 659
659 def simple_license_rebuild(self, license_summary, document_scheme): 660 def simple_license_rebuild(self, license_summary, document_scheme):
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!