From 26aeee80ab53bb23c46667d4eef54b52f2194a55 Mon Sep 17 00:00:00 2001
From: wxj334 <2241669945@qq.com>
Date: Tue, 13 Dec 2022 09:07:21 +0800
Subject: [PATCH] 1

---
 .../projectplan/api/IBaseInfoController.java  |  8 ++++
 .../projectplan/dto/baseconfig/StateOut.java  | 23 ++++++++++
 .../domain/aggregate/common/AuditEnum.java    | 15 +++++++
 .../domain/aggregate/common/ExtendEnum.java   | 12 +++++
 .../aggregate/common/InComePlanEnum.java      | 15 +++++++
 .../aggregate/common/PlanBookTypeEnum.java    | 15 +++++++
 .../domain/aggregate/common/PlanTypeEnum.java | 15 +++++++
 .../aggregate/common/PredialSettingsEnum.java | 15 +++++++
 .../aggregate/common/ProjectPlanTypeEnum.java | 12 +++++
 .../aggregate/common/PurchaseTypeEnum.java    | 12 +++++
 .../domain/aggregate/common/StudentEnum.java  | 15 +++++++
 .../domain/aggregate/common/flowTypeEnum.java | 15 +++++++
 .../controller/BaseInfoController.java        | 44 +++++++++++++++++++
 13 files changed, 216 insertions(+)
 create mode 100644 ServiceSite/facade/src/main/java/com/seasky/projectplan/dto/baseconfig/StateOut.java

diff --git a/ServiceSite/facade/src/main/java/com/seasky/projectplan/api/IBaseInfoController.java b/ServiceSite/facade/src/main/java/com/seasky/projectplan/api/IBaseInfoController.java
index b059fde4a..88dcb3200 100644
--- a/ServiceSite/facade/src/main/java/com/seasky/projectplan/api/IBaseInfoController.java
+++ b/ServiceSite/facade/src/main/java/com/seasky/projectplan/api/IBaseInfoController.java
@@ -44,4 +44,12 @@ public interface IBaseInfoController {
     @PostMapping(path = "/loginOut")
     LoginOut loginOut();
 
+    /**
+     * 鏌ヨ鐘舵€�
+     *
+     * @return {@link Result}<{@link StateOut}>
+     */
+    @PostMapping(path = "/queryStateOut")
+    Result<StateOut> queryStateOut(String programName);
+
 }
diff --git a/ServiceSite/facade/src/main/java/com/seasky/projectplan/dto/baseconfig/StateOut.java b/ServiceSite/facade/src/main/java/com/seasky/projectplan/dto/baseconfig/StateOut.java
new file mode 100644
index 000000000..a37b011e3
--- /dev/null
+++ b/ServiceSite/facade/src/main/java/com/seasky/projectplan/dto/baseconfig/StateOut.java
@@ -0,0 +1,23 @@
+package com.seasky.projectplan.dto.baseconfig;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @author wangxingjun
+ * @since 2022/12/12 13:24
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@JsonInclude(JsonInclude.Include.ALWAYS)
+public class StateOut implements Serializable {
+    private String key;
+    private String value;
+}
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/AuditEnum.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/AuditEnum.java
index b5ba2e738..4ba1c5fc2 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/AuditEnum.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/AuditEnum.java
@@ -1,5 +1,10 @@
 package com.seasky.projectplan.domain.aggregate.common;
 
+import com.seasky.projectplan.dto.baseconfig.StateOut;
+
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  *  椤圭洰搴� 娴佺▼鐘舵€�
  *
@@ -54,5 +59,15 @@ public enum AuditEnum {
         }
         return null;
     }
+    public static List<StateOut> auditEnum() {
+        List<StateOut> list = new ArrayList<>();
+        for (AuditEnum flowStateEnum : AuditEnum.values()) {
+            StateOut stateOut = new StateOut();
+            stateOut.setKey(flowStateEnum.key());
+            stateOut.setValue(flowStateEnum.key());
+            list.add(stateOut);
+        }
+        return list;
+    }
 
 }
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/ExtendEnum.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/ExtendEnum.java
index 21724b68b..d6830bdc4 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/ExtendEnum.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/ExtendEnum.java
@@ -1,5 +1,7 @@
 package com.seasky.projectplan.domain.aggregate.common;
 
