天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 4586|回复: 10

[版本升级] 在视图中怎样查询某个用户在流程里参与审核过的表单

[复制链接]
chen 发表于 2011-8-14 17:18:01 | 显示全部楼层 |阅读模式
在视图中怎样查询某个用户在流程里参与审核过的表单。

例如:
A用户在工作流过程中,在某一环节处理过表单a,表单b,表单c,......
而对于表单d,表单e,的流程处理没有经过A用户所在的环节,
我怎样作视图查询,查询出A用户处理过的表单a,表单b,表单c,......的列表
shary 发表于 2011-8-14 17:53:59 | 显示全部楼层
您好,您可以参考一下这个帖子。http://www.teemlink.com/bbs/view ... 26amp%3Btypeid%3D12。跟您的问题类似的。
 楼主| chen 发表于 2011-8-15 12:10:37 | 显示全部楼层
我看了这段代码,没看懂

SELECT * FROM ( SELECT * FROM (SELECT DISTINCT doc.id DOCID,doc.formid FORMID,fs.flowid FLOWID,rhis.flowname FLOWNAME,doc.statelabel STATELABEL,pen.summary SUBJECT,doc.AUDITORNAMES,doc.AUDITORLIST,doc.APPLICATIONID,doc.DOMAINID  FROM  OBPMAPP.T_DOCUMENT  doc,OBPMAPP.T_ACTORHIS ahis,OBPMAPP.T_RELATIONHIS rhis,OBPMAPP.T_FLOW_INTERVENTION pen,OBPMAPP.T_FLOWSTATERT fs,OBPMAPP.T_NODERT node,OBPMAPP.T_ACTORRT actor  WHERE doc.id=rhis.docid AND rhis.id = ahis.nodehis_id AND doc.id = pen.id AND doc.id =fs.docid AND fs.id =node.flowstatert_id AND  node.id = actor.nodert_id AND doc.issubdoc IS NULL AND doc.parent IS NULL AND doc.state IS NOT NULL AND  doc.statelabel IS NOT NULL  AND (actor.actorid IN ('11de-c13a-0cf76f8b-a3db-1bc87eaaad4c') OR ahis.actorid IN ('11de-c13a-0cf76f8b-a3db-1bc87eaaad4c')) ORDER BY doc.formid,fs.flowid) table_0 WHERE table_0.DOMAINID ='11de-c138-782d2f26-9a62-8bacb70a86e1' ) AS TB LIMIT 0,10

在这里出现三个ID号分别代表什么呢
AND (actor.actorid IN ('11de-c13a-0cf76f8b-a3db-1bc87eaaad4c') OR ahis.actorid IN ('11de-c13a-0cf76f8b-a3db-1bc87eaaad4c')) ORDER BY doc.formid,fs.flowid) table_0 WHERE table_0.DOMAINID ='11de-c138-782d2f26-9a62-8bacb70a86e1' ) AS TB LIMIT 0,10
shary 发表于 2011-8-15 13:09:06 | 显示全部楼层
您好,前面两个ID是用户ID。后面的那个DOMAINID 是当前用户所在企业域ID。
shary 发表于 2011-8-15 13:09:11 | 显示全部楼层
您好,前面两个ID是用户ID。后面的那个DOMAINID 是当前用户所在企业域ID。
 楼主| chen 发表于 2011-9-1 23:13:10 | 显示全部楼层
var user=getWebUser();
var userId=user.getId();
var domainid=getDomainid();
"SELECT * FROM ( SELECT * FROM (SELECT DISTINCT doc.id DOCID,doc.formid FORMID,fs.flowid FLOWID,rhis.flowname FLOWNAME,doc.statelabel STATELABEL,pen.summary SUBJECT,doc.AUDITORNAMES,doc.AUDITORLIST,doc.APPLICATIONID,doc.DOMAINID  FROM  OBPMAPP.T_DOCUMENT  doc,OBPMAPP.T_ACTORHIS ahis,OBPMAPP.T_RELATIONHIS rhis,OBPMAPP.T_FLOW_INTERVENTION pen,OBPMAPP.T_FLOWSTATERT fs,OBPMAPP.T_NODERT node,OBPMAPP.T_ACTORRT actor  WHERE doc.id=rhis.docid AND rhis.id = ahis.nodehis_id AND doc.id = pen.id AND doc.id =fs.docid AND fs.id =node.flowstatert_id AND  node.id = actor.nodert_id AND doc.issubdoc IS NULL AND doc.parent IS NULL AND doc.state IS NOT NULL AND  doc.statelabel IS NOT NULL  AND (actor.actorid IN ('"+userId+"') OR ahis.actorid IN ('"+userId+"')) ORDER BY doc.formid,fs.flowid) table_0 WHERE table_0.DOMAINID ='"+domainid+"' ) AS TB LIMIT 0,10";

我用了上面的代码,系统报错如下:
*You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE DOMAINID ='11e0-af51-d7945836-b343-93f480aa866e' ORDER BY doc.formid,fs.fl' at line 1
帮帮忙看一下是那里错了
shary 发表于 2011-9-2 10:11:47 | 显示全部楼层
你先放数据库执行下是否有问题。然后再去拼接。有问题再沟通。
 楼主| chen 发表于 2011-9-2 20:58:58 | 显示全部楼层
SELECT * FROM GYGALETTER.TLK_FRM_LETTER WHERE ID IN (SELECT DOCID FROM ( SELECT * FROM (SELECT DISTINCT doc.id DOCID,doc.formid FORMID,fs.flowid FLOWID,rhis.flowname FLOWNAME,doc.statelabel STATELABEL,pen.summary
SUBJECT,doc.AUDITORNAMES,doc.AUDITORLIST,doc.APPLICATIONID,doc.DOMAINID  FROM  GYGALETTER.T_DOCUMENT  doc,GYGALETTER.T_ACTORHIS ahis,GYGALETTER.T_RELATIONHIS
rhis,GYGALETTER.T_FLOW_INTERVENTION pen,GYGALETTER.T_FLOWSTATERT fs,GYGALETTER.T_NODERT node,GYGALETTER.T_ACTORRT actor
WHERE doc.id=rhis.docid AND rhis.id = ahis.nodehis_id AND doc.id = pen.id AND doc.id =fs.docid AND fs.id =node.flowstatert_id AND  
node.id = actor.nodert_id AND doc.issubdoc IS NULL AND doc.parent IS NULL AND doc.state IS NOT NULL AND  doc.statelabel IS NOT NULL  
AND (actor.actorid IN ('11e0-af72-740545be-b343-93f480aa866e') OR ahis.actorid IN ('11e0-af72-740545be-b343-93f480aa866e'))
ORDER BY doc.formid,fs.flowid) table_0 WHERE table_0.DOMAINID ='11e0-af51-d7945836-b343-93f480aa866e' ) AS TB ) LIMIT 0,10

上面的语句放在数据库里运行是没有问题,可我把它放在视图SQL里放,系统就报错好下:
*You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE DOMAINID ='11e0-af51-d7945836-b343-93f480aa866e' ORDER BY doc.formid,fs.fl' at line 1
 楼主| chen 发表于 2011-9-2 23:04:30 | 显示全部楼层
已经解决了
admin 发表于 2011-9-3 19:04:07 | 显示全部楼层
是什么原因呢。可以分享下吗

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 18:03

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表