Commit 39dd8186 by 赵剑炜

为每个流程过程增加说明字段

parent 0d1e056d
...@@ -18,4 +18,8 @@ public interface CommonConstants { ...@@ -18,4 +18,8 @@ public interface CommonConstants {
String BUSINESS_STATUS_2="撤销";//撤销 String BUSINESS_STATUS_2="撤销";//撤销
String BUSINESS_STATUS_3="驳回";//驳回 String BUSINESS_STATUS_3="驳回";//驳回
String BUSINESS_STATUS_4="已结束";//已结束 String BUSINESS_STATUS_4="已结束";//已结束
String TASK_STATUS_1="已同意";//已同意
String TASK_STATUS_2="已拒绝";//已拒绝
String TASK_STATUS_3="已撤销";//已撤销
} }
...@@ -58,7 +58,7 @@ public interface IFlowTaskService { ...@@ -58,7 +58,7 @@ public interface IFlowTaskService {
PageResult<HistoryProcessInstanceVO> applyList(ApplyDTO applyDTO); PageResult<HistoryProcessInstanceVO> applyList(ApplyDTO applyDTO);
/** /**
* 通过流程定义id启动流程 * 查询流程历史记录
* *
* @return * @return
*/ */
......
...@@ -31,6 +31,7 @@ import org.apache.commons.lang3.StringUtils; ...@@ -31,6 +31,7 @@ import org.apache.commons.lang3.StringUtils;
import org.flowable.bpmn.model.BpmnModel; import org.flowable.bpmn.model.BpmnModel;
import org.flowable.bpmn.model.FlowElement; import org.flowable.bpmn.model.FlowElement;
import org.flowable.common.engine.impl.identity.Authentication; import org.flowable.common.engine.impl.identity.Authentication;
import org.flowable.engine.TaskService;
import org.flowable.engine.history.HistoricActivityInstance; import org.flowable.engine.history.HistoricActivityInstance;
import org.flowable.engine.history.HistoricProcessInstance; import org.flowable.engine.history.HistoricProcessInstance;
import org.flowable.engine.runtime.ActivityInstance; import org.flowable.engine.runtime.ActivityInstance;
...@@ -40,6 +41,7 @@ import org.flowable.engine.task.Comment; ...@@ -40,6 +41,7 @@ import org.flowable.engine.task.Comment;
import org.flowable.task.api.DelegationState; import org.flowable.task.api.DelegationState;
import org.flowable.task.api.Task; import org.flowable.task.api.Task;
import org.flowable.task.api.history.HistoricTaskInstance; import org.flowable.task.api.history.HistoricTaskInstance;
import org.flowable.variable.api.history.HistoricVariableInstance;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
...@@ -77,6 +79,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -77,6 +79,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
if (task!=null)//task为空则说明当前任务可能已结束 if (task!=null)//task为空则说明当前任务可能已结束
{ {
taskService.setVariableLocal(taskId,"taskStatusWrapper", TASK_STATUS_1);
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
if (formData != null && formData.size() > 0) { if (formData != null && formData.size() > 0) {
Map formValue = JSONObject.parseObject(formData.toJSONString(), new TypeReference<Map>() { Map formValue = JSONObject.parseObject(formData.toJSONString(), new TypeReference<Map>() {
...@@ -142,6 +146,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -142,6 +146,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
JSONObject formData = handleDataDTO.getFormData(); JSONObject formData = handleDataDTO.getFormData();
String taskId = handleDataDTO.getTaskId(); String taskId = handleDataDTO.getTaskId();
Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
if (formData != null && formData.size() > 0) { if (formData != null && formData.size() > 0) {
Map formValue = JSONObject.parseObject(formData.toJSONString(), new TypeReference<Map>() { Map formValue = JSONObject.parseObject(formData.toJSONString(), new TypeReference<Map>() {
...@@ -150,6 +155,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -150,6 +155,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
map.put(FORM_VAR, formData); map.put(FORM_VAR, formData);
} }
map.put(PROCESS_STATUS, BUSINESS_STATUS_3); map.put(PROCESS_STATUS, BUSINESS_STATUS_3);
taskService.setVariableLocal(taskId,"taskStatusWrapper", TASK_STATUS_2);//设置节点中的当前操作
runtimeService.setVariables(task.getProcessInstanceId(), map); runtimeService.setVariables(task.getProcessInstanceId(), map);
if (StringUtils.isNotBlank(comments)) { if (StringUtils.isNotBlank(comments)) {
taskService.addComment(task.getId(), task.getProcessInstanceId(), "opinion", comments); taskService.addComment(task.getId(), task.getProcessInstanceId(), "opinion", comments);
...@@ -194,6 +200,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -194,6 +200,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
map.put(FORM_VAR,formData); map.put(FORM_VAR,formData);
} }
map.put(PROCESS_STATUS,BUSINESS_STATUS_2); map.put(PROCESS_STATUS,BUSINESS_STATUS_2);
taskService.setVariableLocal(taskId,"taskStatusWrapper", TASK_STATUS_3);//设置节点中的当前操作
runtimeService.setVariables(task.getProcessInstanceId(),map); runtimeService.setVariables(task.getProcessInstanceId(),map);
if(StringUtils.isNotBlank(comments)){ if(StringUtils.isNotBlank(comments)){
taskService.addComment(task.getId(),task.getProcessInstanceId(),"opinion",comments); taskService.addComment(task.getId(),task.getProcessInstanceId(),"opinion",comments);
...@@ -404,6 +411,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -404,6 +411,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
Map<String, List<Attachment>> attachmentMap = processInstanceAttachments.stream() Map<String, List<Attachment>> attachmentMap = processInstanceAttachments.stream()
.collect(Collectors.groupingBy(Attachment::getTaskId)); .collect(Collectors.groupingBy(Attachment::getTaskId));
List<HistoricActivityInstance> list = historyService.createHistoricActivityInstanceQuery().processInstanceId(processInstanceId).orderByHistoricActivityInstanceStartTime().asc().list(); List<HistoricActivityInstance> list = historyService.createHistoricActivityInstanceQuery().processInstanceId(processInstanceId).orderByHistoricActivityInstanceStartTime().asc().list();
List<TaskDetailVO> taskDetailVOS= new ArrayList<>(); List<TaskDetailVO> taskDetailVOS= new ArrayList<>();
for (HistoricActivityInstance historicActivityInstance : list) { for (HistoricActivityInstance historicActivityInstance : list) {
if("startEvent".equals(historicActivityInstance.getActivityType())){ if("startEvent".equals(historicActivityInstance.getActivityType())){
...@@ -411,6 +420,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -411,6 +420,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
taskDetailVO.setTaskId(historicActivityInstance.getTaskId()); taskDetailVO.setTaskId(historicActivityInstance.getTaskId());
taskDetailVO.setActivityId(historicActivityInstance.getActivityId()); taskDetailVO.setActivityId(historicActivityInstance.getActivityId());
taskDetailVO.setName("流程开始"); taskDetailVO.setName("流程开始");
taskDetailVO.setTaskStatusWrapper("发起");
taskDetailVO.setCreateTime(historicActivityInstance.getStartTime()); taskDetailVO.setCreateTime(historicActivityInstance.getStartTime());
taskDetailVO.setEndTime(historicActivityInstance.getEndTime()); taskDetailVO.setEndTime(historicActivityInstance.getEndTime());
// List<Comment> comments = commentsMap.get(historicActivityInstance.getTaskId()); // List<Comment> comments = commentsMap.get(historicActivityInstance.getTaskId());
...@@ -435,6 +445,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -435,6 +445,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
taskDetailVO.setTaskId(historicActivityInstance.getTaskId()); taskDetailVO.setTaskId(historicActivityInstance.getTaskId());
taskDetailVO.setActivityId(historicActivityInstance.getActivityId()); taskDetailVO.setActivityId(historicActivityInstance.getActivityId());
taskDetailVO.setName("流程结束"); taskDetailVO.setName("流程结束");
taskDetailVO.setTaskStatusWrapper("结束");
taskDetailVO.setCreateTime(historicActivityInstance.getStartTime()); taskDetailVO.setCreateTime(historicActivityInstance.getStartTime());
taskDetailVO.setEndTime(historicActivityInstance.getEndTime()); taskDetailVO.setEndTime(historicActivityInstance.getEndTime());
// List<Comment> comments = commentsMap.get(historicActivityInstance.getTaskId()); // List<Comment> comments = commentsMap.get(historicActivityInstance.getTaskId());
...@@ -444,11 +455,19 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -444,11 +455,19 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
} }
else if("userTask".equals(historicActivityInstance.getActivityType())){ else if("userTask".equals(historicActivityInstance.getActivityType())){
List<Comment> comments = commentsMap.get(historicActivityInstance.getTaskId()); List<Comment> comments = commentsMap.get(historicActivityInstance.getTaskId());
if(CollUtil.isNotEmpty(comments)){ if(CollUtil.isNotEmpty(comments)){
for (Comment comment : comments) { for (Comment comment : comments) {
if("opinion".equals(comment.getType())){ if("opinion".equals(comment.getType())){
TaskDetailVO taskDetailVO= new TaskDetailVO(); TaskDetailVO taskDetailVO= new TaskDetailVO();
taskDetailVO.setTaskId(historicActivityInstance.getTaskId()); taskDetailVO.setTaskId(historicActivityInstance.getTaskId());
List<HistoricVariableInstance> taskStatusWrapper = historyService.createHistoricVariableInstanceQuery().taskId(historicActivityInstance.getTaskId()).list();
if (taskStatusWrapper.size()>0)
{
taskDetailVO.setTaskStatusWrapper(taskStatusWrapper.get(0).getValue().toString());
}
// taskDetailVO.setTaskStatusWrapper(historicActivityInstance.getVariable("taskStatusWrapper"));
if (historicActivityInstance.getAssignee()!=null) if (historicActivityInstance.getAssignee()!=null)
{ {
SysUser user= sysUserService.getById(historicActivityInstance.getAssignee()); SysUser user= sysUserService.getById(historicActivityInstance.getAssignee());
......
...@@ -15,6 +15,7 @@ public class TaskDetailVO { ...@@ -15,6 +15,7 @@ public class TaskDetailVO {
private String taskId; private String taskId;
private String activityId; private String activityId;
private String name; private String name;
private String taskStatusWrapper;
private Date createTime; private Date createTime;
private Date endTime; private Date endTime;
private String signImage; private String signImage;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论