diff --git a/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/work/V2GetWorkOrWorkCompleted.java b/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/work/V2GetWorkOrWorkCompleted.java index 929b18ecd57597f9d689261660baf7d1eea14dc0..a8a093a81cd5ae37424e4098b685486c1cf87184 100644 --- a/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/work/V2GetWorkOrWorkCompleted.java +++ b/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/work/V2GetWorkOrWorkCompleted.java @@ -11,6 +11,7 @@ import java.util.stream.Collectors; import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.BooleanUtils; +import org.apache.commons.lang3.StringUtils; import com.google.gson.JsonElement; import com.x.base.core.container.EntityManagerContainer; @@ -68,7 +69,7 @@ class V2GetWorkOrWorkCompleted extends BaseAction { CompletableFuture workJsonFuture = this.workJsonFuture(work, wo); CompletableFuture activityRouteFuture = this.activityRouteFuture(work, wo); CompletableFuture dataFuture = this.dataFuture(work, wo); - CompletableFuture taskFuture = this.taskFuture(effectivePerson, work.getJob(), wo); + CompletableFuture taskFuture = this.taskFuture(effectivePerson, work.getJob(), work.getId(), wo); CompletableFuture readFuture = this.readFuture(effectivePerson, work.getJob(), wo); CompletableFuture creatorIdentityFuture = this.creatorIdentityFuture(work.getCreatorIdentity(), wo); CompletableFuture creatorPersonFuture = this.creatorPersonFuture(work.getCreatorPerson(), wo); @@ -157,12 +158,12 @@ class V2GetWorkOrWorkCompleted extends BaseAction { }); } - private CompletableFuture taskFuture(EffectivePerson effectivePerson, String job, Wo wo) { + private CompletableFuture taskFuture(EffectivePerson effectivePerson, String job, String workId, Wo wo) { return CompletableFuture.runAsync(() -> { try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { wo.setTaskList(WoTask.copier.copy(emc.listEqual(Task.class, Task.job_FIELDNAME, job))); - wo.setCurrentTaskIndex( - ListUtils.indexOf(wo.getTaskList(), e -> effectivePerson.isPerson(e.getPerson()))); + wo.setCurrentTaskIndex(ListUtils.indexOf(wo.getTaskList(), + e -> effectivePerson.isPerson(e.getPerson()) && (StringUtils.equals(e.getWork(), workId)))); } catch (Exception e) { logger.error(e); }