liyuan 2 лет назад
Родитель
Сommit
2df577be48

+ 14 - 58
ibps-bpmn-root/modules/bpmn-biz/src/main/java/com/lc/ibps/bpmn/listener/TaskCompleteEventListener.java

@@ -1,29 +1,10 @@
 package com.lc.ibps.bpmn.listener;
 
-import java.util.Date;
-import java.util.Map;
-
-import javax.annotation.Resource;
-
-import com.lc.ibps.bpmn.api.cmd.ProcInstCmd;
-import com.lc.ibps.bpmn.api.service.BpmProcInstService;
-import com.lc.ibps.bpmn.cmd.IbpsProcInstCmd;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.ApplicationListener;
-import org.springframework.core.Ordered;
-import org.springframework.stereotype.Service;
-
 import com.lc.ibps.base.core.util.BeanUtils;
 import com.lc.ibps.base.core.util.string.StringUtil;
 import com.lc.ibps.bpmn.api.cmd.ActionCmd;
 import com.lc.ibps.bpmn.api.cmd.TaskFinishCmd;
-import com.lc.ibps.bpmn.api.constant.ActionType;
-import com.lc.ibps.bpmn.api.constant.BpmConstants;
-import com.lc.ibps.bpmn.api.constant.NodeStatus;
-import com.lc.ibps.bpmn.api.constant.TemplateType;
-import com.lc.ibps.bpmn.api.constant.TemplateVar;
+import com.lc.ibps.bpmn.api.constant.*;
 import com.lc.ibps.bpmn.api.context.BpmnContextUtil;
 import com.lc.ibps.bpmn.api.context.ContextVariableUtil;
 import com.lc.ibps.bpmn.api.event.TaskCompleteEvent;
@@ -33,30 +14,21 @@ import com.lc.ibps.bpmn.api.model.task.SkipRes;
 import com.lc.ibps.bpmn.api.nat.inst.NatProInstService;
 import com.lc.ibps.bpmn.api.nat.task.NatTaskService;
 import com.lc.ibps.bpmn.builder.BpmOperLogBuilder;
-import com.lc.ibps.bpmn.domain.ActExecution;
-import com.lc.ibps.bpmn.domain.BpmApprove;
-import com.lc.ibps.bpmn.domain.BpmExec;
-import com.lc.ibps.bpmn.domain.BpmOperNotify;
-import com.lc.ibps.bpmn.domain.BpmTask;
-import com.lc.ibps.bpmn.domain.BpmTaskAssign;
-import com.lc.ibps.bpmn.domain.BpmTaskChange;
-import com.lc.ibps.bpmn.persistence.entity.ActExecutionPo;
-import com.lc.ibps.bpmn.persistence.entity.BpmApprovePo;
-import com.lc.ibps.bpmn.persistence.entity.BpmExecPo;
-import com.lc.ibps.bpmn.persistence.entity.BpmInstPo;
-import com.lc.ibps.bpmn.persistence.entity.BpmOperLogPo;
-import com.lc.ibps.bpmn.persistence.entity.BpmOperNotifyPo;
-import com.lc.ibps.bpmn.persistence.entity.BpmTaskPo;
-import com.lc.ibps.bpmn.repository.ActExecutionRepository;
-import com.lc.ibps.bpmn.repository.BpmApproveRepository;
-import com.lc.ibps.bpmn.repository.BpmExecRepository;
-import com.lc.ibps.bpmn.repository.BpmInstRepository;
-import com.lc.ibps.bpmn.repository.BpmOperNotifyRepository;
-import com.lc.ibps.bpmn.repository.BpmTaskChangeRepository;
-import com.lc.ibps.bpmn.repository.BpmTaskRepository;
+import com.lc.ibps.bpmn.domain.*;
+import com.lc.ibps.bpmn.persistence.entity.*;
+import com.lc.ibps.bpmn.repository.*;
 import com.lc.ibps.bpmn.utils.BpmExecUtil;
 import com.lc.ibps.bpmn.utils.BpmUtil;
 import com.lc.ibps.bpmn.utils.NotifyUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.ApplicationListener;
