package com.zy.asrs.service.impl; import com.baomidou.mybatisplus.service.impl.ServiceImpl; 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 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 getLineBasDevpList(){ List 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; } //根据排列层获取AGV缓存货架站点列表 private List getCacheBasDevpList(int rowIndex, int rowMax, int bayIndex, int bayMax, int levIndex, int levMax, int floor){ List 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; } }