自动化立体仓库 - WMS系统
zjj
2024-12-26 a484168b903a919b24d65a5d95dea88a04d8f34c
src/main/java/com/zy/asrs/service/LocMastService.java
@@ -1,13 +1,64 @@
package com.zy.asrs.service;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.LocMast;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface LocMastService extends IService<LocMast> {
    /**
     * 检索可用库位
     */
    LocMast queryFreeLocMast(Integer row);
    LocMast queryFreeLocMast(Integer row, Short locType1);
    LocMast queryFreeLocMast(Integer row, Short locType1, Long whsType);
    /**
     * 获取同组货架的空库位
     * @param sourceLocNo 源库位
     * @return 同组空库位集合
     */
    List<String> queryGroupEmptyStock(String sourceLocNo);
    List<String> queryGroupEmptyStock(String sourceLocNo, Long whsType);
    /**
     * 检查当前库位所属巷道的空库位数量
     * @param locMast
     * @return
     */
    Boolean checkEmptyCount(LocMast locMast);
    Boolean checkEmptyCount(LocMast locMast, Long whsType);
    /**
     * 当前库存明细是否为整托
     */
    Boolean checkWhole(List<LocDetl> locDetls);
    Boolean checkWhole(List<LocDetl> locDetls, Long whsType);
    /**
     * 查询浅库位在库,深库位为O的数据
     * @return
     */
    List<LocMast> queryShallowLocFMast(Integer crnNo);
    List<LocMast> queryShallowLocFMast(Integer crnNo, Long whsType);
    List<LocMast> selectLocMastShuttleMoveUnilateral(Integer bay,Integer lev,Integer crnNo);
    List<LocMast> selectLocMastShuttleMoveUnilateral(Integer bay,Integer lev,Integer crnNo, Long whsType);
    /*
     * 获取目标库位所在巷道最浅非空库位
     * */
//    LocMast selectLocByLocStsPakInF(Integer curRow,Integer nearRow,List<String> locNos);
//    LocMast selectLocByLocStsPakInF(Integer curRow,Integer nearRow,List<String> locNos, Long whsType);
    LocMast selectLocByLocStsPakInF(Integer curRow,Integer nearRow,LocMast locNo, Long whsType);
    LocMast selectLocByLocStsPakInShuttleF(Integer curRow,Integer nearRow,LocMast locNo, Long whsType);
    /*
     * 获取目标库位所在巷道最深空库位
     * */
//    LocMast selectLocByLocStsPakInO(Integer curRow,Integer nearRow,List<String> locNos);
//    LocMast selectLocByLocStsPakInO(Integer curRow,Integer nearRow,List<String> locNos, Long whsType);
    LocMast selectLocByLocStsPakInO(Integer curRow,Integer nearRow,LocMast locNoo, Long whsType);
}