diff --git a/src/main/java/com/huaheng/api/mes/controller/MesReceiptController.java b/src/main/java/com/huaheng/api/mes/controller/MesReceiptController.java
index 0678d76..74f79ad 100644
--- a/src/main/java/com/huaheng/api/mes/controller/MesReceiptController.java
+++ b/src/main/java/com/huaheng/api/mes/controller/MesReceiptController.java
@@ -53,11 +53,13 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.io.UnsupportedEncodingException;
+import java.math.BigDecimal;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
+import java.util.stream.Collectors;
 
 
 @RestController
@@ -280,7 +282,6 @@ public class MesReceiptController extends BaseController {
      */
     @PostMapping("/searchInventory")
     @ApiLogger(apiName = "查询库存", from = "ROBOT")
-    @ApiOperation("查询库存")
     public AjaxResult searchInventory(@RequestBody Detail detailed) {
 
 
@@ -323,7 +324,70 @@ public class MesReceiptController extends BaseController {
         detailList.forEach(detail -> {
             InventoryVO inventoryVO = new InventoryVO();
             BeanUtils.copyProperties(detail, inventoryVO);
-            inventoryVO.setWarehouse("035");
+            if (StringUtils.isBlank(detail.getWarehouse())) {
+                inventoryVO.setWarehouse("035");
+            } else {
+                inventoryVO.setWarehouse(detail.getWarehouse());
+            }
+            inventoryVOList.add(inventoryVO);
+        });
+
+        return AjaxResult.success(inventoryVOList);
+
+    }
+
+
+    /**
+     * 查询已出库部分的库存
+     * 物料编码、物料名称、已出数量、仓库编码(warehouse)
+     */
+    @PostMapping("/queryOutboundInventory")
+    @ApiLogger(apiName = "查询已出库部分的库存", from = "ROBOT")
+    public AjaxResult queryOutboundInventory(@RequestBody Detail detailed) {
+
+        // 查询符合条件的 ShipmentHeader 集合
+        List<ShipmentHeader> shipmentHeaders = shipmentHeaderService.list(new LambdaQueryWrapper<ShipmentHeader>()
+                .ne(ShipmentHeader::getFirstStatus, QuantityConstant.RECEIPT_HEADER_RETURN)
+                .ne(ShipmentHeader::getDeleted, true));
+        List<ShipmentDetail> shipmentDetailList = new ArrayList<>();
+        // 查询符合条件的 ShipmentDetail 集合
+        for (ShipmentHeader shipmentHeader : shipmentHeaders) {
+            List<ShipmentDetail> shipmentDetails = shipmentDetailService.list(new LambdaQueryWrapper<ShipmentDetail>()
+                    .ne(ShipmentDetail::getTaskQty, 0)
+                    .eq(ShipmentDetail::getShipmentId, shipmentHeader.getId()));
+            shipmentDetailList.addAll(shipmentDetails);
+        }
+
+        //查询符合条件的 库存交易 集合
+        List<InventoryTransaction> its = new ArrayList<>();
+        for (ShipmentDetail shipmentDetail : shipmentDetailList) {
+            List<InventoryTransaction> inventoryTransactions = inventoryTransactionService.list(new LambdaQueryWrapper<InventoryTransaction>()
+                    .eq(InventoryTransaction::getTransactionType, 20)
+                    .eq(InventoryTransaction::getBillDetailId, shipmentDetail.getShipmentId()));
+            if (inventoryTransactions.size() > 1) {
+                // 如果查出多条数据,将taskQty字段由负数转为正数,并将taskQty的值全部累加放入第一个InventoryTransaction对象中
+                InventoryTransaction firstTransaction = inventoryTransactions.get(0);
+                BigDecimal totalTaskQty = BigDecimal.ZERO;
+                for (int i = 1; i < inventoryTransactions.size(); i++) {
+                    InventoryTransaction transaction = inventoryTransactions.get(i);
+                    BigDecimal positiveTaskQty = transaction.getTaskQty().abs();
+                    totalTaskQty = totalTaskQty.add(positiveTaskQty);
+                }
+                firstTransaction.setTaskQty(totalTaskQty);
+                its.add(firstTransaction);
+            } else if (!inventoryTransactions.isEmpty()) {
+                its.add(inventoryTransactions.get(0));
+            }
+        }
+        List<InventoryVO> inventoryVOList = new ArrayList<>();
+        its.forEach(detail -> {
+            InventoryVO inventoryVO = new InventoryVO();
+            BeanUtils.copyProperties(detail, inventoryVO);
+            if (StringUtils.isBlank(detail.getWarehouse())) {
+                inventoryVO.setWarehouse("035");
+            } else {
+                inventoryVO.setWarehouse(detail.getWarehouse());
+            }
             inventoryVOList.add(inventoryVO);
         });
 
@@ -331,6 +395,7 @@ public class MesReceiptController extends BaseController {
 
     }
 
+
     /**
      * 获取出入库单明细记录
      *
diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/ShipmentTaskService.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/ShipmentTaskService.java
index c744ab9..f7a23ca 100644
--- a/src/main/java/com/huaheng/pc/task/taskHeader/service/ShipmentTaskService.java
+++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/ShipmentTaskService.java
@@ -393,6 +393,8 @@ public class ShipmentTaskService {
                 inventoryTransaction.setMaterialName(inventoryDetail.getMaterialName());
                 inventoryTransaction.setMaterialSpec(inventoryDetail.getMaterialSpec());
                 inventoryTransaction.setMaterialUnit(inventoryDetail.getMaterialUnit());
+                inventoryTransaction.setWarehouse(inventoryDetail.getWarehouse());
+                inventoryTransaction.setWarehouseName(inventoryDetail.getWarehouseName());
                 inventoryTransaction.setBillCode(taskDetail.getBillCode());
                 inventoryTransaction.setRecordCode(taskDetail.getRecordCode());
                 //取出子单据