package com.norteksoft.task.entity; import java.io.Serializable; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; import javax.persistence.Table; import javax.persistence.Transient; import org.apache.commons.lang.builder.ToStringBuilder; import com.norteksoft.product.orm.IdEntity; import com.norteksoft.task.base.enumeration.TaskState; @SuppressWarnings("serial") @Entity @Inheritance(strategy=InheritanceType.JOINED) @Table(name = "PRODUCT_TASK") public class Task extends IdEntity implements Serializable{ private String transactor; //办理人登录名 private String transactorName;//办理人姓名 private Date transactDate; //办理日期 private String title; //任务标题 private String url; //任务打开链接 private Integer active = TaskState.WAIT_TRANSACT.getIndex(); //任务状态 : 0:等待处理 1:等待设置办理人 2:任务完成 3:被取消 4:待领取 5:已指派 6:待选择环节 @Column(name="IS_READ") private Boolean read = false; //是否已阅 private TaskMark taskMark = TaskMark.CANCEL; private String groupName; //任务组,显示任务列表时按组排列 private Boolean visible = true; //任务的可见性 private Date lastReminderTime;//上次催办时间 @Column(length=64) private String reminderStyle;//催办方式 private Long duedate = 0l;//开始催办时限 @Column(name="urge_interval") private Long repeat = 0l;//催办间隔时间 private Integer reminderLimitTimes = 0;//催办次数上限 0表示一直催办 private Integer alreadyReminderTimes = 0;//已催办次数 private String reminderNoticeStyle;//催办次数达到上限后,通知相关人员的方式 private String reminderNoticeUser;//催办通知用户 登录名 逗号隔开 private String category;//任务类型,当是流程任务时其值为 流程类别(流程类型名称),普通任务时其值自己任意取 @Transient private Boolean sendingMessage = false;//是否发送RTX消息设置 @Column(name="is_workflow_task") private Boolean workflowTask=true;//是否是工作流相关的任务 private Boolean paused=false;//实例是否暂停,true是暂停,false是正常 private String name; //任务名 private Integer displayOrder=0;//排序字段,xtsoa需要 public String getTransactor() { return transactor; } public void setTransactor(String transactor) { this.transactor = transactor; } public Date getTransactDate() { return transactDate; } public void setTransactDate(Date transactDate) { this.transactDate = transactDate; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public Integer getActive() { return active; } public void setActive(Integer active) { this.active = active; } public Boolean getSendingMessage() { return sendingMessage; } public void setSendingMessage(Boolean sendingMessage) { this.sendingMessage = sendingMessage; } public TaskMark getTaskMark() { return taskMark; } public void setTaskMark(TaskMark taskMark) { this.taskMark = taskMark; } public String getGroupName() { return groupName; } public void setGroupName(String groupName) { this.groupName = groupName; } public String getTransactorName() { return transactorName; } public void setTransactorName(String transactorName) { this.transactorName = transactorName; } public Date getLastReminderTime() { return lastReminderTime; } public void setLastReminderTime(Date lastReminderTime) { this.lastReminderTime = lastReminderTime; } public String getReminderStyle() { return reminderStyle; } public void setReminderStyle(String reminderStyle) { this.reminderStyle = reminderStyle; } public String getReminderNoticeStyle() { return reminderNoticeStyle; } public void setReminderNoticeStyle(String reminderNoticeStyle) { this.reminderNoticeStyle = reminderNoticeStyle; } public String getReminderNoticeUser() { return reminderNoticeUser; } public void setReminderNoticeUser(String reminderNoticeUser) { this.reminderNoticeUser = reminderNoticeUser; } /** * 查看当前任务是否被完成、被取消或者被指派(这些状态下的任务是不能够再对表单操作的) * @return 如果满足一种状态,返回true,否则返回false */ public boolean isCompleted(){ return TaskState.COMPLETED.getIndex().equals(this.getActive())||TaskState.CANCELLED.getIndex().equals(this.getActive())||TaskState.ASSIGNED.getIndex().equals(this.getActive()); } public Boolean getRead() { return read; } public void setRead(Boolean read) { this.read = read; } public Boolean getVisible() { return visible; } public void setVisible(Boolean visible) { this.visible = visible; } public Long getDuedate() { return duedate; } public void setDuedate(Long duedate) { this.duedate = duedate; } public Long getRepeat() { return repeat; } public void setRepeat(Long repeat) { this.repeat = repeat; } public Integer getReminderLimitTimes() { return reminderLimitTimes; } public void setReminderLimitTimes(Integer reminderLimitTimes) { this.reminderLimitTimes = reminderLimitTimes; } public Integer getAlreadyReminderTimes() { return alreadyReminderTimes; } public void setAlreadyReminderTimes(Integer alreadyReminderTimes) { this.alreadyReminderTimes = alreadyReminderTimes; } public String getCategory() { return category; } public void setCategory(String category) { this.category = category; } public Boolean getWorkflowTask() { return workflowTask; } public void setWorkflowTask(Boolean workflowTask) { this.workflowTask = workflowTask; } public Boolean getPaused() { return paused; } public void setPaused(Boolean paused) { this.paused = paused; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getDisplayOrder() { return displayOrder; } public void setDisplayOrder(Integer displayOrder) { this.displayOrder = displayOrder; } @Override public String toString() { return ToStringBuilder.reflectionToString(this); } }