package com.fjhx.entity.contract;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fjhx.base.StorageBaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 采购合同明细
 * </p>
 *
 * @author ${author}
 * @since 2022-09-19
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class ContractDetails extends StorageBaseEntity {

    /**
     * 采购合同明细编码（原入库单号）
     */
    private String code;

    /**
     * 采购合同id
     */
    private Long contractId;

    /**
     * 采购合同编号
     */
    private String contractCode;

    /**
     * 申购单id
     */
    private Long applyPurchaseId;

    /**
     * 申购单编码
     */
    private String applyPurchaseCode;

    /**
     * 申购明细id
     */
    private Long applyPurchaseDetailsId;

    /**
     * 物料id
     */
    private Long materialId;

    /**
     * 供应商id
     */
    private Long supplierId;

    /**
     * 单价
     */
    private BigDecimal price;

    /**
     * 采购数量
     */
    private BigDecimal quantity;

    /**
     * 出货数量
     */
    private BigDecimal shipmentQuantity;

    /**
     * 在途数量
     */
    private BigDecimal afloatQuantity;

    /**
     * 到货数量
     */
    private BigDecimal arrivalQuantity;

    /**
     * 质检修正数量
     */
    private BigDecimal adjustQuantity;

    /**
     * 退货数量
     */
    private BigDecimal backQuantity;

    /**
     * 完成状态 （0未完成 1已完成）
     */
    private Integer completeStatus;

    /**
     * 完成时间
     */
    private Date completeTime;

    /**
     * 逻辑删除 0未删除 1已删除
     */
    @TableField(fill = FieldFill.INSERT)
    @TableLogic
    private Integer delFlag;

    private String oldId;


}
