Commit 75b8885d8318456358c257c1e42f99b7de87bd97

Authored by 273548560@qq.com
2 parents 7b5936e1 6d4ef200

Merge remote-tracking branch 'origin/dev' into dev

trash-activiti/src/main/java/com/trash/activiti/controller/TaskController.java
@@ -7,6 +7,7 @@ import com.trash.common.core.domain.AjaxResult; @@ -7,6 +7,7 @@ import com.trash.common.core.domain.AjaxResult;
7 import com.trash.common.core.page.PageDomain; 7 import com.trash.common.core.page.PageDomain;
8 import com.trash.common.core.page.TableDataInfo; 8 import com.trash.common.core.page.TableDataInfo;
9 import com.trash.common.core.page.TableSupport; 9 import com.trash.common.core.page.TableSupport;
  10 +import com.trash.common.utils.ServletUtils;
10 import com.trash.activiti.domain.dto.ActTaskDTO; 11 import com.trash.activiti.domain.dto.ActTaskDTO;
11 import com.trash.activiti.domain.dto.ActWorkflowFormDataDTO; 12 import com.trash.activiti.domain.dto.ActWorkflowFormDataDTO;
12 import com.trash.activiti.service.IActTaskService; 13 import com.trash.activiti.service.IActTaskService;
trash-activiti/src/main/java/com/trash/activiti/service/impl/ActTaskServiceImpl.java
@@ -26,9 +26,13 @@ import org.activiti.engine.TaskService; @@ -26,9 +26,13 @@ import org.activiti.engine.TaskService;
26 import org.activiti.engine.history.HistoricProcessInstance; 26 import org.activiti.engine.history.HistoricProcessInstance;
27 import org.activiti.engine.history.HistoricProcessInstanceQuery; 27 import org.activiti.engine.history.HistoricProcessInstanceQuery;
28 import org.activiti.engine.runtime.ProcessInstance; 28 import org.activiti.engine.runtime.ProcessInstance;
  29 +import org.activiti.engine.task.IdentityLink;
  30 +import org.apache.commons.collections4.map.HashedMap;
29 import org.springframework.beans.factory.annotation.Autowired; 31 import org.springframework.beans.factory.annotation.Autowired;
30 import org.springframework.stereotype.Service; 32 import org.springframework.stereotype.Service;
31 33
  34 +import com.alibaba.fastjson.JSONArray;
  35 +import com.alibaba.fastjson.JSONObject;
32 import com.github.pagehelper.Page; 36 import com.github.pagehelper.Page;
33 import com.trash.activiti.domain.ActWorkflowFormData; 37 import com.trash.activiti.domain.ActWorkflowFormData;
34 import com.trash.activiti.domain.dto.ActTaskDTO; 38 import com.trash.activiti.domain.dto.ActTaskDTO;
@@ -38,7 +42,11 @@ import com.trash.activiti.service.IActTaskService; @@ -38,7 +42,11 @@ import com.trash.activiti.service.IActTaskService;
38 import com.trash.activiti.service.IActWorkflowFormDataService; 42 import com.trash.activiti.service.IActWorkflowFormDataService;
39 import com.trash.activiti.service.myTaskService; 43 import com.trash.activiti.service.myTaskService;
40 import com.trash.common.core.page.PageDomain; 44 import com.trash.common.core.page.PageDomain;
  45 +import com.trash.common.utils.RemoteServerUtils;
  46 +import com.trash.common.utils.RouteUtils;
41 import com.trash.common.utils.SecurityUtils; 47 import com.trash.common.utils.SecurityUtils;
  48 +import com.trash.common.utils.ServletUtils;
  49 +import com.trash.common.utils.spring.SpringUtils;
