package com.zt.plat.module.erp.api.dto.dto071;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

@Schema(description = "071 接口请求参数列表对象")
@Data
public class ItemList071 implements Serializable {
    @Schema(description = "物料号(服务采购订单收货时为空)", requiredMode = Schema.RequiredMode.REQUIRED)
    private String material;

    @Schema(description = "工厂编码", requiredMode = Schema.RequiredMode.REQUIRED)
    private String plant;

    @Schema(description = "仓库(资产入库时不需要)", requiredMode = Schema.RequiredMode.REQUIRED)
    private String stge_loc;

    @Schema(description = "批次")
    private String batch;

    @Schema(description = "数量(可以为负数)", requiredMode = Schema.RequiredMode.REQUIRED)
    private BigDecimal entry_qnt;

    @Schema(description = "计量单位", requiredMode = Schema.RequiredMode.REQUIRED)
    private String entry_uom;

    @Schema(description = "采购订单号(采购订单收货时需要:sap订单号)", requiredMode = Schema.RequiredMode.REQUIRED)
    private String po_number;

    @Schema(description = "采购订单行号(采购订单收货时需要)", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer po_item;

    @Schema(description = "客户编号(来料加工收货时选填)", requiredMode = Schema.RequiredMode.REQUIRED)
    private String customer;

    @Schema(description = "销售订单号(来料加工收货时选填)", requiredMode = Schema.RequiredMode.REQUIRED)
    private String sales_ord;

    @Schema(description = "销售单行号(来料加工收货时选填)", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer s_ord_item;

    @Schema(description = "委托加工原料消耗数量")
    private BigDecimal consume_qnt;

    @Schema(description = "行项目文本(会拼接物料名称放入对应会计凭证的行项目文本)")
    private String item_text;

    @Schema(description = "参考凭证的年度(冲回时使用)")
    private Integer ref_doc_yr;

    @Schema(description = "参考凭证编号(冲回时使用)")
    private String ref_doc;

    @Schema(description = "参考凭证项目(冲回时使用)")
    private Integer ref_doc_it;

    @Schema(description = "送货单行号(入库时填入送货单的行号)")
    private String unload_pt;
}
