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

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

import java.io.Serializable;

/**
 * @author wangjie
 * @version 1.0
 * @date 2021/1/15 15:32
 **/
@Data
@ApiModel("标准总工数MODEL")
public class SxProdDataBzzgsModel implements Serializable {

    private static final long serialVersionUID = -5356443973791225402L;

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

    @ApiParam("工厂代码")
    public String org;

    @ApiParam("组织名称")
    public String orgName;

    @ApiParam("生产线代码")
    private String workCenterCode;

    @ApiParam("生产线名称")
    private String workCenterName;

    @ApiParam("系别")
    private String isDont;

    @ApiParam("班别")
    private String dontClass;

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

    @ApiParam("班次名称")
    private String shiftName;

    @ApiParam("作业时间")
    private String workTime;

    @ApiParam("产量")
    private Double qty;

    @ApiParam("工单类")
    private Integer workOrderType;

    @ApiParam("标准工时")
    private Double standardWork;

    @ApiParam("改造产量")
    private Double remakeQty;

    @ApiParam("统计")
    private String statistics;

    @ApiParam("修改时间起始")
    private String modifyDatetimeStart;

    @ApiParam("修改时间截止")
    private String modifyDatetimeEnd;

    public SxProdDataBzzgsModel() {
    }

    public SxProdDataBzzgsModel org(String org) {
        this.org = org;
        return this;
    }

    public SxProdDataBzzgsModel orgName(String orgName) {
        this.orgName = orgName;
        return this;
    }

    public SxProdDataBzzgsModel(String organizeCode, Integer workOrderType, String modifyDatetimeStart, String modifyDatetimeEnd) {
        this.organizeCode = organizeCode;
        this.workOrderType = workOrderType;
        this.modifyDatetimeStart = modifyDatetimeStart;
        this.modifyDatetimeEnd = modifyDatetimeEnd;
    }

    public SxProdDataBzzgsModel(String workTime, String workCenterCode, String shiftCode, Double qty, Double remakeQty, Double standardWork) {
        this.workTime = workTime;
        this.workCenterCode = workCenterCode;
        this.shiftCode = shiftCode;
        this.qty = qty;
        this.remakeQty = remakeQty;
        this.standardWork = standardWork;
    }

    public SxProdDataBzzgsModel(SxProdDataBzzgsModel source) {
        if (null == source) return;
        this.organizeCode = source.organizeCode;
        this.org = source.org;
        this.orgName = source.orgName;
        this.workCenterCode = source.workCenterCode;
        this.workCenterName = source.workCenterName;
        this.isDont = source.isDont;
        this.dontClass = source.dontClass;
        this.shiftCode = source.shiftCode;
        this.shiftName = source.shiftName;
        this.workTime = source.workTime;
    }

}