+import com.seasky.projectplan.dto.baseconfig.StateOut;
+
 import java.util.ArrayList;
 import java.util.List;
 
@@ -56,4 +58,14 @@ public enum ExtendEnum {
         }
         return keyList;
     }
+    public static List<StateOut> extendEnum() {
+        List<StateOut> list = new ArrayList<>();
+        for (ExtendEnum flowStateEnum : ExtendEnum.values()) {
+            StateOut stateOut = new StateOut();
+            stateOut.setKey(flowStateEnum.key());
+            stateOut.setValue(flowStateEnum.key());
+            list.add(stateOut);
+        }
+        return list;
+    }
 }
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/InComePlanEnum.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/InComePlanEnum.java
index 2a8c794b6..6dd167181 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/InComePlanEnum.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/InComePlanEnum.java
@@ -1,5 +1,10 @@
 package com.seasky.projectplan.domain.aggregate.common;
 
+import com.seasky.projectplan.dto.baseconfig.StateOut;
+
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * 棰勭畻缂栧埗娣诲姞鏃剁殑浜旈」
  *
@@ -40,4 +45,14 @@ public enum InComePlanEnum {
         }
         return null;
     }
+    public static List<StateOut> inComePlanEnum() {
+        List<StateOut> list = new ArrayList<>();
+        for (InComePlanEnum flowStateEnum : InComePlanEnum.values()) {
+            StateOut stateOut = new StateOut();
+            stateOut.setKey(flowStateEnum.key());
+            stateOut.setValue(flowStateEnum.key());
+            list.add(stateOut);
+        }
+        return list;
+    }
 }
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/PlanBookTypeEnum.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/PlanBookTypeEnum.java
index c81d55ffc..616b10dc0 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/PlanBookTypeEnum.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/PlanBookTypeEnum.java
@@ -1,5 +1,10 @@
 package com.seasky.projectplan.domain.aggregate.common;
 
+import com.seasky.projectplan.dto.baseconfig.StateOut;
+
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * 鐢虫姤涔︾被鍨� 鏋氫妇绫诲瀷
  *
@@ -46,4 +51,14 @@ public enum PlanBookTypeEnum {
         }
         return false;
     }
+    public static List<StateOut> planBookTypeEnum() {
+        List<StateOut> list = new ArrayList<>();
+        for (PlanBookTypeEnum flowStateEnum : PlanBookTypeEnum.values()) {
+            StateOut stateOut = new StateOut();
+            stateOut.setKey(flowStateEnum.name());
+            stateOut.setValue(flowStateEnum.name());
+            list.add(stateOut);
+        }
+        return list;
+    }
 }
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/PlanTypeEnum.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/PlanTypeEnum.java
index 9fa55496f..9be656c83 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/PlanTypeEnum.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/PlanTypeEnum.java
@@ -1,5 +1,10 @@
 package com.seasky.projectplan.domain.aggregate.common;
 
+import com.seasky.projectplan.dto.baseconfig.StateOut;
+
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  *  椤圭洰搴� 涓€涓� 浜屼笂 鎵瑰
  *
@@ -37,4 +42,14 @@ public enum  PlanTypeEnum {
         }
         return null;
     }
+    public static List<StateOut> planTypeEnum() {
+        List<StateOut> list = new ArrayList<>();
+        for (PlanTypeEnum flowStateEnum : PlanTypeEnum.values()) {
+            StateOut stateOut = new StateOut();
+            stateOut.setKey(flowStateEnum.key());
+            stateOut.setValue(flowStateEnum.key());
+            list.add(stateOut);
+        }
+        return list;
+    }
 }
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/PredialSettingsEnum.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/PredialSettingsEnum.java
index a8896b514..f70252c58 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/PredialSettingsEnum.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/PredialSettingsEnum.java
@@ -1,5 +1,10 @@
 package com.seasky.projectplan.domain.aggregate.common;
 
