package com.ruoyi.ams.inv.mapper; import java.util.List; import com.ruoyi.ams.config.domain.dto.LotattDTO; import com.ruoyi.ams.inv.domain.InvLotAtt; import com.ruoyi.ams.inv.domain.InvLotLocId; import com.ruoyi.ams.inv.domain.form.InvLocIdSearchFrom; import com.ruoyi.ams.inv.domain.vo.InvLotLocIdLotattVO; import com.ruoyi.base.domain.vo.BaseLocationLotattVO; import com.ruoyi.common.core.domain.AjaxResult; import org.apache.ibatis.annotations.Param; /** * 库位库存信息Mapper接口 * * @author andy * @date 2022-03-03 */ public interface InvLotLocIdMapper { /** * 查询库位库存信息 * * @param lotnum 库位库存信息主键 * @return 库位库存信息 */ InvLotLocId selectInvLotLocIdByLotnum(String lotnum); /** * 查询库存(根据主键) * * @param lotnum * @param sku * @param location * @param customerId * @return */ InvLotLocId queryById(@Param("lotnum") String lotnum, @Param("sku") String sku, @Param("location") String location, @Param("customerId") String customerId); /** * 查询库位库存信息列表 * * @param invLotLocId 库位库存信息 * @return 库位库存信息集合 */ List selectInvLotLocIdList(InvLotLocId invLotLocId); /** * 新增库位库存信息 * * @param invLotLocId 库位库存信息 * @return 结果 */ int insertInvLotLocId(InvLotLocId invLotLocId); /** * 修改库位库存信息 * * @param invLotLocId 库位库存信息 * @return 结果 */ int updateInvLotLocId(InvLotLocId invLotLocId); /** * 删除库位库存信息 * * @param lotnum 库位库存信息主键 * @return 结果 */ int deleteInvLotLocIdByLotnum(String lotnum); /** * 批量删除库位库存信息 * * @param lotnums 需要删除的数据主键集合 * @return 结果 */ int deleteInvLotLocIdByLotnums(String[] lotnums); /** * 查询库位库存 * * @param zoneId * @param sku * @param skuType * @param weight * @param supplier * @param lotattDTO * @return */ List selectInvLocationList(@Param("zoneId") Long zoneId, @Param("sku") String sku, @Param("skuType") String skuType, @Param("weight") Double weight, @Param("supplier") String supplier, @Param("lotattDTO") LotattDTO lotattDTO); /** * 根据sku和批次属性获取 * * @param sku * @param skuType * @return */ List selectInvZoneBySkuLotatt(@Param("sku") String sku, @Param("skuType") String skuType, @Param("lotattDTO") LotattDTO lotattDTO); /** * 查询物料批次信息列表 * * @param invLocIdSearchFrom * @return */ List selectInvLocIdLotattList(InvLocIdSearchFrom invLocIdSearchFrom); /** * @param locationId * @return */ List selectInvLocIdLotattByLocationId(Long locationId); /** * 删除库位库存信息 * * @param locationId 库位id * @return 结果 */ int deleteInvLotLocIdByLocationId(Long locationId); /** * 更新起始库位库存至目标库位 * * @param locationFrom * @param locationTo * @return */ int updateInvLotLocIdLocationId(@Param("locationFrom") Long locationFrom, @Param("locationTo") Long locationTo); /** * 清除库位库存信息 * * @param locationId * @return */ int clearInvByLocationId(@Param("locationId") Long locationId); /** * 根据物料查询库位库存信息 * * @param sku * @param lotattDTO * @return */ Double queryInvBySku(@Param("sku") String sku, @Param("lotattDTO") LotattDTO lotattDTO, @Param("zoneIdList") List zoneIdList); /** * 根据物料库位查询库存 * * @param sku * @param locationId * @param lotattDTO * @return */ Double queryInvBySkuLocationId(@Param("sku") String sku, @Param("locationId") Long locationId, @Param("lotattDTO") LotattDTO lotattDTO); /** * 查询库存 * * @param lotnum * @param sku * @param location * @param customerId * @return */ List queryInvOrderBy(@Param("lotnum") String lotnum, @Param("sku") String sku, @Param("location") String location, @Param("customerId") String customerId); /** * 根据托盘查询库存 * * @param invLotAtt * @param boxNo * @return */ List queryInvByInvLotatt(@Param("lotattDTO") InvLotAtt invLotAtt, @Param("boxNo") String boxNo); /** * 查询 * * @return */ List queryInvByFull(@Param("orderNo") String orderNo, @Param("sku") String sku); /** * 解绑库存 * @param locationId * @param sku * @param customerId * @return */ AjaxResult unlockInv(@Param("locationId") Long locationId, @Param("sku") String sku, @Param("customerId") String customerId); /** * 获取质检列表 * * @return */ List getQualityInspectionList(); /** * 获取质检库位列表根据批号 * * @param lotNumber 批号 * @return */ List getQualityLocationListByLotNumber(String lotNumber); /** * 修改质量状态根据批号 * * @param lotNumber * @return */ int updateQualityStatusByLotNumber(String lotNumber, String qualityStatus); /** * 根据托盘号和物料分类查询是否有相同的库存 * @param skuType * @param palletNo * @return */ List querySameTypeByPalletNo(@Param("skuType") String skuType, @Param("palletNo") String palletNo); }