From 878b6958363308a7d07b7b8197dc19662f3e1198 Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期五, 27 三月 2026 15:40:22 +0800
Subject: [PATCH] 获取出入库id,逻辑优化调整

---
 fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java |   33 +++++++++++++++------------------
 fzzy-igdss-web/src/main/java/com/fzzy/inout/manager/InoutManager.java       |   11 ++++++-----
 fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java                |    6 ++++--
 3 files changed, 25 insertions(+), 25 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 d4b0335..b2c65db 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
@@ -244,7 +244,7 @@
         InoutRecord record = new InoutRecord();
         BeanUtils.copyProperties(data, record);
         //淇濆瓨
-        int num = this.addInoutRecord(record);
+        int num = this.addInoutRecord(record,true);
 
         //闄勪欢澶勭悊
         fileService.saveInoutFiles(data.getFiles(), record.getId(), null, "INOUT");
@@ -262,13 +262,13 @@
      * @param list
      * @return
      */
-    public String addInoutRecordList(List<InoutRecord> list) {
+    public String addInoutRecordList(List<InoutRecord> list,boolean isCache) {
         if (null == list || list.isEmpty()) {
             return "鏂板澶辫触";
         }
 
         for (InoutRecord inoutRecord : list) {
-            addInoutRecord(inoutRecord);
+            addInoutRecord(inoutRecord,isCache);
         }
 
         return null;
@@ -280,10 +280,10 @@
      * @param data
      * @return
      */
-    public int addInoutRecord(InoutRecord data) {
+    public int addInoutRecord(InoutRecord data,boolean isCache) {
 
         if (StringUtils.isBlank(data.getId())) {
-            String id = this.createId(data.getRegisterTime(), data.getCompanyId());
+            String id = this.createId(data.getRegisterTime(), data.getCompanyId(),isCache);
             if (Constant.TYPE_IN.equals(data.getType())) {
                 data.setId("R_" + id);
             } else if (Constant.TYPE_OUT.equals(data.getType())) {
@@ -595,7 +595,7 @@
      * @param companyId
      * @return
      */
-    public String createId(Date registerTime, String companyId) {
+    public String createId(Date registerTime, String companyId,boolean isCache) {
 
         // 鏃堕棿鎴虫爣绛�
         String timeKey = DateFormatUtils.format(registerTime, "yyyyMMdd");
@@ -603,7 +603,10 @@
         // 浠庣紦瀛樹腑鑾峰彇宸叉湁鐨勭粍缁囩紪鐮�
         String cacheKey = RedisConst.buildKey(companyId, Constant.CACHE_RECORD_ID);
 
-        String cacheId = (String) redisCache.getCacheObject(cacheKey);
+        String cacheId = null;
+        if (isCache) {
+            cacheId=(String) redisCache.getCacheObject(cacheKey);
+        }
 
         if (null != cacheId && cacheId.indexOf(timeKey) >= 0) {
             String temp = cacheId.substring(cacheId.length() - 4);
@@ -668,7 +671,9 @@
         }
 
         // 鏇存柊缂撳瓨
-        redisCache.setCacheObject(cacheKey, cacheId);
+        if(isCache){
+            redisCache.setCacheObject(cacheKey, cacheId);
+        }
 
         return cacheId;
     }
@@ -683,15 +688,8 @@
     public boolean checkIdExists(String companyId, String id) {
         QueryWrapper<InoutRecord> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("company_id", companyId);
-        queryWrapper.and(wrapper ->
-                wrapper.eq("id", id)
-                        .or()
-                        .eq("id", "R_" + id)
-                        .or()
-                        .eq("id", "C_" + id)
-                        .or()
-                        .eq("id", "M_" + id)
-        );
+        //浣跨敤likeleft
+        queryWrapper.likeLeft("id", id);
         List<InoutRecord> inoutRecords = inoutRecordMapper.selectList(queryWrapper);
         if( null != inoutRecords && inoutRecords.size() > 0){
             return true;
@@ -716,7 +714,6 @@
         queryWrapper.eq("company_id", companyId);
         queryWrapper.like("id", timeKey);
         queryWrapper.orderByDesc("register_time");
-        queryWrapper.orderByDesc("id");
         List<InoutRecord> inoutRecords = inoutRecordMapper.selectList(queryWrapper);
         if (null == inoutRecords || inoutRecords.isEmpty()) {
             return null;
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java
index ac5f2a8..4615130 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java
@@ -25,8 +25,10 @@
 import org.apache.commons.lang3.time.DateUtils;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
+
 import javax.annotation.Resource;
-import java.util.*;
+import java.util.Date;
+import java.util.List;
 
 /**
  * @Description 鍑哄叆搴撹鍗曢〉闈㈢鐞�
@@ -284,7 +286,7 @@
             }
 
             //鏂板鏁版嵁
-            String msg = inoutRecordService.addInoutRecordList(inoutRecords);
+            String msg = inoutRecordService.addInoutRecordList(inoutRecords,false);
 
             if(null == msg){
                 return BaseResp.success("瀵煎叆鎴愬姛锛屽叡璁″鍏�" + inoutRecords.size() + "鏉℃暟鎹紒"  );
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/inout/manager/InoutManager.java b/fzzy-igdss-web/src/main/java/com/fzzy/inout/manager/InoutManager.java
index c5e0b09..7babc80 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/inout/manager/InoutManager.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/inout/manager/InoutManager.java
@@ -15,15 +15,16 @@
 import com.fzzy.work.data.WorkStatus;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.redis.RedisCache;
-import lombok.extern.slf4j.Slf4j;
 import com.ruoyi.common.utils.StringUtils;
-import org.springframework.scheduling.annotation.Async;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
-import java.io.File;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
 
 /**
  * @Description 鍑哄叆搴撲笟鍔″鐞�
@@ -230,7 +231,7 @@
         data.setRegisterUser(ContextUtil.getLoginUserName());
         data.setRegisterTime(new Date());
 
-        num = inoutRecordService.addInoutRecord(data);
+        num = inoutRecordService.addInoutRecord(data,true);
 
         if (num == 0) {
             return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鐧昏澶辫触锛�", data);

--
Gitblit v1.9.3