diff --git a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskStepListApi.java b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskStepListApi.java index c1d235960d4543c71399a585389f850553a9d963..d73f97927c018417da3fa4fbf77b5d01bd012647 100644 --- a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskStepListApi.java +++ b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskStepListApi.java @@ -9,6 +9,7 @@ import neatlogic.framework.exception.type.PermissionDeniedException; import neatlogic.framework.process.auth.PROCESS_BASE; import neatlogic.framework.process.constvalue.ProcessStepType; import neatlogic.framework.process.constvalue.ProcessTaskOperationType; +import neatlogic.framework.process.constvalue.ProcessTaskStepStatus; import neatlogic.framework.process.dto.*; import neatlogic.framework.process.exception.operationauth.ProcessTaskPermissionDeniedException; import neatlogic.framework.process.exception.process.ProcessStepHandlerNotFoundException; @@ -115,6 +116,16 @@ public class ProcessTaskStepListApi extends PrivateApiComponentBase { } } } + for (ProcessTaskStepVo processTaskStepVo : resultList) { + processTaskStepVo.setIsInTheCurrentStepTab(0); + if (Objects.equals(processTaskStepVo.getIsActive(), 1)) { + if (Objects.equals(processTaskStepVo.getStatus(), ProcessTaskStepStatus.PENDING.getValue()) + || Objects.equals(processTaskStepVo.getStatus(), ProcessTaskStepStatus.RUNNING.getValue()) + || Objects.equals(processTaskStepVo.getStatus(), ProcessTaskStepStatus.HANG.getValue())) { + processTaskStepVo.setIsInTheCurrentStepTab(1); + } + } + } resultList.sort(Comparator.comparing(ProcessTaskStepVo::getActiveTime)); return resultList; } diff --git a/src/main/java/neatlogic/module/process/service/ProcessTaskServiceImpl.java b/src/main/java/neatlogic/module/process/service/ProcessTaskServiceImpl.java index 36372385f4b76a53b7d8c362b707b1109599f15f..f6d23c419f73612492bab43537c207e868dc4868 100644 --- a/src/main/java/neatlogic/module/process/service/ProcessTaskServiceImpl.java +++ b/src/main/java/neatlogic/module/process/service/ProcessTaskServiceImpl.java @@ -2591,6 +2591,7 @@ public class ProcessTaskServiceImpl implements ProcessTaskService, IProcessTaskC } else { jsonObj.put("owner", null); } + // 为了兼容第三方上报接口认证,当owner与当前登录用户不一致时,无须校验reporter必填 String reporter = jsonObj.getString("reporter"); if (StringUtils.isNotBlank(reporter)) { if (reporter.contains("#")) { diff --git a/src/main/java/neatlogic/module/process/workcenter/column/handler/ProcessTaskExpiredTimeColumn.java b/src/main/java/neatlogic/module/process/workcenter/column/handler/ProcessTaskExpiredTimeColumn.java index 1b8be0485dbd152739ddb61852b371196d333560..08e59586eba0aed130dcb4603a22a37c904d1353 100644 --- a/src/main/java/neatlogic/module/process/workcenter/column/handler/ProcessTaskExpiredTimeColumn.java +++ b/src/main/java/neatlogic/module/process/workcenter/column/handler/ProcessTaskExpiredTimeColumn.java @@ -93,13 +93,13 @@ public class ProcessTaskExpiredTimeColumn extends ProcessTaskColumnBase implemen public Object getValue(ProcessTaskVo processTaskVo) { List processTaskSlaList = processTaskVo.getProcessTaskSlaVoList(); JSONArray resultArray = new JSONArray(); - if (ProcessTaskStatus.RUNNING.getValue().equals(processTaskVo.getStatus()) && CollectionUtils.isNotEmpty(processTaskSlaList)) { + if ((ProcessTaskStatus.RUNNING.getValue().equals(processTaskVo.getStatus()) || ProcessTaskStatus.HANG.getValue().equals(processTaskVo.getStatus())) && CollectionUtils.isNotEmpty(processTaskSlaList)) { // String displayModeAfterTimeout = ConfigManager.getConfig(ItsmTenantConfig.DISPLAY_MODE_AFTER_TIMEOUT); String slaTimeDisplayMode = ConfigManager.getConfig(ItsmTenantConfig.SLA_TIME_DISPLAY_MODE); long currentTimeMillis = System.currentTimeMillis(); for (ProcessTaskSlaVo slaVo : processTaskSlaList) { //判断需要 同时满足 该步骤是进行中状态,以及包含sla策略 - if (processTaskVo.getStepList().stream().noneMatch(o -> (Objects.equals(o.getStatus(), ProcessTaskStepStatus.RUNNING.getValue()) || (Objects.equals(o.getStatus(), ProcessTaskStepStatus.PENDING.getValue()) && o.getIsActive() == 1)) + if (processTaskVo.getStepList().stream().noneMatch(o -> (Objects.equals(o.getStatus(), ProcessTaskStepStatus.RUNNING.getValue()) || (Objects.equals(o.getStatus(), ProcessTaskStepStatus.PENDING.getValue()) && o.getIsActive() == 1) || (Objects.equals(o.getStatus(), ProcessTaskStepStatus.HANG.getValue()) && o.getIsActive() == 1)) && CollectionUtils.isNotEmpty(o.getSlaTimeList()) && o.getSlaTimeList().stream().anyMatch(c -> Objects.equals(c.getSlaId(), slaVo.getId())))) { continue; @@ -133,6 +133,7 @@ public class ProcessTaskExpiredTimeColumn extends ProcessTaskColumnBase implemen tmpJson.put("realExpireTime", realExpireTimeLong); } tmpJson.put("slaName", slaVo.getName()); + tmpJson.put("status", status); //获取即将超时规则,默认分钟(从超时通知策略获取) JSONObject configJson = slaVo.getConfigObj(); if (configJson.containsKey("notifyPolicyList") && CollectionUtils.isNotEmpty(configJson.getJSONArray("notifyPolicyList"))) {