diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java index 24a6429d7..c4de2b5b6 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java @@ -35,6 +35,7 @@ import com.jero.modules.todoCenter.mapper.ProcessInfoEOMapper; import com.jero.modules.todoCenter.service.IProcessInfoDetailEOService; import com.jero.modules.todoCenter.service.IProcessInfoEOService; import com.jero.modules.todoCenter.vo.ProcessInfoVO; +import com.jero.modules.wkflow.enums.DesignComplianceNodeEnum; import com.jero.modules.wkflow.enums.FlowTypeEnum; import com.jero.modules.wkflow.feginClient.impl.WorkFlowFeignClientImpl; import org.apache.commons.collections4.CollectionUtils; @@ -464,6 +465,19 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl detailEOList = detailMap.getValue(); data.setAssignee(detailEOList.stream().map(ProcessInfoDetailEO::getUserId).collect(Collectors.joining(","))); userIdList.addAll(detailEOList.stream().map(ProcessInfoDetailEO::getUserId).collect(Collectors.toList())); + + // 如果上一操作人是空,则证明该流程当前处理人也是上一个操作人。 + if(StringUtils.isEmpty(data.getLastAssignee())){ + List collect = detailEOList.stream().filter(detailEO -> { + return ( + StringUtils.equals(detailEO.getTaskDefinitionKey(), DesignComplianceNodeEnum.THE_RESPONSIBLE_PERSON_HANDLES_THE_TASK.getKey()) + || StringUtils.equals(detailEO.getTaskDefinitionKey(), DesignComplianceNodeEnum.SPONSOR_REVIEW.getKey()) + ); + }).map(ProcessInfoDetailEO::getUserId).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(collect)){ + data.setLastAssignee(collect.get(0)); + } + } break; } }