From 49ffaeabe598b7f5ce781ce78c338e96408df90f Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 23 四月 2022 10:28:43 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/entity/param/PackParam.java       |   22 +++++++
 src/main/java/com/zy/asrs/controller/OpenController.java    |    9 +-
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   94 ++++++++++++++++++++++++++++---
 src/main/java/com/zy/asrs/service/OpenService.java          |    3 
 4 files changed, 114 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 19883d4..6fe51c9 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -7,6 +7,7 @@
 import com.zy.asrs.entity.param.OpenOrderCompleteParam;
 import com.zy.asrs.entity.param.OpenOrderPakinParam;
 import com.zy.asrs.entity.param.OpenOrderPakoutParam;
+import com.zy.asrs.entity.param.PackParam;
 import com.zy.asrs.service.OpenService;
 import com.zy.common.model.DetlDto;
 import com.zy.common.web.BaseController;
@@ -44,12 +45,12 @@
     @PostMapping("/order/pakin/new/package/v1")
     @AppAuth(memo = "鎵撳寘涓婄嚎鎺ュ彛")
     public synchronized R pakinOrderPackage(@RequestHeader(required = false) String appkey,
-                                            @RequestParam(required = false) String barcode) {
-        auth(appkey, barcode);
-        if (Cools.isEmpty(barcode)) {
+                                            @RequestBody(required = false) PackParam param) {
+        auth(appkey, param);
+        if (Cools.isEmpty(param)) {
             return R.parse(BaseRes.PARAM);
         }
-        openService.packageUp(barcode);
+        openService.packageUp(param);
         return R.ok();
     }
 
diff --git a/src/main/java/com/zy/asrs/entity/param/PackParam.java b/src/main/java/com/zy/asrs/entity/param/PackParam.java
new file mode 100644
index 0000000..33a001c
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/PackParam.java
@@ -0,0 +1,22 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+/**
+ * {"barcode": "", "materialName": "", "groupCode": "", "groupName": "", "configureDesc": ""}
+ * Created by vincent on 2022/4/23
+ */
+@Data
+public class PackParam {
+
+    private String barcode;
+
+    private String materialName;
+
+    private String groupCode;
+
+    private String groupName;
+
+    private String configureDesc;
+
+}
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index 5ce5643..c349203 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -3,6 +3,7 @@
 import com.zy.asrs.entity.param.OpenOrderCompleteParam;
 import com.zy.asrs.entity.param.OpenOrderPakinParam;
 import com.zy.asrs.entity.param.OpenOrderPakoutParam;
+import com.zy.asrs.entity.param.PackParam;
 import com.zy.asrs.entity.result.OpenOrderCompeteResult;
 import com.zy.asrs.entity.result.StockVo;
 
@@ -38,6 +39,6 @@
     // ------------------------------------------
 
     // 鎵撳寘涓婄嚎
-    void packageUp(String barcode);
+    void packageUp(PackParam param);
 
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index c0045f2..a9fd5d6 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -9,11 +9,14 @@
 import com.zy.asrs.entity.param.OpenOrderCompleteParam;
 import com.zy.asrs.entity.param.OpenOrderPakinParam;
 import com.zy.asrs.entity.param.OpenOrderPakoutParam;
+import com.zy.asrs.entity.param.PackParam;
 import com.zy.asrs.entity.result.OpenOrderCompeteResult;
 import com.zy.asrs.entity.result.StockVo;
+import com.zy.asrs.mapper.TagMapper;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.MatUtils;
 import com.zy.common.model.DetlDto;
+import com.zy.common.utils.NodeUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -46,6 +49,8 @@
     private PackService packService;
     @Autowired
     private TagService tagService;
+    @Autowired
+    private TagMapper tagMapper;
 
     @Override
     @Transactional
@@ -315,15 +320,18 @@
 
     @Override
     @Transactional
-    public void packageUp(String barcode) {
-        Mat analyse = MatUtils.analyseMat(barcode);
-        Pack pack = packService.selectByBarcode(barcode);
+    public void packageUp(PackParam param) {
+        if (Cools.isEmpty(param.getBarcode())) {
+            throw new CoolException("barcode涓嶈兘涓虹┖");
+        }
+        Mat analyse = MatUtils.analyseMat(param.getBarcode());
+        Pack pack = packService.selectByBarcode(param.getBarcode());
         if (null != pack) {
-            throw new CoolException(barcode + "閲嶅鎻愪氦");
+            throw new CoolException(param.getBarcode() + "閲嶅鎻愪氦");
         }
         Date now = new Date();
         pack = new Pack(
-                barcode,    // 鏉$爜[闈炵┖]
+                param.getBarcode(),    // 鏉$爜[闈炵┖]
                 analyse.getMatnr(),    // 鍟嗗搧缂栧彿
                 analyse.getBarcode(),    // 鎵瑰彿
                 1L,    // 璁㈠崟鐘舵��
@@ -341,14 +349,82 @@
         Mat mat = matService.selectByMatnr(analyse.getMatnr());
         if (mat == null) {
             mat = new Mat();
-            // todo
-            mat.setTagId(tagService.getTop().getId());
+            // 鍒嗙被
+            Long tagId;
+            // 涓�绾у垎绫�
+            if (!Cools.isEmpty(param.getGroupCode()) && !Cools.isEmpty(param.getGroupName())) {
+                Tag priTag = tagService.selectByName(param.getGroupCode(), 2);
+                if (priTag == null) {
+                    Tag top = tagService.getTop();
+                    NodeUtils nodeUtils = new NodeUtils();
+                    nodeUtils.executePath(top.getId());
+                    priTag = new Tag(
+                            null,    // 缂栧彿
+                            param.getGroupCode(),    // 鍚嶇О
+                            top.getId(),    // 鐖剁骇
+                            top.getName(),    // 鐖剁骇鍚嶇О
+                            nodeUtils.path.toString(),    // 鍏宠仈璺緞
+                            nodeUtils.pathName.toString(),    // 鍏宠仈璺緞鍚�
+                            0,    // 绫诲瀷
+                            null,    // 璐熻矗浜�
+                            null,    // 鍥剧墖
+                            null,    // 绠�瑕佹弿杩�
+                            null,    // 鏁伴噺
+                            2,    // 绛夌骇
+                            null,    // 鎺掑簭
+                            1,    // 鐘舵��
+                            now,    // 娣诲姞鏃堕棿
+                            null,    // 娣诲姞浜哄憳
+                            now,    // 淇敼鏃堕棿
+                            null,    // 淇敼浜哄憳
+                            null    // 澶囨敞
+                    );
+                    if (tagMapper.insert(priTag) == 0) {
+                        throw new CoolException("淇濆瓨涓�绾у垎绫诲け璐�");
+                    }
+                }
+                // 浜岀骇鍒嗙被
+                Tag secTag = tagService.selectByName(param.getGroupName(), 3);
+                if (secTag == null) {
+                    NodeUtils nodeUtils = new NodeUtils();
+                    nodeUtils.executePath(priTag.getId());
+                    secTag = new Tag(
+                            null,    // 缂栧彿
+                            param.getGroupName(),    // 鍚嶇О
+                            priTag.getId(),    // 鐖剁骇
+                            priTag.getName(),    // 鐖剁骇鍚嶇О
+                            nodeUtils.path.toString(),    // 鍏宠仈璺緞
+                            nodeUtils.pathName.toString(),    // 鍏宠仈璺緞鍚�
+                            0,    // 绫诲瀷
+                            null,    // 璐熻矗浜�
+                            null,    // 鍥剧墖
+                            null,    // 绠�瑕佹弿杩�
+                            null,    // 鏁伴噺
+                            3,    // 绛夌骇
+                            null,    // 鎺掑簭
+                            1,    // 鐘舵��
+                            now,    // 娣诲姞鏃堕棿
+                            null,    // 娣诲姞浜哄憳
+                            now,    // 淇敼鏃堕棿
+                            null,    // 淇敼浜哄憳
+                            null    // 澶囨敞
+                    );
+                    if (tagMapper.insert(secTag) == 0) {
+                        throw new CoolException("淇濆瓨浜岀骇鍒嗙被澶辫触");
+                    }
+                }
+                tagId = secTag.getId();
+            } else {
+                tagId = tagService.getTop().getId();
+            }
+            mat.setTagId(tagId);
             mat.setMatnr(analyse.getMatnr());
-            mat.setMaktx(barcode);
+            mat.setMaktx(param.getMaterialName());
+            mat.setSpecs(param.getConfigureDesc());
+            mat.setModel(analyse.getModel());
             mat.setStatus(1);
             mat.setCreateTime(now);
             mat.setUpdateTime(now);
-            mat.setMemo("鎵撳寘涓婄嚎");
             if (!matService.insert(mat)) {
                 throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
             } else {

--
Gitblit v1.9.1