From 914a092bc4c21d69641f94b68fecf61b25ddaca1 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期三, 06 九月 2023 13:11:38 +0800
Subject: [PATCH] #拣货单完成、上架规则

---
 src/main/java/com/zy/asrs/controller/NodeController.java |  211 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 207 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/NodeController.java b/src/main/java/com/zy/asrs/controller/NodeController.java
index a55aa61..1a63a36 100644
--- a/src/main/java/com/zy/asrs/controller/NodeController.java
+++ b/src/main/java/com/zy/asrs/controller/NodeController.java
@@ -12,10 +12,19 @@
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.common.R;
-import com.zy.asrs.entity.Node;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.InitPakoutParam;
+import com.zy.asrs.entity.param.LocMastInitParam;
+import com.zy.asrs.entity.param.NodeInitPatam;
+import com.zy.asrs.entity.param.PakinParam;
+import com.zy.asrs.entity.result.KeyValueVo;
+import com.zy.asrs.mapper.ManLocDetlMapper;
 import com.zy.asrs.service.NodeService;
 import com.zy.common.entity.NodeExcel;
 import com.zy.common.entity.NodeExcelListener;
+import com.zy.common.entity.Parameter;
+import com.zy.common.model.Shelves;
 import com.zy.common.utils.ListUtils;
 import com.zy.common.utils.NodeUtils;
 import com.zy.common.utils.TreeUtils;
@@ -39,6 +48,8 @@
     private NodeService nodeService;
     @Autowired
     private TreeUtils treeUtils;
+    @Autowired
+    private ManLocDetlMapper manLocDetlMapper;
 
     @RequestMapping(value = "/node/{id}/auth")
     @ManagerAuth
@@ -54,9 +65,9 @@
                   @RequestParam(required = false)String orderByType,
                   @RequestParam Map<String, Object> param){
         EntityWrapper<Node> wrapper = new EntityWrapper<>();
+        wrapper.eq("type",3);
         excludeTrash(param);
         convert(param, wrapper);
-        hostEq(wrapper);
         if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
         return R.ok(nodeService.selectPage(new Page<>(curr, limit), wrapper));
     }
