|
楼主 |
发表于 2018-7-12 15:46:26
|
显示全部楼层
本帖最后由 guoquanquan 于 2018-7-12 15:49 编辑
item.getFID()是/A100100000000.ogn/A140400000000.ogn/58F5B629D1B542FBB2A68E54F8681B06.local/0DADD57602E2A42DE050007F0100135A.dpt/D39184A627274685BEBB620DCA943DCC@0DADD57602E2A42DE050007F0100135A.psm原来好像是因为从数据库中获取的sExecutorPersonID 为null,但是item.getFID().startsWith(executor)中的executor需要是字符串,所以报错。现在改成了“”不报错了,但是还是不能用,点击流转就还是直接流转走了。
这是我的代码,是还有什么地方是不对的吗?
public static String geturl(String taskfid,String currentPersonID){
String isStr = "select s ,s.sEURL,s.sActivityName,s.sProcess,s.sActivity,s.sExecutorPersonID from SA_Task s where (s.sStatusID='tesReady' or s.sStatusID='tesExecuting') and s.sKindID='tkTask' and s.sData1='"+taskfid+"'";
Table table = KSQL.select(isStr, null, "/system/data", null);
Iterator<Row> tRows = table.iterator();
Row row;
String url="";
System.out.println(tRows.hasNext());
if(tRows.hasNext()){
row=tRows.next();
if(row.getString("sExecutorPersonID")==null){
String process=row.getString("sProcess");
String activity=row.getString("sActivity");
HashMap<String,Object> paramr2 = new HashMap<String,Object>();
paramr2.put("task", row.getString("s"));
paramr2.put("executor", "");
Object ob=com.justep.system.action.ActionUtils.invokeAction(process, activity, "executeTaskAction", row.getString("sExecutorPersonID"), currentPersonID, paramr2);//executeTask();
String isStr1 = "select s ,s.sEURL,s.sActivityName,s.sProcess,s.sActivity,s.sExecutorPersonID from SA_Task s where (s.sStatusID='tesReady' or s.sStatusID='tesExecuting') and s.sKindID='tkTask' and s.sData1='"+taskfid+"'";
Iterator<Row> tRows1 = table1.iterator();
Row row1;
if(tRows1.hasNext()){
row1=tRows1.next();
String sEURL=row1.getString("sEURL");
String sActivityName=row1.getString("sActivityName");
String taskid=row1.getString("s");
url=sEURL+"&"+sActivityName+"&"+taskid;
}
}else{
String sEURL=row.getString("sEURL");
String sActivityName=row.getString("sActivityName");
String taskid=row.getString("s");
url=sEURL+"&"+sActivityName+"&"+taskid;
}
}
return url;
}
|
|