Просмотр исходного кода

定时任务启动流程不跳过第一步修改

szjbdgzl 2 лет назад
Родитель
Сommit
9b2c0b5842

+ 5 - 1
ibps-bpmn-root/modules/bpmn-biz/src/main/java/com/lc/ibps/bpmn/service/impl/BpmProcInstServiceImpl.java

@@ -200,7 +200,11 @@ public class BpmProcInstServiceImpl implements BpmProcInstService {
 			}
 			// 处理任务跳过.
 			StopWatchUtil.stopAndStartNewLocal(stepId, step, "handlerSkipTask");
-			handlerSkipTask(finalInstance, curUser, step, stepId);
+			//if the instance is triggered by job,we should not skip the first node.
+			String ignoreSkipFirstNode = String.valueOf(procInstCmd.getVariable("ignoreSkipFirstNode"));
+			if(!StringPool.TRUE.equals(ignoreSkipFirstNode)) {
+				handlerSkipTask(finalInstance, curUser, step, stepId);
+			}
 
 		} catch (Exception e) {
 			throw e;

+ 1 - 0
ibps-provider-root/modules/provider-bpmn/src/main/java/com/lc/ibps/bpmn/provider/BpmInstProvider.java

@@ -587,6 +587,7 @@ public class BpmInstProvider extends GenericProvider implements IBpmInstService,
 		APIResult<Void> result = new APIResult<>();
 		try {
 			IbpsProcInstCmd cmd = this.getStartCmd(request);
+			cmd.addVariable("ignoreSkipFirstNode", StringPool.TRUE);
 			IBpmProcInst inst = bpmProcInstService.startProcInst(cmd,subject,userId,userName);
 			result.setMessage(I18nUtil.getMessage("com.lc.ibps.bpmn.provider.BpmInstProvider.start"));
 			result.addVariable("proInstId", inst.getId());