@@ -69,6 +80,7 @@
                       @RequestParam(required = false)String orderByType,
                       @RequestParam Map<String, Object> param){
         EntityWrapper<Node> wrapper = new EntityWrapper<>();
+        wrapper.ne("type",3);
         excludeTrash(param);
         convert(param, wrapper);
         hostEq(wrapper);
@@ -87,8 +99,10 @@
         excludeTrash(param);
         convert(param, wrapper);
         hostEq(wrapper);
-        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
-        return R.parse("0-鎿嶄綔鎴愬姛").add(nodeService.selectList(wrapper));
+        if (!Cools.isEmpty(orderByField)){
+            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
+        }
+        return R.parse("0-鎴愬姛").add(nodeService.selectList(wrapper));
     }
 
     private void convert(Map<String, Object> map, EntityWrapper wrapper){
@@ -107,6 +121,10 @@
     @RequestMapping(value = "/node/add/auth")
     @ManagerAuth
     public R add(Node node) {
+        Node node1 = nodeService.selectByUuid(node.getName());
+        if (!Cools.isEmpty(node1)) {
+            throw new CoolException("璇ョ紪鍙�/鍚嶇О宸插瓨鍦�");
+        }
         if (node.getType() != 1) {
             Node parentNode = nodeService.selectById(node.getParentId());
             if (parentNode == null || parentNode.getStatus() == 0) {
@@ -132,9 +150,15 @@
         return R.ok();
     }
 
+
+
     @RequestMapping(value = "/node/update/auth")
     @ManagerAuth
     public R update(Node node){
+        Node node1 = nodeService.selectByUuid(node.getName());
+        if (!Cools.isEmpty(node1)) {
+            throw new CoolException("璇ョ紪鍙�/鍚嶇О宸插瓨鍦�");
+        }
         if (Cools.isEmpty(node) || null==node.getId()){
             return R.error();
         }
@@ -151,7 +175,9 @@
         nodeUtils.executePath(node);
         node.setPath(nodeUtils.path.toString());
         node.setNamePath(nodeUtils.pathName.toString());
+        node.setUuid(node.getName());
 
+        manLocDetlMapper.updateLocNo0(node.getId(),node.getName());
         node.setUpdateBy(getUserId());
         node.setUpdateTime(new Date());
         nodeService.updateById(node);
@@ -278,4 +304,181 @@
         return R.ok("鎴愬姛鍚屾"+listener.getTotal()+"涓揣浣�");
     }
 
+    /*************************************** 鍏ュ簱鍑虹浉鍏� ***********************************************/
+
+    @RequestMapping("/work/stock/pakin")
+    @ManagerAuth(memo = "鍏ュ簱")
+    public R stockPakin(@RequestBody PakinParam number) {
+        Node node = nodeService.selectOne(new EntityWrapper<Node>()
+                .eq("id", number.getNodeId()));
+        if (node.getType() != 3) {
+          return R.error("浠呭彲閫夋嫨璐т綅");
+        }
+        return nodeService.stockPakin(number, getUserId(), getHostId(),getUser());
+    }
+
+    @RequestMapping("/work/stock/pakout")
+    @ManagerAuth(memo = "鍑哄簱")
+    public R initPakout(@RequestBody List<InitPakoutParam> params) {
+        return nodeService.initPakout(params, getUserId(), getHostId(),getUser());
+    }
+
+    @PostMapping(value = "/work/empty/stock")
+    public R getGroupEmptyStock(@RequestParam(required = false) String sourceLocNo) {
+        List<Node> allEmptys = nodeService.selectList(new EntityWrapper<Node>()
+                .eq("type","3"));
+        return R.ok().add(allEmptys);
+    }
+    @RequestMapping("/work/move/start")
+    @ManagerAuth(memo = "搴撲綅绉昏浆")
+    public R locMoveStart(@RequestParam String sourceLocNo,
+                          @RequestParam String targetLocNo) {
+        nodeService.locMove(sourceLocNo, targetLocNo, getUserId(),getUser());
+        return R.ok("绉诲簱鍚姩鎴愬姛");
+    }
+    @RequestMapping(value = "/node/select/{id}/auth")
+    @ManagerAuth
+    public R getById(@PathVariable("id") String id) {
+        Node node = nodeService.selectOne(new EntityWrapper<Node>()
+                .eq("uuid",id));
+        return R.ok(node);
+    }
+
+    @RequestMapping(value = "/node/init/auth")
+    @ManagerAuth(memo = "骞冲簱搴撲綅鍒濆鍖�")
+    @Transactional
+    public R init(NodeInitPatam param) {
+        List<Node> list = new ArrayList<>();
+        EntityWrapper<Node> nodeEntityWrapper = new EntityWrapper<>();
+        nodeEntityWrapper.eq("id",param.getValue());
+        nodeEntityWrapper.eq("name",param.getName());
+        nodeService.delete(new EntityWrapper<Node>().eq("parent_id",param.getValue()));
+        Node node = nodeService.selectOne(nodeEntityWrapper);
+        String[] string = node.getNamePath().split(",");
+        int tno=1; int no=1;
+        for (int b=param.getStartBay(); b<=param.getEndBay(); b++) {
+            for (int r=param.getStartRow(); r<=param.getEndRow(); r++){
+                for (int l=param.getStartLev(); l<=param.getEndLev(); l++) {
+                    // 鑾峰彇搴撲綅鍙�
+                    String locNo;
+
+                    if (param.getName().equals("DT-B")){
+                        if (b == 2 || b ==4 || b == 7){
+                            if (l == 1){
+                                locNo = param.getName()+"T-" +String.format("%02d", tno) + String.format("%02d", r) + String.format("%02d", l);
+                            }else {
+                                locNo = null;
+                            }
+
+
+                        }else {
+                            locNo = param.getName()+"-" +String.format("%02d", no) + String.format("%02d", r) + String.format("%02d", l);
+
+                        }
+                    }else if (param.getName().equals("DT-C") || param.getName().equals("DT-D")){
+                        if (b == 3 || b ==6 || b == 9 || b == 12 || b == 15 || b == 17 || b == 20 || b == 23){
+                            if (l == 1){
+                                locNo = param.getName()+"T-" +String.format("%02d", tno) + String.format("%02d", r) + String.format("%02d", l);
+                            }else {
+                                locNo = null;
+                            }
+
+                        }else {
+                            locNo = param.getName()+"-" +String.format("%02d", no) + String.format("%02d", r) + String.format("%02d", l);
+
+                        }
+
+                    }else {
+                        locNo = param.getName()+"-" +String.format("%02d", r) + String.format("%02d", b) + String.format("%02d", l);
+                    }
+
+
+
+
+                    if (locNo == null){
+                        continue;
+                    }
+
+                    Date now =  new Date();
+                    Node node1 = new Node();
+                    node1.setUuid(locNo);
+                    node1.setName(locNo);
+                    node1.setParentId(node.getId());
+                    node1.setParentName(node.getName());
+                    node1.setType(3);
+                    node1.setPath(node.getPath()+","+node.getId());
+                    node1.setNamePath(node.getNamePath()+","+node.getName());
+                    node1.setLevel(3);
+                    node1.setStatus(1);
+                    node1.setCreateBy(getUserId());
+                    node1.setCreateTime(now);
+                    node1.setUpdateBy(getUserId());
+                    node1.setUpdateTime(now);
+                    node1.setRow1(r);
+                    node1.setBay1(b);
+                    node1.setLev1(l);
+                    if (!nodeService.insert(node1)){
+                        return R.error("鏁版嵁鎻掑叆澶辫触");
+                    }
+
+                }
+            }
+            if (param.getName().equals("DT-B")){
+                if (b == 2 || b ==4 || b == 7){
+                    tno++;
+                }else {
+                    no++;
+                }
+            }else if (param.getName().equals("DT-C") || param.getName().equals("DT-D")){
+                if (b == 3 || b ==6 || b == 9 || b == 12 || b == 15 || b == 17 || b == 20 || b == 23){
+                    tno++;
+                }else {
+                    no++;
+                }
+
+            }
+
+
+        }
+//
+//        nodeService.delete(new EntityWrapper<Node>().eq("parent_id",param.getValue()));
+
+//        if (nodeService.insertBatch(list)){
+//            return R.error("鏁版嵁鎻掑叆澶辫触");
+//        }
+        return R.ok("鍒濆鍖栨垚鍔�");
+    }
+
+    @RequestMapping(value = "/node/init/pwd")
+    public R locMastInitPwd(@RequestParam(required = false) String pwd) {
+        if (Cools.isEmpty(pwd)) {
+            return R.error("璇疯緭鍏ュ彛浠�");
+        }
+        return R.ok().add(Parameter.get().getLocMastInitPwd().equals(pwd));
+    }
+
+    @RequestMapping(value = "/node/all/get/loc")
+    public R getarea(){
+        EntityWrapper<Node> nodeEntityWrapper = new EntityWrapper<>();
+        nodeEntityWrapper.eq("type",2);
+        List<Node> list = nodeService.selectList(nodeEntityWrapper);
+        List<KeyValueVo> keyValueVoList = new ArrayList<>();
+        for (Node node : list){
+            KeyValueVo vo = new KeyValueVo();
+            vo.setName(node.getName());
+            vo.setValue(node.getId());
+            keyValueVoList.add(vo);
+        }
+        return R.ok(keyValueVoList);
+
+    }
+    @RequestMapping(value = "/node/recommendLoc")
+    public R recommendLoc(@RequestParam String matnr){
+        List<String> remmendLoc = nodeService.getRemmendLoc(matnr);
+
+        return R.ok(remmendLoc);
+    }
+
+
+
 }

--
Gitblit v1.9.1