d02058a3636ba810c5296f680284ae508c3a2c2f.svn-base
3.44 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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
/**
* Copyright © 2015-2018 ODM All rights reserved.
*/
package com.thinkgem.jeesite.modules.oa.service;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.google.common.collect.Maps;
import com.thinkgem.jeesite.common.persistence.Page;
import com.thinkgem.jeesite.common.service.CrudService;
import com.thinkgem.jeesite.common.utils.StringUtils;
import com.thinkgem.jeesite.modules.act.service.ActTaskService;
import com.thinkgem.jeesite.modules.act.utils.ActUtils;
import com.thinkgem.jeesite.modules.oa.dao.TestAuditDao;
import com.thinkgem.jeesite.modules.oa.entity.TestAudit;
/**
* 审批Service
* @author thinkgem
* @version 2014-05-16
*/
@Service
@Transactional(readOnly = true)
public class TestAuditService extends CrudService<TestAuditDao, TestAudit> {
@Autowired
private ActTaskService actTaskService;
public TestAudit getByProcInsId(String procInsId) {
return dao.getByProcInsId(procInsId);
}
public Page<TestAudit> findPage(Page<TestAudit> page, TestAudit testAudit) {
testAudit.setPage(page);
page.setList(dao.findList(testAudit));
return page;
}
/**
* 审核新增或编辑
* @param testAudit
*/
@Transactional(readOnly = false)
public void save(TestAudit testAudit) {
// 申请发起
if (StringUtils.isBlank(testAudit.getId())){
testAudit.preInsert();
dao.insert(testAudit);
// 启动流程
actTaskService.startProcess(ActUtils.PD_TEST_AUDIT[0], ActUtils.PD_TEST_AUDIT[1], testAudit.getId(), testAudit.getContent());
}
// 重新编辑申请
else{
testAudit.preUpdate();
dao.update(testAudit);
testAudit.getAct().setComment(("yes".equals(testAudit.getAct().getFlag())?"[重申] ":"[销毁] ")+testAudit.getAct().getComment());
// 完成流程任务
Map<String, Object> vars = Maps.newHashMap();
vars.put("pass", "yes".equals(testAudit.getAct().getFlag())? "1" : "0");
actTaskService.complete(testAudit.getAct().getTaskId(), testAudit.getAct().getProcInsId(), testAudit.getAct().getComment(), testAudit.getContent(), vars);
}
}
/**
* 审核审批保存
* @param testAudit
*/
@Transactional(readOnly = false)
public void auditSave(TestAudit testAudit) {
// 设置意见
testAudit.getAct().setComment(("yes".equals(testAudit.getAct().getFlag())?"[同意] ":"[驳回] ")+testAudit.getAct().getComment());
testAudit.preUpdate();
// 对不同环节的业务逻辑进行操作
String taskDefKey = testAudit.getAct().getTaskDefKey();
// 审核环节
if ("audit".equals(taskDefKey)){
}
else if ("audit2".equals(taskDefKey)){
testAudit.setHrText(testAudit.getAct().getComment());
dao.updateHrText(testAudit);
}
else if ("audit3".equals(taskDefKey)){
testAudit.setLeadText(testAudit.getAct().getComment());
dao.updateLeadText(testAudit);
}
else if ("audit4".equals(taskDefKey)){
testAudit.setMainLeadText(testAudit.getAct().getComment());
dao.updateMainLeadText(testAudit);
}
else if ("apply_end".equals(taskDefKey)){
}
// 未知环节,直接返回
else{
return;
}
// 提交流程任务
Map<String, Object> vars = Maps.newHashMap();
vars.put("pass", "yes".equals(testAudit.getAct().getFlag())? "1" : "0");
actTaskService.complete(testAudit.getAct().getTaskId(), testAudit.getAct().getProcInsId(), testAudit.getAct().getComment(), vars);
}
}