dda excel
Showing
3 changed files
with
39 additions
and
19 deletions
... | @@ -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): | ... | ... |
-
Please register or sign in to post a comment