using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Collections.Generic;
namespace RoadFlow.Data.Model
{
[Serializable]
public class WorkFlowTask
{
///
/// ID
///
[DisplayName("ID")]
public Guid ID { get; set; }
///
/// 上一任务ID
///
[DisplayName("上一任务ID")]
public Guid PrevID { get; set; }
///
/// 上一步骤ID
///
[DisplayName("上一步骤ID")]
public Guid PrevStepID { get; set; }
///
/// FlowID
///
[DisplayName("FlowID")]
public Guid FlowID { get; set; }
///
/// FlowName
///
[DisplayName("FlowName")]
public string FlowName { get; set; }
///
/// StepID
///
[DisplayName("StepID")]
public Guid StepID { get; set; }
///
/// StepName
///
[DisplayName("StepName")]
public string StepName { get; set; }
///
/// InstanceID
///
[DisplayName("InstanceID")]
public string InstanceID { get; set; }
///
/// GroupID
///
[DisplayName("GroupID")]
public Guid GroupID { get; set; }
///
/// 任务类型 0正常 1指派 2委托 3转交 4退回 5抄送
///
[DisplayName("任务类型 0正常 1指派 2委托 3转交 4退回 5抄送")]
public int Type { get; set; }
///
/// 标题
///
[DisplayName("标题")]
public string Title { get; set; }
///
/// 发送人
///
[DisplayName("发送人")]
public string SenderID { get; set; }
///
/// 发送人姓名
///
[DisplayName("发送人姓名")]
public string SenderName { get; set; }
///
/// 发送时间
///
[DisplayName("发送时间")]
public DateTime SenderTime { get; set; }
///
/// 接收人员ID
///
[DisplayName("接收人员ID")]
public string ReceiveID { get; set; }
///
/// 接收人员姓名
///
[DisplayName("接收人员姓名")]
public string ReceiveName { get; set; }
///
/// 接收时间
///
[DisplayName("接收时间")]
public DateTime ReceiveTime { get; set; }
///
/// 打开时间
///
[DisplayName("打开时间")]
public DateTime? OpenTime { get; set; }
///
/// 规定完成时间
///
[DisplayName("规定完成时间")]
public DateTime? CompletedTime { get; set; }
///
/// 实际完成时间
///
[DisplayName("实际完成时间")]
public DateTime? CompletedTime1 { get; set; }
///
/// 意见
///
[DisplayName("意见")]
public string Comment2 { get; set; }
///
/// 是否签章 0未签 1已签
///
[DisplayName("是否签章 0未签 1已签")]
public int? IsSign { get; set; }
///
/// 状态 -1 等待中的任务 0 待处理 1打开 2完成 3退回 4他人已处理 5他人已退回
///
[DisplayName("状态 0 待处理 1打开 2完成 3退回 4他人已处理 5他人已退回 6同意 7不同意")]
public int Status { get; set; }
///
/// 其它说明
///
[DisplayName("其它说明")]
public string Note { get; set; }
///
/// 序号
///
[DisplayName("序号")]
public int Sort { get; set; }
///
/// 子流程实例分组ID
///
[DisplayName("子流程实例分组ID")]
public Guid? SubFlowGroupID { get; set; }
///
/// 请假 结束时间
///
[DisplayName("结束时间")]
public string StepTime { get; set; }
///
/// 西藏流程 0:呈交上级审批;1:审批通过
///
[DisplayName("流转标识")]
public string EventFlag { get; set; }
/////
///// 发起人ID
/////
//[DisplayName("发起人ID")]
//public string InitiateID { get; set; }
/////
///// 发起人姓名
/////
//[DisplayName("发起人姓名")]
//public string InitiateName { get; set; }
/////
///// 发起时间
/////
//[DisplayName("发起时间")]
//public string InitiateTime { get; set; }
}
}
namespace RoadFlow.Data.Model.WorkFlowExecute
{
///
/// 任务相关的枚举类型
///
public class EnumType
{
///
/// 处理类型
///
public enum ExecuteType
{
///
/// 提交
///
Submit,
///
/// 保存
///
Save,
///
/// 退回
///
Back,
///
/// 完成
///
Completed,
///
/// 转交
///
Redirect,
///
/// 同意
///
Agree,
///
/// 不同意
///
Disagree
}
}
///
/// 任务处理模型
///
[Serializable]
public class Execute
{
public Execute()
{
Steps = new Dictionary>();
}
///
/// 流程ID
///
public Guid FlowID { get; set; }
///
/// 步骤ID
///
public Guid StepID { get; set; }
///
/// 任务ID
///
public Guid TaskID { get; set; }
///
/// 实例ID
///
public string InstanceID { get; set; }
///
/// 分组ID
///
public Guid GroupID { get; set; }
///
/// 标题
///
public string Title { get; set; }
///
/// 操作类型
///
public EnumType.ExecuteType ExecuteType { get; set; }
///
/// 发送人员
///
public FangYar.Model.TBL.TBL_SYS_USERS_Model Sender { get; set; }
///
/// 接收的步骤和人员
///
public Dictionary> Steps { get; set; }
///
/// 处理意见
///
public string Comment { get; set; }
///
/// 是否签章
///
public bool IsSign { get; set; }
///
/// 备注
///
public string Note { get; set; }
}
///
/// 任务处理结果
///
[Serializable]
public class Result
{
///
/// 是否成功
///
public bool IsSuccess { get; set; }
///
/// 提示信息
///
public string Messages { get; set; }
///
/// 调试信息
///
public string DebugMessages { get; set; }
///
/// 其它信息
///
public object[] Other { get; set; }
///
/// 后续任务
///
public IEnumerable NextTasks { get; set; }
}
}