feat(REQ-2752) - 统一实例名称的分词方式,调整时间类型字段的格式化
This commit is contained in:
parent
3318e09da2
commit
fe207a9481
@ -18,7 +18,7 @@ public class ProcessInstanceDocumentVO {
|
||||
/**
|
||||
* 流程实例 ID
|
||||
*/
|
||||
private String id;
|
||||
private String instanceId;
|
||||
|
||||
/**
|
||||
* 流程实例名称
|
||||
|
||||
@ -18,7 +18,7 @@ public class ProcessTaskDocumentVO {
|
||||
/**
|
||||
* 任务 ID
|
||||
*/
|
||||
private String id;
|
||||
private String taskId;
|
||||
|
||||
/**
|
||||
* 归属的流程实例 ID
|
||||
|
||||
@ -15,7 +15,6 @@ import org.dromara.easyes.annotation.rely.RefreshPolicy;
|
||||
import java.util.Date;
|
||||
|
||||
import static org.dromara.easyes.annotation.rely.Analyzer.IK_MAX_WORD;
|
||||
import static org.dromara.easyes.annotation.rely.Analyzer.IK_SMART;
|
||||
|
||||
/**
|
||||
* 流程实例文档模型
|
||||
@ -38,7 +37,7 @@ public class ProcessInstanceDocument {
|
||||
/**
|
||||
* 流程实例名称
|
||||
*/
|
||||
@IndexField(fieldType = FieldType.KEYWORD_TEXT, analyzer = IK_MAX_WORD, searchAnalyzer = IK_SMART)
|
||||
@IndexField(fieldType = FieldType.KEYWORD_TEXT, analyzer = IK_MAX_WORD, searchAnalyzer = IK_MAX_WORD)
|
||||
private String processInstanceName;
|
||||
|
||||
/**
|
||||
@ -60,12 +59,14 @@ public class ProcessInstanceDocument {
|
||||
/**
|
||||
* 流程实例的发起时间
|
||||
*/
|
||||
private Date startTime;
|
||||
@IndexField(dateFormat = "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis")
|
||||
private Date instanceStartTime;
|
||||
|
||||
/**
|
||||
* 流程实例的结束时间
|
||||
*/
|
||||
private Date endTime;
|
||||
@IndexField(dateFormat = "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis")
|
||||
private Date instanceEndTime;
|
||||
|
||||
/**
|
||||
* 流程实例的持续时间 ms
|
||||
@ -75,13 +76,14 @@ public class ProcessInstanceDocument {
|
||||
/**
|
||||
* 该流程中上次操作完成的时间, 如果是已完成的实例, 就清空该值
|
||||
*/
|
||||
@IndexField(dateFormat = "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis")
|
||||
private Date lastOperationTime;
|
||||
|
||||
/**
|
||||
* 租户 ID
|
||||
*/
|
||||
@IndexField(fieldType = FieldType.KEYWORD)
|
||||
private String tenantId;
|
||||
private String instanceTenantId;
|
||||
|
||||
/**
|
||||
* 流程实例业务状态
|
||||
|
||||
@ -46,13 +46,13 @@ public class ProcessTaskDocument {
|
||||
* 任务名称
|
||||
*/
|
||||
@IndexField(fieldType = FieldType.KEYWORD)
|
||||
private String name;
|
||||
private String taskName;
|
||||
|
||||
/**
|
||||
* 任务状态:审批中/通过/驳回/转交/加签...
|
||||
*/
|
||||
@IndexField(fieldType = FieldType.KEYWORD)
|
||||
private String status;
|
||||
private String taskStatus;
|
||||
|
||||
/**
|
||||
* 操作建议
|
||||
@ -67,12 +67,14 @@ public class ProcessTaskDocument {
|
||||
/**
|
||||
* 流程实例的发起时间
|
||||
*/
|
||||
private Date startTime;
|
||||
@IndexField(dateFormat = "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis")
|
||||
private Date taskStartTime;
|
||||
|
||||
/**
|
||||
* 流程实例的结束时间
|
||||
*/
|
||||
private Date endTime;
|
||||
@IndexField(dateFormat = "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis")
|
||||
private Date taskEndTime;
|
||||
|
||||
/**
|
||||
* 流程实例的持续时间 ms
|
||||
@ -83,7 +85,7 @@ public class ProcessTaskDocument {
|
||||
* 归属租户,与 processInstance#tenantId 一致
|
||||
*/
|
||||
@IndexField(fieldType = FieldType.KEYWORD)
|
||||
private String tenantId;
|
||||
private String taskTenantId;
|
||||
|
||||
/**
|
||||
* 审批人姓名
|
||||
|
||||
@ -59,10 +59,10 @@ public class AggregateProcessInstanceService {
|
||||
processInstanceDocument.setProcessInstanceName(hpi.getName());
|
||||
processInstanceDocument.setBusinessKey(hpi.getBusinessKey());
|
||||
processInstanceDocument.setProcessDefinitionId(hpi.getProcessDefinitionId());
|
||||
processInstanceDocument.setStartTime(hpi.getStartTime());
|
||||
processInstanceDocument.setEndTime(hpi.getEndTime());
|
||||
processInstanceDocument.setInstanceStartTime(hpi.getStartTime());
|
||||
processInstanceDocument.setInstanceEndTime(hpi.getEndTime());
|
||||
processInstanceDocument.setDurationInMillis(hpi.getDurationInMillis());
|
||||
processInstanceDocument.setTenantId(hpi.getTenantId());
|
||||
processInstanceDocument.setInstanceTenantId(hpi.getTenantId());
|
||||
processInstanceDocument.setBusinessStatus(hpi.getBusinessStatus());
|
||||
|
||||
Map<String, Object> variables = hpi.getProcessVariables();
|
||||
@ -97,11 +97,11 @@ public class AggregateProcessInstanceService {
|
||||
//更新实例上的最后操作时间
|
||||
if (Objects.equals(PROCESSING.getStatus(), hpi.getBusinessStatus())) {
|
||||
toEsProcessTaskDocuments.stream()
|
||||
.filter(i -> StringUtils.hasText(i.getStatus()) && !Objects.equals(i.getStatus(), PROCESSING.getStatus()))
|
||||
.filter(i-> Objects.nonNull(i.getEndTime()))
|
||||
.max(Comparator.comparing(ProcessTaskDocument::getEndTime))
|
||||
.filter(i -> StringUtils.hasText(i.getTaskStatus()) && !Objects.equals(i.getTaskStatus(), PROCESSING.getStatus()))
|
||||
.filter(i -> Objects.nonNull(i.getTaskEndTime()))
|
||||
.max(Comparator.comparing(ProcessTaskDocument::getTaskEndTime))
|
||||
.ifPresent(processTaskDocument -> {
|
||||
processInstanceDocument.setLastOperationTime(processTaskDocument.getEndTime());
|
||||
processInstanceDocument.setLastOperationTime(processTaskDocument.getTaskEndTime());
|
||||
esProcessInstanceService.update(ES_FIXED_ROUTING, processInstanceDocument);
|
||||
});
|
||||
} else {
|
||||
|
||||
@ -83,16 +83,16 @@ public class AggregateProcessTaskService {
|
||||
processTaskDocument.setProcessInstanceId(log.getProcessInstanceId());
|
||||
processTaskDocument.setProcessDefinitionId(hpi.getProcessDefinitionId());
|
||||
processTaskDocument.setTaskDefinitionKey(log.getActivityId());
|
||||
processTaskDocument.setName(log.getActivityName());
|
||||
processTaskDocument.setStatus(log.getStatus());
|
||||
processTaskDocument.setTaskName(log.getActivityName());
|
||||
processTaskDocument.setTaskStatus(log.getStatus());
|
||||
processTaskDocument.setAdvice(log.getAdvice());
|
||||
processTaskDocument.setOperationDesc(log.getOperationDesc());
|
||||
processTaskDocument.setStartTime(log.getStartTime());
|
||||
processTaskDocument.setEndTime(log.getEndTime());
|
||||
processTaskDocument.setTaskStartTime(log.getStartTime());
|
||||
processTaskDocument.setTaskEndTime(log.getEndTime());
|
||||
if (Objects.nonNull(log.getEndTime())) {
|
||||
processTaskDocument.setDuration(DateUtil.betweenMs(log.getEndTime(), log.getStartTime()));
|
||||
}
|
||||
processTaskDocument.setTenantId(log.getTenantId());
|
||||
processTaskDocument.setTaskTenantId(log.getTenantId());
|
||||
BpmnTaskDelegateAssigner assigner = CollectionUtils.isEmpty(log.getAssigneeFull()) ? null : log.getAssigneeFull().get(0);
|
||||
if(Objects.nonNull(assigner)) {
|
||||
processTaskDocument.setAssigneeName(assigner.getAssignerName());
|
||||
@ -158,8 +158,8 @@ public class AggregateProcessTaskService {
|
||||
processTaskDocument.setProcessInstanceId(task.getProcessInstanceId());
|
||||
processTaskDocument.setProcessDefinitionId(task.getProcessDefinitionId());
|
||||
processTaskDocument.setTaskDefinitionKey(task.getTaskDefinitionKey());
|
||||
processTaskDocument.setName(task.getName());
|
||||
processTaskDocument.setStatus(extTask.getStatus());
|
||||
processTaskDocument.setTaskName(task.getName());
|
||||
processTaskDocument.setTaskStatus(extTask.getStatus());
|
||||
// 处理 advice
|
||||
processTaskDocument.setAdvice(comments.stream().filter(i -> Objects.equals(i.getType(), COMMENT_TYPE_ADVICE))
|
||||
.findFirst().orElse(new CommentEntityImpl()).getFullMessage());
|
||||
@ -167,11 +167,11 @@ public class AggregateProcessTaskService {
|
||||
processTaskDocument.setOperationDesc(comments.stream().filter(i -> Objects.equals(COMMENT_TYPE_OPERATION_DESC, i.getType()))
|
||||
.max(Comparator.comparing(Comment::getTime))
|
||||
.orElse(new CommentEntityImpl()).getFullMessage());
|
||||
processTaskDocument.setStartTime(task.getCreateTime());
|
||||
processTaskDocument.setEndTime(task.getEndTime());
|
||||
processTaskDocument.setTaskStartTime(task.getCreateTime());
|
||||
processTaskDocument.setTaskEndTime(task.getEndTime());
|
||||
processTaskDocument.setDuration(task.getDurationInMillis());
|
||||
// esProcessTask.setLastUpdateTime(task);
|
||||
processTaskDocument.setTenantId(task.getTenantId());
|
||||
processTaskDocument.setTaskTenantId(task.getTenantId());
|
||||
BpmnTaskDelegateAssigner assigner = BpmnTaskDelegateAssigner.toObjectCompatible(variables.getOrDefault(INTERNAL_TASK_RELATION_ASSIGNEE_INFO + task.getId(), null));
|
||||
if(Objects.nonNull(assigner)) {
|
||||
processTaskDocument.setAssigneeName(assigner.getAssignerName());
|
||||
|
||||
@ -124,7 +124,7 @@ public class EsProcessInstanceServiceImpl implements EsProcessInstanceService {
|
||||
.like(StringUtils.hasText(dto.getProcessInstanceName()), FieldUtils.val(ProcessInstanceDocument::getProcessInstanceName), dto.getProcessInstanceName())
|
||||
.in(CollectionUtils.isEmpty(dto.getProcessInstanceIds()), FieldUtils.val(ProcessInstanceDocument::getInstanceId), dto.getProcessInstanceIds())
|
||||
// .routing(ES_FIXED_ROUTING)
|
||||
.orderByDesc(FieldUtils.val(ProcessInstanceDocument::getStartTime))
|
||||
.orderByDesc(FieldUtils.val(ProcessInstanceDocument::getInstanceStartTime))
|
||||
;
|
||||
EsPageInfo<ProcessInstanceDocument> pageInfo;
|
||||
try {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user