72c57e42 by 周伟奇

add rpa field

1 parent 8b24dc41
...@@ -625,6 +625,7 @@ class AFCSECompareResult(models.Model): ...@@ -625,6 +625,7 @@ class AFCSECompareResult(models.Model):
625 reason9_count = models.SmallIntegerField(default=0, verbose_name="原因9数目") 625 reason9_count = models.SmallIntegerField(default=0, verbose_name="原因9数目")
626 reason10_count = models.SmallIntegerField(default=0, verbose_name="原因10数目") 626 reason10_count = models.SmallIntegerField(default=0, verbose_name="原因10数目")
627 result = models.TextField(null=True, verbose_name="比对结果") 627 result = models.TextField(null=True, verbose_name="比对结果")
628 failure_reason = models.TextField(null=True, verbose_name="failure reason for RPA")
628 comments = models.TextField(null=True, verbose_name="备注") 629 comments = models.TextField(null=True, verbose_name="备注")
629 update_time = models.DateTimeField(auto_now=False, verbose_name='修改时间') # 索引 630 update_time = models.DateTimeField(auto_now=False, verbose_name='修改时间') # 索引
630 create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') 631 create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
...@@ -681,6 +682,7 @@ class HILSECompareResult(models.Model): ...@@ -681,6 +682,7 @@ class HILSECompareResult(models.Model):
681 reason9_count = models.SmallIntegerField(default=0, verbose_name="原因9数目") 682 reason9_count = models.SmallIntegerField(default=0, verbose_name="原因9数目")
682 reason10_count = models.SmallIntegerField(default=0, verbose_name="原因10数目") 683 reason10_count = models.SmallIntegerField(default=0, verbose_name="原因10数目")
683 result = models.TextField(null=True, verbose_name="比对结果") 684 result = models.TextField(null=True, verbose_name="比对结果")
685 failure_reason = models.TextField(null=True, verbose_name="failure reason for RPA")
684 comments = models.TextField(null=True, verbose_name="备注") 686 comments = models.TextField(null=True, verbose_name="备注")
685 update_time = models.DateTimeField(auto_now=False, verbose_name='修改时间') # 索引 687 update_time = models.DateTimeField(auto_now=False, verbose_name='修改时间') # 索引
686 create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') 688 create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
......
...@@ -2517,6 +2517,7 @@ def se_compare_process(compare_info, ocr_res_dict, is_gsyh, is_auto): ...@@ -2517,6 +2517,7 @@ def se_compare_process(compare_info, ocr_res_dict, is_gsyh, is_auto):
2517 successful_at_this_level = True 2517 successful_at_this_level = True
2518 failure_reason = {} 2518 failure_reason = {}
2519 cn_reason_list = [] 2519 cn_reason_list = []
2520 rpa_failure_reason = {}
2520 2521
2521 for info_key, info_value in compare_info.items(): 2522 for info_key, info_value in compare_info.items():
2522 if info_key in ['individualCusInfo', 'applicantInformation']: 2523 if info_key in ['individualCusInfo', 'applicantInformation']:
...@@ -2547,6 +2548,7 @@ def se_compare_process(compare_info, ocr_res_dict, is_gsyh, is_auto): ...@@ -2547,6 +2548,7 @@ def se_compare_process(compare_info, ocr_res_dict, is_gsyh, is_auto):
2547 successful_at_this_level = False 2548 successful_at_this_level = False
2548 failure_field.append(name) 2549 failure_field.append(name)
2549 cn_reason_list.append(cn_reason) 2550 cn_reason_list.append(cn_reason)
2551 rpa_failure_reason.setdefault(cn_reason, []).append(value)
2550 compare_result.append( 2552 compare_result.append(
2551 { 2553 {
2552 consts.HEAD_LIST[0]: info_key, 2554 consts.HEAD_LIST[0]: info_key,
...@@ -2598,8 +2600,10 @@ def se_compare_process(compare_info, ocr_res_dict, is_gsyh, is_auto): ...@@ -2598,8 +2600,10 @@ def se_compare_process(compare_info, ocr_res_dict, is_gsyh, is_auto):
2598 failure_field.append(name) 2600 failure_field.append(name)
2599 if isinstance(cn_reason, str): 2601 if isinstance(cn_reason, str):
2600 cn_reason_list.append(cn_reason) 2602 cn_reason_list.append(cn_reason)
2603 rpa_failure_reason.setdefault(cn_reason, []).append(value)
2601 elif isinstance(cn_reason, list): 2604 elif isinstance(cn_reason, list):
2602 cn_reason_list.extend(cn_reason) 2605 cn_reason_list.extend(cn_reason)
2606 rpa_failure_reason.setdefault('、'.join(cn_reason), []).append(value)
2603 compare_result.append( 2607 compare_result.append(
2604 { 2608 {
2605 consts.HEAD_LIST[0]: info_key, 2609 consts.HEAD_LIST[0]: info_key,
...@@ -2642,7 +2646,7 @@ def se_compare_process(compare_info, ocr_res_dict, is_gsyh, is_auto): ...@@ -2642,7 +2646,7 @@ def se_compare_process(compare_info, ocr_res_dict, is_gsyh, is_auto):
2642 last_cn_reason_list.append(i) 2646 last_cn_reason_list.append(i)
2643 cn_failure_reason_str = '\n'.join(last_cn_reason_list) 2647 cn_failure_reason_str = '\n'.join(last_cn_reason_list)
2644 bs_failure_reason_str = '\n'.join(bs_cn_reason_list) 2648 bs_failure_reason_str = '\n'.join(bs_cn_reason_list)
2645 return compare_result, total_fields, failed_count, successful_at_this_level, failure_reason_str, cn_failure_reason_str, bs_failure_reason_str 2649 return compare_result, total_fields, failed_count, successful_at_this_level, failure_reason_str, cn_failure_reason_str, bs_failure_reason_str, rpa_failure_reason
2646 2650
2647 2651
2648 def se_result_detect(ocr_res_dict): 2652 def se_result_detect(ocr_res_dict):
...@@ -2705,7 +2709,7 @@ def se_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res ...@@ -2705,7 +2709,7 @@ def se_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res
2705 detect_list = se_result_detect(ocr_res_dict) 2709 detect_list = se_result_detect(ocr_res_dict)
2706 compare_info, application_version, is_gsyh = get_se_cms_compare_info( 2710 compare_info, application_version, is_gsyh = get_se_cms_compare_info(
2707 last_obj, application_entity, detect_list) 2711 last_obj, application_entity, detect_list)
2708 compare_result, total_fields, failed_count, successful_at_this_level, failure_reason_str, cn_failure_reason_str, bs_failure_reason_str = se_compare_process(compare_info, ocr_res_dict, is_gsyh, False) 2712 compare_result, total_fields, failed_count, successful_at_this_level, failure_reason_str, cn_failure_reason_str, bs_failure_reason_str, rpa_failure_reason = se_compare_process(compare_info, ocr_res_dict, is_gsyh, False)
2709 compare_log.info('{0} [SE] [compare success] [entity={1}] [id={2}] [ocr_res_id={3}] [result={4}]'.format( 2713 compare_log.info('{0} [SE] [compare success] [entity={1}] [id={2}] [ocr_res_id={3}] [result={4}]'.format(
2710 log_base, application_entity, application_id, ocr_res_id, compare_result)) 2714 log_base, application_entity, application_id, ocr_res_id, compare_result))
2711 except Exception as e: 2715 except Exception as e:
...@@ -2729,6 +2733,7 @@ def se_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res ...@@ -2729,6 +2733,7 @@ def se_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res
2729 # res_obj.reason1_count = reason1_count 2733 # res_obj.reason1_count = reason1_count
2730 res_obj.result = json.dumps(compare_result) 2734 res_obj.result = json.dumps(compare_result)
2731 res_obj.update_time = datetime.now() 2735 res_obj.update_time = datetime.now()
2736 res_obj.failure_reason = json.dumps(rpa_failure_reason, ensure_ascii=True)
2732 res_obj.save() 2737 res_obj.save()
2733 compare_log.info('{0} [SE] [result save success] [entity={1}] [id={2}] [ocr_res_id={3}]'.format( 2738 compare_log.info('{0} [SE] [result save success] [entity={1}] [id={2}] [ocr_res_id={3}]'.format(
2734 log_base, application_entity, application_id, ocr_res_id)) 2739 log_base, application_entity, application_id, ocr_res_id))
......
1 import pyodbc
2
3 hil_sql = """
4 ALTER TABLE hil_se_compare_result ADD failure_reason nvarchar(max);
5 """
6
7 afc_sql = """
8 ALTER TABLE afc_se_compare_result ADD failure_reason nvarchar(max);
9 """
10
11 hil_cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};', autocommit=True)
12
13 hil_cursor = hil_cnxn.cursor()
14 hil_cursor.execute(hil_sql)
15
16 hil_cursor.close()
17 hil_cnxn.close()
18
19 afc_cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};', autocommit=True)
20
21 afc_cursor = afc_cnxn.cursor()
22 afc_cursor.execute(afc_sql)
23
24 afc_cursor.close()
25 afc_cnxn.close()
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!