package com.ruoyi.base.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.base.domain.BaseLocationInfo; import com.ruoyi.base.domain.dto.BaseLocationGuiDTO; import com.ruoyi.base.domain.dto.BaseLocationInfoSameColDTO; import com.ruoyi.base.domain.vo.BaseLocationLotattVO; import com.ruoyi.base.domain.vo.LotattVO; import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; /** * 库位信息Mapper接口 * * @author andy * @date 2022-02-18 */ public interface BaseLocationInfoMapper extends BaseMapper { /** * 查询库位信息 * * @param id 库位信息主键 * @return 库位信息 */ BaseLocationInfo selectBaseLocationInfoById(Long id); /** * 根据库位编号查询库位信息 * * @param locationNo * @param wrehouseId * @return */ BaseLocationInfo selectBaseLocationInfoByLocationNo(@Param("locationNo") String locationNo, @Param("warehouseId") Long wrehouseId); /** * 查询库位信息列表 * * @param baseLocationInfo 库位信息 * @return 库位信息集合 */ List selectBaseLocationInfoList(BaseLocationInfo baseLocationInfo); /** * 新增库位信息 * * @param baseLocationInfo 库位信息 * @return 结果 */ int insertBaseLocationInfo(BaseLocationInfo baseLocationInfo); /** * 修改库位信息 * * @param baseLocationInfo 库位信息 * @return 结果 */ int updateBaseLocationInfo(BaseLocationInfo baseLocationInfo); /** * 删除库位信息 * * @param id 库位信息主键 * @return 结果 */ int deleteBaseLocationInfoById(Long id); /** * 批量删除库位信息 * * @param ids 需要删除的数据主键集合 * @return 结果 */ int deleteBaseLocationInfoByIds(Long[] ids); /** * 根据zoneId查询库位信息 * 返回结果会根据排列层进行排序 * * @param baseLocationInfo * @return */ List selectSortedLocationListByZoneId(BaseLocationInfo baseLocationInfo); List selectLocationListByZoneId(Long zoneId); /** * 根据zoneId查询库位信息带批次属性 * * @param baseLocationInfo * @return */ List selectSortedLocationLotattListByZoneId(BaseLocationInfo baseLocationInfo); /** * 根据zoneId和批次属性查询库位信息带批次属性 * * @param zoneId * @param lotatt * @return */ List selectSortedLocationLotattListByZoneIdList(@Param("zoneId") List zoneId, @Param("warehouseId") Long warehouseId, @Param("lotatt") Map lotatt); List selectSortedLocationLotattListByZoneIdListOrderBy(@Param("zoneId") List zoneId, @Param("warehouseId") Long warehouseId , @Param("lotatt") Map lotatt,@Param("sku") String sku,@Param("orderByClause") String orderBy); List selectSortedLocationLotattListByLocationIdList(@Param("locationId") List locationId, @Param("warehouseId") Long warehouseId, @Param("lotatt") Map lotatt, @Param("sku") String sku); /** * 根据id查询库位库存信息 * * @param id * @return */ LotattVO selectInvLotattById(@Param("id") Long id); /** * 更新库位状态 * * @param id * @param status * @return */ int updateLocationStockStatus(@Param("id") Long id, @Param("status") String status); /** * 查询重复的库位(库位编号、列号) * * @param baseLocationInfo * @return */ List checkIsRepeat(BaseLocationInfo baseLocationInfo); /** * 查询已经绑定sku分类的库位 * * @param skuType * @return */ List selectLocationBindSku(String skuType); /** * 查询存放相同物料的列 * * @param sku * @param zoneId * @return */ List selectSameSkuColNo(@Param("sku") String sku, @Param("zoneId") Long zoneId, @Param("lotatt") Map lotatt); /** * 存放相同物料类型的列 * * @param skuType * @param zoneId * @return */ List selectSameSkuTypeColNo(@Param("skuType") String skuType, @Param("zoneId") Long zoneId); /** * 查询所有存储区的列 * * @return */ List selectAllColNo(); /** * 查询列下面所有库位 * * @param colNo * @return */ List selectLocationByColNo(String colNo); /** * 查询列下面所有库位 * * @param colNos * @return */ List selectLocationByColNos(@Param("colNos") List colNos); /** * 查询库位是否在任务重 * * @param locationType * @param locationId * @return */ int selectLocationIsTasking(@Param("locationType") String locationType, @Param("locationId") Long locationId); /** * 查询库位之前 * * @param colNo * @param colIndex * @return */ List selectBeforeLocationByColNo(@Param("colNo") String colNo, @Param("colIndex") Long colIndex); /** * 查询同列可用库位 * * @param colNo * @param colIndex * @return */ List selectSameColCanToLoc(@Param("colNo") String colNo, @Param("colIndex") Long colIndex); /** * 检测是否有同列的任务 * @param colNo * @param laneType * @return */ List laneCheck(@Param("colNo") String colNo, @Param("laneType") String laneType, @Param("warehouseId")Long warehouseId); /** * 视图显示 * * @param zoneId * @return */ List queryByListAllInvLotAttView(@Param("zoneId") String zoneId, @Param("sort") String sort); }