eccdff28 by 周伟奇

se compare part 5

1 parent d47405de
...@@ -1054,18 +1054,23 @@ EEP_OCR_FIELD = 'eep_ocr' ...@@ -1054,18 +1054,23 @@ EEP_OCR_FIELD = 'eep_ocr'
1054 DL_OCR_FIELD = 'dl_ocr' 1054 DL_OCR_FIELD = 'dl_ocr'
1055 PP_OCR_FIELD = 'pp_ocr' 1055 PP_OCR_FIELD = 'pp_ocr'
1056 MVC_OCR_FIELD = 'mvc_ocr' 1056 MVC_OCR_FIELD = 'mvc_ocr'
1057 MVI_OCR_FIELD = 'mvi_ocr'
1058 BC_OCR_FIELD = 'bc_ocr'
1059 UCI_OCR_FIELD = 'uci_ocr'
1060 DDA_OCR_FIELD = 'bs_ocr'
1057 1061
1058 RESULT_MAPPING = { 1062 RESULT_MAPPING = {
1059 # MVI_CLASSIFY: 'mvi_ocr', 1063 MVI_CLASSIFY: MVI_OCR_FIELD,
1060 IC_CLASSIFY: IC_OCR_FIELD, 1064 IC_CLASSIFY: IC_OCR_FIELD,
1061 RP_CLASSIFY: RP_OCR_FIELD, 1065 RP_CLASSIFY: RP_OCR_FIELD,
1062 # BC_CLASSIFY: 'bc_ocr', 1066 BC_CLASSIFY: BC_OCR_FIELD,
1063 BL_CLASSIFY: BL_OCR_FIELD, 1067 BL_CLASSIFY: BL_OCR_FIELD,
1064 # UCI_CLASSIFY: 'uci_ocr', 1068 UCI_CLASSIFY: UCI_OCR_FIELD,
1065 EEP_CLASSIFY: EEP_OCR_FIELD, 1069 EEP_CLASSIFY: EEP_OCR_FIELD,
1066 DL_CLASSIFY: DL_OCR_FIELD, 1070 DL_CLASSIFY: DL_OCR_FIELD,
1067 PP_CLASSIFY: PP_OCR_FIELD, 1071 PP_CLASSIFY: PP_OCR_FIELD,
1068 MVC_CLASSIFY: MVC_OCR_FIELD, 1072 MVC_CLASSIFY: MVC_OCR_FIELD,
1073 DDA_CLASSIFY: DDA_OCR_FIELD,
1069 # VAT_CLASSIFY: 'vat_ocr', 1074 # VAT_CLASSIFY: 'vat_ocr',
1070 } 1075 }
1071 1076
......
...@@ -979,7 +979,7 @@ class Command(BaseCommand, LoggerMixin): ...@@ -979,7 +979,7 @@ class Command(BaseCommand, LoggerMixin):
979 finally: 979 finally:
980 # TODO 识别结果存一张表,方便跑报表 980 # TODO 识别结果存一张表,方便跑报表
981 981
982 # CA比对 982 # 比对
983 if len(license_summary) > 0 and doc.document_scheme != consts.DOC_SCHEME_LIST[2]: 983 if len(license_summary) > 0 and doc.document_scheme != consts.DOC_SCHEME_LIST[2]:
984 try: 984 try:
985 is_ca = True if doc.document_scheme == consts.DOC_SCHEME_LIST[0] else False 985 is_ca = True if doc.document_scheme == consts.DOC_SCHEME_LIST[0] else False
......
...@@ -190,6 +190,58 @@ class AFCComparisonInfo(models.Model): ...@@ -190,6 +190,58 @@ class AFCComparisonInfo(models.Model):
190 db_table = 'afc_comparison_info' 190 db_table = 'afc_comparison_info'
191 situ_db_label = 'afc' 191 situ_db_label = 'afc'
192 192
193 # 比对信息表
194 class AFCSEComparisonInfo(models.Model):
195 id = models.BigAutoField(primary_key=True, verbose_name="id") # 主键
196 uniq_seq = models.CharField(max_length=128, verbose_name="唯一序列号") # 索引
197 application_id = models.CharField(max_length=64, verbose_name="申请id") # 索引
198 application_version = models.SmallIntegerField(default=0, verbose_name="应用版本")
199 # CUSTOMER_TYPE = ['TCCOR', 'TCDAS', 'TCFRE', 'TCIAS', 'TCIND', 'TCSEP', 'TCURE']
200 customer_type = models.CharField(max_length=16, verbose_name="顾客类型")
201 first_submmison_date = models.CharField(max_length=16, verbose_name="首次提交时间")
202 property_doc_policy = models.CharField(null=True, max_length=16, verbose_name="申请及文件政策")
203
204 individual_cus_info = models.TextField(verbose_name="个人信息")
205 corporate_cus_info = models.TextField(null=True, verbose_name="公司信息")
206 vehicle_info = models.TextField(verbose_name="车辆信息")
207 insurance_info = models.TextField(verbose_name="保险信息")
208 bank_info = models.TextField(verbose_name="银行信息")
209 quotationt_info = models.TextField(verbose_name="报价信息")
210
211 update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间')
212 create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') # 索引
213
214 class Meta:
215 managed = False
216 db_table = 'afc_se_comparison_info'
217 situ_db_label = 'afc'
218
219
220 # 比对信息表
221 class HILSEComparisonInfo(models.Model):
222 id = models.BigAutoField(primary_key=True, verbose_name="id") # 主键
223 uniq_seq = models.CharField(max_length=128, verbose_name="唯一序列号") # 索引
224 application_id = models.CharField(max_length=64, verbose_name="申请id") # 索引
225 application_version = models.SmallIntegerField(default=0, verbose_name="应用版本")
226 # CUSTOMER_TYPE = ['TCCOR', 'TCDAS', 'TCFRE', 'TCIAS', 'TCIND', 'TCSEP', 'TCURE']
227 customer_type = models.CharField(max_length=16, verbose_name="顾客类型")
228 first_submmison_date = models.CharField(max_length=16, verbose_name="首次提交时间")
229 property_doc_policy = models.CharField(null=True, max_length=16, verbose_name="申请及文件政策")
230
231 individual_cus_info = models.TextField(verbose_name="个人信息")
232 corporate_cus_info = models.TextField(null=True, verbose_name="公司信息")
233 vehicle_info = models.TextField(verbose_name="车辆信息")
234 insurance_info = models.TextField(verbose_name="保险信息")
235 bank_info = models.TextField(verbose_name="银行信息")
236 quotationt_info = models.TextField(verbose_name="报价信息")
237
238 update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间')
239 create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') # 索引
240
241 class Meta:
242 managed = False
243 db_table = 'hil_se_comparison_info'
244
193 245
194 # 比对信息表 246 # 比对信息表
195 class HILComparisonInfo(models.Model): 247 class HILComparisonInfo(models.Model):
...@@ -220,7 +272,7 @@ class AFCOCRResult(models.Model): ...@@ -220,7 +272,7 @@ class AFCOCRResult(models.Model):
220 id = models.AutoField(primary_key=True, verbose_name="id") # 主键 272 id = models.AutoField(primary_key=True, verbose_name="id") # 主键
221 application_id = models.CharField(max_length=64, verbose_name="申请id") # 索引 273 application_id = models.CharField(max_length=64, verbose_name="申请id") # 索引
222 274
223 bs_ocr = models.TextField(null=True, verbose_name="银行流水") 275 bs_ocr = models.TextField(null=True, verbose_name="DDA")
224 mvi_ocr = models.TextField(null=True, verbose_name="机动车销售统一发票") 276 mvi_ocr = models.TextField(null=True, verbose_name="机动车销售统一发票")
225 ic_ocr = models.TextField(null=True, verbose_name="身份证") 277 ic_ocr = models.TextField(null=True, verbose_name="身份证")
226 rp_ocr = models.TextField(null=True, verbose_name="居住证") 278 rp_ocr = models.TextField(null=True, verbose_name="居住证")
...@@ -247,7 +299,7 @@ class HILOCRResult(models.Model): ...@@ -247,7 +299,7 @@ class HILOCRResult(models.Model):
247 id = models.AutoField(primary_key=True, verbose_name="id") # 主键 299 id = models.AutoField(primary_key=True, verbose_name="id") # 主键
248 application_id = models.CharField(max_length=64, verbose_name="申请id") # 索引 300 application_id = models.CharField(max_length=64, verbose_name="申请id") # 索引
249 301
250 bs_ocr = models.TextField(null=True, verbose_name="银行流水") 302 bs_ocr = models.TextField(null=True, verbose_name="DDA")
251 mvi_ocr = models.TextField(null=True, verbose_name="机动车销售统一发票") 303 mvi_ocr = models.TextField(null=True, verbose_name="机动车销售统一发票")
252 ic_ocr = models.TextField(null=True, verbose_name="身份证") 304 ic_ocr = models.TextField(null=True, verbose_name="身份证")
253 rp_ocr = models.TextField(null=True, verbose_name="居住证") 305 rp_ocr = models.TextField(null=True, verbose_name="居住证")
...@@ -273,7 +325,7 @@ class AFCSEOCRResult(models.Model): ...@@ -273,7 +325,7 @@ class AFCSEOCRResult(models.Model):
273 id = models.AutoField(primary_key=True, verbose_name="id") # 主键 325 id = models.AutoField(primary_key=True, verbose_name="id") # 主键
274 application_id = models.CharField(max_length=64, verbose_name="申请id") # 索引 326 application_id = models.CharField(max_length=64, verbose_name="申请id") # 索引
275 327
276 bs_ocr = models.TextField(null=True, verbose_name="银行流水") 328 bs_ocr = models.TextField(null=True, verbose_name="DDA")
277 mvi_ocr = models.TextField(null=True, verbose_name="机动车销售统一发票") 329 mvi_ocr = models.TextField(null=True, verbose_name="机动车销售统一发票")
278 ic_ocr = models.TextField(null=True, verbose_name="身份证") 330 ic_ocr = models.TextField(null=True, verbose_name="身份证")
279 rp_ocr = models.TextField(null=True, verbose_name="居住证") 331 rp_ocr = models.TextField(null=True, verbose_name="居住证")
...@@ -300,7 +352,7 @@ class HILSEOCRResult(models.Model): ...@@ -300,7 +352,7 @@ class HILSEOCRResult(models.Model):
300 id = models.AutoField(primary_key=True, verbose_name="id") # 主键 352 id = models.AutoField(primary_key=True, verbose_name="id") # 主键
301 application_id = models.CharField(max_length=64, verbose_name="申请id") # 索引 353 application_id = models.CharField(max_length=64, verbose_name="申请id") # 索引
302 354
303 bs_ocr = models.TextField(null=True, verbose_name="银行流水") 355 bs_ocr = models.TextField(null=True, verbose_name="DDA")
304 mvi_ocr = models.TextField(null=True, verbose_name="机动车销售统一发票") 356 mvi_ocr = models.TextField(null=True, verbose_name="机动车销售统一发票")
305 ic_ocr = models.TextField(null=True, verbose_name="身份证") 357 ic_ocr = models.TextField(null=True, verbose_name="身份证")
306 rp_ocr = models.TextField(null=True, verbose_name="居住证") 358 rp_ocr = models.TextField(null=True, verbose_name="居住证")
......
...@@ -21,7 +21,9 @@ from .models import ( ...@@ -21,7 +21,9 @@ from .models import (
21 PriorityApplication, 21 PriorityApplication,
22 GCAPRecords, 22 GCAPRecords,
23 AFCComparisonInfo, 23 AFCComparisonInfo,
24 AFCSEComparisonInfo,
24 HILComparisonInfo, 25 HILComparisonInfo,
26 HILSEComparisonInfo,
25 AFCCompareOfflineReport, 27 AFCCompareOfflineReport,
26 HILCompareOfflineReport, 28 HILCompareOfflineReport,
27 AFCCACompareResult, 29 AFCCACompareResult,
...@@ -524,7 +526,38 @@ class SECompareView(GenericView): ...@@ -524,7 +526,38 @@ class SECompareView(GenericView):
524 # pos上传比对信息接口 SE 526 # pos上传比对信息接口 SE
525 @use_args(se_compare_args, location='data') 527 @use_args(se_compare_args, location='data')
526 def post(self, request, args): 528 def post(self, request, args):
527 self.running_log.info('se compare in') 529 # 存库
530 content = args.get('content', {})
531 uniq_seq = content.get('uniqSeq')
532 business_type = content.get('applicationEntity')
533 application_id = content.get('applicationId')
534
535 individual_cus_info = json.dumps(content.get('individualCusInfo'))
536 vehicle_info = json.dumps(content.get('vehicleInfo'))
537 insurance_info = json.dumps(content.get('insuranceInfo'))
538 bank_info = json.dumps(content.get('bankInfo'))
539 quotationt_info = json.dumps(content.get('quotationtInfo'))
540 corporate_cus_info = json.dumps(content.get('corporateCusInfo')) if isinstance(
541 content.get('corporateCusInfo'), dict) else None
542
543 comparison_class = HILSEComparisonInfo if business_type in consts.HIL_SET else AFCSEComparisonInfo
544 comparison_class.objects.create(
545 uniq_seq=uniq_seq,
546 application_id=application_id,
547 application_version=content.get('applicationVersion'),
548 customer_type=content.get('customerType'),
549 first_submmison_date=content.get('firstSubmmisonDate'),
550 property_doc_policy=content.get('propertyDocumentPolicy', None),
551 individual_cus_info=individual_cus_info,
552 corporate_cus_info=corporate_cus_info,
553 vehicle_info=vehicle_info,
554 insurance_info=insurance_info,
555 bank_info=bank_info,
556 quotationt_info=quotationt_info
557 )
558 # 触发比对
559 compare.apply_async((application_id, business_type, uniq_seq, None, False),
560 queue='queue_compare')
528 return response.ok() 561 return response.ok()
529 562
530 post.openapi_doc = ''' 563 post.openapi_doc = '''
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!