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)); + } } //排序:主体颜色加喷漆状态、喷漆状态、主体颜色、喷漆状态(底漆)、无颜色、先进先出