Commit 39dd8186 by 赵剑炜

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

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