diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java
index eff598d..c6ae782 100644
--- a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java
+++ b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java
@@ -49,6 +49,16 @@ public interface InventoryDetailService extends IService<InventoryDetail> {
      */
     List<InventoryDetail> expiringInventoryHandle(List<InventoryDetail> inventoryDetails,String expiring,String days);
 
+    /**
+     * 查询可用库存 通过入库单编码
+     * @param receiptCode
+     * @param warehouseCode
+     * @return
+     */
+    InventoryDetail findGoodInventoryByReceiptCode(String materialCode,String receiptCode, String warehouseCode);
+
+    InventoryDetail findGoodInventoryByReceiptCode(String materialCode,String receiptCode);
+
 }
 
 
diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java
index 1f6f867..d40f821 100644
--- a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java
@@ -314,6 +314,21 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe
         }
         return returnInventory;
     }
+
+    @Override
+    public InventoryDetail findGoodInventoryByReceiptCode(String materialCode,String receiptCode, String warehouseCode) {
+        LambdaQueryWrapper<InventoryDetail> query = Wrappers.lambdaQuery();
+        query.eq(InventoryDetail::getReceiptCode,receiptCode)
+                .eq(InventoryDetail::getWarehouseCode,warehouseCode)
+                .eq(InventoryDetail::getMaterialCode,materialCode)
+                .eq(InventoryDetail::getTaskQty,BigDecimal.ZERO)
+                .last("LIMIT 1");
+        return this.getOne(query);
+    }
+    @Override
+    public InventoryDetail findGoodInventoryByReceiptCode(String materialCode,String receiptCode) {
+        return findGoodInventoryByReceiptCode(receiptCode,ShiroUtils.getWarehouseCode());
+    }
 }
 
 
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/service/ShipmentContainerDetailService.java b/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/service/ShipmentContainerDetailService.java
index a9b3f89..2547ec1 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/service/ShipmentContainerDetailService.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/service/ShipmentContainerDetailService.java
@@ -16,4 +16,8 @@ public interface ShipmentContainerDetailService extends IService<ShipmentContain
      * @return
      */
     List<ShipmentContainerDetail> selectByShippingContainerId(Integer shippingContainerId);
+
+    List<ShipmentContainerDetail> findByShipmentCode(String shipmentCode);
+
+    List<ShipmentContainerDetail> findByShipmentCode(String shipmentCode,String warehouseCode);
 }
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/service/ShipmentContainerDetailServiceImpl.java b/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/service/ShipmentContainerDetailServiceImpl.java
index a553052..73d2c56 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/service/ShipmentContainerDetailServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/service/ShipmentContainerDetailServiceImpl.java
@@ -2,6 +2,7 @@ package com.huaheng.pc.shipment.shipmentContainerDetail.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.huaheng.common.utils.security.ShiroUtils;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import java.util.List;
@@ -32,4 +33,17 @@ public class ShipmentContainerDetailServiceImpl extends ServiceImpl<ShipmentCont
         lambdaQueryWrapper.eq(ShipmentContainerDetail::getShippingContainerId, shippingContainerId);
         return list(lambdaQueryWrapper);
     }
+
+    @Override
+    public List<ShipmentContainerDetail> findByShipmentCode(String shipmentCode) {
+        return findByShipmentCode(shipmentCode, ShiroUtils.getWarehouseCode());
+    }
+
+    @Override
+    public List<ShipmentContainerDetail> findByShipmentCode(String shipmentCode, String warehouseCode) {
+        LambdaQueryWrapper<ShipmentContainerDetail> query = Wrappers.lambdaQuery();
+        query.eq(ShipmentContainerDetail::getShipmentCode,shipmentCode)
+                .eq(ShipmentContainerDetail::getWarehouseCode,warehouseCode);
+        return this.list(query);
+    }
 }