package com.sunxung.factoring.entity.sys.flowable;

import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.NotBlank;

import com.sunxung.factoring.entity.BaseEntity;

/**
 * @Description:流程活动定义实体<br>
 * Flowable工作流引擎中，任务、事件等都可统称之为活动，目前场景，银科二期用于保存用户任务activityType='userTask'相关信息
 * 
 * @Author:wanxiangZhou
 * @E-mail:zhouyu@sunxung.cn
 * @Date:2018年6月19日 上午11:54:14
 */
public class FlowActivityDefinition extends BaseEntity {

    private static final long serialVersionUID = 1L;
    @NotBlank(message = "流程定义ID不能为空")
    private String processDefinitionId;
    @NotBlank(message = "流程定义KEY不能为空")
    private String processDefinitionKey;
    @NotNull(message = "流程定义版本不能为空")
    private Integer processDefinitionVersion;
    @NotBlank(message = "活动KEY不能为空")
    private String activityKey;
    @NotBlank(message = "活动名称不能为空")
    private String activityName;
    @NotBlank(message = "流程类型不能为空")
    private String activityType;// 要求与ConstantUtil.java中定义的常量一致
    /** 任务时限：单位0.5天，数据库定义要求最大值不能超过1000.0 **/
    private Float timeLimit;
    /** 是否工作日，默认false表示自然日，true表示是工作日 **/
    private boolean workingDay;

    public String getProcessDefinitionId() {
        return processDefinitionId;
    }

    public void setProcessDefinitionId(String processDefinitionId) {
        this.processDefinitionId = processDefinitionId;
    }

    public String getProcessDefinitionKey() {
        return processDefinitionKey;
    }

    public void setProcessDefinitionKey(String processDefinitionKey) {
        this.processDefinitionKey = processDefinitionKey;
    }

    public Integer getProcessDefinitionVersion() {
        return processDefinitionVersion;
    }

    public void setProcessDefinitionVersion(Integer processDefinitionVersion) {
        this.processDefinitionVersion = processDefinitionVersion;
    }

    public String getActivityKey() {
        return activityKey;
    }

    public void setActivityKey(String activityKey) {
        this.activityKey = activityKey;
    }

    public String getActivityName() {
        return activityName;
    }

    public void setActivityName(String activityName) {
        this.activityName = activityName;
    }

    public String getActivityType() {
        return activityType;
    }

    public void setActivityType(String activityType) {
        this.activityType = activityType;
    }

    public Float getTimeLimit() {
        return timeLimit;
    }

    public void setTimeLimit(Float timeLimit) {
        this.timeLimit = timeLimit;
    }

    public boolean getWorkingDay() {
        return workingDay;
    }

    public void setWorkingDay(boolean workingDay) {
        this.workingDay = workingDay;
    }
}
