泛微查询审批时间sql
时间: 2023-06-24 09:03:25 浏览: 122
### 回答1:
要查询泛微流程审批时间,需要使用到数据库中的 wf_history 表和 wf_request_log 表。首先使用 wf_history 表查询相关流程实例详情,利用 instance_id 字段确定审批流程实例,再通过 sql 语句查找对应的第一个和最后一个审批记录的节点 id,以及被审批人员的账号和审批意见等信息。其次,使用 wf_request_log 表查询审批操作记录,通过相关字段筛选审批节点以及审批完成时间等信息。最后综合 wf_history 表和 wf_request_log 表的信息,可以得到泛微流程的审批时间,包括整个流程的审批耗时和每个步骤的审批耗时等信息。
因为查询泛微流程的审批时间需要结合具体场景进行,所以 sql 语句也需要灵活地进行改造。一般来说,应该首先确认需要查询的流程实例,然后在 wf_history 表中查找相关步骤信息,并做好排序和去重处理。接着,需要在 wf_request_log 表中筛选相关审批节点的操作记录,根据筛选结果进行聚合和计算,得到总体审批耗时和各节点的审批耗时等信息。最后,可以将结果进行分组和排序,以便更好地展示审批时间的变化趋势和瓶颈等情况。
### 回答2:
泛微查询审批时间的SQL语句需要使用到泛微中的审批流表和流程实例表来进行连接查询。具体的步骤如下:
1. 首先需确定需要查询的审批流名称或流程实例名称及其相应ID,可以从泛微管理后台中查询得到。
2. 使用SELECT语句,从审批流表中选择需要查询的字段,如流程名称、节点名称、审批人ID等,并使用JOIN语句将其与流程实例表进行连接。
3. 在WHERE语句中,使用流程实例ID进行筛选,只查询特定流程实例的审批记录。
4. 使用ORDER BY语句,按照审批时间进行升序或降序排列。
以下是一个示例SQL语句:
SELECT DISTINCT wfprocessstep.name AS step_name, wfprocessinst.name AS process_name, wfprocessinst.id AS process_id, wfprocessinst.starttime AS start_time, wfprocessinst.endsubmittime AS end_time, wfactivityinst.erectedtime AS approve_time, wfuser.displayname AS approve_user_name FROM wfprocessinst JOIN wfprocessstep ON wfprocessinst.id=wfprocessstep.processinstid JOIN wfactivityinst ON wfprocessstep.id=wfactivityinst.processstepid JOIN wfuser ON wfactivityinst.erectedbyid=wfuser.id WHERE wfprocessinst.id = '流程实例ID' ORDER BY wfactivityinst.erectedtime DESC
需要注意的是,以上SQL语句只是示例,具体查询条件和需要查询的字段根据实际情况进行调整。同时,在查询时还需要考虑数据权限的限制,避免查询到不应该访问的数据。
### 回答3:
查询泛微OA系统的审批时间,需要使用SQL语句。首先在泛微OA系统中找到相关的表和字段,常见的表包括:WF_HIST_TASK、WF_HISTORY_STEP等。使用SQL如下:
select a.starttime,a.endtime,datediff(minute,a.starttime,a.endtime) as duration
from wf_hist_task a,wf_history_step b
where b.steptype=5 and a.stepid=b.stepid
and a.requestid = '请求编号' and b.returnnodeid is null
order by a.starttime desc
该SQL语句的意义是查询某一个请求编号的审批时间和持续时间,其中starttime代表审批开始时间,endtime代表审批结束时间,duration代表审批持续时间。同时,b.steptype=5代表节点类型为审批,b.returnnodeid is null代表节点没有被退回。查询到的结果可以帮助管理员了解审批过程的细节和效率,对于优化审批流程和提高工作效率有着重要的作用。