package cn.iocoder.yudao.module.stockOperate.entity;

import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import com.baomidou.mybatisplus.annotation.IdType;
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 lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * 采购单领料单
 * @TableName dl_repair_so
 */
/**
 * 采购单/领料单
 * @author 小李
 * @date 8:54 2024/9/13
**/
@TableName(value ="dl_repair_so")
@Data
@EqualsAndHashCode(callSuper = true)
public class DlRepairSo extends TenantBaseDO {
    /**
     * 主键标识
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /**
     * 单据类型(字典repair_so_type)
     */
    private String soType;

    /**
     * 采购单类型(字典repair_purchase_type)
     */
    private String purchaseType;

    /**
     * 单据编号;自动生成
     */
    private String soNo;

    /**
     * 供应商ID(dl_base_supplier表的ID)
     */
    private String supplierId;

    /**
     * 供应商名称(dl_base_supplier表的name)
     */
    private String supplierName;

    /**
     * 采购员/领料人ID(system_users表的ID)
     */
    private Long userId;

    /**
     * 采购员/领料人名字(company_staff表的name)
     */
    private String userName;

    /**
     * 采购时间/领料时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date soTime;

    /**
     * 商品的总数量;自动生成
     */
    private Integer itemCount;

    /**
     * 商品的总价;自动生成
     */
    private BigDecimal totalPrice;

    /**
     * 单据状态(字典repair_so_status)
     */
    private String soStatus;

    /**
     * 备注
     */
    private String remark;

    /**
     * 门店ID(base_company表的ID)
     */
    private String corpId;

    /**
     * 门店名称(base_company表的corp_name)
     */
    private String corpName;

    /**
     * 部门ID(system_dept表的ID)
     */
    private Long deptId;

    /** 关联的配件申请单的id(dl_ticket_wares表的ID) */
    private String twId;

    /** 关联主表id */
    private String mainId;

    /** 关联主表名称 */
    private String mainTable;


    /**
     * 车牌号
     */
    @TableField(exist = false)
    private String licenseNumber;
}