【优化】物料码管理的打印和打印预览根据中码和小码采用对应的打印模版

This commit is contained in:
曹鹏飞 2026-04-14 10:34:20 +08:00
parent f76e078237
commit 79bad56f77
2 changed files with 39 additions and 39 deletions

View File

@ -54,7 +54,6 @@ import java.util.zip.ZipOutputStream;
/**
* 装箱管理
*
* @author: nflg
* @date: 2022/3/17
* @description:
@ -86,7 +85,6 @@ public class QrCodeMasterController extends BaseController {
/**
* 获取包装箱和箱内物料信息
*
* @param request
* @return
*/
@ -126,7 +124,6 @@ public class QrCodeMasterController extends BaseController {
/**
* 包装箱编码获取包装箱和箱内物料信息
*
* @param request
* @return
*/
@ -161,7 +158,6 @@ public class QrCodeMasterController extends BaseController {
/**
* 箱码Validation
*
* @param qrCodeMaster
* @param smallQrCodeMasters
*/
@ -209,7 +205,6 @@ public class QrCodeMasterController extends BaseController {
/**
* 装箱绑码
*
* @param request
* @return
*/
@ -265,7 +260,6 @@ public class QrCodeMasterController extends BaseController {
/**
* 拆箱删除
*
* @param request
* @return
*/
@ -294,7 +288,6 @@ public class QrCodeMasterController extends BaseController {
/**
* 换箱
* 针对库存地点内的物料箱合并修改物料的箱属性和库存
*
* @param request
* @return
*/
@ -402,7 +395,6 @@ public class QrCodeMasterController extends BaseController {
/**
* 物料出入库统一扫码接口
*
* @param request
* @return
* @author
@ -437,7 +429,6 @@ public class QrCodeMasterController extends BaseController {
/**
* 换箱扫码接口
*
* @param request
* @return
* @author
@ -469,11 +460,12 @@ public class QrCodeMasterController extends BaseController {
/**
* 导出标签图片为ZIP
*
* @param datas 二维码列表
*/
@PostMapping(value = "exportToZip", produces = "application/zip")
public ResponseEntity<byte[]> exportToZip(@Valid @RequestBody @NotEmpty List<QrCodeItemVO> datas) throws Exception {
VUtil.trueThrowBusinessError(datas.stream().map(QrCodeItemVO::getPackagingType).collect(Collectors.toSet()).size() > 1)
.throwMessage("只能选择一种包装类型");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try (ZipOutputStream zos = new ZipOutputStream(baos)) {
for (QrCodeItemVO it : datas) {
@ -482,7 +474,8 @@ public class QrCodeMasterController extends BaseController {
dto.setQrCode(QRCodeUtil.generateQRCodeBase64(generateQRContent(dto), 100, 100));
Map<String, Object> variables = new HashMap<>();
variables.put("list", List.of(dto));
String html = ThymeleafUtil.generator("/template/qrcode/", "dp-1-label", ".html", variables);
String html = ThymeleafUtil.generator("/template/qrcode/"
, datas.get(0).getPackagingType() == 0 ? "dp-1-label" : "medium-box-label", ".html", variables);
ZipEntry entry = new ZipEntry(it.getBarcodeCode() + ".png");
zos.putNextEntry(entry);
byte[] imageBytes = HtmlToImageUtil.convertToPng(html, 600);
@ -499,11 +492,12 @@ public class QrCodeMasterController extends BaseController {
/**
* 导出标签图片为PDF
*
* @param datas 二维码列表
*/
@PostMapping("exportToPdf")
public void exportToPdf(HttpServletResponse response, @RequestBody @NotEmpty List<QrCodeItemVO> datas) throws Exception {
VUtil.trueThrowBusinessError(datas.stream().map(QrCodeItemVO::getPackagingType).collect(Collectors.toSet()).size() > 1)
.throwMessage("只能选择一种包装类型");
Map<String, Object> variables = new HashMap<>();
variables.put("list", datas.stream().map(data ->
{
@ -512,7 +506,8 @@ public class QrCodeMasterController extends BaseController {
dto.setQrCode(QRCodeUtil.generateQRCodeBase64(generateQRContent(dto), 100, 100));
return dto;
}).toList());
String html = ThymeleafUtil.generator("/template/qrcode/", "dp-1", ".html", variables);
String html = ThymeleafUtil.generator("/template/qrcode/"
, datas.get(0).getPackagingType() == 0 ? "dp-1" : "medium-box", ".html", variables);
URL baseUrl = new ClassPathResource("template/qrcode/").getURL();
PdfGeneratorUtil.generatePdf("箱码标签图片", html, baseUrl.toString(), response);
}

File diff suppressed because one or more lines are too long