package cn.estsh.i3plus.ext.mes.pcn.pojo.model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiParam;
import lombok.Data;

import java.io.Serializable;

/**
 * @Description:
 * @Author: xiangming.liao
 * @Date: 2021/01/18 15:44
 * @Modify:
 */
@Data
@ApiModel("MES_单据作业")
public class MesOrderJobModel implements Serializable {

    private static final long serialVersionUID = -2387502733221201562L;

    @ApiParam("id")
    private Long id;

    /**
     * 作业类型： 10=准备作业，20=过程作业
     */
    @ApiParam("作业类型")
    private Integer taskType;

    /**
     * 10=物料点检，20=人员点检，30=Q管理，40=设备点检、50=防静电点检、
     * 60=工单首检、70=4M变更、80=失败事例点检、90=特殊过程工艺参数、
     * 100=铭牌保证书一致性、110=外观防划伤点检、120=工程巡回确认、130=称重管理表
     * 140=扭矩管理
     */
    @ApiParam(value = "单据类型", example = "10")
    public Integer orderType;

    /**
     * 根据编码规则产生
     */
    @ApiParam(value ="单据编号")
    private String orderNo;

    @ApiParam("工作中心代码")
    private String workCenterCode;

    @ApiParam("班次代码")
    private String shiftCode;

    @ApiParam("生产工单号")
    private String workOrderNo;

    /**
     * 单据状态：10=创建、20=点检中、30=点检完成、40=关闭
     */
    @ApiParam(value ="单据状态")
    private Integer orderStatus;

    @ApiParam("单据日期")
    private String orderDate;

    @ApiParam("生成时间")
    private String generateTime;

    @ApiParam("完成时间")
    private String complateTime;

    @ApiParam("物料编号")
    private String partNo;

    @ApiParam("物料名称")
    private String partNameRdd;

    @ApiParam("组织代码")
    public String organizeCode;

    @ApiParam("有效性")
    public Integer isValid;

    @ApiParam("是否已删除")
    public Integer isDeleted;

    @ApiParam("创建用户")
    public String createUser;

    @ApiParam("创建日期")
    public String createDatetime;

    @ApiParam("修改人")
    public String modifyUser;

    @ApiParam("修改日期")
    public String modifyDatetime;

    @ApiParam("工位代码")
    public String workCellCode;

    @ApiParam("单据日期开始")
    private String orderDateStart;

    @ApiParam("单据日期截止")
    private String orderDateEnd;

    @ApiParam("过程条码")
    private String serialNumber;

    public MesOrderJobModel() {
    }

    public MesOrderJobModel(Long id, Integer taskType, Integer orderType, String orderNo, String workCenterCode, String shiftCode, String workOrderNo, Integer orderStatus, String orderDate, String generateTime, String complateTime, String partNo, String partNameRdd, String organizeCode, Integer isValid, Integer isDeleted, String createUser, String createDatetime, String modifyUser, String modifyDatetime, String serialNumber) {
        this.id = id;
        this.taskType = taskType;
        this.orderType = orderType;
        this.orderNo = orderNo;
        this.workCenterCode = workCenterCode;
        this.shiftCode = shiftCode;
        this.workOrderNo = workOrderNo;
        this.orderStatus = orderStatus;
        this.orderDate = orderDate;
        this.generateTime = generateTime;
        this.complateTime = complateTime;
        this.partNo = partNo;
        this.partNameRdd = partNameRdd;
        this.organizeCode = organizeCode;
        this.isValid = isValid;
        this.isDeleted = isDeleted;
        this.createUser = createUser;
        this.createDatetime = createDatetime;
        this.modifyUser = modifyUser;
        this.modifyDatetime = modifyDatetime;
        this.serialNumber = serialNumber;
    }

    public MesOrderJobModel(Long id, Integer taskType, Integer orderType, String orderNo, String workCenterCode, String shiftCode, String workOrderNo, Integer orderStatus, String orderDate, String generateTime, String complateTime, String organizeCode, Integer isValid, Integer isDeleted, String createUser, String createDatetime, String modifyUser, String modifyDatetime, String partNo, String partNameRdd) {
        this.id = id;
        this.taskType = taskType;
        this.orderType = orderType;
        this.orderNo = orderNo;
        this.workCenterCode = workCenterCode;
        this.shiftCode = shiftCode;
        this.workOrderNo = workOrderNo;
        this.orderStatus = orderStatus;
        this.orderDate = orderDate;
        this.generateTime = generateTime;
        this.complateTime = complateTime;
        this.organizeCode = organizeCode;
        this.isValid = isValid;
        this.isDeleted = isDeleted;
        this.createUser = createUser;
        this.createDatetime = createDatetime;
        this.modifyUser = modifyUser;
        this.modifyDatetime = modifyDatetime;
        this.partNo = partNo;
        this.partNameRdd = partNameRdd;
    }
}
