package com.ximai.mes.pro.domain.vo;

import com.ximai.common.annotation.Excel;
import com.ximai.mes.pro.domain.prototypeRequest.ProPrototypeRequestProcess;
import com.ximai.mes.pro.domain.prototypeRequest.ProPrototypeRequestProcessItem;
import org.springframework.beans.BeanUtils;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * title:
 * author:ZHT
 * date:2024/1/20
 * description:
 */
public class ProPrototypeRequestProcessVo implements Serializable {
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long prototypeRequestProcessId;

    /** 样品申请单ID */
    @Excel(name = "样品申请单ID")
    private Long prototypeRequestId;

    /** 记录ID */
    @Excel(name = "记录ID")
    private Long recordId;

    /** 编号 */
    @Excel(name = "编号")
    private int orderNum;

    /** 工序id */
    private Long processId;

    /** 工序名称 */
    @Excel(name = "工序名称")
    private String processName;

    /** 工序编码 */
    @Excel(name = "工序编码")
    private String processCode;

    /** 下一道工序的名称 */
    @Excel(name ="下一道工序的名称")
    private String nextProcessName;


    /** 与下一道工序的关系 */
    @Excel(name = "与下一道工序的关系")
    private String linkType;

    /** 甘特图颜色 */
    private String colorCode;

    /** 准备时间 */
    @Excel(name = "准备时间")
    private Long defaultPreTime;

    /** 等待时间 */
    @Excel(name = "等待时间")
    private Long defaultSufTime;

    /** 关键工序 */
    @Excel(name = "关键工序")
    private String keyFlag;

    /** 是否检验 */
    @Excel(name = "是否检验")
    private String isCheck;

    /** 工作中心ID */
    @Excel(name = "工作中心ID")
    private Long workstationId;

    @Excel(name = "工作中心名称")
    private String workstationName;

    /** 标准工时 */
    @Excel(name = "标准工时")
    private BigDecimal stdWorkingTime;

    /** 备注 */
    private String remark;

    /** 工序物料 */
    private List<ProPrototypeRequestProcessItem> processItemList;

    private List<ProPrototypeRequestProcessQcindexVo> qcindexList;

    private List<ProPrototypeRequestProcessToolVo> toolList;


    public ProPrototypeRequestProcess getPrototypeRequestProcess(ProPrototypeRequestProcessVo proPrototypeRequestProcessVo){
        ProPrototypeRequestProcess proPrototypeRequestProcess = new ProPrototypeRequestProcess();
        BeanUtils.copyProperties(proPrototypeRequestProcessVo,proPrototypeRequestProcess);
        return proPrototypeRequestProcess;
    }


    public Long getPrototypeRequestProcessId() {
        return prototypeRequestProcessId;
    }

    public void setPrototypeRequestProcessId(Long prototypeRequestProcessId) {
        this.prototypeRequestProcessId = prototypeRequestProcessId;
    }

    public Long getPrototypeRequestId() {
        return prototypeRequestId;
    }

    public void setPrototypeRequestId(Long prototypeRequestId) {
        this.prototypeRequestId = prototypeRequestId;
    }

    public Long getProcessId() {
        return processId;
    }

    public void setProcessId(Long processId) {
        this.processId = processId;
    }

    public Long getRecordId() {
        return recordId;
    }

    public void setRecordId(Long recordId) {
        this.recordId = recordId;
    }

    public Long getDefaultPreTime() {
        return defaultPreTime;
    }

    public void setDefaultPreTime(Long defaultPreTime) {
        this.defaultPreTime = defaultPreTime;
    }

    public Long getDefaultSufTime() {
        return defaultSufTime;
    }

    public void setDefaultSufTime(Long defaultSufTime) {
        this.defaultSufTime = defaultSufTime;
    }

    public String getKeyFlag() {
        return keyFlag;
    }

    public void setKeyFlag(String keyFlag) {
        this.keyFlag = keyFlag;
    }

    public String getIsCheck() {
        return isCheck;
    }

    public void setIsCheck(String isCheck) {
        this.isCheck = isCheck;
    }

    public Long getWorkstationId() {
        return workstationId;
    }

    public void setWorkstationId(Long workstationId) {
        this.workstationId = workstationId;
    }

    public String getWorkstationName() {
        return workstationName;
    }

    public void setWorkstationName(String workstationName) {
        this.workstationName = workstationName;
    }

    public BigDecimal getStdWorkingTime() {
        return stdWorkingTime;
    }

    public void setStdWorkingTime(BigDecimal stdWorkingTime) {
        this.stdWorkingTime = stdWorkingTime;
    }

    public List<ProPrototypeRequestProcessItem> getProcessItemList() {
        return processItemList;
    }

    public void setProcessItemList(List<ProPrototypeRequestProcessItem> processItemList) {
        this.processItemList = processItemList;
    }

    public String getProcessName() {
        return processName;
    }

    public void setProcessName(String processName) {
        this.processName = processName;
    }

    public String getProcessCode() {
        return processCode;
    }

    public void setProcessCode(String processCode) {
        this.processCode = processCode;
    }

    public String getLinkType() {
        return linkType;
    }

    public void setLinkType(String linkType) {
        this.linkType = linkType;
    }

    public String getColorCode() {
        return colorCode;
    }

    public void setColorCode(String colorCode) {
        this.colorCode = colorCode;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getNextProcessName() {
        return nextProcessName;
    }

    public void setNextProcessName(String nextProcessName) {
        this.nextProcessName = nextProcessName;
    }

    public int getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(int orderNum) {
        this.orderNum = orderNum;
    }

    public List<ProPrototypeRequestProcessQcindexVo> getQcindexList() {
        return qcindexList;
    }

    public void setQcindexList(List<ProPrototypeRequestProcessQcindexVo> qcindexList) {
        this.qcindexList = qcindexList;
    }

    public List<ProPrototypeRequestProcessToolVo> getToolList() {
        return toolList;
    }

    public void setToolList(List<ProPrototypeRequestProcessToolVo> toolList) {
        this.toolList = toolList;
    }
}
