From a636a6b7d53860c3b5ff5832c68c03a1fab79ac8 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期四, 11 四月 2024 16:39:49 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/MapNode.java                |   13 ++++++++++++-
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java |   34 +++++++++++++++++++++++++++++++++-
 2 files changed, 45 insertions(+), 2 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/MapNode.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/MapNode.java
index 3219680..8e5c8cb 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/MapNode.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/MapNode.java
@@ -1,12 +1,13 @@
 package com.zy.asrs.wcs.core.model;
 
+import com.zy.asrs.wcs.rcs.model.protocol.StaProtocol;
 import lombok.Data;
 
 /**
  * 鍦板浘鏁版嵁鑺傜偣
  */
 @Data
-public class MapNode {
+public class MapNode implements Cloneable {
 
     /**
      * -1 绂佺敤
@@ -36,4 +37,14 @@
 
     private Integer bay;
 
+    @Override
+    public MapNode clone() {
+        try {
+            return (MapNode) super.clone();
+        } catch (CloneNotSupportedException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
 }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
index 6901e42..fde0c89 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
@@ -117,7 +117,7 @@
                     ArrayList<MapNode> nodes = new ArrayList<>();
                     for (JSONObject object : entry.getValue()) {
                         MapNode mapNode = new MapNode();
-                        mapNode.setValue(object.getInteger("value"));
+                        mapNode.setValue(object.getInteger("shelfType"));
                         mapNode.setTop(object.getInteger("top"));
                         mapNode.setBottom(object.getInteger("bottom"));
                         mapNode.setLeft(object.getInteger("left"));
@@ -144,6 +144,38 @@
             for (Map.Entry<Integer, ArrayList<ArrayList<MapNode>>> entry : levData.entrySet()) {
                 ArrayList<ArrayList<MapNode>> lists = entry.getValue();//鑾峰彇鍦板浘
 
+                MapNode mapNode = new MapNode();
+                mapNode.setValue(-1);
+                mapNode.setTop(1000);
+                mapNode.setBottom(1000);
+                mapNode.setLeft(1000);
+                mapNode.setRight(1000);
+                mapNode.setRow(0);
+                mapNode.setBay(0);
+                mapNode.setNo("0-0");
+
+                //鑾峰彇鏈�闀縭ow
+                int row = 0;
+                //缁欐瘡涓猺ow棣栧熬澧炲姞-1鑺傜偣
+                for (ArrayList<MapNode> list : lists) {
+                    if (list.size() > row) {
+                        row = list.size();
+                    }
+
+                    list.add(0, mapNode.clone());
+                    list.add(mapNode.clone());
+                }
+
+                ArrayList<MapNode> headNodes = new ArrayList<>();
+                ArrayList<MapNode> footerNodes = new ArrayList<>();
+                for (int i = 0; i < row+2; i++) {
+                    headNodes.add(mapNode.clone());
+                    footerNodes.add(mapNode.clone());
+                }
+
+                lists.add(0, headNodes);
+                lists.add(footerNodes);
+
                 Integer lev = entry.getKey();
                 Date now = new Date();
                 HashMap<String, Object> map = new HashMap<>();

--
Gitblit v1.9.1