| | |
| | | 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++){ |
| | | 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; |
| | | } |
| | | |
| | | public void updateLocStsAndBarcodeByDevNo(String devNo, String locSts, String barcode){ |
| | | |
| | | AgvBasDevp agvBasDevp = this.selectById(devNo); |
| | | agvBasDevp.setLocSts(locSts); |
| | | agvBasDevp.setBarcode(barcode); |
| | | this.updateById(agvBasDevp); |
| | | } |
| | | |
| | | } |