package com.cf.imes.module.executor.dal.dataobject.order;

import com.cf.imes.framework.organ.core.db.OrganBaseDO;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;

/**
 * 生产单表 order_{N} DO
 *
 * @author 晨丰科技
 */
@TableName("`orders`")
@KeySequence("order_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderDO extends BaseDO {

    /**
     * 生产单号，主键
     */
    @TableId
    private Long id;
    // 组织 ID
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long organId;

    /**
     * 父单号
     */
    private Long parentNo;
    /**
     * 生产单日期
     */
    private LocalDateTime orderDate;
    /**
     * 交付日期
     */
    private LocalDateTime deliveryDate;
    /**
     * 生产单类型，1主单 2子单
     */
    private Integer orderType;
    /**
     * 生产单排序号
     */
    private Integer orderSort;
    /**
     * 数据类型，0文件导入 1API 2数据源
     */
    private Integer dataType;
    /**
     * 订单状态，订单状态，0空订单1新单2生产中3生产完成
     */
    private Integer status;
    /**
     * 自定义单号
     */
    private String customOrderNo;
    /**
     * 客户
     */
    private String customer;
    /**
     * 客户地址
     */
    private String address;
    /**
     * 客户电话
     */
    private String phoneNumber;
    /**
     * 经销商
     */
    private String dealer;
    /**
     * 经销商电话
     */
    private String dealerPhoneNumber;
    /**
     * 业务员
     */
    private String salesman;
    /**
     * 拆单员
     */
    private String splitter;
    /**
     * 备注
     */
    private String remark;
    /**
     * 是否删除
     */
    private Boolean deleted;
}
