in extension/storage/storage-mongodb/src/main/java/com/alibaba/smart/framework/engine/persister/mongo/service/MongoTaskInstanceStorage.java [109:148]
private Query buildQuery(TaskInstanceQueryParam taskInstanceQueryParam) {
Query query = new Query();
if(null != taskInstanceQueryParam.getProcessDefinitionType()){
query.addCriteria(Criteria.where(PROCESS_DEFINITION_TYPE).is(taskInstanceQueryParam.getProcessDefinitionType()));
}
if(null != taskInstanceQueryParam.getProcessInstanceIdList()){
query.addCriteria(Criteria.where(PROCESS_INSTANCE_ID).in(taskInstanceQueryParam.getProcessInstanceIdList()));
}
if(null != taskInstanceQueryParam.getProcessDefinitionActivityId()){
query.addCriteria(Criteria.where(PROCESS_DEFINITION_ACTIVITY_ID).is(taskInstanceQueryParam.getProcessDefinitionActivityId()));
}
if(null != taskInstanceQueryParam.getActivityInstanceId()){
query.addCriteria(Criteria.where(ACTIVITY_INSTANCE_ID).is(taskInstanceQueryParam.getActivityInstanceId()));
}
if(null != taskInstanceQueryParam.getStatus()){
query.addCriteria(Criteria.where(STATUS).is(taskInstanceQueryParam.getStatus()));
}
if(null != taskInstanceQueryParam.getClaimUserId()){
query.addCriteria(Criteria.where(CLAIM_USER_ID).is(taskInstanceQueryParam.getClaimUserId()));
}
if(null != taskInstanceQueryParam.getTag()){
query.addCriteria(Criteria.where(TAG).is(taskInstanceQueryParam.getTag()));
}
if(null != taskInstanceQueryParam.getPageOffset()){
Pageable pageableRequest = PageRequest.of(taskInstanceQueryParam.getPageOffset(),taskInstanceQueryParam.getPageSize());
query.with(pageableRequest);
}
query.with( Sort.by(Sort.Direction.ASC, GMT_CREATE));
return query;
}