Merge branch 'feature/CHINARPA-4660'
Showing
5 changed files
with
117 additions
and
0 deletions
... | @@ -1248,6 +1248,8 @@ FSM_CONTRACT_WEP_FIELD = 'fsm_wep_ocr' | ... | @@ -1248,6 +1248,8 @@ FSM_CONTRACT_WEP_FIELD = 'fsm_wep_ocr' |
1248 | FSM_CONTRACT_MSI_FIELD = 'fsm_msi_ocr' | 1248 | FSM_CONTRACT_MSI_FIELD = 'fsm_msi_ocr' |
1249 | FSM_CONTRACT_SC_FIELD = 'fsm_sc_ocr' | 1249 | FSM_CONTRACT_SC_FIELD = 'fsm_sc_ocr' |
1250 | FSM_CONTRACT_SC2_FIELD = 'fsm_sc2_ocr' | 1250 | FSM_CONTRACT_SC2_FIELD = 'fsm_sc2_ocr' |
1251 | FS_FIELD = 'fs_ocr' | ||
1252 | FSS_FIELD = 'fss_ocr' | ||
1251 | 1253 | ||
1252 | 1254 | ||
1253 | BS_CLASSIFY = 10089 | 1255 | BS_CLASSIFY = 10089 |
... | @@ -1304,6 +1306,8 @@ COMPARE_FIELDS = ( | ... | @@ -1304,6 +1306,8 @@ COMPARE_FIELDS = ( |
1304 | HIL_CONTRACT_1_FIELD, | 1306 | HIL_CONTRACT_1_FIELD, |
1305 | HIL_CONTRACT_2_FIELD, | 1307 | HIL_CONTRACT_2_FIELD, |
1306 | HIL_CONTRACT_3_FIELD, | 1308 | HIL_CONTRACT_3_FIELD, |
1309 | FS_FIELD, | ||
1310 | FSS_FIELD, | ||
1307 | ) | 1311 | ) |
1308 | 1312 | ||
1309 | PRE_COMPARE_FIELDS = ( | 1313 | PRE_COMPARE_FIELDS = ( |
... | @@ -1505,6 +1509,8 @@ SE_BD_FIELD = ['被保险人姓名', '被保险人证件号码', '车架号', ' | ... | @@ -1505,6 +1509,8 @@ SE_BD_FIELD = ['被保险人姓名', '被保险人证件号码', '车架号', ' |
1505 | JDMPV_VALUE = ['-', '--', '0%', '0.00', '/', '0', ''] | 1509 | JDMPV_VALUE = ['-', '--', '0%', '0.00', '/', '0', ''] |
1506 | JYPZ_TYPE_1 = ['二手车交易凭证'] | 1510 | JYPZ_TYPE_1 = ['二手车交易凭证'] |
1507 | JYPZ_TYPE_2 = ['BMW官方认证二手车交易凭证', '二手车交易凭证'] | 1511 | JYPZ_TYPE_2 = ['BMW官方认证二手车交易凭证', '二手车交易凭证'] |
1512 | SE_FS_FIELD = ['Hash值', '公章', '财年', '资产负债表内容', '利润表内容'] | ||
1513 | SE_FSS_FIELD = ['公司名称', '公章'] | ||
1508 | 1514 | ||
1509 | SE_BANK_FIELD = ['accountNo', 'bankName'] | 1515 | SE_BANK_FIELD = ['accountNo', 'bankName'] |
1510 | SE_DDA_FIELD = ['applicationId(1)', 'applicationId(2)', 'bankName', 'companyName', 'customerName', 'idNum', 'accountHolderName', 'accountNo'] | 1516 | SE_DDA_FIELD = ['applicationId(1)', 'applicationId(2)', 'bankName', 'companyName', 'customerName', 'idNum', 'accountHolderName', 'accountNo'] |
... | @@ -1818,8 +1824,11 @@ BS_EN = 'Bank Statement' | ... | @@ -1818,8 +1824,11 @@ BS_EN = 'Bank Statement' |
1818 | HIL_CONTRACT_1_EN = '售后回租合同' | 1824 | HIL_CONTRACT_1_EN = '售后回租合同' |
1819 | HIL_CONTRACT_2_EN = '车辆租赁抵押合同' | 1825 | HIL_CONTRACT_2_EN = '车辆租赁抵押合同' |
1820 | HIL_CONTRACT_3_EN = '车辆处置协议' | 1826 | HIL_CONTRACT_3_EN = '车辆处置协议' |
1827 | FS_EN = 'Financial Statement' | ||
1828 | FSS_EN = 'Financial Statement Supplementary' | ||
1821 | 1829 | ||
1822 | DDA_NO_FIND = '需人工查看DDA或截图' | 1830 | DDA_NO_FIND = '需人工查看DDA或截图' |
1831 | FS_NO_FIND = '未提供财报或财报不完整' | ||
1823 | 1832 | ||
1824 | SKIP_CARD = {SME_BL_EN} | 1833 | SKIP_CARD = {SME_BL_EN} |
1825 | 1834 | ||
... | @@ -2160,6 +2169,20 @@ HT_COMPARE_LOGIC = { | ... | @@ -2160,6 +2169,20 @@ HT_COMPARE_LOGIC = { |
2160 | '无ASP产品': ('无ASP产品', 'se_self_compare_other_asp', {}, GZS_REASON_1), | 2169 | '无ASP产品': ('无ASP产品', 'se_self_compare_other_asp', {}, GZS_REASON_1), |
2161 | } | 2170 | } |
2162 | 2171 | ||
2172 | # 格式:'xueao给的excel字段名':('数据库字段名','比对逻辑','特殊处理可以忽略','比对不合格时的返回内容') | ||
2173 | FS_COMPARE_LOGIC = { | ||
2174 | 'Hash值': ('code', 'hash_code_compare', {}, '财报Hash值与系统不一致'), | ||
2175 | '公章': ('stamp', 'stamp_dict_compare', {}, '财报无公章'), | ||
2176 | '财年': ('财年', 'fiscal_year_compare', {}, '财报所属财年错误'), | ||
2177 | '资产负债表内容': ('资产负债表内容', 'input_list_not_zero_compare', {}, '财报资产负债表为空'), | ||
2178 | '利润表内容': ('利润表内容', 'input_list_not_zero_compare', {}, '财报利润表为空'), | ||
2179 | } | ||
2180 | |||
2181 | FSS_COMPARE_LOGIC = { | ||
2182 | '公司名称': ('title', 'se_company_compare', {}, '财报情况说明公司名称错误'), | ||
2183 | '公章': ('stamp', 'stamp_str_compare', {}, '财报情况说明无公章'), | ||
2184 | } | ||
2185 | |||
2163 | AFC_HT_DATE_FIELDS = ['主借人日期', '共借人日期', '保证人日期1', '保证人日期2'] | 2186 | AFC_HT_DATE_FIELDS = ['主借人日期', '共借人日期', '保证人日期1', '保证人日期2'] |
2164 | 2187 | ||
2165 | # MVC_OCR_FIELD = 'mvc_ocr' | 2188 | # MVC_OCR_FIELD = 'mvc_ocr' |
... | @@ -2188,6 +2211,8 @@ SE_COMPARE_FIELD = { | ... | @@ -2188,6 +2211,8 @@ SE_COMPARE_FIELD = { |
2188 | HIL_CONTRACT_1_EN: (HIL_CONTRACT_1_FIELD, HIL_CONTRACT_1_COMPARE_LOGIC, False), | 2211 | HIL_CONTRACT_1_EN: (HIL_CONTRACT_1_FIELD, HIL_CONTRACT_1_COMPARE_LOGIC, False), |
2189 | HIL_CONTRACT_2_EN: (HIL_CONTRACT_2_FIELD, HIL_CONTRACT_2_COMPARE_LOGIC, False), | 2212 | HIL_CONTRACT_2_EN: (HIL_CONTRACT_2_FIELD, HIL_CONTRACT_2_COMPARE_LOGIC, False), |
2190 | HIL_CONTRACT_3_EN: (HIL_CONTRACT_3_FIELD, HIL_CONTRACT_3_COMPARE_LOGIC, False), | 2213 | HIL_CONTRACT_3_EN: (HIL_CONTRACT_3_FIELD, HIL_CONTRACT_3_COMPARE_LOGIC, False), |
2214 | FS_EN: (FS_FIELD, FS_COMPARE_LOGIC, False), | ||
2215 | FSS_EN: (FSS_FIELD, FSS_COMPARE_LOGIC, False), | ||
2191 | } | 2216 | } |
2192 | 2217 | ||
2193 | SE_COMPARE_FIELD_AUTO = { | 2218 | SE_COMPARE_FIELD_AUTO = { | ... | ... |
... | @@ -336,6 +336,8 @@ class AFCOCRResult(models.Model): | ... | @@ -336,6 +336,8 @@ class AFCOCRResult(models.Model): |
336 | fsm_sc_ocr = models.TextField(null=True, verbose_name="汽车销售合同") | 336 | fsm_sc_ocr = models.TextField(null=True, verbose_name="汽车销售合同") |
337 | fsm_sc2_ocr = models.TextField(null=True, verbose_name="汽车销售合同补充合同") | 337 | fsm_sc2_ocr = models.TextField(null=True, verbose_name="汽车销售合同补充合同") |
338 | fsm_activited = models.IntegerField(null=False, default=0, verbose_name="fsm激活状态 1:激活") | 338 | fsm_activited = models.IntegerField(null=False, default=0, verbose_name="fsm激活状态 1:激活") |
339 | fs_ocr = models.TextField(null=True, verbose_name="财务报表") | ||
340 | fss_ocr = models.TextField(null=True, verbose_name="财务情况说明书") | ||
339 | 341 | ||
340 | 342 | ||
341 | update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') | 343 | update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') |
... | @@ -379,6 +381,8 @@ class HILOCRResult(models.Model): | ... | @@ -379,6 +381,8 @@ class HILOCRResult(models.Model): |
379 | fsm_sc_ocr = models.TextField(null=True, verbose_name="汽车销售合同") | 381 | fsm_sc_ocr = models.TextField(null=True, verbose_name="汽车销售合同") |
380 | fsm_sc2_ocr = models.TextField(null=True, verbose_name="汽车销售合同补充合同") | 382 | fsm_sc2_ocr = models.TextField(null=True, verbose_name="汽车销售合同补充合同") |
381 | fsm_activited = models.IntegerField(null=False, default=0, verbose_name="fsm激活状态 1:激活") | 383 | fsm_activited = models.IntegerField(null=False, default=0, verbose_name="fsm激活状态 1:激活") |
384 | fs_ocr = models.TextField(null=True, verbose_name="财务报表") | ||
385 | fss_ocr = models.TextField(null=True, verbose_name="财务情况说明书") | ||
382 | 386 | ||
383 | update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') | 387 | update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') |
384 | create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') | 388 | create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') |
... | @@ -420,6 +424,8 @@ class AFCSEOCRResult(models.Model): | ... | @@ -420,6 +424,8 @@ class AFCSEOCRResult(models.Model): |
420 | fsm_sc_ocr = models.TextField(null=True, verbose_name="汽车销售合同") | 424 | fsm_sc_ocr = models.TextField(null=True, verbose_name="汽车销售合同") |
421 | fsm_sc2_ocr = models.TextField(null=True, verbose_name="汽车销售合同补充合同") | 425 | fsm_sc2_ocr = models.TextField(null=True, verbose_name="汽车销售合同补充合同") |
422 | fsm_activited = models.IntegerField(null=False, default=0, verbose_name="fsm激活状态 1:激活") | 426 | fsm_activited = models.IntegerField(null=False, default=0, verbose_name="fsm激活状态 1:激活") |
427 | fs_ocr = models.TextField(null=True, verbose_name="财务报表") | ||
428 | fss_ocr = models.TextField(null=True, verbose_name="财务情况说明书") | ||
423 | 429 | ||
424 | update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') | 430 | update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') |
425 | create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') | 431 | create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') |
... | @@ -461,6 +467,8 @@ class HILSEOCRResult(models.Model): | ... | @@ -461,6 +467,8 @@ class HILSEOCRResult(models.Model): |
461 | fsm_sc_ocr = models.TextField(null=True, verbose_name="汽车销售合同") | 467 | fsm_sc_ocr = models.TextField(null=True, verbose_name="汽车销售合同") |
462 | fsm_sc2_ocr = models.TextField(null=True, verbose_name="汽车销售合同补充合同") | 468 | fsm_sc2_ocr = models.TextField(null=True, verbose_name="汽车销售合同补充合同") |
463 | fsm_activited = models.IntegerField(null=False, default=0, verbose_name="fsm激活状态 1:激活") | 469 | fsm_activited = models.IntegerField(null=False, default=0, verbose_name="fsm激活状态 1:激活") |
470 | fs_ocr = models.TextField(null=True, verbose_name="财务报表") | ||
471 | fss_ocr = models.TextField(null=True, verbose_name="财务情况说明书") | ||
464 | 472 | ||
465 | update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') | 473 | update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') |
466 | create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') | 474 | create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') | ... | ... |
This diff is collapsed.
Click to expand it.
... | @@ -704,5 +704,58 @@ class Comparison: | ... | @@ -704,5 +704,58 @@ class Comparison: |
704 | except Exception as e: | 704 | except Exception as e: |
705 | return self.RESULT_N | 705 | return self.RESULT_N |
706 | 706 | ||
707 | def hash_code_compare(self, input_str, ocr_dict, **kwargs): | ||
708 | try: | ||
709 | balance_sheet_hash = ocr_dict.get('balance_sheet','') | ||
710 | income_statement_hash = ocr_dict.get('income_statement','') | ||
711 | cash_flow_statement_hash = ocr_dict.get('cash_flow_statement','') | ||
712 | if balance_sheet_hash != input_str or income_statement_hash != input_str or cash_flow_statement_hash != input_str: | ||
713 | return self.RESULT_N | ||
714 | else: | ||
715 | return self.RESULT_Y | ||
716 | except Exception as e: | ||
717 | return self.RESULT_N | ||
718 | |||
719 | def stamp_dict_compare(self, input_str, ocr_dict, **kwargs): | ||
720 | try: | ||
721 | balance_sheet_stamp = ocr_dict.get('balance_sheet','') | ||
722 | income_statement_stamp = ocr_dict.get('income_statement','') | ||
723 | cash_flow_statement_stamp = ocr_dict.get('cash_flow_statement','') | ||
724 | if balance_sheet_stamp != 1 or income_statement_stamp != 1 or cash_flow_statement_stamp != 1: | ||
725 | return self.RESULT_N | ||
726 | else: | ||
727 | return self.RESULT_Y | ||
728 | except Exception as e: | ||
729 | return self.RESULT_N | ||
730 | |||
731 | def stamp_str_compare(self, input_str, ocr_str, **kwargs): | ||
732 | try: | ||
733 | if ocr_str != 1: | ||
734 | return self.RESULT_N | ||
735 | else: | ||
736 | return self.RESULT_Y | ||
737 | except Exception as e: | ||
738 | return self.RESULT_N | ||
739 | |||
740 | def fiscal_year_compare(self, input_str, ocr_list, **kwargs): | ||
741 | try: | ||
742 | this_year_str = datetime.now().strftime('%Y') | ||
743 | this_year = int(this_year_str) | ||
744 | last_year = this_year - 1 | ||
745 | if str(input_str) != str(this_year) and str(input_str) != str(last_year): | ||
746 | return self.RESULT_N | ||
747 | return self.RESULT_Y | ||
748 | except Exception as e: | ||
749 | return self.RESULT_N | ||
750 | |||
751 | def input_list_not_zero_compare(self, input_list, ocr_list, **kwargs): | ||
752 | try: | ||
753 | for item in input_list: | ||
754 | if float(item) == 0: | ||
755 | return self.RESULT_N | ||
756 | return self.RESULT_Y | ||
757 | except Exception as e: | ||
758 | return self.RESULT_N | ||
759 | |||
707 | 760 | ||
708 | cp = Comparison() | 761 | cp = Comparison() | ... | ... |
src/common/tools/mssql_script28.py
0 → 100644
1 | import pyodbc | ||
2 | |||
3 | hil_sql = """ | ||
4 | ALTER TABLE hil_ocr_result ADD fs_ocr nvarchar(max); | ||
5 | ALTER TABLE hil_se_ocr_result ADD fs_ocr nvarchar(max); | ||
6 | ALTER TABLE hil_ocr_result ADD fss_ocr nvarchar(max); | ||
7 | ALTER TABLE hil_se_ocr_result ADD fss_ocr nvarchar(max); | ||
8 | """ | ||
9 | |||
10 | afc_sql = """ | ||
11 | ALTER TABLE afc_ocr_result ADD fs_ocr nvarchar(max); | ||
12 | ALTER TABLE afc_se_ocr_result ADD fs_ocr nvarchar(max); | ||
13 | ALTER TABLE afc_ocr_result ADD fss_ocr nvarchar(max); | ||
14 | ALTER TABLE afc_se_ocr_result ADD fss_ocr nvarchar(max); | ||
15 | """ | ||
16 | |||
17 | hil_cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};', autocommit=True) | ||
18 | |||
19 | hil_cursor = hil_cnxn.cursor() | ||
20 | hil_cursor.execute(hil_sql) | ||
21 | |||
22 | hil_cursor.close() | ||
23 | hil_cnxn.close() | ||
24 | |||
25 | afc_cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};', autocommit=True) | ||
26 | |||
27 | afc_cursor = afc_cnxn.cursor() | ||
28 | afc_cursor.execute(afc_sql) | ||
29 | |||
30 | afc_cursor.close() | ||
31 | afc_cnxn.close() |
-
Please register or sign in to post a comment