From 26220601f74874186865626c051ea08373ea44bb Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期四, 26 三月 2026 15:29:52 +0800
Subject: [PATCH] 导入,创建id避免重复

---
 fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java |   40 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 38 insertions(+), 2 deletions(-)

diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java
index 6413c9d..bc66812 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java
@@ -646,10 +646,46 @@
             }
         }
 
+
+        // 鏁版嵁搴� ID 閲嶅鏍¢獙锛岀‘淇濇柊鐢熸垚鐨� ID 鍦ㄦ暟鎹簱涓笉瀛樺湪
+        while (this.checkIdExists(companyId, cacheId)) {
+            String temp = cacheId.substring(cacheId.length() - 4);
+            Integer i = Integer.valueOf(temp);
+            i++;
+            temp = String.valueOf(i);
+            if (temp.length() == 1) {
+                cacheId = timeKey + "000" + temp;
+            }
+            if (temp.length() == 2) {
+                cacheId = timeKey + "00" + temp;
+            }
+            if (temp.length() == 3) {
+                cacheId = timeKey + "0" + temp;
+            }
+            if (temp.length() == 4) {
+                cacheId = timeKey + temp;
+            }
+        }
+
         // 鏇存柊缂撳瓨
         redisCache.setCacheObject(cacheKey, cacheId);
 
         return cacheId;
+    }
+
+    /**
+     * 妫�鏌� ID 鏄惁鍦ㄦ暟鎹簱涓凡瀛樺湪
+     *
+     * @param companyId
+     * @param id
+     * @return true-宸插瓨鍦紝false-涓嶅瓨鍦�
+     */
+    public boolean checkIdExists(String companyId, String id) {
+        QueryWrapper<InoutRecord> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("company_id", companyId);
+        queryWrapper.eq("id", id);
+        InoutRecord record = inoutRecordMapper.selectOne(queryWrapper);
+        return null != record;
     }
 
     /**
@@ -668,8 +704,8 @@
 
         queryWrapper.eq("company_id", companyId);
         queryWrapper.like("id", timeKey);
-        queryWrapper.orderByDesc("create_time");
-
+        queryWrapper.orderByDesc("register_time");
+        queryWrapper.orderByDesc("id");
         List<InoutRecord> inoutRecords = inoutRecordMapper.selectList(queryWrapper);
         if (null == inoutRecords || inoutRecords.isEmpty()) {
             return null;

--
Gitblit v1.9.3