package org.dromara.erp.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.erp.domain.vo.ErpOrderVo;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 订单实体 t_Applet_Order
 * @Author: Antigravity
 */
@Data
@AutoMapper(target = ErpOrderVo.class)
@TableName("t_Applet_Order")
public class ErpOrder implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 订单主键
     */
    @TableId("FRowID")
    private String rowId;

    /**
     * 订单单号
     */
    @TableField("FCode")
    private String code;

    /**
     * 下单人
     */
    @TableField("FPlacer")
    private Long placer;

    /**
     * 下单时间
     */
    @TableField("FPlaceTime")
    private Date placeTime;

    /**
     * 是否已确认 (0-否 1-是)
     * @Author: Antigravity
     */
    @TableField("FIsConfirmed")
    private Integer isConfirmed;

    /**
     * 是否加急 (0-否 1-是)
     * @Author: Trae
     */
    @TableField("FUrgentFlag")
    private Integer urgentFlag;

    /**
     * 单据编号 (对应物理列 FErpDocCode)
     * @Author: Antigravity
     */
    @TableField("FErpDocCode")
    private String docCode;

    /**
     * 下单客户ID
     * @Author: Antigravity
     */
    @TableField("FClientID")
    private String clientId;

    /**
     * 下单客户名称
     * @Author: Antigravity
     */
    @TableField("FClientName")
    private String clientName;

    /**
     * 创建部门
     */
    @TableField(value = "CreateDept", fill = FieldFill.INSERT)
    private Long createDept;

    /**
     * 创建者
     */
    @TableField(value = "CreateBy", fill = FieldFill.INSERT)
    private Long createBy;

    /**
     * 创建时间
     */
    @TableField(value = "CreateTime", fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 更新者
     */
    @TableField(value = "UpdateBy", fill = FieldFill.INSERT_UPDATE)
    private Long updateBy;

    /**
     * 更新时间
     */
    @TableField(value = "UpdateTime", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

}
