金融其它 bpmbpm任务查询

BPM 中提供的js APi 执行或查询?和任务总数查询?

小弟在BPM中执行查询任务的时候,
1.业务需求上要实现查询某个人的所有任务总数,就像数据库中的count()一样,可是BPM中似乎没有提供这样的接口啊?难道只能查出来后再自己数?
2.还需要实现对一个查询列的or查询。即比如有一个业务数据为dealOrganization,我想查出dealOrganization=‘北京3' or dealOrganization=’广州2‘ 的任务。但是提供的条件是并查询,要怎么解决?
var condition1 = new TWSearchCondition();
condition1.column = new TWSearchColumn();
condition1.column.name = "dealOrganization";
condition1.column.type = TWSearchColumn.Types.BusinessData;
condition1.operator = TWSearchCondition.Operations.Contains;
condition1.value = '北京3';
myConditions.push(condition1);
如下面一段代码中,我似乎没法实现或查询?
求大神……
拜天哭求……
参与10

7 同行回答

odd2008 odd2008 其它 SOA
js api是没有任务总数的,你可以使用webapi里面有getTotalCount的方法,但是只能获取当前用户的所以这种我们是放了一个虚拟用户,以这个用户去查询。显示全部
js api是没有任务总数的,你可以使用webapi里面有getTotalCount的方法,但是只能获取当前用户的
所以这种我们是放了一个虚拟用户,以这个用户去查询。 收起
互联网服务 · 2014-07-16
浏览684
liangrui liangrui 软件架构设计师 IBM
colTaskAssignedToUser 是我之前定义的一个变量啊,我的测试用例是测试通过的。var colTaskAssignedToUser = new TWSearchColumn;colTaskAssignedToUser.type = TWSearchColumn.Types.Task;colTaskAssignedToUser.name = TWSearchColumn.TaskColumns.AssignedToUser;第二...显示全部
colTaskAssignedToUser 是我之前定义的一个变量啊,我的测试用例是测试通过的。
var colTaskAssignedToUser = new TWSearchColumn;
colTaskAssignedToUser.type = TWSearchColumn.Types.Task;
colTaskAssignedToUser.name = TWSearchColumn.TaskColumns.AssignedToUser;

第二个问题,注意看我的操作符是Contains,任务所有者名称中包括"user"这个字段的task都可以通过这个saved search过滤出来
var condFilterRole = new TWSearchCondition;
condFilterRole.column = colTaskAssignedToUser;
condFilterRole.operator = TWSearchCondition.Operations.Contains;
condFilterRole.value = "user"; 收起
互联网服务 · 2014-06-30
浏览684
maimiao maimiao 研发工程师 Pactera
回复 5# liangrui     colTaskAssignedToUser 是什么?貌似不能直接这么写吧:condFilterRole.column = colTaskAssignedToUser;  还有condFilterRole.value = "user"; 这里的user是指?能说详细点吗?显示全部
回复 5# liangrui


    colTaskAssignedToUser 是什么?貌似不能直接这么写吧:condFilterRole.column = colTaskAssignedToUser;  还有condFilterRole.value = "user"; 这里的user是指?能说详细点吗? 收起
银行 · 2014-06-19
浏览699
liangrui liangrui 软件架构设计师 IBM
一个简单的查询示例var colTaskID = new TWSearchColumn;colTaskID.type = TWSearchColumn.Types.Task;colTaskID.name = TWSearchColumn.TaskColumns.ID;var colTaskSubject = new TWSearchColumn;colTaskSubject.type = TWSearchColumn.Types.Task;colTaskSubject.name...显示全部
一个简单的查询示例

var colTaskID = new TWSearchColumn;
colTaskID.type = TWSearchColumn.Types.Task;
colTaskID.name = TWSearchColumn.TaskColumns.ID;

var colTaskSubject = new TWSearchColumn;
colTaskSubject.type = TWSearchColumn.Types.Task;
colTaskSubject.name = TWSearchColumn.TaskColumns.Subject;

