fsm update
Showing
4 changed files
with
85 additions
and
15 deletions
... | @@ -2379,4 +2379,25 @@ MPOS_MAP = { | ... | @@ -2379,4 +2379,25 @@ MPOS_MAP = { |
2379 | 2379 | ||
2380 | FOLDER_WSC_CLASSIFY = 199 | 2380 | FOLDER_WSC_CLASSIFY = 199 |
2381 | 2381 | ||
2382 | APPLICANT_STATUS = | 2382 | |
2383 | FSM_BEFORE_ACTIVITED_STATUS = { | ||
2384 | "APSVD": "Saved", | ||
2385 | "APEAE": "E-app Editing", | ||
2386 | "APADA": "Awaiting Dealer Action", | ||
2387 | "APAPR": "Acceptance Processing", | ||
2388 | "APPSB": "Pre-submit Processed", | ||
2389 | "APSBT": "Submitted", | ||
2390 | "APAPP": "Approved", | ||
2391 | "APHOC": "Held Offer-Docs", | ||
2392 | "APHOD": "Held Offer-Data", | ||
2393 | "APINI": "Initiated", | ||
2394 | "APSEP": "Settlement Processing" | ||
2395 | } | ||
2396 | |||
2397 | FSM_ACTIVITED_STATUS = { | ||
2398 | "APADF": "Activated-Document Follow up", | ||
2399 | "APASC": "Activated-Awaiting Settlement Check", | ||
2400 | "APIPN": "Activated-Invoice Passed-Non PT", | ||
2401 | "APIPP": "Activated-Invoice Passed-PT Doc Required", | ||
2402 | "APARD": "Activated-Review done", | ||
2403 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -330,6 +330,11 @@ class AFCOCRResult(models.Model): | ... | @@ -330,6 +330,11 @@ class AFCOCRResult(models.Model): |
330 | hil_contract_3_ocr = models.TextField(null=True, verbose_name="HIL合同3") | 330 | hil_contract_3_ocr = models.TextField(null=True, verbose_name="HIL合同3") |
331 | qrs_ocr = models.TextField(null=True, verbose_name="AFC合同确认书") | 331 | qrs_ocr = models.TextField(null=True, verbose_name="AFC合同确认书") |
332 | 332 | ||
333 | fsm_wep_ocr = models.TextField(null=True, verbose_name="延长保修合同") | ||
334 | fsm_msi_ocr = models.TextField(null=True, verbose_name="长悦保养合同") | ||
335 | fsm_sc_ocr = models.TextField(null=True, verbose_name="汽车销售合同") | ||
336 | fsm_activited = models.IntegerField(null=False, default=0, verbose_name="fsm激活状态 1:激活") | ||
337 | |||
333 | update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') | 338 | update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') |
334 | create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') | 339 | create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') |
335 | 340 | ||
... | @@ -366,6 +371,11 @@ class HILOCRResult(models.Model): | ... | @@ -366,6 +371,11 @@ class HILOCRResult(models.Model): |
366 | hil_contract_3_ocr = models.TextField(null=True, verbose_name="HIL合同3") | 371 | hil_contract_3_ocr = models.TextField(null=True, verbose_name="HIL合同3") |
367 | qrs_ocr = models.TextField(null=True, verbose_name="AFC合同确认书") | 372 | qrs_ocr = models.TextField(null=True, verbose_name="AFC合同确认书") |
368 | 373 | ||
374 | fsm_wep_ocr = models.TextField(null=True, verbose_name="延长保修合同") | ||
375 | fsm_msi_ocr = models.TextField(null=True, verbose_name="长悦保养合同") | ||
376 | fsm_sc_ocr = models.TextField(null=True, verbose_name="汽车销售合同") | ||
377 | fsm_activited = models.IntegerField(null=False, default=0, verbose_name="fsm激活状态 1:激活") | ||
378 | |||
369 | update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') | 379 | update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') |
370 | create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') | 380 | create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') |
371 | 381 | ||
... | @@ -401,6 +411,11 @@ class AFCSEOCRResult(models.Model): | ... | @@ -401,6 +411,11 @@ class AFCSEOCRResult(models.Model): |
401 | hil_contract_3_ocr = models.TextField(null=True, verbose_name="HIL合同3") | 411 | hil_contract_3_ocr = models.TextField(null=True, verbose_name="HIL合同3") |
402 | qrs_ocr = models.TextField(null=True, verbose_name="AFC合同确认书") | 412 | qrs_ocr = models.TextField(null=True, verbose_name="AFC合同确认书") |
403 | 413 | ||
414 | fsm_wep_ocr = models.TextField(null=True, verbose_name="延长保修合同") | ||
415 | fsm_msi_ocr = models.TextField(null=True, verbose_name="长悦保养合同") | ||
416 | fsm_sc_ocr = models.TextField(null=True, verbose_name="汽车销售合同") | ||
417 | fsm_activited = models.IntegerField(null=False, default=0, verbose_name="fsm激活状态 1:激活") | ||
418 | |||
404 | update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') | 419 | update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') |
405 | create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') | 420 | create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') |
406 | 421 | ||
... | @@ -436,6 +451,10 @@ class HILSEOCRResult(models.Model): | ... | @@ -436,6 +451,10 @@ class HILSEOCRResult(models.Model): |
436 | hil_contract_2_ocr = models.TextField(null=True, verbose_name="HIL合同2") | 451 | hil_contract_2_ocr = models.TextField(null=True, verbose_name="HIL合同2") |
437 | hil_contract_3_ocr = models.TextField(null=True, verbose_name="HIL合同3") | 452 | hil_contract_3_ocr = models.TextField(null=True, verbose_name="HIL合同3") |
438 | qrs_ocr = models.TextField(null=True, verbose_name="AFC合同确认书") | 453 | qrs_ocr = models.TextField(null=True, verbose_name="AFC合同确认书") |
454 | fsm_wep_ocr = models.TextField(null=True, verbose_name="延长保修合同") | ||
455 | fsm_msi_ocr = models.TextField(null=True, verbose_name="长悦保养合同") | ||
456 | fsm_sc_ocr = models.TextField(null=True, verbose_name="汽车销售合同") | ||
457 | fsm_activited = models.IntegerField(null=False, default=0, verbose_name="fsm激活状态 1:激活") | ||
439 | 458 | ||
440 | update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') | 459 | update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') |
441 | create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') | 460 | create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') | ... | ... |
... | @@ -48,8 +48,12 @@ from .models import ( | ... | @@ -48,8 +48,12 @@ from .models import ( |
48 | MposReport, | 48 | MposReport, |
49 | GenericOCRReport, | 49 | GenericOCRReport, |
50 | InterfaceReport, | 50 | InterfaceReport, |
51 | HILOCRResult, | ||
52 | HILSEOCRResult, | ||
53 | AFCOCRResult, | ||
54 | AFCSEOCRResult | ||
51 | ) | 55 | ) |
52 | from .named_enum import ErrorType, AutoResult, WholeResult, RPAResult, SystemName | 56 | from .named_enum import ErrorType, AutoResult, WholeResult, RPAResult, SystemName, RequestTeam |
53 | from .mixins import DocHandler, MPOSHandler, PreSEHandler | 57 | from .mixins import DocHandler, MPOSHandler, PreSEHandler |
54 | from . import consts | 58 | from . import consts |
55 | from apps.account.authentication import OAuth2AuthenticationWithUser | 59 | from apps.account.authentication import OAuth2AuthenticationWithUser |
... | @@ -573,6 +577,24 @@ class UploadDocView(GenericView, DocHandler): | ... | @@ -573,6 +577,24 @@ class UploadDocView(GenericView, DocHandler): |
573 | data_source = self.fix_data_source(data_source) | 577 | data_source = self.fix_data_source(data_source) |
574 | document_scheme = self.fix_scheme(document_scheme) | 578 | document_scheme = self.fix_scheme(document_scheme) |
575 | 579 | ||
580 | # fsm激活状态, 更新ocr_result 表fsm状态 | ||
581 | if consts.FSM_ACTIVITED_STATUS.get(application_status): | ||
582 | ocr_result_obj = None | ||
583 | if business_type == consts.HIL_PREFIX: | ||
584 | if document_scheme == RequestTeam.ACCEPTANCE[1]: | ||
585 | ocr_result_obj = HILOCRResult.objects.filter(application_id=application_id).first() | ||
586 | elif document_scheme == RequestTeam.SETTLEMENT[1]: | ||
587 | ocr_result_obj = HILSEOCRResult.objects.filter(application_id=application_id).first() | ||
588 | elif business_type == consts.AFC_PREFIX: | ||
589 | if document_scheme == RequestTeam.ACCEPTANCE[1]: | ||
590 | ocr_result_obj = AFCOCRResult.objects.filter(application_id=application_id).first() | ||
591 | elif document_scheme == RequestTeam.SETTLEMENT[1]: | ||
592 | ocr_result_obj = AFCSEOCRResult.objects.filter(application_id=application_id).first() | ||
593 | |||
594 | if ocr_result_obj: | ||
595 | ocr_result_obj.fsmActivited = 1 | ||
596 | ocr_result_obj.save() | ||
597 | |||
576 | if data_source == consts.DATA_SOURCE_LIST[1]: | 598 | if data_source == consts.DATA_SOURCE_LIST[1]: |
577 | if document_name.endswith('-证书.pdf') or document_name.endswith('-证书'): | 599 | if document_name.endswith('-证书.pdf') or document_name.endswith('-证书'): |
578 | self.running_log.info('[doc upload success] [eapp license skip] [args={0}]'.format(args)) | 600 | self.running_log.info('[doc upload success] [eapp license skip] [args={0}]'.format(args)) |
... | @@ -1371,8 +1393,7 @@ class SECMSView(GenericView): | ... | @@ -1371,8 +1393,7 @@ class SECMSView(GenericView): |
1371 | if fsm_contract: | 1393 | if fsm_contract: |
1372 | fsm_compare.apply_async((application_id, business_type, None, None, False, True), | 1394 | fsm_compare.apply_async((application_id, business_type, None, None, False, True), |
1373 | queue='queue_compare') | 1395 | queue='queue_compare') |
1374 | # compare.apply_async((application_id, business_type, None, None, False, True), | 1396 | |
1375 | # queue='queue_compare') | ||
1376 | else: | 1397 | else: |
1377 | # 触发比对 | 1398 | # 触发比对 |
1378 | compare.apply_async((application_id, business_type, None, None, False, True), | 1399 | compare.apply_async((application_id, business_type, None, None, False, True), | ... | ... |
... | @@ -7,6 +7,9 @@ import traceback | ... | @@ -7,6 +7,9 @@ import traceback |
7 | import numpy as np | 7 | import numpy as np |
8 | from datetime import datetime, timedelta | 8 | from datetime import datetime, timedelta |
9 | from collections import OrderedDict | 9 | from collections import OrderedDict |
10 | |||
11 | import requests | ||
12 | |||
10 | from . import app | 13 | from . import app |
11 | from settings import conf | 14 | from settings import conf |
12 | from apps.doc.models import ( | 15 | from apps.doc.models import ( |
... | @@ -3267,19 +3270,25 @@ def se_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res | ... | @@ -3267,19 +3270,25 @@ def se_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res |
3267 | 3270 | ||
3268 | @app.task | 3271 | @app.task |
3269 | def fsm_compare(application_id, application_entity, uniq_seq, ocr_res_id, is_ca=True, is_cms=False): | 3272 | def fsm_compare(application_id, application_entity, uniq_seq, ocr_res_id, is_ca=True, is_cms=False): |
3273 | compare_log.info('{0} [receive fsm task] [entity={1}] [id={2}] [uniq_seq={3}] [ocr_res_id={4}] [is_ca={5}] ' | ||
3274 | '[is_cms={6}]'.format(log_base, application_entity, application_id, uniq_seq, ocr_res_id, | ||
3275 | is_ca, is_cms)) | ||
3270 | # 调用java fsm 比对流程接口(http) | 3276 | # 调用java fsm 比对流程接口(http) |
3271 | if application_entity == consts.HIL_PREFIX: | ||
3272 | comparison_class = HILSECMSInfo if is_cms else HILSEComparisonInfo | ||
3273 | else: | ||
3274 | comparison_class = AFCSECMSInfo if is_cms else AFCSEComparisonInfo | ||
3275 | last_obj = comparison_class.objects.filter(application_id=application_id).last() | ||
3276 | if last_obj is None: | ||
3277 | compare_log.info('{0} [comparison info empty] [entity={1}] [id={2}] [uniq_seq={3}] [ocr_res_id={4}] ' | ||
3278 | '[is_ca={5}] [is_cms]={6}'.format(log_base, application_entity, application_id, uniq_seq, | ||
3279 | ocr_res_id, is_ca, is_cms)) | ||
3280 | return | ||
3281 | |||
3282 | # 调用Java fsm 比对流程接口, fsm 是se流程, ca可以暂时忽略 | 3277 | # 调用Java fsm 比对流程接口, fsm 是se流程, ca可以暂时忽略 |
3278 | url = conf.FSM_URL | ||
3279 | body = { | ||
3280 | 'applicationId': application_id, | ||
3281 | 'businessType': application_entity, | ||
3282 | 'ocrResId': ocr_res_id, | ||
3283 | 'isCa': is_ca, | ||
3284 | 'isCms': is_cms | ||
3285 | } | ||
3286 | try: | ||
3287 | resp = requests.post(url, data=body) | ||
3288 | compare_log.info(resp.text) | ||
3289 | except Exception as e: | ||
3290 | compare_log.error("fsm full request to java error, url:{0}, param:{1}, errorMsg:{2}".format( | ||
3291 | url, json.dumps(body), traceback.format_exc())) | ||
3283 | 3292 | ||
3284 | 3293 | ||
3285 | @app.task | 3294 | @app.task | ... | ... |
-
Please register or sign in to post a comment