diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java index fdb2b032..d661f168 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java @@ -1265,39 +1265,40 @@ public class NormalPGIController extends BaseController { .findFirst() .orElse(null); VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("未找到二维码对应的订单"); - item.setInQty(item.getInQty().add(code.getNum())); - item.setCrossQty(item.getCrossQty().add(code.getNum())); +// item.setInQty(item.getInQty().add(qrCodeMaster.getQuantity())); + item.setCrossQty(item.getCrossQty().add(qrCodeMaster.getQuantity())); + qrCodeMaster.setProcessStage(BarCodeProcessStage.Cross.getState()); }); }); - List qos = new ArrayList<>(); - receiptItems.forEach(item -> { - PoReceiveTaskConfirmQO qo = qos.stream() - .filter(q -> q.getTaskId().equals(item.getReceiveId())) - .findFirst() - .orElse(null); - if (Objects.isNull(qo)) { - qo = new PoReceiveTaskConfirmQO() - .setTaskId(item.getReceiveId()) - .setItems(new ArrayList<>()); - qos.add(qo); - } - qo.getItems().add(new PoReceiveTaskItemConfirmQO() - .setId(item.getId()) - .setReceivedWarehouse(item.getReceivedWarehouse()) - .setItems( - qrCodeMasters.stream() - .filter(qit -> qit.getReceiptItemId().equals(item.getId())) - .toList() - .stream() - .map(qit -> new InCostCenterBackSubmitItemQRQO() - .setBinNo(item.getStorageLocation()) - .setQrCode(qit.getBarcodeCode()) - ) - .toList() - ) - ); - }); - qos.forEach(this::takeDeliveryConfirm); +// List qos = new ArrayList<>(); +// receiptItems.forEach(item -> { +// PoReceiveTaskConfirmQO qo = qos.stream() +// .filter(q -> q.getTaskId().equals(item.getReceiveId())) +// .findFirst() +// .orElse(null); +// if (Objects.isNull(qo)) { +// qo = new PoReceiveTaskConfirmQO() +// .setTaskId(item.getReceiveId()) +// .setItems(new ArrayList<>()); +// qos.add(qo); +// } +// qo.getItems().add(new PoReceiveTaskItemConfirmQO() +// .setId(item.getId()) +// .setReceivedWarehouse(item.getReceivedWarehouse()) +// .setItems( +// qrCodeMasters.stream() +// .filter(qit -> qit.getReceiptItemId().equals(item.getId())) +// .toList() +// .stream() +// .map(qit -> new InCostCenterBackSubmitItemQRQO() +// .setBinNo(item.getStorageLocation()) +// .setQrCode(qit.getBarcodeCode()) +// ) +// .toList() +// ) +// ); +// }); +// qos.forEach(this::takeDeliveryConfirm); Map> maps = datas.stream().collect(Collectors.groupingBy(Zwm3a07VO::getKey2)); List pOrders = new ArrayList<>(); List tickets = new ArrayList<>(); @@ -1323,10 +1324,13 @@ public class NormalPGIController extends BaseController { items.forEach(item -> { RLock lock = redissonClient.getLock(StrUtil.format("lock:inventory:{}:{}:{}", item.getDwerk(), item.getLgort2(), item.getMatnr())); try { + Long itemId=IdUtil.getSnowflakeNextId(); // 等待5秒获取锁,10秒后自动释放 if (lock.tryLock(5, 10, TimeUnit.SECONDS)) { WmsOutProduceItem data = Convert.convert(WmsOutProduceItem.class, item); - data.setLockNum(item.getSqsl()); + data.setId(itemId); + data.setLockNum(BigDecimal.ZERO); + data.setNum(item.getSqsl()); data.setOrderId(order.getId()); outProduceItemService.save(data); } else { @@ -1335,7 +1339,7 @@ public class NormalPGIController extends BaseController { ticketItems.add( new WmsOutProduceTicketItem() .setTicketId(ticket.getId()) - .setProduceItemId(order.getId()) + .setProduceItemId(itemId) .setNum(item.getSqsl()) ); } catch (Exception e) { @@ -1348,6 +1352,8 @@ public class NormalPGIController extends BaseController { } }); }); + qrCodeMasterService.updateBarCode(qrCodeMasters); + wmsPoReceiptItemService.updateBatchById(receiptItems); outProduceService.saveBatch(pOrders); outProduceTicketService.saveBatch(tickets); outProduceTicketItemService.saveBatch(ticketItems); diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/constant/BarCodeProcessStage.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/constant/BarCodeProcessStage.java index 09766084..929cf09e 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/constant/BarCodeProcessStage.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/constant/BarCodeProcessStage.java @@ -1,6 +1,5 @@ package com.nflg.wms.common.constant; -import com.baomidou.mybatisplus.annotation.EnumValue; import lombok.AllArgsConstructor; import lombok.Getter; @@ -56,7 +55,11 @@ public enum BarCodeProcessStage { /** * 已拒收 */ - Reject((short) 11, "拒收"); + Reject((short) 11, "拒收"), + /** + * 已拒收 + */ + Cross((short) 12, "已越库"); private final short state; private final String description; diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QRCodeQO1.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QRCodeQO1.java index c7ad9632..96a6e03a 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QRCodeQO1.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QRCodeQO1.java @@ -1,12 +1,8 @@ package com.nflg.wms.common.pojo.qo; import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Positive; import lombok.Data; -import java.math.BigDecimal; - @Data public class QRCodeQO1 { @@ -16,10 +12,10 @@ public class QRCodeQO1 { @NotBlank private String codeId; - /** - * 数量 - */ - @NotNull - @Positive(message = "数量必须大于0") - private BigDecimal num; +// /** +// * 数量 +// */ +// @NotNull +// @Positive(message = "数量必须大于0") +// private BigDecimal num; } diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsInProduceOrderSurplusTicketMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsInProduceOrderSurplusTicketMapper.xml index 43127f3b..20f787e9 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsInProduceOrderSurplusTicketMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsInProduceOrderSurplusTicketMapper.xml @@ -8,10 +8,10 @@ INNER JOIN wms_in_produce_order_surplus ipos ON ipost.order_id=ipos."id" - and ipost.create_time >= #{request.startDate} + and ipos.create_time >= #{request.startDate} - and ipost.create_time <= #{request.endDate} + and ipos.create_time <= #{request.endDate} AND ipost."no" ilike CONCAT('%',#{request.no},'%')