+import org.springframework.core.Ordered;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.Map;
 
 /** 
  * 任务完成监听器,做相应动作
@@ -101,8 +73,7 @@ public class TaskCompleteEventListener implements ApplicationListener<TaskComple
 	private BpmOperNotifyRepository bpmOperNotifyRepository;
 	@Resource
 	private BpmTaskChangeRepository bpmTaskChangeRepository;
-	@Autowired
-	private BpmProcInstService bpmProcInstService;
+
 	@Override
 	public int getOrder(){return 1;}
 
@@ -154,8 +125,6 @@ public class TaskCompleteEventListener implements ApplicationListener<TaskComple
 		// 更新流程实例
 //		updateProcInst(cmd);
 
-		//更新流程和任务的subject
-		updateSubject(delegateTask, cmd);
 		
 		// 完成转办代理任务
 		BpmTaskChange bpmTaskChangeDomain = bpmTaskChangeRepository.newInstance();
@@ -615,17 +584,4 @@ public class TaskCompleteEventListener implements ApplicationListener<TaskComple
 		bpmTaskAssignDomain.delByTask(taskId);
 		bpmTaskDomain.delete(taskId);
 	}
-	private void updateSubject(BpmDelegateTask delegateTask, TaskFinishCmd cmd) {
-		String procInstId = delegateTask.getVariableString(BpmConstants.PROCESS_INST_ID);
-		BpmInstPo instance = bpmInstRepository.get(procInstId);
-
-		ProcInstCmd procInstCmd = new IbpsProcInstCmd() ;
-		procInstCmd.setBusData(cmd.getBusData());
-		procInstCmd.setCurUserName(cmd.getCurUserName());
-		procInstCmd.setBusinessKey(cmd.getBusinessKey());
-		((IbpsProcInstCmd) procInstCmd).setVariables(cmd.getVariables());
-		bpmProcInstService.saveSubject(instance,procInstCmd);
-		delegateTask.setVariable(BpmConstants.BPM_TASK + BpmConstants.SUBJECT,instance.getSubject());
-	}
-
 }

+ 17 - 17
ibps-bpmn-root/modules/bpmn-biz/src/main/java/com/lc/ibps/bpmn/listener/TaskCreateEventListener.java

@@ -6,15 +6,9 @@ import java.util.Map;
 import javax.annotation.Resource;
 
 import com.lc.ibps.bpmn.api.IBpmTaskService;
-import com.lc.ibps.cloud.redis.utils.RedisUtil;
-import io.netty.bootstrap.ServerBootstrap;
-import io.netty.channel.AdaptiveRecvByteBufAllocator;
-import io.netty.channel.Channel;
-import io.netty.channel.ChannelOption;
-import io.netty.channel.EventLoopGroup;
-import io.netty.channel.epoll.EpollChannelOption;
-import io.netty.channel.nio.NioEventLoopGroup;
-import io.netty.channel.socket.nio.NioServerSocketChannel;
+import com.lc.ibps.bpmn.api.cmd.ProcInstCmd;
+import com.lc.ibps.bpmn.api.service.BpmProcInstService;
+import com.lc.ibps.bpmn.cmd.IbpsProcInstCmd;
 import org.activiti.engine.ProcessEngine;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -67,7 +61,8 @@ public class TaskCreateEventListener implements ApplicationListener<TaskCreateEv
 	private ProcessEngine processEngine;
 	@Autowired
 	IBpmTaskService services;
-
+	@Autowired
+	private BpmProcInstService bpmProcInstService;
 	@Override
 	public int getOrder(){return 5;}
 
@@ -76,11 +71,7 @@ public class TaskCreateEventListener implements ApplicationListener<TaskCreateEv
 	public void onApplicationEvent(TaskCreateEvent event){
 		BpmDelegateTask delegateTask = (BpmDelegateTask)event.getSource();
 
-		String subject = delegateTask.hasVariable(BpmConstants.BPM_TASK + BpmConstants.SUBJECT)
-				? delegateTask.getVariableString(BpmConstants.BPM_TASK + BpmConstants.SUBJECT)
-				: delegateTask.getVariableString(BpmConstants.SUBJECT);
-		delegateTask.setVariable(BpmConstants.BPM_TASK + BpmConstants.SUBJECT,subject);
-
+		String subject = delegateTask.getVariableString(BpmConstants.SUBJECT);
 		String instId = delegateTask.getVariableString(BpmConstants.PROCESS_INST_ID);
 		String userId = delegateTask.getVariableString(BpmConstants.CUR_USER);
 		String nodeId = delegateTask.getTaskDefinitionKey();
@@ -195,7 +186,8 @@ public class TaskCreateEventListener implements ApplicationListener<TaskCreateEv
 //
 //			}
 //		}).start();
-
+		//更新流程和任务的subject
+		updateSubject(delegateTask, taskCmd,instance);
 	}
 
 	/**
@@ -219,5 +211,13 @@ public class TaskCreateEventListener implements ApplicationListener<TaskCreateEv
 		BpmApprove bpmApproveDomain = bpmApproveRepository.newInstance(approvePo);
 		bpmApproveDomain.create();
 	}
-
+	private void updateSubject(BpmDelegateTask delegateTask, ActionCmd cmd, IBpmProcInst instance) {
+
+		ProcInstCmd procInstCmd = new IbpsProcInstCmd() ;
+		procInstCmd.setBusData(cmd.getBusData());
+		procInstCmd.setCurUserName(cmd.getCurUserName());
+		procInstCmd.setBusinessKey(cmd.getBusinessKey());
+		((IbpsProcInstCmd) procInstCmd).setVariables(cmd.getVariables());
+		bpmProcInstService.saveSubject(instance,procInstCmd);
+	}
 }