package com.hzs.common.domain.scm.purchase;

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.web.domain.BaseEntity;
import lombok.*;
import lombok.experimental.Accessors;

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

/**
 * <p>
 * 采购入库表头
 * </p>
 *
 * @author hzs
 * @since 2023-11-17
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@KeySequence("IC_PURCHASEIN_H_SEQ")
@TableName("IC_PURCHASEIN_H")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class IcPurchaseInH extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId("PK_ID")
    private Long pkId;

    /**
     * 采购部门
     */
    @TableField("PK_DEPT")
    private Integer pkDept;

    /**
     * 仓库管理员
     */
    @TableField("PK_WHSMANAGER")
    private Long pkWhsmanager;

    /**
     * 供应商 取bd_cubasdoc 类型为1 2的
     */
    @TableField("PK_CUBASDOC")
    private Integer pkCubasdoc;

    /**
     * 仓库
     */
    @TableField("PK_STOREHOUSE")
    private Integer pkStorehouse;

    /**
     * 订单日期 2023-10
     */
    @TableField("ORDER_DATE")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date orderDate;

    /**
     * 订单状态 EPoOrderStatus 1=已保存 2=已提交 3=已审核  4=已收货 5=已关闭 6=已退货
     */
    @TableField("ORDER_STATUS")
    private Integer orderStatus;

    /**
     * 退货状态 0=是 1=否
     */
    @TableField("RETURN_STATUS")
    private Integer returnStatus;

    /**
     * 打印状态
     */
    @TableField("PRINT_STATUS")
    private Integer printStatus;

    /**
     * 采购组织
     */
    @TableField("PK_CORP")
    private Integer pkCorp;

    /**
     * 总数量
     */
    @TableField("TOTAL_NUM")
    private BigDecimal totalNum;

    /**
     * 订单编号
     */
    @TableField("ORDER_CODE")
    private String orderCode;

    /**
     * 退货理由
     */
    @TableField("RETURN_REASON")
    private String returnReason;

    /**
     * 备注
     */
    @TableField("REMARK")
    private String remark;


}
