|

楼主 |
发表于 2018-7-18 20:30:52
|
显示全部楼层
String sPersonID = ContextHelper.getPerson().getID(); //获取当前登陆人,报不是自己的任务,不允许修改执行者
String sPersonID = oppRow.getString("sID"); //改为获取提交人,报无效的executor "8A9D1fbTR1eUCBJ9E6T", 与当前登录用户不匹配
sPersonID传空也不可以,这个到底应该怎么解决
com.justep.system.action.ActionUtils的API也没有找到,应该怎么玩?
员工A提交任务给B,B离职了,员工C是B的领导,去修改执行者,这样的逻辑很正常,这个逻辑怎么处理?
//修改流程执行者
String sProcess = ActionUtils.getRequestContext().getActionContext().getProcess().getFullName();
String sActivity = ActionUtils.getRequestContext().getActionContext().getActivity().getName();
//获取一次提交人,避免报不是自己的任务,不允许修改执行者的问题
StringBuffer oppSql = new StringBuffer();
oppSql.append("SELECT opp.sID FROM x5sys.sa_opperson opp WHERE ");
oppSql.append(" opp.sCode=(SELECT xx.fTCRCode FROM IN_XX xx where xx.fID='"+fXXID+"') ");
HashMap<String, String> oppSqlMap = new HashMap<String, String>();
oppSqlMap.put(SQL.DEFAULT_DB_NAME, oppSql.toString());
oppSqlMap.put(DatabaseProduct.MSSQL.name(), oppSql.toString());
Table oppTable = SQL.select(oppSqlMap,null, "/inforGather/infor/data");
Row oppRow = oppTable.iterator().next();
String sPersonID = oppRow.getString("sID");
// String sPersonID = ContextHelper.getPerson().getID();
HashMap<String, Object> params2 = new HashMap<String, Object>();
params2.put("task", taskID);
params2.put("fid", sFID);
com.justep.system.action.ActionUtils.invokeAction(sProcess, sActivity, "modifyExecutorAction", sPersonID, params2);
|
|