From 1eddf64a7104dcd06065e8ac309eebc42c24fb05 Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期五, 27 三月 2026 14:29:56 +0800
Subject: [PATCH] 出入库记录导入,判重兜底校验纠正
---
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java | 51 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 49 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..d4b0335 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,57 @@
}
}
+
+ // 鏁版嵁搴� 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.and(wrapper ->
+ wrapper.eq("id", id)
+ .or()
+ .eq("id", "R_" + id)
+ .or()
+ .eq("id", "C_" + id)
+ .or()
+ .eq("id", "M_" + id)
+ );
+ List<InoutRecord> inoutRecords = inoutRecordMapper.selectList(queryWrapper);
+ if( null != inoutRecords && inoutRecords.size() > 0){
+ return true;
+ }
+ return false;
}
/**
@@ -668,8 +715,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