From 9bce48a9f30f7d80c43f43f46d40df20fcb00e15 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期五, 03 二月 2023 09:39:59 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/helper/WebHelper.java      |   17 ++++++++
 data/db_fn.sql                                         |   40 +++++++++++++++++++
 src/main/java/com/lf/server/entity/all/StaticData.java |    5 ++
 data/db_cx.sql                                         |   16 ++++++++
 src/main/resources/application.yml                     |    2 
 5 files changed, 78 insertions(+), 2 deletions(-)

diff --git a/data/db_cx.sql b/data/db_cx.sql
index 3ab4283..bc52b34 100644
--- a/data/db_cx.sql
+++ b/data/db_cx.sql
@@ -289,6 +289,22 @@
 select fn_rec_query(depid,'dep') depName,fn_rec_query(dirid,'dir') dirName,fn_ver(verid) verName,fn_uname(createuser) createName,fn_uname(updateuser) updateName from bd.dlg_agnp limit 5;
 
 select ns,tab from lf.sys_dict a where not exists (select id from lf.sys_dict b where b.ns=a.ns and b.tab=a.tab and b.field='gid') group by ns,tab; -- 鏌ヨ瀛楀吀涓笉瀛樺湪gid鐨勮〃
+---------------------------------------------------------------------------------------------- 
+-- 10杩涘埗杞�62杩涘埗
+WITH RECURSIVE T(N, S) AS (
+    SELECT 3843::NUMERIC(30, 0) N, '' S
+    UNION ALL
+    SELECT trunc(N / 62)::NUMERIC(30, 0), substr('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', (N % 62)::INT + 1, 1) || S FROM T WHERE N > 0 
+) 
+SELECT S FROM T WHERE N = 0;
+
+-- 62杩涘埗杞�10杩涘埗
+WITH RECURSIVE T(S, N) AS (
+    SELECT 'ZZ' S, 0::NUMERIC N
+    UNION ALL
+    SELECT SUBSTR(S, 2), (POWER(62, LENGTH(S)::NUMERIC - 1) * (strpos('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', SUBSTR(S, 1, 1)) - 1) + N) FROM T WHERE LENGTH(S) > 0
+)
+SELECT N::NUMERIC(30, 0) FROM T WHERE LENGTH(S) < 1;
 ---------------------------------------------------------------------------------------------- -1.娴嬭瘯
 select id,name from lf.sys_dir where name in ('娴嬮噺锛圗SV锛�','鍕樺療锛圗GE锛�','鍦扮伨锛圗GD锛�','娲炲簱锛圗GD锛�') order by name;
 
diff --git a/data/db_fn.sql b/data/db_fn.sql
index 2056b29..1fbb40f 100644
--- a/data/db_fn.sql
+++ b/data/db_fn.sql
@@ -208,7 +208,45 @@
 select fn_rec_array(1, 'dep')
 select count(*) from lf.sys_meta where depid = ANY(fn_rec_array(1, 'dep'));
 select count(*) from bd.dlg_25w_lrdl where depid = ANY(fn_rec_array(1, 'dep'));
------------------------------------------------------------------------------------------------------ 10.璺緞鍒嗘瀽
+----------------------------------------------------------------------------------------------------- 10.10杩涘埗杞�62杩涘埗
+-- drop function fn_10to62(numeric); 
+create or replace function fn_10to62(num numeric(30, 0))
+returns varchar as $$
+	declare
+		rs varchar;
+	begin
+		WITH RECURSIVE T(N, S) AS (
+			SELECT num N, '' S
+			UNION ALL
+			SELECT trunc(N / 62)::NUMERIC(30, 0), substr('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', (N % 62)::INT + 1, 1) || S FROM T WHERE N > 0 
+		) 
+		SELECT S INTO rs FROM T WHERE N = 0;
+		
+		return rs;
+	end;
+$$ language plpgsql;
+
+select fn_10to62(3843);
+----------------------------------------------------------------------------------------------------- 11.62杩涘埗杞�10杩涘埗
+-- drop function fn_62to10(numeric); 
+create or replace function fn_62to10(ch varchar)
+returns numeric as $$
+	declare
+		rs numeric(30, 0);
+	begin
+		WITH RECURSIVE T(S, N) AS (
+			SELECT ch S, 0::NUMERIC N
+			UNION ALL
+			SELECT SUBSTR(S, 2), (POWER(62, LENGTH(S)::NUMERIC - 1) * (strpos('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', SUBSTR(S, 1, 1)) - 1) + N) FROM T WHERE LENGTH(S) > 0
+		)
+		SELECT N INTO rs FROM T WHERE LENGTH(S) < 1;
+		
+		return rs;
+	end;
+$$ language plpgsql;
+
+select fn_62to10('zz');
+----------------------------------------------------------------------------------------------------- 12.璺緞鍒嗘瀽
 -- 鍒犻櫎宸插瓨鍦ㄧ殑鍑芥暟
 drop function pgr_fromAtoB(varchar, double precision, double precision, double precision, double precision);
 
diff --git a/src/main/java/com/lf/server/entity/all/StaticData.java b/src/main/java/com/lf/server/entity/all/StaticData.java
index 0147251..4625c56 100644
--- a/src/main/java/com/lf/server/entity/all/StaticData.java
+++ b/src/main/java/com/lf/server/entity/all/StaticData.java
@@ -115,6 +115,11 @@
     public final static String MPT = ".mpt";
 
     /**
+     * 3DML鏂囦欢
+     */
+    public final static String _3DML = ".3dml";
+
+    /**
      * TIF鏂囦欢
      */
     public final static String TIF = ".tif";
diff --git a/src/main/java/com/lf/server/helper/WebHelper.java b/src/main/java/com/lf/server/helper/WebHelper.java
index 8fabfc5..23937bb 100644
--- a/src/main/java/com/lf/server/helper/WebHelper.java
+++ b/src/main/java/com/lf/server/helper/WebHelper.java
@@ -5,6 +5,8 @@
 import com.lf.server.entity.all.ResponseMsg;
 import com.lf.server.entity.all.SettingData;
 import com.lf.server.entity.all.StaticData;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
@@ -31,6 +33,8 @@
     private final static String UNKNOWN = "unknown";
 
     private final static String COMMA = ",";
+
+    private final static Log log = LogFactory.getLog(WebHelper.class);
 
     /**
      * 鑾峰彇GUID
@@ -334,4 +338,17 @@
         outputStream.close();
         fileInputStream.close();
     }
+
+    /**
+     * 鎵ц鍛戒护
+     *
+     * @param cmd 鍛戒护
+     */
+    public static void exec(String cmd) {
+        try {
+            Runtime.getRuntime().exec(cmd);
+        } catch (Exception ex) {
+            log.error(ex.getMessage(), ex);
+        }
+    }
 }
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index bc490bd..47506c6 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -42,7 +42,7 @@
     name: prod
     # JDBC 鍩烘湰閰嶇疆 &currentSchema=public
     url: jdbc:postgresql://192.168.20.205:5433/langfang?useAffectedRows=true
-    #url: jdbc:postgresql://pipe.cppe.com:5433/langfang?useAffectedRows=true
+    #url: jdbc:postgresql://127.0.0.1:5433/langfang?useAffectedRows=true
     username : postgres
     password: Postgres!_14_Lf
     #password: postgres

--
Gitblit v1.9.3