From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
jnpf-dms/jnpf-dms-biz/src/main/java/jnpf/dmsService/support/DmsWenjianBianhaoFlowStateResolver.java | 64 ++++++++++++++++++++++++++++++++
1 files changed, 64 insertions(+), 0 deletions(-)
diff --git a/jnpf-dms/jnpf-dms-biz/src/main/java/jnpf/dmsService/support/DmsWenjianBianhaoFlowStateResolver.java b/jnpf-dms/jnpf-dms-biz/src/main/java/jnpf/dmsService/support/DmsWenjianBianhaoFlowStateResolver.java
new file mode 100644
index 0000000..b92e7c9
--- /dev/null
+++ b/jnpf-dms/jnpf-dms-biz/src/main/java/jnpf/dmsService/support/DmsWenjianBianhaoFlowStateResolver.java
@@ -0,0 +1,64 @@
+package jnpf.dmsService.support;
+
+import java.util.Optional;
+
+/**
+ * Converts the persisted JNPF flow state into an idempotent number action.
+ */
+public final class DmsWenjianBianhaoFlowStateResolver {
+
+ public static final int TO_BE_SUBMIT = 0;
+ public static final int RUNNING = 1;
+ public static final int PASSED = 2;
+ public static final int REJECTED = 3;
+ public static final int CANCELLED = 4;
+ public static final int PAUSED = 5;
+ public static final int REVOKING = 6;
+ public static final int REVOKED = 7;
+ public static final int BACKED = 8;
+ public static final int RECALLED = 9;
+ public static final int EXCEPTION = 10;
+
+ private DmsWenjianBianhaoFlowStateResolver() {
+ }
+
+ public static Optional<Action> resolve(Integer flowState) {
+ if (flowState == null) {
+ return Optional.empty();
+ }
+ switch (flowState) {
+ case TO_BE_SUBMIT:
+ case RECALLED:
+ return Optional.of(Action.RESTORE_DRAFT);
+ case RUNNING:
+ return Optional.of(Action.FREEZE_SNAPSHOT);
+ case PASSED:
+ return Optional.of(Action.ISSUE_NUMBER);
+ case REJECTED:
+ return Optional.of(Action.REJECT);
+ case CANCELLED:
+ return Optional.of(Action.CANCEL);
+ case PAUSED:
+ case REVOKING:
+ case BACKED:
+ return Optional.of(Action.HOLD);
+ case REVOKED:
+ return Optional.of(Action.REVOKE);
+ case EXCEPTION:
+ return Optional.of(Action.ERROR);
+ default:
+ return Optional.empty();
+ }
+ }
+
+ public enum Action {
+ RESTORE_DRAFT,
+ FREEZE_SNAPSHOT,
+ ISSUE_NUMBER,
+ REJECT,
+ CANCEL,
+ HOLD,
+ REVOKE,
+ ERROR
+ }
+}
--
Gitblit v1.8.0