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

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

[性能] 如何通过DQL在待办的视图内再进行查询

[复制链接]
cmcchz 发表于 2011-10-12 16:23:59 | 显示全部楼层 |阅读模式
我现在想实现一个功能,就是根据查询表单的查询条件,在待办的视图中,再选择出需要的表单,DQL语句要怎么写?
或者说,想用DQL语句查询待办文档的语句。谢谢!
bonnie 发表于 2011-10-12 16:37:15 | 显示全部楼层
请参考这段代码吧:var w = "";
var doc= $CURRDOC.getCurrDoc();
                if (doc.getItemValueAsString("的")!=null && doc.getItemValueAsString("的").trim().length() > 0)
w +=  " and 的 like '" + doc.getItemValueAsString("的").trim() + "%'";
        var u = $WEB.getWebUser();
        var userid = "'"+ u.getId() + "'" ;
        var rolelist = u.getRolelist() != ""? u.getRolelist(): "";
        w +=" and ($state.actors.actorid in (" + userid + "," +  rolelist + "))" ;
        w+=" and ($state.noderts.statelabel in ('Draft','Running'))";
"$formname = '飞的地方/等下/的说法'"+w ;
 楼主| cmcchz 发表于 2011-10-12 17:30:00 | 显示全部楼层
哦,我描述的不是这个意思,就是说,我们在视图的设计模式里面,如果勾选了“审批人”。这个视图不是就可以显示某个人可以 处理的文档。
我现在是想在DQL里面实现这个功能。
bonnie 发表于 2011-10-12 18:14:54 | 显示全部楼层
建议你 参照我的工作中的sql去改。因为我的工作就是只看到自己的工作,跟视图设计模式勾选那个效果是一样的。
 楼主| cmcchz 发表于 2011-10-31 09:47:10 | 显示全部楼层
"我的工作"?哪一个模块,是要原来的示例里面么?找不到,能不能帮忙提供一下SQL示例
admin 发表于 2011-10-31 10:34:00 | 显示全部楼层
您好,请参考。以下sql查询只要自己参与的数据记录(类似于我的工作效果)
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
 楼主| cmcchz 发表于 2011-10-31 10:43:44 | 显示全部楼层
问一下,如果在视图里面,把“审批人”勾选后,下面的查询条件是不是就失效了。

如果没有失效,“审批人”和查询条件之间,是与还是或的关系?
admin 发表于 2011-10-31 11:06:33 | 显示全部楼层
您好,权限--审批人是设计模式的,如果您选择的是sql模式,设计模式就不会有效果呢。所以不存在您考虑的问题。

本版积分规则

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

GMT+8, 2026-8-12 13:23

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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