From 0b95e45d1603381cc65cb7a8c6bac4945a5c6f3c Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期二, 25 十一月 2025 14:40:20 +0800
Subject: [PATCH] 仓储基本信息表

---
 fzzy-igdss-core/src/main/java/com/fzzy/igds/utils/ContextUtil.java |  216 +++++++----------------------------------------------
 1 files changed, 31 insertions(+), 185 deletions(-)

diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/utils/ContextUtil.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/utils/ContextUtil.java
index b4f16db..b845309 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/utils/ContextUtil.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/utils/ContextUtil.java
@@ -1,14 +1,16 @@
-package com.fzzy.eoms.utils;
+package com.fzzy.igds.utils;
 
-import com.fzzy.igds.data.ConfigData;
+import com.ruoyi.common.config.FrameworkConfig;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.ShiroUtils;
-import com.ruoyi.common.utils.spring.SpringUtils;
 import org.apache.commons.lang3.RandomUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.time.DateFormatUtils;
 
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
+import java.util.concurrent.atomic.AtomicLong;
 
 /**
  * 绯荤粺鍏敤鏂规硶
@@ -17,203 +19,47 @@
  */
 public class ContextUtil {
 
-    public static Map<String, Boolean> l = new HashMap<>();
-    //鍏ㄥ眬鐢ㄦ埛瀹炴椂鍧愬湪閮ㄩ棬
-    public static Map<String, String> contextUserDept = new HashMap<>();
-    /**
-     * 鍏ㄥ眬鍛戒护ID
-     */
-    public static Map<String, Integer> contextOrderId = new HashMap<>();
+    private static final AtomicLong sequence = new AtomicLong(0);
+    private static String lastTimestamp = "";
 
     /**
-     * UUID鐢熸垚瑙勫垯
+     * 鐢熸垚椤哄簭ID锛氬勾鏈堟棩鏃跺垎绉掓绉�(17浣�) + 搴忓垪鍙�(4浣�) = 21浣�
      *
      * @return
      */
-    public static String getUUID() {
-        return UUID.randomUUID().toString().replaceAll("-", "").toUpperCase();
-    }
+    public static String generateId() {
+        String currentTimestamp = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"));
+        long seq;
+        synchronized (ContextUtil.class) {
+            if (currentTimestamp.equals(lastTimestamp)) {
+                seq = sequence.incrementAndGet();
+            } else {
+                sequence.set(0);
+                seq = 0;
 
-    public static String getBusinessID() {
-        return DateFormatUtils.format(new Date(), "yyyyMMdd") + String.format("%04d", RandomUtils.nextInt(0, 10000));
-    }
-
-    public static String getCurTimeMillis() {
-        return System.currentTimeMillis() + "";
-    }
-
-    public static String getTimeId() {
-        return DateFormatUtils.format(new Date(), "yyyyMMddHHmmss");
-    }
-
-    public static String getTimeId(int start, int end) {
-        return DateFormatUtils.format(new Date(), "yyyyMMddHHmmss") + RandomUtils.nextInt(start, end);
-    }
-
-
-    /**
-     * 鑾峰彇褰撳墠骞翠唤
-     *
-     * @return
-     */
-    public static String getYear() {
-        return DateFormatUtils.format(new Date(), "yyyyMM");
-    }
-
-    /**
-     * 鐢熸垚璧勪骇缂栫爜ID
-     * @return
-     */
-    public static String createAssetId() {
-        return "NO" + randomChar(4) + getYear() + randomNum(6);
-    }
-
-
-    /**
-     * 鐢熸垚涓氬姟ID
-     * @param prefix
-     * @return
-     */
-    public static String getBizId(String prefix) {
-        if (prefix == null) prefix = "ID";
-        return prefix + getTimeId() + randomNum(4);
-    }
-
-
-    /**
-     * 闅忔満鐢熸垚澶у啓瀛楁瘝
-     *
-     * @param length 闀垮害
-     * @return
-     */
-    public static String randomChar(int length) {
-        Random random = new Random();
-        StringBuffer sb = new StringBuffer();
-        for (int i = 0; i < length; i++) {
-            char randomLetter = (char) (random.nextInt(26) + 'A'); // 65-90
-            sb.append(randomLetter);
+                lastTimestamp = currentTimestamp;
+            }
         }
-        return sb.toString();
+        return String.format("%s%04d", currentTimestamp, seq);
     }
+
+    public static String UUID() {
+        return UUID.randomUUID().toString().replaceAll("-", "");
+    }
+
 
     /**
-     * 闅忔満鐢熸垚鏁板瓧
-     * @param length
-     * @return
-     */
-    public static String randomNum(int length) {
-        Random random = new Random();
-        StringBuffer sb = new StringBuffer();
-        for (int i = 0; i < length; i++) {
-            int digit = random.nextInt(10); // 鐢熸垚0-9鐨勯殢鏈烘暟
-            sb.append(digit);
-        }
-        return sb.toString();
-    }
-
-
-    public static String getDefaultBatchId() {
-        return DateFormatUtils.format(new Date(), "yyyyMMddHHmm");
-    }
-
-    /**
-     * 鏍规嵁褰撳墠鐧婚檰浜鸿幏鍙栫粍缁囩紪鍙凤紝濡傛灉娌℃湁鐧婚檰浜鸿幏鍙栫郴缁熼粯璁ょ殑缁勭粐缂栧彿
-     *
-     * @return
+     * 榛樿鑾峰彇鐧诲綍浜烘墍鍦ㄧ粍缁囷紝濡傛灉鏈櫥褰曞垯鑾峰彇绯荤粺榛樿缁勭粐
+     * @return 缁勭粐ID
      */
     public static String getCompanyId() {
-        return ShiroUtils.getLoginUserCompanyId();
-    }
 
-    /**
-     * 鑾峰彇绯荤粺榛樿鐨�=companyId
-     *
-     * @return
-     */
-    public static String getDefaultCompanyId() {
         SysUser user = ShiroUtils.getSysUser();
-        if (null != user) {
-            return user.getCompanyId();
-        } else {
-            ConfigData configData = SpringUtils.getBean(ConfigData.class);
-            return configData.getDefaultCompanyId();
-        }
+        if(null != user) return user.getCompanyId();
+        return FrameworkConfig.getCompanyId();
     }
 
-
-    /**
-     * 鏈�楂樼殑缂栫爜涓猴細缁勭粐缂栫爜锛岀劧鍚庨�愮骇寰�涓嬶紝濡傦細5013,5013_001,5013_002,5013_001_001
-     *
-     * @param companyId 蹇呴』
-     * @param parentId  鍙┖
-     * @param endId     鍙┖
-     * @param format    蹇呴』 涓変綅浼�1000锛屽洓浣嶄紶10000
-     * @return
-     */
-    public static String getNextId(String companyId, String parentId,
-                                   String endId, int format) {
-        if (parentId == null) {
-            return companyId;
-        }
-        try {
-            int endNum = 0;
-            if (StringUtils.isNotEmpty(endId)) {
-                endNum = Integer.valueOf(endId.substring(endId.length() - 3));
-            }
-            String endStr = ("" + (endNum + format + 1)).substring(1);
-
-            if (parentId.equals(companyId)) {
-                return companyId + "_" + endStr;
-            }
-            parentId = parentId.substring(parentId.lastIndexOf("_") + 1);
-            return companyId + "_" + parentId + "_" + endStr;
-
-        } catch (Exception e) {
-            e.printStackTrace();
-            return null;
-        }
+    public static String getLoginUserName() {
+      return  ShiroUtils.getUserName() ;
     }
-
-    /**
-     * 鑾峰彇浠撳簱缂栫爜  鏍煎紡锛�
-     *
-     * @param deptId 5102_001_001  5102_001_002
-     *               蹇呴』 鍒嗗簱缂栫爜
-     * @param endId  蹇呴』 鏈�鍚庣殑浠撳簱缂栫爜
-     * @param format 蹇呴』 涓変綅浼�1000锛屽洓浣嶄紶10000锛岄粯璁ら兘浼�1000
-     * @return
-     */
-    public static String getNextDepotId(String deptId, String endId, int format) {
-        try {
-            int endNum = 0;
-            if (StringUtils.isNotEmpty(endId)) {
-                endNum = Integer.valueOf(endId.substring(endId.length() - 3));
-            }
-            String endStr = ("" + (endNum + format + 1)).substring(1);
-
-            endStr = deptId.substring(deptId.indexOf("_") + 1) + "_" + endStr;
-
-            return endStr.replaceAll("_", "");
-        } catch (Exception e) {
-            e.printStackTrace();
-            return null;
-        }
-    }
-
-
-    /**
-     * 鑾峰彇鍒犻櫎娉ㄩ噴
-     *
-     * @author sgj
-     * @date 2025/08/05
-     * @param desc 鍒犻櫎鏂囨鎻忚堪
-     */
-    public static String getDeleteDesc(String desc) {
-        if (StringUtils.isEmpty(desc)) {
-            desc = "鍒犻櫎鏁版嵁";
-        }
-        return desc + "_" + ShiroUtils.getLoginName() + "_" + new Date();
-    }
-
-
 }

--
Gitblit v1.9.3