feat: bug-776 所有的出库操作扫码后流程需要调整

This commit is contained in:
曹鹏飞 2025-09-29 18:02:12 +08:00
parent 924bf4c5ff
commit 19674ba135
11 changed files with 156 additions and 77 deletions

View File

@ -231,7 +231,8 @@ public class InCostCenterBackController extends BaseController {
ti.setNum(ti.getNum().add(qrCodeContent.getNum())); ti.setNum(ti.getNum().add(qrCodeContent.getNum()));
records.add(new InMaterialScanRecord() records.add(new InMaterialScanRecord()
.setSource(2) .setSource(2)
.setSourceId(item.getId()) .setSourceId(order.getId())
.setSourceItemId(item.getId())
.setTicketItemId(ti.getId()) .setTicketItemId(ti.getId())
.setMaterialNo(materialNo) .setMaterialNo(materialNo)
.setContent(qrCode) .setContent(qrCode)

View File

@ -3,6 +3,7 @@ package com.nflg.wms.admin.controller;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
@ -231,7 +232,7 @@ public class InProduceBackController extends BaseController {
*/ */
@Transactional @Transactional
@PostMapping("pda/submit") @PostMapping("pda/submit")
public ApiResult<Void> submit(@Valid @RequestBody OutProduceSubmitQO request) { public ApiResult<Void> submit(@Valid @RequestBody InProduceBackSubmitQO request) {
WmsInProduceBack order = inProduceBackService.lambdaQuery().eq(WmsInProduceBack::getNo, request.getNo()).one(); WmsInProduceBack order = inProduceBackService.lambdaQuery().eq(WmsInProduceBack::getNo, request.getNo()).one();
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
WmsInProduceBackTicket ticket = new WmsInProduceBackTicket() WmsInProduceBackTicket ticket = new WmsInProduceBackTicket()
@ -262,6 +263,7 @@ public class InProduceBackController extends BaseController {
.findFirst() .findFirst()
.orElseGet(() -> { .orElseGet(() -> {
WmsInProduceBackTicketItem ti = new WmsInProduceBackTicketItem() WmsInProduceBackTicketItem ti = new WmsInProduceBackTicketItem()
.setId(IdUtil.getSnowflakeNextId())
.setTicketId(ticket.getId()) .setTicketId(ticket.getId())
.setProduceBackItemId(item.getId()) .setProduceBackItemId(item.getId())
.setNum(BigDecimal.ZERO); .setNum(BigDecimal.ZERO);
@ -275,7 +277,9 @@ public class InProduceBackController extends BaseController {
pti.setNum(pti.getNum().add(qrCodeContent.getNum())); pti.setNum(pti.getNum().add(qrCodeContent.getNum()));
records.add(new InMaterialScanRecord() records.add(new InMaterialScanRecord()
.setSource(1) .setSource(1)
.setSourceId(item.getId()) .setSourceId(order.getId())
.setSourceItemId(item.getId())
.setTicketItemId(pti.getId())
.setMaterialNo(materialNo) .setMaterialNo(materialNo)
.setContent(qrCode) .setContent(qrCode)
.setBatchNo(qrCodeContent.getBatchNo()) .setBatchNo(qrCodeContent.getBatchNo())

View File

@ -406,6 +406,7 @@ public class InProduceOrderController extends BaseController {
records.add(new InMaterialScanRecord() records.add(new InMaterialScanRecord()
.setSource(4) .setSource(4)
.setSourceId(order.getId()) .setSourceId(order.getId())
.setSourceItemId(it.getId())
.setTicketItemId(it.getId()) .setTicketItemId(it.getId())
.setMaterialNo(it.getMaterialNo()) .setMaterialNo(it.getMaterialNo())
.setContent(qrCode) .setContent(qrCode)

View File

@ -202,10 +202,13 @@ public class OutAssistanceController extends BaseController {
List<MaterialQRCodeContentDTO> dtos = new ArrayList<>(); List<MaterialQRCodeContentDTO> dtos = new ArrayList<>();
List<WmsOutAssistanceTicketItem> ticketItems = new ArrayList<>(); List<WmsOutAssistanceTicketItem> ticketItems = new ArrayList<>();
request.getQrCodes().forEach(qrCode -> { request.getQrCodes().forEach(qrCode -> {
MaterialQRCodeContentDTO qrCodeContent = NoUtil.getMaterialQRCodeContent(qrCode); MaterialQRCodeContentDTO qrCodeContent = NoUtil.getMaterialQRCodeContent(qrCode.getContent());
dtos.add(qrCodeContent); BigDecimal qrNum = qrCode.getNum();
String materialNo = qrCodeContent.getMaterialNo(); String materialNo = qrCodeContent.getMaterialNo();
WmsOutAssistanceItem item = datas.stream().filter(d -> StrUtil.equals(d.getMatnr1(), materialNo)).findFirst().orElse(null); VUtil.trueThrowBusinessError(qrCode.getNum().compareTo(qrCodeContent.getNum()) > 0)
.throwMessage("物料" + materialNo + "的数量不能大于二维码中的数量");
dtos.add(qrCodeContent);
WmsOutAssistanceItem item = datas.stream().filter(d -> Objects.equals(d.getId(), qrCode.getItemId())).findFirst().orElse(null);
VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("物料" + materialNo + "不需要领料"); VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("物料" + materialNo + "不需要领料");
WmsOutAssistanceTicketItem pti = ticketItems.stream() WmsOutAssistanceTicketItem pti = ticketItems.stream()
.filter(ti -> Objects.equals(ti.getOrderItemId(), item.getId()) .filter(ti -> Objects.equals(ti.getOrderItemId(), item.getId())
@ -222,25 +225,26 @@ public class OutAssistanceController extends BaseController {
return ti; return ti;
}); });
BigDecimal num = item.getLeft(); BigDecimal num = item.getLeft();
VUtil.trueThrowBusinessError(num.compareTo(qrCodeContent.getNum()) < 0) VUtil.trueThrowBusinessError(num.compareTo(qrNum) < 0)
.throwMessage("物料" + materialNo + "的领取数量超出申请限制"); .throwMessage("物料" + materialNo + "的领取数量超出申请限制");
item.setLeft(item.getLeft().subtract(qrCodeContent.getNum())); item.setLeft(item.getLeft().subtract(qrNum));
pti.setNum(pti.getNum().add(qrCodeContent.getNum())); pti.setNum(pti.getNum().add(qrNum));
records.add(new OutMaterialScanRecord() records.add(new OutMaterialScanRecord()
.setSource(3) .setSource(3)
// .setSourceId(item.getId()) .setSourceId(order.getId())
.setTicketId(ticket.getId()) .setSourceItemId(item.getId())
.setTicketItemId(pti.getId()) .setTicketId(ticket.getId())
.setMaterialNo(materialNo) .setTicketItemId(pti.getId())
.setContent(qrCode) .setMaterialNo(materialNo)
.setBatchNo(qrCodeContent.getBatchNo()) .setContent(qrCode.getContent())
.setSerialNo(qrCodeContent.getSerialNo()) .setBatchNo(qrCodeContent.getBatchNo())
.setUniqNo(qrCodeContent.getUniqNo()) .setSerialNo(qrCodeContent.getSerialNo())
.setFactoryNo(order.getWerks()) .setUniqNo(qrCodeContent.getUniqNo())
.setWarehouseNo(order.getLgort1()) .setFactoryNo(order.getWerks())
.setNum(qrCodeContent.getNum()) .setWarehouseNo(order.getLgort1())
.setCreateBy(UserUtil.getUserName()) .setNum(qrNum)
.setCreateTime(Instant.now()) .setCreateBy(UserUtil.getUserName())
.setCreateTime(Instant.now())
); );
}); });
outAssistanceItemService.updateBatchById(datas); outAssistanceItemService.updateBatchById(datas);

View File

@ -195,10 +195,13 @@ public class OutCostCenterController extends BaseController {
List<MaterialQRCodeContentDTO> dtos = new ArrayList<>(); List<MaterialQRCodeContentDTO> dtos = new ArrayList<>();
List<WmsOutCostcenterTicketItem> ticketItems = new ArrayList<>(); List<WmsOutCostcenterTicketItem> ticketItems = new ArrayList<>();
request.getQrCodes().forEach(qrCode -> { request.getQrCodes().forEach(qrCode -> {
MaterialQRCodeContentDTO qrCodeContent = NoUtil.getMaterialQRCodeContent(qrCode); MaterialQRCodeContentDTO qrCodeContent = NoUtil.getMaterialQRCodeContent(qrCode.getContent());
dtos.add(qrCodeContent); BigDecimal qrNum = qrCode.getNum();
String materialNo = qrCodeContent.getMaterialNo(); String materialNo = qrCodeContent.getMaterialNo();
WmsOutCostcenterItem item = datas.stream().filter(d -> StrUtil.equals(d.getMatnr(), materialNo)).findFirst().orElse(null); VUtil.trueThrowBusinessError(qrCode.getNum().compareTo(qrCodeContent.getNum()) > 0)
.throwMessage("物料" + materialNo + "的数量不能大于二维码中的数量");
dtos.add(qrCodeContent);
WmsOutCostcenterItem item = datas.stream().filter(d -> Objects.equals(d.getId(), qrCode.getItemId())).findFirst().orElse(null);
VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("物料" + materialNo + "不需要领料"); VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("物料" + materialNo + "不需要领料");
WmsOutCostcenterTicketItem pti = ticketItems.stream() WmsOutCostcenterTicketItem pti = ticketItems.stream()
.filter(ti -> Objects.equals(ti.getOrderItemId(), item.getId())) .filter(ti -> Objects.equals(ti.getOrderItemId(), item.getId()))
@ -213,25 +216,26 @@ public class OutCostCenterController extends BaseController {
return ti; return ti;
}); });
BigDecimal num = item.getLeft(); BigDecimal num = item.getLeft();
VUtil.trueThrowBusinessError(num.compareTo(qrCodeContent.getNum()) < 0) VUtil.trueThrowBusinessError(num.compareTo(qrNum) < 0)
.throwMessage("物料" + materialNo + "的领取数量超出申请限制"); .throwMessage("物料" + materialNo + "的领取数量超出申请限制");
item.setLeft(item.getLeft().subtract(qrCodeContent.getNum())); item.setLeft(item.getLeft().subtract(qrNum));
pti.setNum(pti.getNum().add(qrCodeContent.getNum())); pti.setNum(pti.getNum().add(qrNum));
records.add(new OutMaterialScanRecord() records.add(new OutMaterialScanRecord()
.setSource(2) .setSource(2)
// .setSourceId(item.getId()) .setSourceId(order.getId())
.setTicketId(ticket.getId()) .setSourceItemId(item.getId())
.setTicketItemId(pti.getId()) .setTicketId(ticket.getId())
.setMaterialNo(materialNo) .setTicketItemId(pti.getId())
.setContent(qrCode) .setMaterialNo(materialNo)
.setBatchNo(qrCodeContent.getBatchNo()) .setContent(qrCode.getContent())
.setSerialNo(qrCodeContent.getSerialNo()) .setBatchNo(qrCodeContent.getBatchNo())
.setUniqNo(qrCodeContent.getUniqNo()) .setSerialNo(qrCodeContent.getSerialNo())
.setFactoryNo(order.getWerks()) .setUniqNo(qrCodeContent.getUniqNo())
.setWarehouseNo(item.getLgort()) .setFactoryNo(order.getWerks())
.setNum(qrCodeContent.getNum()) .setWarehouseNo(item.getLgort())
.setCreateBy(UserUtil.getUserName()) .setNum(qrNum)
.setCreateTime(Instant.now()) .setCreateBy(UserUtil.getUserName())
.setCreateTime(Instant.now())
); );
}); });
outCostcenterItemService.updateBatchById(datas); outCostcenterItemService.updateBatchById(datas);

View File

@ -383,10 +383,13 @@ public class OutProduceController extends BaseController {
List<MaterialQRCodeContentDTO> dtos = new ArrayList<>(); List<MaterialQRCodeContentDTO> dtos = new ArrayList<>();
List<WmsOutProduceTicketItem> ticketItems = new ArrayList<>(); List<WmsOutProduceTicketItem> ticketItems = new ArrayList<>();
request.getQrCodes().forEach(qrCode -> { request.getQrCodes().forEach(qrCode -> {
MaterialQRCodeContentDTO qrCodeContent = NoUtil.getMaterialQRCodeContent(qrCode); MaterialQRCodeContentDTO qrCodeContent = NoUtil.getMaterialQRCodeContent(qrCode.getContent());
dtos.add(qrCodeContent);
String materialNo = qrCodeContent.getMaterialNo(); String materialNo = qrCodeContent.getMaterialNo();
WmsOutProduceItem item = datas.stream().filter(d -> StrUtil.equals(d.getMatnr(), materialNo)).findFirst().orElse(null); BigDecimal qrNum = qrCode.getNum();
VUtil.trueThrowBusinessError(qrCode.getNum().compareTo(qrCodeContent.getNum()) > 0)
.throwMessage("物料" + materialNo + "的数量不能大于二维码中的数量");
dtos.add(qrCodeContent);
WmsOutProduceItem item = datas.stream().filter(d -> Objects.equals(d.getId(), qrCode.getItemId())).findFirst().orElse(null);
VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("物料" + materialNo + "不需要领料"); VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("物料" + materialNo + "不需要领料");
WmsOutProduceTicketItem pti = ticketItems.stream() WmsOutProduceTicketItem pti = ticketItems.stream()
.filter(ti -> Objects.equals(ti.getProduceItemId(), item.getId())) .filter(ti -> Objects.equals(ti.getProduceItemId(), item.getId()))
@ -401,28 +404,29 @@ public class OutProduceController extends BaseController {
return ti; return ti;
}); });
BigDecimal num = Objects.equals(order.getType(), 0) ? item.getLockNum() : item.getSqsl().subtract(item.getNum()); BigDecimal num = Objects.equals(order.getType(), 0) ? item.getLockNum() : item.getSqsl().subtract(item.getNum());
VUtil.trueThrowBusinessError(num.compareTo(qrCodeContent.getNum()) < 0) VUtil.trueThrowBusinessError(num.compareTo(qrNum) < 0)
.throwMessage("物料" + materialNo + "的领取数量超出申请限制"); .throwMessage("物料" + materialNo + "的领取数量超出申请限制");
if (Objects.equals(order.getType(), 0)) { if (Objects.equals(order.getType(), 0)) {
item.setLockNum(item.getLockNum().subtract(qrCodeContent.getNum())); item.setLockNum(item.getLockNum().subtract(qrNum));
} }
item.setNum(item.getNum().add(qrCodeContent.getNum())); item.setNum(item.getNum().add(qrNum));
pti.setNum(pti.getNum().add(qrCodeContent.getNum())); pti.setNum(pti.getNum().add(qrNum));
records.add(new OutMaterialScanRecord() records.add(new OutMaterialScanRecord()
.setSource(1) .setSource(1)
// .setSourceId(item.getId()) .setSourceId(order.getId())
.setTicketId(ticket.getProduceId()) .setSourceItemId(item.getId())
.setTicketItemId(pti.getId()) .setTicketId(ticket.getProduceId())
.setMaterialNo(materialNo) .setTicketItemId(pti.getId())
.setContent(qrCode) .setMaterialNo(materialNo)
.setBatchNo(qrCodeContent.getBatchNo()) .setContent(qrCode.getContent())
.setSerialNo(qrCodeContent.getSerialNo()) .setBatchNo(qrCodeContent.getBatchNo())
.setUniqNo(qrCodeContent.getUniqNo()) .setSerialNo(qrCodeContent.getSerialNo())
.setFactoryNo(order.getDwerk()) .setUniqNo(qrCodeContent.getUniqNo())
.setWarehouseNo(request.getLgort()) .setFactoryNo(order.getDwerk())
.setNum(qrCodeContent.getNum()) .setWarehouseNo(request.getLgort())
.setCreateBy(UserUtil.getUserName()) .setNum(qrNum)
.setCreateTime(Instant.now()) .setCreateBy(UserUtil.getUserName())
.setCreateTime(Instant.now())
); );
}); });
outProduceItemService.updateBatchById(datas); outProduceItemService.updateBatchById(datas);

View File

@ -216,9 +216,12 @@ public class TransferCompanyController extends BaseController {
.setCreateBy(UserUtil.getUserName()) .setCreateBy(UserUtil.getUserName())
.setCreateTime(LocalDateTime.now()); .setCreateTime(LocalDateTime.now());
request.getQrCodes().forEach(qrCode -> { request.getQrCodes().forEach(qrCode -> {
MaterialQRCodeContentDTO qrCodeContent = NoUtil.getMaterialQRCodeContent(qrCode); MaterialQRCodeContentDTO qrCodeContent = NoUtil.getMaterialQRCodeContent(qrCode.getContent());
BigDecimal qrNum = qrCode.getNum();
String materialNo = qrCodeContent.getMaterialNo(); String materialNo = qrCodeContent.getMaterialNo();
WmsTransferCompanyItem item = datas.stream().filter(d -> StrUtil.equals(d.getMatnr(), materialNo)).findFirst().orElse(null); VUtil.trueThrowBusinessError(qrCode.getNum().compareTo(qrCodeContent.getNum()) > 0)
.throwMessage("物料" + materialNo + "的数量不能大于二维码中的数量");
WmsTransferCompanyItem item = datas.stream().filter(d -> Objects.equals(d.getId(), qrCode.getItemId())).findFirst().orElse(null);
VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("物料" + materialNo + "不需要出库"); VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("物料" + materialNo + "不需要出库");
VUtil.trueThrowBusinessError(item.getLeft().compareTo(BigDecimal.ZERO) < 0) VUtil.trueThrowBusinessError(item.getLeft().compareTo(BigDecimal.ZERO) < 0)
.throwMessage("物料" + materialNo + "的出库数量超出申请限制"); .throwMessage("物料" + materialNo + "的出库数量超出申请限制");
@ -234,7 +237,7 @@ public class TransferCompanyController extends BaseController {
ticketItems.add(ti); ticketItems.add(ti);
return ti; return ti;
}); });
pti.setNum(pti.getNum().add(qrCodeContent.getNum())); pti.setNum(pti.getNum().add(qrNum));
records.add(new OutMaterialScanRecord() records.add(new OutMaterialScanRecord()
.setSource(5) .setSource(5)
.setSourceId(order.getId()) .setSourceId(order.getId())
@ -243,20 +246,20 @@ public class TransferCompanyController extends BaseController {
.setTicketItemId(pti.getId()) .setTicketItemId(pti.getId())
.setMaterialNo(materialNo) .setMaterialNo(materialNo)
.setUnit(item.getMeins()) .setUnit(item.getMeins())
.setContent(qrCode) .setContent(qrCode.getContent())
.setBatchNo(qrCodeContent.getBatchNo()) .setBatchNo(qrCodeContent.getBatchNo())
.setSerialNo(qrCodeContent.getSerialNo()) .setSerialNo(qrCodeContent.getSerialNo())
.setUniqNo(qrCodeContent.getUniqNo()) .setUniqNo(qrCodeContent.getUniqNo())
.setFactoryNo(order.getReswk()) .setFactoryNo(order.getReswk())
.setWarehouseNo(request.getLgort()) .setWarehouseNo(request.getLgort())
.setNum(qrCodeContent.getNum()) .setNum(qrNum)
.setEbelp(item.getEbelp()) .setEbelp(item.getEbelp())
.setEbeln(order.getEbeln()) .setEbeln(order.getEbeln())
.setExt(item.getEbelp()) .setExt(item.getEbelp())
.setCreateBy(UserUtil.getUserName()) .setCreateBy(UserUtil.getUserName())
.setCreateTime(Instant.now()) .setCreateTime(Instant.now())
); );
item.setLeft(item.getLeft().subtract(qrCodeContent.getNum())); item.setLeft(item.getLeft().subtract(qrNum));
}); });
transferCompanyItemService.updateBatchById(datas); transferCompanyItemService.updateBatchById(datas);
transferCompanyService.lambdaUpdate() transferCompanyService.lambdaUpdate()

View File

@ -226,9 +226,12 @@ public class TransferFactoryController extends BaseController {
transferFactoryTicketService.save(ticket); transferFactoryTicketService.save(ticket);
List<WmsTransferFactoryTicketItem> ticketItems = new ArrayList<>(); List<WmsTransferFactoryTicketItem> ticketItems = new ArrayList<>();
request.getQrCodes().forEach(qrCode -> { request.getQrCodes().forEach(qrCode -> {
MaterialQRCodeContentDTO qrCodeContent = NoUtil.getMaterialQRCodeContent(qrCode); MaterialQRCodeContentDTO qrCodeContent = NoUtil.getMaterialQRCodeContent(qrCode.getContent());
BigDecimal qrNum = qrCode.getNum();
String materialNo = qrCodeContent.getMaterialNo(); String materialNo = qrCodeContent.getMaterialNo();
WmsTransferFactoryItem item = datas.stream().filter(d -> StrUtil.equals(d.getMatnr(), materialNo)).findFirst().orElse(null); VUtil.trueThrowBusinessError(qrCode.getNum().compareTo(qrCodeContent.getNum()) > 0)
.throwMessage("物料" + materialNo + "的数量不能大于二维码中的数量");
WmsTransferFactoryItem item = datas.stream().filter(d -> Objects.equals(d.getId(), qrCode.getItemId())).findFirst().orElse(null);
VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("物料" + materialNo + "不需要出库"); VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("物料" + materialNo + "不需要出库");
WmsTransferFactoryTicketItem pti = ticketItems.stream() WmsTransferFactoryTicketItem pti = ticketItems.stream()
.filter(ti -> Objects.equals(ti.getOrderItemId(), item.getId())) .filter(ti -> Objects.equals(ti.getOrderItemId(), item.getId()))
@ -242,8 +245,8 @@ public class TransferFactoryController extends BaseController {
ticketItems.add(ti); ticketItems.add(ti);
return ti; return ti;
}); });
pti.setNum(pti.getNum().add(qrCodeContent.getNum())); pti.setNum(pti.getNum().add(qrNum));
item.setLeft(item.getLeft().subtract(qrCodeContent.getNum())); item.setLeft(item.getLeft().subtract(qrNum));
VUtil.trueThrowBusinessError(item.getLeft().compareTo(BigDecimal.ZERO) < 0) VUtil.trueThrowBusinessError(item.getLeft().compareTo(BigDecimal.ZERO) < 0)
.throwMessage("物料" + materialNo + "的出库数量超出申请限制"); .throwMessage("物料" + materialNo + "的出库数量超出申请限制");
records.add(new OutMaterialScanRecord() records.add(new OutMaterialScanRecord()
@ -255,13 +258,13 @@ public class TransferFactoryController extends BaseController {
.setMaterialNo(materialNo) .setMaterialNo(materialNo)
.setUnit(item.getMeins()) .setUnit(item.getMeins())
.setRspos(item.getRspos()) .setRspos(item.getRspos())
.setContent(qrCode) .setContent(qrCode.getContent())
.setBatchNo(qrCodeContent.getBatchNo()) .setBatchNo(qrCodeContent.getBatchNo())
.setSerialNo(qrCodeContent.getSerialNo()) .setSerialNo(qrCodeContent.getSerialNo())
.setUniqNo(qrCodeContent.getUniqNo()) .setUniqNo(qrCodeContent.getUniqNo())
.setFactoryNo(order.getWerks()) .setFactoryNo(order.getWerks())
.setWarehouseNo(request.getLgort()) .setWarehouseNo(request.getLgort())
.setNum(qrCodeContent.getNum()) .setNum(qrNum)
.setCreateBy(UserUtil.getUserName()) .setCreateBy(UserUtil.getUserName())
.setCreateTime(Instant.now()) .setCreateTime(Instant.now())
); );

View File

@ -0,0 +1,26 @@
package com.nflg.wms.common.pojo.qo;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import java.util.List;
@Data
public class InProduceBackSubmitQO {
@NotBlank
private String no;
/**
* 仓库编号
*/
@NotBlank
private String lgort;
/**
* 二维码列表
*/
@NotEmpty
private List<String> qrCodes;
}

View File

@ -22,5 +22,5 @@ public class OutProduceSubmitQO {
* 二维码列表 * 二维码列表
*/ */
@NotEmpty @NotEmpty
private List<String> qrCodes; private List<QRCodeQO> qrCodes;
} }

View File

@ -0,0 +1,29 @@
package com.nflg.wms.common.pojo.qo;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class QRCodeQO {
/**
* 项id
*/
@NotNull
private Long itemId;
/**
* 二维码内容
*/
@NotBlank
private String content;
/**
* 数量
*/
@NotNull
private BigDecimal num;
}