From e4ea838c20e94dff4fdbb4f82b542a8b5790fa9d Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 18 六月 2021 09:22:06 +0800
Subject: [PATCH] # 库存跳转上报erp

---
 src/main/java/zy/cloud/wms/manager/controller/TagController.java |   78 ++++++++++++++++++++++++++++++++++++---
 1 files changed, 72 insertions(+), 6 deletions(-)

diff --git a/src/main/java/zy/cloud/wms/manager/controller/TagController.java b/src/main/java/zy/cloud/wms/manager/controller/TagController.java
index 55fe09a..b5d596e 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/TagController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/TagController.java
@@ -11,20 +11,35 @@
 import com.core.common.R;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import zy.cloud.wms.common.utils.ListUtils;
+import zy.cloud.wms.common.utils.TreeUtils;
 import zy.cloud.wms.common.web.BaseController;
 import zy.cloud.wms.manager.entity.Tag;
 import zy.cloud.wms.manager.service.TagService;
+import zy.cloud.wms.manager.utils.NodeUtils;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.io.IOException;
+import java.util.*;
 
 @RestController
 public class TagController extends BaseController {
 
     @Autowired
     private TagService tagService;
+    @Autowired
+    private TreeUtils treeUtils;
+
+    @RequestMapping(value = "/tag/list/pda/auth")
+    @ManagerAuth
+    public R pdaList(@RequestParam(defaultValue = "1")Integer curr,
+                  @RequestParam(defaultValue = "10")Integer limit,
+                  @RequestParam(required = false)Long parentId){
+        EntityWrapper<Tag> wrapper = new EntityWrapper<>();
+        wrapper.eq("parent_id", parentId==null?getOriginTag().getId():parentId);
+        wrapper.orderBy("sort");
+        List<Tag> tags = tagService.selectList(wrapper);
+        return R.ok().add(tags);
+    }
 
     @RequestMapping(value = "/tag/{id}/auth")
     @ManagerAuth
@@ -62,6 +77,27 @@
     @RequestMapping(value = "/tag/add/auth")
     @ManagerAuth
     public R add(Tag tag) {
+        tag.setLevel(1);
+        if (tag.getParentId() != null && tag.getParentId() > 0) {
+            Tag parent = tagService.selectById(tag.getParentId());
+            if (parent != null) {
+                tag.setParentName(parent.getName());
+                tag.setLevel(parent.getLevel() + 1);
+            }
+        } else {
+            tag.setParentId(0L);
+        }
+        // path
+        NodeUtils nodeUtils = new NodeUtils();
+        nodeUtils.executePath(tag);
+        tag.setPath(nodeUtils.path.toString());
+        tag.setPathName(nodeUtils.pathName.toString());
+
+        tag.setCreateBy(getUserId());
+        tag.setCreateTime(new Date());
+        tag.setUpdateBy(getUserId());
+        tag.setUpdateTime(new Date());
+        tag.setStatus(1);
         tagService.insert(tag);
         return R.ok();
     }
@@ -72,6 +108,23 @@
         if (Cools.isEmpty(tag) || null==tag.getId()){
             return R.error();
         }
+        if (tag.getParentId() != null && tag.getParentId() > 0) {
+            if (tag.getParentId().equals(tag.getId())) {
+                return R.error("鏁版嵁閿欒");
+            }
+            Tag parent = tagService.selectById(tag.getParentId());
+            if (parent != null) {
+                tag.setParentName(parent.getName());
+                tag.setLevel(parent.getLevel() + 1);
+            }
+        }
+        // path
+        NodeUtils nodeUtils = new NodeUtils();
+        nodeUtils.executePath(tag);
+        tag.setPath(nodeUtils.path.toString());
+        tag.setPathName(nodeUtils.pathName.toString());
+        tag.setUpdateBy(getUserId());
+        tag.setUpdateTime(new Date());
         tagService.updateById(tag);
         return R.ok();
     }
@@ -100,13 +153,13 @@
     @ManagerAuth
     public R query(String condition) {
         EntityWrapper<Tag> wrapper = new EntityWrapper<>();
-        wrapper.like("id", condition);
+        wrapper.like("uuid", condition).or().like("name", condition);
         Page<Tag> page = tagService.selectPage(new Page<>(0, 10), wrapper);
         List<Map<String, Object>> result = new ArrayList<>();
         for (Tag tag : page.getRecords()){
             Map<String, Object> map = new HashMap<>();
             map.put("id", tag.getId());
-            map.put("value", tag.getId());
+            map.put("value", tag.getName());
             result.add(map);
         }
         return R.ok(result);
@@ -122,4 +175,17 @@
         return R.ok();
     }
 
+    @PostMapping(value = "/tag/tree/auth")
+    @ManagerAuth
+    public R tree(@RequestParam(required = false, defaultValue = "") String condition) throws IOException, ClassNotFoundException {
+        ArrayList<Map> tree = treeUtils.getTree(String.valueOf(getOriginTag().getId()));
+        // 娣辨嫹璐�
+        List<Map> result = ListUtils.deepCopy(tree);
+        if (!Cools.isEmpty(condition)) {
+            treeUtils.remove(condition, result);
+            treeUtils.remove(condition, result);
+        }
+        return R.ok(result);
+    }
+
 }

--
Gitblit v1.9.1