fsm update
Showing
4 changed files
with
86 additions
and
16 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 |
| ... | @@ -572,7 +576,25 @@ class UploadDocView(GenericView, DocHandler): | ... | @@ -572,7 +576,25 @@ class UploadDocView(GenericView, DocHandler): |
| 572 | 576 | ||
| 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