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