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