From 4625170c05e5a1e1920c3445331287b5464bdfd1 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 05 七月 2024 19:37:43 +0800
Subject: [PATCH] #物料档导入允许update

---
 zy-asrs-common/src/main/java/com/zy/asrs/common/utils/MatExcelListener.java |   27 +++++++++++++++++++++------
 1 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/utils/MatExcelListener.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/utils/MatExcelListener.java
index 5632f3c..279113b 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/utils/MatExcelListener.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/utils/MatExcelListener.java
@@ -27,12 +27,14 @@
 
     private int total = 0;
     private Long userId;
+    private Long hostId;
 
     public MatExcelListener() {
     }
 
-    public MatExcelListener(Long userId) {
+    public MatExcelListener(Long userId, Long hostId) {
         this.userId = userId;
+        this.hostId = hostId;
     }
 
     /**
@@ -62,9 +64,9 @@
         // 鍒嗙被
         // 涓�绾у垎绫�
         if (!Cools.isEmpty(excel.getPriClass()) && !Cools.isEmpty(excel.getSecClass())) {
-            Tag priTag = tagService.getOne(new LambdaQueryWrapper<Tag>().eq(Tag::getName, excel.getPriClass()).eq(Tag::getLevel, 2));
+            Tag priTag = tagService.getOne(new LambdaQueryWrapper<Tag>().eq(Tag::getName, excel.getPriClass()).eq(Tag::getLevel, 2).eq(Tag::getHostId, hostId));
             if (priTag == null) {
-                Tag top = tagService.getTop();
+                Tag top = tagService.getTop(hostId);
                 NodeUtils nodeUtils = new NodeUtils();
                 nodeUtils.executePath(top.getId());
                 priTag = new Tag(
@@ -88,12 +90,13 @@
                         null,    // 淇敼浜哄憳
                         null    // 澶囨敞
                 );
+                priTag.setHostId(hostId);
                 if (tagMapper.insert(priTag) == 0) {
                     throw new CoolException("淇濆瓨涓�绾у垎绫诲け璐�");
                 }
             }
             // 浜岀骇鍒嗙被
-            Tag secTag = tagService.getOne(new LambdaQueryWrapper<Tag>().eq(Tag::getName, excel.getPriClass()).eq(Tag::getLevel, 3));
+            Tag secTag = tagService.getOne(new LambdaQueryWrapper<Tag>().eq(Tag::getName, excel.getSecClass()).eq(Tag::getLevel, 3).eq(Tag::getHostId, hostId));
             if (secTag == null) {
                 NodeUtils nodeUtils = new NodeUtils();
                 nodeUtils.executePath(priTag.getId());
@@ -118,19 +121,31 @@
                         null,    // 淇敼浜哄憳
                         null    // 澶囨敞
                 );
+                secTag.setHostId(hostId);
                 if (tagMapper.insert(secTag) == 0) {
                     throw new CoolException("淇濆瓨浜岀骇鍒嗙被澶辫触");
                 }
             }
             tagId = secTag.getId();
         } else {
-            tagId = tagService.getTop().getId();
+            tagId = tagService.getTop(hostId).getId();
         }
         // 鍟嗗搧
-        Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, excel.getMatnr()));
+        Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, excel.getMatnr()).eq(Mat::getHostId, hostId));
         if (mat == null) {
             mat = excel;
             mat.setTagId(tagId);
+            mat.setHostId(hostId);
+            if (!matService.save(mat)) {
+                throw new CoolException("淇濆瓨鍟嗗搧淇℃伅澶辫触锛屽晢鍝佺紪鐮侊細" + excel.getMatnr());
+            }
+            total++;
+        }else {
+            matService.removeById(mat.getId());
+
+            mat = excel;
+            mat.setTagId(tagId);
+            mat.setHostId(hostId);
             if (!matService.save(mat)) {
                 throw new CoolException("淇濆瓨鍟嗗搧淇℃伅澶辫触锛屽晢鍝佺紪鐮侊細" + excel.getMatnr());
             }

--
Gitblit v1.9.1