Files
baiyue-firstleg/firstleg/src/main/java/com/baiyue/firstleg/dto/InboundMeasurementResponses.java
T
2026-08-18 11:32:55 +08:00

129 lines
4.1 KiB
Java

package com.baiyue.firstleg.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
* 入库测量详情响应,覆盖原单、实测明细、审核快照和 OCR 重量维护字段。
*/
public final class InboundMeasurementResponses {
private InboundMeasurementResponses() {
}
public record Detail(
Long inboundId,
String inboundCode,
String companyName,
String channelCode,
String channelName,
String processStatus,
String measureReviewStatus,
@Schema(description = "测量完成后的推荐托盘类型,仅为建议,不代表已分配托盘",
allowableValues = "STANDARD", example = "STANDARD")
String recommendedPalletType,
String reviewReason,
Long reviewerId,
String reviewerName,
Long measurementId,
String sourceType,
String measurementStatus,
@Schema(description = "入库主单乐观锁版本,用于测量审核、驳回和异常放行", example = "3")
Integer inboundVersion,
@Schema(description = "测量批次乐观锁版本,用于测量草稿和明细维护", example = "4")
Integer version,
String originalDocumentNo,
BigDecimal originalGrossWeightKg,
BigDecimal originalVolumeCbm,
Integer originalPackageCount,
Integer actualPackageCount,
BigDecimal actualGrossWeightKg,
BigDecimal actualNetWeightKg,
BigDecimal actualVolumeCbm,
BigDecimal volumeWeightKg,
String actualGoodsName,
List<Item> items,
List<WeightResult> weightResults
) {
}
public record Item(
Long id,
Long inboundDetailId,
String itemNo,
String boxSpecification,
Integer packageCount,
BigDecimal lengthCm,
BigDecimal widthCm,
BigDecimal heightCm,
BigDecimal girthCm,
BigDecimal unitWeightKg,
BigDecimal unitVolumeCbm,
BigDecimal totalWeightKg,
BigDecimal totalVolumeCbm,
BigDecimal volumeWeightKg,
Long intelligentImageFileId,
String overLimitWarning,
BigDecimal outerLengthCm,
BigDecimal outerWidthCm,
BigDecimal outerHeightCm,
String remark,
String boxCode,
String scannedShipmentId,
Integer confirmedPackageCount,
String machineNo,
LocalDateTime deviceMeasuredAt,
LocalDateTime updatedAt
) {
}
public record WeightResult(
Long id,
Long fileId,
Long palletId,
String palletCode,
String palletType,
BigDecimal palletCapacityCbm,
BigDecimal palletTareWeightKg,
String ocrProvider,
String ocrRawText,
BigDecimal ocrWeightValue,
String ocrWeightUnit,
BigDecimal confidence,
BigDecimal grossWeightKg,
BigDecimal adjustedWeightValue,
String adjustedWeightUnit,
BigDecimal netWeightKg,
String recognitionStatus,
String adjustmentReason,
Long adjustedBy,
LocalDateTime adjustedAt,
Long confirmedBy,
LocalDateTime confirmedAt,
Integer version
) {
}
public record PalletSnapshot(
Long palletId,
String palletCode,
String palletType,
BigDecimal capacityCbm,
BigDecimal tareWeightKg
) {
}
public record DraftSaved(Long measurementId, Integer version, String status) {
}
public record MeasurementSubmitted(Long measurementId, Integer version, String processStatus,
String measureReviewStatus,
@Schema(description = "测量完成后的推荐托盘类型,仅为建议,不代表已分配托盘",
allowableValues = "STANDARD", example = "STANDARD")
String recommendedPalletType,
Long feeId, String feeNo, String feeStatus) {
}
}