From 868f6235606fc78eb60735cabae0262b99e0ec10 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期一, 25 十一月 2024 08:39:27 +0800
Subject: [PATCH] Merge branch 'phyzwms2' into phyzasrs-erp
---
src/main/java/com/zy/asrs/mapper/AgvLocMastMapper.java | 4 +
src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java | 6 +
src/main/java/com/zy/asrs/entity/AgvLocMast.java | 15 +++
src/main/java/com/zy/asrs/controller/AgvMapController.java | 140 ++++++++++++++++++++--------------
src/main/java/com/zy/asrs/service/AgvLocMastService.java | 2
src/main/webapp/views/agvLocMast/locMast_detail.html | 18 ++++
6 files changed, 126 insertions(+), 59 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/AgvMapController.java b/src/main/java/com/zy/asrs/controller/AgvMapController.java
index cba44b2..e3b35d0 100644
--- a/src/main/java/com/zy/asrs/controller/AgvMapController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvMapController.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.ManagerAuth;
import com.core.common.R;
import com.zy.asrs.entity.AgvLocDetl;
@@ -32,8 +33,6 @@
@Autowired
private RedisUtil redisUtil;
- private Integer max = 10000;
-
private static final List<String> DISABLE_LOC_NO = new ArrayList<String>() {{
// add("0200101");
// add("0300101");
@@ -62,42 +61,81 @@
//鑾峰彇褰撳墠妤煎眰搴撲綅鏁版嵁
List<AgvLocMast> locMasts = agvLocMastService.selectLocByLevAndFloor(lev, floor);
- for (AgvLocMast locMast : locMasts) {
- Integer row = locMast.getRow1();
- Integer bay = locMast.getBay1();
+
+ if (floor == 1 && lev == 2) {
+ List<AgvLocMast> distinctRow = agvLocMastService.selectDistinctLocByLevAndFloor(lev, floor);
+ List<Integer> integers = new ArrayList<>();
+ int min = 0;
+ int i =1;
+ for (AgvLocMast locMast : distinctRow) {
+ if (min > locMast.getMapRow1()) {
+ min = locMast.getMapRow1();
+ }
+ if (locMast.getRightSide() == 1) {
+ integers.add(i);
+ }
+ i++;
+
+ }
+ for (AgvLocMast locMast : locMasts) {
+ Integer row = locMast.getMapRow1();
+ if (row < 0) {
+ row = row - min + 1;
+ } else {
+ row = row - min;
+ }
+ Integer bay = locMast.getMapBay1();
+ Integer rightSide = locMast.getRightSide();
+ int x = bay;
+ int y = row;
+ y = generateMap4Row(integers, row);
+ ArrayList rowData = arrayLists.get(x);
+ Object o = rowData.get(y);
+
+ JSONObject jsonObject = JSON.parseObject(o.toString());
+ jsonObject.put("value", "0");
+
+ jsonObject.put("locNo", locMast.getLocNo());//璁剧疆搴撲綅鍙�
+ jsonObject.put("locSts", locMast.getLocSts());//搴撲綅鐘舵��
+ //鏇存柊list
+ rowData.set(y, jsonObject);
+ arrayLists.set(x, rowData);
+ }
+ } else {
+ for (AgvLocMast locMast : locMasts) {
+ Integer row = locMast.getRow1();
+ Integer bay = locMast.getBay1();
- int x = bay;
- int y = row;
- //2妤�
- if (floor == 1 && lev == 1) {
- x = generateMap1Bay(bay);
- }
- if (floor == 1 && lev == 2) {
- y = generateMap4Row(row);
- }
- //2妤�
- if (floor == 2) {
- y = generateMap2Row(row);
- //y = generateMap2Bay(bay);
- }
- ////3妤�
- if (floor == 3) {
- y = generateMap3Row(row);
+ int x = bay;
+ int y = row;
+ //2妤�
+ if (floor == 1 && lev == 1) {
+ x = generateMap1Bay(bay);
+ }
+ //2妤�
+ if (floor == 2) {
+ y = generateMap2Row(row);
+ //y = generateMap2Bay(bay);
+ }
+ ////3妤�
+ if (floor == 3) {
+ y = generateMap3Row(row);
// x = generateMap3Bay(bay);
+ }
+
+ ArrayList rowData = arrayLists.get(x);
+ Object o = rowData.get(y);
+
+ JSONObject jsonObject = JSON.parseObject(o.toString());
+ jsonObject.put("value", "0");
+
+ jsonObject.put("locNo", locMast.getLocNo());//璁剧疆搴撲綅鍙�
+ jsonObject.put("locSts", locMast.getLocSts());//搴撲綅鐘舵��
+ //鏇存柊list
+ rowData.set(y, jsonObject);
+ arrayLists.set(x, rowData);
}
-
- ArrayList rowData = arrayLists.get(x);
- Object o = rowData.get(y);
-
- JSONObject jsonObject = JSON.parseObject(o.toString());
- jsonObject.put("value", "0");
-
- jsonObject.put("locNo", locMast.getLocNo());//璁剧疆搴撲綅鍙�
- jsonObject.put("locSts", locMast.getLocSts());//搴撲綅鐘舵��
- //鏇存柊list
- rowData.set(y, jsonObject);
- arrayLists.set(x, rowData);
}
return JSONObject.toJSONString(arrayLists);
@@ -105,7 +143,7 @@
private Integer generateMap1Bay(int bay) {
int y = bay;
- Integer[] bayAdd = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, 105};
+ Integer[] bayAdd = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19};
for (int i = 0; i < bayAdd.length; i++) {
if (bay > bayAdd[i]) {
y++;
@@ -116,11 +154,13 @@
}
- private Integer generateMap4Row(int row) {
+ private Integer generateMap4Row(List<Integer> rightSide, int row) {
int x = row;
- Integer[] rowAdd = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, 105, 107, 109, 111, 113, 115, 117, 119};
- for (int i = 0; i < rowAdd.length; i++) {
- if (row > rowAdd[i]) {
+// if (rightSide == 0) {
+// x++;
+// }
+ for (int i = 0; i < rightSide.size(); i++) {
+ if (row > rightSide.get(i)) {
x++;
}
}
@@ -131,7 +171,7 @@
private Integer generateMap2Row(int row) {
int x = row;
- Integer[] rowAdd = {2, 4, 6, 7, 8, 10, 12, 13, 15, 17, 19, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116};
+ Integer[] rowAdd = {2, 4, 6, 7, 8, 10, 12, 13, 15, 17, 19, 20, 22, 24};
for (int i = 0; i < rowAdd.length; i++) {
if (row > rowAdd[i]) {
x++;
@@ -156,7 +196,7 @@
private Integer generateMap3Row(int row) {
int x = row;
- Integer[] rowAdd = {2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122};
+ Integer[] rowAdd = {2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 22, 24, 26, 28, 30, 32};
for (int i = 0; i < rowAdd.length; i++) {
if (row >= rowAdd[i]) {
x++;
@@ -173,24 +213,6 @@
if (bay >= 50) y--;
return y;
}
-
-
- public static void main(String[] args) {
- AgvMapController a = new AgvMapController();
- System.out.println(a.generateMap4Row(4));
-
- System.out.println(a.process(1));
- }
-
- private List<Integer> process(int start) {
- List<Integer> l = new ArrayList<>();
- while (start <= max) {
- l.add(start);
- start = start + 2;
- }
- return l;
- }
-
@RequestMapping("/map/searchData/auth")
@ManagerAuth
diff --git a/src/main/java/com/zy/asrs/entity/AgvLocMast.java b/src/main/java/com/zy/asrs/entity/AgvLocMast.java
index 46699fb..e8a739a 100644
--- a/src/main/java/com/zy/asrs/entity/AgvLocMast.java
+++ b/src/main/java/com/zy/asrs/entity/AgvLocMast.java
@@ -185,6 +185,21 @@
@ApiModelProperty(value= "")
private String status;
+ /**
+ * 鎺�
+ */
+ @ApiModelProperty(value= "鍦板浘鎺�")
+ private Integer mapRow1;
+
+ /**
+ * 鍒�
+ */
+ @ApiModelProperty(value= "鍦板浘鍒�")
+ private Integer mapBay1;
+
+ @ApiModelProperty(value= "鍦板浘鍒�")
+ private Integer rightSide;
+
public String getWhsType$(){
BasWhsService service = SpringUtils.getBean(BasWhsService.class);
diff --git a/src/main/java/com/zy/asrs/mapper/AgvLocMastMapper.java b/src/main/java/com/zy/asrs/mapper/AgvLocMastMapper.java
index aadd73d..8251128 100644
--- a/src/main/java/com/zy/asrs/mapper/AgvLocMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/AgvLocMastMapper.java
@@ -33,4 +33,8 @@
@Select("SELECT loc_type2 FROM agv_loc_mast WHERE loc_type1 = #{locType1} AND loc_type2 IS NOT NULL GROUP BY loc_type2")
List<String> queryContainerTypeByLocType1(@Param("locType1")Short locType1);
+
+
+ @Select("SELECT distinct map_row1 as mapRow1,right_side as rightSide FROM agv_loc_mast WHERE lev1 = #{lev1} And floor = #{floor} order by map_row1")
+ List<AgvLocMast> selectDistinctLocByLevAndFloor(@Param("lev1")Integer lev1,@Param("floor")Integer floor);
}
diff --git a/src/main/java/com/zy/asrs/service/AgvLocMastService.java b/src/main/java/com/zy/asrs/service/AgvLocMastService.java
index 1f8169c..5ea50b9 100644
--- a/src/main/java/com/zy/asrs/service/AgvLocMastService.java
+++ b/src/main/java/com/zy/asrs/service/AgvLocMastService.java
@@ -33,4 +33,6 @@
public List<String> queryContainerTypeByLocType1(Short locType1);
+ List<AgvLocMast> selectDistinctLocByLevAndFloor(int lev, int floor);
+
}
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java
index d8e44fe..2a91852 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java
@@ -414,4 +414,10 @@
return this.baseMapper.queryContainerTypeByLocType1(locType1);
}
+ @Override
+ public List<AgvLocMast> selectDistinctLocByLevAndFloor(int lev, int floor) {
+
+ return this.agvLocMastMapper.selectDistinctLocByLevAndFloor(lev,floor);
+ }
+
}
diff --git a/src/main/webapp/views/agvLocMast/locMast_detail.html b/src/main/webapp/views/agvLocMast/locMast_detail.html
index 14187d0..b958531 100644
--- a/src/main/webapp/views/agvLocMast/locMast_detail.html
+++ b/src/main/webapp/views/agvLocMast/locMast_detail.html
@@ -113,6 +113,24 @@
<input id="floor" class="layui-input" type="text" autocomplete="off" disabled="disabled">
</div>
</div>
+ <div class="layui-inline" style="width:80%;">
+ <label class="layui-form-label">鍦板浘鎺掞細</label>
+ <div class="layui-input-inline">
+ <input id="mapRow1" class="layui-input" type="text" autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-inline" style="width:80%;">
+ <label class="layui-form-label">鍦板浘鍒楋細</label>
+ <div class="layui-input-inline">
+ <input id="mapBay1" class="layui-input" type="text" autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-inline" style="width:80%;">
+ <label class="layui-form-label">渚ц竟杩囬亾锛�</label>
+ <div class="layui-input-inline">
+ <input id="rightSide" class="layui-input" type="text" autocomplete="off" >
+ </div>
+ </div>
<div class="layui-inline" style="width:80%;display: none">
<label class="layui-form-label">婊°��銆�鏉匡細</label>
<div class="layui-input-inline" style="text-align: left">
--
Gitblit v1.9.1