4ef5c9a3ca6fa8c224c2eff8b9dd76f877c90343.svn-base
1.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package com.thinkgem.jeesite.modules.oa.service;
import java.util.Date;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.activiti.engine.runtime.ProcessInstance;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.thinkgem.jeesite.modules.oa.dao.LeaveDao;
import com.thinkgem.jeesite.modules.oa.entity.Leave;
/**
* 调整请假内容处理器
* @author liuj
*/
@Service
@Transactional
public class LeaveModifyProcessor implements TaskListener {
private static final long serialVersionUID = 1L;
@Autowired
private LeaveDao leaveDao;
@Autowired
private RuntimeService runtimeService;
public void notify(DelegateTask delegateTask) {
String processInstanceId = delegateTask.getProcessInstanceId();
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
Leave leave = new Leave(processInstance.getBusinessKey());
leave.setLeaveType((String) delegateTask.getVariable("leaveType"));
leave.setStartTime((Date) delegateTask.getVariable("startTime"));
leave.setEndTime((Date) delegateTask.getVariable("endTime"));
leave.setReason((String) delegateTask.getVariable("reason"));
leave.preUpdate();
leaveDao.update(leave);
}
}