package com.zy.common.utils; import com.core.common.SpringUtils; import com.core.exception.CoolException; import com.zy.asrs.entity.BasDevp; import com.zy.asrs.mapper.BasDevpMapper; import lombok.extern.slf4j.Slf4j; import java.util.HashMap; import java.util.Map; /** * @author pang.jiabao * @description 出库拦截工具类 * @createDate 2024/11/9 14:29 */ @Slf4j public class OutStockInterceptUtil { /** * 堆垛机库入库站点 */ public static final Map inSiteMap = new HashMap(); static { inSiteMap.put(1040, true);inSiteMap.put(1042, true); inSiteMap.put(2010, true);inSiteMap.put(2012, true); inSiteMap.put(2000, true);inSiteMap.put(2002, true); inSiteMap.put(3010, true);inSiteMap.put(3012, true); } /** * 堆垛机出库操作时拦截出库站点,判断出入库模式 * @param site 出库站点 */ public static void outStockIntercept(Integer site) { log.info("出库判断是否有入库任务,出库站点:{}",site); // 只判断堆垛机库的入库站点 if (inSiteMap.get(site) != null) { BasDevpMapper basDevpMapper = SpringUtils.getBean(BasDevpMapper.class); int inSite = 0; switch (site) { case 1040: case 1042: inSite = 1040; break; case 2010: case 2012: inSite = 2010; break; case 2000: case 2002: inSite = 2000; break; case 3010: case 3012: inSite = 3010; break; default: } BasDevp basDevp = basDevpMapper.selectById(inSite); Integer inQty = basDevp.getInQty(); log.info("入库任务数有:{}条", inQty); if (inQty != 0) { throw new CoolException("该出库站点存在执行的入库任务"); } } } }