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
|
* <p>
|
* 包含订单级和物料级的统计,以及成功/跳过/失败明细。
|
*/
|
@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<ItemDetail> successList = new ArrayList<>();
|
|
@Schema(description = "跳过明细")
|
private List<ItemDetail> skipList = new ArrayList<>();
|
|
@Schema(description = "失败明细")
|
private List<ItemDetail> 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;
|
}
|
}
|