找回密码
 注册成为天翎用户
楼主: 吴孟超

T_RELATIONHIS 表里面可以查询到当前审批人的ID 吗?

[复制链接]
 楼主| 吴孟超 发表于 2012-9-25 15:07:02 | 显示全部楼层
光靠审批人条件不行
SQL 过滤
var userId = getWebUser().getId();
var userName = getWebUser().getName();
var sql = "select * from TLK_LDSQ_FORM where  (lastflowoperation='1' and author='"+userId+"') or (lastflowoperation<>'1' and auditornames like '%"+userName+"%')";

sql;
因为auditornames  是用户名称 所以用like不能精确匹配
回复

使用道具 举报

 楼主| 吴孟超 发表于 2012-9-25 15:13:03 | 显示全部楼层
iscript 里面有通过用户名称获得用户ID的方法没?
回复

使用道具 举报

bess 发表于 2012-9-25 15:30:05 | 显示全部楼层
您好,请问您这里说的用户名称具体是用户的name,还是用户的loginno??如果是name,您可以通过下面的方法获取id:
var userProcess = createProcess("cn.myapps.core.user.ejb.UserProcess");
//根据用户名获取用户ID。多条时,默认用(;)分开。因为平台用户名不是唯一的。账户才做了唯一校验
   userProcess.queryUserIdsByName(name,getDomainid())//name为用户名

如果您是根据用户的loginno想要获取id,那么您需要先根据loginno获取用户对象,可参考帖子:
http://www.teemlink.com/bbs/view ... ight=getuserbylogin
然后通过对象去获取id即可。
回复

使用道具 举报

 楼主| 吴孟超 发表于 2012-9-25 15:39:03 | 显示全部楼层
var userName = getWebUser().getName();//获取当前登录用户名称
var userProcess = createProcess("cn.myapps.core.user.ejb.UserProcess");//用户业务类
var user = userProcess.getUserByLoginno(userName, getDomainid());//根据用户名和域ID查询用户对象
用户名称不是唯一的 也就是userName可能对应多个 user对象? 这样怎么取得到唯一的ID ?
回复

使用道具 举报

bess 发表于 2012-9-25 15:54:55 | 显示全部楼层
您好,由于我们平台没有对用户的name做唯一限制,您根据这个肯定是取不到唯一的id的。
然后您具体的需求到底是什么。您上面说的只是要在视图显示当前登陆用户的代办记录。但是现在您的需求,有点看不明白。
麻烦您详细描述一下您具体是想达到的效果,谢谢!
回复

使用道具 举报

 楼主| 吴孟超 发表于 2012-9-25 15:57:25 | 显示全部楼层
SQL语句都写出来了啊  两种情况下的显示;
如果流程在第一个节点,就只能作者自己看到表单,如果不是在第一个节点,当前审批人可以看到表单
回复

使用道具 举报

purple 发表于 2012-9-25 16:16:27 | 显示全部楼层
同事正在电话沟通。
回复

使用道具 举报

bess 发表于 2012-9-25 16:25:19 | 显示全部楼层
跟客户沟通之后,客户现在的问题是怎么通过sql语句实现我的代办,现在已经让客户参考“我的工作中”的办理中的sql语句,该sql语句具体可以参考帖子:
http://www.teemlink.com/bbs/view ... 2%B5%C4%B9%A4%D7%F7
回复

使用道具 举报

spiral 发表于 2012-9-29 11:55:25 | 显示全部楼层
通过QQ联系,客户已经用其他方法解决问题,感谢楼主反馈
以下是客户反馈:
在流程里写审批人代码,视图设置审批人
回复

使用道具 举报

本版积分规则

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

GMT+8, 2026-8-14 07:17

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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