package com.ruoyi.ams.inv.service; import com.ruoyi.ams.inv.domain.InvLotAtt; import com.ruoyi.ams.inv.dto.InvLotAttPalletTotalDTO; import com.ruoyi.ams.order.dto.ReversePickInventoryMatchDTO; import java.math.BigDecimal; import java.util.List; import java.util.Map; /** * 批次属性Service接口 * * @author andy * @date 2022-03-09 */ public interface IInvLotAttService { /** * 查询批次属性 * * @param lotnum 批次属性主键 * @return 批次属性 */ InvLotAtt selectInvLotAttByLotnum(String lotnum); /** * 查询批次属性列表 * * @param invLotAtt 批次属性 * @return 批次属性集合 */ List selectInvLotAttList(InvLotAtt invLotAtt); /** * 查询批次属性 * * @param invLotAtt 批次属性 * @return 批次属性集合 */ InvLotAtt selectInvLotAttByModel(InvLotAtt invLotAtt); /** * 修改批次属性 * * @param invLotAtt 批次属性 * @return 结果 */ int updateInvLotAtt(InvLotAtt invLotAtt); /** * 设置批次号Lotatt14为空 * * @param lotnum * @return */ int updateInvLotAttLotatt14IsNull(String lotnum); /** * 批量删除批次属性 * * @param lotnums 需要删除的批次属性主键集合 * @return 结果 */ int deleteInvLotAttByLotnums(String[] lotnums); /** * 删除批次属性信息 * * @param lotnum 批次属性主键 * @return 结果 */ int deleteInvLotAttByLotnum(String lotnum); /** * 根据入库单号查询当前入库单内的成品批次列表 */ List queryAttributesByAsnno(String asnNo); /** * 根据多sku获取不同sku各托盘上总数(根据库位库存信息获取所关联批次托盘) * @param skuList * @return */ Map> buildInvLotAttPalletTotalMap(List skuList); /** * 根据出库单号以及sku获取不同sku各托盘上已备货总数 * @param reversePickInventoryMatchDTOList * @return */ Map> buildReversePickInvLotAttPalletTotalMap(List reversePickInventoryMatchDTOList); /** * 获取托盘产品数量 * @param palletNo * @param locationId * @return */ BigDecimal queryPalletTotal(String palletNo, String locationId); /** * 新增批次属性 * * @param invLotAtt 批次属性 * @return 结果 */ int insertInvLotAtt(InvLotAtt invLotAtt); List queryInvLotAtt(String palletNo); /** * 根据sn获取批次信息 * @param palletNo * @param sn * @return */ List queryInvLotAtt(String palletNo, String sn); /** * 根据条码获取批次信息(退货情况下可能会有多批次信息) * @param palletNo * @param sn * @param orderNo * @return */ List queryInvLotAtt(String palletNo, String sn, String orderNo); /** * 根据出库单号及物料码查询出库单与扫描物料相同已分配数量 * @param sku * @param orderNo * @return */ List queryOrderSameSkuInvLotAttList(String sku, String orderNo); /** * 根据出库单号及物料码查询出库单与扫描物料相同已分配数量 */ List queryOrderSameSkuInvLotAttList(String sku, List orderNoList); /** * 根据出库单号及物料码查询出库单与扫描物料相同已分配数量 */ List queryOrderSameSkuInvLotAttList(List skuList, String orderNo); /** * 根据出库单号及物料码查询出库单与扫描物料相同已分配数量 */ List queryOrderSameSkuInvLotAttList(List skuList, List orderNoList); }