package com.zy.asrs.controller; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.annotations.ManagerAuth; import com.core.common.R; import com.zy.asrs.entity.LocMast; import com.zy.asrs.service.LocMastService; import com.zy.asrs.utils.Utils; import com.zy.common.model.MapNode; import com.zy.common.utils.NavigateMapData; import com.zy.core.enums.LocStsType; import com.zy.core.enums.MapNodeType; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; @Slf4j @RestController @RequestMapping("/locMast") public class LocMastController { @Autowired private NavigateMapData navigateMapData; @Autowired private LocMastService locMastService; @PostMapping("/init") @ManagerAuth(memo = "初始化库位") @Transactional public R shuttleStateTable(){ locMastService.delete(new EntityWrapper<>(new LocMast())); for (int i = 1; i <= 4; i++) {//总共四层楼 List> lists = navigateMapData.getJsonData(i, -1, null, null);//获取完整地图(包括入库出库) for (int row = 0; row < lists.size(); row++) { List nodeList = lists.get(row); for (int bay = 0; bay < nodeList.size(); bay++) { MapNode mapNode = nodeList.get(bay); if (mapNode.getValue() == MapNodeType.DISABLE.id) { continue; } String locNo = Utils.getLocNo(row, bay, i); LocMast locMast = new LocMast(); locMast.setLocNo(locNo); locMast.setRow1(row); locMast.setBay1(bay); locMast.setLev1(i); if (mapNode.getValue() == MapNodeType.NORMAL_PATH.id) { locMast.setLocSts(LocStsType.O.toString()); }else if (mapNode.getValue() == MapNodeType.MAIN_PATH.id){ locMast.setLocSts(LocStsType.W.toString()); } locMastService.insert(locMast); } } } return R.ok(); } }