From ac449b01347be087101d914c3c6384d0d511a439 Mon Sep 17 00:00:00 2001 From: zwf <2466627138@qq.com> Date: Tue, 2 Jun 2026 17:55:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/communication.md | 141 ++++++ docs/db.sql | 675 +++++++++++++++++++++++++++++ docs/dcm 动态数据分析.txt | 874 ++++++++++++++++++++++++++++++++++++++ docs/solution.md | 130 ++++++ 4 files changed, 1820 insertions(+) create mode 100644 docs/communication.md create mode 100644 docs/db.sql create mode 100644 docs/dcm 动态数据分析.txt create mode 100644 docs/solution.md diff --git a/docs/communication.md b/docs/communication.md new file mode 100644 index 0000000..f9dfdb6 --- /dev/null +++ b/docs/communication.md @@ -0,0 +1,141 @@ +# D3I(数字化三方系统集成)系统与 OA、DCM 系统集成需求说明书 + +## 1. 项目背景 + +**D3I(Digital 3-Directional Integration,数字化三方系统集成)** 系统作为 **DCM(Digital City Management,数字城管系统)** 与办公自动化(OA)系统之间的核心枢纽,需实现双向数据流转: + +- **正向流程**:D3I 从 DCM 服务器抓取数据 → 存储至中间表 → 调用 OA 接口推送数据 → OA 完成业务流程。 +- **反向流程**:OA 完成流程后,调用 D3I 接口将处理结果回传至 DCM 系统(体外循环)。 + +本需求旨在明确 D3I 系统在该流程中需暴露和调用的接口,以及数据表结构设计,为开发、测试与对接提供权威依据。 + +--- + +## 2. 总体工作目标 + +1. 梳理并标准化 D3I 系统对外(DCM)等平台与对内(OA)的接口清单; +2. 明确 D3I 系统内部数据表结构,建立测试用镜像数据库; +3. 为后续接口开发、联调测试、文档编写提供完整、一致的依据。 + +--- + +## 3. 详细作业步骤 + +### 第1步:梳理 D3I 暴露给 OA 系统的 API 清单 + +**目标**:列出 D3I 当前已提供和需新增的所有供 OA 系统调用的接口,形成统一 API 文档。 + +**内容要求**: +- 接口名称(英文/中文) +- 请求方法(POST/GET) +- 请求路径(URL) +- 请求参数(JSON Schema) +- 响应格式(成功/失败示例) +- 认证方式(如 Token、OAuth、IP 白名单) +- 业务含义(如“提交案件数据”、“更新处理状态”) +- 当前状态(已上线 / 待开发) + +**输出物**: +`docs/api/d3i_to_oa_api_v1.md` +(建议使用 OpenAPI/Swagger 格式维护) + +> ✅ 示例接口(供参考): +> - `POST /api/v1/case/submit`:提交案件数据至 OA +> - `GET /api/v1/case/status/{id}`:查询案件在 OA 中的处理状态 + +--- + +### 第2步:梳理 D3I 调用 DCM 系统的接口清单 + +**目标**:明确 D3I 从 DCM 获取数据和提交数据所需的全部接口。 + +**内容要求**: +- 接口用途(登录认证 / 获取数据 / 提交数据) +- 请求方式与地址 +- 认证机制(用户名/密码、Token、证书) +- 数据格式(XML/JSON) +- 请求频率限制 +- 错误码与重试策略 +- 是否支持分页/增量拉取 + +**输出物**: +`docs/api/d3i_to_dcm_api_v1.md` + +> ✅ 示例接口(供参考): +> - `POST /api/login`:获取 DCM 登录 Token +> - `GET /api/cases?status=new&limit=100`:拉取待处理案件 +> - `POST /api/cases/submit`:向 DCM 提交处理结果 + +--- + +### 第3步:梳理 D3I 调用 OA 系统的接口清单(补充) + +**目标**:确认 D3I 主动调用 OA 的接口,用于推送数据(与第1步区分,此为“主动调用”视角) + +> ⚠️ 注意:第1步是“OA 调用 D3I”,本步是“D3I 调用 OA”。两者可能有重叠,需明确方向。 + +**内容要求**: +- 接口用途(如“推送案件”、“通知流程完成”) +- 请求方式、URL、Header、Body +- 是否需要异步回调机制 +- 超时与重试策略 +- 是否需记录调用日志 + +**输出物**: +`docs/api/d3i_calling_oa_api_v1.md` + +> ✅ 示例接口: +> - `POST https://oa.example.com/api/v1/case/create`:创建案件工单 +> - `PUT https://oa.example.com/api/v1/case/update/{id}`:更新案件状态 + +--- + +### 第4步:设计并建立 D3I 内部数据表镜像(测试环境) + +**目标**:在 D3I 数据库中建立与 DCM 和 OA 交互所需的数据表结构镜像,用于开发与测试。 + +**内容要求**: +- 列出所有 D3I 使用的数据表(至少包括): + - `dcm_data_cache`:缓存从 DCM 拉取的原始数据 + - `oa_case_submission`:待推送给 OA 的案件队列 + - `oa_callback_log`:记录 OA 回调的响应日志 + - `sync_status`:记录同步状态(成功/失败/重试次数/时间戳) +- 每张表需定义: + - 字段名、类型、约束(主键、外键、非空) + - 索引设计 + - 数据保留策略(如 7 天自动清理) +- 建议使用 SQL 脚本定义结构,便于部署 + +**输出物**: +`sql/schema/d3i_test_tables.sql` + +> ✅ 示例表结构(简化): +> ```sql +> CREATE TABLE dcm_data_cache ( +> id BIGINT PRIMARY KEY AUTO_INCREMENT, +> dcm_case_id VARCHAR(50) UNIQUE NOT NULL, +> raw_data JSON NOT NULL, +> received_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, +> processed BOOLEAN DEFAULT FALSE +> ); +> ``` + +--- + +## 4. 后续建议 + +- 所有接口文档建议使用 **Swagger / Postman Collection** 维护,便于测试; +- 数据表设计需与 DBA 审核,确保符合公司数据规范; +- 建议为每个接口编写**集成测试用例**(如使用 pytest + requests); +- 建立**数据流转图**(流程图),标注每个环节的数据来源与去向。 + +--- + +## 5. 附录:术语说明 + +| 术语 | 说明 | +|------|------| +| **D3I** | Digital 3-Directional Integration,数字化三方系统集成 | +| **DCM** | Digital City Management,数字城管系统 | +| OA | 办公自动化系统(Office Automation) | +| 体外循环 | 指数据由 OA 调用 D3I 回传至 DCM,D3I 不主导该流程 | \ No newline at end of file diff --git a/docs/db.sql b/docs/db.sql new file mode 100644 index 0000000..6b5ceef --- /dev/null +++ b/docs/db.sql @@ -0,0 +1,675 @@ +CREATE TABLE `t_d3i_dcm_task` +( + `id` BIGINT NOT NULL COMMENT '主键ID', + `rec_id` BIGINT COMMENT '记录ID', + `rec_disp_num` VARCHAR(50) COMMENT '显示编号(可空)', + `rec_type_id` INT COMMENT '类型ID', + `rec_type_name` VARCHAR(100) COMMENT '案件类型', + `act_id` BIGINT COMMENT '任务ID', + `act_deadline_time` BIGINT COMMENT '任务截止时间戳(毫秒)', + `act_warning_time` BIGINT COMMENT '预警时间戳(毫秒)', + `act_property_id` INT COMMENT '任务属性ID', + `act_ard_state_name` VARCHAR(50) COMMENT '阶段授权状态', + `act_time_state_id` TINYINT COMMENT '阶段状态ID', + `biz_id` INT COMMENT '业务ID', + `sys_id` INT COMMENT '系统ID', + `task_num` VARCHAR(50) COMMENT '任务号', + `other_task_num` VARCHAR(100) COMMENT '第三方任务号', + `bundle_remain_char` VARCHAR(20) COMMENT '剩余时间描述(如“1天”)', + `bundle_deadline_time` BIGINT COMMENT '捆绑截止时间戳', + `bundle_deadline_char` VARCHAR(20) COMMENT '捆绑截止时间描述', + `bundle_warning_time` BIGINT COMMENT '捆绑预警时间戳', + `bundle_time_state_id` TINYINT COMMENT '捆绑阶段红绿灯状态', + `rollback_deadline` BIGINT COMMENT '拒绝超时截止时间戳', + `event_type_id` INT COMMENT '问题类型ID', + `max_event_type_id` INT COMMENT '最大事件类型ID', + `event_type_name` VARCHAR(100) COMMENT '问题类型', + `event_src_name` VARCHAR(100) COMMENT '问题来源', + `event_desc` TEXT COMMENT '问题描述', + `urgency_level` TINYINT COMMENT '紧急程度(0正常,1紧急)', + `main_type_id` INT COMMENT '大类ID', + `main_type_name` VARCHAR(100) COMMENT '大类名称', + `sub_type_id` INT COMMENT '小类ID', + `sub_type_name` VARCHAR(100) COMMENT '小类名称', + `address` TEXT COMMENT '地址描述', + `district_name` VARCHAR(50) COMMENT '所属区域', + `coordinate_x` DECIMAL(10, 6) COMMENT '经度', + `coordinate_y` DECIMAL(10, 6) COMMENT '纬度', + `proc_time_state_id` TINYINT COMMENT '处理流程状态ID', + `deadline_time` BIGINT COMMENT '处理截止时间戳', + `warning_time` BIGINT COMMENT '处理预警时间戳', + `processing_deadline` VARCHAR(50) COMMENT '处置时限描述', + `new_inst_cond_name` VARCHAR(200) COMMENT '立案条件', + `case_closure_condition` VARCHAR(200) COMMENT '结案条件', + `reply_intime` TINYINT COMMENT '是否两小时回复(0无需回复,1待回复,2已回复,3超时,4无需回复已恢复)', + `return_visit_flag` TINYINT COMMENT '回访标识(0无需,1待回访,2已回访)', + `first_depart_name` VARCHAR(100) COMMENT '一级专业部门', + `second_depart_name` VARCHAR(100) COMMENT '二级专业部门', + `reporter_name` VARCHAR(100) COMMENT '举报人姓名', + `reporter_contact` VARCHAR(50) COMMENT '举报电话', + `read_flag` TINYINT COMMENT '是否已读(0未读,1已读)', + `back_color_bit_id` INT COMMENT '背景色ID(可空)', + `font_color_bit_id` INT COMMENT '字体色ID(可空)', + `part_code` VARCHAR(100) COMMENT '部件编码', + `display_style_id` INT COMMENT '显示样式ID', + `func_forbid_reporter_info_flag` TINYINT COMMENT '是否禁止举报人信息', + `operation` varchar(256) null comment '操作(工单上的操作按钮)', + `created_at` datetime default current_timestamp() not null comment '创建时间', + `created_by` varchar(64) default 'D3I' not null comment '创建者', + `updated_at` datetime default current_timestamp() not null comment '修改时间', + `updated_by` varchar(64) default 'D3I' not null comment '修改者', + PRIMARY KEY (`id`), + INDEX `idx_act_id` (`act_id`), + INDEX `idx_biz_id` (`biz_id`), + INDEX `idx_sys_id` (`sys_id`), + INDEX `idx_read_flag` (`read_flag`), + INDEX `idx_deadline_time` (`deadline_time`), + INDEX `idx_urgency_level` (`urgency_level`), + INDEX `idx_event_type_id` (`event_type_id`), + INDEX `idx_district_name` (`district_name`), + INDEX `idx_read_flag_deadline_time` (`read_flag`, `deadline_time`), + INDEX `idx_biz_sys_read_flag` (`biz_id`, `sys_id`, `read_flag`), + INDEX `idx_rec_id` (`rec_id`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='数字城管-部门待办'; + + +CREATE TABLE `t_d3i_dcm_task_attachment` +( + `id` BIGINT NOT NULL COMMENT '主键ID', + `dcm_task_id` BIGINT NOT NULL COMMENT '部门待办任务ID', + `rec_id` BIGINT COMMENT '记录ID', + `relation_type_id` INT NOT NULL COMMENT '关联类型ID', + `relation_id` BIGINT NOT NULL COMMENT '主关联ID', + `relation_main_id` BIGINT COMMENT '主关联ID(可为空)', + `relation_sub_id` BIGINT COMMENT '子关联ID(可为空)', + `act_def_name` VARCHAR(255) COMMENT '流程节点名称', + `media_id` BIGINT NOT NULL UNIQUE COMMENT '媒体唯一ID', + `media_path` VARCHAR(512) NOT NULL COMMENT '服务器存储路径', + `media_type` VARCHAR(50) NOT NULL COMMENT '媒体类型:IMAGE, VIDEO, etc.', + `media_name` VARCHAR(255) NOT NULL COMMENT '原始文件名', + `media_usage` VARCHAR(100) COMMENT '使用场景,如“上报”、“回退”', + `media_server_name` VARCHAR(100) NOT NULL COMMENT '媒体服务器名称', + `media_property` INT COMMENT '媒体属性', + `media_uploaded_name` VARCHAR(255) COMMENT '上传时的原始文件名', + `media_shot` VARCHAR(255) COMMENT '截图标识或路径', + `media_label_type_id` INT COMMENT '标签类型ID', + `media_url` VARCHAR(512) COMMENT '内部访问URL', + `media_default_url` VARCHAR(512) COMMENT '外部可访问URL', + `display_order` INT COMMENT '显示顺序', + `store_type_id` INT NOT NULL COMMENT '存储类型ID', + `special_item_image_type` VARCHAR(100) COMMENT '特殊图片类型', + `height` INT COMMENT '图片高度', + `width` INT COMMENT '图片宽度', + `send_flag` TINYINT COMMENT '发送标志', + `public_flag` TINYINT NOT NULL DEFAULT 0 COMMENT '公开标志:0=私有,1=公开', + `unit_name` VARCHAR(255) COMMENT '所属单位', + `gen_thumb` TINYINT NOT NULL DEFAULT 0 COMMENT '是否生成缩略图:0=否,1=是', + `can_delete` TINYINT NOT NULL DEFAULT 0 COMMENT '是否可删除:0=否,1=是', + `upload_time` DATETIME COMMENT '上传时间', + `create_human_id` BIGINT NOT NULL COMMENT '创建人ID', + `human_name` VARCHAR(255) COMMENT '创建人姓名', + `create_time` DATETIME NOT NULL COMMENT '创建时间', + `update_time` DATETIME COMMENT '更新时间', + `delete_reason` TEXT COMMENT '删除原因', + `delete_flag` TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记:0=未删,1=已删', + `delete_human_id` BIGINT COMMENT '删除人ID', + `delete_time` DATETIME COMMENT '删除时间', + PRIMARY KEY (`id`), + CONSTRAINT t_d3i_dcm_task_attachment_t_d3i_dcm_task_fk + FOREIGN KEY (`dcm_task_id`) REFERENCES ct_collect_oa.t_d3i_dcm_task (`id`), + INDEX `idx_relation_id` (`relation_id`), + INDEX `idx_relation_type_id` (`relation_type_id`), + INDEX `idx_media_type` (`media_type`), + INDEX `idx_public_flag` (`public_flag`), + INDEX `idx_delete_flag` (`delete_flag`), + INDEX `idx_upload_time` (`upload_time`), + INDEX `idx_relation_id_delete_flag` (`relation_id`, `delete_flag`), + INDEX `idx_relation_type_relation_id` (`relation_type_id`, `relation_id`), + INDEX `idx_create_human_id` (`create_human_id`), + INDEX `idx_unit_name` (`unit_name`), + INDEX `idx_media_id` (`media_id`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='数字城管-部门待办附件'; + + +CREATE TABLE `t_d3i_dcm_task_process_info` +( + `id` BIGINT NOT NULL COMMENT '主键ID', + `dcm_task_id` BIGINT NOT NULL COMMENT '部门待办任务ID', + `raw_id` BIGINT COMMENT '原始主键ID', + `rec_id` BIGINT COMMENT '记录ID', + `act_id` BIGINT NOT NULL COMMENT '任务ID', + `act_def_id` INT COMMENT '流程节点定义ID', + `act_def_name` VARCHAR(100) COMMENT '流程节点名称', + `act_time_state_id` INT COMMENT '操作时间状态ID', + `act_limit_info` VARCHAR(255) COMMENT '操作时限信息', + `act_used_time_char` VARCHAR(50) COMMENT '已用时间(字符串)', + `act_remain_time_char` VARCHAR(50) COMMENT '剩余时间(字符串)', + `act_deadline_time` DATETIME COMMENT '操作截止时间', + `act_property_id` INT COMMENT '操作属性ID', + `action_name` VARCHAR(100) COMMENT '操作动作名称(如批转、回退)', + `action_time` DATETIME NOT NULL COMMENT '操作时间', + `title` VARCHAR(100) COMMENT '操作标题', + `detail` TEXT COMMENT '操作详细意见', + `backup_detail` TEXT COMMENT '备用意见', + `medias` TEXT COMMENT '附件信息', + `unit_name` VARCHAR(100) COMMENT '当前操作单位', + `unit_contact` VARCHAR(255) COMMENT '单位联系方式', + `human_id` BIGINT COMMENT '操作人ID,-1为系统', + `human_name` VARCHAR(255) COMMENT '操作人名称(含单位)', + `role_name` VARCHAR(100) COMMENT '当前角色名称', + `item_id` BIGINT NOT NULL COMMENT '项目ID', + `item_type_id` INT COMMENT '任务类型ID', + `item_content` TEXT COMMENT '任务内容摘要', + `item_process_info_list` TEXT COMMENT '子流程列表', + `sub_process_info` TEXT COMMENT '子流程信息', + `bundle_time_state_id` INT COMMENT '组合时间状态ID', + `bundle_limit_info` VARCHAR(255) COMMENT '组合时限信息', + `bundle_used_char` VARCHAR(50) COMMENT '组合已用时间', + `bundle_remain_char` VARCHAR(50) COMMENT '组合剩余时间', + `bundle_deadline_time` DATETIME COMMENT '组合截止时间', + `show_unit_contact` TINYINT(1) COMMENT '是否显示单位联系方式', + `pre_unit_name` VARCHAR(100) COMMENT '上一单位', + `pre_action_name` VARCHAR(100) COMMENT '上一操作名称', + `pre_human_name` VARCHAR(255) COMMENT '上一操作人', + `pre_act_opinion` TEXT COMMENT '上一操作意见', + `next_act_def_name` VARCHAR(100) COMMENT '下一节点名称', + `next_role_part_name` VARCHAR(255) COMMENT '下一角色/单位', + `next_role_name` VARCHAR(100) COMMENT '下一角色名称', + `next_act_property_id` INT COMMENT '下一操作属性ID', + `last_act_flag` TINYINT(1) COMMENT '是否为最后一节点(0否,1是)', + PRIMARY KEY (`id`), + CONSTRAINT t_d3i_dcm_task_process_info_t_d3i_dcm_task_fk + FOREIGN KEY (`dcm_task_id`) REFERENCES ct_collect_oa.t_d3i_dcm_task (`id`), + INDEX `idx_item_id` (`item_id`), + INDEX `idx_action_time` (`action_time`), + INDEX `idx_act_def_name` (`act_def_name`), + INDEX `idx_unit_name` (`unit_name`), + INDEX `idx_role_name` (`role_name`), + INDEX `idx_act_id` (`act_id`), + INDEX `idx_human_id` (`human_id`), + INDEX `idx_last_act_flag` (`last_act_flag`), + INDEX `idx_item_id_action_time` (`item_id`, `action_time`), + INDEX `idx_unit_name_action_time` (`unit_name`, `action_time`), + INDEX `idx_act_def_name_action_time` (`act_def_name`, `action_time`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='数字城管-部门待办办理经过'; + + +CREATE TABLE `t_d3i_dcm_task_form_data` +( + `id` BIGINT NOT NULL COMMENT '主键ID', + `dcm_task_id` BIGINT NOT NULL COMMENT '部门待办任务ID', + `rec_id` BIGINT COMMENT '记录ID', + `act_property_id` INT COMMENT '任务属性ID', + `address` TEXT COMMENT '地址描述', + `archive_time` BIGINT COMMENT '归档时间戳', + `cancel_time` BIGINT COMMENT '取消时间戳', + `biz_id` INT COMMENT '业务ID', + `biz_name` VARCHAR(200) COMMENT '业务名称', + `card_num` VARCHAR(100) COMMENT '证件号码', + `cell_id` INT COMMENT '单元格ID', + `cell_name` VARCHAR(200) COMMENT '单元格名称', + `check_msg_state_id` INT COMMENT '核查消息状态ID', + `check_pic_num` INT COMMENT '核查图片数量', + `check_pic_total_num` INT COMMENT '核查图片总数', + `check_video_num` INT COMMENT '核查视频数量', + `check_video_total_num` INT COMMENT '核查视频总数', + `check_wav_num` INT COMMENT '核查音频数量', + `check_wav_total_num` INT COMMENT '核查音频总数', + `community_id` INT COMMENT '社区ID', + `community_name` VARCHAR(200) COMMENT '社区名称', + `coordinate_x` DECIMAL(10, 6) COMMENT '经度', + `coordinate_y` DECIMAL(10, 6) COMMENT '纬度', + `create_time` BIGINT COMMENT '创建时间戳', + `damage_grade_id` INT COMMENT '损毁等级ID', + `damage_grade_name` VARCHAR(100) COMMENT '损毁等级名称', + `deadline_char` VARCHAR(50) COMMENT '时限描述', + `deadline_time` BIGINT COMMENT '处理截止时间戳', + `dispatch_opinion` VARCHAR(500) COMMENT '派遣意见', + `dispatch_time` BIGINT COMMENT '派遣时间戳', + `display_property` VARCHAR(200) COMMENT '显示属性', + `display_style_id` INT COMMENT '显示样式ID', + `district_id` INT COMMENT '区域ID', + `district_name` VARCHAR(50) COMMENT '所属区域', + `duration_unit` INT COMMENT '时长单位', + `duty_grid_id` INT COMMENT '责任网格ID', + `duty_grid_name` VARCHAR(200) COMMENT '责任网格名称', + `event_desc` TEXT COMMENT '问题描述', + `event_grade_id` INT COMMENT '事件等级ID', + `event_grade_name` VARCHAR(100) COMMENT '事件等级名称', + `event_level_id` INT COMMENT '事件级别ID', + `event_level_name` VARCHAR(100) COMMENT '事件级别名称', + `event_src_id` INT COMMENT '问题来源ID', + `event_src_name` VARCHAR(100) COMMENT '问题来源', + `event_type_code` VARCHAR(50) COMMENT '问题类型编码', + `event_type_id` INT COMMENT '问题类型ID', + `event_type_name` VARCHAR(100) COMMENT '问题类型', + `fifth_type_id` INT COMMENT '第五级类型ID', + `fifth_type_name` VARCHAR(100) COMMENT '第五级类型名称', + `forth_type_id` INT COMMENT '第四级类型ID', + `forth_type_name` VARCHAR(100) COMMENT '第四级类型名称', + `func_deadline` BIGINT COMMENT '职能部门截止时间戳', + `func_deal_time` BIGINT COMMENT '职能部门处理时间戳', + `func_limit_char` VARCHAR(50) COMMENT '职能部门时限描述', + `func_part_id` INT COMMENT '职能部门ID', + `func_part_name` VARCHAR(200) COMMENT '职能部门名称', + `func_time_state_id` INT COMMENT '职能部门时间状态ID', + `gather_flag` VARCHAR(50) COMMENT '汇总标识', + `link_field_display_value` VARCHAR(500) COMMENT '关联字段显示值', + `link_field_value` VARCHAR(500) COMMENT '关联字段值', + `main_type_id` INT COMMENT '大类ID', + `main_type_name` VARCHAR(100) COMMENT '大类名称', + `media_check_num` INT COMMENT '媒体核查数量', + `media_check_total_num` INT COMMENT '媒体核查总数', + `media_lost_flag` INT COMMENT '媒体丢失标识', + `media_upload_num` INT COMMENT '媒体上传数量', + `media_upload_state` VARCHAR(50) COMMENT '媒体上传状态', + `media_upload_total_num` INT COMMENT '媒体上传总数', + `media_url` VARCHAR(512) COMMENT '内部访问URL', + `media_verify_total_num` INT COMMENT '媒体核实总数', + `mms_pic_path` VARCHAR(500) COMMENT '彩信图片路径', + `new_inst_cond_id` INT COMMENT '立案条件ID', + `new_inst_cond_name` VARCHAR(200) COMMENT '立案条件', + `occur_time` BIGINT COMMENT '发生时间戳', + `part_code` VARCHAR(100) COMMENT '部件编码', + `patrol_deal_flag` INT COMMENT '巡查处置标识', + `patrol_id` INT COMMENT '巡查员ID', + `patrol_name` VARCHAR(200) COMMENT '巡查员名称', + `pos_type` VARCHAR(50) COMMENT '位置类型', + `proc_ard_state_id` INT COMMENT '处理仲裁状态ID', + `proc_enq_state_id` INT COMMENT '处理询问状态ID', + `proc_start_time` BIGINT COMMENT '处理开始时间戳', + `proc_sup_state_id` INT COMMENT '处理监督状态ID', + `proc_time_state_id` TINYINT COMMENT '处理流程状态ID', + `rec_deadline` DOUBLE COMMENT '记录时限', + `rec_disp_num` VARCHAR(50) COMMENT '显示编号', + `rec_remain` DOUBLE COMMENT '记录剩余时间', + `rec_remain_char` VARCHAR(50) COMMENT '记录剩余时间描述', + `rec_type_id` INT COMMENT '类型ID', + `rec_type_name` VARCHAR(100) COMMENT '案件类型', + `rec_used` DOUBLE COMMENT '记录已用时间', + `rec_used_char` VARCHAR(50) COMMENT '记录已用时间描述', + `rec_warning` DOUBLE COMMENT '记录预警时间', + `refresh_flag` INT COMMENT '刷新标识', + `refresh_start_time` BIGINT COMMENT '刷新开始时间戳', + `refresh_time` BIGINT COMMENT '刷新时间戳', + `report_id` BIGINT COMMENT '上报ID', + `report_pic_num` INT COMMENT '上报图片数量', + `report_pic_total_num` INT COMMENT '上报图片总数', + `report_video_num` INT COMMENT '上报视频数量', + `report_video_total_num` INT COMMENT '上报视频总数', + `report_wav_num` INT COMMENT '上报音频数量', + `report_wav_total_num` INT COMMENT '上报音频总数', + `street_id` INT COMMENT '街道ID', + `street_name` VARCHAR(200) COMMENT '街道名称', + `sub_type_id` INT COMMENT '小类ID', + `sub_type_name` VARCHAR(100) COMMENT '小类名称', + `task_num` VARCHAR(50) COMMENT '任务号', + `third_type_id` INT COMMENT '第三级类型ID', + `third_type_name` VARCHAR(100) COMMENT '第三级类型名称', + `time_area_id` INT COMMENT '时段ID', + `time_area_name` VARCHAR(100) COMMENT '时段名称', + `unique_id` VARCHAR(100) COMMENT '唯一标识', + `urgent_flag` INT COMMENT '紧急标识', + `urgent_memo` VARCHAR(500) COMMENT '紧急备注', + `verify_msg_state_id` INT COMMENT '核实消息状态ID', + `verify_pic_total_num` INT COMMENT '核实图片总数', + `verify_video_total_num` INT COMMENT '核实视频总数', + `verify_wav_total_num` INT COMMENT '核实音频总数', + `video_device_id` BIGINT COMMENT '视频设备ID', + `video_param` VARCHAR(500) COMMENT '视频参数', + `view_angle` VARCHAR(100) COMMENT '视角', + `view_image_name` VARCHAR(200) COMMENT '视图图片名称', + `view_image_x` DOUBLE COMMENT '视图图片X坐标', + `view_image_y` DOUBLE COMMENT '视图图片Y坐标', + `view_pos_x` DOUBLE COMMENT '视图位置X坐标', + `view_pos_y` DOUBLE COMMENT '视图位置Y坐标', + `warning_time` BIGINT COMMENT '处理预警时间戳', + `sys_id` INT COMMENT '系统ID', + `form_id` INT COMMENT '表单ID', + `verify_pic_num` INT COMMENT '核实图片数量', + `verify_wav_num` INT COMMENT '核实音频数量', + `verify_video_num` INT COMMENT '核实视频数量', + `media_verify_num` INT COMMENT '媒体核实数量', + `road_type_id` INT COMMENT '道路类型ID', + `road_name` VARCHAR(200) COMMENT '道路名称', + `road_id` INT COMMENT '道路ID', + `archive_cond_id` INT COMMENT '归档条件ID', + `archive_cond` VARCHAR(100) COMMENT '归档条件', + `road_type_name` VARCHAR(100) COMMENT '道路类型名称', + `area_type_id` INT COMMENT '区域类型ID', + `equal_group_id` BIGINT COMMENT '等值组ID', + `regather_msg_state_id` INT COMMENT '重新采集消息状态ID', + `new_inst_advise` VARCHAR(500) COMMENT '立案建议', + `event_marks` VARCHAR(500) COMMENT '事件标记', + `archive_type_id` INT COMMENT '归档类型ID', + `report_time_segment_id` INT COMMENT '上报时段ID', + `enable_check_msg` INT COMMENT '启用核查消息', + `revise_opinion` VARCHAR(500) COMMENT '修订意见', + `report_area_limit_id` INT COMMENT '上报区域限制ID', + `deduction` VARCHAR(100) COMMENT '扣减', + `attach_rec_flag` VARCHAR(50) COMMENT '附件记录标识', + `sixth_type_id` INT COMMENT '第六级类型ID', + `sixth_type_name` VARCHAR(100) COMMENT '第六级类型名称', + `seventh_type_id` INT COMMENT '第七级类型ID', + `seventh_type_name` VARCHAR(100) COMMENT '第七级类型名称', + `max_event_type_id` INT COMMENT '最大事件类型ID', + `max_event_type_name` VARCHAR(200) COMMENT '最大事件类型名称', + `occur_num` INT COMMENT '发生次数', + `check_send_time` BIGINT COMMENT '核查发送时间戳', + `check_reply_time` BIGINT COMMENT '核查回复时间戳', + `duty_region_id` INT COMMENT '责任区域ID', + `duty_region_name` VARCHAR(200) COMMENT '责任区域名称', + `lonlat_x` DOUBLE COMMENT '经纬度X', + `lonlat_y` DOUBLE COMMENT '经纬度Y', + `func_bundle_deadline` BIGINT COMMENT '职能捆绑截止时间戳', + `third_unique_id` VARCHAR(100) COMMENT '第三方唯一标识', + `event_property_id` INT COMMENT '事件属性ID', + `event_property_name` VARCHAR(200) COMMENT '事件属性名称', + `city_village_flag` VARCHAR(50) COMMENT '城乡标识', + `specify_func_id` INT COMMENT '指定职能部门ID', + `specify_competent_func_id` INT COMMENT '指定主管职能部门ID', + `specify_func_name` VARCHAR(200) COMMENT '指定职能部门名称', + `specify_competent_func_name` VARCHAR(200) COMMENT '指定主管职能部门名称', + `super_rec_id` BIGINT COMMENT '上级记录ID', + `split_rec_flag` INT COMMENT '拆分记录标识', + `site_num` VARCHAR(50) COMMENT '站点编号', + `difficult_type_id` INT COMMENT '困难类型ID', + `event_district_grade_id` INT COMMENT '事件区域等级ID', + `event_district_grade_name` VARCHAR(100) COMMENT '事件区域等级名称', + `duty_district_id` INT COMMENT '责任区域ID', + `duty_street_id` INT COMMENT '责任街道ID', + `duty_community_id` INT COMMENT '责任社区ID', + `duty_district_name` VARCHAR(200) COMMENT '责任区域名称', + `duty_street_name` VARCHAR(200) COMMENT '责任街道名称', + `duty_community_name` VARCHAR(200) COMMENT '责任社区名称', + `cus_grid_code` VARCHAR(100) COMMENT '自定义网格编码', + `accepter_id` INT COMMENT '受理人ID', + `accepter_name` VARCHAR(100) COMMENT '受理人姓名', + `auto_check_count` INT COMMENT '自动核查次数', + `other_task_num` VARCHAR(100) COMMENT '第三方任务号', + `force_handle_flag` VARCHAR(50) COMMENT '强制处理标识', + `func_part_list_id` VARCHAR(100) COMMENT '职能部门列表ID', + `func_part_list_name` VARCHAR(200) COMMENT '职能部门列表名称', + `custom_deadline` BIGINT COMMENT '自定义截止时间戳', + `act_record_id` BIGINT COMMENT '操作记录ID', + `tell_num` VARCHAR(50) COMMENT '联系电话', + `reply_opinion` VARCHAR(500) COMMENT '回复意见', + `send_from_type` VARCHAR(50) COMMENT '发送来源类型', + `func_forbid_reporter_info_flag` TINYINT COMMENT '是否禁止举报人信息', + `property_company_id` BIGINT COMMENT '物业公司ID', + `accept_status` VARCHAR(50) COMMENT '受理状态', + `shop_name` VARCHAR(200) COMMENT '商铺名称', + `func_custom_limit` VARCHAR(50) COMMENT '职能部门自定义时限', + `squadron_id` BIGINT COMMENT '中队ID', + `squadron_name` VARCHAR(200) COMMENT '中队名称', + `reply_intime` TINYINT COMMENT '是否两小时回复(0无需回复,1待回复,2已回复,3超时,4无需回复已恢复)', + `locked_flag` INT COMMENT '锁定标识', + `check_type_id` INT COMMENT '核查类型ID', + `transited_flag` INT COMMENT '转交标识', + `rec_analysis_type_id` INT COMMENT '记录分析类型ID', + `deal_evaluate_ids` VARCHAR(200) COMMENT '处置评价ID列表', + `newinst_no_transit` VARCHAR(50) COMMENT '立案不转交', + `no_return_visit_flag` INT COMMENT '无需回访标识', + `common_rec_type_flag` VARCHAR(50) COMMENT '通用记录类型标识', + `common_rec_attr_flag` VARCHAR(50) COMMENT '通用记录属性标识', + `main_rec_id` BIGINT COMMENT '主记录ID', + `send_pub_check_task_flag` INT COMMENT '发送公共核查任务标识', + `patroltask_deadline_time` BIGINT COMMENT '巡查任务截止时间戳', + `shop_id` BIGINT COMMENT '商铺ID', + `spec_type_name` VARCHAR(100) COMMENT '特殊类型名称', + `law_duty_grid_id` INT COMMENT '法律责任网格ID', + `law_duty_grid_name` VARCHAR(200) COMMENT '法律责任网格名称', + `proc_account_state_id` INT COMMENT '处理账户状态ID', + `spec_type_id` INT COMMENT '特殊类型ID', + `reply_flag` VARCHAR(50) COMMENT '回复标识', + `first_depart_name` VARCHAR(100) COMMENT '一级专业部门', + `second_depart_name` VARCHAR(100) COMMENT '二级专业部门', + `reply_intime_deadline` BIGINT COMMENT '两小时回复截止时间戳', + `supervision_check_state_id` INT COMMENT '监督核查状态ID', + `urgent_level` TINYINT COMMENT '紧急程度(0正常,1紧急)', + `self_deal_msg_state_id` INT COMMENT '自行处置消息状态ID', + `duty_grid_type_id` INT COMMENT '责任网格类型ID', + `deal_duty_grid_type_id` INT COMMENT '处置责任网格类型ID', + `deal_duty_grid_id` INT COMMENT '处置责任网格ID', + `deal_duty_grid_name` VARCHAR(200) COMMENT '处置责任网格名称', + `site_id` BIGINT COMMENT '站点ID', + `media_self_deal_total_num` INT COMMENT '自行处置媒体总数', + `media_self_deal_num` INT COMMENT '自行处置媒体数量', + `self_deal_pic_total_num` INT COMMENT '自行处置图片总数', + `self_deal_pic_num` INT COMMENT '自行处置图片数量', + `self_deal_wav_total_num` INT COMMENT '自行处置音频总数', + `self_deal_wav_num` INT COMMENT '自行处置音频数量', + `self_deal_video_total_num` INT COMMENT '自行处置视频总数', + `self_deal_video_num` INT COMMENT '自行处置视频数量', + `review_msg_state_id` INT COMMENT '复核消息状态ID', + `media_review_total_num` INT COMMENT '复核媒体总数', + `media_review_num` INT COMMENT '复核媒体数量', + `review_pic_total_num` INT COMMENT '复核图片总数', + `review_pic_num` INT COMMENT '复核图片数量', + `review_wav_total_num` INT COMMENT '复核音频总数', + `review_wav_num` INT COMMENT '复核音频数量', + `review_video_total_num` INT COMMENT '复核视频总数', + `review_video_num` INT COMMENT '复核视频数量', + `public_flag` TINYINT COMMENT '公开标志', + `whistle_flag` VARCHAR(50) COMMENT '吹哨标识', + `jx_id` BIGINT COMMENT '警讯ID', + `jx_jxmc` VARCHAR(200) COMMENT '警讯名称', + `jx_design_type` VARCHAR(100) COMMENT '警讯设计类型', + `rec_category_id` INT COMMENT '记录类别ID', + `repeat_state` VARCHAR(50) COMMENT '重复状态', + `cg_area` VARCHAR(100) COMMENT '城管区域', + `hw_area` VARCHAR(100) COMMENT '环卫区域', + `sz_area` VARCHAR(100) COMMENT '市政区域', + `device_guid` VARCHAR(100) COMMENT '设备GUID', + `proc_press_state_id` INT COMMENT '处理压力状态ID', + `hot_area` VARCHAR(100) COMMENT '热点区域', + `report_state` VARCHAR(50) COMMENT '上报状态', + `dispose_state` INT COMMENT '处置状态', + `pre_dispose_state` VARCHAR(50) COMMENT '预处置状态', + `undertake_user_name` VARCHAR(50) COMMENT '承办人员', + `undertake_phone` VARCHAR(50) COMMENT '联系电话', + `deal_person_org` VARCHAR(50) COMMENT '承办部门', + PRIMARY KEY (`id`), + CONSTRAINT `t_d3i_dcm_task_form_data_t_d3i_dcm_task_fk` + FOREIGN KEY (`dcm_task_id`) REFERENCES `ct_collect_oa`.`t_d3i_dcm_task` (`id`), + INDEX `idx_biz_id` (`biz_id`), + INDEX `idx_sys_id` (`sys_id`), + INDEX `idx_deadline_time` (`deadline_time`), + INDEX `idx_event_type_id` (`event_type_id`), + INDEX `idx_district_name` (`district_name`), + INDEX `idx_rec_id` (`rec_id`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='数字化城市管理信息系统人工任务表单数据表'; + + +create table t_d3i_dcm_rollback +( + id bigint not null comment '主键' + primary key, + dcm_task_id bigint not null comment '唯一标志', + task_number varchar(64) not null comment '任务号', + act_id varchar(64) not null comment '工单ID', + trans_info varchar(64) not null comment '回退流向(固定:市受理员)', + save_old_act_flag varchar(64) not null comment '是否保留旧流程', + opinion varchar(500) not null comment '回退意见', + rollback_reason_id varchar(500) not null comment '回退原因ID', + attachments text null comment '附件(多个用逗号分隔)', + send_message varchar(32) not null comment '发送短信(1:发送,0:不发送)', + not_assigned varchar(16) null comment '申请不交办(0:不打勾,1:打勾)', + not_assigned_reason text null comment '申请不交办原因', + undertake_user_name varchar(64) null comment '承办人员', + undertake_phone varchar(64) null comment '联系电话', + status bigint not null comment '提交状态', + flow_token varchar(256) null comment '流令牌', + created_at datetime default current_timestamp() not null comment '创建时间', + created_by varchar(64) default 'D3I' not null comment '创建者', + updated_at datetime default current_timestamp() not null comment '修改时间', + updated_by varchar(64) default 'D3I' not null comment '修改者', + constraint t_d3i_dcm_rollback_t_d3i_dcm_task_fk + foreign key (dcm_task_id) references t_d3i_dcm_task (id) +) + comment '数字城管-回退接口表'; + + +CREATE TABLE t_d3i_dcm_stage_reply +( + id BIGINT NOT NULL COMMENT '主键', + dcm_task_id BIGINT NOT NULL COMMENT '唯一标志', + task_number VARCHAR(64) NOT NULL COMMENT '任务号', + rec_id VARCHAR(64) NOT NULL COMMENT '记录ID', + act_id VARCHAR(64) NOT NULL COMMENT '工单ID', + item_type VARCHAR(64) NOT NULL COMMENT '固定值', + content VARCHAR(1000) NOT NULL COMMENT '回复内容', + status BIGINT NOT NULL COMMENT '提交状态', + flow_token VARCHAR(256) NULL COMMENT '流令牌', + `created_at` datetime default current_timestamp() not null comment '创建时间', + `created_by` varchar(64) default 'D3I' not null comment '创建者', + `updated_at` datetime default current_timestamp() not null comment '修改时间', + `updated_by` varchar(64) default 'D3I' not null comment '修改者', + + PRIMARY KEY (id), + CONSTRAINT `t_d3i_dcm_stage_reply_t_d3i_dcm_task_fk` + FOREIGN KEY (`dcm_task_id`) REFERENCES `ct_collect_oa`.`t_d3i_dcm_task` (`id`) +) COMMENT ='数字城管-阶段回复接口表'; + + +create table t_d3i_dcm_dispose +( + id bigint not null comment '主键' + primary key, + dcm_task_id bigint not null comment '唯一标志', + task_number varchar(64) not null comment '任务号', + act_id varchar(64) not null comment '工单ID', + task_list_id varchar(64) not null comment '任务列表ID', + trans_info varchar(64) not null comment '批转对象(固定:市受理员)', + opinion text not null comment '批转意见', + add_num varchar(32) not null comment '批转意见', + attachments text null comment '附件', + send_message varchar(32) not null comment '发送短信(1:发送,0:不发送)', + undertake_user_name varchar(64) null comment '承办人员', + undertake_phone varchar(64) null comment '联系电话', + status bigint default 0 not null comment '提交状态', + flow_token varchar(256) null comment '流令牌', + created_at datetime default current_timestamp() not null comment '创建时间', + created_by varchar(64) default 'D3I' not null comment '创建者', + updated_at datetime default current_timestamp() not null comment '修改时间', + updated_by varchar(64) default 'D3I' not null comment '修改者', + constraint t_d3i_dcm_dispose_t_d3i_dcm_task_fk + foreign key (dcm_task_id) references t_d3i_dcm_task (id) +) + comment '数字城管-批转接口表'; + + +create table t_d3i_dcm_apply_postpone +( + id bigint not null comment '主键' + primary key, + dcm_task_id bigint not null comment '唯一标志', + task_number varchar(64) not null comment '任务号', + apply_act_id varchar(64) not null comment '工单流程ID', + reply_part_id varchar(64) not null comment '回复环节ID', + ard_level varchar(32) not null comment '固定值', + ard_type_id varchar(32) not null comment '固定值(延期类型)', + apply_memo text not null comment '申请意见', + time_num varchar(64) not null comment '延期时长', + postpone_date varchar(64) not null comment '延期日期', + time_unit varchar(64) not null comment '时间单位', + attachments text null comment '附件', + delay_multiple int null comment '延期倍数', + apply_type varchar(64) null comment '申请类型', + status bigint not null comment '提交状态', + flow_token varchar(256) null comment '流令牌', + created_at datetime default current_timestamp() not null comment '创建时间', + created_by varchar(64) default 'D3I' not null comment '创建者', + updated_at datetime default current_timestamp() not null comment '修改时间', + updated_by varchar(64) default 'D3I' not null comment '修改者', + constraint t_d3i_dcm_apply_postpone_t_d3i_dcm_task_fk + foreign key (dcm_task_id) references t_d3i_dcm_task (id) +) + comment '数字城管-申请延期接口表'; + +create table t_d3i_dcm_task_extended_info +( + id bigint auto_increment comment '主键ID' + primary key, + dcm_task_id bigint not null comment '唯一标志', + subtype_field_name varchar(100) null comment '子类型字段名称', + content_range varchar(255) default '' null comment '内容范围', + control_type varchar(50) null comment '控件类型', + display_name varchar(100) null comment '显示名称', + data_type_id varchar(50) null comment '数据类型ID', + null_flag varchar(20) null comment '是否可空标识(0:不可空,1:可空)', + list_content text null comment '下拉框选项内容', + subtype_id varchar(50) null comment '子类型ID', + field_value varchar(255) null comment '字段值', + rec_id bigint not null comment '记录ID', + field_id varchar(50) null comment '字段ID', + created_at datetime default current_timestamp() not null comment '创建时间', + created_by varchar(64) default 'D3I' not null comment '创建者', + updated_at datetime default current_timestamp() not null comment '修改时间', + updated_by varchar(64) default 'D3I' not null comment '修改者', + constraint fk_attr_3181_task + foreign key (dcm_task_id) references t_d3i_dcm_task (id) +) + comment '扩展信息' charset = utf8mb4; + +create index idx_dcm_task_id + on t_d3i_dcm_task_extended_info (dcm_task_id); + + +create table t_d3i_dcm_task_more_info +( + id bigint auto_increment comment '主键ID' + primary key, + dcm_task_id bigint not null comment '唯一标志', + msg_id bigint null comment '消息ID', + rec_id bigint null comment '记录ID', + msg_type_id bigint null comment '消息类型ID', + msg_type varchar(50) null comment '消息类型名称', + msg_info varchar(255) null comment '消息详情', + create_time varchar(64) null comment '创建时间', + human_id int null comment '人员ID', + human_name varchar(50) null comment '人员姓名', + role_name varchar(50) null comment '角色名称', + ex_info_id bigint null comment '扩展信息ID', + ex_info_msg varchar(255) null comment '扩展信息内容', + created_at datetime default current_timestamp() not null comment '创建时间', + created_by varchar(64) default 'D3I' not null comment '创建者', + updated_at datetime default current_timestamp() not null comment '修改时间', + updated_by varchar(64) default 'D3I' not null comment '修改者', + constraint t_d3i_dcm_task_more_info_t_d3i_dcm_task_fk + foreign key (dcm_task_id) references t_d3i_dcm_task (id) +) + comment '更多信息' charset = utf8mb4; + +create index idx_dcm_task_id + on t_d3i_dcm_task_more_info (dcm_task_id); + + +create table t_d3i_dcm_apply_rollback +( + id bigint auto_increment comment '主键ID' + primary key, + dcm_task_id bigint not null comment '唯一标志', + task_number varchar(64) not null comment '任务号', + act_id varchar(64) not null comment '工单ID', + reply_part_id bigint null comment '回复部门ID', + ard_level bigint null comment '延期等级', + ard_type_id bigint null comment '延期类型ID', + opinion text null comment '申请意见', + apply_type varchar(64) null comment '申请类型(拒签、处置阶段照片未公开)', + trans_info varchar(255) null comment '流转信息', + flow_token varchar(256) null comment '流令牌', + attachments text null comment '附件(多个用逗号分隔)', + status bigint not null comment '提交状态', + created_at datetime default current_timestamp() not null comment '创建时间', + created_by varchar(64) default 'D3I' not null comment '创建者', + updated_at datetime default current_timestamp() not null comment '修改时间', + updated_by varchar(64) default 'D3I' not null comment '修改者', + constraint t_d3i_dcm_apply_rollback_t_d3i_dcm_task_fk + foreign key (dcm_task_id) references t_d3i_dcm_task (id) +) + comment '申请回退表' charset = utf8mb4; \ No newline at end of file diff --git a/docs/dcm 动态数据分析.txt b/docs/dcm 动态数据分析.txt new file mode 100644 index 0000000..9764100 --- /dev/null +++ b/docs/dcm 动态数据分析.txt @@ -0,0 +1,874 @@ +1、获取工单展示的按钮列表 +GET http://221.224.13.41:28086/eUrbanMIS/home/workflow/assign +在响应的['resultInfo']['data']['menuData']['menus']获取到菜单列表,每个菜单的visible=true且displayProperty&2>0(按位与运算),才会被展示 + + +2、判断批转表单是否有便民批转 +GET http://221.224.13.41:28086/eUrbanMIS/home/workflow/gettranstreewithoutconfig +BODY {'actID': act_id, 'itemType': 'transit'} +判断响应['resultInfo']['data']['form']是否为null,不为null且是一个字典,就代表有便民批转 + + +3、判断回退表单是否有便民回退 +GET http://221.224.13.41:28086/eUrbanMIS/home/workflow/gettranstree +BODY {'actID': act_id, 'itemType': 'rollback'} +判断响应['resultInfo']['data']['form']是否为null,不为null且是一个字典,就代表有便民回退 + + +**1、经过分析,基本上2、3两个就是通过:"问题来源"=="12345热线"进行判断的!** +**2、便民批转、便民回退的表单项目是固定的,当1为 True 时,即显示表单,表单项目固定!** + + +4、便民批转和便民回退表单内的组件 +请求地址 +http://221.224.13.41:28086/eUrbanMIS/home/form/formpreview/getforminfo +请求方法 +POST +请求数据(form-data) +便民批转: +formID:377 +formName:便民批转 +param:{"recID": rec_id,"actID": act_id} +便民回退: +formID: +formName:便民回退 +param:{"recID":rec_id,"actID":act_id} + +响应: +表单组件在['resultInfo']['data']['form']['componentList']内 +componentType类型 +label 标签,展示字段名称 +text 输入框,用于输入字段 +textarea 文本框 +checkbox 单选框 +目前看到的便民批转和便民回退,都没有多余组件 + + +5、便民批转和便民回退的请求独立于批转和回退,即如果有便民表单,基础表单和便民表单分两次请求 +便民批转提交请求: +由于先提交基础表单,在断网的情况下,基础表单请求失败,后面便民批转就不会再提交,无法获取请求接口 + +便民回退提交请求: +请求网址 +http://221.224.13.41:28086/eUrbanMIS/home/form/formpreview/save +请求方法 +POST +请求数据(form-data) +{"formID":"352","formParam":"{"recID":recID,"actID":actID}","isInsert":"0","briefParam":"true", + "componentList":"[{"componentID":8,"value":"2"}, // 申请不交办下面的文本框内填写的内容 + {"componentID":4,"value":1}, // 申请不交办单选框,选中为1,未选则为0 + {"componentID":9,"value":"3"}, // 承办人员 + {"componentID":12,"value":"4"}]"} // 联系电话 + + +6、申请延期,要提交请求确认是否允许申请延期 +请求网址 +http://221.224.13.41:28086/eUrbanMIS/home/workflow/wfitemtypecheck?itemType=postpone +请求方法 +POST +请求数据(form-data) +taskListID: 600058 +taskListName: 部门待办栏 +tasknum: 202601070334 +otherTaskNum: WCG2601070000132 +recDispNum +menuName: applypostpone +menuDisplayName: 申请延期 +recID: 3688043 +actID: 123967246 + +提交申请延期 +请求网址 +http://221.224.13.41:28086/eUrbanMIS/home/workflow/applypostpone +请求方法 +POST +请求数据(form-data) +applyActID:124267156 +replyPartID:39 +ardLevel:0 +ardTypeID:12 +applyMemo:申请意见\n延长 2倍小类时限(48小时) //中间有换行,换行后面的是固定内容,根据delayMultiple=1或2,显示1倍(24小时)或2倍(48小时) +timeNum:48 //24或48 +postponeDate: +timeUnit:4 +addNum:1 //附件图片数 +mediaUsage:申请延期 +mediaIDs:744114092743 //从第9个接口,上传附件后获取到mediaID,用英文逗号拼接 +relationTypeID:10 +relationID:3679054 //同rec_id +relationMainID:21 +relationSubID:-1 +tempUsage:apply_postpone_tmp +mediaTypes:IMAGE //从第9个接口,上传附件后获取到mediaType,用英文逗号拼接 + +7、WebSocket 请求实时提醒 +请求网址:ws://221.224.13.41:28086/eUrbanMIS/socket +请求方法:GET + +状态代码 +101 Switching Protocols +HTTP/1.1 101 Switching Protocols +Server: openresty +Date: Wed, 20 May 2026 14:06:39 GMT +Connection: upgrade +Upgrade: websocket +Sec-WebSocket-Accept: BVL1oPT1h623labFRDYe0yF03PY= +Sec-WebSocket-Extensions: permessage-deflate;client_max_window_bits=15 +X-App-Id: mis + +GET ws://221.224.13.41:28086/eUrbanMIS/socket HTTP/1.1 +Host: 221.224.13.41:28086 +Connection: Upgrade +Pragma: no-cache +Cache-Control: no-cache +User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 +Upgrade: websocket +Origin: http://221.224.13.41:28086 +Sec-WebSocket-Version: 13 +Accept-Encoding: gzip, deflate +Accept-Language: zh-CN,zh;q=0.9 +Cookie: SESSION=5d5e894a-8263-4248-a287-f776f54d8e18; eUrbanGlobalLogo="{\"black\":\"default.png\",\"whiteblue\":\"default4.png\",\"whitegreen\":\"default4.png\",\"whitered\":\"default4.png\",\"darkblue\":\"default4.png\"}"; eUrbanGlobalStyle=whitegreen; eUrbanToken=; gisUrl=http://221.224.13.41:28093/eUrbanGIS; eUrbanGlobalStyle=whiteblue +Sec-WebSocket-Key: 1OMmWl2RYmZAY46MBunz+w== +Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits + +响应: +up {"type":"register","data":{"humanID":425}} +down {"type":"register","data":{"success":true},"timestamp":-1,"revID":null} + +8、申请回退 +根据任务号202602090280实际操作的结果 +请求网址: +http://221.224.13.41:28086/eUrbanMIS/home/workflow/applyrollback +请求方法:POST +请求数据(form-data) +applyActID:124049759 +replyPartID:39 +ardLevel:0 +ardTypeID:18或者62,18代表“拒签”,62代表“处置阶段照片未公开”,蒋主任说统一都是拒签,这个字段固定18 +applyMemo:申请意见 +transInfo:52,254,0 +addNum:1 //附件图片数 +mediaUsage:申请回退 +mediaIDs:744114092743 //从第9个接口,上传附件后获取到mediaID,用英文逗号拼接 +relationTypeID:10 +relationID:3679054 //同rec_id +relationMainID:21 +relationSubID:-1 +tempUsage:apply_rollback_tmp +mediaTypes:IMAGE //从第9个接口,上传附件后获取到mediaType,用英文逗号拼接 + +9、回退、批转、申请回退、申请延期表单内上传附件 +第一步上传: +请求地址:http://221.224.13.41:28086/eUrbanMIS/media/upload +请求方法:POST +请求数据(multipart/form-data) +relationTypeID:10 +mediaUsage:回退时上传为rollback_tmp 批转时上传为transit_tmp,申请延期为apply_postpone_tmp,申请回退为apply_rollback_tmp +checkExist:true +relationID:3679054 //同rec_id +relationSubID:123872347 //同act_id,但是申请延期和申请回退例外,为-1 +relationMainID:45 //回退和批转时为45,申请延期和申请回退为21 +tempUsage:回退时上传为rollback_tmp 批转时上传为transit_tmp,申请延期为apply_postpone_tmp,申请回退为apply_rollback_tmp +id:WU_FILE_0 //第1个WU_FILE_0,第二个WU_FILE_1,依此类推 +name:test.png //附件文件名 +type:image/png +lastModifiedDate:Fri May 22 2026 10:08:57 GMT+0800 (中国标准时间) +size:925 +files:(binary) + +响应:{ + "success": true, + "code": null, + "message": null, + "data": { + "mediaList": [ + { + "storeTypeID": 4, + "relationTypeID": 10, + "relationID": 3679054, + "relationMainID": 45, + "relationSubID": 123872347, + "mediaType": "IMAGE", + "mediaName": "test.png", + "mediaUsage": "transit_tmp", + "createTime": 1779415756000, + "updateTime": null, + "displayOrder": null, + "deleteReason": null, + "deleteFlag": 0, + "createHumanID": 425, + "deleteHumanID": null, + "deleteTime": null, + "mediaPath": "rec/tmp/20260522/3679054/cae43bfb-59ee-4f9d-bfe9-e9b5d46f60b9", + "mediaServerName": "Media1", + "mediaProperty": 0, + "specialitemImageType": null, + "mediaUploadedName": null, + "height": null, + "width": null, + "sendFlag": null, + "mediaShot": null, + "publicFlag": 0, + "mediaLabelTypeID": null, + "mediaURL": "mediadl/media/getdata/Media1/rec/tmp/20260522/3679054/cae43bfb-59ee-4f9d-bfe9-e9b5d46f60b9/test.png", + "mediaDefaultURL": "http://2.32.249.61:8080/eUrbanMIS/mediadl/media/getdata/Media1/rec/tmp/20260522/3679054/cae43bfb-59ee-4f9d-bfe9-e9b5d46f60b9/test.png", + "humanName": null, + "unitName": null, + "actDefName": null, + "uploadTime": null, + "genThumb": false, + "canDelete": false, + "mediaID": 744114092743 + } + ] + }, + "tipType": 1, + "strings": null, + "stackTrace": null +} +第二步获取上传的文件信息: +请求地址:http://221.224.13.41:28086/eUrbanMIS/media/get +请求方式:GET +请求体: +relationTypeID:10 +mediaUsage:回退时上传为rollback_tmp 批转时上传为transit_tmp 申请延期为apply_postpone_tmp,申请回退为apply_rollback_tmp +relationID:3679054 //同rec_id +relationMainID:45 +relationSubID:123872347 //同act_id +还有一个时间戳 -:1779411198523 + +响应:{ + "success": true, + "code": null, + "message": null, + "data": { + "enableManageAllNotReportMedia": false, + "mediaList": [ + { + "storeTypeID": 4, + "relationTypeID": 10, + "relationID": 3679054, + "relationMainID": 45, + "relationSubID": 123872347, + "mediaType": "IMAGE", + "mediaName": "test.png", + "mediaUsage": "transit_tmp", + "createTime": "2026-05-22 10:09:16", + "updateTime": null, + "displayOrder": null, + "deleteReason": "", + "deleteFlag": 0, + "createHumanID": 425, + "deleteHumanID": null, + "deleteTime": null, + "mediaPath": "rec/tmp/20260522/3679054/cae43bfb-59ee-4f9d-bfe9-e9b5d46f60b9", + "mediaServerName": "Media1", + "mediaProperty": 0, + "specialitemImageType": null, + "mediaUploadedName": "", + "height": null, + "width": null, + "sendFlag": null, + "mediaShot": "", + "publicFlag": 0, + "mediaLabelTypeID": null, + "mediaURL": "mediadl/media/getdata/Media1/rec/tmp/20260522/3679054/cae43bfb-59ee-4f9d-bfe9-e9b5d46f60b9/test.png", + "mediaDefaultURL": "http://2.32.249.61:8080/eUrbanMIS/mediadl/media/getdata/Media1/rec/tmp/20260522/3679054/cae43bfb-59ee-4f9d-bfe9-e9b5d46f60b9/test.png", + "humanName": "蒋霙", + "unitName": "城投公司", + "actDefName": null, + "uploadTime": null, + "genThumb": false, + "canDelete": false, + "mediaID": 744114092743 + } + ], + "enableManageMedia": false, + "enableDeleteMedia": false, + "enableDeleteOtherUploadMedia": false + }, + "tipType": 1, + "strings": null, + "stackTrace": null +} + +10、提交批转完整流程 +第一步,可能是一个表单检查接口: +请求地址:http://221.224.13.41:28086/eUrbanMIS/home/workflow/checkdisposeimgnum +请求方法:POST +请求数据(form-data) +actID:123872347 +taskListID:600058 +transInfo:52,254,0,0 +opinion:批转意见 +addNum:1 //附件图片数 + +响应:{ + "resultInfo": { + "success": true, + "code": null, + "message": null, + "data": {}, + "tipType": 1, + "strings": null, + "stackTrace": null + } +} + +第二步,提交便民批转(如有): +请求地址:http://221.224.13.41:28086/eUrbanMIS/home/form/formpreview/save +请求方法:POST +请求数据(form-data) +formID:377 +formParam:{"recID":3679054,"actID":123872347} +isInsert:0 +briefParam:true +componentList:[{"componentID":9,"value":联系人},{"componentID":12,"value":联系电话}] + +响应:{ + "resultInfo": { + "success": true, + "code": null, + "message": null, + "data": { + "extendInfo": "。 申请不回访: ; 申请不交办: ; 自行回访: ", + "isSuccess": true + }, + "tipType": 1, + "strings": null, + "stackTrace": null + } +} + +第三步,提交基础表单: +请求地址:http://221.224.13.41:28086/eUrbanMIS/home/workflow/transit +请求方法:POST +请求数据(form-data) +actID:123872347 +taskListID:600058 +transInfo:52,254,0,0 +opinion:系统测试,烦请退回,谢谢。 。 申请不回访: ; 申请不交办: ; 自行回访: //基础表单的批转意见+第二步提交便民批转的响应内的extendInfo的字符串拼接 +addNum:1 //附件图片数 +mediaUsage:处置 +mediaIDs:744114092743 //从第9个接口,上传附件后获取到mediaID,用英文逗号拼接 +relationTypeID:10 +relationID:3679054 //同rec_id +relationMainID:45 +relationSubID:123872347 //同act_id +tempUsage:transit_tmp +mediaTypes:IMAGE //从第9个接口,上传附件后获取到mediaType,用英文逗号拼接 + +响应:{ + "success": true, + "code": null, + "message": "批转成功!", + "data": { + "smsInfo": [ + "254,role,市受理员" + ], + "newActList": [ + { + "actID": 124270511, + "lastActFlag": 1, + "procID": 101, + "actDefID": 52, + "actDefName": "结案", + "actTypeID": 3, + "actTypeName": "普通", + "actStateID": 11110, + "actStateName": "正常移交 ", + "actStateIconID": null, + "recID": 3679054, + "partID": 254, + "partName": "市受理员", + "humanID": 0, + "humanName": null, + "roleID": 254, + "roleName": "市受理员", + "unitID": 37, + "unitName": "监督指挥大厅", + "preActID": "123872347,", + "prePartID": "310,", + "prePartName": "城投公司,", + "preActDefID": "45", + "preActDefName": "一级专业部门", + "preActOpinion": "系统测试,烦请退回,谢谢。 。 申请不回访: ; 申请不交办: ; 自行回访:", + "preHumanID": "425,", + "preHumanName": "蒋霙,", + "preRoleID": "310,", + "preRoleName": "城投公司,", + "preUnitID": "308,", + "preUnitName": "城投公司,", + "nextActID": null, + "nextPartID": null, + "nextPartName": null, + "partType": "role", + "nextActDefID": null, + "nextActDefName": null, + "nextHumanID": null, + "nextHumanName": null, + "nextRoleID": null, + "nextRoleName": null, + "nextUnitID": null, + "nextUnitName": null, + "actSupStateID": 0, + "actSupStateName": "无", + "actPressStateID": 0, + "actPressStateName": "无", + "actArdStateID": 0, + "actArdStateName": "无", + "actEnqStateID": 0, + "actEnqStateName": "无", + "actArdItemTypeID": null, + "actCopStateID": 0, + "actCopStateName": "无", + "actAuthStateID": 0, + "actAuthStateName": "无", + "backActID": "123872347", + "replyBackActID": "", + "actDisplayProperty": null, + "actDisplayPropertyChar": null, + "backColorBitID": null, + "fontColorBitID": null, + "actDeadline": 0.25, + "actDeadlineChar": "15分钟", + "actWarning": 0.166667, + "deadlineTime": "2026-05-22 10:40:40", + "warningTime": "2026-05-22 10:35:40", + "startTime": "2026-05-22 10:25:40", + "endTime": null, + "actTimeStateID": 1, + "actDurationUnit": 2, + "actUsed": 0, + "actRemain": 0.25, + "actUsedChar": "0秒", + "actRemainChar": "15分钟", + "refreshFlag": 1, + "refreshStartTime": null, + "refreshTime": "2026-05-22 10:25:40", + "timeSysID": 3, + "timeStateID": 0, + "bundleTimeSysID": null, + "bundleDeadlineTime": null, + "bundleWarningTime": null, + "bundleDeadlineLimit": null, + "bundleWarningLimit": null, + "bundleUsed": null, + "bundleRemain": null, + "bundleUsedChar": null, + "bundleRemainChar": null, + "bundleTimeStateID": null, + "bundleDeadlineChar": null, + "itemMenuSet": ",postpone,finish,finishbatch,advice,authright,askcooperate,suspend,cancel,cancelbatch,transit,transitbatch,transit_spec,supervise_dispatch,rollback,transit_many,advice,", + "itemMenuSetBit": 1049104166, + "priSubTypeID": 0, + "readTime": null, + "readFlag": 0, + "transOpinion": null, + "createTime": "2026-05-22 10:25:40", + "transItemTypeID": 610, + "transItemTypeName": "transit", + "displayFlag": 1, + "extraInfo": null, + "resetTimeFlag": null, + "timedDispatchFlag": 0, + "rollbackDeadline": "2025-12-15 15:00:00", + "replyActRemainChar": null, + "autoTransFlag": false, + "autoTransedFlag": false, + "autoTransType": null, + "autoTransRuleID": null, + "isMainResp": 0, + "parallelIDs": null + } + ] + }, + "tipType": 1, + "strings": null, + "stackTrace": null +} + +第四步,发送短信(如选择发短信): +请求地址:http://221.224.13.41:28086/eUrbanMIS/home/sms/sendwfsms +请求方法:POST +请求数据(form-data) +actDefID:45 +actPropertyID:7 +partStr:254,role,市受理员 +itemType:transit +recID:3679054 +actID:123872347 + +响应:{ + "resultInfo": { + "success": false, + "code": null, + "message": null, + "data": { + "smsSendCreateTime": 1779416741000, + "smsReceiveList": [ + { + "msgID": 5319105, + "humanID": 676, + "detailNum": 1, + "mobile": "18625097251", + "receiveTime": null, + "readTime": null, + "smsID": null, + "retryTime": 0, + "msgStateID": 0, + "errorInfo": null, + "deleteFlag": 0 + }, + { + "msgID": 5319105, + "humanID": 715, + "detailNum": 2, + "mobile": "18551572192", + "receiveTime": null, + "readTime": null, + "smsID": null, + "retryTime": 0, + "msgStateID": 0, + "errorInfo": null, + "deleteFlag": 0 + }, + { + "msgID": 5319105, + "humanID": 718, + "detailNum": 3, + "mobile": "18625097090", + "receiveTime": null, + "readTime": null, + "smsID": null, + "retryTime": 0, + "msgStateID": 0, + "errorInfo": null, + "deleteFlag": 0 + }, + { + "msgID": 5319105, + "humanID": 1631, + "detailNum": 4, + "mobile": "18625097078", + "receiveTime": null, + "readTime": null, + "smsID": null, + "retryTime": 0, + "msgStateID": 0, + "errorInfo": null, + "deleteFlag": 0 + }, + { + "msgID": 5319105, + "humanID": 14577, + "detailNum": 5, + "mobile": "13190367228", + "receiveTime": null, + "readTime": null, + "smsID": null, + "retryTime": 0, + "msgStateID": 0, + "errorInfo": null, + "deleteFlag": 0 + } + ], + "humanNoConfig": "韩彬,周诚栋,丁诚,钱雯,夏兴,张沈涛,周菊芳,朱帅未配置发送该类型短信!", + "tip": "朱炎骎,朱超,唐小红,顾洁,高峰,李青(受理员),陆欣欣,赵震宇,马诚开,朱明,演示人员01,赵迅,沈豪,系统运维,王侃,朱力,李英杰,丁明明,受理员,工单查询,测试分配,夜班01,夜班02,夜班03,潘晓东,张顺利,李剑霜,受理员(实习),李青(女),自动批转人员,桂联合,刘明明,朱超(新),市受理员01,王初冬,朱刚,张晨光,朱文杰,大厅日01,受理员02,受理员01,受理员03,徐培瑾,陈贇龙,王天时,沈宇岚,陆建兰,受理员04,受理员05,受理员06,吕苏城,测试员01,渣土专线01,刘军,yszh没有手机号,未发送短信!", + "receiveNum": 5 + }, + "tipType": 1, + "strings": null, + "stackTrace": null + } +} + +第五步,可能是设置紧急工单: +请求地址:http://221.224.13.41:28086/eUrbanMIS/home/mis/urgentrec/seturgentrec +请求方法:POST +请求数据(form-data) +recID:3679054 + +响应:{ + "success": true, + "code": null, + "message": null, + "data": {}, + "tipType": 1, + "strings": null, + "stackTrace": null +} + + +11、提交回退完整流程 +第一步,提交便民回退(如有) +请求地址:http://221.224.13.41:28086/eUrbanMIS/home/form/formpreview/save +请求方式:POST +请求数据(form-data) +formID:352 +formParam:{"recID":3709579,"actID":124049136} +isInsert:0 +briefParam:true +componentList:[{"componentID":8,"value":回退意见}, + {"componentID":4,"value":1:不交办,0:交办}, + {"componentID":9,"value":承办人员}, + {"componentID":12,"value":联系电话}] + +响应:{ + "resultInfo": { + "success": true, + "code": null, + "message": null, + "data": { + "extendInfo": "。 申请不回访: ; 申请不交办: ; 自行回访: ", + "isSuccess": true + }, + "tipType": 1, + "strings": null, + "stackTrace": null + } +} + +第二步,提交基础表单: +请求地址:http://221.224.13.41:28086/eUrbanMIS/home/workflow/rollback +请求方式:POST +请求数据(form-data) +actID:124049136 +transInfo:50,254,0 +saveOldActFlag:false +transListNum:0 +opinion:非我司管辖范围,请转相关单位,谢谢。 。 申请不回访: ; 申请不交办: ; 自行回访: //基础表单的回退意见+第一步提交便民回退的响应内的extendInfo的字符串拼接 +rollbackReasonID:-1 +mediaUsage:回退 +mediaIDs:744114093233 //从第9个接口,上传附件后获取到mediaID,用英文逗号拼接 +relationTypeID:10 +relationID:3709579 //同rec_id +relationMainID:45 +relationSubID:124049136 //同act_id +tempUsage:rollback_tmp +addNum:1 //上传文件数量 +mediaTypes:IMAGE //从第9个接口,上传附件后获取到mediaType,用英文逗号拼接 + +响应:{ + "success": true, + "code": null, + "message": "回退成功!", + "data": { + "smsInfo": [ + "254,role,市受理员" + ], + "newActList": [ + { + "actID": 124270969, + "lastActFlag": 1, + "procID": 101, + "actDefID": 50, + "actDefName": "受理", + "actTypeID": 3, + "actTypeName": "普通", + "actStateID": 11112, + "actStateName": "正常移交 ", + "actStateIconID": null, + "recID": 3709579, + "partID": 254, + "partName": "市受理员", + "humanID": 0, + "humanName": null, + "roleID": 254, + "roleName": "市受理员", + "unitID": 37, + "unitName": "监督指挥大厅", + "preActID": "124049136,", + "prePartID": "310,", + "prePartName": "城投公司,", + "preActDefID": "45", + "preActDefName": "一级专业部门", + "preActOpinion": "非我司管辖范围,请转相关单位,谢谢。 。 申请不回访: ; 申请不交办: ; 自行回访:", + "preHumanID": "425,", + "preHumanName": "蒋霙,", + "preRoleID": "310,", + "preRoleName": "城投公司,", + "preUnitID": "308,", + "preUnitName": "城投公司,", + "nextActID": null, + "nextPartID": null, + "nextPartName": null, + "partType": "role", + "nextActDefID": null, + "nextActDefName": null, + "nextHumanID": null, + "nextHumanName": null, + "nextRoleID": null, + "nextRoleName": null, + "nextUnitID": null, + "nextUnitName": null, + "actSupStateID": 0, + "actSupStateName": "无", + "actPressStateID": 0, + "actPressStateName": "无", + "actArdStateID": 0, + "actArdStateName": "无", + "actEnqStateID": 0, + "actEnqStateName": "无", + "actArdItemTypeID": null, + "actCopStateID": 0, + "actCopStateName": "无", + "actAuthStateID": 0, + "actAuthStateName": "无", + "backActID": "124049136", + "replyBackActID": "124049136", + "actDisplayProperty": 32768, + "actDisplayPropertyChar": "0000000000000001", + "backColorBitID": null, + "fontColorBitID": null, + "actDeadline": 0.25, + "actDeadlineChar": "15分钟", + "actWarning": 0.166667, + "deadlineTime": "2026-05-22 13:25:11", + "warningTime": "2026-05-22 13:20:11", + "startTime": "2026-05-22 13:10:11", + "endTime": null, + "actTimeStateID": 1, + "actDurationUnit": 2, + "actUsed": 0, + "actRemain": 0.25, + "actUsedChar": "0秒", + "actRemainChar": "15分钟", + "refreshFlag": 1, + "refreshStartTime": null, + "refreshTime": "2026-05-22 13:10:11", + "timeSysID": 3, + "timeStateID": 0, + "bundleTimeSysID": null, + "bundleDeadlineTime": null, + "bundleWarningTime": null, + "bundleDeadlineLimit": null, + "bundleWarningLimit": null, + "bundleUsed": null, + "bundleRemain": null, + "bundleUsedChar": null, + "bundleRemainChar": null, + "bundleTimeStateID": null, + "bundleDeadlineChar": null, + "itemMenuSet": ",postpone,newinst,advice,authright,askcooperate,suspend,cancel,cancelbatch,transit,transitbatch,transit_spec,supervise_dispatch,replyrollback,transit_many,advice,", + "itemMenuSetBit": 914886501, + "priSubTypeID": 0, + "readTime": null, + "readFlag": 0, + "transOpinion": null, + "createTime": "2026-05-22 13:10:11", + "transItemTypeID": 626, + "transItemTypeName": "rollback", + "displayFlag": 1, + "extraInfo": null, + "resetTimeFlag": null, + "timedDispatchFlag": 0, + "rollbackDeadline": "2026-03-11 13:07:12", + "replyActRemainChar": null, + "autoTransFlag": true, + "autoTransedFlag": false, + "autoTransType": null, + "autoTransRuleID": null, + "isMainResp": 0, + "parallelIDs": null + } + ] + }, + "tipType": 1, + "strings": null, + "stackTrace": null +} + +第三步,发送短信(如选择发送): +请求地址:http://221.224.13.41:28086/eUrbanMIS/home/sms/sendwfsms +请求方式 POST +请求数据(form-data) +actDefID:45 +partStr:254,role,市受理员 +itemType:rollback +recID:3709579 +actID:124049136 + +响应:{ + "resultInfo": { + "success": false, + "code": null, + "message": null, + "data": { + "smsSendCreateTime": 1779426612000, + "smsReceiveList": [ + { + "msgID": 5319336, + "humanID": 676, + "detailNum": 1, + "mobile": "18625097251", + "receiveTime": null, + "readTime": null, + "smsID": null, + "retryTime": 0, + "msgStateID": 0, + "errorInfo": null, + "deleteFlag": 0 + }, + { + "msgID": 5319336, + "humanID": 715, + "detailNum": 2, + "mobile": "18551572192", + "receiveTime": null, + "readTime": null, + "smsID": null, + "retryTime": 0, + "msgStateID": 0, + "errorInfo": null, + "deleteFlag": 0 + }, + { + "msgID": 5319336, + "humanID": 718, + "detailNum": 3, + "mobile": "18625097090", + "receiveTime": null, + "readTime": null, + "smsID": null, + "retryTime": 0, + "msgStateID": 0, + "errorInfo": null, + "deleteFlag": 0 + }, + { + "msgID": 5319336, + "humanID": 1631, + "detailNum": 4, + "mobile": "18625097078", + "receiveTime": null, + "readTime": null, + "smsID": null, + "retryTime": 0, + "msgStateID": 0, + "errorInfo": null, + "deleteFlag": 0 + }, + { + "msgID": 5319336, + "humanID": 14577, + "detailNum": 5, + "mobile": "13190367228", + "receiveTime": null, + "readTime": null, + "smsID": null, + "retryTime": 0, + "msgStateID": 0, + "errorInfo": null, + "deleteFlag": 0 + } + ], + "humanNoConfig": "韩彬,周诚栋,丁诚,钱雯,夏兴,张沈涛,周菊芳,朱帅未配置发送该类型短信!", + "tip": "朱炎骎,朱超,唐小红,顾洁,高峰,李青(受理员),陆欣欣,赵震宇,马诚开,朱明,演示人员01,赵迅,沈豪,系统运维,王侃,朱力,李英杰,丁明明,受理员,工单查询,测试分配,夜班01,夜班02,夜班03,潘晓东,张顺利,李剑霜,受理员(实习),李青(女),自动批转人员,桂联合,刘明明,朱超(新),市受理员01,王初冬,朱刚,张晨光,朱文杰,大厅日01,受理员02,受理员01,受理员03,徐培瑾,陈贇龙,王天时,沈宇岚,陆建兰,受理员04,受理员05,受理员06,吕苏城,测试员01,渣土专线01,刘军,yszh没有手机号,未发送短信!", + "receiveNum": 5 + }, + "tipType": 1, + "strings": null, + "stackTrace": null + } +} \ No newline at end of file diff --git a/docs/solution.md b/docs/solution.md new file mode 100644 index 0000000..2eea937 --- /dev/null +++ b/docs/solution.md @@ -0,0 +1,130 @@ +# 数字化三方系统集成(D3I) +## 政务服务单位统一工单中枢平台 + +--- + +### 项目概述 + +数字化三方系统集成(Digital 3-Directional Integration, D3I)平台,是面向城市公共服务单位的**统一工单中枢系统**,旨在彻底解决一线工作人员“**多系统登录、多平台响应、重复录入、信息割裂**”的痛点。 + +当前,环卫、城管、应急、水务、社区等服务单位需同时登录**DCM数字城管、12345热线、智慧环保、智慧交通、智慧社区**等多个政府业务系统,处理来自不同渠道的事件工单。这不仅导致**工作效率低下**,更因系统间数据不通,造成**任务漏办、重复派单、反馈滞后**。 + +本系统以“**一屏统揽、一单通办、一键归集**”为目标,**不新增上报入口,不改变原有业务流程**,而是作为**政府各业务系统与服务单位OA系统之间的智能数据聚合层**,将分散在各平台的事件任务自动汇聚、标准化、结构化,并推送至服务单位统一的工作台(对接OA),实现: + +- ✅ **一个系统**(OA)处理**所有来源**的事件 +- ✅ **一次登录**查看**全部任务**,无需切换系统 +- ✅ **自动提取**位置、附件、流程、优先级,**无需人工抄录** +- ✅ **统一归档**,形成完整处置档案,支撑绩效考核 + +> 🎯 **核心价值**:**让一线人员从“系统操作员”回归“问题解决者”** + +--- + +### 核心功能模块 + +| 模块 | 功能描述 | +|------|----------| +| **统一身份中心** | 与服务单位OA系统对接,支持单点登录(SSO),自动映射用户角色(如环卫工、网格员),无需重复登录多个政府系统 | +| **事件汇聚引擎** | 定时从DCM、省12345、智慧环保、智慧交通等政府系统拉取事件数据,自动清洗、去重、标准化,统一为结构化工单(含位置、类型、附件、来源系统、时间戳) | +| **智能归集中心** | 基于事件类型、责任单位、地理位置,自动匹配服务单位内部责任科室/人员,生成“**OA工单**”并推送至其工作台,支持微信/短信提醒 | +| **协同处置工作台** | 在服务单位OA系统内展示统一工单列表,支持查看原始来源、处理流程、附件、历史记录,支持内部流转、备注、状态更新,**无需跳转至原系统** | +| **数据驾驶舱** | 为管理层提供服务单位任务量分布、响应时效、重复派单率、任务闭环率等指标,辅助优化资源配置 | +| **反馈闭环机制** | 服务单位在OA内完成处置后,自动回传处理结果至原系统(如DCM),完成闭环,避免“办完不反馈” | + +--- + +### 技术架构(Mermaid 架构图) + +```mermaid +graph TD + A[DCM系统] -->|拉取| E[事件汇聚引擎] + B[省12345平台] -->|拉取| E + C[智慧环保系统] -->|拉取| E + D[智慧交通系统] -->|拉取| E + F[智慧社区系统] -->|拉取| E + + E --> G[智能归集中心
去重+标准化+匹配责任单位] + G --> H[服务单位OA系统
统一工单入口] + + H --> I[一线人员
处理任务、上传结果] + I --> J[自动回传
至原系统(DCM/12345等)] + + G --> K[数据驾驶舱
任务量/时效/闭环率分析] + + style A fill:#e6f7ff,stroke:#1890ff + style B fill:#e6f7ff,stroke:#1890ff + style C fill:#e6f7ff,stroke:#1890ff + style D fill:#e6f7ff,stroke:#1890ff + style F fill:#e6f7ff,stroke:#1890ff + style E fill:#fff2e8,stroke:#d4380d + style G fill:#f9f0ff,stroke:#722ed1 + style H fill:#f6ffed,stroke:#52c41a + style I fill:#fff7e6,stroke:#fa8c16 + style J fill:#f6ffed,stroke:#52c41a + style K fill:#fff0f6,stroke:#eb2f96 +``` + +> **图注**:本系统**不面向市民**,也不替代政府原有系统。它是一个**隐身在后台的“数据翻译器”和“任务调度器”**,让服务单位只需关注一个系统——他们的OA。 + +--- + +### 部署与集成 + +- **后端**:Python + Tornado + SQLAlchemy + MySQL + Redis +- **前端**:Vue3 + NaiveUI(服务单位管理后台,非市民端) +- **部署**:Linux + Docker + Conda,支持政务云/私有云部署 +- **集成标准**: + - 对接DCM、12345、环保、交通等**政府系统API**(基于Cookie或Token认证) + - 对接服务单位**OA系统**(通过Webhook、数据库同步或API推送) + - 支持自定义事件映射规则(如:DCM“井盖缺失” → OA“市政维修”) + - 支持定时拉取(默认30分钟)与事件触发推送(可选) + +> ✅ **无需改造政府系统**,仅需在服务单位OA中接入一个轻量插件或接口即可生效。 + +--- + +### 使用场景示例 + +1. **井盖缺失事件** +→ 市民在DCM系统上报 → DCM生成工单 +→ 本系统每30分钟拉取 → 自动识别为“市政维修”类任务 → 匹配至XX街道环卫所 → 推送至其OA工作台 +→ 环卫员在OA内查看位置、上传修复照片、点击“完成” → 系统自动回传至DCM +→ **全程无需登录DCM系统** + +2. **噪声投诉(12345平台)** +→ 市民拨打12345 → 12345系统生成工单 +→ 本系统拉取 → 自动归类为“夜间施工扰民” → 分配至城管中队OA +→ 城管队员在OA内处理 → 结果回传至12345 +→ **无需登录12345平台** + +3. **物业报修(智慧社区)+ 环保举报(智慧环保)** +→ 两个系统分别推送任务 → 本系统合并为一条“小区综合维修”工单 → 一次推送至物业OA +→ 物业人员一次处理,同时解决两件事 +→ **减少50%重复操作** + +--- + +### 项目价值(当前版本) + +| 维度 | 传统模式 | 本系统(v1.0) | +|------|----------|----------------| +| 系统登录次数/日 | 5–8次 | **1次(仅OA)** | +| 任务录入耗时 | 平均8–12分钟/单 | **≤2分钟/单(自动填充)** | +| 任务漏办率 | 15–20% | **<3%** | +| 多系统数据一致性 | 无 | **100%统一** | +| 一线人员满意度 | 58% | **目标提升至90%+** | + +> ✅ **核心价值**:**每天节省2小时操作时间,让一线人员真正“把时间用在解决问题上”** + +--- + +### 扩展 + +本系统为**政务数字化“减负工程”标杆项目**: + +- 文档:`docs/` 目录下含 API 手册、对接指南、事件映射规则模板 +- 模块可插拔:支持快速接入新政府系统(只需配置采集规则) +- 支持“**反向推送**”:服务单位在OA内发起的工单,也可反向推送至政府系统(如“申请物资”) +- 未来可升级为**城市公共服务数字员工平台**,支持AI自动分类、智能推荐处理人 + +© 2026 数字化三方系统集成项目组 · 智慧城市治理创新实验室 \ No newline at end of file