package com.nbclass.szxgl.model;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

@Table(name = "project_task")
public class ProjectTask {
    @Id
    private String id;

    /**
     * 关联项目id
     */
    @Column(name = "_project_id")
    private String projectId;

    /**
     * 任务名称
     */
    @Column(name = "_name")
    private String name;

    /**
     * 开始时间
     */
    @Column(name = "_start_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;

    /**
     * 结束时间
     */
    @Column(name = "_end_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;

    /**
     * 内容
     */
    @Column(name = "_content")
    private String content;

    /**
     * 创建人
     */
    @Column(name = "_create_user_id")
    private String createUserId;

    /**
     * 创建时间
     */
    @Column(name = "_create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 修改时间
     */
    @Column(name = "_update_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    /**
     * 进度%数 范围:1-100
     */
    @Column(name = "_speed")
    private Byte speed;

    /**
     * 是否发送微信通知,0:未通知
     */
    @Column(name = "_notify")
    private Short notify;

    
    // 以下为查询字段
    
    // 任务执行人名字
    @Transient
    private String zxrNames;
    // 项目名称
    @Transient
    private String projectName;
    // 任务创建者姓名
    @Transient
    private String createUserName;
    //任务执行人id
    @Transient
    private String zxrIds;
    
    
    /**
     * @return id
     */
    public String getId() {
        return id;
    }

    /**
     * @param id
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * 获取关联项目id
     *
     * @return _project_id - 关联项目id
     */
    public String getProjectId() {
        return projectId;
    }

    /**
     * 设置关联项目id
     *
     * @param projectId 关联项目id
     */
    public void setProjectId(String projectId) {
        this.projectId = projectId;
    }

    /**
     * 获取任务名称
     *
     * @return _name - 任务名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置任务名称
     *
     * @param name 任务名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取开始时间
     *
     * @return _start_time - 开始时间
     */
    public Date getStartTime() {
        return startTime;
    }

    /**
     * 设置开始时间
     *
     * @param startTime 开始时间
     */
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    /**
     * 获取结束时间
     *
     * @return _end_time - 结束时间
     */
    public Date getEndTime() {
        return endTime;
    }

    /**
     * 设置结束时间
     *
     * @param endTime 结束时间
     */
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    /**
     * 获取内容
     *
     * @return _content - 内容
     */
    public String getContent() {
        return content;
    }

    /**
     * 设置内容
     *
     * @param content 内容
     */
    public void setContent(String content) {
        this.content = content;
    }

    /**
     * 获取创建人
     *
     * @return _create_user_id - 创建人
     */
    public String getCreateUserId() {
        return createUserId;
    }

    /**
     * 设置创建人
     *
     * @param createUserId 创建人
     */
    public void setCreateUserId(String createUserId) {
        this.createUserId = createUserId;
    }

    /**
     * 获取创建时间
     *
     * @return _create_time - 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取修改时间
     *
     * @return _update_time - 修改时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置修改时间
     *
     * @param updateTime 修改时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取进度%数 范围:1-100
     *
     * @return _speed - 进度%数 范围:1-100
     */
    public Byte getSpeed() {
        return speed;
    }

    /**
     * 设置进度%数 范围:1-100
     *
     * @param speed 进度%数 范围:1-100
     */
    public void setSpeed(Byte speed) {
        this.speed = speed;
    }

    /**
     * 获取是否发送微信通知,0:未通知
     *
     * @return _notify - 是否发送微信通知,0:未通知
     */
    public Short getNotify() {
        return notify;
    }

    /**
     * 设置是否发送微信通知,0:未通知
     *
     * @param notify 是否发送微信通知,0:未通知
     */
    public void setNotify(Short notify) {
        this.notify = notify;
    }

	public String getZxrNames() {
		return zxrNames;
	}

	public void setZxrNames(String zxrNames) {
		this.zxrNames = zxrNames;
	}

	public String getProjectName() {
		return projectName;
	}

	public void setProjectName(String projectName) {
		this.projectName = projectName;
	}

	public String getCreateUserName() {
		return createUserName;
	}

	public void setCreateUserName(String createUserName) {
		this.createUserName = createUserName;
	}

    public String getZxrIds() {
        return zxrIds;
    }

    public void setZxrIds(String zxrIds) {
        this.zxrIds = zxrIds;
    }
}