From 2ce9e4a8509a571745933801f4cb9bda7245c8a1 Mon Sep 17 00:00:00 2001
From: yuxc <yuxc@vci-tech.com>
Date: 星期五, 23 八月 2024 10:08:07 +0800
Subject: [PATCH] 1、对Action管理相关功能上传。 2、对打的包进行上传
---
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/util/PinyinCommon.java | 89 ++++
Bin/web/lib/accessors-smart-1.2.jar | 0
Bin/web/lib/hamcrest-library-1.3.jar | 0
Bin/web/lib/jgoodies-common-1.8.1.jar | 0
Bin/web/lib/swingx-1.6.1.jar | 0
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PLActionQueryDTO.java | 45 ++
Bin/web/lib/plt-clientbase-1.0.RELEASE.jar | 0
Bin/web/lib/protege35-1.0.jar | 0
Bin/web/lib/skinlf-6.7.jar | 0
Bin/web/lib/mockito-core-2.23.4.jar | 0
Bin/web/lib/plt-slice-1.0.RELEASE.jar | 0
Bin/web/lib/json-smart-2.3.jar | 0
Bin/web/lib/android-json-0.0.20131108.vaadin1.jar | 0
Bin/web/lib/plt-common-1.0.RELEASE.jar | 0
Bin/web/lib/spring-boot-test-2.1.3.RELEASE.jar | 0
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsActionServiceImpl.java | 405 +++++++++++++++++++
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PLActionClsDTO.java | 57 ++
Bin/lib/service/WFService.jar | 0
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsActionServiceI.java | 68 +++
Bin/web/lib/pinyin4j-2.5.0.jar | 0
Bin/web/lib/xmlunit-core-2.6.2.jar | 0
Bin/web/lib/jackson-databind-2.9.6.jar | 0
Bin/web/lib/swing-worker-1.1.jar | 0
Bin/web/lib/flatlaf-2.3.jar | 0
Bin/web/lib/nativeskin-1.0.jar | 0
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/other/IExportLogBean.java | 19
Bin/lib/service/BOFService.jar | 0
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsActionController.java | 160 +++++++
Bin/web/lib/spring-boot-starter-test-2.1.3.RELEASE.jar | 0
Bin/web/lib/spring-test-5.1.5.RELEASE.jar | 0
Bin/web/lib/byte-buddy-agent-1.9.3.jar | 0
Bin/web/lib/assertj-core-3.11.1.jar | 0
Bin/web/lib/json-path-2.4.0.jar | 0
Bin/web/lib/byte-buddy-1.9.3.jar | 0
Bin/web/lib/jsonassert-1.5.0.jar | 0
Bin/web/lib/plt-poi-2024.1-SNAPSHOT.jar | 0
Bin/web/lib/spring-boot-test-autoconfigure-2.1.3.RELEASE.jar | 0
Bin/web/lib/filters-2.0.235.jar | 0
Bin/web/lib/uitheme-1.3.1.jar | 0
Bin/web/lib/objenesis-2.6.jar | 0
Bin/web/lib/swixml-2.0.jar | 0
Bin/web/lib/jgraphx-3.1.0.0.jar | 0
Bin/web/lib/junit-4.8.jar | 0
Bin/web/lib/ice-3.7.10.jar | 0
Bin/web/lib/icebox-3.7.10.jar | 0
Bin/web/lib/jgoodies-looks-2.5.3.jar | 0
Bin/web/lib/asm-5.0.4.jar | 0
Bin/web/lib/transmittable-thread-local-2.12.6.jar | 0
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PLActionDTO.java | 70 +++
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/other/ExportBeans.java | 153 +++++++
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/other/ExportActionLogBean.java | 156 +++++++
Bin/web/lib/hamcrest-core-1.3.jar | 0
Bin/web/lib/plt-web-base-2024.1-SNAPSHOT.jar | 0
Bin/web/lib/poi-scratchpad-3.9.jar | 0
Bin/web/lib/jgraph-3.1.0.0.jar | 0
Bin/web/lib/plt-starter-2024.1-SNAPSHOT.jar | 0
Bin/web/lib/spring-boot-configuration-processor-2.1.3.RELEASE.jar | 0
57 files changed, 1,222 insertions(+), 0 deletions(-)
diff --git a/Bin/lib/service/BOFService.jar b/Bin/lib/service/BOFService.jar
index 3fc1d7a..315e7c6 100644
--- a/Bin/lib/service/BOFService.jar
+++ b/Bin/lib/service/BOFService.jar
Binary files differ
diff --git a/Bin/lib/service/WFService.jar b/Bin/lib/service/WFService.jar
index e24eefc..4967e86 100644
--- a/Bin/lib/service/WFService.jar
+++ b/Bin/lib/service/WFService.jar
Binary files differ
diff --git a/Bin/web/lib/accessors-smart-1.2.jar b/Bin/web/lib/accessors-smart-1.2.jar
new file mode 100644
index 0000000..f4505e9
--- /dev/null
+++ b/Bin/web/lib/accessors-smart-1.2.jar
Binary files differ
diff --git a/Bin/web/lib/android-json-0.0.20131108.vaadin1.jar b/Bin/web/lib/android-json-0.0.20131108.vaadin1.jar
new file mode 100644
index 0000000..add495f
--- /dev/null
+++ b/Bin/web/lib/android-json-0.0.20131108.vaadin1.jar
Binary files differ
diff --git a/Bin/web/lib/asm-5.0.4.jar b/Bin/web/lib/asm-5.0.4.jar
new file mode 100644
index 0000000..cdb283d
--- /dev/null
+++ b/Bin/web/lib/asm-5.0.4.jar
Binary files differ
diff --git a/Bin/web/lib/assertj-core-3.11.1.jar b/Bin/web/lib/assertj-core-3.11.1.jar
new file mode 100644
index 0000000..87e5ee3
--- /dev/null
+++ b/Bin/web/lib/assertj-core-3.11.1.jar
Binary files differ
diff --git a/Bin/web/lib/byte-buddy-1.9.3.jar b/Bin/web/lib/byte-buddy-1.9.3.jar
new file mode 100644
index 0000000..c1c2b07
--- /dev/null
+++ b/Bin/web/lib/byte-buddy-1.9.3.jar
Binary files differ
diff --git a/Bin/web/lib/byte-buddy-agent-1.9.3.jar b/Bin/web/lib/byte-buddy-agent-1.9.3.jar
new file mode 100644
index 0000000..51a0bd4
--- /dev/null
+++ b/Bin/web/lib/byte-buddy-agent-1.9.3.jar
Binary files differ
diff --git a/Bin/web/lib/filters-2.0.235.jar b/Bin/web/lib/filters-2.0.235.jar
new file mode 100644
index 0000000..39e4dd5
--- /dev/null
+++ b/Bin/web/lib/filters-2.0.235.jar
Binary files differ
diff --git a/Bin/web/lib/flatlaf-2.3.jar b/Bin/web/lib/flatlaf-2.3.jar
new file mode 100644
index 0000000..9f292d2
--- /dev/null
+++ b/Bin/web/lib/flatlaf-2.3.jar
Binary files differ
diff --git a/Bin/web/lib/hamcrest-core-1.3.jar b/Bin/web/lib/hamcrest-core-1.3.jar
new file mode 100644
index 0000000..9d5fe16
--- /dev/null
+++ b/Bin/web/lib/hamcrest-core-1.3.jar
Binary files differ
diff --git a/Bin/web/lib/hamcrest-library-1.3.jar b/Bin/web/lib/hamcrest-library-1.3.jar
new file mode 100644
index 0000000..9eac80d
--- /dev/null
+++ b/Bin/web/lib/hamcrest-library-1.3.jar
Binary files differ
diff --git a/Bin/web/lib/ice-3.7.10.jar b/Bin/web/lib/ice-3.7.10.jar
new file mode 100644
index 0000000..768c926
--- /dev/null
+++ b/Bin/web/lib/ice-3.7.10.jar
Binary files differ
diff --git a/Bin/web/lib/icebox-3.7.10.jar b/Bin/web/lib/icebox-3.7.10.jar
new file mode 100644
index 0000000..45e41b3
--- /dev/null
+++ b/Bin/web/lib/icebox-3.7.10.jar
Binary files differ
diff --git a/Bin/web/lib/jackson-databind-2.9.6.jar b/Bin/web/lib/jackson-databind-2.9.6.jar
new file mode 100644
index 0000000..e8eb658
--- /dev/null
+++ b/Bin/web/lib/jackson-databind-2.9.6.jar
Binary files differ
diff --git a/Bin/web/lib/jgoodies-common-1.8.1.jar b/Bin/web/lib/jgoodies-common-1.8.1.jar
new file mode 100644
index 0000000..f6a256e
--- /dev/null
+++ b/Bin/web/lib/jgoodies-common-1.8.1.jar
Binary files differ
diff --git a/Bin/web/lib/jgoodies-looks-2.5.3.jar b/Bin/web/lib/jgoodies-looks-2.5.3.jar
new file mode 100644
index 0000000..3339053
--- /dev/null
+++ b/Bin/web/lib/jgoodies-looks-2.5.3.jar
Binary files differ
diff --git a/Bin/web/lib/jgraph-3.1.0.0.jar b/Bin/web/lib/jgraph-3.1.0.0.jar
new file mode 100644
index 0000000..9af266c
--- /dev/null
+++ b/Bin/web/lib/jgraph-3.1.0.0.jar
Binary files differ
diff --git a/Bin/web/lib/jgraphx-3.1.0.0.jar b/Bin/web/lib/jgraphx-3.1.0.0.jar
new file mode 100644
index 0000000..6637aac
--- /dev/null
+++ b/Bin/web/lib/jgraphx-3.1.0.0.jar
Binary files differ
diff --git a/Bin/web/lib/json-path-2.4.0.jar b/Bin/web/lib/json-path-2.4.0.jar
new file mode 100644
index 0000000..6229306
--- /dev/null
+++ b/Bin/web/lib/json-path-2.4.0.jar
Binary files differ
diff --git a/Bin/web/lib/json-smart-2.3.jar b/Bin/web/lib/json-smart-2.3.jar
new file mode 100644
index 0000000..0cd52ea
--- /dev/null
+++ b/Bin/web/lib/json-smart-2.3.jar
Binary files differ
diff --git a/Bin/web/lib/jsonassert-1.5.0.jar b/Bin/web/lib/jsonassert-1.5.0.jar
new file mode 100644
index 0000000..aec04c5
--- /dev/null
+++ b/Bin/web/lib/jsonassert-1.5.0.jar
Binary files differ
diff --git a/Bin/web/lib/junit-4.8.jar b/Bin/web/lib/junit-4.8.jar
new file mode 100644
index 0000000..efdaa58
--- /dev/null
+++ b/Bin/web/lib/junit-4.8.jar
Binary files differ
diff --git a/Bin/web/lib/mockito-core-2.23.4.jar b/Bin/web/lib/mockito-core-2.23.4.jar
new file mode 100644
index 0000000..b259c8c
--- /dev/null
+++ b/Bin/web/lib/mockito-core-2.23.4.jar
Binary files differ
diff --git a/Bin/web/lib/nativeskin-1.0.jar b/Bin/web/lib/nativeskin-1.0.jar
new file mode 100644
index 0000000..acacc56
--- /dev/null
+++ b/Bin/web/lib/nativeskin-1.0.jar
Binary files differ
diff --git a/Bin/web/lib/objenesis-2.6.jar b/Bin/web/lib/objenesis-2.6.jar
new file mode 100644
index 0000000..b4b29d5
--- /dev/null
+++ b/Bin/web/lib/objenesis-2.6.jar
Binary files differ
diff --git a/Bin/web/lib/pinyin4j-2.5.0.jar b/Bin/web/lib/pinyin4j-2.5.0.jar
new file mode 100644
index 0000000..2e1d819
--- /dev/null
+++ b/Bin/web/lib/pinyin4j-2.5.0.jar
Binary files differ
diff --git a/Bin/web/lib/plt-clientbase-1.0.RELEASE.jar b/Bin/web/lib/plt-clientbase-1.0.RELEASE.jar
index 88b1396..c05e09c 100644
--- a/Bin/web/lib/plt-clientbase-1.0.RELEASE.jar
+++ b/Bin/web/lib/plt-clientbase-1.0.RELEASE.jar
Binary files differ
diff --git a/Bin/web/lib/plt-common-1.0.RELEASE.jar b/Bin/web/lib/plt-common-1.0.RELEASE.jar
index ec5d9d9..079294b 100644
--- a/Bin/web/lib/plt-common-1.0.RELEASE.jar
+++ b/Bin/web/lib/plt-common-1.0.RELEASE.jar
Binary files differ
diff --git a/Bin/web/lib/plt-poi-2024.1-SNAPSHOT.jar b/Bin/web/lib/plt-poi-2024.1-SNAPSHOT.jar
new file mode 100644
index 0000000..da1064e
--- /dev/null
+++ b/Bin/web/lib/plt-poi-2024.1-SNAPSHOT.jar
Binary files differ
diff --git a/Bin/web/lib/plt-slice-1.0.RELEASE.jar b/Bin/web/lib/plt-slice-1.0.RELEASE.jar
index e0d1317..b6c28d5 100644
--- a/Bin/web/lib/plt-slice-1.0.RELEASE.jar
+++ b/Bin/web/lib/plt-slice-1.0.RELEASE.jar
Binary files differ
diff --git a/Bin/web/lib/plt-starter-2024.1-SNAPSHOT.jar b/Bin/web/lib/plt-starter-2024.1-SNAPSHOT.jar
new file mode 100644
index 0000000..db3724d
--- /dev/null
+++ b/Bin/web/lib/plt-starter-2024.1-SNAPSHOT.jar
Binary files differ
diff --git a/Bin/web/lib/plt-web-base-2024.1-SNAPSHOT.jar b/Bin/web/lib/plt-web-base-2024.1-SNAPSHOT.jar
new file mode 100644
index 0000000..10018f5
--- /dev/null
+++ b/Bin/web/lib/plt-web-base-2024.1-SNAPSHOT.jar
Binary files differ
diff --git a/Bin/web/lib/poi-scratchpad-3.9.jar b/Bin/web/lib/poi-scratchpad-3.9.jar
new file mode 100644
index 0000000..1520855
--- /dev/null
+++ b/Bin/web/lib/poi-scratchpad-3.9.jar
Binary files differ
diff --git a/Bin/web/lib/protege35-1.0.jar b/Bin/web/lib/protege35-1.0.jar
new file mode 100644
index 0000000..8e99a2e
--- /dev/null
+++ b/Bin/web/lib/protege35-1.0.jar
Binary files differ
diff --git a/Bin/web/lib/skinlf-6.7.jar b/Bin/web/lib/skinlf-6.7.jar
new file mode 100644
index 0000000..9bdb00f
--- /dev/null
+++ b/Bin/web/lib/skinlf-6.7.jar
Binary files differ
diff --git a/Bin/web/lib/spring-boot-configuration-processor-2.1.3.RELEASE.jar b/Bin/web/lib/spring-boot-configuration-processor-2.1.3.RELEASE.jar
new file mode 100644
index 0000000..2f63fdf
--- /dev/null
+++ b/Bin/web/lib/spring-boot-configuration-processor-2.1.3.RELEASE.jar
Binary files differ
diff --git a/Bin/web/lib/spring-boot-starter-test-2.1.3.RELEASE.jar b/Bin/web/lib/spring-boot-starter-test-2.1.3.RELEASE.jar
new file mode 100644
index 0000000..7df4790
--- /dev/null
+++ b/Bin/web/lib/spring-boot-starter-test-2.1.3.RELEASE.jar
Binary files differ
diff --git a/Bin/web/lib/spring-boot-test-2.1.3.RELEASE.jar b/Bin/web/lib/spring-boot-test-2.1.3.RELEASE.jar
new file mode 100644
index 0000000..253c3f1
--- /dev/null
+++ b/Bin/web/lib/spring-boot-test-2.1.3.RELEASE.jar
Binary files differ
diff --git a/Bin/web/lib/spring-boot-test-autoconfigure-2.1.3.RELEASE.jar b/Bin/web/lib/spring-boot-test-autoconfigure-2.1.3.RELEASE.jar
new file mode 100644
index 0000000..98622ad
--- /dev/null
+++ b/Bin/web/lib/spring-boot-test-autoconfigure-2.1.3.RELEASE.jar
Binary files differ
diff --git a/Bin/web/lib/spring-test-5.1.5.RELEASE.jar b/Bin/web/lib/spring-test-5.1.5.RELEASE.jar
new file mode 100644
index 0000000..340a276
--- /dev/null
+++ b/Bin/web/lib/spring-test-5.1.5.RELEASE.jar
Binary files differ
diff --git a/Bin/web/lib/swing-worker-1.1.jar b/Bin/web/lib/swing-worker-1.1.jar
new file mode 100644
index 0000000..3935611
--- /dev/null
+++ b/Bin/web/lib/swing-worker-1.1.jar
Binary files differ
diff --git a/Bin/web/lib/swingx-1.6.1.jar b/Bin/web/lib/swingx-1.6.1.jar
new file mode 100644
index 0000000..b0bcc87
--- /dev/null
+++ b/Bin/web/lib/swingx-1.6.1.jar
Binary files differ
diff --git a/Bin/web/lib/swixml-2.0.jar b/Bin/web/lib/swixml-2.0.jar
new file mode 100644
index 0000000..2f0fa2b
--- /dev/null
+++ b/Bin/web/lib/swixml-2.0.jar
Binary files differ
diff --git a/Bin/web/lib/transmittable-thread-local-2.12.6.jar b/Bin/web/lib/transmittable-thread-local-2.12.6.jar
new file mode 100644
index 0000000..bc6ca55
--- /dev/null
+++ b/Bin/web/lib/transmittable-thread-local-2.12.6.jar
Binary files differ
diff --git a/Bin/web/lib/uitheme-1.3.1.jar b/Bin/web/lib/uitheme-1.3.1.jar
new file mode 100644
index 0000000..caacb71
--- /dev/null
+++ b/Bin/web/lib/uitheme-1.3.1.jar
Binary files differ
diff --git a/Bin/web/lib/xmlunit-core-2.6.2.jar b/Bin/web/lib/xmlunit-core-2.6.2.jar
new file mode 100644
index 0000000..dec8eb5
--- /dev/null
+++ b/Bin/web/lib/xmlunit-core-2.6.2.jar
Binary files differ
diff --git a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PLActionClsDTO.java b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PLActionClsDTO.java
new file mode 100644
index 0000000..529491a
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PLActionClsDTO.java
@@ -0,0 +1,57 @@
+package com.vci.dto;
+
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Action鍒嗙被浼犺緭瀵硅薄
+ * @author yuxc
+ * @date 2024/8/16 15:50
+ */
+@Data
+public class PLActionClsDTO implements java.io.Serializable{
+
+ /**
+ * 绂佹淇敼杩欎釜鍊�
+ */
+ private static final long serialVersionUID = 2009350578651813260L;
+ /**
+ *涓婚敭
+ */
+ public String id;
+ /**
+ *鍒嗙被鍚嶇О
+ */
+ public String name;
+ /**
+ *鐖朵富閿�
+ */
+ public String pid;
+ /**
+ *澶囨敞
+ */
+ public String description;
+ /**
+ *鍒涘缓浜�
+ */
+ public String creator;
+ /**
+ *鍒涘缓鏃堕棿
+ */
+ public long createTime;
+ /**
+ *鍒嗙被搴忓彿
+ */
+ public short serialno;
+ /**
+ * 瀛愯妭鐐�
+ */
+ public List<PLActionClsDTO> childs = new ArrayList<>();
+
+ /**
+ * 褰撳墠鍒嗙被涓嬬殑鎵�鏈塧ction
+ */
+ public List<PLActionDTO> actionChilds = new ArrayList<>();
+}
diff --git a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PLActionDTO.java b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PLActionDTO.java
new file mode 100644
index 0000000..a631dd8
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PLActionDTO.java
@@ -0,0 +1,70 @@
+package com.vci.dto;
+
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Action浼犺緭瀵硅薄
+ * @author yuxc
+ * @date 2024/8/20 16:47
+ */
+@Data
+public class PLActionDTO implements java.io.Serializable{
+
+ /**
+ * 绂佹淇敼杩欎釜鍊�
+ */
+ private static final long serialVersionUID = 2009350578651813260L;
+ /**
+ * 涓婚敭
+ */
+ private String plOId;
+ /**
+ * 缂栧彿
+ */
+ private String plCode;
+ /**
+ * 鍚嶇О
+ */
+ private String plName;
+ /**
+ * B/S鍦板潃锛岀晫闈㈢被璺緞
+ */
+ private String plBSUrl;
+ /**
+ * c/s绫昏矾寰� 鐣岄潰閾炬帴鍦板潃
+ */
+ private String plCSClass;
+ /**
+ * 鎻忚堪
+ */
+ private String plDesc;
+ /**
+ * 绫诲瀷
+ */
+ private String plTypeType;
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ private long plCreateTime;
+ /**
+ * 鍒涘缓浜�
+ */
+ private String plCreateUser;
+ /**
+ * 淇敼鏃堕棿
+ */
+ private long plModifyTime;
+ /**
+ * 淇敼浜�
+ */
+ private String plModifyUser;
+
+ private String plLicensOrs;
+ /**
+ * 鐖惰妭鐐筰d
+ */
+ private String plActionCls;
+}
diff --git a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PLActionQueryDTO.java b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PLActionQueryDTO.java
new file mode 100644
index 0000000..aa6032b
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PLActionQueryDTO.java
@@ -0,0 +1,45 @@
+package com.vci.dto;
+
+import lombok.Data;
+/**
+ * Action鏌ヨ浼犺緭瀵硅薄
+ * @author yuxc
+ * @date 2024/8/20 14:45
+ */
+@Data
+public class PLActionQueryDTO implements java.io.Serializable{
+
+ /**
+ * 绂佹淇敼杩欎釜鍊�
+ */
+ private static final long serialVersionUID = 2009350578651813260L;
+ /**
+ *缂栧彿
+ */
+ private String plcode;
+ /**
+ *鍚嶇О
+ */
+ private String plname;
+ /**
+ *B/S绫昏矾寰�
+ */
+ private String plbsurl;
+ /**
+ *C/S绫昏矾寰�
+ */
+ private String plcsclass;
+ /**
+ *涓氬姟绫诲瀷
+ */
+ private String pltypetype;
+ /**
+ *鎻忚堪
+ */
+ private String pldesc;
+ /**
+ *鍒嗙被ID
+ */
+ private String plactioncls;
+
+}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsActionController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsActionController.java
new file mode 100644
index 0000000..01b4da8
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsActionController.java
@@ -0,0 +1,160 @@
+package com.vci.web.controller;
+
+import com.vci.corba.common.PLException;
+import com.vci.dto.PLActionClsDTO;
+import com.vci.dto.PLActionDTO;
+import com.vci.dto.PLActionQueryDTO;
+import com.vci.starter.web.pagemodel.BaseResult;
+import com.vci.web.service.OsActionServiceI;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * Action绠$悊鐨勬帶鍒跺櫒
+ * @author yuxc
+ * @date 2024-8-16
+ */
+@RequestMapping("/actionController")
+@RestController
+public class OsActionController {
+
+ /**
+ * Action鏈嶅姟
+ */
+ @Autowired
+ private OsActionServiceI osActionServiceI;
+
+ /**
+ * 淇濆瓨Action鍒嗙被淇℃伅
+ * @param pLActionCls Action鍒嗙被淇℃伅
+ * @return 淇濆瓨缁撴灉
+ */
+ @PostMapping("/saveActionCls")
+ public BaseResult saveActionCls(@RequestBody PLActionClsDTO pLActionCls){
+ try {
+ return osActionServiceI.saveActionCls(pLActionCls);
+ } catch (PLException e) {
+ BaseResult objectBaseResult = new BaseResult<>();
+ objectBaseResult.setCode(Integer.parseInt(e.code));
+ objectBaseResult.setMsg(Arrays.toString(e.messages));
+ return objectBaseResult;
+ }
+ }
+
+ /**
+ * 淇敼Action鍒嗙被淇℃伅
+ * @param pLActionCls Action鍒嗙被淇℃伅
+ * @return 淇敼缁撴灉
+ */
+ @PostMapping("/updateActionCls")
+ public BaseResult updateActionCls(@RequestBody PLActionClsDTO pLActionCls){
+ try {
+ return osActionServiceI.updateActionCls(pLActionCls);
+ } catch (PLException e) {
+ BaseResult objectBaseResult = new BaseResult<>();
+ objectBaseResult.setCode(Integer.parseInt(e.code));
+ objectBaseResult.setMsg(Arrays.toString(e.messages));
+ return objectBaseResult;
+ }
+ }
+
+ /**
+ * 鑾峰彇Action鍒嗙被鏍�
+ * isExp 鏄惁鐢ㄦ埛瀵煎嚭 true鏄紝false鍚�
+ * @return 鏌ヨ缁撴灉
+ */
+ @GetMapping("/getActionTree")
+ public BaseResult getActionTree(boolean isExp){
+ try {
+ return osActionServiceI.getActionTree(isExp);
+ } catch (PLException e) {
+ BaseResult objectBaseResult = new BaseResult<>();
+ objectBaseResult.setCode(Integer.parseInt(e.code));
+ objectBaseResult.setMsg(Arrays.toString(e.messages));
+ return objectBaseResult;
+ }
+ }
+
+ /**
+ * 鑾峰彇Action琛ㄦ牸鏁版嵁
+ * dto 鏌ヨ鏉′欢
+ * @return 鏌ヨ缁撴灉
+ */
+ @PostMapping("/getActionTableData")
+ public BaseResult getActionTableData(@RequestBody PLActionQueryDTO dto){
+ try {
+ return osActionServiceI.getActionTableData(dto);
+ } catch (PLException e) {
+ BaseResult objectBaseResult = new BaseResult<>();
+ objectBaseResult.setCode(Integer.parseInt(e.code));
+ objectBaseResult.setMsg(Arrays.toString(e.messages));
+ return objectBaseResult;
+ }
+ }
+
+ /**
+ * 淇濆瓨Action鏁版嵁
+ * dto action浼犺緭瀵硅薄
+ * @return 淇濆瓨缁撴灉
+ */
+ @PostMapping("/saveAction")
+ public BaseResult saveAction(@RequestBody PLActionDTO dto){
+ try {
+ return osActionServiceI.saveAction(dto);
+ } catch (PLException e) {
+ BaseResult objectBaseResult = new BaseResult<>();
+ objectBaseResult.setCode(Integer.parseInt(e.code));
+ objectBaseResult.setMsg(Arrays.toString(e.messages));
+ return objectBaseResult;
+ }
+ }
+
+ /**
+ * 淇敼Action鏁版嵁
+ * dto action浼犺緭瀵硅薄
+ * @return 淇敼缁撴灉
+ */
+ @PostMapping("/updateAction")
+ public BaseResult updateAction(@RequestBody PLActionDTO dto){
+ try {
+ return osActionServiceI.updateAction(dto);
+ } catch (PLException e) {
+ BaseResult objectBaseResult = new BaseResult<>();
+ objectBaseResult.setCode(Integer.parseInt(e.code));
+ objectBaseResult.setMsg(Arrays.toString(e.messages));
+ return objectBaseResult;
+ }
+ }
+
+ /**
+ * 鍒犻櫎Action鏁版嵁
+ * dto action浼犺緭瀵硅薄
+ * @return 鍒犻櫎缁撴灉
+ */
+ @DeleteMapping("/deleteAction")
+ public BaseResult deleteAction(@RequestBody PLActionDTO dto){
+ try {
+ return osActionServiceI.deleteAction(dto);
+ } catch (PLException e) {
+ BaseResult objectBaseResult = new BaseResult<>();
+ objectBaseResult.setCode(Integer.parseInt(e.code));
+ objectBaseResult.setMsg(Arrays.toString(e.messages));
+ return objectBaseResult;
+ }
+ }
+
+ /**
+ * 瀵煎嚭Action
+ * @return
+ */
+ @PostMapping("/exportBeans")
+ public void exportBeans(@RequestBody List<String> actionOid, HttpServletResponse response) throws PLException, IOException {
+ osActionServiceI.exportBeans(actionOid, response);
+ }
+
+}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/other/ExportActionLogBean.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/other/ExportActionLogBean.java
new file mode 100644
index 0000000..231908c
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/other/ExportActionLogBean.java
@@ -0,0 +1,156 @@
+package com.vci.web.other;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+public class ExportActionLogBean implements IExportLogBean {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 10086L;
+ private String no = "1";
+ private static int index = 1;
+ private String exportState = "姝e父";
+ private String coding = "";
+ private String name ="";
+ private String CSRegister = "";
+ private String BSRegister = "";
+ private String type = "";
+ private String description = "";
+ private String category = "";
+ private Date date = null;
+ private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
+
+ public ExportActionLogBean() {
+
+ this( "-1", "ExportActionLogBean 瀵硅薄鏋勫缓 浣嗘湭璁剧疆鍊�", "null",
+ "null", "null", "null", "null",
+ "null", "null" );
+ index = 1;
+
+ }
+ public ExportActionLogBean(String exportState, String coding,
+ String name, String cSRegister, String bSRegister, String type,
+ String description, String category) {
+ this( ""+index++, exportState, coding,
+ name, cSRegister, bSRegister,type,
+ description,category);
+ }
+ public ExportActionLogBean(String no, String exportState, String coding,
+ String name, String cSRegister, String bSRegister, String type,
+ String description, String category) {
+ super();
+ this.no = no;
+ if( exportState!=null || !no.equals("-1")){//榛樿鐘舵�佷负姝e父
+ this.exportState = exportState;
+ }
+
+ this.coding = coding;
+ this.name = name;
+ CSRegister = cSRegister;
+ BSRegister = bSRegister;
+ this.type = type;
+ this.description = description;
+ this.category = category;
+ }
+
+ @Override
+ public Object[] getLogRowObjcets() {
+ Object obj []= {no,exportState,coding,name,CSRegister,BSRegister,type,description,category};
+ return obj;
+ }
+
+ public Object[] getInportLogRowObjcets() {
+ Object obj []= {no,exportState,coding,name,CSRegister,BSRegister,type,description};
+ return obj;
+ }
+
+ public String getNo() {
+ return no;
+ }
+
+ public String getExportState() {
+ return exportState;
+ }
+
+
+
+ public String getName() {
+ return name;
+ }
+
+ public String getCSRegister() {
+ return CSRegister;
+ }
+
+ public String getBSRegister() {
+ return BSRegister;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public String getCategory() {
+ return category;
+ }
+
+ public void setNo(String no) {
+ this.no = no;
+ }
+
+ public void setExportState(String exportState) {
+ this.exportState = exportState;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public void setCSRegister(String cSRegister) {
+ CSRegister = cSRegister;
+ }
+
+ public void setBSRegister(String bSRegister) {
+ BSRegister = bSRegister;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public void setCategory(String category) {
+ this.category = category;
+ }
+
+ @Override
+ public String getLogRowContent() {
+ date = new Date();
+ String info =format.format(date)+"---------";
+ return info+" [搴忓彿=" + no + ", 瀵煎嚭鐘舵��=" + exportState
+ + ", 缂栧彿=" + coding + ", 鍚嶇О=" + name + ", CS娉ㄥ唽="
+ + CSRegister + ", BS娉ㄥ唽=" + BSRegister + ", 绫诲瀷=" + type
+ + ", 鎻忚堪=" + description + ", 鎵�灞炲垎绫�=" + category
+ + "]";
+
+ }
+
+ public String getCoding() {
+ return coding;
+ }
+
+ public void setCoding(String coding) {
+ this.coding = coding;
+ }
+
+
+
+
+}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/other/ExportBeans.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/other/ExportBeans.java
new file mode 100644
index 0000000..109e2cc
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/other/ExportBeans.java
@@ -0,0 +1,153 @@
+package com.vci.web.other;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map.Entry;
+import com.vci.corba.portal.data.PLAction;
+import com.vci.corba.portal.data.PLActionCls;
+import com.vci.corba.portal.data.PLActionParam;
+
+
+public class ExportBeans implements Serializable{
+ private static final long serialVersionUID = 10086L;
+ private HashMap<String/*ActionId*/,PLAction> PLActionBeans = new HashMap<String,PLAction>();
+ private HashMap<String/*鍒嗙被鍚嶇О*/,String/*id*/> PLActionClsExt = new HashMap<String,String>();
+ private HashMap<String/*id*/,PLActionCls> PLActionClsBeans = new HashMap<String,PLActionCls>();
+ private HashMap<String/*Action缂栫爜*/, ArrayList<PLActionParam> > PLActionParamBeans = new HashMap<String, ArrayList<PLActionParam> >();
+ private HashMap<String/*ActionCls缂栫爜*/, ArrayList<PLAction> > PLActionListsMap = null;
+ private ExportActionLogBean logBean = null;//鏃ュ織鏂囦欢
+
+ public ExportBeans() {
+
+ logBean = new ExportActionLogBean();
+ }
+ public HashMap<String, PLActionCls> getPLActionClsBeans() {
+ return PLActionClsBeans;
+ }
+ public HashMap<String, PLAction> getPLActions() {
+ return PLActionBeans;
+ }
+
+ public void addPLActionClsBean(PLActionCls pLActionCls){
+ PLActionClsBeans.put(pLActionCls.id, pLActionCls);
+ PLActionClsExt.put(pLActionCls.name,pLActionCls.id);
+
+ }
+ public PLActionCls getPLActionClsBeanById(String id){
+ return PLActionClsBeans.get(id);
+ }
+ public PLActionCls getPLActionClsBeanByName(String name){
+ if(PLActionClsExt.get(name) == null){
+ return null;
+ }
+ return PLActionClsBeans.get(PLActionClsExt.get(name));
+ }
+ /**
+ * 娣诲姞PLActionBean骞跺悓鏃舵坊鍔燩LActionBean瀵瑰簲鍙傛暟杩涜璁板綍
+ * @param pLAction
+ */
+// public void addPLActionBean(PLAction pLAction){
+// this.addPLActionBean(pLAction,null);
+// }
+ /**
+ * 娣诲姞PLActionBean鍚� logBean瀛樺叆鍊�
+ *
+ */
+ public void setLogBean(ExportActionLogBean logBean) {
+ this.logBean = logBean;
+ }
+ /**
+ * 娣诲姞PLActionBean鍚� logBean瀛樺叆鍊�
+ *
+ */
+ public ExportActionLogBean getLogBean() {
+ return logBean;
+ }
+
+ public PLAction getPLActionById(String pLActionId){
+ return PLActionBeans.get(pLActionId);
+ }
+ public ArrayList<PLAction> getPLActionByPlActionClsId(String plActionClsId){
+ if( PLActionListsMap == null){
+ PLActionListsMap = new HashMap<String/*ActionCls缂栫爜*/,ArrayList<PLAction>>();
+ for (Entry<String, PLAction> PLActionEntry : PLActionBeans.entrySet()) {
+ String PLActionListsMapKey = PLActionEntry.getValue().plActionCls ;
+ if(PLActionListsMapKey.equals("")){
+ PLActionListsMapKey = "when key is null ,change the key to this";
+ }
+ ArrayList<PLAction> actionList = PLActionListsMap.get(PLActionListsMapKey);
+ if( actionList == null){
+ actionList = new ArrayList<PLAction>();
+ actionList.add(PLActionEntry.getValue());
+ PLActionListsMap.put(PLActionListsMapKey,actionList);
+ }else{
+ actionList.add(PLActionEntry.getValue());
+ }
+
+ }
+ };
+
+ if(plActionClsId.equals("")){
+ plActionClsId = "when key is null ,change the key to this";
+ }
+ return PLActionListsMap.get(plActionClsId);
+ }
+ public void addPLActionParamBean(PLActionParam pLActionParam){
+ if(pLActionParam.action!=null && pLActionParam.action!=""){
+ if(PLActionParamBeans.get(pLActionParam.action) == null){
+ ArrayList<PLActionParam> arraylist = new ArrayList<PLActionParam>();
+ PLActionParamBeans.put(pLActionParam.action, arraylist);
+ }
+ PLActionParamBeans.get(pLActionParam.action).add(pLActionParam);
+ }
+
+ }
+ public PLActionParam[] getPLActionParamArrayByActionId(String paramString){
+ ArrayList<PLActionParam> pLActionParams = PLActionParamBeans.get(paramString);
+
+ if(pLActionParams != null && pLActionParams.size() > 0 ){
+ PLActionParam[] actionParams = new PLActionParam[pLActionParams.size()];
+ for (int i = 0; i < pLActionParams.size(); i++) {
+ actionParams[i] = pLActionParams.get(i);
+ }
+ return actionParams;
+ }
+ return null;
+ }
+// /**
+// * 娣诲姞PLActionBean骞跺悓鏃舵坊鍔燩LActionBean瀵瑰簲鍙傛暟杩涜璁板綍
+// * 鑳借繃鏂逛究鑾峰緱category鏃剁敤姝ゆ柟娉�. 鍙互闄嶄綆绯荤粺娑堣��
+// * @param pLAction
+// */
+// public void addPLActionBean(PLAction plAction, String category) {
+// PLActionBeans.put(plAction.plOId, plAction);
+// PLActionCls[] plActionCls = null;
+//
+// try {
+// if(category == null ){
+// plActionCls = UITools.getService().getPLActionClsArray();
+// for (PLActionCls plActionCls2 : plActionCls) {//鑾峰緱鍒嗙被鍚嶇О
+// if(plActionCls2.id.equals(plAction.plActionCls)){
+// category = plActionCls2.name ;
+// }
+// }
+// }
+// PLActionParam[] params = UITools.getService().getPLActionParamArrayByActionId(plAction.plOId);
+// if(params != null && params.length > 0){//濡傛灉鍙傛暟瀛樺湪
+// for (PLActionParam plActionParam : params) {//娣诲姞action鍙傛暟
+// this.addPLActionParamBean(plActionParam);
+// }
+// }
+// logBean = new ExportActionLogBean(ExportActionLogBean.RIGHT_STATE,
+// plAction.plCode,plAction.plName,plAction.plCSClass,plAction.plBSUrl,
+// plAction.plTypeType,plAction.plDesc,category);
+//
+// } catch (PLException e) {
+// logBean = new ExportActionLogBean(e.getMessage(),
+// plAction.plCode,plAction.plName,plAction.plCSClass,plAction.plBSUrl,
+// plAction.plTypeType,plAction.plDesc,category); e.printStackTrace();
+// }
+// }
+
+}
\ No newline at end of file
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/other/IExportLogBean.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/other/IExportLogBean.java
new file mode 100644
index 0000000..d35d27a
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/other/IExportLogBean.java
@@ -0,0 +1,19 @@
+package com.vci.web.other;
+
+import java.io.Serializable;
+
+public interface IExportLogBean extends Serializable{
+ static final long serialVersionUID = 1L;
+ static String RIGHT_STATE = "姝e父";
+ /**
+ * 杩斿洖瀛楃涓叉暟缁勫皢鍐呭鍐欏叆鍒癑Table鏂囦欢涓�
+ * @return
+ */
+ public abstract Object[] getLogRowObjcets();
+ /**
+ * 杩斿洖瀛楃涓插皢鍐呭鍐欏叆鍒發og鏂囦欢涓�
+ * @return
+ */
+ public abstract String getLogRowContent();
+
+}
\ No newline at end of file
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsActionServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsActionServiceI.java
new file mode 100644
index 0000000..26e0397
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsActionServiceI.java
@@ -0,0 +1,68 @@
+package com.vci.web.service;
+
+import com.vci.corba.common.PLException;
+import com.vci.dto.PLActionClsDTO;
+import com.vci.dto.PLActionDTO;
+import com.vci.dto.PLActionQueryDTO;
+import com.vci.starter.web.pagemodel.BaseResult;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Action绠$悊鐨勬湇鍔�
+ * @author yuxc
+ * @date 2024-8-16
+ */
+public interface OsActionServiceI {
+ /**
+ * 淇濆瓨Action鍒嗙被淇℃伅
+ * @param pLActionCls Action鍒嗙被淇℃伅
+ * @return 淇濆瓨缁撴灉
+ */
+ BaseResult saveActionCls(PLActionClsDTO pLActionCls) throws PLException;
+ /**
+ * 淇敼Action鍒嗙被淇℃伅
+ * @param pLActionCls Action鍒嗙被淇℃伅
+ * @return 淇敼缁撴灉
+ */
+ BaseResult updateActionCls(PLActionClsDTO pLActionCls) throws PLException;
+ /**
+ * 鑾峰彇Action鍒嗙被鏍�
+ * isExp 鏄惁鐢ㄦ埛瀵煎嚭 true鏄紝false鍚�
+ * @return 鏌ヨ缁撴灉
+ */
+ BaseResult getActionTree(boolean isExp) throws PLException;
+ /**
+ * 鑾峰彇Action琛ㄦ牸鏁版嵁
+ * dto 鏌ヨ鏉′欢
+ * @return 鏌ヨ缁撴灉
+ */
+ BaseResult getActionTableData(PLActionQueryDTO dto) throws PLException;
+ /**
+ * 淇濆瓨Action鏁版嵁
+ * dto action浼犺緭瀵硅薄
+ * @return 淇濆瓨缁撴灉
+ */
+ BaseResult saveAction(PLActionDTO dto) throws PLException;
+ /**
+ * 淇敼Action鏁版嵁
+ * dto action浼犺緭瀵硅薄
+ * @return 淇敼缁撴灉
+ */
+ BaseResult updateAction(PLActionDTO dto) throws PLException;
+ /**
+ * 鍒犻櫎Action鏁版嵁
+ * dto action浼犺緭瀵硅薄
+ * @return 鍒犻櫎缁撴灉
+ */
+ BaseResult deleteAction(PLActionDTO dto) throws PLException;
+ /**
+ * 瀵煎嚭Action
+ * @return
+ */
+ void exportBeans(List<String> actionOid, HttpServletResponse response) throws PLException, IOException;
+}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsActionServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsActionServiceImpl.java
new file mode 100644
index 0000000..0ce7bef
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsActionServiceImpl.java
@@ -0,0 +1,405 @@
+package com.vci.web.service.impl;
+import cn.hutool.core.io.FileUtil;
+import com.vci.corba.common.PLException;
+import com.vci.corba.omd.ltm.LinkType;
+import com.vci.corba.omd.qtm.QTInfo;
+import com.vci.corba.portal.data.Constraint;
+import com.vci.corba.portal.data.PLAction;
+import com.vci.corba.portal.data.PLActionCls;
+import com.vci.corba.portal.data.PLActionParam;
+import com.vci.dto.PLActionClsDTO;
+import com.vci.dto.PLActionDTO;
+import com.vci.dto.PLActionQueryDTO;
+import com.vci.starter.web.pagemodel.BaseResult;
+import com.vci.starter.web.util.ControllerUtil;
+import com.vci.starter.web.util.LocalFileUtil;
+import com.vci.web.other.ExportActionLogBean;
+import com.vci.web.other.ExportBeans;
+import com.vci.web.other.LinkQTExportData;
+import com.vci.web.service.*;
+import com.vci.web.util.*;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.*;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * Action绠$悊鐨勬湇鍔″疄鐜扮被
+ * @author yuxc
+ * @date 2024-8-16
+ */
+@Service
+public class OsActionServiceImpl implements OsActionServiceI {
+
+ @Autowired
+ private PlatformClientUtil platformClientUtil;
+ /**
+ * 淇濆瓨Action鍒嗙被淇℃伅
+ * @param pLActionCls Action鍒嗙被淇℃伅
+ * @return 淇濆瓨缁撴灉
+ */
+ @Override
+ public BaseResult saveActionCls(PLActionClsDTO pLActionCls) throws PLException {
+
+ if (pLActionCls.getName() == null || pLActionCls.getName().trim().equals("")) {
+ throw new PLException("500", new String[]{"鍒嗙被鍚嶇О涓嶈兘涓虹┖!"});
+ }
+ if (pLActionCls.getName().equals("鏈垎绫�")) {
+ throw new PLException("500", new String[]{"鏈垎绫昏妭鐐瑰凡缁忓瓨鍦�!"});
+ }
+ PLActionCls pac = new PLActionCls();
+ pac.id = WebUtil.getSnowflakePk();
+ pac.name = pLActionCls.getName();
+ pac.pid = pLActionCls.getPid();
+ pac.description = pLActionCls.getDescription() == null ? "" : pLActionCls.getDescription();
+ pac.creator = WebUtil.getCurrentUserId();
+ pac.createTime = System.currentTimeMillis();
+ pac.serialno = pLActionCls.getSerialno();
+ // 淇濆瓨鍒嗙被淇℃伅
+ String message = platformClientUtil.getUIService().creaetePLActionCls(pac);
+ if (message.startsWith("0")) {
+ if (message.equals("01")) {
+ message = "鍒嗙被" + pac.name + "宸茬粡瀛樺湪锛�";
+ } else if (message.equals("02")) {
+ message = "鍚屼竴鍒嗙被涓嬪簭鍙蜂笉鑳介噸澶嶏紒";
+ } else {
+ message = "淇濆瓨鍒嗙被鏃跺彂鐢熷紓甯革紒" + message.substring(1);
+ }
+ throw new PLException("500", new String[]{message});
+ }
+ return BaseResult.success("鍒嗙被鍒涘缓鎴愬姛锛�");
+ }
+
+ /**
+ * 淇敼Action鍒嗙被淇℃伅
+ * @param pLActionCls Action鍒嗙被淇℃伅
+ * @return 淇濆瓨缁撴灉
+ */
+ @Override
+ public BaseResult updateActionCls(PLActionClsDTO pLActionCls) throws PLException {
+
+ if (pLActionCls.getName() == null || pLActionCls.getName().trim().equals("")) {
+ throw new PLException("500", new String[]{"鍒嗙被鍚嶇О涓嶈兘涓虹┖!"});
+ }
+ if (pLActionCls.getName().equals("鏈垎绫�")) {
+ throw new PLException("500", new String[]{"鏈垎绫昏妭鐐瑰凡缁忓瓨鍦�!"});
+ }
+ if (pLActionCls.getId() == null || pLActionCls.getId().trim().equals("")) {
+ throw new PLException("500", new String[]{"涓婚敭涓嶈兘涓虹┖!"});
+ }
+ PLActionCls pac = new PLActionCls();
+ pac.name = pLActionCls.getName();
+ pac.pid = pLActionCls.getPid();
+ pac.description = pLActionCls.getDescription() == null ? "" : pLActionCls.getDescription();
+ pac.creator = WebUtil.getCurrentUserId();
+ pac.createTime = System.currentTimeMillis();
+ pac.serialno = pLActionCls.getSerialno();
+ // 淇敼鍒嗙被淇℃伅
+ String message = platformClientUtil.getUIService().editPLActionCls(pac);
+ if (message.startsWith("0")) {
+ if (message.equals("01")) {
+ message = "鍒嗙被" + pac.name + "宸茬粡瀛樺湪锛�";
+ } else if (message.equals("02")) {
+ message = "鍚屼竴鍒嗙被涓嬪簭鍙蜂笉鑳介噸澶嶏紒";
+ } else {
+ message = "淇敼鍒嗙被鏃跺彂鐢熷紓甯革紒" + message.substring(1);
+ }
+ throw new PLException("500", new String[]{message});
+ }
+ return BaseResult.success("鍒嗙被淇敼鎴愬姛锛�");
+ }
+
+ /**
+ * 鑾峰彇Action鍒嗙被鏍�
+ * isExp 鏄惁鐢ㄦ埛瀵煎嚭 true鏄紝false鍚�
+ * @return 鏌ヨ缁撴灉
+ */
+ @Override
+ public BaseResult getActionTree(boolean isExp) throws PLException {
+ PLActionCls[] clses = platformClientUtil.getUIService().getPLActionClsArray();
+ PLActionClsDTO treDto = new PLActionClsDTO();
+ treDto.setName("Action鍒嗙被");
+ Map<String, List<PLActionCls>> allDataMap = Arrays.stream(clses).collect(Collectors.groupingBy(pl -> pl.pid));
+
+ for (PLActionCls cls : clses) {
+ if (StringUtils.isBlank(cls.pid)) {
+ PLActionClsDTO parentDto = new PLActionClsDTO();
+ parentDto.setId(cls.id);
+ parentDto.setName(cls.name);
+ parentDto.setPid(cls.pid);
+ parentDto.setDescription(cls.description);
+ parentDto.setCreator(cls.creator);
+ parentDto.setCreateTime(cls.createTime);
+ parentDto.setSerialno(cls.serialno);
+ //杩欓噷澶勭悊瀵煎嚭鏍戠殑閫昏緫
+ if(isExp){
+ Constraint[] consArray = new Constraint[1];
+ consArray[0] = new Constraint("plactioncls", cls.id);
+ PLAction[] plActionsByConsArray = platformClientUtil.getUIService().getPLActionsByConsArray(consArray);
+ if(parentDto.getChilds().isEmpty() && plActionsByConsArray.length == 0){
+ continue;
+ }
+ for (PLAction plAction : plActionsByConsArray) {
+ PLActionDTO plActionDTO = new PLActionDTO();
+ plActionDTO.setPlName(plAction.plCode + "/" + plAction.plName);
+ plActionDTO.setPlCode(plAction.plCode);
+ plActionDTO.setPlOId(plAction.plOId);
+ parentDto.getActionChilds().add(plActionDTO);
+ }
+ }
+ addClsTreeNode(parentDto, allDataMap, isExp);
+ treDto.getChilds().add(parentDto);
+ }
+ }
+ PLActionClsDTO plac = new PLActionClsDTO();
+ plac.setName("鏈垎绫�");
+ if(isExp){
+ Constraint[] consArray = new Constraint[1];
+ consArray[0] = new Constraint("plactioncls", "");
+ PLAction[] plActionsByConsArray = platformClientUtil.getUIService().getPLActionsByConsArray(consArray);
+ for (PLAction plAction : plActionsByConsArray) {
+ PLActionDTO plActionDTO = new PLActionDTO();
+ plActionDTO.setPlName(plAction.plCode + "/" + plAction.plName);
+ plActionDTO.setPlCode(plAction.plCode);
+ plActionDTO.setPlOId(plAction.plOId);
+ plac.getActionChilds().add(plActionDTO);
+ }
+ }
+ treDto.getChilds().add(plac);
+ return BaseResult.success(treDto);
+ }
+ /**
+ * 鑾峰彇Action琛ㄦ牸鏁版嵁
+ * dto 鏌ヨ鏉′欢
+ * @return 鏌ヨ缁撴灉
+ */
+ @Override
+ public BaseResult getActionTableData(PLActionQueryDTO dto) throws PLException {
+ Constraint[] consArray ;
+ if(StringUtils.isNotBlank(dto.getPlactioncls())){
+ consArray = new Constraint[7];
+ consArray[6] = new Constraint("plactioncls", dto.getPlactioncls());
+ }else {
+ consArray = new Constraint[6];
+ }
+ consArray[0] = new Constraint("plcode", dto.getPlcode());
+ consArray[1] = new Constraint("plname", dto.getPlname());
+ consArray[2] = new Constraint("plbsurl", dto.getPlbsurl());
+ consArray[3] = new Constraint("plcsclass", dto.getPlcsclass());
+ consArray[4] = new Constraint("pltypetype", dto.getPltypetype());
+ consArray[5] = new Constraint("pldesc", dto.getPldesc());
+ PLAction[] plActionsByConsArray = platformClientUtil.getUIService().getPLActionsByConsArray(consArray);
+ Arrays.sort(plActionsByConsArray, new Comparator<PLAction>() {
+ @Override
+ public int compare(PLAction o1, PLAction o2) {
+ String py1 = PinyinCommon.getPingYin(o1.plCode);
+ String py2 = PinyinCommon.getPingYin(o2.plCode);
+ return py1.compareTo(py2);
+ }
+ });
+ return BaseResult.dataList(Arrays.asList(plActionsByConsArray));
+ }
+ /**
+ * 淇濆瓨Action鏁版嵁
+ * dto action浼犺緭瀵硅薄
+ * @return 淇濆瓨缁撴灉
+ */
+ @Override
+ public BaseResult saveAction(PLActionDTO dto) throws PLException {
+ if(StringUtils.isBlank(dto.getPlCode())){
+ throw new PLException("500", new String[]{"璇疯緭鍏ョ紪鍙�"});
+ }
+ PLAction[] actionsInDB= platformClientUtil.getUIService().getAllPLAction();
+ for(int i =0;i<actionsInDB.length;i++){
+ if (dto.getPlCode().equals(actionsInDB[i].plCode)) {
+ throw new PLException("500", new String[]{"鏂板缓Action缂栧彿閲嶅锛岃閲嶆柊杈撳叆缂栧彿"});
+ }
+ }
+ PLAction plAction = new PLAction();
+ plAction.plOId = WebUtil.getSnowflakePk();
+ plAction.plCode = StringUtils.defaultString(dto.getPlCode());
+ plAction.plName = StringUtils.defaultString(dto.getPlName());
+ plAction.plCSClass = StringUtils.defaultString(dto.getPlCSClass());
+ plAction.plBSUrl = StringUtils.defaultString(dto.getPlBSUrl());
+ plAction.plDesc = StringUtils.defaultString(dto.getPlDesc());
+ plAction.plCreateUser = WebUtil.getCurrentUserId();
+ plAction.plModifyUser = WebUtil.getCurrentUserId();
+ plAction.plActionCls = StringUtils.defaultString(dto.getPlActionCls());
+ plAction.plTypeType = StringUtils.defaultString(dto.getPlTypeType());
+ boolean b = platformClientUtil.getUIService().savePLAction(plAction);
+ if(!b){
+ throw new PLException("500", new String[]{"淇濆瓨澶辫触锛侊紒"});
+ }
+ return BaseResult.success("鎿嶄綔鎴愬姛锛�");
+ }
+ /**
+ * 淇敼Action鏁版嵁
+ * dto action浼犺緭瀵硅薄
+ * @return 淇敼缁撴灉
+ */
+ @Override
+ public BaseResult updateAction(PLActionDTO dto) throws PLException {
+ if(StringUtils.isBlank(dto.getPlCode())){
+ throw new PLException("500", new String[]{"缂栧彿涓嶈兘涓虹┖"});
+ }
+ PLAction[] actionsInDB= platformClientUtil.getUIService().getAllPLAction();
+ for(int i =0;i<actionsInDB.length;i++){
+ if (dto.getPlCode().equals(actionsInDB[i].plCode) && !dto.getPlOId().equals(actionsInDB[i].plOId)) {
+ throw new PLException("500", new String[]{"淇敼Action缂栧彿閲嶅锛岃纭缂栧彿"});
+ }
+ }
+ PLAction plAction = new PLAction();
+ plAction.plOId = StringUtils.defaultString(dto.getPlOId());
+ plAction.plCode = StringUtils.defaultString(dto.getPlCode());
+ plAction.plName = StringUtils.defaultString(dto.getPlName());
+ plAction.plCSClass = StringUtils.defaultString(dto.getPlCSClass());
+ plAction.plBSUrl = StringUtils.defaultString(dto.getPlBSUrl());
+ plAction.plDesc = StringUtils.defaultString(dto.getPlDesc());
+ plAction.plCreateUser = dto.getPlCreateUser();
+ plAction.plModifyUser = WebUtil.getCurrentUserId();
+ plAction.plActionCls = StringUtils.defaultString(dto.getPlActionCls());
+ plAction.plTypeType = StringUtils.defaultString(dto.getPlTypeType());
+ boolean b = platformClientUtil.getUIService().updatePLAction(plAction);
+ if(!b){
+ throw new PLException("500", new String[]{"淇敼澶辫触锛侊紒"});
+ }
+ return BaseResult.success("淇敼鎴愬姛锛�");
+ }
+
+ /**
+ * 鍒犻櫎Action鏁版嵁
+ * dto action浼犺緭瀵硅薄
+ * @return 鍒犻櫎缁撴灉
+ */
+ @Override
+ public BaseResult deleteAction(PLActionDTO dto) throws PLException {
+ PLAction plAction = new PLAction();
+ plAction.plOId = StringUtils.defaultString(dto.getPlOId());
+ plAction.plCode = StringUtils.defaultString(dto.getPlCode());
+ plAction.plName = StringUtils.defaultString(dto.getPlName());
+ plAction.plCSClass = StringUtils.defaultString(dto.getPlCSClass());
+ plAction.plBSUrl = StringUtils.defaultString(dto.getPlBSUrl());
+ plAction.plDesc = StringUtils.defaultString(dto.getPlDesc());
+ plAction.plCreateUser = dto.getPlCreateUser();
+ plAction.plModifyUser = WebUtil.getCurrentUserId();
+ plAction.plActionCls = StringUtils.defaultString(dto.getPlActionCls());
+ plAction.plTypeType = StringUtils.defaultString(dto.getPlTypeType());
+ boolean b = platformClientUtil.getUIService().deletePLAction(plAction);
+ if(!b){
+ throw new PLException("500", new String[]{"鍒犻櫎澶辫触锛侊紒"});
+ }
+ return BaseResult.success("鍒犻櫎鎴愬姛锛�");
+ }
+ /**
+ * 瀵煎嚭Action
+ * @return
+ */
+ @Override
+ public void exportBeans(List<String> actionOid, HttpServletResponse response) throws PLException, IOException {
+ String defaultTempFolder = LocalFileUtil.getDefaultTempFolder();
+ String vciqtmfFileName = defaultTempFolder + File.separator + "actionTemplateExp" + new Date().getTime() + ".vciamf";
+ HashMap exportBeans = new HashMap<String, Object>();
+ getExportBeans(actionOid, exportBeans);// 鑾峰緱瀵煎嚭Bean鍚屾椂锛岃褰昹og
+
+ ObjectOutputStream vciamfFileStream = null;
+ try {
+ File vciqtmfFile = new File(vciqtmfFileName);
+ vciamfFileStream = new ObjectOutputStream(new FileOutputStream(vciqtmfFile));
+ vciamfFileStream.writeObject(exportBeans);
+ }finally {
+ try {
+ if (vciamfFileStream != null) {
+ vciamfFileStream.flush();
+ vciamfFileStream.close();
+ }
+ } catch (Exception e) {
+ throw new PLException("500",new String[]{"瀵煎嚭娴佸叧闂紓甯革紒"});
+ }
+ }
+ ControllerUtil.writeFileToResponse(response,vciqtmfFileName);
+ FileUtil.del(defaultTempFolder + File.separator);
+ }
+
+ /**
+ * 澶勭悊瀵煎嚭鐨勫璞�
+ * @param actionOid 鐣岄潰閫夋嫨鐨刟ction鍒楄〃鏁版嵁
+ * @param exportBeansMap 瀵煎嚭瀵硅薄
+ * @return
+ * @throws PLException
+ */
+ private void getExportBeans(List<String> actionOid, HashMap exportBeansMap) throws PLException {
+ PLActionCls[] plActionClsArray = platformClientUtil.getUIService().getPLActionClsArray();
+ Map<String, PLActionCls> clsMap = Arrays.stream(plActionClsArray).collect(Collectors.toMap(e -> e.id, e -> e));
+ ExportBeans exportBeans = new ExportBeans();
+ for (String oid : actionOid) {
+ PLAction plAction = platformClientUtil.getUIService().getPLActionById(oid);
+ //鏈夌埗鑺傜偣鍒欒繘琛屽鐞�
+ if(StringUtils.isNotBlank(plAction.plActionCls)){
+ allPLActionClsParent(exportBeans, clsMap.get(plAction.plActionCls), clsMap);
+ }
+ exportBeans.getPLActions().put(plAction.plOId, plAction);
+ PLActionParam[] params = platformClientUtil.getUIService().getPLActionParamArrayByActionId(plAction.plOId);
+ if(params != null && params.length > 0){//濡傛灉鍙傛暟瀛樺湪
+ for (PLActionParam plActionParam : params) {//娣诲姞action鍙傛暟
+ exportBeans.addPLActionParamBean(plActionParam);
+ }
+ }
+ String category = clsMap.containsKey(plAction.plActionCls) ? clsMap.get(plAction.plActionCls).name : "";
+ exportBeans.setLogBean(new ExportActionLogBean(ExportActionLogBean.RIGHT_STATE,
+ plAction.plCode,plAction.plName,plAction.plCSClass,plAction.plBSUrl,
+ plAction.plTypeType,plAction.plDesc,category));
+ }
+ exportBeansMap.put("exportBeans", exportBeans);
+ }
+ //澧炲姞鐖剁被鏁版嵁
+ private void allPLActionClsParent(ExportBeans exportBeans, PLActionCls cls, Map<String, PLActionCls> clsMap) {
+ if(cls.pid != ""){
+ allPLActionClsParent(exportBeans, clsMap.get(cls.pid), clsMap);
+ }
+ exportBeans.addPLActionClsBean(cls);
+ }
+
+ /**
+ * 娣诲姞瀛愯妭鐐�
+ * @param parentDto 鐖惰妭鐐瑰璞�
+ * @param allDataMap 鎵�鏈夊垎缁勫璞�
+ * @param isExp true涓哄鍑哄姛鑳界殑鏍戯紝false涓虹晫闈㈠垎绫绘爲
+ */
+ private void addClsTreeNode(PLActionClsDTO parentDto, Map<String, List<PLActionCls>> allDataMap, Boolean isExp) throws PLException {
+ if(allDataMap.containsKey(parentDto.id)){
+ for (PLActionCls cls : allDataMap.get(parentDto.id)) {
+ PLActionClsDTO childDto = new PLActionClsDTO();
+ childDto.setId(cls.id);
+ childDto.setName(cls.name);
+ childDto.setPid(cls.pid);
+ childDto.setDescription(cls.description);
+ childDto.setCreator(cls.creator);
+ childDto.setCreateTime(cls.createTime);
+ childDto.setSerialno(cls.serialno);
+ if(isExp){
+ Constraint[] consArray = new Constraint[1];
+ consArray[0] = new Constraint("plactioncls", cls.id);
+ PLAction[] plActionsByConsArray = platformClientUtil.getUIService().getPLActionsByConsArray(consArray);
+ if(parentDto.getChilds().isEmpty() && plActionsByConsArray.length == 0){
+ continue;
+ }
+ for (PLAction plAction : plActionsByConsArray) {
+ PLActionDTO plActionDTO = new PLActionDTO();
+ plActionDTO.setPlName(plAction.plCode + "/" + plAction.plName);
+ plActionDTO.setPlCode(plAction.plCode);
+ plActionDTO.setPlOId(plAction.plOId);
+ parentDto.getActionChilds().add(plActionDTO);
+ }
+ }
+ addClsTreeNode(childDto, allDataMap, isExp);
+ parentDto.getChilds().add(childDto);
+ }
+ }
+ }
+
+}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/util/PinyinCommon.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/util/PinyinCommon.java
new file mode 100644
index 0000000..12cefb5
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/util/PinyinCommon.java
@@ -0,0 +1,89 @@
+package com.vci.web.util;
+
+import net.sourceforge.pinyin4j.PinyinHelper;
+import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
+import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
+import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
+import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
+import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
+
+/**
+ *
+
+ * @author: ligang
+
+ * @createtime: 2012-12-26
+
+ * @version:
+
+ */
+ public class PinyinCommon {
+
+ /**
+ * 寰楀埌 鍏ㄦ嫾
+ * @param src
+ * @return
+ */
+ public static String getPingYin(String src){
+ char[] t1 = null;
+ t1=src.toCharArray();
+ String[] t2 = new String[t1.length];
+ HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat();
+ t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);
+ t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
+ t3.setVCharType(HanyuPinyinVCharType.WITH_V);
+ String t4="";
+ int t0=t1.length;
+ try {
+ for (int i=0;i<t0;i++) {
+ //鍒ゆ柇鏄惁涓烘眽瀛楀瓧绗�
+ if(Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")) {
+ t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);
+ t4+=t2[0];
+ } else {
+ t4+= Character.toString(t1[i]);
+ }
+ }
+ return t4;
+ }
+ catch (BadHanyuPinyinOutputFormatCombination e1) {
+ e1.printStackTrace();
+ }
+ return t4;
+ }
+
+ /**
+ * 寰楀埌涓枃棣栧瓧姣�
+ * @param str
+ * @return
+ */
+ public static String getPinYinHeadChar(String str) {
+
+ String convert = "";
+ for (int j = 0; j < str.length(); j++) {
+ char word = str.charAt(j);
+ String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);
+ if (pinyinArray != null) {
+ convert += pinyinArray[0].charAt(0);
+ }else {
+ convert += word;
+ }
+ }
+ return convert;
+ }
+ /**
+ * 灏嗗瓧绗︿覆杞Щ涓篈SCII鐮�
+ * @param cnStr
+ * @return
+ */
+ public static String getCnASCII(String cnStr) {
+ StringBuffer strBuf = new StringBuffer();
+ byte[] bGBK = cnStr.getBytes();
+ for(int i=0;i <bGBK.length;i++){
+ //System.out.println(Integer.toHexString(bGBK[i]&0xff));
+ strBuf.append(Integer.toHexString(bGBK[i]&0xff));
+ }
+ return strBuf.toString();
+ }
+
+}
\ No newline at end of file
--
Gitblit v1.9.3