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

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

import javax.persistence.Column;
import java.io.Serializable;

/**
 * @Description:
 * @Reference:
 * @Author: joke.wang
 * @CreateDate: 2019\10\15 15:58
 * @Modify:
 **/
@Data
public class MesPlcModel implements Serializable {
    @ApiParam("id")
    private Long id;

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

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

    @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 organizeCode;

    @ApiParam("PLC代码")
    private String plcCode;

    @ApiParam("PLC名称")
    private String plcName;

    @ApiParam("PLC型号")
    private String plcModel;

    @ApiParam("PLC IP")
    private String plcIp;

    @ApiParam("通道")
    private String channel;

    @ApiParam("标签名称")
    private String tagName;

    @ApiParam("标签地址")
    private String tagAddress;

    @ApiParam("标签数据类型")
    private String dataType;

    @ApiParam("分组名称")
    private String groupName;

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

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

    @ApiParam("PLC的值的设定")
    private String plcCfg;

    @ApiParam("解析规则")
    private String analysisRule;

    @ApiParam("是否解析")
    private String isAnalysis;

    @ApiParam("驱动")
    private String device;

    @ApiParam("对象代码")
    private String objectCode;

    @ApiParam("OPCUA路径")
    private String opcUrl;

    @ApiParam("PLC类型")
    private Integer plcType;

    @ApiParam("默认赋值属性")
    private String defaultRule;

    @ApiParam("工装代码")
    private String toolingCode;

    public MesPlcModel() {

    }

    public MesPlcModel(Long id, String equipmentCode, String equipmentName, Integer isValid, Integer isDeleted, String createUser, String createDatetime,
                       String modifyUser, String modifyDatetime, String organizeCode, String plcCode, String plcName, String plcModel,
                       String plcIp, String channel, String tagName, String tagAddress, String dataType, String groupName,
                       String workCenterCode, String workCellCode, String plcCfg, String analysisRule, String isAnalysis, String device,
                       String objectCode, String opcUrl, Integer plcType, String defaultRule, String toolingCode) {
        this.id = id;
        this.equipmentCode = equipmentCode;
        this.equipmentName = equipmentName;
        this.isValid = isValid;
        this.isDeleted = isDeleted;
        this.createUser = createUser;
        this.createDatetime = createDatetime;
        this.modifyUser = modifyUser;
        this.modifyDatetime = modifyDatetime;
        this.organizeCode = organizeCode;
        this.plcCode = plcCode;
        this.plcName = plcName;
        this.plcModel = plcModel;
        this.plcIp = plcIp;
        this.channel = channel;
        this.tagName = tagName;
        this.tagAddress = tagAddress;
        this.dataType = dataType;
        this.groupName = groupName;
        this.workCenterCode = workCenterCode;
        this.workCellCode = workCellCode;
        this.plcCfg = plcCfg;
        this.analysisRule = analysisRule;
        this.isAnalysis = isAnalysis;
        this.device = device;
        this.objectCode = objectCode;
        this.opcUrl = opcUrl;
        this.plcType = plcType;
        this.defaultRule = defaultRule;
        this.toolingCode = toolingCode;
    }
}
