62,046
社区成员
发帖
与我相关
我的任务
分享
public class Task
{
public string Id { get; set; } //工单号。必须唯一,用户经常使用。
public int Version { get; set; } //任务更新版本号。每当修改任务数据,包括扩展字段中的数据,服务器端都会将版本号加一(这也就意味着前端传递给后端的版本号通常会被自动忽略)。
public string PrevId { get; set; } //前一工单号。
public string SharingId { get; set; } //任务流程公共的表单头信息——热线受理信息。
public LatLng Position { get; set; }
public string GIS { get; set; } //GIS系统中图形编号。当不需要显示时,应该删除此编号。
public DateTime CreateTime { get; set; } //创建任务时间
public DateTime SharingCreateTime { get; set; } //冗余记录工单对应的热线接听创建时间。用于在流转中计算任务报警时间。
public DateTime FirstAlarmTime { get; set; } //初级报警时间。此时默认地将ViewState属性设置为FirstAlarm
public DateTime SecondAlarmTime { get; set; } //严重报警时间。此时默认地将ViewState属性设置为SecondAlarm
public DateTime CompleteTime { get; set; } //完成任务时间
public string LoginName { get; set; } //完成此任务的负责人
public string DisplayName { get; set; } //完成此任务的负责人
public TaskStatusDefine Status { get; set; } //任务状态。
public PermissionMatcher Matcher { get; set; } //权限——即任务接收者的匹配条件。
public string TypeName { get; set; } //任务类型名称。
public string ViewState { get; set; } //显示外观,或者叫状态外观。这个属性决定了前端如何从后端下载表现层定义(既每一种任务下的SpiritImages子目录)。
public string AttachmentFileName { get; set; } //附件文件的名字
public string 客户端程序识别号 { get; set; } //这主要是(大量)异步并行操作的客户端程序用于识别将来服务器推送的任务信息的,服务器端从来不修改此内容。
}
这基本上是其它上百种具体的任务类型的父类,其它具体的任务都是从这个简单的类型继承的。
你所说的任务,在我那里叫做“任务流”。其实一个任务流的类型,是由第一个任务(通常是呼叫中心值班经理所确立的第一个工单)的类型而决定的。
但是其实没有任何一个任务里的流程的实际执行实例可能是固定模式化的。例如给一个病人做阑尾炎手术,可能随着这个任务流的流动,最后变成了同时要切除其一部分肝脏。你不能说这是两个任务,也不能说一个阑尾炎手术的结果就是切除肝脏。所以任务流就是一堆具体的任务的流动,没有固定的模式。