bug-1507 导出的发货清单在页面右上角添加二维码,卸货时支持扫该二维码

This commit is contained in:
曹鹏飞 2026-05-25 09:06:27 +08:00
parent f1b517787a
commit 93ee65e3c9
2 changed files with 8 additions and 6 deletions

View File

@ -19,6 +19,7 @@ import com.nflg.wms.shipment.pojo.dto.DeliveryExportDTO;
import com.nflg.wms.shipment.pojo.qo.DeliverySearchFromCRMQO; import com.nflg.wms.shipment.pojo.qo.DeliverySearchFromCRMQO;
import com.nflg.wms.shipment.service.BasdeSerialNumberControllerService; import com.nflg.wms.shipment.service.BasdeSerialNumberControllerService;
import com.nflg.wms.shipment.service.CRMService; import com.nflg.wms.shipment.service.CRMService;
import com.nflg.wms.shipment.util.QRCodeUtil;
import com.nflg.wms.starter.BaseController; import com.nflg.wms.starter.BaseController;
import com.nflg.wms.starter.service.BomMaterialService; import com.nflg.wms.starter.service.BomMaterialService;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
@ -39,9 +40,7 @@ import java.io.IOException;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Collections; import java.util.*;
import java.util.List;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -199,7 +198,7 @@ public class DeliveryController extends BaseController {
* 根据发货单导出子项 * 根据发货单导出子项
*/ */
@GetMapping("exportItemToExcel") @GetMapping("exportItemToExcel")
public void exportItemToExcel(HttpServletResponse response, @RequestParam Long id) throws IOException { public void exportItemToExcel(HttpServletResponse response, @RequestParam Long id) throws Exception {
WmsShipmentDelivery delivery = deliveryService.getById(id); WmsShipmentDelivery delivery = deliveryService.getById(id);
VUtil.trueThrowBusinessError(Objects.isNull(delivery)).throwMessage("清单不存在"); VUtil.trueThrowBusinessError(Objects.isNull(delivery)).throwMessage("清单不存在");
// AtomicInteger index = new AtomicInteger(1); // AtomicInteger index = new AtomicInteger(1);
@ -215,10 +214,13 @@ public class DeliveryController extends BaseController {
List<ShipmentMaterialCodeItemVO> list = deliveryItemService.getItemsVO(id); List<ShipmentMaterialCodeItemVO> list = deliveryItemService.getItemsVO(id);
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("发货清单-" + delivery.getNo() + ".xlsx", StandardCharsets.UTF_8)); response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("发货清单-" + delivery.getNo() + ".xlsx", StandardCharsets.UTF_8));
Map<String, Object> ext = new HashMap<>();
ext.put("pic", QRCodeUtil.generateQRCode(delivery.getNo(), 200, 200));
new Workbook() new Workbook()
.addSheet(new TemplateSheet(new ClassPathResource("template/发货清单模版.xlsx").getInputStream()) .addSheet(new TemplateSheet(new ClassPathResource("template/发货清单模版.xlsx").getInputStream())
.setData("info", delivery) .setData("info", delivery)
.setData("list", list) .setData("list", list)
.setData("ext", ext)
).writeTo(response.getOutputStream()); ).writeTo(response.getOutputStream());
} }
@ -337,7 +339,7 @@ public class DeliveryController extends BaseController {
} }
/** /**
* 根据车牌号查询已装车的箱子PDA使用 * 根据车牌号/发货单号查询已装车的箱子PDA使用
*/ */
@GetMapping("getBoxByPlateNumber") @GetMapping("getBoxByPlateNumber")
public ApiResult<List<ShipmentPackagingCodeVO>> getBoxByPlateNumber(@RequestParam String plateNumber) { public ApiResult<List<ShipmentPackagingCodeVO>> getBoxByPlateNumber(@RequestParam String plateNumber) {