From 7401c378752acbb67b30d3fd3db6d6140976c398 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期日, 28 六月 2020 12:46:28 +0800
Subject: [PATCH] 优化代码
---
service-common/src/main/java/com/java110/common/smo/impl/WorkflowInnerServiceSMOImpl.java | 68 ++++++++++++++++++++++++----------
1 files changed, 48 insertions(+), 20 deletions(-)
diff --git a/service-common/src/main/java/com/java110/common/smo/impl/WorkflowInnerServiceSMOImpl.java b/service-common/src/main/java/com/java110/common/smo/impl/WorkflowInnerServiceSMOImpl.java
index 189ab31..b9c61ac 100644
--- a/service-common/src/main/java/com/java110/common/smo/impl/WorkflowInnerServiceSMOImpl.java
+++ b/service-common/src/main/java/com/java110/common/smo/impl/WorkflowInnerServiceSMOImpl.java
@@ -25,10 +25,8 @@
import org.activiti.engine.impl.RepositoryServiceImpl;
import org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity;
import org.activiti.engine.repository.Deployment;
-import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Comment;
import org.activiti.image.ProcessDiagramGenerator;
-import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -39,7 +37,7 @@
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
-import java.util.Collections;
+import java.util.Date;
import java.util.Iterator;
import java.util.List;
@@ -259,7 +257,6 @@
.getResourceAsStream(workflowDto.getProcessDefinitionKey(), resourceName);
-
try {
image = Base64Convert.ioToBase64(in);
} catch (IOException e) {
@@ -351,8 +348,8 @@
}
//鏈�鍚庝竴涓妭鐐� 骞惰缃戝叧-姹囪仛鍒扮粨鏉熻妭鐐�
//if (y == (workflowStepDtos.size() - 1)) {
- process.addFlowElement(createSequenceFlow("repulse" + y, "endEvent", "parallelGateway-join-endEvent", "${flag=='false'}"));
- // }
+ process.addFlowElement(createSequenceFlow("repulse" + y, "endEvent", "parallelGateway-join-endEvent", "${flag=='false'}"));
+ // }
} else {
//鏅�氭祦杞�
//绗竴涓妭鐐�
@@ -508,6 +505,7 @@
/**
* 鏌ヨ瀹℃牳鍘嗗彶
+ *
* @param workflowAuditInfoDto
* @return
*/
@@ -525,23 +523,36 @@
// 闇�瑕佽浆鎹㈡垚HistoricActivityInstance
HistoricActivityInstance activityInstance = (HistoricActivityInstance) iterator
.next();
- if (activityInstance.getEndTime() == null) {
- continue;
+// if (activityInstance.getEndTime() == null) {
+// continue;
+// }
+
+ tmpWorkflowAuditInfoDto = new WorkflowAuditInfoDto();
+ tmpWorkflowAuditInfoDto.setAuditName(activityInstance.getActivityName());
+ if (activityInstance.getEndTime() != null) {
+ tmpWorkflowAuditInfoDto.setAuditTime(DateUtil.getFormatTimeString(activityInstance.getEndTime(), DateUtil.DATE_FORMATE_STRING_A));
+ tmpWorkflowAuditInfoDto.setStateName("瀹屾垚");
+ tmpWorkflowAuditInfoDto.setState(WorkflowAuditInfoDto.STATE_FINISH);
+ } else {
+ tmpWorkflowAuditInfoDto.setStateName("姝e湪澶勭悊");
+ tmpWorkflowAuditInfoDto.setState(WorkflowAuditInfoDto.STATE_NO);
}
+ Long time = activityInstance.getDurationInMillis() == null ? new Date().getTime() - activityInstance.getStartTime().getTime()
+ : activityInstance.getDurationInMillis();
+ tmpWorkflowAuditInfoDto.setDuration(getCostTime(time));
+
//濡傛灉杩樻病缁撴潫鍒欎笉鏀鹃噷闈�
List<Comment> comments = taskService.getTaskComments(activityInstance.getTaskId());
- if (comments == null || comments.size() < 1) {
- continue;
+ String msg = "";
+ if (comments != null && comments.size() > 0) {
+ for (Comment comment : comments) {
+ msg += (comment.getFullMessage() + "/");
+ }
}
- for (Comment comment : comments) {
- tmpWorkflowAuditInfoDto = new WorkflowAuditInfoDto();
- tmpWorkflowAuditInfoDto.setAuditName(activityInstance.getActivityName());
- tmpWorkflowAuditInfoDto.setAuditTime(DateUtil.getFormatTimeString(activityInstance.getEndTime(), DateUtil.DATE_FORMATE_STRING_A));
- tmpWorkflowAuditInfoDto.setDuration(activityInstance.getDurationInMillis() + "");
- tmpWorkflowAuditInfoDto.setUserId(comment.getUserId());
- tmpWorkflowAuditInfoDto.setMessage(comment.getFullMessage());
- workflowAuditInfoDtos.add(tmpWorkflowAuditInfoDto);
- }
+ msg = msg.endsWith("/") ? msg.substring(0, msg.length() - 2) : msg;
+ tmpWorkflowAuditInfoDto.setUserId(activityInstance.getAssignee());
+ tmpWorkflowAuditInfoDto.setMessage(msg);
+ workflowAuditInfoDtos.add(tmpWorkflowAuditInfoDto);
}
return workflowAuditInfoDtos;
}
@@ -553,13 +564,15 @@
* @ReturnType:List
* @CreateDate:2014-6-25涓嬪崍5:03:13
* @UseFor :鍦� ACT_HI_ACTINST 琛ㄤ腑鎵惧埌瀵瑰簲娴佺▼瀹炰緥鐨剈serTask鑺傜偣 涓嶅寘鎷瑂tartEvent
+ * <p>
+ * .finished()
*/
private List<HistoricActivityInstance> getHisUserTaskActivityInstanceList(
String processInstanceId) {
List<HistoricActivityInstance> hisActivityInstanceList = ((HistoricActivityInstanceQuery) historyService
.createHistoricActivityInstanceQuery()
.processInstanceId(processInstanceId).activityType("userTask")
- .finished().orderByHistoricActivityInstanceEndTime().desc())
+ .orderByHistoricActivityInstanceStartTime().asc())
.list();
return hisActivityInstanceList;
}
@@ -579,4 +592,19 @@
public void setUserInnerServiceSMOImpl(IUserInnerServiceSMO userInnerServiceSMOImpl) {
this.userInnerServiceSMOImpl = userInnerServiceSMOImpl;
}
+
+ public String getCostTime(Long time) {
+ if (time == null) {
+ return "00:00";
+ }
+ long hours = time / (1000 * 60 * 60);
+ long minutes = (time - hours * (1000 * 60 * 60)) / (1000 * 60);
+ String diffTime = "";
+ if (minutes < 10) {
+ diffTime = hours + ":0" + minutes;
+ } else {
+ diffTime = hours + ":" + minutes;
+ }
+ return diffTime;
+ }
}
--
Gitblit v1.8.0