package cn.iocoder.yudao.module.system.dal.dataobject.biz;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseNoDeleteDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

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

/**
 * 物资入库单明细（兼批次余额） DO
 *
 * 对应表：material_inbound_order_item
 */
@TableName("material_inbound_order_item")
@KeySequence("material_inbound_order_item_seq")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MaterialInboundOrderItemDO extends BaseNoDeleteDO {

    /** 主键ID */
    @TableId
    private Long id;

    /** 入库单ID（material_inbound_order.id） */
    private Long inboundOrderId;

    /** 物资ID（material_info.id） */
    private Long materialId;

    /** 仓库ID（store_manage.id） */
    private Long storeId;

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

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

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

    /** 入库单价 */
    private BigDecimal inUnitPrice;

    /** 销售单价 */
    private BigDecimal saleUnitPrice;

    /** 生产日期 */
    private LocalDate produceDate;

    /** 租户 ID */
    private Long tenantId;
}


