Merge branch 'refs/heads/feature/REQ-2090' into 1.3.1-SNAPSHOT
This commit is contained in:
commit
921d0513ca
@ -1,5 +1,6 @@
|
|||||||
package cn.axzo.workflow.core.service.impl;
|
package cn.axzo.workflow.core.service.impl;
|
||||||
|
|
||||||
|
import cn.axzo.workflow.common.constant.BpmnConstants;
|
||||||
import cn.axzo.workflow.common.enums.BpmnFlowNodeMode;
|
import cn.axzo.workflow.common.enums.BpmnFlowNodeMode;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceAbortDTO;
|
import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceAbortDTO;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceAdminPageReqVO;
|
import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceAdminPageReqVO;
|
||||||
@ -11,6 +12,7 @@ import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceMyP
|
|||||||
import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceQueryDTO;
|
import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceQueryDTO;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.process.HistoricProcessInstanceSearchDTO;
|
import cn.axzo.workflow.common.model.request.bpmn.process.HistoricProcessInstanceSearchDTO;
|
||||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
|
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
|
||||||
|
import cn.axzo.workflow.common.model.request.category.CategorySearchDTO;
|
||||||
import cn.axzo.workflow.common.model.response.BpmPageResult;
|
import cn.axzo.workflow.common.model.response.BpmPageResult;
|
||||||
import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessDefinitionVO;
|
import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessDefinitionVO;
|
||||||
import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessInstanceAdminPageItemVO;
|
import cn.axzo.workflow.common.model.response.bpmn.process.BpmnProcessInstanceAdminPageItemVO;
|
||||||
@ -367,6 +369,13 @@ public class BpmnProcessInstanceServiceImpl implements BpmnProcessInstanceServic
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BpmPageResult<BpmnProcessInstanceAdminPageItemVO> getAdminProcessInstancePage(BpmnProcessInstanceAdminPageReqVO dto) {
|
public BpmPageResult<BpmnProcessInstanceAdminPageItemVO> getAdminProcessInstancePage(BpmnProcessInstanceAdminPageReqVO dto) {
|
||||||
|
List<String> dictValues = new ArrayList<>();
|
||||||
|
if (StringUtils.isNotBlank(dto.getCategory())) {
|
||||||
|
CategorySearchDTO searchDTO = new CategorySearchDTO();
|
||||||
|
searchDTO.setDictType(BpmnConstants.BPM_MODEL_CATEGORY);
|
||||||
|
searchDTO.setLabel(dto.getCategory());
|
||||||
|
dictValues.addAll(categoryService.list(searchDTO).stream().map(CategoryItemVO::getValue).distinct().collect(Collectors.toList()));
|
||||||
|
}
|
||||||
NativeHistoricProcessInstanceQuery query = historyService.createNativeHistoricProcessInstanceQuery();
|
NativeHistoricProcessInstanceQuery query = historyService.createNativeHistoricProcessInstanceQuery();
|
||||||
String tableName = managementService.getTableName(HistoricProcessInstance.class);
|
String tableName = managementService.getTableName(HistoricProcessInstance.class);
|
||||||
StringBuilder baseQuerySql = new StringBuilder("SELECT RES.*, ")
|
StringBuilder baseQuerySql = new StringBuilder("SELECT RES.*, ")
|
||||||
@ -385,10 +394,21 @@ public class BpmnProcessInstanceServiceImpl implements BpmnProcessInstanceServic
|
|||||||
baseQuerySql.append(" AND RES.NAME_ LIKE #{name}");
|
baseQuerySql.append(" AND RES.NAME_ LIKE #{name}");
|
||||||
query.parameter("name", "%" + dto.getName() + "%");
|
query.parameter("name", "%" + dto.getName() + "%");
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotBlank(dto.getCategory())) {
|
if (!CollectionUtils.isEmpty(dictValues)) {
|
||||||
baseQuerySql.append(" AND DEF.CATEGORY_ = #{category}");
|
baseQuerySql.append(" AND DEF.CATEGORY_ IN (");
|
||||||
query.parameter("category", dto.getCategory());
|
for (int i = 0; i < dictValues.size(); i++) {
|
||||||
|
baseQuerySql.append("#{category").append(i).append("}");
|
||||||
|
if (i < dictValues.size() - 1) {
|
||||||
|
baseQuerySql.append(",");
|
||||||
}
|
}
|
||||||
|
query.parameter("category" + i, dictValues.get(i));
|
||||||
|
}
|
||||||
|
baseQuerySql.append(")");
|
||||||
|
}
|
||||||
|
// if (StringUtils.isNotBlank(dto.getCategory())) {
|
||||||
|
// baseQuerySql.append(" AND DEF.CATEGORY_ = #{category}");
|
||||||
|
// query.parameter("category", dto.getCategory());
|
||||||
|
// }
|
||||||
if (!CollectionUtils.isEmpty(dto.getTenantIds())) {
|
if (!CollectionUtils.isEmpty(dto.getTenantIds())) {
|
||||||
baseQuerySql.append(" AND RES.TENANT_ID_ IN (");
|
baseQuerySql.append(" AND RES.TENANT_ID_ IN (");
|
||||||
for (int i = 0; i < dto.getTenantIds().size(); i++) {
|
for (int i = 0; i < dto.getTenantIds().size(); i++) {
|
||||||
@ -433,10 +453,8 @@ public class BpmnProcessInstanceServiceImpl implements BpmnProcessInstanceServic
|
|||||||
|
|
||||||
// 实例对应的当前运行到的节点
|
// 实例对应的当前运行到的节点
|
||||||
Map<String, ActivityInstance> liveActivityMap = getInstanceCurrentActivity(processingInstanceIds, false);
|
Map<String, ActivityInstance> liveActivityMap = getInstanceCurrentActivity(processingInstanceIds, false);
|
||||||
// Map<String, ActivityInstance> liveActivityMap = new HashMap<>();
|
|
||||||
// 实例对应的最后一个已经完成的节点
|
// 实例对应的最后一个已经完成的节点
|
||||||
Map<String, ActivityInstance> leastEndActivityMap = getInstanceLastActivity(processingInstanceIds);
|
Map<String, ActivityInstance> leastEndActivityMap = getInstanceLastActivity(processingInstanceIds);
|
||||||
// Map<String, ActivityInstance> leastEndActivityMap = new HashMap<>();
|
|
||||||
|
|
||||||
List<String> categories = instances.stream().map(HistoricProcessInstance::getProcessDefinitionKey)
|
List<String> categories = instances.stream().map(HistoricProcessInstance::getProcessDefinitionKey)
|
||||||
.distinct().collect(Collectors.toList());
|
.distinct().collect(Collectors.toList());
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user