---流程耗时统计:归档周期
select LEFT(Minoperatetime,4) as mYear, LEFT(Minoperatetime,7) mYearMonth,creater,createdate,createtime,
workflow_requestbase.requestid, requestmark, requestname,status ,
Minoperatetime,Maxoperatetime,
CAST ( CAST ( DATEDIFF ( ss, Minoperatetime, Maxoperatetime ) / ( 60 * 60 * 24 ) AS INT ) AS VARCHAR ) + '天' + CAST ( CAST ( DATEDIFF ( ss, Minoperatetime, Maxoperatetime ) % 86400 / 3600 AS INT ) AS VARCHAR ) + '小时' + CAST ( CAST ( DATEDIFF ( ss, Minoperatetime, Maxoperatetime ) % 3600 / 60 AS INT ) AS VARCHAR ) + '分' + CAST ( CAST ( DATEDIFF ( ss, Minoperatetime, Maxoperatetime ) % 60 AS INT ) AS VARCHAR ) + '秒' LengthOfTime
from workflow_requestbase
left join (
select requestid,min(operatedate+' '+operatetime) as Minoperatetime,max(operatedate+' '+operatetime) as Maxoperatetime
from workflow_requestlog
group by requestid
) a on workflow_requestbase.requestid=a.requestid
where workflow_requestbase.currentnodetype = 3 and LEFT(Minoperatetime,4)>=2023--and workflow_requestbase.requestid = 229104
---流程耗时统计:节点审批周期
select wc.requestid as 请求id,
(select requestname
from workflow_requestbase wr
where wr.requestid = wc.requestid ) as 请求标题,
(select createdate+' '+ createtime
from workflow_requestbase wr2
where wr2.requestid = wc.requestid ) as 流程创建时间
,(select lastname from HrmResource where id = userid) as 操作者姓名
,
nodeid as 节点id,
isremark 操作类型id,
case isremark when 0 then '未操作'
when 1 then '转发'
when 2 then '已操作'
when 4 then '归档'
when 5 then '超时'
when 8 then '抄送(不需提交) '
when 9 then '抄送(需提交) '
when 'a' then '意见征询'
when 'b' then '回复'
when 'h' then '转办'
when 'j' then '转办提交'
end as 操作类型,
(select nodename
from workflow_nodebase
where id = nodeid ) as 节点名称
,userid as 操作者id,
receivedate+ ' '+receivetime as 接收时间
,operatedate+' '+ operatetime as 操作时间
,
CAST ( CAST ( DATEDIFF ( ss, receivedate+ ' '+receivetime, operatedate+' '+ operatetime ) / ( 60 * 60 * 24 ) AS INT ) AS VARCHAR ) + '天' +
CAST ( CAST ( DATEDIFF ( ss, receivedate+ ' '+receivetime, operatedate+' '+ operatetime ) % 86400 / 3600 AS INT ) AS VARCHAR ) + '小时' +
CAST ( CAST ( DATEDIFF ( ss, receivedate+ ' '+receivetime, operatedate+' '+ operatetime) % 3600 / 60 AS INT ) AS VARCHAR ) + '分' +
CAST ( CAST ( DATEDIFF ( ss, receivedate+ ' '+receivetime, operatedate+' '+ operatetime ) % 60 AS INT ) AS VARCHAR ) + '秒' 操作耗时分钟
from workflow_currentoperator wc
where wc.requestid = 239102
order by receivedate+ ' '+receivetime ,
CAST ( CAST ( DATEDIFF ( ss, receivedate+ ' '+receivetime, operatedate+' '+ operatetime ) / ( 60 * 60 * 24 ) AS INT ) AS VARCHAR ) + '天' +
CAST ( CAST ( DATEDIFF ( ss, receivedate+ ' '+receivetime, operatedate+' '+ operatetime ) % 86400 / 3600 AS INT ) AS VARCHAR ) + '小时' +
CAST ( CAST ( DATEDIFF ( ss, receivedate+ ' '+receivetime, operatedate+' '+ operatetime) % 3600 / 60 AS INT ) AS VARCHAR ) + '分' +
CAST ( CAST ( DATEDIFF ( ss, receivedate+ ' '+receivetime, operatedate+' '+ operatetime ) % 60 AS INT ) AS VARCHAR ) + '秒'