自动化立体仓库 - WMS系统
zyx
2023-11-15 d73aea22606a34be4d704c130f1a8444af58f5a8
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -10,6 +10,7 @@
import com.zy.asrs.task.core.ReturnT;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -20,6 +21,9 @@
@Slf4j
@Service
public class AgvWrkMastHandler extends AbstractHandler<String> {
    @Value("${agvBasDev.maxWorkNum}")
    private int maxWrokNum;
    @Autowired
    private AgvWrkMastService agvWrkMastService;
@@ -194,11 +198,20 @@
    public ReturnT<String> dealWatiWrk(List<AgvWrkMast> agvWrkMastList) throws IOException {
        agvWrkMastList.forEach(agvWrkMast -> {
            //寻找空站点位置
            AgvBasDevp agvBasDevp = agvBasDevpService.selectEmptyDevpByStation(agvWrkMast.getLocNo());
            if(!Cools.isEmpty(agvBasDevp)){
                agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvBasDevp.getDevNo(),"S",null);
                agvWrkMast.setLocNo(agvBasDevp.getDevNo());
//            //寻找空站点位置
//            AgvBasDevp agvBasDevp = agvBasDevpService.selectEmptyDevpByStation(agvWrkMast.getLocNo());
//            if(!Cools.isEmpty(agvBasDevp)){
//                agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvBasDevp.getDevNo(),"S",null);
//                agvWrkMast.setLocNo(agvBasDevp.getDevNo());
//                agvWrkMastService.updateById(agvWrkMast);
//            }
            //查询该站点所有暂存位在工作档中出现的次数
            List<Map<String, Object>> devNoMaps = agvBasDevpService.selectDevNoAndNumBystationCode(agvWrkMast.getLocNo());
            //取第一个暂存位,并查询其次数与配置的次数做比较
            Map<String, Object> devNoMap = devNoMaps.get(0);
            if((int)devNoMap.get("num") < maxWrokNum){
                agvWrkMast.setLocNo(devNoMap.get("dev_no").toString());
                agvWrkMastService.updateById(agvWrkMast);
            }