+import com.seasky.projectplan.dto.baseconfig.StateOut;
+
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * @Author wangxingjun
  * @Data 2022/9/22 10:17
@@ -23,4 +28,14 @@ public enum PredialSettingsEnum {
     public String key() {
         return k;
     }
+    public static List<StateOut> predialSettingsEnum() {
+        List<StateOut> list = new ArrayList<>();
+        for (PredialSettingsEnum flowStateEnum : PredialSettingsEnum.values()) {
+            StateOut stateOut = new StateOut();
+            stateOut.setKey(flowStateEnum.key());
+            stateOut.setValue(flowStateEnum.key());
+            list.add(stateOut);
+        }
+        return list;
+    }
 }
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/ProjectPlanTypeEnum.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/ProjectPlanTypeEnum.java
index 0d1dde1df..5992faf24 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/ProjectPlanTypeEnum.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/ProjectPlanTypeEnum.java
@@ -1,5 +1,6 @@
 package com.seasky.projectplan.domain.aggregate.common;
 
+import com.seasky.projectplan.dto.baseconfig.StateOut;
 import com.seasky.projectplan.dto.budgetinfo.ProjectPlanTypeOut;
 
 import java.util.ArrayList;
@@ -108,4 +109,15 @@ public enum ProjectPlanTypeEnum {
     public String getV() {
         return v;
     }
+
+    public static List<StateOut> projectPlanTypeEnum() {
+        List<StateOut> list = new ArrayList<>();
+        for (ProjectPlanTypeEnum flowStateEnum : ProjectPlanTypeEnum.values()) {
+            StateOut stateOut = new StateOut();
+            stateOut.setKey(flowStateEnum.getK());
+            stateOut.setValue(flowStateEnum.getK());
+            list.add(stateOut);
+        }
+        return list;
+    }
 }
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/PurchaseTypeEnum.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/PurchaseTypeEnum.java
index 3f91e87d1..c60f14727 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/PurchaseTypeEnum.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/PurchaseTypeEnum.java
@@ -1,5 +1,7 @@
 package com.seasky.projectplan.domain.aggregate.common;
 
+import com.seasky.projectplan.dto.baseconfig.StateOut;
+
 import java.util.ArrayList;
 import java.util.List;
 
@@ -64,4 +66,14 @@ public enum PurchaseTypeEnum {
         }
         return keyList;
     }
+    public static List<StateOut> purchaseTypeEnum() {
+        List<StateOut> list = new ArrayList<>();
+        for (PurchaseTypeEnum flowStateEnum : PurchaseTypeEnum.values()) {
+            StateOut stateOut = new StateOut();
+            stateOut.setKey(flowStateEnum.key());
+            stateOut.setValue(flowStateEnum.key());
+            list.add(stateOut);
+        }
+        return list;
+    }
 }
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/StudentEnum.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/StudentEnum.java
index 645fc8643..2701c0e8f 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/StudentEnum.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/StudentEnum.java
@@ -1,5 +1,10 @@
 package com.seasky.projectplan.domain.aggregate.common;
 
+import com.seasky.projectplan.dto.baseconfig.StateOut;
+
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  *  瀛︾敓瀛﹁垂鏋氫妇
  *
@@ -38,4 +43,14 @@ public enum StudentEnum {
         }
         return null;
     }
+    public static List<StateOut> studentEnum() {
+        List<StateOut> list = new ArrayList<>();
+        for (StudentEnum flowStateEnum : StudentEnum.values()) {
+            StateOut stateOut = new StateOut();
+            stateOut.setKey(flowStateEnum.key());
+            stateOut.setValue(flowStateEnum.key());
+            list.add(stateOut);
+        }
+        return list;
+    }
 }
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/flowTypeEnum.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/flowTypeEnum.java
index 9cb3a37cf..33d41d257 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/flowTypeEnum.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/common/flowTypeEnum.java
@@ -1,5 +1,10 @@
 package com.seasky.projectplan.domain.aggregate.common;
 
+import com.seasky.projectplan.dto.baseconfig.StateOut;
+
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * 娴佹灇涓剧被鍨�
  *
