From 551560efda7bb28da47e3f8720b9598dfc93c693 Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Mon, 24 Aug 2026 19:23:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pda/dto/ReceivingContainerRequests.java | 9 ++++-- .../pda/dto/ReceivingContainerResponses.java | 11 ++++++- .../pda/dto/ReceivingPhotoRole.java | 7 +++++ .../pda/entity/ReceivingContainerSession.java | 2 +- .../pda/entity/ReceivingSkuReceipt.java | 30 +++++++++++++++++++ .../pda/mapper/ReceivingSkuReceiptMapper.java | 23 ++++++++++++++ 6 files changed, 78 insertions(+), 4 deletions(-) create mode 100644 lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/dto/ReceivingPhotoRole.java create mode 100644 lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/entity/ReceivingSkuReceipt.java create mode 100644 lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/mapper/ReceivingSkuReceiptMapper.java diff --git a/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/dto/ReceivingContainerRequests.java b/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/dto/ReceivingContainerRequests.java index 093a03cce..9747c976f 100644 --- a/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/dto/ReceivingContainerRequests.java +++ b/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/dto/ReceivingContainerRequests.java @@ -1,7 +1,9 @@ package com.baiyue.lastleg.inboundplan.pda.dto; +import jakarta.validation.Valid; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Positive; import jakarta.validation.constraints.Size; @@ -11,11 +13,14 @@ public final class ReceivingContainerRequests { private ReceivingContainerRequests() { } public record Action(@NotBlank @Size(max = 255) String idempotencyKey) { } - public record Sign(@NotEmpty List<@Positive Long> photoFileIds, + public record Sign(@Size(min = 3, max = 3) List<@Valid SignedPhoto> photos, @NotBlank @Size(max = 255) String idempotencyKey) { } + public record SignedPhoto(@NotNull ReceivingPhotoRole role, @Positive long fileId) { } public record CartonResolve(@NotBlank String cartonMark) { } + public record SkuResolve(@NotBlank @Size(max = 128) String skuCode) { } public record PalletResolve(@NotBlank String palletCode, @NotBlank String inboundCode) { } - public record BulkReceive(@NotBlank String inboundCode, @NotBlank String palletCode, + public record BulkReceive(@NotBlank String inboundCode, @NotBlank @Size(max = 128) String skuCode, + @NotBlank String palletCode, @Positive int packageCount, @NotBlank @Size(max = 255) String idempotencyKey) { } public record CartonReceive(@NotBlank String cartonMark, @NotBlank String palletCode, @NotBlank @Size(max = 255) String idempotencyKey) { } diff --git a/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/dto/ReceivingContainerResponses.java b/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/dto/ReceivingContainerResponses.java index 7a1acf4cb..385113cf1 100644 --- a/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/dto/ReceivingContainerResponses.java +++ b/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/dto/ReceivingContainerResponses.java @@ -7,14 +7,17 @@ public final class ReceivingContainerResponses { private ReceivingContainerResponses() { } public record Candidate(String containerNo, String status, int planCount, int inboundCodeCount, + List destinationCodes, int plannedPalletCount, int totalPackages, int receivedPackages, boolean currentAccount) { } public record Session(String containerNo, String status, String operatorName, int version, - List photoFileIds, LocalDateTime preparedAt, LocalDateTime signedAt, + List photos, LocalDateTime preparedAt, LocalDateTime signedAt, LocalDateTime receivingAt, LocalDateTime completedAt, int totalPackages, int receivedPackages, int pendingPackages, List inbounds) { } + public record SignedPhoto(ReceivingPhotoRole role, long fileId) { } + public record Inbound(String inboundCode, String destinationType, String destinationWarehouseId, String destinationWarehouseCode, String destinationWarehouseName, String fbaWarehouseCode, int plannedPalletCount, int totalPackages, @@ -26,6 +29,12 @@ public final class ReceivingContainerResponses { String fbaWarehouseCode, int plannedPalletCount, int totalPackages, int receivedPackages, int pendingPackages) { } + public record SkuResolved(String skuCode, String productName, String inboundCode, + String destinationType, String destinationWarehouseId, + String destinationWarehouseCode, String destinationWarehouseName, + String fbaWarehouseCode, int plannedPalletCount, int totalPackages, + int receivedPackages, int pendingPackages) { } + public record PalletResolved(String palletCode, long warehouseId, String status, String fbaWarehouseCode, String inboundCode, String destinationType, boolean compatible) { } diff --git a/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/dto/ReceivingPhotoRole.java b/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/dto/ReceivingPhotoRole.java new file mode 100644 index 000000000..211113644 --- /dev/null +++ b/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/dto/ReceivingPhotoRole.java @@ -0,0 +1,7 @@ +package com.baiyue.lastleg.inboundplan.pda.dto; + +public enum ReceivingPhotoRole { + LICENSE_PLATE, + CONTAINER_SEAL, + DOOR_OPEN +} diff --git a/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/entity/ReceivingContainerSession.java b/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/entity/ReceivingContainerSession.java index e2362227a..68a074b0b 100644 --- a/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/entity/ReceivingContainerSession.java +++ b/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/entity/ReceivingContainerSession.java @@ -20,7 +20,7 @@ public class ReceivingContainerSession { private String activeOperatorKey; private String activeContainerKey; private String status; - private String photoFileIds; + private String signPhotos; private LocalDateTime preparedAt; private LocalDateTime signedAt; private LocalDateTime receivingAt; diff --git a/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/entity/ReceivingSkuReceipt.java b/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/entity/ReceivingSkuReceipt.java new file mode 100644 index 000000000..91ab80bf0 --- /dev/null +++ b/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/entity/ReceivingSkuReceipt.java @@ -0,0 +1,30 @@ +package com.baiyue.lastleg.inboundplan.pda.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.Version; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +@TableName("ll_receiving_sku_receipt") +public class ReceivingSkuReceipt { + @TableId(type = IdType.INPUT) + private Long id; + private String customerId; + private Long sessionId; + private Long planId; + private Long lineId; + private Long palletId; + private Long orderId; + private String inboundCode; + private String skuCode; + private String productName; + private Integer receivedPackages; + private LocalDateTime createdAt; + private LocalDateTime updatedAt; + @Version + private Integer version; +} diff --git a/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/mapper/ReceivingSkuReceiptMapper.java b/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/mapper/ReceivingSkuReceiptMapper.java new file mode 100644 index 000000000..6e444f8e1 --- /dev/null +++ b/lastleg-service/src/main/java/com/baiyue/lastleg/inboundplan/pda/mapper/ReceivingSkuReceiptMapper.java @@ -0,0 +1,23 @@ +package com.baiyue.lastleg.inboundplan.pda.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baiyue.lastleg.inboundplan.pda.entity.ReceivingSkuReceipt; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +@Mapper +public interface ReceivingSkuReceiptMapper extends BaseMapper { + @Select("SELECT * FROM ll_receiving_sku_receipt WHERE customer_id=#{customerId} " + + "AND line_id=#{lineId} AND sku_code=#{skuCode} ORDER BY id FOR UPDATE") + List lockLineSku(@Param("customerId") String customerId, + @Param("lineId") Long lineId, + @Param("skuCode") String skuCode); + + @Select("SELECT * FROM ll_receiving_sku_receipt WHERE customer_id=#{customerId} " + + "AND plan_id=#{planId} ORDER BY line_id,pallet_id,sku_code,id") + List listPlan(@Param("customerId") String customerId, + @Param("planId") Long planId); +}