From a40b27c3e22a152d7514d3148835238c23be303e Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 10 四月 2024 14:41:14 +0800
Subject: [PATCH] Merge branch 'Four-Way-Rack' of http://47.97.1.152:5880/r/zy-asrs-master into Four-Way-Rack

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java |   91 ++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 84 insertions(+), 7 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java
index 23dcc88..da29ce0 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java
@@ -7,13 +7,17 @@
 import com.zy.asrs.wcs.common.domain.enums.DictType;
 import com.zy.asrs.wcs.core.map.controller.param.MapDataParam;
 import com.zy.asrs.wcs.core.map.controller.param.MapQueryParam;
+import com.zy.asrs.wcs.core.map.controller.result.LocVo;
+import com.zy.asrs.wcs.core.map.controller.result.ShuttleVo;
+import com.zy.asrs.wcs.core.utils.Utils;
+import com.zy.asrs.wcs.rcs.model.protocol.ShuttleProtocol;
 import com.zy.asrs.wcs.system.entity.Dict;
 import com.zy.asrs.wcs.system.service.DictService;
 import com.zy.asrs.wcs.system.service.UserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.Date;
+import java.util.*;
 
 /**
  * Created by vincent on 3/15/2024
@@ -26,14 +30,28 @@
     @Autowired
     private DictService dictService;
 
-    public MapDataParam getMapData(MapQueryParam param, Long userId) {
+    public String getMapFloorList(Long userId) {
+        String floorKey = "floor-list";
+        Dict dict = dictService.getOne(new LambdaQueryWrapper<Dict>().eq(Dict::getFlag, floorKey));
+        if (null == dict) {
+            dict = new Dict();
+            dict.setName(floorKey);
+            dict.setFlag(floorKey);
+            dict.setType(DictType.JSON.flag);
+            dict.setValue(floorListStr);
+            dict.setCreateBy(userId);
+            dict.setUpdateBy(userId);
+            if (!dictService.save(dict)) {
+                throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�");
+            }
+        }
+        return Optional.ofNullable(dict).map(Dict::getValue).orElse(null);
+    }
+
+    public String getMapData(MapQueryParam param, Long userId) {
         String mapKey = getMapKey(param.getFloor());
         Dict dict = dictService.getOne(new LambdaQueryWrapper<Dict>().eq(Dict::getFlag, mapKey));
-        if (Cools.isEmpty(dict)) {
-            return null;
-        } else {
-            return JSON.parseObject(dict.getValue(), MapDataParam.class) ;
-        }
+        return Optional.ofNullable(dict).map(Dict::getValue).orElse(null);
     }
 
     public void saveMapData(MapDataParam param, Long userId) {
@@ -60,6 +78,42 @@
         }
     }
 
+
+    public List<LocVo> getShelfLocNoList(String locNo) {
+        List<LocVo> locVos = new ArrayList<>();
+        int row = Utils.getRow(locNo);
+        int bay = Utils.getBay(locNo);
+
+
+        String[] statusOptions = {"F", "D", "O"};
+        Random random = new Random();
+        for (int lev = 1; lev < 6; lev++) {
+            locVos.add(new LocVo(Utils.getLocNo(row, bay, lev), statusOptions[random.nextInt(statusOptions.length)]));
+        }
+        return locVos;
+    }
+
+    public ShuttleVo getShuttleInfo(String shuttleNo) {
+        ShuttleVo vo = new ShuttleVo();
+        vo.setShuttleNo(shuttleNo);
+        ShuttleProtocol protocol = new ShuttleProtocol();
+        // todo checkout protocol
+//        vo.setTaskNo(String.valueOf(protocol.getTaskNo()));
+//        vo.setStatus(protocol.getProtocolStatusType().desc);
+//        vo.setOriginLocNo(protocol.getSourceLocNo());
+//        vo.setDestLocNo(protocol.getLocNo());
+//        vo.setCurrentCode(protocol.getCurrentCode());
+//        vo.setBatteryPower(protocol.getBatteryPower());
+//        vo.setErrorCode(protocol.getErrorCode());
+//        vo.setBatteryTemp(protocol.getBatteryTemp());
+//        vo.setHasLift(protocol.getHasLift());
+//        vo.setHasPallet(protocol.getHasPallet());
+//        vo.setHasCharge(protocol.getHasCharge());
+//        vo.setBatteryVoltage(String.valueOf(protocol.getBatteryVoltage()));
+//        vo.setPakMk(protocol.getPakMk());
+        return vo;
+    }
+
     private String getMapKey(Integer floor) {
         if (null != floor) {
             return "map-" + floor;
@@ -67,4 +121,27 @@
         return "map";
     }
 
+    private final String floorListStr = "[\n" +
+            "    {\n" +
+            "        label: '1F',\n" +
+            "        value: 1\n" +
+            "    },\n" +
+            "    {\n" +
+            "        label: '2F',\n" +
+            "        value: 2\n" +
+            "    },\n" +
+            "    {\n" +
+            "        label: '3F',\n" +
+            "        value: 3\n" +
+            "    },\n" +
+            "    {\n" +
+            "        label: '4F',\n" +
+            "        value: 4\n" +
+            "    },\n" +
+            "    {\n" +
+            "        label: '5F',\n" +
+            "        value: 5\n" +
+            "    },\n" +
+            "]";
+
 }

--
Gitblit v1.9.1