254938ba by 周伟奇

add update interface

1 parent cc3a4534
...@@ -1450,4 +1450,6 @@ HEAD_LIST = ['Info', 'Index', 'License', 'Field', 'Input', 'OCR', 'Result', 'Pos ...@@ -1450,4 +1450,6 @@ HEAD_LIST = ['Info', 'Index', 'License', 'Field', 'Input', 'OCR', 'Result', 'Pos
1450 1450
1451 IMG_PATH_KEY = 'uniq_img_path_key' 1451 IMG_PATH_KEY = 'uniq_img_path_key'
1452 1452
1453 INFO_SOURCE = ['POS', 'CMS']
1454
1453 1455
......
...@@ -560,6 +560,7 @@ class AFCSECompareResult(models.Model): ...@@ -560,6 +560,7 @@ class AFCSECompareResult(models.Model):
560 reason9_count = models.SmallIntegerField(default=0, verbose_name="原因9数目") 560 reason9_count = models.SmallIntegerField(default=0, verbose_name="原因9数目")
561 reason10_count = models.SmallIntegerField(default=0, verbose_name="原因10数目") 561 reason10_count = models.SmallIntegerField(default=0, verbose_name="原因10数目")
562 result = models.TextField(null=True, verbose_name="比对结果") 562 result = models.TextField(null=True, verbose_name="比对结果")
563 comments = models.TextField(null=True, verbose_name="备注")
563 update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') # 索引 564 update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') # 索引
564 create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') 565 create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
565 566
...@@ -587,6 +588,7 @@ class AFCCACompareResult(models.Model): ...@@ -587,6 +588,7 @@ class AFCCACompareResult(models.Model):
587 reason9_count = models.SmallIntegerField(default=0, verbose_name="原因9数目") 588 reason9_count = models.SmallIntegerField(default=0, verbose_name="原因9数目")
588 reason10_count = models.SmallIntegerField(default=0, verbose_name="原因10数目") 589 reason10_count = models.SmallIntegerField(default=0, verbose_name="原因10数目")
589 result = models.TextField(null=True, verbose_name="比对结果") 590 result = models.TextField(null=True, verbose_name="比对结果")
591 comments = models.TextField(null=True, verbose_name="备注")
590 update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') # 索引 592 update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') # 索引
591 create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') 593 create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
592 594
...@@ -614,6 +616,7 @@ class HILSECompareResult(models.Model): ...@@ -614,6 +616,7 @@ class HILSECompareResult(models.Model):
614 reason9_count = models.SmallIntegerField(default=0, verbose_name="原因9数目") 616 reason9_count = models.SmallIntegerField(default=0, verbose_name="原因9数目")
615 reason10_count = models.SmallIntegerField(default=0, verbose_name="原因10数目") 617 reason10_count = models.SmallIntegerField(default=0, verbose_name="原因10数目")
616 result = models.TextField(null=True, verbose_name="比对结果") 618 result = models.TextField(null=True, verbose_name="比对结果")
619 comments = models.TextField(null=True, verbose_name="备注")
617 update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') # 索引 620 update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') # 索引
618 create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') 621 create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
619 622
...@@ -640,6 +643,7 @@ class HILCACompareResult(models.Model): ...@@ -640,6 +643,7 @@ class HILCACompareResult(models.Model):
640 reason9_count = models.SmallIntegerField(default=0, verbose_name="原因9数目") 643 reason9_count = models.SmallIntegerField(default=0, verbose_name="原因9数目")
641 reason10_count = models.SmallIntegerField(default=0, verbose_name="原因10数目") 644 reason10_count = models.SmallIntegerField(default=0, verbose_name="原因10数目")
642 result = models.TextField(null=True, verbose_name="比对结果") 645 result = models.TextField(null=True, verbose_name="比对结果")
646 comments = models.TextField(null=True, verbose_name="备注")
643 update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') # 索引 647 update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') # 索引
644 create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') 648 create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
645 649
......
...@@ -778,13 +778,20 @@ class CompareResultView(GenericView): ...@@ -778,13 +778,20 @@ class CompareResultView(GenericView):
778 else: 778 else:
779 whole_result = 'Y' if result_obj.is_finish else 'N' 779 whole_result = 'Y' if result_obj.is_finish else 'N'
780 780
781 if result_obj is None or result_obj.comments is None:
782 comments = ''
783 else:
784 comments = result_obj.comments
785
781 compare_result = { 786 compare_result = {
782 'id': 0 if result_obj is None else result_obj.id, 787 'id': 0 if result_obj is None else result_obj.id,
783 'application_id': case_id, 788 'application_id': case_id,
784 'scheme': consts.DOC_SCHEME_LIST[0] if scheme == consts.COMPARE_DOC_SCHEME_LIST[0] else consts.DOC_SCHEME_LIST[1], 789 'scheme': consts.DOC_SCHEME_LIST[0] if scheme == consts.COMPARE_DOC_SCHEME_LIST[0] else consts.DOC_SCHEME_LIST[1],
785 'whole_result': whole_result, 790 'whole_result': whole_result,
786 'update_time': '' if result_obj is None else result_obj.update_time.strftime('%Y-%m-%d %H:%M'), 791 'latest_compared_time': '' if result_obj is None else result_obj.update_time.strftime('%Y-%m-%d %H:%M'),
787 'version': '' if result_obj is None else result_obj.version, 792 'source': '' if result_obj is None else result_obj.version.split(consts.SPLIT_STR)[0],
793 'version': '' if result_obj is None else result_obj.version.split(consts.SPLIT_STR)[1],
794 'comments': comments,
788 'result': [] if result_obj is None else json.loads(result_obj.result) 795 'result': [] if result_obj is None else json.loads(result_obj.result)
789 } 796 }
790 797
...@@ -823,6 +830,53 @@ class CompareResultView(GenericView): ...@@ -823,6 +830,53 @@ class CompareResultView(GenericView):
823 # """.format(body_html) 830 # """.format(body_html)
824 # return HttpResponse(html) 831 # return HttpResponse(html)
825 832
833 # 比对结果更新
834 # @use_args(result_update_args, location='data')
835 def post(self, request):
836 tmp_flag = random.choice([0, 1])
837 if tmp_flag == 0:
838 return response.ok()
839 else:
840 result_id = None
841 entity = "AFC"
842 scheme = 'SE'
843 case_id = 'CH-S1120929121'
844
845 if entity == consts.HIL_PREFIX:
846 result_table = HILCACompareResult if scheme == consts.COMPARE_DOC_SCHEME_LIST[0] else HILSECompareResult
847 else:
848 result_table = AFCCACompareResult if scheme == consts.COMPARE_DOC_SCHEME_LIST[0] else AFCSECompareResult
849
850 if result_id is not None:
851 result_obj = result_table.objects.filter(id=result_id).first()
852 else:
853 result_obj = result_table.objects.filter(application_id=case_id).first()
854
855 if result_obj is None:
856 whole_result = ''
857 else:
858 whole_result = 'Y' if result_obj.is_finish else 'N'
859
860 if result_obj is None or result_obj.comments is None:
861 comments = ''
862 else:
863 comments = result_obj.comments
864
865 compare_result = {
866 'id': 0 if result_obj is None else result_obj.id,
867 'application_id': case_id,
868 'scheme': consts.DOC_SCHEME_LIST[0] if scheme == consts.COMPARE_DOC_SCHEME_LIST[0] else
869 consts.DOC_SCHEME_LIST[1],
870 'whole_result': whole_result,
871 'latest_compared_time': '' if result_obj is None else result_obj.update_time.strftime('%Y-%m-%d %H:%M'),
872 'source': '' if result_obj is None else result_obj.version.split(consts.SPLIT_STR)[0],
873 'version': '' if result_obj is None else result_obj.version.split(consts.SPLIT_STR)[1],
874 'comments': comments,
875 'result': [] if result_obj is None else json.loads(result_obj.result)
876 }
877
878 return response.need_update(data=compare_result)
879
826 880
827 class ResourcesView(GenericView): 881 class ResourcesView(GenericView):
828 permission_classes = [] 882 permission_classes = []
......
...@@ -846,7 +846,7 @@ def se_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res ...@@ -846,7 +846,7 @@ def se_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res
846 res_obj.compare_count = total_fields 846 res_obj.compare_count = total_fields
847 res_obj.failed_count = failed_count 847 res_obj.failed_count = failed_count
848 res_obj.is_finish = failed_count == 0 848 res_obj.is_finish = failed_count == 0
849 res_obj.version = 'POS-{0}'.format(last_obj.application_version) 849 res_obj.version = '{0}{1}{2}'.format(consts.INFO_SOURCE[0], consts.SPLIT_STR, last_obj.application_version)
850 # res_obj.reason1_count = reason1_count 850 # res_obj.reason1_count = reason1_count
851 res_obj.result = json.dumps(compare_result) 851 res_obj.result = json.dumps(compare_result)
852 res_obj.save() 852 res_obj.save()
......
...@@ -20,6 +20,7 @@ class MetaStatus(NamedEnum): ...@@ -20,6 +20,7 @@ class MetaStatus(NamedEnum):
20 ASYNC_WAIT = (5, 'async wait') 20 ASYNC_WAIT = (5, 'async wait')
21 NO_PERMISSION = (6, 'no permission') 21 NO_PERMISSION = (6, 'no permission')
22 ILLEGAL_OPERATION = (7, 'illegal operation') 22 ILLEGAL_OPERATION = (7, 'illegal operation')
23 NEED_UPDATE = (8, 'need update')
23 24
24 25
25 class APIResponse(JsonResponse): 26 class APIResponse(JsonResponse):
...@@ -32,3 +33,7 @@ class APIResponse(JsonResponse): ...@@ -32,3 +33,7 @@ class APIResponse(JsonResponse):
32 33
33 def ok(**kwargs): 34 def ok(**kwargs):
34 return APIResponse(MetaStatus.SUCCESS.value, msg=MetaStatus.SUCCESS.verbose_name, **kwargs) 35 return APIResponse(MetaStatus.SUCCESS.value, msg=MetaStatus.SUCCESS.verbose_name, **kwargs)
36
37
38 def need_update(**kwargs):
39 return APIResponse(MetaStatus.NEED_UPDATE.value, msg=MetaStatus.NEED_UPDATE.verbose_name, **kwargs)
......
1 import pyodbc 1 import pyodbc
2 2
3 hil_sql = """ 3 hil_sql = """
4 ALTER TABLE hil_ca_compare_result ADD version nvarchar(8); 4 ALTER TABLE hil_ca_compare_result ADD version nvarchar(8), comments nvarchar(max);
5 ALTER TABLE hil_se_compare_result ADD version nvarchar(8); 5 ALTER TABLE hil_se_compare_result ADD version nvarchar(8), comments nvarchar(max);
6 """ 6 """
7 7
8 afc_sql = """ 8 afc_sql = """
9 ALTER TABLE afc_ca_compare_result ADD version nvarchar(8); 9 ALTER TABLE afc_ca_compare_result ADD version nvarchar(8), comments nvarchar(max);
10 ALTER TABLE afc_se_compare_result ADD version nvarchar(8); 10 ALTER TABLE afc_se_compare_result ADD version nvarchar(8), comments nvarchar(max);
11 """ 11 """
12 12
13 hil_cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};', autocommit=True) 13 hil_cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};', autocommit=True)
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!