diff --git a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/enums/VisaStatusEnum.java b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/enums/VisaStatusEnum.java index fefa3774..4cee0a85 100644 --- a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/enums/VisaStatusEnum.java +++ b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/enums/VisaStatusEnum.java @@ -26,8 +26,8 @@ public enum VisaStatusEnum { APPROVING("approving","审批中", VisaLogTypeEnum.TO_APPRROVE), COMPLETED("completed","已完成",VisaLogTypeEnum.APPROVE_COMPLETED), FORBIDED("forbided","已废除",VisaLogTypeEnum.FORBIDED), - REPORT_FROM_APPROVE("report_from_approve","审批到待提报", null), - DECIDING_FROM_APPROVE("deciding_from_approve","审批到决策中", null), + REPORT_FROM_APPROVE("report_from_approve","审批不通过到待提报", null), + DECIDING_FROM_APPROVE("deciding_from_approve","审批不通过到决策中", null), ; /** @@ -35,6 +35,11 @@ public enum VisaStatusEnum { */ private static Set editFormStatus = Sets.newHashSet(DECIDING, EXECUTING, DECIDING_FROM_APPROVE); + /** + * 无效状态集合,审批不通过到待提报/已废除 + */ + private static Set detailPageInvalidStatus = Sets.newHashSet(REPORT_FROM_APPROVE, FORBIDED); + private final String code; private final String desc; private final VisaLogTypeEnum logType; @@ -56,5 +61,12 @@ public enum VisaStatusEnum { return Arrays.asList(VisaStatusEnum.values()); } + /** + * 无效状态集合,审批不通过到待提报/已废除 + */ + public static Set detailPageInvalidStatus() { + return detailPageInvalidStatus; + } + } diff --git a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/response/VisaDetailByIdResponse.java b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/response/VisaDetailByIdResponse.java index d20eafaa..53820231 100644 --- a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/response/VisaDetailByIdResponse.java +++ b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/response/VisaDetailByIdResponse.java @@ -186,6 +186,11 @@ public class VisaDetailByIdResponse { */ private List relationVisaList; + /** + * 关联无效的变更单 + */ + private List relationInvalidVisaList; + /** * 状态 */ diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java index 3fd6eb03..0f52d356 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java @@ -103,6 +103,7 @@ import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.Pair; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; @@ -426,6 +427,7 @@ public class ChangeRecordServiceImpl extends ServiceImpl detailPageInvalidVisaIdList(List visaIdList) { + + if (CollectionUtils.isEmpty(visaIdList)) { + return Collections.emptyList(); + } + + VisaChangePageSearchReq req = new VisaChangePageSearchReq(); + req.setVisaIds(visaIdList.stream().map(item -> Long.valueOf(item)).collect(Collectors.toList())); + req.setStatuses(Lists.newArrayList(VisaStatusEnum.detailPageInvalidStatus())); + + List changeRecords = this.getFilter(req).list(); + if (CollectionUtils.isEmpty(changeRecords)) { + return Collections.emptyList(); + } + return changeRecords.stream().map(item -> item.getId().toString()).collect(Collectors.toList()); + } + /** * 构建变更金额 */ @@ -684,9 +706,8 @@ public class ChangeRecordServiceImpl extends ServiceImpl