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

Merge remote-tracking branch 'origin/matser' into NEWFEATURE_add_licence_functions

Li Yuan 2 лет назад
Родитель
Сommit
d7d1f7370d

+ 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());

+ 7 - 1
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/task/services/impl/CycleTaskServiceImpl.java

@@ -1,11 +1,14 @@
 package com.lc.ibps.task.services.impl;
 
+import com.lc.ibps.base.core.constants.StringPool;
+import com.lc.ibps.base.web.context.ContextUtil;
 import com.lc.ibps.bpmn.api.IBpmInstService;
 import com.lc.ibps.bpmn.api.model.inst.IBpmProcInst;
 import com.lc.ibps.bpmn.api.service.BpmProcInstService;
 import com.lc.ibps.bpmn.cmd.IbpsProcInstCmd;
 import com.lc.ibps.bpmn.provider.BpmInstProvider;
 import com.lc.ibps.cloud.entity.APIRequest;
+import com.lc.ibps.org.party.persistence.entity.DefaultPartyUserPo;
 import com.lc.ibps.task.dao.TzqxdsrwbMapper;
 import com.lc.ibps.task.entity.Tzqxdsrwb;
 import com.lc.ibps.task.services.CycleTaskService;
@@ -82,7 +85,10 @@ public class CycleTaskServiceImpl implements CycleTaskService {
                 cmd = pmInstProvider.getStartCmd(request);
                 cmd.setSubject(varTzqxdsrwb.getRenWuMingCheng());
                 cmd.setCurUser(varTzqxdsrwb.getBianZhiRen());
-
+                DefaultPartyUserPo user = new DefaultPartyUserPo();
+                user.setUserId(varTzqxdsrwb.getBianZhiRen());
+                ContextUtil.setCurrentUser(user);
+                cmd.addVariable("ignoreSkipFirstNode", StringPool.TRUE);
                 IBpmProcInst inst = bpmProcInstService.startProcInst(cmd);
                 log.info(inst.toString());
             }