add update interface
Showing
6 changed files
with
72 additions
and
7 deletions
... | @@ -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) | ... | ... |
-
Please register or sign in to post a comment