|

楼主 |
发表于 2018-6-26 16:39:38
|
显示全部楼层
代码如下
// 流转后
public static void p01_OutManagerProcessAfterAdvance() {
Map<String, Object> varMap = new HashMap<String, Object>();
varMap.put("fRelationID", ProcessUtils.getProcessData1());
// 当前环节信息
ActivityInstance currentActivity = ProcessUtils.getAI();
varMap.put("fCurrentActivityName", currentActivity.getActivityID());
varMap.put("fCurrentActivityLabel", currentActivity.getActivityLabel());
// 下个任务列表
List<Task> nextTasksList = ProcessUtils.getTaskInProcessContext().getAllNextActiveTask();
System.out.println(nextTasksList.size()+"***00000000000000000000");
System.out.println(currentActivity.getActivityID()+"++");
// 根据不同的环节设置不同的处理状态
if ("businessActivity1".equals(currentActivity.getActivityID())) {
varMap.put("fExecute", "已提交");
} else if ("businessActivity2".equals(currentActivity.getActivityID())) {
varMap.put("fExecute", "分管领导已审批");
} else if ("businessActivity3".equals(currentActivity.getActivityID())) {
varMap.put("fExecute", "行政中心已审批");
} else if ("businessActivity4".equals(currentActivity.getActivityID())) {
varMap.put("fExecute", "领导已审批");
} else if ("businessActivity5".equals(currentActivity.getActivityID())) {
varMap.put("fExecute", "已完成");
}
// 更新当前人的处理信息
KSQL.executeUpdate(
"update M020_Execute p set p.fExcuteTime=:currentDateTime(),p.fExecute=:fExecute where p.fExecutorID=:currentPersonID() and p.fActivityName=:fCurrentActivityName and p.fRelationID=:fRelationID",
varMap, C26V01Constant.DATAMODEL_M001, null);
// 下个任务列表
Iterator<Task> nextTasks = nextTasksList.iterator();
while (nextTasks.hasNext()) {
// 当前任务的执行列表
//System.out.println(nextTasks.next().getExecutorTasks().size()+"------------");
Iterator<Task> executeTasks = nextTasks.next().getExecutorTasks().iterator();
while (executeTasks.hasNext()) {
Task executeTask = executeTasks.next(); // 当前处理任务-+
System.out.println("++++++++++++++++++++++++++++++++++");
// 下一环节信息
varMap.put("fNextActivityName", executeTask.getActivity());
varMap.put("fCrrProcessLabel", executeTask.getActivityName());
varMap.put("fCrrHandlePsnID", executeTask.getExecutorPersonID());
varMap.put("fCrrHandlePsnName", executeTask.getExecutorPersonName());
// 更新下个任务处理人处理数据
varMap.put("fTaskID", executeTask.getId());
varMap.put("fExecutorID", executeTask.getExecutorPersonID());
KSQL.executeUpdate(
"update M020_Execute p set p.fTaskID=:fTaskID,p.fExecute='处理中' where p.fExecutorID=:fExecutorID and p.fRelationID=:fRelationID and p.fExecute is null and p.fActivityName=:fNextActivityName",
varMap, C26V01Constant.DATAMODEL_M001, null);
// 处理主表
KSQL.executeUpdate(
"update M002_OutManager p set p.fStatus='处理中',p.fCrrProcessLabel=:fCrrProcessLabel,p.fCrrHandlePsnID=:fCrrHandlePsnID,p.fCrrHandlePsnName=:fCrrHandlePsnName where p=:fRelationID",
varMap, C26V01Constant.DATAMODEL_M001, null);
// 根据下一环节信息发送通知
if ("businessActivity1".equals(executeTask.getActivity())) {
} else if ("businessActivity2".equals(executeTask.getActivity())) {
Message.send2Activity2ForP01(ProcessUtils.getProcessData1(), executeTask);
} else if ("businessActivity3".equals(executeTask.getActivity())) {
Message.send2Activity3ForP01(ProcessUtils.getProcessData1(), executeTask);
} else if ("businessActivity4".equals(executeTask.getActivity())) {
Message.send2Activity4ForP01(ProcessUtils.getProcessData1(), executeTask);
} else if ("businessActivity5".equals(executeTask.getActivity())) {
Message.send2Activity5ForP01(ProcessUtils.getProcessData1(), executeTask);
}
}
}
麻烦看下是什么原因?就是会签之后取不到下一个环节的 |
|