package org.jeecg.common.base.vo; import cn.hutool.core.util.StrUtil; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.activiti.engine.history.HistoricTaskInstance; import org.jeecg.common.base.entity.ActivitiConstant; import org.jeecg.common.base.entity.Assignee; import java.util.Date; import java.util.List; import java.util.Map; /** * @author pmc */ @Data public class HistoricTaskVo { private String id; private String name; private String key; private String description; private String executionId; private String assignee; private String owner; private String procDefId; private String procInstId; private String applyer; private String category; private Integer priority; private String deleteReason; private String comment; private Long duration; private Long workTime; @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") private Date startTime; @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") private Date endTime; @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") private Date dueTime; @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") private Date applyTime; private String processName; private String routeName; private String businessKey; private String tableId; private String tableName; private List assignees; private String title; private Integer status; private Integer result; private Map dataMap; public HistoricTaskVo(HistoricTaskInstance task){ this.id = task.getId(); this.name = task.getName(); this.key = task.getTaskDefinitionKey(); this.description = task.getDescription(); this.executionId = task.getExecutionId(); this.assignee = task.getAssignee(); this.owner = task.getOwner(); this.procDefId = task.getProcessDefinitionId(); this.procInstId = task.getProcessInstanceId(); this.priority = task.getPriority(); this.category = task.getCategory(); this.deleteReason = getMyDeleteReason(task.getDeleteReason()); this.duration = task.getDurationInMillis(); this.workTime = task.getWorkTimeInMillis(); this.createTime = task.getCreateTime(); this.startTime = task.getStartTime(); this.endTime = task.getEndTime(); this.dueTime = task.getDueDate(); } public String getMyDeleteReason(String deleteReason){ if(StrUtil.isBlank(deleteReason)){ return ""; } if(ActivitiConstant.PASSED_FLAG.equals(deleteReason)){ deleteReason = "审批通过"; }else if(ActivitiConstant.BACKED_FLAG.equals(deleteReason)){ deleteReason = "审批驳回"; }else if(deleteReason.contains(ActivitiConstant.DELETE_PRE)){ String reason = ""; if(ActivitiConstant.DELETE_PRE.equals(deleteReason)){ reason = "未填写"; }else if(deleteReason.length()>8){ reason = deleteReason.substring(8); } deleteReason = "删除撤回-原因"+reason; }else if(deleteReason.contains(ActivitiConstant.CANCEL_PRE)){ String reason = ""; if(ActivitiConstant.CANCEL_PRE.equals(deleteReason)){ reason = "未填写"; }else if(deleteReason.length()>9){ reason = deleteReason.substring(9); } deleteReason = "发起人撤回-原因"+reason; }else{ deleteReason="已删除-原因"+deleteReason; } return deleteReason; } }