package cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.inbound;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;

@Schema(description = "管理后台 - 物资入库单明细 Response VO")
@Data
public class MaterialInboundOrderItemRespVO {

    private Long id;

    private Long orderId;

    private Long materialId;

    private String materialNumber;

    private String materialName;

    private String specification;

    @Schema(description = "物资类别")
    private String categoryName;

    private String materialUnit;

    @Schema(description = "入库仓库ID")
    private Long refInStoreId;

    @Schema(description = "入库仓库名称")
    private String refInStoreName;

    /** 本批次入库数量 */
    private BigDecimal inQty;

    /** 本批次已出库数量（累计） */
    private BigDecimal outQty;

    /** 本批次当前可用数量（冗余：in_qty - out_qty） */
    private BigDecimal availableQty;

    private BigDecimal inUnitPrice;

    private BigDecimal saleUnitPrice;

    private BigDecimal amount;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate produceDate;

    @Schema(description = "供应商ID")
    private Long supplierId;

    @Schema(description = "供应商名称")
    private String supplierName;
}

