问题背景#
在政务审批业务中,办件在审批环节流转时,系统会根据设定的时限(LIMIT_TIME)进行监控。当办件因流程异常、环节卡顿等原因导致审批时间超过设定时限时,系统会将其标记为超期办件。超期办件会影响整体办件效率指标,需要及时处理。
本文档提供了一套完整的超期办件处理流程,涵盖从环节删除申请、数据库时限修正到数据重新推送的全过程。
处理流程概览#
整个处理流程分为三个主要步骤:
| 步骤 | 操作内容 | 执行位置 |
|---|---|---|
| 1 | 提交删除环节申请 | 综合窗口(综窗) |
| 2 | 修改数据库时限(LIMIT_TIME) | 数据库客户端(如 PL/SQL Developer) |
| 3 | 清空推送表并重新推送数据 | 数据库客户端 + HTTP 接口调用 |
详细操作步骤#
第一步:在综窗提交删除环节申请#
进入综合窗口系统,针对超期的办件提交删除环节申请。此操作的目的是将卡住的审批环节从当前流程中移除,为后续的时限修正和数据重推创造条件。
注意:提交申请时需要准确填写办件信息,确保删除的是超期的目标环节,避免误删其他正常环节。
第二步:收集办件编号#
删除环节申请提交成功后,将涉及超期的办件编号(RECEIVE_NUMBER)收集整理好。这些办件编号将用于后续的数据库操作和重新推送。
办件编号示例:
11152624MB156923114152023009000202604170011
11152624MB156923114152023009000202604160010
第三步:执行 SQL 更新办件时限#
使用数据库客户端(如 PL/SQL Developer、SQL*Plus 等)连接到审批系统数据库,执行以下 SQL 语句,将超期办件的时限(LIMIT_TIME)延长一天:
UPDATE APPROVE_BUSINESS_COURSE b
SET LIMIT_TIME = CASE
WHEN SEND_TIME = LAST_DAY(SEND_TIME) THEN
TRUNC(SEND_TIME + 1) + (SEND_TIME - TRUNC(SEND_TIME))
ELSE
SEND_TIME + 1
END
WHERE BSNUM IN (
SELECT a.BSNUM
FROM APPROVE_BUSINESS_INDEX a
WHERE a.RECEIVE_NUMBER IN (
-- 在此粘贴需要处理的办件编号
'11152624MB156923114152023009000202604170011',
'11152624MB156923114152023009000202604160010'
)
);
SQL 逻辑说明#
| 条件 | 处理方式 | 说明 |
|---|---|---|
SEND_TIME = LAST_DAY(SEND_TIME) | TRUNC(SEND_TIME + 1) + (SEND_TIME - TRUNC(SEND_TIME)) | 如果发送时间为当月最后一天,先将日期加一天跳到下个月1号,再拼上原有的时分秒,避免跨月计算错误 |
| 其他情况 | SEND_TIME + 1 | 普通日期直接加1天,时分秒保持不变 |
此 SQL 的核心逻辑是:将 LIMIT_TIME 在原有基础上增加24小时,从而消除超期状态。其中对月末日期做了特殊处理,确保跨月时日期计算的准确性。
执行步骤#
- 将上述 SQL 复制到数据库查询窗口
- 在
RECEIVE_NUMBER IN (...)括号中粘贴需要处理的办件编号(注意编号之间用逗号分隔) - 选中 SQL 并执行(F8 或点击执行按钮)
- 确认影响行数与实际处理的办件数量一致
第四步:清空并重新推送办件数据#
SQL 执行成功后,需要将办件数据重新推送到审批流转系统,以确保更新后的时限生效。
4.1 清空推送数据表#
执行以下语句清空 NMGZC_REPUSH 表:
TRUNCATE TABLE NMGZC_REPUSH;
TRUNCATE操作不可回滚,执行前请务必确认已备份必要数据或确认不再需要表中原有数据。
4.2 插入办件编号#
将需要重新推送的办件编号粘贴到 NMGZC_REPUSH 表的 RECEIVE_NUMBER 列中。可以通过以下方式实现:
- 方式一(推荐):使用 SQL 插入语句批量插入
- 方式二:使用数据库客户端工具直接编辑表数据,逐行粘贴
4.3 调用重新推送接口#
数据准备好后,通过浏览器或 HTTP 客户端工具(如 Postman)调用重新推送接口:
http://审批地址/Inspur.Dzzw.WebApproval/web/ngmzcRePush/repush
将上述 URL 中的"审批地址"替换为实际的服务地址(向运维人员获取)。
调用成功后,系统会自动读取 NMGZC_REPUSH 表中的办件编号,将更新后的办件数据重新推送到审批流转系统。
4.4 等待执行完成#
接口调用后,系统会在后台异步处理数据推送。等待片刻,观察推送日志或返回结果,确认所有办件均已成功推送。
第五步:验证处理结果#
处理完成后,建议进行以下验证:
- 查询办件状态:在审批系统中查看原超期办件的状态,确认超期标记已消除
- 核对时限:检查办件的
LIMIT_TIME是否已更新为延长后的时间 - 确认推送记录:查看推送日志,确认数据已成功推送至目标系统
注意事项#
- SQL 执行前请确认环境:在执行 UPDATE 语句前,建议先使用 SELECT 语句确认将要修改的数据范围是否正确,避免误更新
- 办件编号去重:如需处理大量办件,建议先对编号进行去重,避免重复处理
- 接口调用频率:如需处理大量办件,建议分批调用推送接口,避免一次性推送过多数据导致系统压力过大
- 月末日期处理:SQL 中已对月末日期做了特殊处理,但如果遇到2月(28天/29天)等特殊月份,同样适用
LAST_DAY函数自动识别
