ecology 常用查询

1.查询节点信息

SELECT
	b.nodename,
	a.* 
FROM
	workflow_flownode a,
	workflow_nodebase b 
WHERE
	a.nodeid= b.id 
	AND a.workflowid= 170;

2.获取主表的自定义下拉框选项

SELECT
	selectname 
FROM
	workflow_SelectItem 
WHERE
	fieldid IN ( SELECT id FROM workflow_billfield WHERE billid = ( SELECT id FROM workflow_bill WHERE tablename = 'uf_xxx_dict' ) AND fieldname = 'xt' )

获取明细表的下拉框选项

SELECT
	selectname 
FROM
	workflow_SelectItem 
WHERE
	fieldid IN ( SELECT id FROM workflow_billfield WHERE billid = ( SELECT id FROM workflow_bill WHERE tablename = 'formtable_main_227' ) AND fieldname = 'bxlbgl' )
SELECT 
	selectname 
FROM
	workflow_SelectItem 
WHERE
	fieldid IN ( SELECT id FROM workflow_billfield WHERE billid = ( SELECT billid FROM Workflow_billdetailtable WHERE tablename = 'formtable_main_227_dt1' ) AND fieldname = 'bxlbgl' )
	

3.人员卡片字段定义中增加的自定义字段,与hrmresource关联

cus_fielddata cus_fielddata.id=hrmresource.id

4.查询未归档流程

SELECT
    A.REQUESTID '请求ID',
    A.REQUESTNAME '请求标题',
    NODE.NODENAME '当前节点名称',
    (CASE WHEN A.CREATER=1 THEN '系统管理员' ELSE RES.LASTNAME END) '创建人姓名',
    A.CREATEDATE + ' ' + A.CREATETIME '创建时间',
    CR.LASTNAME '接收人姓名',
    CR.RECEIVEDATE + ' ' + CR.RECEIVETIME '接收时间',
    BASE.WORKFLOWNAME '工作流名称',
    A.STATUS '出口名称',
    (CASE WHEN A.CURRENTNODETYPE=0 THEN '创建节点' WHEN A.CURRENTNODETYPE=1 THEN '审批节点' WHEN A.CURRENTNODETYPE=2 THEN '处理节点' ELSE '其他节点' END) '节点类型'
FROM WORKFLOW_REQUESTBASE A
INNER JOIN WORKFLOW_NODEBASE NODE ON NODE.ID=A.CURRENTNODEID
LEFT JOIN HRMRESOURCE RES ON RES.ID=A.CREATER
INNER JOIN WORKFLOW_BASE BASE ON BASE.ID=A.WORKFLOWID
INNER JOIN (SELECT REQUESTID, R1.LASTNAME, RECEIVEDATE, RECEIVETIME FROM WORKFLOW_CURRENTOPERATOR C1
INNER JOIN HRMRESOURCE R1 ON R1.ID=C1.USERID
WHERE C1.ID IN (SELECT MAX(ID) FROM WORKFLOW_CURRENTOPERATOR GROUP BY REQUESTID)) CR ON CR.REQUESTID=A.REQUESTID
WHERE CURRENTNODETYPE != 3
AND (
    (
        EXISTS (
            SELECT 1
            FROM WORKFLOW_BASE WB
            WHERE A.WORKFLOWID = WB.ID
            AND WB.ISVALID IN ('0', '1', '2', '3')
            AND WB.ID IN (
                SELECT ID
                FROM WORKFLOW_BASE WORKBASE, WORKFLOW_VERSIONINFO WORKVERSION
                WHERE WORKBASE.ID = WORKVERSION.WFID
                AND WFVERSIONID IN (
                    SELECT WORKFLOWID FROM WORKFLOW_MONITOR_DETAIL WHERE INFOID = 0
                )
            )
        )
    )
)
AND A.DELETED < 1
ORDER BY A.REQUESTID DESC

5.查询流程各个节点审批时间

---流程耗时统计:节点审批周期
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 = 229270
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 ) + '秒'

6.流程归档时间统计

-- 流程归档时间统计
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 ) >= 2024
and workflow_requestbase.requestid = 229104

7.获取当前节点未操作人

SELECT
	a.creater '发起人ID',
	c.receivedate + ' ' + c.receivetime '接收时间',
	b.nodename '节点名称',
	d.lastname '接收人姓名' 
FROM
	WORKFLOW_REQUESTBASE a
	LEFT JOIN workflow_nodebase b ON a.currentnodeid = b.id
	LEFT JOIN workflow_currentoperator c ON a.requestid = c.requestid 
	AND a.currentnodeid = c.nodeid
	LEFT JOIN HrmResource d ON c.userid = d.id 
WHERE
	a.requestid = '289404'

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值