起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: zyygod

[处理中3] 规则里有多人时,表达式方式。

[复制链接]

99

主题

329

帖子

568

积分

高级会员

Rank: 4

积分
568
QQ
 楼主| 发表于 2018-8-14 10:34:26 | 显示全部楼层
jishuang 发表于 2018-8-14 10:04
java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
findPersonMembersByIDList传的参数不正确
往lis ...

list为非空判断过了,还是报同样的错。
  1. public static List<List<String>> personFn(String XJYWH) {
  2.                 try {
  3.                 String sql = "Select a.PERSONID from SPQKB a where a.YWH ='" + XJYWH + "' ";
  4.                 System.out.println(sql);
  5.                 Table table = SQL.select(sql, null, "/app/business/oa/holidayManager/backleave/data", null);
  6.                 Iterator<Row> rows = table.iterator();
  7.                 List<List<String>> list1 = new ArrayList<List<String>>();
  8.                 while (rows.hasNext()) {
  9.                         Row row = rows.next();
  10.                         List<String> list2 = new ArrayList<String>();
  11.                         if(row.getString("PERSONID")!=""){
  12.                                 list2.add(row.getString("PERSONID"));
  13.                         }
  14.                         if(list2.size()>=1 && list2.toString()!= ""){
  15.                                 list1.add(list2);
  16.                         }
  17.                 };
  18.                 return list1;
  19.                 } catch (Exception e) {
  20.                         e.printStackTrace();
  21.                         return null;
  22.                 };
  23.     }
复制代码
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2018-8-14 10:48:59 | 显示全部楼层
报错就看你的list中是什么
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

99

主题

329

帖子

568

积分

高级会员

Rank: 4

积分
568
QQ
 楼主| 发表于 2018-8-14 11:00:06 | 显示全部楼层
jishuang 发表于 2018-8-14 10:48
报错就看你的list中是什么

我也纳闷啊!我取到的[AC89E121872B463183D634A1329DEB4B]
[CF6FF3BB86024D85982DC64765634A72]   对应上面的list2,是没问题的呀!而且,我在论坛找过其他人的代码,对list也没有做判断。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2018-8-14 11:32:30 | 显示全部楼层
9楼发的就是标准的数组读取的问题,说明就是list中的值有问题
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

99

主题

329

帖子

568

积分

高级会员

Rank: 4

积分
568
QQ
 楼主| 发表于 2018-8-14 13:42:42 | 显示全部楼层
本帖最后由 zyygod 于 2018-8-14 13:45 编辑
jishuang 发表于 2018-8-14 11:32
9楼发的就是标准的数组读取的问题,说明就是list中的值有问题

所以我一开始就问最终这个list是需要怎么样的格式,最终list的结果是怎样的。你说把id塞进去就可以了,这不是有问题么。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2018-8-14 13:53:47 | 显示全部楼层
list的本来就是用add的方式添加就可以

流程表达式最终需要的需要的是OrgUnit类型的list,前面都说过

你用几个固定的值放进行,在findPersonMembersByIDList中当参数肯定不会有问题


远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

99

主题

329

帖子

568

积分

高级会员

Rank: 4

积分
568
QQ
 楼主| 发表于 2018-8-14 14:09:57 | 显示全部楼层
jishuang 发表于 2018-8-14 13:53
list的本来就是用add的方式添加就可以

流程表达式最终需要的需要的是OrgUnit类型的list,前面都说过

嗯嗯,好的。再问一下findPersonMembersByIDList里面的list存的是sa_opperson表里面的SID的值吗?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2018-8-14 14:17:12 | 显示全部楼层
是的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复

使用道具 举报

99

主题

329

帖子

568

积分

高级会员

Rank: 4

积分
568
QQ
 楼主| 发表于 2018-8-14 15:12:38 | 显示全部楼层
本帖最后由 zyygod 于 2018-8-14 15:44 编辑

http://bbs.wex5.com/forum.php?mod=viewthread&tid=49744

我比较了一下,帖子里面多了一个list2.add("");帖子是根据部门选的人,我只根据人员来发送,不需要取部门的值。我直接添加一个人的ID还是报上面的错。值是我从sa_opperson里面取的SID
  1.         public static List<List<String>> personFn(String XJYWH) {
  2.                 List<List<String>> list1 = new ArrayList<List<String>>();
  3.                 List<String> list2 = new ArrayList<String>();
  4.                 list2.add("ASaxswLriHIU8wBXmUa");
  5.                 list1.add(list2);               
  6.                 System.out.println(list1.toString());
  7.                 return list1;        };
复制代码




回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2018-8-14 15:49:12 | 显示全部楼层
public static List<String> personFn(String XJYWH) {
               
                List<String> list2 = new ArrayList<String>();
                list2.add("ASaxswLriHIU8wBXmUa");              
                System.out.println(list1.toString());
                return list2 ;        };
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-5 06:56 , Processed in 0.063914 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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