From f1223c78a7b93d89017c26770390ef446cc57ac6 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期五, 14 七月 2023 08:06:28 +0800
Subject: [PATCH] 完善AGV相关功能

---
 src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java |   75 +++++++++++++++++++++++++++++++++++++
 1 files changed, 75 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java
index 89e92c9..c6f57ec 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java
@@ -4,8 +4,83 @@
 import com.zy.asrs.entity.AgvBasDevp;
 import com.zy.asrs.mapper.AgvBasDevpMapper;
 import com.zy.asrs.service.AgvBasDevpService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 
 @Service
+@Transactional
 public class AgvBasDevpServiceImpl extends ServiceImpl<AgvBasDevpMapper, AgvBasDevp> implements AgvBasDevpService {
+
+    @Autowired
+    AgvBasDevpMapper agvBasDevpMapper;
+
+    public void clearBasDevp(){
+        agvBasDevpMapper.deleteAll();
+    }
+
+    public void initBasDevp(){
+
+        //鍒濆鍖�1妤肩紦瀛樿揣鏋剁珯鐐� 2鎺�5鍒�3灞�
+        this.insertBatch(getCacheBasDevpList(1,2,1,5,1,3,1));
+        //鍒濆鍖�3妤肩紦瀛樿揣鏋剁珯鐐� 3鎺�5鍒�3灞�
+        this.insertBatch(getCacheBasDevpList(5,7,1,5,1,3,3));
+        //鍒濆鍖�3妤艰緭閫佺嚎宸ヤ綔绔欑偣 4涓珯鐐�
+        this.insertBatch(getLineBasDevpList());
+
+    }
+
+    private List<AgvBasDevp> getLineBasDevpList(){
+        List<AgvBasDevp> agvBasDevpList = new ArrayList<>();
+        Date now = new Date();
+        for(int row=1; row<=4; row++){
+            agvBasDevpList.add(getAgvBasDevp(row,1,1,3,"N",now));
+        }
+        return agvBasDevpList;
+    }
+
+    //鏍规嵁鎺掑垪灞傝幏鍙朅GV缂撳瓨璐ф灦绔欑偣鍒楄〃
+    private List<AgvBasDevp> getCacheBasDevpList(int rowIndex, int rowMax, int bayIndex, int bayMax, int levIndex, int levMax, int floor){
+        List<AgvBasDevp> agvBasDevpList = new ArrayList<>();
+        Date now = new Date();
+        for(int row=rowIndex; row<=rowMax; row++){
+            for(int bay=bayIndex; bay<=bayMax; bay++){
+                for(int lev=levIndex; lev<=levMax; lev++){
+//                    AgvBasDevp agvBasDevp = new AgvBasDevp();
+//                    String devNo = "CS-" + floor + "0" + row + "-00" + bay + "-0" + lev + "@" + floor;
+//                    String stationCode = "CS-" + floor + "0" + row;
+//                    agvBasDevp.setDevNo(devNo);
+//                    agvBasDevp.setStationCode(stationCode);
+//                    agvBasDevp.setLocSts("O");
+//                    agvBasDevp.setCacheShelves("Y");
+//                    agvBasDevp.setFloor(floor);
+//                    agvBasDevp.setModiTime(now);
+//                    agvBasDevp.setAppeTime(now);
+                    agvBasDevpList.add(getAgvBasDevp(row,bay,lev,floor,"Y",now));
+
+                }
+            }
+        }
+
+        return agvBasDevpList;
+    }
+
+    private AgvBasDevp getAgvBasDevp(int row, int bay, int lev, int floor, String cacheShelves, Date now){
+        AgvBasDevp agvBasDevp = new AgvBasDevp();
+        String devNo = "CS-" + floor + "0" + row + "-00" + bay + "-0" + lev + "@" + floor;
+        String stationCode = "CS-" + floor + "0" + row;
+        agvBasDevp.setDevNo(devNo);
+        agvBasDevp.setStationCode(stationCode);
+        agvBasDevp.setLocSts("O");
+        agvBasDevp.setCacheShelves(cacheShelves);
+        agvBasDevp.setFloor(floor);
+        agvBasDevp.setModiTime(now);
+        agvBasDevp.setAppeTime(now);
+        return agvBasDevp;
+    }
+
 }

--
Gitblit v1.9.1