var colTaskStatus = new TWSearchColumn;
colTaskStatus.type = TWSearchColumn.Types.Task;
colTaskStatus.name = TWSearchColumn.TaskColumns.Status;


var colTaskAssignedToRole = new TWSearchColumn;
colTaskAssignedToRole.type = TWSearchColumn.Types.Task;
colTaskAssignedToRole.name = TWSearchColumn.TaskColumns.AssignedToRole;

var colTaskAssignedToUser = new TWSearchColumn;
colTaskAssignedToUser.type = TWSearchColumn.Types.Task;
colTaskAssignedToUser.name = TWSearchColumn.TaskColumns.AssignedToUser;

var condFilterRole = new TWSearchCondition;
condFilterRole.column = colTaskAssignedToUser;
condFilterRole.operator = TWSearchCondition.Operations.Contains;
condFilterRole.value = "user";


var search = new TWSearch();

//Set the columns, noting that ORDER MATTERS when you retrieve results
search.columns = new Array(colTaskID, colTaskSubject, colTaskStatus, colTaskAssignedToRole, colTaskAssignedToUser);


search.conditions = new Array(condFilterRole);
search.organizedBy = TWSearch.OrganizeByTypes.Task;


///////////////////Execute search and retrieve results/////////////////
var results;//This line is not required bu keeps autocorrect errors from appearing

//Checks if there is a userName, so that the results are only for the given user
//if(tw.local.queryThisUserName.length >0){
//    var results = search.execute(tw.local.queryThisUserName);
//}
//Otherwise ALL USER's results are returned
var results = search.execute();

//Loop through the results variable and set your taskInfoList output object
for(var i = 0; i < results.rows.length; i++) {
    var row = results.rows[i];
      if(row.values[0]){log.info(row.values[0].toString())};
      if(row.values[1]){log.info(row.values[1].toString())};
      if(row.values[2]){log.info(row.values[2].toString())};
      if(row.values[3]){log.info(row.values[3].toString())};
      if(row.values[4]){log.info(row.values[4].toString())};
} 收起
互联网服务 · 2014-06-12
浏览864
liangrui liangrui 软件架构设计师 IBM
rest api 调用查询人员任务,默认是当前登录用户的,这样可以统计返回的结果为任务总数。如果你需要查询其他人员的,那么你可以采用js api。或者查询数据库显示全部
rest api 调用查询人员任务,默认是当前登录用户的,这样可以统计返回的结果为任务总数。
如果你需要查询其他人员的,那么你可以采用js api。或者查询数据库 收起
互联网服务 · 2014-06-12
浏览709
maimiao maimiao 研发工程师 Pactera
楼主的和我遇到一样的问题,大概就是想做带有in()的查询是吧?search中的Contains不知道如何传参数。。。显示全部
楼主的和我遇到一样的问题,大概就是想做带有in()的查询是吧?search中的Contains不知道如何传参数。。。 收起
银行 · 2014-06-11
浏览680
lxshuangzi lxshuangzi 软件开发工程师 重庆斯欧
回复 1# lazyguy21     查询任务总数这个API暂时还没找到,但是使用restapi中的返回对象有任务总数这个标签,webapi的话,我也是查询到了结果集打印结果的时候加个计数器来做得,打印一条记录+1....显示全部
回复 1# lazyguy21


    查询任务总数这个API暂时还没找到,但是使用restapi中的返回对象有任务总数这个标签,webapi的话,我也是查询到了结果集打印结果的时候加个计数器来做得,打印一条记录+1. 收起
互联网服务 · 2013-01-29
浏览678

提问者

lazyguy21
开发工程师 麦芽鑫
评论2

相关问题

相关资料

问题状态

  • 发布时间:2013-01-29
  • 关注会员:3 人
  • 问题浏览:5011
  • 最近回答:2014-07-16
  • X社区推广