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<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;
|
}
|
|
//根据排列层获取AGV缓存货架站点列表
|
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;
|
}
|
|
}
|