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

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

import java.io.Serializable;

@Data
public class MesEquipmentModel implements Serializable {
    @ApiParam("id")
    private Long id;

    @ApiParam("设备代码")
    private String equipmentCode;

    @ApiParam("设备名称")
    private String equipmentName;

    @ApiParam("设备状态")
    private Integer status;

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

    @ApiParam("工位")
    private String workCellCode;

    @ApiParam("区域")
    private String areaCode;

    @ApiParam("设备工位关联ID")
    private Long wcId;

    @ApiParam("设备&工位")
    private String equipmentNameAndworkCellName;

    @ApiParam("设备类型")
    private Integer equipmentType;

    @ApiParam("设备类别")
    private String equipmentCategory;

    @ApiParam("备注")
    private String memo;

    @ApiParam("设备型号")
    private String equipmentModel;

    @ApiParam("设备规格")
    private String equipmentSpec;

    @ApiParam("制造商")
    private String equipmentMaker;

    @ApiParam("出厂日期")
    private String releaseDate;

    @ApiParam("接收日期")
    private String receiveDate;

    @ApiParam("启用日期")
    private String enableDate;

    @ApiParam("连接类型")
    private Integer connectType;

    @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("设备状态")
    private String statusName;

    @ApiParam("设备类型")
    private String equipmentTypeName;

    @ApiParam("设备类别")
    private String equipmentCategoryName;

    @ApiParam("连接类型")
    private String connectTypeName;

    @ApiParam("作业校验模式")
    private Integer checkModel;


    public MesEquipmentModel() {

    }

    //根据条件查询设备所有有效数据-设备作业任务下拉框 queryMesEquipmentListByParams
    public MesEquipmentModel(Long id, String equipmentCode, String equipmentName, Integer status, String workCenterCode, String equipmentCategory,
                             String modifyDatetime) {
        this.id = id;
        this.equipmentCode = equipmentCode;
        this.equipmentName = equipmentName;
        this.status = status;
        this.workCenterCode = workCenterCode;
        this.modifyDatetime = modifyDatetime;
    }

    //根据生产线，工位获取设备集合 findMesEquipmentList
    //获取设备分页数据-组织模型 queryMesEquipmentByPagerOrg
    public MesEquipmentModel(Long wcId, Long id, String equipmentCode, String equipmentName, Integer status, String workCenterCode, String workCellCode, String areaCode) {
        this.wcId = wcId;
        this.id = id;
        this.equipmentCode = equipmentCode;
        this.equipmentName = equipmentName;
        this.status = status;
        this.workCenterCode = workCenterCode;
        this.workCellCode = workCellCode;
        this.areaCode = areaCode;
    }

    //根据条件查询设备所有有效数据-组织模型下拉框及联 queryMesEquipmentList
    public MesEquipmentModel(Long id, String equipmentNameAndworkCellName, String equipmentCode, String equipmentName, Integer status, String areaCode, String workCenterCode, String workCellCode) {
        this.id = id;
        this.equipmentNameAndworkCellName = equipmentNameAndworkCellName;
        this.equipmentCode = equipmentCode;
        this.equipmentName = equipmentName;
        this.status = status;
        this.areaCode = areaCode;
        this.workCenterCode = workCenterCode;
        this.workCellCode = workCellCode;

    }

    //获取设备分页数据 queryMesEquipmentByPager
    public MesEquipmentModel(Long id, String equipmentCode, String equipmentName, Integer status, String workCenterCode, String areaCode, Integer equipmentType, String equipmentCategory, String memo, String equipmentModel, String equipmentSpec, String equipmentMaker, String releaseDate, String receiveDate, String enableDate, Integer connectType, String organizeCode, Integer isValid, Integer isDeleted, String createUser, String createDatetime, String modifyUser, String modifyDatetime, Integer checkModel) {
        this.id = id;
        this.equipmentCode = equipmentCode;
        this.equipmentName = equipmentName;
        this.status = status;
        this.workCenterCode = workCenterCode;
        this.areaCode = areaCode;
        this.equipmentType = equipmentType;
        this.equipmentCategory = equipmentCategory;
        this.memo = memo;
        this.equipmentModel = equipmentModel;
        this.equipmentSpec = equipmentSpec;
        this.equipmentMaker = equipmentMaker;
        this.releaseDate = releaseDate;
        this.receiveDate = receiveDate;
        this.enableDate = enableDate;
        this.connectType = connectType;
        this.organizeCode = organizeCode;
        this.isValid = isValid;
        this.isDeleted = isDeleted;
        this.createUser = createUser;
        this.createDatetime = createDatetime;
        this.modifyUser = modifyUser;
        this.modifyDatetime = modifyDatetime;
        this.checkModel = checkModel;
    }

}
