package com.ruoyi.production.bean.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; /** * 自动领料结果 VO *

* 包含订单级和物料级的统计,以及成功/跳过/失败明细。 */ @Data @Schema(description = "自动领料结果") public class AutoPickResultVo { @Schema(description = "订单总数") private int orderTotal; @Schema(description = "订单成功数(至少有一笔物料领料成功)") private int orderSuccess; @Schema(description = "订单失败/部分失败数") private int orderFail; @Schema(description = "物料项总数") private int materialTotal; @Schema(description = "领料成功数") private int materialSuccess; @Schema(description = "跳过数(已领/零需求等)") private int materialSkip; @Schema(description = "领料失败数") private int materialFail; @Schema(description = "成功明细") private List successList = new ArrayList<>(); @Schema(description = "跳过明细") private List skipList = new ArrayList<>(); @Schema(description = "失败明细") private List failList = new ArrayList<>(); /** * 单笔物料领料明细 */ @Data @Schema(description = "领料明细项") public static class ItemDetail { @Schema(description = "生产订单ID") private Long productionOrderId; @Schema(description = "生产订单编号") private String productionOrderNo; @Schema(description = "产品规格ID") private Long productModelId; @Schema(description = "工序ID") private Long technologyOperationId; @Schema(description = "工序名称") private String operationName; @Schema(description = "需求数量") private BigDecimal demandedQuantity; @Schema(description = "领料数量") private BigDecimal pickQuantity; @Schema(description = "跳过/失败原因") private String reason; } }