Merge branch 'feature/bug-788' into develop

This commit is contained in:
曹鹏飞 2025-10-10 09:40:26 +08:00
commit f877f48f9d
2 changed files with 28 additions and 13 deletions

View File

@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nflg.wms.admin.util.PdfGeneratorUtil;
import com.nflg.wms.admin.util.QRCodeUtil;
import com.nflg.wms.admin.util.ThymeleafUtil;
@ -13,18 +12,14 @@ import com.nflg.wms.common.pojo.ApiResult;
import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.dto.BarcodePrintingAddDTO;
import com.nflg.wms.common.pojo.dto.DeliverNormalOrderItemDTO;
import com.nflg.wms.common.pojo.dto.GongZhuangTaiZhangExcelCheckDTO;
import com.nflg.wms.common.pojo.qo.BarcodePrintingEditQO;
import com.nflg.wms.common.pojo.qo.BarcodePrintingIdsQO;
import com.nflg.wms.common.pojo.qo.BarcodePrintingQO;
import com.nflg.wms.common.pojo.qo.SRMOrderSearchQO;
import com.nflg.wms.common.pojo.vo.BarcodePrintingVO;
import com.nflg.wms.common.pojo.vo.SrmOrderVO;
import com.nflg.wms.common.util.DateTimeUtil;
import com.nflg.wms.common.util.EecExcelUtil;
import com.nflg.wms.common.util.UserUtil;
import com.nflg.wms.common.util.VUtil;
import com.nflg.wms.repository.entity.WmsInProduceOrder;
import com.nflg.wms.repository.entity.WmsInProduceOrderItem;
import com.nflg.wms.repository.entity.WmsInventoryBarcodePrinting;
import com.nflg.wms.repository.service.IWmsInventoryBarcodePrintingService;
import com.nflg.wms.starter.BaseController;
@ -50,6 +45,7 @@ import java.math.RoundingMode;
import java.net.URL;
import java.text.DecimalFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.*;
/**
@ -114,7 +110,17 @@ public class BarcodePrintingController extends BaseController {
if (CollectionUtil.isEmpty(request)) {
VUtil.trueThrowBusinessError(true).throwMessage("没有需要保存的数据");
}
List<WmsInventoryBarcodePrinting> items = Convert.toList(WmsInventoryBarcodePrinting.class, request);
List<WmsInventoryBarcodePrinting> items = request.stream().map(item -> {
WmsInventoryBarcodePrinting data = Convert.convert(WmsInventoryBarcodePrinting.class, item);
if (Objects.isNull(data.getId())) {
data.setCreateBy(UserUtil.getUserName());
data.setCreateTime(LocalDateTime.now());
} else {
data.setUpdateBy(UserUtil.getUserName());
data.setUpdateTime(LocalDateTime.now());
}
return data;
}).toList();
printingService.saveOrUpdateBatch(items);
return ApiResult.success();
}
@ -148,7 +154,7 @@ public class BarcodePrintingController extends BaseController {
if (item.getPackingNum() == null || item.getPackingNum().compareTo(BigDecimal.ZERO) <= 0) {
errorBuild.append("最小包装量必填");
}
if (errorBuild.length() > 0) {
if (!errorBuild.isEmpty()) {
item.setError(errorBuild.toString());
} else {
codes.add(Convert.convert(WmsInventoryBarcodePrinting.class, item));
@ -183,11 +189,10 @@ public class BarcodePrintingController extends BaseController {
/**
* 导出物料条码pdf整张或者一张一个
* @param request 打印IDs
* @param type 1逐个2一页
* @param request 请求参数
*/
@PostMapping("exportMaterialsPdf")
public void exportMaterials(HttpServletResponse response, @Valid @RequestParam @NotNull BarcodePrintingIdsQO request, @Valid @RequestParam @NotNull Integer type) throws Exception {
public void exportMaterials(HttpServletResponse response, @Valid @RequestBody @NotNull BarcodePrintingIdsQO request) throws Exception {
List<WmsInventoryBarcodePrinting> codelist = printingService.listByIds(request.getIds());
VUtil.trueThrowBusinessError(Objects.isNull(codelist)).throwMessage("订单不存在");
List<DeliverNormalOrderItemDTO> datas = new ArrayList<>();
@ -209,7 +214,7 @@ public class BarcodePrintingController extends BaseController {
//i += 1;
}
} else {
Integer codeNum = item.getQty().divide(item.getPackingNum(), 0, RoundingMode.UP).intValue();
int codeNum = item.getQty().divide(item.getPackingNum(), 0, RoundingMode.UP).intValue();
for (int j = 0; j < codeNum; j++) {
dto.setPrintNo(IdUtil.getSnowflakeNextIdStr());
dto.setPrintNum(item.getPackingNum().toString());
@ -222,7 +227,7 @@ public class BarcodePrintingController extends BaseController {
}
Map<String, Object> variables = new HashMap<>();
variables.put("list", datas);
if (Objects.equals(type, 1)) {
if (Objects.equals(request.getType(), 1)) {
String html = ThymeleafUtil.generator("/template/qrcode/", "Inv-1", ".html", variables);
URL baseUrl = new ClassPathResource("template/qrcode/").getURL();
PdfGeneratorUtil.generatePdf("库存物料条码(逐个)", html, baseUrl.toString(), response);

View File

@ -1,5 +1,7 @@
package com.nflg.wms.common.pojo.qo;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.experimental.Accessors;
@ -8,5 +10,13 @@ import java.util.List;
@Data
@Accessors(chain = true)
public class BarcodePrintingIdsQO {
@NotEmpty
private List<Long> ids;
/**
* 1逐个2一页
*/
@NotNull
private Integer type;
}