From 57610f520d214c9b5797191f7dbc68c121c7f0c1 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期二, 14 四月 2026 19:34:52 +0800
Subject: [PATCH] mat导入问题 移库数据丢失修复
---
src/main/java/com/zy/asrs/utils/MatExcelListener.java | 46 +++++++++++++++++++++++++++++++---------------
1 files changed, 31 insertions(+), 15 deletions(-)
diff --git a/src/main/java/com/zy/asrs/utils/MatExcelListener.java b/src/main/java/com/zy/asrs/utils/MatExcelListener.java
index cd399be..497492c 100644
--- a/src/main/java/com/zy/asrs/utils/MatExcelListener.java
+++ b/src/main/java/com/zy/asrs/utils/MatExcelListener.java
@@ -56,6 +56,9 @@
MatService matService = SpringUtils.getBean(MatService.class);
Date now = new Date();
Long tagId;
+ if (Cools.isEmpty(excel.getMatnr())) {
+ throw new CoolException("鍟嗗搧缂栫爜涓嶈兘涓虹┖锛侊紒");
+ }
// 鍒嗙被
// 涓�绾у垎绫�
if (!Cools.isEmpty(excel.getPriClass()) && !Cools.isEmpty(excel.getSecClass())) {
@@ -125,21 +128,34 @@
}
// 鍟嗗搧
Mat mat = matService.selectByMatnr(excel.getMatnr());
- if (mat == null) {
- mat = excel;
- mat.setTagId(tagId);
- mat.setLocType(tagId);
- if (Objects.isNull(mat.getVolume())) {
- throw new CoolException("姣忓叕鏂ら暱搴︿笉鑳戒负绌猴紒锛�");
- }
- if (Objects.isNull(mat.getSafeQty())) {
- throw new CoolException("褰掗浂闃�鍊间笉鑳戒负绌猴紒锛�");
- }
- if (!matService.insert(mat)) {
- throw new CoolException("淇濆瓨鍟嗗搧淇℃伅澶辫触锛屽晢鍝佺紪鐮侊細" + excel.getMatnr());
- }
- total++;
+ boolean isNew = mat == null;
+ if (isNew) {
+ mat = new Mat();
+ mat.setCreateBy(userId);
+ mat.setCreateTime(now);
}
+ mat.setMatnr(excel.getMatnr());
+ mat.setMaktx(excel.getMaktx());
+ mat.setUnit(excel.getUnit());
+ mat.setSafeQty(excel.getSafeQty());
+ mat.setVolume(excel.getVolume());
+ mat.setStoreMax(excel.getStoreMax());
+ mat.setStoreMin(excel.getStoreMin());
+ mat.setTagId(tagId);
+ mat.setLocType(tagId);
+ mat.setUpdateBy(userId);
+ mat.setUpdateTime(now);
+ if (Objects.isNull(mat.getVolume())) {
+ throw new CoolException("姣忓叕鏂ら暱搴︿笉鑳戒负绌猴紒锛�");
+ }
+ if (Objects.isNull(mat.getSafeQty())) {
+ throw new CoolException("褰掗浂闃堝�间笉鑳戒负绌猴紒锛�");
+ }
+ boolean ok = isNew ? matService.insert(mat) : matService.updateById(mat);
+ if (!ok) {
+ throw new CoolException((isNew ? "淇濆瓨" : "鏇存柊") + "鍟嗗搧淇℃伅澶辫触锛屽晢鍝佺紪鐮侊細" + excel.getMatnr());
+ }
+ total++;
}
/**
@@ -148,7 +164,7 @@
*/
@Override
public void doAfterAllAnalysed(AnalysisContext ctx) {
- log.info("鏂板{}鏉$墿鏂欎俊鎭紒", total);
+ log.info("鍚屾{}鏉$墿鏂欎俊鎭紒", total);
}
public int getTotal() {
--
Gitblit v1.9.1