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 2a51b0b..5f5b936 100644
--- a/src/main/java/com/huaheng/api/mes/controller/MesReceiptController.java
+++ b/src/main/java/com/huaheng/api/mes/controller/MesReceiptController.java
@@ -985,4 +985,42 @@ public class MesReceiptController extends BaseController {
     }
 
 
+    /**
+     * 蓝牙打印入库物料明细
+     */
+    //@RequiresPermissions("receipt:receiptDetail:printList")
+    //@Log(title = "入库-入库单明细管理", operating = "查看入库单明细", action = BusinessType.GRANT)
+    @PostMapping("/receipt/printList")
+    //@ApiLogger(apiName = "蓝牙打印入库物料明细", from = "PDA")
+    @ResponseBody
+    public AjaxResult receiptPrintList(String code) {
+        List<ReceiptDetail> snno = receiptDetailService.list(new LambdaQueryWrapper<ReceiptDetail>().eq(ReceiptDetail::getSNNO, code));
+        if (!snno.isEmpty()) {
+            code = snno.get(0).getReceiptCode();
+        }
+
+        List<ReceiptDetail> list = receiptDetailService.list(new LambdaQueryWrapper<ReceiptDetail>().eq(ReceiptDetail::getReceiptCode, code));
+        if (list.isEmpty()) {
+            return AjaxResult.error("没有查询到数据");
+        }
+        return AjaxResult.success(list);
+    }
+
+
+    /**
+     * 蓝牙打印出库物料明细
+     */
+    //@RequiresPermissions("receipt:receiptDetail:printList")
+    //@Log(title = "入库-入库单明细管理", operating = "查看入库单明细", action = BusinessType.GRANT)
+    @PostMapping("/shipment/printList")
+    //@ApiLogger(apiName = "蓝牙打印出库物料明细", from = "PDA")
+    @ResponseBody
+    public AjaxResult shipmentPrintList(String code) {
+        List<ShipmentDetail> list = shipmentDetailService.list(new LambdaQueryWrapper<ShipmentDetail>().eq(ShipmentDetail::getShipmentCode, code));
+        if (list.isEmpty()) {
+            return AjaxResult.error("没有查询到数据");
+        }
+        return AjaxResult.success(list);
+    }
+
 }
diff --git a/src/main/java/com/huaheng/api/tv/controller/TvController.java b/src/main/java/com/huaheng/api/tv/controller/TvController.java
index fcf50c0..1d56e85 100644
--- a/src/main/java/com/huaheng/api/tv/controller/TvController.java
+++ b/src/main/java/com/huaheng/api/tv/controller/TvController.java
@@ -1,5 +1,12 @@
 package com.huaheng.api.tv.controller;
 
+import org.springframework.core.io.ByteArrayResource;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+
+import java.io.*;
+
+import org.springframework.http.HttpHeaders;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.huaheng.api.tv.domain.*;
@@ -35,10 +42,13 @@ import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
 import com.huaheng.pc.task.taskHeader.service.TaskHeaderService;
 import io.swagger.annotations.ApiOperation;
 import org.jetbrains.annotations.NotNull;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
+
 import javax.annotation.Resource;
-import java.io.File;
+import java.io.*;
 import java.util.*;
 
 @RestController
@@ -91,28 +101,50 @@ public class TvController extends BaseController {
     //    allBean.setUpList(upList);
     //    return TVResult.success(allBean);
     //}
+
     @GetMapping("/queryAllPicture")
-    public List<String> queryAllPicture() {
+    public List<ResponseEntity<byte[]>> queryAllPicture() {
+        //String directoryPath = "/Users/yiwenpeng/Desktop/图片";
         String directoryPath = "D:/Huaheng/uploadPath/file/";
-        //String directoryPath = "/Users/yiwenpeng/Desktop/素材";
         return listImageFiles(directoryPath);
     }
 
-    public List<String> listImageFiles(String directoryPath) {
-        List<String> imageFiles = new ArrayList<>();
+    public List<ResponseEntity<byte[]>> listImageFiles(String directoryPath) {
+        List<ResponseEntity<byte[]>> imageResponses = new ArrayList<>();
 
         File directory = new File(directoryPath);
         File[] files = directory.listFiles();
 
         if (files != null) {
+            Arrays.sort(files, Comparator.comparing(File::getName)); // Sort files by name
             for (File file : files) {
                 if (file.isFile() && isImageFile(file.getName())) {
-                    imageFiles.add(file.getAbsolutePath());
+                    try {
+                        FileInputStream fileInputStream = new FileInputStream(file);
+                        byte[] bytes = readBytesFromFile(fileInputStream);
+                        HttpHeaders headers = new HttpHeaders();
+                        headers.setContentType(MediaType.IMAGE_JPEG);
+                        headers.setContentDispositionFormData(file.getName(), file.getName());
+                        ResponseEntity<byte[]> responseEntity = new ResponseEntity<>(bytes, headers, HttpStatus.OK);
+                        imageResponses.add(responseEntity);
+                    } catch (IOException e) {
+                        e.printStackTrace();
+                    }
                 }
             }
         }
 
-        return imageFiles;
+        return imageResponses;
+    }
+
+    private byte[] readBytesFromFile(InputStream inputStream) throws IOException {
+        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+        byte[] buffer = new byte[1024];
+        int bytesRead;
+        while ((bytesRead = inputStream.read(buffer)) != -1) {
+            byteArrayOutputStream.write(buffer, 0, bytesRead);
+        }
+        return byteArrayOutputStream.toByteArray();
     }
 
     public boolean isImageFile(String fileName) {
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java
index f4f4226..7c0b026 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java
@@ -22,6 +22,7 @@ import com.huaheng.pc.config.material.service.MaterialService;
 import com.huaheng.pc.config.shipmentPreference.service.ShipmentPreferenceService;
 import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
 import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService;
+import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
 import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
 import com.huaheng.pc.shipment.shipmentDetail.service.ShipmentDetailService;
 import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
diff --git a/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java b/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java
index 2e35c5e..99ee918 100644
--- a/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java
+++ b/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java
@@ -80,10 +80,12 @@ public class ShippingCombinationService {
             return list;
         }
 
-        //如果物料的供需政策为LP的,或者通知单号包含展会字样的,必须匹配通知单号才可以出库
+        //如果物料的供需政策为LP的,或者通知单号包含展会字样的,必须匹配通知单号才可以出库,还必须是半成品库或者二厂半成品库
         if (policy.equals("PL") || noticeNo.contains("展会")) {
-            String finalNoticeNo = noticeNo;
-            list.removeIf(detail -> !detail.getNoticeCode().equals(finalNoticeNo));
+            if (warehouse.equals("038") || warehouse.equals("022")) {
+                String finalNoticeNo = noticeNo;
+                list.removeIf(detail -> !detail.getNoticeCode().equals(finalNoticeNo));
+            }
         }
 
         //排序:主体颜色加喷漆状态、喷漆状态、主体颜色、喷漆状态(底漆)、无颜色、先进先出