@@ -36,5 +41,15 @@ public enum flowTypeEnum {
         }
         return null;
     }
+    public static List<StateOut> flowTypeEnum() {
+        List<StateOut> list = new ArrayList<>();
+        for (flowTypeEnum flowStateEnum : flowTypeEnum.values()) {
+            StateOut stateOut = new StateOut();
+            stateOut.setKey(flowStateEnum.val());
+            stateOut.setValue(flowStateEnum.val());
+            list.add(stateOut);
+        }
+        return list;
+    }
 
 }
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/interfaces/controller/BaseInfoController.java b/ServiceSite/src/main/java/com/seasky/projectplan/interfaces/controller/BaseInfoController.java
index e1a7025b6..a214b03dc 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/interfaces/controller/BaseInfoController.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/interfaces/controller/BaseInfoController.java
@@ -6,6 +6,7 @@ import com.seasky.core.common.ResponseCode;
 import com.seasky.core.common.Result;
 import com.seasky.core.ddd.utils.MapperUtils;
 import com.seasky.core.exception.DataAccessException;
+import com.seasky.core.util.ExceptionUtil;
 import com.seasky.core.util.StreamUtils;
 import com.seasky.micro.basedata.api.IUser;
 import com.seasky.micro.basedata.dto.MenuDTO;
@@ -14,6 +15,7 @@ import com.seasky.micro.basedata.dto.RoleIdsAndOrganizationRequestDTO;
 import com.seasky.micro.basedata.dto.UserDTO;
 import com.seasky.projectplan.api.IBaseInfoController;
 import com.seasky.projectplan.application.query.notice.NoticeQueryService;
+import com.seasky.projectplan.domain.aggregate.common.*;
 import com.seasky.projectplan.dto.baseconfig.*;
 import com.seasky.projectplan.dto.notice.NoticeAttachmentOut;
 import com.seasky.projectplan.infrastructure.rpc.api.UserRPC;
@@ -25,6 +27,7 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
@@ -230,4 +233,45 @@ public class BaseInfoController extends BaseController implements IBaseInfoContr
         }
     }
 
+    @Override
+    @ApiOperation("鏌ヨ鐘舵€�")
+    public Result<StateOut> queryStateOut(@RequestParam String programName) {
+        List<StateOut> stateOuts = null;
+        switch (programName) {
+            case "椤圭洰搴撴彁浜ゆ祦绋�":
+                stateOuts = AuditEnum.auditEnum();
+                break;
+            case "鎵╁睍绫诲瀷":
+                stateOuts = ExtendEnum.extendEnum();
+                break;
+            case "鐢虫姤绫诲瀷":
+                stateOuts = flowTypeEnum.flowTypeEnum();
+                break;
+            case "棰勭畻缂栧埗娣诲姞":
+                stateOuts = InComePlanEnum.inComePlanEnum();
+                break;
+            case "鐢虫姤涔︾被鍨�":
+                stateOuts = PlanBookTypeEnum.planBookTypeEnum();
+                break;
+            case "鐢虫姤闃舵":
+                stateOuts = PlanTypeEnum.planTypeEnum();
+                break;
+            /*case "棰勬嫧鎺у埗":
+                stateOuts = PredialSettingsEnum.predialSettingsEnum();
+                break;?????*/
+            case "鐢虫姤椤圭洰鎵€灞炵被鍨�":
+                stateOuts = ProjectPlanTypeEnum.projectPlanTypeEnum();
+                break;
+            case "鏀块噰绫诲瀷":
+                stateOuts = PurchaseTypeEnum.purchaseTypeEnum();
+                break;
+            case "瀛︾敓瀛﹁垂":
+                stateOuts = StudentEnum.studentEnum();
+                break;
+            default:
+                throw ExceptionUtil.getException(null,"鑾峰彇娴佺▼淇℃伅鎵€闇€鍙傛暟涓嶆纭紝璇疯仈绯荤鐞嗗憳");
+        }
+        return ok(ResponseCode.SUCCESS, stateOuts);
+    }
+
 }
-- 
GitLab