42 50
43 @Service 51 @Service
44 public class ActTaskServiceImpl implements IActTaskService { 52 public class ActTaskServiceImpl implements IActTaskService {
@@ -54,9 +62,11 @@ public class ActTaskServiceImpl implements IActTaskService { @@ -54,9 +62,11 @@ public class ActTaskServiceImpl implements IActTaskService {
54 62
55 @Autowired 63 @Autowired
56 private RuntimeService runtimeService; 64 private RuntimeService runtimeService;
  65 +
57 @Autowired 66 @Autowired
58 private IActWorkflowFormDataService actWorkflowFormDataService; 67 private IActWorkflowFormDataService actWorkflowFormDataService;
59 68
  69 +
60 @Autowired 70 @Autowired
61 private ActReDeploymentMapper actMapper; 71 private ActReDeploymentMapper actMapper;
62 72
@@ -69,17 +79,21 @@ public class ActTaskServiceImpl implements IActTaskService { @@ -69,17 +79,21 @@ public class ActTaskServiceImpl implements IActTaskService {
69 HistoricProcessInstanceQuery processInstanceQuery; 79 HistoricProcessInstanceQuery processInstanceQuery;
70 80
71 81
72 -  
73 @Override 82 @Override
74 public Page<ActTaskDTO> selectProcessDefinitionList(PageDomain pageDomain) { 83 public Page<ActTaskDTO> selectProcessDefinitionList(PageDomain pageDomain) {
75 Page<ActTaskDTO> list = new Page<ActTaskDTO>(); 84 Page<ActTaskDTO> list = new Page<ActTaskDTO>();
76 85
77 -// List<String> posts = new ArrayList<>();  
78 -// posts.add("4");  
79 -// SecurityUtils.getLoginUser().getUser().setPostIds(posts);  
80 -// List<String> roles = new ArrayList<>();  
81 -// posts.add("7");  
82 -// SecurityUtils.getLoginUser().getUser().setRoleIds(roles); 86 +
  87 + if(ServletUtils.getParameter("role") != null){
  88 + List<String> posts = new ArrayList<>();
  89 + posts.add(ServletUtils.getParameter("role"));
  90 + SecurityUtils.getLoginUser().getUser().setPostIds(posts);
  91 + }
  92 + if(ServletUtils.getParameter("dept") != null){
  93 + List<String> roles = new ArrayList<>();
  94 + roles.add(ServletUtils.getParameter("dept"));
  95 + SecurityUtils.getLoginUser().getUser().setRoleIds(roles);
  96 + }
83 97
84 org.activiti.api.runtime.shared.query.Page<Task> pageTasks = taskRuntime.tasks(Pageable.of((pageDomain.getPageNum() - 1) * pageDomain.getPageSize(), pageDomain.getPageSize())); 98 org.activiti.api.runtime.shared.query.Page<Task> pageTasks = taskRuntime.tasks(Pageable.of((pageDomain.getPageNum() - 1) * pageDomain.getPageSize(), pageDomain.getPageSize()));
85 99
@@ -218,9 +232,13 @@ public class ActTaskServiceImpl implements IActTaskService { @@ -218,9 +232,13 @@ public class ActTaskServiceImpl implements IActTaskService {
218 @Override 232 @Override
219 public int formDataSave(String taskID, List<ActWorkflowFormDataDTO> awfs) throws ParseException { 233 public int formDataSave(String taskID, List<ActWorkflowFormDataDTO> awfs) throws ParseException {
220 Task task = taskRuntime.task(taskID); 234 Task task = taskRuntime.task(taskID);
  235 +
  236 +
221 ProcessInstance processInstance = runtimeService.createProcessInstanceQuery() 237 ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
222 .processInstanceId(task.getProcessInstanceId()).singleResult(); 238 .processInstanceId(task.getProcessInstanceId()).singleResult();
223 - 239 +
  240 + String desc = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult().getDescription();
  241 +
224 Boolean hasVariables = false;// 没有任何参数 242 Boolean hasVariables = false;// 没有任何参数
225 HashMap<String, Object> variables = new HashMap<String, Object>(); 243 HashMap<String, Object> variables = new HashMap<String, Object>();
226 // 前端传来的字符串,拆分成每个控件 244 // 前端传来的字符串,拆分成每个控件
@@ -246,14 +264,56 @@ public class ActTaskServiceImpl implements IActTaskService { @@ -246,14 +264,56 @@ public class ActTaskServiceImpl implements IActTaskService {
246 } 264 }
247 265
248 266
249 - List<org.activiti.engine.task.Task> tasks = taskService.createTaskQuery().processInstanceId(processInstance.getId()).list(); //测试 当前用户为审批用户  
250 -  
251 - 267 + updateThreesetpTask(processInstance,desc);
  268 +
  269 +
252 270
253 // 写入数据库 271 // 写入数据库
254 return actWorkflowFormDataService.insertActWorkflowFormDatas(acwfds); 272 return actWorkflowFormDataService.insertActWorkflowFormDatas(acwfds);
255 } 273 }
256 274
  275 +
  276 +
  277 + private void updateThreesetpTask(ProcessInstance processInstance, String placeCode) {
  278 +
  279 + org.activiti.engine.task.Task task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();
  280 +
  281 + if(task == null)
  282 + return;
  283 +
  284 + task.setDescription(placeCode);
  285 +
  286 + if(processInstance.getProcessDefinitionKey().equals("workflow_threestep") ){
  287 + if(task.getName().equals("巡查")){
  288 + List<IdentityLink> list = taskService.getIdentityLinksForTask(task.getId());
  289 +
  290 + for(IdentityLink identityLink:list){
  291 +// if(identityLink.getGroupId() != null)
  292 +// taskService.deleteGroupIdentityLink(task.getId(), identityLink.getGroupId(), identityLink.getType());
  293 + if(identityLink.getUserId() != null)
  294 + taskService.deleteUserIdentityLink(task.getId(), identityLink.getUserId(), identityLink.getType());
  295 + }
  296 +
  297 + taskService.addCandidateUser(task.getId(), placeCode);
  298 +
  299 + task.setDescription(placeCode);
  300 + }
  301 + }else if(processInstance.getProcessDefinitionKey().equals("workflow_leave") ){
  302 + List<IdentityLink> list = taskService.getIdentityLinksForTask(task.getId());
  303 +
  304 + if(list.size() == 1){
  305 + taskService.addCandidateUser(task.getId(), placeCode);
  306 + }
  307 +
  308 +
  309 + task.setDescription(placeCode);
  310 + }
  311 +
  312 + taskService.saveTask(task);
  313 +
  314 + }
  315 +
  316 +
257 @Override 317 @Override
258 public void deleteProcessById(String type) { 318 public void deleteProcessById(String type) {
259 runtimeService.deleteProcessInstance(type, "删除"); 319 runtimeService.deleteProcessInstance(type, "删除");
trash-admin/src/main/resources/application-dev.yml
@@ -27,8 +27,7 @@ spring: @@ -27,8 +27,7 @@ spring:
27 master: 27 master:
28 url: jdbc:mysql://localhost:3306/trash?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true 28 url: jdbc:mysql://localhost:3306/trash?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
29 username: root 29 username: root
30 -# password: root  
31 - password: asd0731. 30 + password: root
32 # 从库数据源 31 # 从库数据源
33 slave: 32 slave:
34 # 从数据源开关/默认关闭 33 # 从数据源开关/默认关闭
@@ -82,7 +81,7 @@ spring: @@ -82,7 +81,7 @@ spring:
82 # 端口,默认为6379 81 # 端口,默认为6379
83 port: 6379 82 port: 6379
84 # 密码 83 # 密码
85 - password: bsth123 84 + password:
86 # 连接超时时间 85 # 连接超时时间
87 timeout: 10s 86 timeout: 10s
88 database: 10 87 database: 10
trash-ui/src/views/activiti/task/index.vue
1 <template> 1 <template>
2 <div class="app-container"> 2 <div class="app-container">
  3 + <el-select v-model="queryParams.dept" filterable clearable reserve-keyword @change="getList">
  4 + <el-option v-for="item in depts" :label="item.name"
  5 + :value="item.code" :key="item.code" >
  6 + </el-option>
  7 + </el-select>
  8 + <el-select v-model="queryParams.role" filterable clearable reserve-keyword @change="getList">
  9 + <el-option v-for="item in roles" :label="item.name"
  10 + :value="item.code" :key="item.code" >
  11 + </el-option>
  12 + </el-select>
  13 +
3 14
4 <taskCard :task="task" v-for="task in taskList" @sendToParent="showTask" /> 15 <taskCard :task="task" v-for="task in taskList" @sendToParent="showTask" />
5 16
@@ -246,6 +257,8 @@ @@ -246,6 +257,8 @@
246 queryParams: { 257 queryParams: {
247 pageNum: 1, 258 pageNum: 1,
248 pageSize: 10, 259 pageSize: 10,
  260 + role:null,
  261 + dept:null,
249 }, 262 },
250 // 表单参数 263 // 表单参数
251 form: { 264 form: {
@@ -281,12 +294,24 @@ @@ -281,12 +294,24 @@
281 conferenceOpen: false, 294 conferenceOpen: false,
282 idInfo:null, 295 idInfo:null,
283 leaveApplicationOpen:false, 296 leaveApplicationOpen:false,
284 - areas:{}, 297 + areas:[],
285 roles:[], 298 roles:[],
286 - depts:{}, 299 + depts:[],
287 }; 300 };
288 }, 301 },
289 created() { 302 created() {
  303 + let dep = {type:"CSUserDepartmentType"};
  304 +
  305 + getDict(dep).then(res=>{
  306 + this.depts = res.result;
  307 + });
  308 +
  309 + let role = {type:"CSUserPostType"};
  310 +
  311 + getDict(role).then(res=>{
  312 + this.roles = res.result;
  313 + });
  314 +
290 this.getList(); 315 this.getList();
291 }, 316 },
292 methods: { 317 methods: {
trash-workFlow/src/main/java/com/trash/workflow/service/IWorkflowService.java
@@ -3,6 +3,8 @@ package com.trash.workflow.service; @@ -3,6 +3,8 @@ package com.trash.workflow.service;
3 import java.util.List; 3 import java.util.List;
4 import java.util.Map; 4 import java.util.Map;
5 5
  6 +import org.activiti.api.process.model.ProcessInstance;
  7 +
6 import com.trash.activiti.domain.dto.HistoryDataDTO; 8 import com.trash.activiti.domain.dto.HistoryDataDTO;
7 import com.trash.business.domain.SupervisionThreestep; 9 import com.trash.business.domain.SupervisionThreestep;
8 import com.trash.workflow.domain.Workflow; 10 import com.trash.workflow.domain.Workflow;
@@ -77,7 +79,10 @@ public interface IWorkflowService @@ -77,7 +79,10 @@ public interface IWorkflowService
77 int createLeaveWorkFlow(Workflow workflow,int index); 79 int createLeaveWorkFlow(Workflow workflow,int index);
78 80
79 Workflow selectWorkflowByInstanceId(String instanceId); 81 Workflow selectWorkflowByInstanceId(String instanceId);
  82 +
80 int createThreeStepWorkFlow(SupervisionThreestep supervision); 83 int createThreeStepWorkFlow(SupervisionThreestep supervision);
81 84
82 public void deleteWorkflowByName(String string); 85 public void deleteWorkflowByName(String string);
  86 +
  87 + public void PorcThreeStepTask(String pId,String place);
83 } 88 }
trash-workFlow/src/main/java/com/trash/workflow/service/impl/WorkflowServiceImpl.java
@@ -22,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional; @@ -22,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional;
22 import com.alibaba.fastjson.JSONArray; 22 import com.alibaba.fastjson.JSONArray;
23 import com.alibaba.fastjson.JSONObject; 23 import com.alibaba.fastjson.JSONObject;
24 import com.trash.business.domain.SupervisionThreestep; 24 import com.trash.business.domain.SupervisionThreestep;
  25 +import com.trash.business.service.ISupervisionThreestepService;
25 import com.trash.common.utils.DateUtils; 26 import com.trash.common.utils.DateUtils;
26 import com.trash.common.utils.RemoteServerUtils; 27 import com.trash.common.utils.RemoteServerUtils;
27 import com.trash.common.utils.SecurityUtils; 28 import com.trash.common.utils.SecurityUtils;
@@ -60,9 +61,12 @@ public class WorkflowServiceImpl implements IWorkflowService { @@ -60,9 +61,12 @@ public class WorkflowServiceImpl implements IWorkflowService {
60 @Autowired 61 @Autowired
61 RuntimeService runTImeService; 62 RuntimeService runTImeService;
62 63
  64 + @Autowired
  65 + ISupervisionThreestepService server;
  66 +
63 @Override 67 @Override
64 @Transactional 68 @Transactional
65 - public int createWorkFlow(Map<String, Object> data) { 69 + public int createWorkFlow(Map<String, Object> data) { //第三方通用接收接口
66 70
67 String flowType = data.get("type").toString(); 71 String flowType = data.get("type").toString();
68 72
@@ -82,12 +86,6 @@ public class WorkflowServiceImpl implements IWorkflowService { @@ -82,12 +86,6 @@ public class WorkflowServiceImpl implements IWorkflowService {
82 processInstance = processRuntime.start(ProcessPayloadBuilder.start().withProcessDefinitionKey(flowType) 86 processInstance = processRuntime.start(ProcessPayloadBuilder.start().withProcessDefinitionKey(flowType)
83 .withName(title).withBusinessKey(businessKey).build()); 87 .withName(title).withBusinessKey(businessKey).build());
84 88
85 - // Task task =  
86 - // taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();  
87 - //  
88 - // task.setAssignee(SecurityUtils.getUsername());  
89 - //  
90 - // taskService.saveTask(task);  
91 89
92 Workflow workflow = new Workflow(); 90 Workflow workflow = new Workflow();
93 workflow.setId(businessKey); 91 workflow.setId(businessKey);
@@ -125,19 +123,18 @@ public class WorkflowServiceImpl implements IWorkflowService { @@ -125,19 +123,18 @@ public class WorkflowServiceImpl implements IWorkflowService {
125 .withBusinessKey("workflow_leave:"+workflow.getId()) 123 .withBusinessKey("workflow_leave:"+workflow.getId())
126 .withVariable("route",index) 124 .withVariable("route",index)
127 .build()); 125 .build());
  126 +
  127 +
  128 + Task task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();
  129 +
  130 + if(task != null){
  131 +
  132 + task.setDescription(SecurityUtils.getLoginUser().getUser().getRoleIds().get(0));
  133 + taskService.saveTask(task);
  134 + }
  135 +
128 136
129 -  
130 -  
131 -  
132 -// Workflow workflow = new Workflow();  
133 -// workflow.setId(businessKey);  
134 -// workflow.setTitle(title);  
135 -// workflow.setReason(reason);  
136 -// workflow.setStartTime(startTime);  
137 -// workflow.setEndTime(endTime);  
138 -// workflow.setType(siteType[Integer.parseInt(map.get("type").toString())]);  
139 workflow.setInstanceId(processInstance.getId()); 137 workflow.setInstanceId(processInstance.getId());
140 -// workflow.setState("0");  
141 138
142 return workflowMapper.insertWorkflow(workflow); 139 return workflowMapper.insertWorkflow(workflow);
143 } catch (Exception e) { 140 } catch (Exception e) {
@@ -152,7 +149,7 @@ public class WorkflowServiceImpl implements IWorkflowService { @@ -152,7 +149,7 @@ public class WorkflowServiceImpl implements IWorkflowService {
152 149
153 @Override 150 @Override
154 @Transactional 151 @Transactional
155 - public int createThreeStepWorkFlow(SupervisionThreestep supervision){ 152 + public int createThreeStepWorkFlow(SupervisionThreestep supervision){ //三查
156 ProcessInstance processInstance = null; 153 ProcessInstance processInstance = null;
157 try { 154 try {
158 processInstance = processRuntime.start(ProcessPayloadBuilder 155 processInstance = processRuntime.start(ProcessPayloadBuilder
@@ -162,66 +159,7 @@ public class WorkflowServiceImpl implements IWorkflowService { @@ -162,66 +159,7 @@ public class WorkflowServiceImpl implements IWorkflowService {
162 .withBusinessKey("workflow_threestep:" + supervision.getId()) 159 .withBusinessKey("workflow_threestep:" + supervision.getId())
163 .build()); 160 .build());
164 161
165 - JSONArray array = RemoteServerUtils.getAreas();  
166 -  
167 - Map map = new HashedMap<>();  
168 -  
169 - map.put("type", "CSUserDepartmentType");  
170 -  
171 - JSONArray array2 = RemoteServerUtils.getDict(map);  
172 -  
173 - String placeName = null;  
174 -  
175 - for(Object obj:array){  
176 - if(((JSONObject)(obj)).getString("code").equals(supervision.getPlace())){  
177 -  
178 - placeName = ((JSONObject)(obj)).getString("name");  
179 -  
180 - break;  
181 - }  
182 -  
183 - }  
184 -  
185 - if(placeName != null){  
186 -  
187 - String placeCode = null;  
188 - String code = null;  
189 -  
190 - for(Object obj:array2){  
191 - if(((JSONObject)obj).getString("name").equals("渣土办")){  
192 - code = ((JSONObject)(obj)).getString("code");  
193 - }  
194 - if(((JSONObject)obj).getString("name").replace("渣土办", "").equals(placeName)){  
195 - placeCode = ((JSONObject)(obj)).getString("code");  
196 -  
197 - if(code != null){  
198 - break;  
199 - }  
200 - }  
201 -  
202 - }  
203 -  
204 -  
205 -// List<Task> tasks = taskService.createTaskQuery().processInstanceId(processInstance.getId()).list();  
206 -  
207 - if(placeCode != null){  
208 - Task task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();  
209 -  
210 -  
211 - List<IdentityLink> list = taskService.getIdentityLinksForTask(task.getId());  
212 -  
213 - for(IdentityLink identityLink:list){  
214 -// if(identityLink.getGroupId() != null)  
215 -// taskService.deleteGroupIdentityLink(task.getId(), identityLink.getGroupId(), identityLink.getType());  
216 - if(identityLink.getUserId() != null)  
217 - taskService.deleteUserIdentityLink(task.getId(), identityLink.getUserId(), identityLink.getType());  
218 - }  
219 -  
220 - taskService.addCandidateUser(task.getId(), placeCode);  
221 -  
222 - taskService.saveTask(task);  
223 - }  
224 - } 162 + PorcThreeStepTask(processInstance,supervision.getPlace());
225 163
226 164
227 Workflow workflow = new Workflow(); 165 Workflow workflow = new Workflow();
@@ -242,6 +180,73 @@ public class WorkflowServiceImpl implements IWorkflowService { @@ -242,6 +180,73 @@ public class WorkflowServiceImpl implements IWorkflowService {
242 180
243 return 0; 181 return 0;
244 } 182 }
  183 +
  184 +
  185 +
  186 + public void PorcThreeStepTask(ProcessInstance processInstance,String place) {
  187 +
  188 + JSONArray array = RemoteServerUtils.getAreas();
  189 +
  190 + Map map = new HashedMap<>();
  191 +
  192 + map.put("type", "CSUserDepartmentType");
  193 +
  194 + JSONArray array2 = RemoteServerUtils.getDict(map);
  195 +
  196 + String placeName = null;
  197 +
  198 + for(Object obj:array){
  199 + if(((JSONObject)(obj)).getString("code").equals(place)){
  200 +
  201 + placeName = ((JSONObject)(obj)).getString("name");
  202 +
  203 + break;
  204 + }
  205 +
  206 + }
  207 +
  208 + if(placeName != null){
  209 +
  210 + String placeCode = null;
  211 + String code = null;
  212 +
  213 + for(Object obj:array2){
  214 + if(((JSONObject)obj).getString("name").equals("渣土办")){
  215 + code = ((JSONObject)(obj)).getString("code");
  216 + }
  217 + if(((JSONObject)obj).getString("name").replace("渣土办", "").equals(placeName)){
  218 + placeCode = ((JSONObject)(obj)).getString("code");
  219 +
  220 + if(code != null){
  221 + break;
  222 + }
  223 + }
  224 +
  225 + }
  226 +
  227 + if(placeCode != null){
  228 + Task task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();
  229 +
  230 +
  231 + List<IdentityLink> list = taskService.getIdentityLinksForTask(task.getId());
  232 +
  233 + for(IdentityLink identityLink:list){
  234 +// if(identityLink.getGroupId() != null)
  235 +// taskService.deleteGroupIdentityLink(task.getId(), identityLink.getGroupId(), identityLink.getType());
  236 + if(identityLink.getUserId() != null)
  237 + taskService.deleteUserIdentityLink(task.getId(), identityLink.getUserId(), identityLink.getType());
  238 + }
  239 +
  240 + taskService.addCandidateUser(task.getId(), placeCode);
  241 +
  242 + task.setDescription(placeCode);
  243 +
  244 + taskService.saveTask(task);
  245 + }
  246 + }
  247 +
  248 + }
  249 +
245 250
246 /** 251 /**
247 * 查询请假 252 * 查询请假
@@ -365,4 +370,11 @@ public class WorkflowServiceImpl implements IWorkflowService { @@ -365,4 +370,11 @@ public class WorkflowServiceImpl implements IWorkflowService {
365 370
366 return workflowMapper.selectWorkflowByInstanceId(instanceId); 371 return workflowMapper.selectWorkflowByInstanceId(instanceId);
367 } 372 }
  373 +
  374 +
  375 + @Override
  376 + public void PorcThreeStepTask(String pId, String place) {
  377 + // TODO Auto-generated method stub
  378 +
  379 + }
368 } 380 }