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

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

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

    /**
     * 步骤 ID
     */
    @TableId
    private Long id;
    // 组织 ID
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long organId;
    /**
     * 生产单号
     */
    private Long orderId;
    /**
     * 完成时间
     */
    private LocalDateTime finishTime;
    /**
     * 工序状态，0未加工，1已加工
     */
    private Boolean status;
    /**
     * 加工类型，0全部加工，1开料，2部件加工，3异形封边，4分堆，5打包，6出库，7组件加工，8板材
     */
    private Integer type;
    /**
     * 计件工资
     */
    private Double pieceRate;
    /**
     * 计件工资类型，1数量，2长度，3平方，4宽，5高，6体积，7生产单金额百分比
     */
    private Integer pieceType;
    /**
     * 排序优先级
     */
    private Integer sort;
    /**
     * 工序名称
     */
    private String name;
    /**
     * 工序 ID
     */
    private Long processinfoId;
    /**
     * 生产单工序 ID
     */
    private Long orderProcessId;
    /**
     * 计划日期
     */
    private LocalDateTime scheduleDate;
    /**
     * 工序处理时长
     */
    private Double duration;
    /**
     * 工序负责人
     */
    private String manager;
    /**
     * 工序处理日期
     */
    private LocalDateTime processDate;
    /**
     * 是否删除
     */
    private Boolean deleted;

}