package com.iamberry.wechat.core.entity.rent;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.iamberry.wechat.core.entity.Page;

/**
 * 租赁机器信息表
 * 2017年3月9日
 * @author muzx
 */
public class MachineInfo implements Serializable{
    /**
     * 
     */
    private static final long serialVersionUID = 4094380892467594144L;
    private Integer machineId;                         //机器id
    private String machineOrderId;                     //订单号
    private String machineOpenid;                      //机器所属人openId
    private String machineDeviceId;                    //设备id（微信）
    private String machineQrcode;                      //机器二维码

    private String machineMac;                         //机器mac
    private Integer machineSurplusWater;               //剩余水量
    private Integer machineHaveWater;                  //已用总水量
    private Integer machineTDS;						   // TDS
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") 
    private Date machineUpdateTime;                    //水量更新时间
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8") 
    private Date machineStopDate;                      //到期时间
    private String machineNextCommand;                 //机器下一条指令
    private Integer machineConnectState;               //机器连接状态 1:已连接； 2:未连接

    private Integer machineInitState;                  //激活状态   1:已激活；  2:未激活   3：激活中
    private Integer machineState;                      //机器状态   1:正常使用  2:停止使用
    private String machineInitCode;                    //激活机器码
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date machineCreateTime;                    //创建时间
    private Date machineActivationTime;				   //激活时间
    private Integer machineOldState;                   // 老的状态
    private Page page = new Page();
    
    private Date beginDate;                            // 剩余开始时间
	private Date endDate;                              // 剩余结束时间
	private Integer beginWater;                        // 剩余开始水量
	private Integer endWater;                          // 剩余结束水量
    private Integer machineTotalWater;                 // 总水量
    public Integer getMachineId() {
        return machineId;
    }
    public void setMachineId(Integer machineId) {
        this.machineId = machineId;
    }
    public String getMachineOrderId() {
        return machineOrderId;
    }
    public void setMachineOrderId(String machineOrderId) {
        this.machineOrderId = machineOrderId;
    }
    public String getMachineOpenid() {
        return machineOpenid;
    }
    public void setMachineOpenid(String machineOpenid) {
        this.machineOpenid = machineOpenid;
    }
    public String getMachineDeviceId() {
        return machineDeviceId;
    }
    public void setMachineDeviceId(String machineDeviceId) {
        this.machineDeviceId = machineDeviceId;
    }
    public String getMachineQrcode() {
        return machineQrcode;
    }
    public void setMachineQrcode(String machineQrcode) {
        this.machineQrcode = machineQrcode;
    }
    public String getMachineMac() {
        return machineMac;
    }
    public void setMachineMac(String machineMac) {
        this.machineMac = machineMac;
    }
    public Integer getMachineSurplusWater() {
        return machineSurplusWater;
    }
    public void setMachineSurplusWater(Integer machineSurplusWater) {
        this.machineSurplusWater = machineSurplusWater;
    }
    public Date getMachineUpdateTime() {
        return machineUpdateTime;
    }
    public void setMachineUpdateTime(Date machineUpdateTime) {
        this.machineUpdateTime = machineUpdateTime;
    }
    public Date getMachineStopDate() {
        return machineStopDate;
    }
    public void setMachineStopDate(Date machineStopDate) {
        this.machineStopDate = machineStopDate;
    }
    public String getMachineNextCommand() {
        return machineNextCommand;
    }
    public void setMachineNextCommand(String machineNextCommand) {
        this.machineNextCommand = machineNextCommand;
    }
    public Integer getMachineConnectState() {
        return machineConnectState;
    }
    public void setMachineConnectState(Integer machineConnectState) {
        this.machineConnectState = machineConnectState;
    }
    public Integer getMachineInitState() {
        return machineInitState;
    }
    public void setMachineInitState(Integer machineInitState) {
        this.machineInitState = machineInitState;
    }
    public Integer getMachineState() {
        return machineState;
    }
    public void setMachineState(Integer machineState) {
        this.machineState = machineState;
    }
    public String getMachineInitCode() {
        return machineInitCode;
    }
    public void setMachineInitCode(String machineInitCode) {
        this.machineInitCode = machineInitCode;
    }
    public Date getMachineCreateTime() {
        return machineCreateTime;
    }
    public void setMachineCreateTime(Date machineCreateTime) {
        this.machineCreateTime = machineCreateTime;
    }
    	public Integer getMachineOldState() {
		return machineOldState;
	}
	public void setMachineOldState(Integer machineOldState) {
		this.machineOldState = machineOldState;
	}
	public Integer getMachineTDS() {
		return machineTDS;
	}
	public void setMachineTDS(Integer machineTDS) {
		this.machineTDS = machineTDS;
	}
	public Page getPage() {
		return page;
	}
	public void setPage(Page page) {
		this.page = page;
	}
	public Date getBeginDate() {
		return beginDate;
	}
	public void setBeginDate(Date beginDate) {
		this.beginDate = beginDate;
	}
	public Date getEndDate() {
		return endDate;
	}
	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}
	public Integer getBeginWater() {
		return beginWater;
	}
	public void setBeginWater(Integer beginWater) {
		this.beginWater = beginWater;
	}
	public Integer getEndWater() {
		return endWater;
	}
	public void setEndWater(Integer endWater) {
		this.endWater = endWater;
	}
	public Date getMachineActivationTime() {
		return machineActivationTime;
	}
	public void setMachineActivationTime(Date machineActivationTime) {
		this.machineActivationTime = machineActivationTime;
	}
	public Integer getMachineHaveWater() {
		return machineHaveWater;
	}
	public void setMachineHaveWater(Integer machineHaveWater) {
		this.machineHaveWater = machineHaveWater;
	}
	public Integer getMachineTotalWater() {
		return machineTotalWater;
	}
	public void setMachineTotalWater(Integer machineTotalWater) {
		this.machineTotalWater = machineTotalWater;
	}

    @Override
    public String toString() {
        return "MachineInfo{" +
                "machineId=" + machineId +
                ", machineOrderId='" + machineOrderId + '\'' +
                ", machineOpenid='" + machineOpenid + '\'' +
                ", machineDeviceId='" + machineDeviceId + '\'' +
                ", machineQrcode='" + machineQrcode + '\'' +
                ", machineMac='" + machineMac + '\'' +
                ", machineSurplusWater=" + machineSurplusWater +
                ", machineHaveWater=" + machineHaveWater +
                ", machineTotalWater=" + machineTotalWater +
                ", machineTDS=" + machineTDS +
                ", machineUpdateTime=" + machineUpdateTime +
                ", machineStopDate=" + machineStopDate +
                ", machineNextCommand='" + machineNextCommand + '\'' +
                ", machineConnectState=" + machineConnectState +
                ", machineInitState=" + machineInitState +
                ", machineState=" + machineState +
                ", machineInitCode='" + machineInitCode + '\'' +
                ", machineCreateTime=" + machineCreateTime +
                ", machineActivationTime=" + machineActivationTime +
                ", machineOldState=" + machineOldState +
                ", page=" + page +
                ", beginDate=" + beginDate +
                ", endDate=" + endDate +
                ", beginWater=" + beginWater +
                ", endWater=" + endWater +
                '}';
    }
}
