Browse Source

增加流程评论

master
yxt_djz 2 years ago
parent
commit
64f1261ac4
  1. 4
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTask.java
  2. 2
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableMapper.java
  3. 4
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableService.java
  4. 4
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java
  5. 8
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/process/ProcessService.java
  6. 4
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/flowable/AppFlowableRecordAndCommentVo.java
  7. 4
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/flowable/AppFlowableRecordVo.java
  8. 13
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/flowable/ProcessCommentVo.java
  9. 17
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/app/AppService.java

4
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTask.java

@ -98,6 +98,10 @@ public class FlowTask extends BaseEntity implements Serializable {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS",timezone="GMT+8")
private Date finishTime;
@ApiModelProperty("流程完成时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS",timezone="GMT+8")
private String processEndTime;
@ApiModelProperty("环节的办理人信息")
private List<TaskUserInfo> taskUserInfos;
}

2
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableMapper.java

@ -13,4 +13,6 @@ import java.util.Map;
public interface FlowableMapper extends BaseMapper<Flowable> {
void insetFlowableTask(Map<String,Object> params);
FlowProcinst getFlowProcinstById(@Param("id") String id);
@Select("select * from act_hi_procinst where proc_inst_id_=#{id}")
Map<String, String> getProcessInstanceById(@Param("id") String procInsId);
}

4
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableService.java

@ -270,4 +270,8 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
public void deleteProcess(String procInsId) {
flowTaskService.deleteProcessNew(procInsId);
}
public Map<String, String> getProcessInstanceById(String procInsId) {
return baseMapper.getProcessInstanceById(procInsId);
}
}

4
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java

@ -302,6 +302,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
.processInstanceId(procInsId)
.orderByHistoricActivityInstanceStartTime()
.desc().list();
Map<String,String> processInstance=processService.getProcessInstanceById(procInsId);
List<FlowTask> hisFlowList = new ArrayList<>();
for (HistoricActivityInstance histIns : list) {
if (StringUtils.isNotBlank(histIns.getTaskId())) {
@ -313,6 +314,9 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
flowTask.setCreateTime(startTime);
Date endTime = histIns.getEndTime();
flowTask.setFinishTime(endTime);
//processInstance.get("END_TIME_") timestap类型不能转string
String end_time_ = processInstance.get("END_TIME_") == null ? "" : "end";
flowTask.setProcessEndTime(end_time_);
/*
flowTask.setCreateTime(histIns.getStartTime());
flowTask.setFinishTime(histIns.getEndTime());*/

8
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/process/ProcessService.java

@ -1,4 +1,5 @@
package com.yxt.anrui.flowable.biz.process;
import com.yxt.anrui.flowable.biz.flow.FlowableService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.flowable.bpmn.model.*;
@ -32,6 +33,9 @@ public class ProcessService {
@Autowired
ProcessEngineConfigurationImpl processEngineConfiguration;
@Autowired
FlowableService flowableService;
/**
* 1. 首先拿到BpmnModel所有流程定义信息都可以通过BpmnModel获取若流程尚未发起则用modelId查询最新部署的流程定义数据
* 若流程已经发起可以通过流程实例的processDefinitionId查询流程定义的历史数据
@ -152,4 +156,8 @@ public class ProcessService {
private boolean getElValue(String exp, Map<String, Object> variableMap){
return managementService.executeCommand(new ExpressionCmd(runtimeService, processEngineConfiguration, null, exp, variableMap));
}
public Map<String, String> getProcessInstanceById(String procInsId) {
return flowableService.getProcessInstanceById(procInsId);
}
}

4
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/flowable/AppFlowableRecordAndCommentVo.java

@ -27,7 +27,7 @@ public class AppFlowableRecordAndCommentVo implements Vo {
@JsonProperty("flowableRecordVo")
private AppFlowableRecordVo flowableRecordVo;
@ApiModelProperty("流程评论")
@JsonProperty("processcommentVo")
private ProcessCommentVo processcommentVo;
@JsonProperty("processCommentVo")
private ProcessCommentVo processCommentVo;
}

4
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/flowable/AppFlowableRecordVo.java

@ -37,6 +37,10 @@ public class AppFlowableRecordVo implements Vo {
@JsonFormat(pattern = "yyyy-MM-dd")
private Date finishTime;
@ApiModelProperty("流程结束时间")
@JsonProperty("processEndTime")
private String processEndTime;
@ApiModelProperty(value = "任务耗时")
private String duration;

13
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/flowable/ProcessCommentVo.java

@ -26,10 +26,13 @@
package com.yxt.anrui.terminal.api.app.flowable;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import jdk.nashorn.internal.ir.annotations.Ignore;
import lombok.Data;
import java.util.Date;
@ -51,9 +54,13 @@ import java.util.List;
@Data
@ApiModel(value = "process_comment 视图数据对象", description = "process_comment 视图数据对象")
public class ProcessCommentVo implements Vo {
@ApiModelProperty("评论时间")
private Date time; // 评论时间
@ApiModelProperty("标题")
private String title; // 标题
@ApiModelProperty("评论创建时间")
@JsonIgnore
private Date createTime; // 评论时间
@ApiModelProperty("评论页面显示时间")
private String time; // 评论时间
@ApiModelProperty("评论内容")
private String content; // 评论内容
@ApiModelProperty(value = "环节的办理人信息")

17
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/app/AppService.java

@ -2,6 +2,7 @@ package com.yxt.anrui.terminal.biz.app;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yxt.anrui.flowable.api.flowcomment.FlowComment;
import com.yxt.anrui.flowable.api.flowtask.FlowRecordVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
@ -13,6 +14,7 @@ import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@ -52,7 +54,12 @@ public class AppService {
vo.setStateValue(stateValue);
}
if (StringUtils.isNotBlank(type)) {
String processEndTime = vo.getProcessEndTime();
vo.setStateKey(type);
if(StringUtils.isNotBlank(processEndTime)){
vo.setStateKey("8");//流程已办结
}
}
}
}
@ -74,8 +81,10 @@ public class AppService {
commentList.getData().forEach(f->{
AppFlowableRecordAndCommentVo a=new AppFlowableRecordAndCommentVo();
a.setTime(f.getTime());
a.setProcesscommentVo(f);
Date time = f.getCreateTime();
a.setTime(time);
f.setTitle(f.getTaskUserInfo().getAssigneeName()+"添加了评论");
a.setProcessCommentVo(f);
a.setState(1+"");
list.add(a);
});
@ -91,6 +100,10 @@ public class AppService {
commentList.getData().forEach(f->{
ProcessCommentVo processCommentVo = new ProcessCommentVo();
BeanUtil.copyProperties(f,processCommentVo);
processCommentVo.setCreateTime(f.getTime());
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String format = sdf.format(f.getTime());
processCommentVo.setTime(format);
list.add(processCommentVo);
});
return rb.success().setData(list);

Loading…
Cancel
Save