}
}
public void processArrival(DelegateTask delegateTask,
BpmConfNotice bpmConfNotice) {
UserConnector userConnector = ApplicationContextHelper
.getBean(UserConnector.class);
TaskEntity taskEntity = new TaskEntity();
taskEntity.setId(delegateTask.getId());
taskEntity.setName(delegateTask.getName());
taskEntity.setAssigneeWithoutCascade(userConnector.findById(
delegateTask.getAssignee()).getDisplayName());
taskEntity.setVariableLocal("initiator",
getInitiator(userConnector, delegateTask));
logger.debug("initiator : {}", delegateTask.getVariable("initator"));
logger.debug("variables : {}", delegateTask.getVariables());
String receiver = bpmConfNotice.getReceiver();
BpmMailTemplate bpmMailTemplate = bpmConfNotice.getBpmMailTemplate();
ExpressionManager expressionManager = Context
.getProcessEngineConfiguration().getExpressionManager();
UserDTO userDto = null;
String subject = expressionManager
.createExpression(bpmMailTemplate.getSubject())
.getValue(taskEntity).toString();
String content = expressionManager
.createExpression(bpmMailTemplate.getContent())
.getValue(taskEntity).toString();
if ("任务接收人".equals(receiver)) {
userDto = userConnector.findById(delegateTask.getAssignee());
} else if ("流程发起人".equals(receiver)) {
userDto = userConnector.findById((String) delegateTask
.getVariables().get("initiator"));
} else {
HistoricProcessInstanceEntity historicProcessInstanceEntity = Context
.getCommandContext()
.getHistoricProcessInstanceEntityManager()
.findHistoricProcessInstance(
delegateTask.getProcessInstanceId());
userDto = userConnector.findById(historicProcessInstanceEntity
.getStartUserId());
}
this.sendMail(userDto, subject, content);
this.sendSiteMessage(userDto, subject, content);