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

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 java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;

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

    /**
     * ID
     */
    @TableId
    private Long id;
    // 组织 ID
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long organId;
    /**
     * 排单号
     */
    private String planNo;
    /**
     * 排序优先级
     */
    private Long sort;
    /**
     * 排单类型：1 混单排单，2 生产单排单
     */
    private Integer type;
    /**
     * 排单状态：0 新单，1 板材已申请，2 开料中，3 已开料
     */
    private Integer status;
    /**
     * 是否支付：0 否，1 是
     */
    private Boolean isPay;
    /**
     * 机台 ID
     */
    private Long machineId;
    /**
     * 计划时间
     */
    private LocalDateTime planTime;
    /**
     * 生产单号
     */
    private String orderNos;
    /**
     * 排单优化文件地址
     */
    private String placeDateFileUrl;
    /**
     * 排单优化文件地址
     */
    private String placeOrderFileUrl;
    /**
     * 备注
     */
    private String remark;
    /**
     * 生产操作人
     */
    private String operator;
    /**
     * 生产时间
     */
    private LocalDateTime produceTime;

}