From 85ec8bf063a45e09140b0c3351918756f490ca96 Mon Sep 17 00:00:00 2001 From: zwf <2466627138@qq.com> Date: Wed, 3 Jun 2026 09:58:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=81=A2=E5=A4=8D=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dock/govc/govc_scrape.py | 106 ++++++++++++++++++++++--- dock/govc/govc_scrape_dept_feedback.py | 14 ++-- dock/govc/govc_scrape_detail.py | 6 +- dock/govc/govc_scrape_history_order.py | 53 +++++++++++++ dock/govc/govc_scrape_process.py | 6 +- dock/govc/govc_scrape_requester.py | 6 +- dock/govc/govc_scrape_supervision.py | 63 +++++++++++++++ dock/govs/govs_scrape.py | 2 +- models/db_models.py | 1 - models/govc_task_attachment.py | 2 +- models/govc_task_contact.py | 8 +- models/govc_task_delay.py | 12 +-- models/govc_task_detail.py | 28 +++---- models/govc_task_finish.py | 16 ++-- models/govc_task_history.py | 9 +-- models/govc_task_process.py | 16 ++-- models/govc_task_requester.py | 18 ++--- models/govc_task_return_visit.py | 18 ++--- models/govc_task_status.py | 8 +- models/govc_task_supervision.py | 10 +-- 20 files changed, 305 insertions(+), 97 deletions(-) create mode 100644 dock/govc/govc_scrape_history_order.py create mode 100644 dock/govc/govc_scrape_supervision.py diff --git a/dock/govc/govc_scrape.py b/dock/govc/govc_scrape.py index f8b7bee..4944c4d 100644 --- a/dock/govc/govc_scrape.py +++ b/dock/govc/govc_scrape.py @@ -7,7 +7,9 @@ from typing import Optional, Union from sqlalchemy import select, desc import dock -from dock.govc import govc_scrape_dept_feedback, govc_scrape_return_visit, govc_scrape_finish_info, govc_scrape_order +from dock.govc import govc_scrape_dept_feedback, govc_scrape_return_visit, govc_scrape_finish_info, govc_scrape_detail, \ + govc_scrape_process, govc_scrape_requester, govc_scrape_delay_info, govc_scrape_contact_info, \ + govc_scrape_order_status, govc_scrape_history_order, govc_scrape_supervision, govc_scrape_order from models.govc_task import GovcTask from paste.core.logging import echo_log from paste.web import requests @@ -52,8 +54,16 @@ async def fetch_govc_task(fetch_size: int = 60, task_id: Optional[Union[str, int # 构建请求队列 feedback_queue = asyncio.Queue() - result_info_queue = asyncio.Queue() finish_info_queue = asyncio.Queue() + contact_info_queue = asyncio.Queue() + delay_info_queue = asyncio.Queue() + detail_queue = asyncio.Queue() + status_queue = asyncio.Queue() + process_queue = asyncio.Queue() + requester_queue = asyncio.Queue() + return_visit_queue = asyncio.Queue() + history_order_queue = asyncio.Queue() + supervision_queue = asyncio.Queue() # 向队列中填充请求对象 echo_log(f"正在准备请求队列...") for _h, _row in task_df.iterrows(): @@ -61,15 +71,59 @@ async def fetch_govc_task(fetch_size: int = 60, task_id: Optional[Union[str, int _row.get(GovcTask.c_guid.key)) setattr(_feedback_request, 'task_id', _row.get(GovcTask.id.key)) await feedback_queue.put(_feedback_request) - _result_info_request = await govc_scrape_return_visit.get_return_visit_request(_row.get(GovcTask.pvi_guid.key), - _row.get(GovcTask.c_guid.key)) - setattr(_result_info_request, 'task_id', _row.get(GovcTask.id.key)) - await result_info_queue.put(_result_info_request) + _finish_info_request = await govc_scrape_finish_info.get_finish_info_request(_row.get(GovcTask.pvi_guid.key), _row.get(GovcTask.c_guid.key)) setattr(_finish_info_request, 'task_id', _row.get(GovcTask.id.key)) await finish_info_queue.put(_finish_info_request) + _contact_info_request = await govc_scrape_contact_info.get_contact_request(_row.get(GovcTask.pvi_guid.key), + _row.get(GovcTask.c_guid.key)) + setattr(_contact_info_request, 'task_id', _row.get(GovcTask.id.key)) + await contact_info_queue.put(_contact_info_request) + + _delay_info_request = await govc_scrape_delay_info.get_delay_request(_row.get(GovcTask.pvi_guid.key), + _row.get(GovcTask.c_guid.key)) + setattr(_delay_info_request, 'task_id', _row.get(GovcTask.id.key)) + await delay_info_queue.put(_delay_info_request) + + _detail_request = await govc_scrape_detail.get_detail_request(_row.get(GovcTask.c_guid.key)) + setattr(_detail_request, 'task_id', _row.get(GovcTask.id.key)) + await detail_queue.put(_detail_request) + + _status_request = await govc_scrape_order_status.get_fetch_status_request(_row.get(GovcTask.pvi_guid.key), + _row.get(GovcTask.c_guid.key)) + setattr(_status_request, 'task_id', _row.get(GovcTask.id.key)) + await status_queue.put(_status_request) + + _process_request = await govc_scrape_process.get_process_request(_row.get(GovcTask.pvi_guid.key), + _row.get(GovcTask.c_guid.key)) + setattr(_process_request, 'task_id', _row.get(GovcTask.id.key)) + await process_queue.put(_process_request) + + _requester_request = await govc_scrape_requester.get_requster_request(_row.get(GovcTask.c_guid.key)) + setattr(_requester_request, 'task_id', _row.get(GovcTask.id.key)) + await requester_queue.put(_requester_request) + + _return_visit_request = await govc_scrape_return_visit.get_return_visit_request(_row.get(GovcTask.pvi_guid.key), + _row.get(GovcTask.c_guid.key)) + setattr(_return_visit_request, 'task_id', _row.get(GovcTask.id.key)) + await return_visit_queue.put(_return_visit_request) + + _history_order_request = await govc_scrape_history_order.get_history_order_request( + _row.get(GovcTask.c_guid.key)) + setattr(_history_order_request, 'task_id', _row.get(GovcTask.id.key)) + await history_order_queue.put(_history_order_request) + + for supervise_type in ('zx', 'bm', 'bmhj'): + _supervision_request = await govc_scrape_supervision.get_supervision_request( + _row.get(GovcTask.pvi_guid.key), + _row.get(GovcTask.c_guid.key), + supervise_type) + setattr(_supervision_request, 'task_id', _row.get(GovcTask.id.key)) + setattr(_supervision_request, 'supervise_type', supervise_type) + await supervision_queue.put(_supervision_request) + echo_log(f"抓取待办详细数据...") tasks = [ requests.async_concurrency( @@ -77,12 +131,44 @@ async def fetch_govc_task(fetch_size: int = 60, task_id: Optional[Union[str, int after_request=govc_scrape_dept_feedback.after_feedback_request ), requests.async_concurrency( - result_info_queue, con_count=dock.CONCURRENCY_COUNT, retry=dock.MAX_RETRY_COUNT, - after_request=govc_scrape_result_info.after_result_info_request + finish_info_queue, con_count=dock.CONCURRENCY_COUNT, retry=dock.MAX_RETRY_COUNT, + after_request=govc_scrape_finish_info.after_finish_info_request), + requests.async_concurrency( + contact_info_queue, con_count=dock.CONCURRENCY_COUNT, retry=dock.MAX_RETRY_COUNT, + after_request=govc_scrape_contact_info.after_contact_request ), requests.async_concurrency( - finish_info_queue, con_count=dock.CONCURRENCY_COUNT, retry=dock.MAX_RETRY_COUNT, - after_request=govc_scrape_finish_info.after_finish_info_request) + delay_info_queue, con_count=dock.CONCURRENCY_COUNT, retry=dock.MAX_RETRY_COUNT, + after_request=govc_scrape_delay_info.after_delay_request + ), + requests.async_concurrency( + detail_queue, con_count=dock.CONCURRENCY_COUNT, retry=dock.MAX_RETRY_COUNT, + after_request=govc_scrape_detail.after_detail_request + ), + requests.async_concurrency( + status_queue, con_count=dock.CONCURRENCY_COUNT, retry=dock.MAX_RETRY_COUNT, + after_request=govc_scrape_order_status.after_fetch_status_request + ), + requests.async_concurrency( + process_queue, con_count=dock.CONCURRENCY_COUNT, retry=dock.MAX_RETRY_COUNT, + after_request=govc_scrape_process.after_process_request + ), + requests.async_concurrency( + request_queue, con_count=dock.CONCURRENCY_COUNT, retry=dock.MAX_RETRY_COUNT, + after_request=govc_scrape_requester.after_requester_request + ), + requests.async_concurrency( + return_visit_queue, con_count=dock.CONCURRENCY_COUNT, retry=dock.MAX_RETRY_COUNT, + after_request=govc_scrape_return_visit.after_return_visit_request + ), + requests.async_concurrency( + history_order_queue, con_count=dock.CONCURRENCY_COUNT, retry=dock.MAX_RETRY_COUNT, + after_request=govc_scrape_history_order.after_history_order_request + ), + requests.async_concurrency( + supervision_queue, con_count=dock.CONCURRENCY_COUNT, retry=dock.MAX_RETRY_COUNT, + after_request=govc_scrape_supervision.after_return_visit_request + ) ] await asyncio.gather(*tasks) diff --git a/dock/govc/govc_scrape_dept_feedback.py b/dock/govc/govc_scrape_dept_feedback.py index 8d3e64a..a83bf2e 100644 --- a/dock/govc/govc_scrape_dept_feedback.py +++ b/dock/govc/govc_scrape_dept_feedback.py @@ -47,12 +47,14 @@ async def after_feedback_request(response: HTTPResponse, retry_queue: asyncio.Qu forward_mapping = {dict_f: table_f for table_f, dict_f in GovcTaskDeptFeedback.FieldMapping.items()} mapped_df = mapped_df.rename(columns=forward_mapping) # 把字典、列表改为字符串 - mapped_df[GovcTaskDeptFeedback.zxhf_info.key] = mapped_df[GovcTaskDeptFeedback.zxhf_info.key].apply( - lambda x: json.dumps(x, ensure_ascii=False) if isinstance(x, (list, dict)) else x - ) - mapped_df[GovcTaskDeptFeedback.back_info.key] = mapped_df[GovcTaskDeptFeedback.back_info.key].apply( - lambda x: json.dumps(x, ensure_ascii=False) if isinstance(x, (list, dict)) else x - ) + if GovcTaskDeptFeedback.zxhf_info.key in mapped_df: + mapped_df[GovcTaskDeptFeedback.zxhf_info.key] = mapped_df[GovcTaskDeptFeedback.zxhf_info.key].apply( + lambda x: json.dumps(x, ensure_ascii=False) if isinstance(x, (list, dict)) else x + ) + if GovcTaskDeptFeedback.back_info.key in mapped_df: + mapped_df[GovcTaskDeptFeedback.back_info.key] = mapped_df[GovcTaskDeptFeedback.back_info.key].apply( + lambda x: json.dumps(x, ensure_ascii=False) if isinstance(x, (list, dict)) else x + ) # 这里把空数据都换成 None,以便存入数据库时是 null mapped_df.replace(models.EmptyInDF + models.EmptyDatetimeInDF, None, inplace=True) task_id = getattr(response.request, GovcTaskDeptFeedback.task_id.key) diff --git a/dock/govc/govc_scrape_detail.py b/dock/govc/govc_scrape_detail.py index c6b5dec..c0b5ad7 100644 --- a/dock/govc/govc_scrape_detail.py +++ b/dock/govc/govc_scrape_detail.py @@ -1,5 +1,6 @@ import asyncio import json +from urllib.parse import urlencode import pandas as pd from tornado.httpclient import HTTPResponse, HTTPRequest @@ -19,15 +20,16 @@ async def get_detail_request(cguid: str): :param cguid: 工单列表请求返回的cguid """ - api_url = '/rest/sztaskworkordercommonrest/getDetail' + api_url = '/rest/sztaskworkordercommonrest/getDetail?' headers = { 'Referer': f'{govc_api.ApiUrl}/rest/sztaskworkordercommonrest/getDetail' } request_body = { 'caseguid': cguid, 'secret': 1 } + api_url += urlencode(request_body) # 构造 API 请求 - return await govc_api.new_api_request(api_url, request_body, headers=headers, method='GET') + return await govc_api.new_api_request(api_url,{}, headers=headers) async def after_detail_request(response: HTTPResponse, retry_queue: asyncio.Queue[HTTPRequest]): diff --git a/dock/govc/govc_scrape_history_order.py b/dock/govc/govc_scrape_history_order.py new file mode 100644 index 0000000..8adfac7 --- /dev/null +++ b/dock/govc/govc_scrape_history_order.py @@ -0,0 +1,53 @@ +import asyncio +import json + +import pandas as pd +from tornado.httpclient import HTTPResponse, HTTPRequest + +from dock.govc import govc_api +import models +from models.govc_task_history import GovcTaskHistory +from paste.util import udict +from paste.core.logging import echo_log + + +async def get_history_order_request(cguid: str): + """ + 获取市12345的工单的历史工单信息,请求响应是单条工单的数据 + + :param cguid: 工单列表请求返回的cguid + """ + api_url = f'/rest/sztaskworkordercommonrest/getHistoryWorkOrder?caseguid={cguid}' + headers = { + 'Referer': f'{govc_api.ApiUrl}/rest/sztaskworkordercommonrest/getHistoryWorkOrder' + } + # 构造 API 请求 + return await govc_api.new_api_request(api_url, {}, headers=headers) + + +async def after_history_order_request(response: HTTPResponse, retry_queue: asyncio.Queue[HTTPRequest]): + """ + 任务请求响应后的处理程序。 + + :param response: 响应对象 + :param retry_queue: 重试队列 + """ + response_body = response.body.decode() + response_data = json.loads(response_body) + history_order_list = udict.get_by_path(response_data, 'params.list') + if history_order_list: + mapped_df = pd.DataFrame(history_order_list) + # 更换映射方向,用于将源数据列名改为与数据库表对应 + forward_mapping = {dict_f: table_f for table_f, dict_f in GovcTaskHistory.FieldMapping.items()} + mapped_df = mapped_df.rename(columns=forward_mapping) + # 这里把空数据都换成 None,以便存入数据库时是 null + mapped_df.replace(models.EmptyInDF + models.EmptyDatetimeInDF, None, inplace=True) + task_id = getattr(response.request, GovcTaskHistory.task_id.key) + mapped_df[GovcTaskHistory.task_id.key] = task_id + # 筛选数据状态 + _created, _updated = await GovcTaskHistory.save_batch(mapped_df) + echo_log(f"成功创建历史工单信息:{_created}条,更新:{_updated}条.") + else: + echo_log('未获取到历史工单信息') + if retry_queue: + echo_log(f"历史工单信息重试队列中有:{retry_queue.qsize()} 个请求在等待.") diff --git a/dock/govc/govc_scrape_process.py b/dock/govc/govc_scrape_process.py index 96b6995..98c172f 100644 --- a/dock/govc/govc_scrape_process.py +++ b/dock/govc/govc_scrape_process.py @@ -1,5 +1,6 @@ import asyncio import json +from urllib.parse import urlencode import pandas as pd from tornado.httpclient import HTTPResponse, HTTPRequest @@ -18,7 +19,7 @@ async def get_process_request(pviguid: str, cguid: str): :param pviguid: 工单列表请求返回的pviguid :param cguid: 工单列表请求返回的cguid """ - api_url = '/rest/sztaskworkordercommonrest/getTracing' + api_url = '/rest/sztaskworkordercommonrest/getTracing?' headers = { 'Referer': f'{govc_api.ApiUrl}/rest/sztaskworkordercommonrest/getTracing' } @@ -26,8 +27,9 @@ async def get_process_request(pviguid: str, cguid: str): 'caseguid': cguid, 'pviguid': pviguid } + api_url += urlencode(request_body) # 构造 API 请求 - return await govc_api.new_api_request(api_url, request_body, headers=headers, method='GET') + return await govc_api.new_api_request(api_url, {}, headers=headers) async def after_process_request(response: HTTPResponse, retry_queue: asyncio.Queue[HTTPRequest]): diff --git a/dock/govc/govc_scrape_requester.py b/dock/govc/govc_scrape_requester.py index a2d9c41..db2e17d 100644 --- a/dock/govc/govc_scrape_requester.py +++ b/dock/govc/govc_scrape_requester.py @@ -1,5 +1,6 @@ import asyncio import json +from urllib.parse import urlencode import pandas as pd from tornado.httpclient import HTTPResponse, HTTPRequest @@ -17,15 +18,16 @@ async def get_requster_request(cguid: str): :param cguid: 工单列表请求返回的cguid """ - api_url = '/rest/sztaskworkordercommonrest/getInformation' + api_url = '/rest/sztaskworkordercommonrest/getInformation?' headers = { 'Referer': f'{govc_api.ApiUrl}/rest/sztaskworkordercommonrest/getInformation' } request_body = { 'caseguid': cguid, 'secret': 0 } + api_url += urlencode(request_body) # 构造 API 请求 - return await govc_api.new_api_request(api_url, request_body, headers=headers, method='GET') + return await govc_api.new_api_request(api_url, {}, headers=headers) async def after_requester_request(response: HTTPResponse, retry_queue: asyncio.Queue[HTTPRequest]): diff --git a/dock/govc/govc_scrape_supervision.py b/dock/govc/govc_scrape_supervision.py new file mode 100644 index 0000000..bb72719 --- /dev/null +++ b/dock/govc/govc_scrape_supervision.py @@ -0,0 +1,63 @@ +import asyncio +import json + +import pandas as pd +from tornado.httpclient import HTTPResponse, HTTPRequest + +from dock.govc import govc_api +import models +from models.govc_task_supervision import GovcTaskSupervision +from paste.util import udict +from paste.core.logging import echo_log + + +async def get_supervision_request(pviguid: str, cguid: str, supervisetype: str): + """ + 获取市12345的工单的监察信息,请求响应是单条工单的数据 + + :param pviguid: 工单列表请求返回的pviguid + :param cguid: 工单列表请求返回的cguid + :param supervisetype: 监察类型 zx:座席区 bm:部门监察 bmhj:部门核减监察 + """ + api_url = f'/rest/sztaskworkordercommonrest/getSupervision?supervisetype={supervisetype}' + headers = { + 'Referer': f'{govc_api.ApiUrl}/rest/sztaskworkordercommonrest/getSupervision' + } + request_body = { + "ProcessVersionInstanceGuid": pviguid, + 'caseguid': cguid, + 'yearflag': 'undefined' + } + # 构造 API 请求 + return await govc_api.new_api_request(api_url, request_body, headers=headers) + + +async def after_return_visit_request(response: HTTPResponse, retry_queue: asyncio.Queue[HTTPRequest]): + """ + 任务请求响应后的处理程序。 + + :param response: 响应对象 + :param retry_queue: 重试队列 + """ + response_body = response.body.decode() + response_data = json.loads(response_body) + zx_list = udict.get_by_path(response_data, 'params.zxlist') + if zx_list: + mapped_df = pd.DataFrame(zx_list) + # 更换映射方向,用于将源数据列名改为与数据库表对应 + forward_mapping = {dict_f: table_f for table_f, dict_f in GovcTaskSupervision.FieldMapping.items()} + mapped_df = mapped_df.rename(columns=forward_mapping) + supervise_type = getattr(response.request, 'supervise_type', None) + mapped_df[GovcTaskSupervision.supervise_type.key] = supervise_type + # 这里把空数据都换成 None,以便存入数据库时是 null + mapped_df.replace(models.EmptyInDF + models.EmptyDatetimeInDF, None, inplace=True) + mapped_df.fillna('', inplace=True) + task_id = getattr(response.request, GovcTaskSupervision.task_id.key) + mapped_df[GovcTaskSupervision.task_id.key] = task_id + # 筛选数据状态 + _created, _updated = await GovcTaskSupervision.save_batch(mapped_df) + echo_log(f"成功创建监察信息:{_created}条,更新:{_updated}条.") + else: + echo_log('未获取到监察信息') + if retry_queue: + echo_log(f"监察信息重试队列中有:{retry_queue.qsize()} 个请求在等待.") diff --git a/dock/govs/govs_scrape.py b/dock/govs/govs_scrape.py index 5274ef7..1502505 100644 --- a/dock/govs/govs_scrape.py +++ b/dock/govs/govs_scrape.py @@ -103,4 +103,4 @@ if __name__ == "__main__": from paste.core import aio_pool _runner = aio_pool.get_aio_runner() - _runner(fetch_govs_task(dept_page_tag=1, num_per_page=50)) + _runner(fetch_govs_task(dept_page_tag=0, num_per_page=50)) diff --git a/models/db_models.py b/models/db_models.py index 145973c..1d32df9 100644 --- a/models/db_models.py +++ b/models/db_models.py @@ -1317,7 +1317,6 @@ class TD3iGovcTaskHistory(BaseModel): id = Column(BIGINT(20), primary_key=True, comment='主键') task_id = Column(ForeignKey('t_d3i_govc_task.id'), nullable=False, index=True, comment='关联工单主表ID') - history_date = Column(String(32, 'utf8mb4_unicode_ci'), comment='日期') serial_num = Column(String(64, 'utf8mb4_unicode_ci'), comment='历史工单号') detail_url = Column(Text(collation='utf8mb4_unicode_ci'), comment='详情页URL') rqst_title = Column(String(500, 'utf8mb4_unicode_ci'), comment='工单标题') diff --git a/models/govc_task_attachment.py b/models/govc_task_attachment.py index bac7cf7..efbcbb1 100644 --- a/models/govc_task_attachment.py +++ b/models/govc_task_attachment.py @@ -70,7 +70,7 @@ class GovcTaskAttachmentBase(TD3iGovcTaskAttachment, CommonModel): 'task_id': 'task_id', 'detail_id': 'detail_id', 'name': 'name', - 'attach_url': 'attach_url', + 'attach_url': 'attachurl', 'type': 'type', 'created_at': 'created_at', 'created_by': 'created_by', diff --git a/models/govc_task_contact.py b/models/govc_task_contact.py index c41b028..07d4d45 100644 --- a/models/govc_task_contact.py +++ b/models/govc_task_contact.py @@ -69,10 +69,10 @@ class GovcTaskContactBase(TD3iGovcTaskContact, CommonModel): FieldMapping = { 'id': 'id', 'task_id': 'task_id', - 'link_person': 'link_person', - 'link_status': 'link_status', - 'link_date': 'link_date', - 'link_content': 'link_content', + 'link_person': 'linkperson', + 'link_status': 'linkstatus', + 'link_date': 'linkdate', + 'link_content': 'linkcontent', 'created_at': 'created_at', 'created_by': 'created_by', 'updated_at': 'updated_at', diff --git a/models/govc_task_delay.py b/models/govc_task_delay.py index 86ec633..7bb75e3 100644 --- a/models/govc_task_delay.py +++ b/models/govc_task_delay.py @@ -67,12 +67,12 @@ class GovcTaskDelayBase(TD3iGovcTaskDelay, CommonModel): FieldMapping = { 'id': 'id', 'task_id': 'task_id', - 'delay_status': 'delay_status', - 'delay_num_unit': 'delay_num_unit', - 'delay_type': 'delay_type', - 'delay_num': 'delay_num', - 'apply_ou': 'apply_ou', - 'apply_time': 'apply_time', + 'delay_status': 'delaystatus', + 'delay_num_unit': 'delaynumunit', + 'delay_type': 'delaytype', + 'delay_num': 'delaynum', + 'apply_ou': 'applyou', + 'apply_time': 'applytime', 'created_at': 'created_at', 'created_by': 'created_by', 'updated_at': 'updated_at', diff --git a/models/govc_task_detail.py b/models/govc_task_detail.py index dde538b..0a28ff1 100644 --- a/models/govc_task_detail.py +++ b/models/govc_task_detail.py @@ -87,31 +87,31 @@ class GovcTaskDetailBase(TD3iGovcTaskDetail, CommonModel): 'task_id': 'task_id', 'note': 'note', 'purpose': 'purpose', - 'type_level': 'type_level', + 'type_level': 'typeLevel', 'type': 'type', - 'sign_time_bf': 'sign_time_bf', + 'sign_time_bf': 'signtimebf', 'matter': 'matter', - 'case_form_type': 'case_form_type', + 'case_form_type': 'case_formtype', 'content': 'content', - 'handle_ou': 'handle_ou', + 'handle_ou': 'handleou', 'urgency': 'urgency', - 'sj_handle_ou': 'sj_handle_ou', - 'ccb_content': 'ccb_content', - 'is_secret': 'is_secret', + 'sj_handle_ou': 'sjhandleou', + 'ccb_content': 'ccbContent', + 'is_secret': 'issecret', 'theme': 'theme', 'attribute': 'attribute', 'zqt': 'zqt', 'address': 'address', - 'seng_again_num': 'seng_again_num', + 'seng_again_num': 'sengagainnum', 'epidemic': 'epidemic', - 'has_ccb': 'has_ccb', + 'has_ccb': 'hasccb', 'way': 'way', - 'return_visit': 'return_visit', - 'finish_time_bf': 'finish_time_bf', - 'is_email': 'is_email', + 'return_visit': 'returnvisit', + 'finish_time_bf': 'finishtimebf', + 'is_email': 'isEmail', 'time': 'time', - 'called_tx': 'called_tx', - 'back_time_bf': 'back_time_bf', + 'called_tx': 'calledtx', + 'back_time_bf': 'backtimebf', 'created_at': 'created_at', 'created_by': 'created_by', 'updated_at': 'updated_at', diff --git a/models/govc_task_finish.py b/models/govc_task_finish.py index d78f593..9aa9041 100644 --- a/models/govc_task_finish.py +++ b/models/govc_task_finish.py @@ -67,14 +67,14 @@ class GovcTaskFinishBase(TD3iGovcTaskFinish, CommonModel): FieldMapping = { 'id': 'id', 'task_id': 'task_id', - 'bj_result': 'bj_result', - 'evl_result': 'evl_result', - 'replay_person': 'replay_person', - 'processing_results': 'processing_results', - 'solve_situation': 'solve_situation', - 'replay_time': 'replay_time', - 'evl_style': 'evl_style', - 'is_citizen': 'is_citizen', + 'bj_result': 'bjresult', + 'evl_result': 'evlresult', + 'replay_person': 'replayperson', + 'processing_results': 'processingresults', + 'solve_situation': 'solvesituation', + 'replay_time': 'replaytime', + 'evl_style': 'evlstyle', + 'is_citizen': 'iscitizen', 'created_at': 'created_at', 'created_by': 'created_by', 'updated_at': 'updated_at', diff --git a/models/govc_task_history.py b/models/govc_task_history.py index fb34103..1bc4f4f 100644 --- a/models/govc_task_history.py +++ b/models/govc_task_history.py @@ -27,7 +27,7 @@ class GovcTaskHistoryForm(ModelForm): # 基础信息 id = IntegerField('记录ID') - task_id = IntegerField('关联工单主表ID', validators=[], message='关联工单主表ID必须为整数') + task_id = IntegerField('关联工单主表ID') history_date = StringField('日期', validators=[Length(max=32, message='日期长度不能超过32字符')]) serial_num = StringField('历史工单号', validators=[Length(max=64, message='历史工单号长度不能超过64字符')]) detail_url = StringField('详情页URL', validators=[Length(max=65535, message='详情页URL长度不能超过65535字符')]) @@ -63,10 +63,9 @@ class GovcTaskHistoryBase(TD3iGovcTaskHistory, CommonModel): FieldMapping = { 'id': 'id', 'task_id': 'task_id', - 'history_date': 'history_date', - 'serial_num': 'serial_num', - 'detail_url': 'detail_url', - 'rqst_title': 'rqst_title', + 'serial_num': 'serialnum', + 'detail_url': 'detialurl', + 'rqst_title': 'rqsttitle', 'state': 'state', 'created_at': 'created_at', 'created_by': 'created_by', diff --git a/models/govc_task_process.py b/models/govc_task_process.py index eb64bfb..96e107e 100644 --- a/models/govc_task_process.py +++ b/models/govc_task_process.py @@ -70,14 +70,14 @@ class GovcTaskProcessBase(TD3iGovcTaskProces, CommonModel): FieldMapping = { 'id': 'id', 'task_id': 'task_id', - 'handle_time': 'handle_time', - 'operate_status': 'operate_status', - 'activity_guid': 'activity_guid', - 'handle_opinion': 'handle_opinion', - 'is_finish': 'is_finish', - 'operator_ou_name': 'operator_ou_name', - 'is_back': 'is_back', - 'operator_name': 'operator_name', + 'handle_time': 'handletime', + 'operate_status': 'operatestatus', + 'activity_guid': 'activityguid', + 'handle_opinion': 'handleopinion', + 'is_finish': 'isfinish', + 'operator_ou_name': 'operatorouname', + 'is_back': 'isback', + 'operator_name': 'operatorname', 'created_at': 'created_at', 'created_by': 'created_by', 'updated_at': 'updated_at', diff --git a/models/govc_task_requester.py b/models/govc_task_requester.py index 2e3e728..8a438ac 100644 --- a/models/govc_task_requester.py +++ b/models/govc_task_requester.py @@ -70,18 +70,18 @@ class GovcTaskRequesterBase(TD3iGovcTaskRequester, CommonModel): FieldMapping = { 'id': 'id', 'task_id': 'task_id', - 'card_num': 'card_num', + 'card_num': 'cardNum', 'emotion': 'emotion', - 'name_scope': 'name_scope', + 'name_scope': 'namescope', 'sex': 'sex', 'name': 'name', - 'secret_flag': 'secret_flag', - 'is_secret': 'is_secret', - 'is_not_show_record': 'is_not_show_record', - 'phone_num': 'phone_num', - 'limk_num': 'limk_num', - 'c_guid': 'c_guid', - 'phone_num1': 'phone_num1', + 'secret_flag': 'secretflag', + 'is_secret': 'issecret', + 'is_not_show_record': 'isnotshowrecord', + 'phone_num': 'phonenum', + 'limk_num': 'limknum', + 'c_guid': 'cguid', + 'phone_num1': 'phonenum1', 'created_at': 'created_at', 'created_by': 'created_by', 'updated_at': 'updated_at', diff --git a/models/govc_task_return_visit.py b/models/govc_task_return_visit.py index 0035a53..4c271df 100644 --- a/models/govc_task_return_visit.py +++ b/models/govc_task_return_visit.py @@ -70,15 +70,15 @@ class GovcTaskReturnVisitBase(TD3iGovcTaskReturnVisit, CommonModel): FieldMapping = { 'id': 'id', 'task_id': 'task_id', - 'evl_result': 'evl_result', - 'replay_person': 'replay_person', - 'is_rg_reply': 'is_rg_reply', - 'processing_results': 'processing_results', - 'solve_situation': 'solve_situation', - 'replay_time': 'replay_time', - 'evl_style': 'evl_style', - 'is_citizen': 'is_citizen', - 'replay_content': 'replay_content', + 'evl_result': 'evlresult', + 'replay_person': 'replayperson', + 'is_rg_reply': 'isrgreply', + 'processing_results': 'processingresults', + 'solve_situation': 'solvesituation', + 'replay_time': 'replaytime', + 'evl_style': 'evlstyle', + 'is_citizen': 'iscitizen', + 'replay_content': 'replaycontent', 'created_at': 'created_at', 'created_by': 'created_by', 'updated_at': 'updated_at', diff --git a/models/govc_task_status.py b/models/govc_task_status.py index c8dc588..ced1886 100644 --- a/models/govc_task_status.py +++ b/models/govc_task_status.py @@ -66,10 +66,10 @@ class GovcTaskStatusBase(TD3iGovcTaskStatu, CommonModel): FieldMapping = { 'id': 'id', 'task_id': 'task_id', - 'shou_li': 'shou_li', - 'jie_dan': 'jie_dan', - 'hui_fang': 'hui_fang', - 'ban_li': 'ban_li', + 'shou_li': 'shouli', + 'jie_dan': 'jiedan', + 'hui_fang': 'huifang', + 'ban_li': 'banli', 'created_at': 'created_at', 'created_by': 'created_by', 'updated_at': 'updated_at', diff --git a/models/govc_task_supervision.py b/models/govc_task_supervision.py index b228de9..e181408 100644 --- a/models/govc_task_supervision.py +++ b/models/govc_task_supervision.py @@ -64,11 +64,11 @@ class GovcTaskSupervisionBase(TD3iGovcTaskSupervision, CommonModel): FieldMapping = { 'id': 'id', 'task_id': 'task_id', - 'supervision_name': 'supervision_name', - 'supervision_type': 'supervision_type', - 'supervision_date': 'supervision_date', - 'supervision_ou_name': 'supervision_ou_name', - 'hj_date': 'hj_date', + 'supervision_name': 'supervisionname', + 'supervision_type': 'supervisiontype', + 'supervision_date': 'supervisiondate', + 'supervision_ou_name': 'supervisionouname', + 'hj_date': 'hjdate', 'supervise_type': 'supervise_type', 'created_at': 'created_at', 'created_by': 'created_by',