浏览代码

增加新系统实体

田爽 4 月之前
父节点
当前提交
8619208748
共有 12 个文件被更改,包括 3642 次插入4 次删除
  1. 4 4
      App.config
  2. 248 0
      Entity/Base.cs
  3. 75 0
      Entity/IWorkflow.cs
  4. 938 0
      Entity/Order.cs
  5. 145 0
      Entity/OrderDelay.cs
  6. 177 0
      Entity/OrderScreen.cs
  7. 174 0
      Entity/OrderVisit.cs
  8. 126 0
      Entity/OrderVisitDetail.cs
  9. 400 0
      Entity/StepBasicEntity.cs
  10. 17 0
      Entity/WorkflowStep.cs
  11. 65 0
      Entity/WorkflowTrace.cs
  12. 1273 0
      Enum/Order.cs

+ 4 - 4
App.config

@@ -4,11 +4,11 @@
     <!--<add key ="SQLServerDB" value="server=10.10.110.195;database=CityHotline_Web;uid=CityHotlineUser_V3;pwd=F123456aA;"/>
     <add key ="PGSQLDB" value="Server=110.188.24.182;Port=5432;UserId=dev;Password=fengwo11!!;Database=hotline_dev;"/>-->
     <!--宜宾-->
-    <add key ="SQLServerDB" value="server=172.15.28.10,4666;database=CityHotline_Ver3;uid=CityHotlineUser;pwd=yb12345#@!;"/>
-    <add key ="PGSQLDB" value="Server=100.122.1.9;Port=5432;UserId=fwkjyibin;Password=Fwkj2023##!!**;Database=hotline;"/>
+    <!--<add key ="SQLServerDB" value="server=172.15.28.10,4666;database=CityHotline_Ver3;uid=CityHotlineUser;pwd=yb12345#@!;"/>
+    <add key ="PGSQLDB" value="Server=100.122.1.9;Port=5432;UserId=fwkjyibin;Password=Fwkj2023##!!**;Database=hotline;"/>-->
     <!--自贡-->
-    <!--<add key ="SQLServerDB" value="server=61.157.186.3,4368;database=ZG_CityHotline_Ver3;uid=ZGCityHotlineUser;pwd=fway09!@ZG_15;"/>
-    <add key ="PGSQLDB" value="Server=110.188.24.182;Port=5432;UserId=dev;Password=fengwo11!!;Database=hotline_zg;"/>-->
+    <add key ="SQLServerDB" value="server=61.157.186.3,4368;database=ZG_CityHotline_Ver3;uid=ZGCityHotlineUser;pwd=fway09!@ZG_15;"/>
+    <add key ="PGSQLDB" value="Server=110.188.24.182;Port=5432;UserId=dev;Password=fengwo11!!;Database=hotline_zg;"/>
     <!--泸州-->
     <!--<add key ="SQLServerDB" value="server=172.20.200.11,4433;database=CityHotline_Ver3;uid=HotlineUser_Ver3;pwd=lzs12345aA!@#;"/>
     <add key ="PGSQLDB" value="Server=110.188.24.182;Port=5432;UserId=dev;Password=fengwo11!!;Database=hotline_lz;"/>-->

+ 248 - 0
Entity/Base.cs

@@ -0,0 +1,248 @@
+using Abp;
+using Abp.Domain.Entities.Auditing;
+using Abp.Domain.Entities;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DataTransmission.Entity
+{
+	public class Entity
+	{
+		//private List<IAppNotification> _domainEvents = new();
+
+		public string Id { get; set; }
+
+		//[SugarColumn(ColumnDescription = "创建人")]
+		public string? CreatorId { get; set; }
+
+		public string? CreatorName { get; set; }
+
+		//[SugarColumn(ColumnDescription = "组织Id")]
+		public string? CreatorOrgId { get; set; }
+
+		public string? CreatorOrgName { get; set; }
+
+		//[SugarColumn(DefaultValue = "0")]
+		public int CreatorOrgLevel { get; set; } = 0;
+
+		/// <summary>
+		/// 一级部门Id
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "数据权限区域Id")]
+		public string? AreaId { get; set; }
+
+		//public void ClearEvents() => _domainEvents.Clear();
+
+		//public ICollection<IAppNotification> QueryAllEvents() => _domainEvents;
+
+		public void InitId() => Id = SequentialGuidGenerator.Instance.Create().ToString("D");
+	}
+
+	/// <summary>
+	/// 实体(带有创建时间)
+	/// </summary>
+	public abstract class CreationEntity : Entity, IHasCreationTime
+	{
+		/// <summary>
+		/// 创建时间
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "创建时间")]
+		public DateTime CreationTime { get; set; }
+	}
+
+	/// <summary>
+	/// 实体(带有软删除)
+	/// </summary>
+	public abstract class SoftDeleteEntity : Entity, IHasDeletionTime, ISoftDelete
+	{
+		/// <summary>
+		/// 删除时间
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "删除时间")]
+		public DateTime? DeletionTime { get; set; }
+
+		//[SugarColumn(ColumnDescription = "是否删除")]
+		public bool IsDeleted { get; set; }
+
+		public void SoftDelete()
+		{
+			IsDeleted = true;
+			DeletionTime = DateTime.Now;
+		}
+	}
+
+	/// <summary>
+	/// 实体(带有创建时间和软删除)
+	/// </summary>
+	public abstract class CreationSoftDeleteEntity : CreationEntity, IHasDeletionTime, ISoftDelete
+	{
+		//[SugarColumn(ColumnDescription = "是否删除", DefaultValue = "f")]
+		public bool IsDeleted { get; set; }
+
+		/// <summary>
+		/// 删除时间
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "删除时间")]
+		public DateTime? DeletionTime { get; set; }
+
+		public void SoftDelete()
+		{
+			IsDeleted = true;
+			DeletionTime = DateTime.Now;
+		}
+
+		public void Recover() => IsDeleted = false;
+	}
+
+	public abstract class CreationModificationEntity : CreationEntity, IHasModificationTime
+	{
+		/// <summary>
+		/// 最近更新时间
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "最近更新时间")]
+		public DateTime? LastModificationTime { get; set; }
+
+		public void Modified() => LastModificationTime = DateTime.Now;
+	}
+
+	/// <summary>
+	/// 全状态实体(创建时间、更新时间、软删除)
+	/// </summary>
+	public abstract class FullStateEntity : CreationSoftDeleteEntity, IHasModificationTime
+	{
+		/// <summary>
+		/// 最近更新时间
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "最近更新时间")]
+		public DateTime? LastModificationTime { get; set; }
+
+		public void Modified() => LastModificationTime = DateTime.Now;
+	}
+	public abstract class WorkflowEntity : FullStateEntity, IWorkflow
+	{
+		//[SugarColumn(IsNullable = true)] 
+		public string? WorkflowId { get; set; }
+
+		/// <summary>
+		/// 过期时间配置id
+		/// </summary>
+		//[SugarColumn(IsNullable = true)]
+		public string? ExpiredTimeConfigId { get; set; }
+
+		//[SugarColumn(ColumnDataType = "json", IsJson = true)]
+		public List<string>? FlowedOrgIds { get; set; } = new();
+
+		//[SugarColumn(ColumnDataType = "json", IsJson = true)]
+		public List<string>? FlowedUserIds { get; set; } = new();
+
+		#region 当前办理对象
+
+		/// <summary>
+		/// 办理人id
+		/// </summary>
+		//[SugarColumn(ColumnDataType = "json", IsJson = true)]
+		public List<HandlerGroupItem>? HandlerUsers { get; set; } = new();
+
+		/// <summary>
+		/// 办理部门id
+		/// </summary>
+		//[SugarColumn(ColumnDataType = "json", IsJson = true)]
+		public List<HandlerGroupItem>? HandlerOrgs { get; set; } = new();
+
+		#endregion
+	}
+
+	public abstract class PositionEntity : FullStateEntity
+	{
+		/// <summary>
+		/// 经度
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "经度")]
+		public double? Longitude { get; set; }
+
+		/// <summary>
+		/// 维度
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "纬度")]
+		public double? Latitude { get; set; }
+
+		/// <summary>
+		/// 行政区划编码
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "行政区划编码")]
+		public string? AreaCode { get; set; }
+
+		/// <summary>
+		/// 省
+		/// </summary>
+		public string? Province { get; set; }
+
+		/// <summary>
+		/// 市
+		/// </summary>
+		public string? City { get; set; }
+
+		/// <summary>
+		/// 区/县
+		/// </summary>
+		public string? County { get; set; }
+
+		/// <summary>
+		/// 乡镇(4级行政区划)
+		/// </summary>
+		public string? Town { get; set; }
+
+		/// <summary>
+		/// 详细街道
+		/// </summary>
+		public string? Street { get; set; }
+
+		/// <summary>
+		/// 行政区划地址
+		/// </summary>
+		public string? Address { get; set; }
+
+		/// <summary>
+		/// 完整地址
+		/// </summary>
+		public string? FullAddress { get; set; }
+	}
+
+	public abstract class PositionWorkflowEntity : PositionEntity, IWorkflow
+	{
+		//[SugarColumn(IsNullable = true)]
+		public string? WorkflowId { get; set; }
+
+		/// <summary>
+		/// 过期时间配置id
+		/// </summary>
+		//[SugarColumn(IsNullable = true)]
+		public string? ExpiredTimeConfigId { get; set; }
+
+		//[SugarColumn(ColumnDataType = "json", IsJson = true)]
+		public List<string>? FlowedOrgIds { get; set; } = new();
+
+		//[SugarColumn(ColumnDataType = "json", IsJson = true)]
+		public List<string>? FlowedUserIds { get; set; } = new();
+
+		#region 当前办理对象
+
+		/// <summary>
+		/// 办理人id
+		/// </summary>
+		//[SugarColumn(ColumnDataType = "json", IsJson = true)]
+		public List<HandlerGroupItem>? HandlerUsers { get; set; } = new();
+
+		/// <summary>
+		/// 办理部门id
+		/// </summary>
+		//[SugarColumn(ColumnDataType = "json", IsJson = true)]
+		public List<HandlerGroupItem>? HandlerOrgs { get; set; } = new();
+
+		#endregion
+
+	}
+}

+ 75 - 0
Entity/IWorkflow.cs

@@ -0,0 +1,75 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DataTransmission.Entity;
+public interface IWorkflow
+{
+	string? WorkflowId { get; set; }
+
+	/// <summary>
+	/// 过期时间配置id
+	/// </summary>
+	string? ExpiredTimeConfigId { get; set; }
+
+	/// <summary>
+	/// 流经部门
+	/// </summary>
+	List<string> FlowedOrgIds { get; set; }
+
+	/// <summary>
+	/// 流经办理人
+	/// </summary>
+	List<string> FlowedUserIds { get; set; }
+
+	#region 当前办理对象
+
+	/// <summary>
+	/// 办理人id
+	/// </summary>
+	public List<HandlerGroupItem> HandlerUsers { get; set; }
+
+	/// <summary>
+	/// 办理部门id
+	/// </summary>
+	public List<HandlerGroupItem> HandlerOrgs { get; set; }
+
+	#endregion
+}
+
+public enum EFlowAssignType
+{
+	/// <summary>
+	/// 指派到部门
+	/// </summary>
+	Org = 0,
+
+	/// <summary>
+	/// 指派到用户
+	/// </summary>
+	User = 1,
+
+	/// <summary>
+	/// 指派到角色
+	/// </summary>
+	Role = 2,
+
+	/// <summary>
+	/// 指派到指定部门的指定角色
+	/// </summary>
+	OrgAndRole = 3,
+}
+
+/// <summary>
+/// 办理对象分组(以办理step分组,多人办理一个step为一组)
+/// </summary>
+public class HandlerGroupItem
+{
+	public string GroupId { get; set; }
+
+	public string Key { get; set; }
+
+	public string Value { get; set; }
+}

+ 938 - 0
Entity/Order.cs

@@ -0,0 +1,938 @@
+using DataTransmission.Enum;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DataTransmission.Entity
+{
+	public class Order : PositionWorkflowEntity
+	{
+		/// <summary>
+		/// 第一次评价结果
+		/// </summary>
+		public string? FirstVisitResult { get; set; }
+
+		public string? FirstVisitResultCode { get; set; }
+
+		#region 来电信息
+
+		/// <summary>
+		/// 来源渠道(电话、网站、APP等)
+		/// </summary>
+		public string? SourceChannel { get; set; }
+
+		public string? SourceChannelCode { get; set; }
+
+		/// <summary>
+		/// 渠道为电话时,此字段存在(Call.Id)
+		/// </summary>
+		public string? CallId { get; set; }
+
+		/// <summary>
+		/// 来电归属地
+		/// </summary>
+		public string? CallAddress { get; set; }
+
+		/// <summary>
+		/// 来电号码
+		/// </summary>
+		public string? FromPhone { get; set; }
+
+		/// <summary>
+		/// 转接号码(转接来源)
+		/// </summary>
+		public string? TransferPhone { get; set; }
+
+		/// <summary>
+		/// 来电/信人姓名
+		/// </summary>
+		public string? FromName { get; set; }
+
+		/// <summary>
+		/// 来电/信人性别
+		/// </summary>
+		public EGender FromGender { get; set; }
+
+		/// <summary>
+		/// 来电/信人身份
+		/// </summary>
+		public EIdentityType? IdentityType { get; set; }
+
+		/// <summary>
+		/// 证件类型
+		/// </summary>
+		public string? LicenceTypeCode { get; set; }
+
+		public string? LicenceType { get; set; }
+
+		/// <summary>
+		/// 证件号码
+		/// </summary>
+		public string? LicenceNo { get; set; }
+
+		/// <summary>
+		/// 年龄段
+		/// </summary>
+		public string? AgeRangeCode { get; set; }
+
+		public string? AgeRange { get; set; }
+
+		/// <summary>
+		/// 联系电话
+		/// </summary>
+		public string? Contact { get; set; }
+
+		public string? ContactMask { get; set; }
+
+		/// <summary>
+		/// 是否接受短信,勾选校验手机号
+		/// </summary>
+		public bool AcceptSms { get; set; }
+
+		/// <summary>
+		/// 是否已发送短信
+		/// </summary>
+		public bool SmsSended { get; set; }
+
+		/// <summary>
+		/// 是否保密
+		/// </summary>
+		public bool IsSecret { get; set; }
+
+		/// <summary>
+		/// 工作单位(当“来电/信人身份”为“企业”时必填,其他情况非必填)
+		/// </summary>
+		public string? Company { get; set; }
+
+		#endregion
+
+		#region 诉求信息
+
+		/// <summary>
+		/// 受理类型
+		/// </summary>
+		public string? AcceptType { get; set; }
+
+		/// <summary>
+		/// 受理类型代码
+		/// </summary>
+		public string? AcceptTypeCode { get; set; }
+
+		public string Title { get; set; }
+
+		/// <summary>
+		/// 工单标签(自贡)
+		/// </summary>
+		public string? OrderTag { get; set; }
+
+		public string? OrderTagCode { get; set; }
+
+		#region 热点
+
+		/// <summary>
+		/// 热点
+		/// </summary>
+		public string? HotspotId { get; set; }
+
+		//public string? HotspotCode { get; set; }
+		//public string? HotspotCodeLv1 { get; set; }
+
+		public string? HotspotName { get; set; }
+
+		/// <summary>
+		/// 热点分类类目名称
+		/// </summary>
+		public string? HotspotSpliceName { get; set; }
+
+		/// <summary>
+		/// 外部数据(为前端提供级联功能)
+		/// </summary>
+		public string? HotspotExternal { get; set; }
+
+		#endregion
+
+		#region 事件分类
+		/// <summary>
+		/// 事件分类ID
+		/// </summary>
+		public string? EventCategoryId { get; set; }
+
+		/// <summary>
+		/// 事件分类名称
+		/// </summary>
+		public string? EventCategoryName { get; set; }
+
+		/// <summary>
+		/// 事件分类拼接名称
+		/// </summary>
+		public string? EventCategorySpliceName { get; set; }
+
+		/// <summary>
+		/// 事件分类外部数据
+		/// </summary>
+		public string? EventCategoryExternal { get; set; }
+
+		#endregion
+
+		/// <summary>
+		/// 事发时间
+		/// </summary>
+		public DateTime? IncidentTime { get; set; }
+
+		/// <summary>
+		/// 事件目的
+		/// </summary>
+		public string? IncidentPurpose { get; set; }
+
+		/// <summary>
+		/// 重复工单Id
+		/// </summary>
+		public List<string>? DuplicateIds { get; set; }
+
+		/// <summary>
+		/// 推送分类 -- 弃用 转为表存储
+		/// </summary>
+		public string? PushTypeCode { get; set; }
+
+		/// <summary>
+		/// 推送分类 -- 冗余 多选存储 ,分割
+		/// </summary>
+		public string? PushType { get; set; }
+
+
+		/// <summary>
+		/// 诉求内容
+		/// </summary>
+		public string Content { get; set; }
+
+		#endregion
+
+		#region 工单属性
+
+		/// <summary>
+		/// 工单状态
+		/// </summary>
+		public EOrderStatus Status { get; set; }
+
+		/// <summary>
+		/// 过期状态 //todo 延迟消息更新此字段
+		/// </summary>
+		public EExpiredStatus ExpiredStatus { get; set; }
+
+		/// <summary>
+		/// 来源,区分省平台或110等其他平台同步过来的工单
+		/// </summary>
+		public ESource Source { get; set; }
+
+		/// <summary>
+		/// 处理方式(直办、交办)
+		/// </summary>
+		public EProcessType ProcessType { get; set; } 
+
+		/// <summary>
+		/// 是否公开
+		/// </summary>
+		public bool IsPublicity { get; set; }
+
+		/// <summary>
+		/// 是否为省工单(省派发工单非政民互动直派的为省工单)
+		/// </summary>
+		public bool IsProvince { get; set; }
+
+		/// <summary>
+		/// 工单编码(20220101000001)
+		/// </summary>
+		public string? No { get; set; }
+
+		/// <summary>
+		/// 是否已撤销
+		/// </summary>
+		public bool IsCancel { get; set; }
+
+		/// <summary>
+		/// 市民查询密码
+		/// </summary>
+		public string? Password { get; set; }
+
+		/// <summary>
+		/// 企业名称
+		/// </summary>
+		public string? EnterpriseName { get; set; }
+
+		/// <summary>
+		/// 企业Code
+		/// </summary>
+		public string? EnterpriseCode { get; set; }
+
+		/// <summary>
+		/// 专班名称
+		/// </summary>
+		public string? ZhuanBanMingCheng { get; set; }
+
+		/// <summary>
+		/// 专班Code
+		/// </summary>
+		public string? ZhuanBanCode { get; set; }
+
+		#endregion
+
+		#region 流程信息
+
+		/// <summary>
+		/// 工单开始时间(受理/接办时间=流程开启时间)
+		/// </summary>
+		public DateTime? StartTime { get; set; }
+
+		/// <summary>
+		/// 超期时间(期满时间)
+		/// </summary>
+		public DateTime? ExpiredTime { get; set; }
+
+		/// <summary>
+		/// 即将超期时间
+		/// </summary>
+		public DateTime? NearlyExpiredTime { get; set; }
+
+		/// <summary>
+		/// 即将超期时间第一级
+		/// </summary>
+		public DateTime? NearlyExpiredTimeOne { get; set; }
+
+		/// <summary>
+		/// 交办时间(中心交部门办理时间)
+		/// </summary>
+		public DateTime? CenterToOrgTime { get; set; }
+
+		/// <summary>
+		/// 交办意见
+		/// </summary>
+		public string? CenterToOrgOpinion { get; set; }
+
+		/// <summary>
+		/// 交办人
+		/// </summary>
+		public string? CenterToOrgHandlerId { get; set; }
+
+		/// <summary>
+		/// 交办人姓名
+		/// </summary>
+		public string? CenterToOrgHandlerName { get; set; }
+
+		/// <summary>
+		/// 归档时间(暂为流程结束时间,因流程结束自动归档)
+		/// </summary>
+		public DateTime? FiledTime { get; set; }
+
+		/// <summary>
+		/// 办结时长(秒) 办结时间-交办时间
+		/// </summary>
+		public double? HandleDuration { get; set; }
+
+		/// <summary>
+		/// 办结工作日时长(秒)
+		/// </summary>
+		public double? HandleDurationWorkday { get; set; }
+
+		/// <summary>
+		/// 办结时长(秒)归档时间-受理时间(工单创建时间)
+		/// </summary>
+		public double? CreationTimeHandleDuration { get; set; }
+
+		/// <summary>
+		/// 办结工作日时长(秒)归档时间-受理时间(工单创建时间)
+		/// </summary>
+		public double? CreationTimeHandleDurationWorkday { get; set; }
+
+		/// <summary>
+		/// 办结时长(秒) 归档时间-派单时间(中心到部门时间)
+		/// </summary>
+		public double? CenterToOrgHandleDuration { get; set; }
+
+		/// <summary>
+		/// 办结工作日时长(秒)归档时间-派单时间(中心到部门时间)
+		/// </summary>
+		public double? CenterToOrgHandleDurationWorkday { get; set; }
+
+		/// <summary>
+		/// 归档时长(秒)
+		/// </summary>
+		public double? FileDuration { get; set; }
+
+		/// <summary>
+		/// 归档工作时长(秒)
+		/// </summary>
+		public double? FileDurationWorkday { get; set; }
+
+		/// <summary>
+		/// 全流程时长(秒)
+		/// </summary>
+		public double? AllDuration { get; set; }
+
+		/// <summary>
+		/// 全流程工作日时长
+		/// </summary>
+		public double? AllDurationWorkday { get; set; }
+
+		/// <summary>
+		/// 
+		/// </summary>
+		public string? AllDurationHour { get; set; }
+
+		/// <summary>
+		/// 办理时间限制(如:24小时、7个工作日)
+		/// </summary>
+		public string? TimeLimit { get; set; }
+
+		/// <summary>
+		/// 时间限制计数
+		/// </summary>
+		public int? TimeLimitCount { get; set; }
+
+		/// <summary>
+		/// 时间限制单位
+		/// </summary>
+		public ETimeType? TimeLimitUnit { get; set; }
+
+		#region 会签实际办理对象
+		/// <summary>
+		/// 会签实际办理对象
+		/// </summary>
+		public List<string>? CsActualHandleOrgIds { get; set; }
+
+		/// <summary>
+		/// 会签实际办理用户ID
+		/// </summary>
+		public List<string>? CsActualHandleUserIds { get; set; }
+
+		#endregion
+
+		#region 实际办理信息(节点,部门,意见)
+
+		/// <summary>
+		/// 实际办理步骤ID
+		/// </summary>
+		public string? ActualHandleStepId { get; set; }
+
+		/// <summary>
+		/// 实际办理节点code(会签状态此字段保存最外层会签发起节点code)
+		/// </summary>
+		public string? ActualHandleStepCode { get; set; }
+
+		/// <summary>
+		/// 实际办理节点名称(会签状态此字段保存最外层会签发起节点名称)
+		/// </summary>
+		public string? ActualHandleStepName { get; set; }
+
+		/// <summary>
+		/// 到达实际办理节点时间(stepBox创建时间)
+		/// </summary>
+		public DateTime? ActualHandleStepCreateTime { get; set; }
+
+		/// <summary>
+		/// 实际办理节点签收时间
+		/// </summary>
+		public DateTime? ActualHandleStepAcceptTime { get; set; }
+
+		/// <summary>
+		/// 实际办理时间
+		/// </summary>
+		public DateTime? ActualHandleTime { get; set; }
+
+		/// <summary>
+		/// 实际办理人id
+		/// </summary>
+		public string? ActualHandlerId { get; set; }
+
+		/// <summary>
+		/// 实际办理人名称
+		/// </summary>
+		public string? ActualHandlerName { get; set; }
+
+		/// <summary>
+		/// 实际办理部门名称
+		/// </summary>
+		public string? ActualHandleOrgName { get; set; }
+
+		/// <summary>
+		/// 实际办理部门编码
+		/// </summary>
+		public string? ActualHandleOrgCode { get; set; }
+
+		/// <summary>
+		/// 实际办理部门行政区划编码
+		/// </summary>
+		public string? ActualHandleOrgAreaCode { get; set; }
+
+		/// <summary>
+		/// 实际办理部门行政区划名称
+		/// </summary>
+		public string? ActualHandleOrgAreaName { get; set; }
+
+		/// <summary>
+		/// 实际办理意见(办理中...or 最终办理意见)
+		/// </summary>
+		public string ActualOpinion { get; set; } = "办理中...";
+
+		/// <summary>
+		/// 真实办理人姓名(手动填写)
+		/// </summary>
+		public string? RealHandlerName { get; set; }
+
+		/// <summary>
+		/// 真实办理人电话(手动填写)
+		/// </summary>
+		public string? RealHandlerPhone { get; set; }
+
+		/// <summary>
+		/// 沟通方式(手动填写)
+		/// </summary>
+		public ERealCommunicationMode? RealCommunicationMode { get; set; }
+
+		/// <summary>
+		/// 沟通时间(手动填写)
+		/// </summary>
+		public DateTime? RealCommunicationTime { get; set; }
+
+		/// <summary>
+		/// 沟通地点(手动填写)
+		/// </summary>
+		public string? RealCommunicationAddress { get; set; }
+
+		/// <summary>
+		/// 已与市民沟通
+		/// </summary>
+		public bool? RealIsContacted { get; set; }
+
+		/// <summary>
+		/// 已与市民现场沟通
+		/// </summary>
+		public bool? RealContactLocale { get; set; }
+
+		/// <summary>
+		/// 其它
+		/// </summary>
+		public bool? IsOther { get; set; }
+
+		/// <summary>
+		/// 其它的备注
+		/// </summary>
+		public string? OtherRemark { get; set; }
+
+		#endregion
+
+		#region 当前办理节点信息(指派时赋值)
+		/// <summary>
+		/// 当前办理节点ID
+		/// </summary>
+		public string? CurrentStepId { get; set; }
+
+		/// <summary>
+		/// 当前办理节点code(非会签:当前被指派节点,会签:会签发起节点)
+		/// </summary>
+		public string? CurrentStepCode { get; set; }
+
+		/// <summary>
+		/// 当前节点名称
+		/// </summary>
+		public string? CurrentStepName { get; set; }
+
+		/// <summary>
+		/// 到达当前节点时间
+		/// </summary>
+		public DateTime? CurrentStepCreateTime { get; set; }
+
+		/// <summary>
+		/// 当前办理节点签收时间
+		/// </summary>
+		public DateTime? CurrentStepAcceptTime { get; set; }
+
+		/// <summary>
+		/// 当前办理时间
+		/// </summary>
+		public DateTime? CurrentHandleTime { get; set; }
+
+		/// <summary>
+		/// 当前办理人id
+		/// </summary>
+		public string? CurrentHandlerId { get; set; }
+
+		/// <summary>
+		/// 当前办理人名称
+		/// </summary>
+		public string? CurrentHandlerName { get; set; }
+
+		/// <summary>
+		/// 当前办理部门名称
+		/// </summary>
+		public string? CurrentHandleOrgName { get; set; }
+
+		/// <summary>
+		/// 当前办理部门编码
+		/// </summary>
+		public string? CurrentHandleOrgId { get; set; }
+
+		/// <summary>
+		/// 当前办理部门等级
+		/// </summary>
+		public int? CurrentHandleOrgLevel { get; set; }
+
+		/// <summary>
+		/// 当前办理部门行政区划编码
+		/// </summary>
+		public string? CurrentHandleOrgAreaCode { get; set; }
+
+		/// <summary>
+		/// 当前办理部门行政区划名称
+		/// </summary>
+		public string? CurrentHandleOrgAreaName { get; set; }
+
+		#endregion
+
+		#region 一级部门
+
+		/// <summary>
+		/// 一级部门code
+		/// </summary>
+		public string? OrgLevelOneCode { get; set; }
+
+		/// <summary>
+		/// 一级部门名称
+		/// </summary>
+		public string? OrgLevelOneName { get; set; }
+
+		#endregion
+
+		#region 二级部门
+
+		/// <summary>
+		/// 二级部门code
+		/// </summary>
+		public string? OrgLevelTwoCode { get; set; }
+
+		/// <summary>
+		/// 二级部门名称
+		/// </summary>
+		public string? OrgLevelTwoName { get; set; }
+
+		#endregion
+
+		#region 受理人(开启流程的话务员)
+
+		/// <summary>
+		/// 受理人id
+		/// </summary>
+		public string? AcceptorId { get; set; }
+
+		/// <summary>
+		/// 受理人名称
+		/// </summary>
+		public string? AcceptorName { get; set; }
+
+		/// <summary>
+		/// 受理人工号
+		/// </summary>
+		public string? AcceptorStaffNo { get; set; }
+
+		/// <summary>
+		/// 受理人部门编码
+		/// </summary>
+		public string? AcceptorOrgCode { get; set; }
+
+		/// <summary>
+		/// 受理人部门名称
+		/// </summary>
+		public string? AcceptorOrgName { get; set; }
+
+		#endregion
+
+		#region 派单人
+
+		/// <summary>
+		/// 派单次数
+		/// </summary>
+		public int? SendOrderNumber { get; set; } = 0;
+
+		#endregion
+
+		/// <summary>
+		/// 会签类型
+		/// </summary>
+		public ECounterSignType? CounterSignType { get; set; }
+
+		#region 签收
+
+		/// <summary>
+		/// 签收人id
+		/// </summary>
+		public string? SignerId { get; set; }
+
+		/// <summary>
+		/// 签收人名称
+		/// </summary>
+		public string? SignerName { get; set; }
+
+		#endregion
+
+		#region 归档冗余字段
+
+		/// <summary>
+		/// 归档人名称
+		/// </summary>
+		public string? FileUserName { get; set; }
+
+		/// <summary>
+		/// 归档人ID
+		/// </summary>
+		public string? FileUserId { get; set; }
+
+		/// <summary>
+		/// 归档人部门Id
+		/// </summary>
+		public string? FileUserOrgId { get; set; }
+
+		/// <summary>
+		/// 归档人部门名称
+		/// </summary>
+		public string? FileUserOrgName { get; set; }
+
+		/// <summary>
+		/// 归档人部门是否属于中心
+		/// </summary>
+		public bool? FileOrgIsCenter { get; set; }
+
+		/// <summary>
+		/// 归档人类型
+		/// </summary>
+		public EFileUserType? FileUserRole { get; set; }
+
+		/// <summary>
+		/// 归档意见
+		/// </summary>
+		public string? FileOpinion { get; set; }
+
+		#endregion
+
+		#endregion
+
+		#region 省工单字段
+
+		/// <summary>
+		/// 省期满时间(省工单才有)
+		/// </summary>
+		public DateTime? ExpiredTimeProvince { get; set; }
+
+		/// <summary>
+		/// 省本地编号
+		/// </summary>
+		public string? ProvinceNo { get; set; }
+
+		/// <summary>
+		/// 省交办编号
+		/// </summary>
+		public string? ReceiveProvinceNo { get; set; }
+
+		/// <summary>
+		/// 外部工单唯一标识
+		/// </summary>
+		public string? ExternalId { get; set; }
+
+		/// <summary>
+		/// 工单标签
+		/// </summary>
+		public string? TagNames { get; set; }
+
+		/// <summary>
+		/// 省退回结果
+		/// </summary>
+		public bool? ProvinceSendBack { get; set; }
+
+		#endregion
+
+		#region 附件冗余
+
+		//[SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true, ColumnDescription = "附件JSON")]
+		//public List<FileJson>? FileJson { get; set; }
+
+		#endregion
+
+		#region 市州工单互转
+
+		/// <summary>
+		/// 是否转发
+		/// </summary>
+		public bool? Transpond { get; set; }
+
+		/// <summary>
+		/// 转发市州Id
+		/// </summary>
+		public string? TranspondCityId { get; set; }
+
+		/// <summary>
+		/// 转发市州名称
+		/// </summary>
+		public string? TranspondCityName { get; set; }
+
+		/// <summary>
+		/// 转发市州Value
+		/// </summary>
+		public string? TranspondCityValue { get; set; }
+
+		#endregion
+
+		#region 重办
+
+		/// <summary>
+		/// 重办次数
+		/// </summary>
+		public int? ReTransactNum { get; set; }
+
+		/// <summary>
+		/// 派单退回次数
+		/// </summary>
+		public int? SendBackNum { get; set; }
+
+		#endregion
+
+		/// <summary>
+		/// 敏感标签
+		/// </summary>
+		//[SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true, ColumnDescription = "敏感标签")]
+		//public List<string>? Sensitive { get; set; }
+
+		/// <summary>
+		/// 是否行政执法类
+		/// </summary>
+		public bool? IsEnforcementOrder { get; set; }
+
+		/// <summary>
+		/// 形式主义工单
+		/// </summary>
+		public bool IsFormalistWorkOrder { get; set; }
+
+		/// <summary>
+		/// 敏感类工单
+		/// </summary>
+		//[SugarColumn(DefaultValue = "f", ColumnDescription = "是否敏感类工单")]
+		public bool IsSensitiveWorkOrders { get; set; }
+
+		/// <summary>
+		/// 24小时办结
+		/// </summary>
+		//[SugarColumn(DefaultValue = "f", ColumnDescription = "是否24小时办结")]
+		public bool Is24HoursComplete { get; set; }
+
+		/// <summary>
+		/// 部门是否解决
+		/// </summary>
+		//[SugarColumn(DefaultValue = "f", ColumnDescription = "部门是否解决")]
+		public bool IsResolved { get; set; }
+
+		/// <summary>
+		/// 是否紧急
+		/// 在创单的时候勾选的是否紧急
+		/// </summary>
+		//[SugarColumn(DefaultValue = "f", ColumnDescription = "是否紧急")]
+		public bool IsUrgent { get; set; }
+
+		/// <summary>
+		/// 是否紧急
+		/// 在办理的时候勾选的是否紧急
+		/// </summary>
+		//[SugarColumn(DefaultValue = "f", ColumnDescription = "办理勾选是否紧急")]
+		public bool IsStepUrgent { get; set; }
+
+		/// <summary>
+		/// 是否推诿
+		/// </summary>
+		//[SugarColumn(DefaultValue = "f", ColumnDescription = "是否推诿")]
+		public bool IsEvasive { get; set; }
+
+		/// <summary>
+		/// 是否不积极
+		/// </summary>
+		//[SugarColumn(DefaultValue = "f", ColumnDescription = "是否不积极")]
+		public bool IsInactively { get; set; }
+
+		/// <summary>
+		/// 是否三方通话
+		/// </summary>
+		//[SugarColumn(DefaultValue = "f", ColumnDescription = "是否三方通话")]
+		public bool IsThreePartyConference { get; set; }
+
+		/// <summary>
+		/// 重点关注事件,保存前端选择,用于返回前端数据
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "重点关注事件")]
+		public string? FocusOnEvents { get; set; }
+
+		/// <summary>
+		/// 重点关注事件名称,保存前端选择,用于返回前端数据
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "重点关注事件名称")]
+		public string? FocusOnEventsName { get; set; }
+
+		/// <summary>
+		/// 待发布人Id
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "待发布人ID")]
+		public string? WaitForPublisherId { get; set; }
+
+		/// <summary>
+		/// 是否政民互动公开
+		/// </summary>
+		//[SugarColumn(DefaultValue = "f", ColumnDescription = "是否政民互动公开")]
+		public bool IsProvinceZmhd { get; set; }
+
+		/// <summary>
+		/// 初审人姓名
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "初审人姓名")]
+		public string? AuditFirstName { get; set; }
+
+		/// <summary>
+		/// 初审时间
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "初审时间")]
+		public DateTime? AuditFirstTime { get; set; }
+
+		/// <summary>
+		/// 政民互动公开ID
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "政民互动公开ID")]
+		public string? OrderProvinceZmhdId { get; set; }
+
+		/// <summary>
+		/// 超期部门
+		/// </summary>
+		//[SugarColumn(IsIgnore = true, ColumnDescription = "超期部门名称")]
+		public string? DaysOverdueOrgName { get; set; }
+
+		/// <summary>
+		/// 退回截至时间
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "退回截至时间")]
+		public DateTime? SendBackAuditEndTime { get; set; }
+
+		/// <summary>
+		/// 话务提醒是否转办
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "话务提醒是否转办")]
+		public bool? IsForwarded { get; set; }
+
+		#region 回访信息
+		/// <summary>
+		/// 话务员评价(话务评价)
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "话务员评价")]
+		public ESeatEvaluate? SeatEvaluate { get; set; }
+
+		/// <summary>
+		/// 部门办件结果
+		/// </summary>
+		//[SugarColumn(ColumnDataType = "json", ColumnDescription = "部门办件结果", IsJson = true, IsNullable = true)]
+		public Kv? OrgProcessingResults { get; set; }
+		#endregion
+	}
+}

+ 145 - 0
Entity/OrderDelay.cs

@@ -0,0 +1,145 @@
+using DataTransmission.Enum;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DataTransmission.Entity
+{
+	public class OrderDelay : WorkflowEntity
+	{
+		/// <summary>
+		/// 工单编号(冗余)
+		/// </summary>
+		public string No { get; set; }
+
+		/// <summary>
+		/// 工单ID
+		/// </summary>
+		public string OrderId { get; set; }
+
+		/// <summary>
+		/// 
+		/// </summary>
+		//[Navigate(NavigateType.OneToOne, nameof(OrderId))]
+		//public Order? Order { get; set; }
+
+		/// <summary>
+		/// 延期申请时间
+		/// </summary>
+		public DateTime ApplyDelayTime { get; set; }
+
+		/// <summary>
+		/// 申请部门Code
+		/// </summary>
+		public string ApplyOrgCode { get; set; }
+
+		/// <summary>
+		/// 申请部门名称
+		/// </summary>
+		public string ApplyOrgName { get; set; }
+
+		/// <summary>
+		/// 申请人
+		/// </summary>
+		public string EmployeeId { get; set; }
+
+		/// <summary>
+		/// 申请人名称
+		/// </summary>
+		public string? EmployeeName { get; set; }
+
+		/// <summary>
+		/// 
+		/// </summary>
+		//[Navigate(NavigateType.OneToOne, nameof(EmployeeId))]
+		//public User? Employee { get; set; }
+
+		/// <summary>
+		/// 延期申请时限
+		/// </summary>
+		public int DelayNum { get; set; }
+
+		/// <summary>
+		/// 延期申请单位
+		/// </summary>
+		public ETimeType DelayUnit { get; set; }
+
+		/// <summary>
+		/// 延期申请理由
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "延期申请理由", ColumnDataType = "text")]
+		public string DelayReason { get; set; }
+
+		/// <summary>
+		/// 申请前期满时间
+		/// </summary>
+		public DateTime? BeforeDelay { get; set; }
+
+		/// <summary>
+		/// 申请后期满时间
+		/// </summary>
+		public DateTime? AfterDelay { get; set; }
+
+		/// <summary>
+		/// 审批状态
+		/// </summary>
+		public EDelayState DelayState { get; set; }
+
+		#region 用于省平台查询
+		/// <summary>
+		/// 审核人
+		/// </summary>
+		public string? AuditName { get; set; }
+
+		/// <summary>
+		/// 审核部门
+		/// </summary>
+		public string? AuditOrgName { get; set; }
+
+		/// <summary>
+		/// 审核时间
+		/// </summary>
+		public DateTime? AuditTime { get; set; }
+
+		/// <summary>
+		/// 审核意见
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "审核意见", ColumnDataType = "text")]
+		public string? AuditOpinion { get; set; }
+		#endregion
+
+		/// <summary>
+		/// 审批类型
+		/// </summary>
+		public EDelayApplyType? DelayApplyType { get; set; }
+
+		/// <summary>
+		/// 附件
+		/// </summary>
+		//[SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)]
+		//public List<FileJson> FileJson { get; set; }
+
+		/// <summary>
+		/// 是否省延期
+		/// </summary>
+		//[SugarColumn(DefaultValue = "f")]
+		public bool IsProDelay { get; set; }
+
+		/// <summary>
+		/// 流程ID
+		/// </summary>
+		public string? WorkflowId { get; set; }
+
+		//[Navigate(NavigateType.OneToOne, nameof(WorkflowId))]
+		//public Workflow? Workflow { get; set; }
+
+		/// <summary>
+		/// 自动延期次数
+		/// </summary>
+		//[SugarColumn(DefaultValue = "0")]
+		public int? AutomaticDelayNum { get; set; }
+
+	}
+}

+ 177 - 0
Entity/OrderScreen.cs

@@ -0,0 +1,177 @@
+using DataTransmission.Enum;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DataTransmission.Entity
+{
+	public class OrderScreen : WorkflowEntity
+	{
+		/// <summary>
+		/// 工单编号
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "工单编号")]
+		public string No { get; set; }
+
+		/// <summary>
+		/// 回访id
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "回访id")]
+		public string VisitId { get; set; }
+
+		/// <summary>
+		/// 回访明细id
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "回访明细id")]
+		public string VisitDetailId { get; set; }
+
+		/// <summary>
+		/// 工单id
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "工单id")]
+		public string OrderId { get; set; }
+
+		/// <summary>
+		/// 回访
+		/// </summary>
+		//[Navigate(NavigateType.OneToOne, nameof(VisitDetailId))]
+		//public OrderVisitDetail VisitDetail { get; set; }
+
+		/// <summary>
+		/// 回访
+		/// </summary>
+		//[Navigate(NavigateType.OneToOne, nameof(VisitId))]
+		//public OrderVisit Visit { get; set; }
+
+		/// <summary>
+		/// 工单
+		/// </summary>
+		//[Navigate(NavigateType.OneToOne, nameof(OrderId))]
+		//public Order Order { get; set; }
+
+		/// <summary>
+		/// 回访
+		/// </summary>
+		//[Navigate(NavigateType.OneToMany, nameof(OrderScreenDetail.ScreenId), nameof(Id))]
+		//public List<OrderScreenDetail> ScreenDetails { get; set; }
+
+		/// <summary>
+		/// 甄别申请类型id
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "甄别申请类型id")]
+		public string? TypeDicId { get; set; }
+
+		/// <summary>
+		/// 甄别申请类型名称
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "甄别申请类型名称")]
+		public string? TypeDicName { get; set; }
+
+
+		/// <summary>
+		/// 甄别申请原因
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "甄别申请原因", ColumnDataType = "text")]
+		public string? Content { get; set; }
+
+		/// <summary>
+		/// 甄别申请回复
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "甄别申请回复", ColumnDataType = "text")]
+		public string? ReplyContent { get; set; }
+
+		#region 用于省平台查询
+		/// <summary>
+		/// 审核人
+		/// </summary>
+		public string? AuditName { get; set; }
+
+		/// <summary>
+		/// 审核部门
+		/// </summary>
+		public string? AuditOrgName { get; set; }
+
+		/// <summary>
+		/// 审核时间
+		/// </summary>
+		public DateTime? AuditTime { get; set; }
+
+		/// <summary>
+		/// 是否省甄别
+		/// </summary>
+		//[SugarColumn(DefaultValue = "f")]
+		public bool IsProScreen { get; set; }
+
+		#endregion
+
+
+		/// <summary>
+		/// 甄别截至申请时间
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "甄别截至申请时间")]
+		public DateTime? ApplyEndTime { get; set; }
+
+		/// <summary>
+		/// 甄别申请状态
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "甄别申请状态")]
+		public EScreenStatus? Status { get; set; }
+
+		/// <summary>
+		/// 业务流程ID
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "业务流程ID")]
+		public string? WorkflowId { get; set; }
+
+		//[Navigate(NavigateType.OneToOne, nameof(WorkflowId))]
+		//public Workflow? Workflow { get; set; }
+
+		//[SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)]
+		//public List<FileJson>? FileJson { get; set; }
+
+
+		/// <summary>
+		/// 甄别耗时
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "甄别耗时")]
+		public decimal? TimeConsuming { get; set; }
+
+		/// <summary>
+		/// 甄别退回次数
+		/// </summary>
+		//[SugarColumn(DefaultValue = "0")]
+		public int SendBackNum { get; set; }
+
+		/// <summary>
+		/// 甄别退回到申请人
+		/// </summary>
+		//[SugarColumn(DefaultValue = "f")]
+		public bool SendBackApply { get; set; }
+
+		/// <summary>
+		/// 甄别重提申请次数
+		/// </summary>
+		//[SugarColumn(DefaultValue = "0")]
+		public int SendBackApplyNum { get; set; }
+
+		/// <summary>
+		/// 甄别退回时间
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "甄别退回时间")]
+		public DateTime? SendBackTime { get; set; }
+
+		/// <summary>
+		/// 甄别审批时间
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "甄别审批时间")]
+		public DateTime? NewestAuditTime { get; set; }
+
+		/// <summary>
+		/// 甄别类型
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "甄别类型", DefaultValue = "0")]
+		public EOrderScreenType? ScreenType { get; set; }
+	}
+}

+ 174 - 0
Entity/OrderVisit.cs

@@ -0,0 +1,174 @@
+using DataTransmission.Enum;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DataTransmission.Entity
+{
+	public class OrderVisit : CreationEntity
+	{
+		/// <summary>
+		/// 工单编码(冗余)
+		/// </summary>
+		public string No { get; set; }
+
+		/// <summary>
+		/// 工单ID
+		/// </summary>
+		public string OrderId { get; set; }
+
+		/// <summary>
+		/// 工单
+		/// </summary>
+		//[Navigate(NavigateType.OneToOne, nameof(OrderId))]
+		//public Order Order { get; set; }
+
+		/// <summary>
+		/// 回访状态
+		/// </summary>
+		public EVisitState VisitState { get; set; }
+
+		/// <summary>
+		/// 回访方式
+		/// </summary>
+		//[SugarColumn(IsNullable = true)]
+		public EVisitType? VisitType { get; set; }
+
+		/// <summary>
+		/// 发布时间
+		/// </summary>
+		public DateTime PublishTime { get; set; }
+
+		/// <summary>
+		/// 回访人
+		/// </summary>
+		//[SugarColumn(IsNullable = true)]
+		public string? EmployeeId { get; set; }
+
+		/// <summary>
+		/// 回访人(对象)
+		///// </summary>
+		//[Navigate(NavigateType.OneToOne, nameof(EmployeeId))]
+		//public User? Employee { get; set; }
+
+		/// <summary>
+		/// 是否接通
+		/// </summary>
+		//[SugarColumn(IsNullable = true)]
+		public bool? IsPutThrough { get; set; }
+
+		/// <summary>
+		/// 重办状态
+		/// </summary>
+		//[SugarColumn(IsNullable = true)]
+		public EAgainState? AgainState { get; set; }
+
+		/// <summary>
+		/// 回访时间
+		/// </summary>
+		//[SugarColumn(IsNullable = true)]
+		public DateTime? VisitTime { get; set; }
+
+		/// <summary>
+		/// 回访明细
+		/// </summary>
+		//[Navigate(NavigateType.OneToMany, nameof(OrderVisitDetail.VisitId))]
+		//public List<OrderVisitDetail> OrderVisitDetails { get; set; }
+
+		/// <summary>
+		/// 当前评价结果
+		/// </summary>
+		//[SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)]
+		public Kv? NowEvaluate { get; set; }
+
+		/// <summary>
+		/// 是否可以处理
+		/// </summary>
+		public bool IsCanHandle { get; set; }
+
+		/// <summary>
+		/// 是否可以AI回访
+		/// </summary>
+		public bool? IsCanAiVisit { get; set; }
+
+		/// <summary>
+		/// 渠道为电话时,此字段存在
+		/// </summary>
+		public string? CallId { get; set; }
+
+		/// <summary>
+		/// 第一次电话回访拨打时间
+		/// </summary>
+		public DateTime? FirstVisitTime { get; set; }
+
+		/// <summary>
+		/// 最后一次电话回访拨打时间
+		/// </summary>
+		public DateTime? LastVisitTime { get; set; }
+
+		/// <summary>
+		/// 智能回访次数
+		/// </summary>
+		//[SugarColumn(DefaultValue = "0")]
+		public int AiVisitCount { get; set; }
+
+		/// <summary>
+		/// 智能回访录音地址
+		/// </summary>
+		public string? RecordUrl { get; set; }
+
+		/// <summary>
+		/// 部门扭转
+		/// </summary>
+		public bool? OrgJudge { get; set; }
+		/// <summary>
+		/// 坐席扭转
+		/// </summary>
+		public bool? SeatJudge { get; set; }
+		/// <summary>
+		/// 评判状态
+		/// </summary>
+		public EJudgeState? JudgeState { get; set; }
+		/// <summary>
+		/// 评判意见
+		/// </summary>
+		public string? JudgeContent { get; set; }
+
+		/// <summary>
+		/// 评判人Id
+		/// </summary>
+		public string? JudgeUserId { get; set; }
+
+		/// <summary>
+		/// 评判人名称
+		/// </summary>
+		public string? JudgeUserName { get; set; }
+
+		/// <summary>
+		/// 评判时间
+		/// </summary>
+		public DateTime? JudgeTime { get; set; }
+
+		/// <summary>
+		/// 是否有效智能回访
+		/// </summary>
+		public bool? IsEffectiveAiVisit { get; set; }
+
+		/// <summary>
+		/// 是否批量回访
+		/// </summary>
+		public bool? IsBatchVisit { get; set; }
+
+		public void AiVisitTime()
+		{
+			LastVisitTime = DateTime.Now;
+			if (FirstVisitTime is null)
+			{
+				FirstVisitTime = LastVisitTime;
+			}
+		}
+
+	}
+}

+ 126 - 0
Entity/OrderVisitDetail.cs

@@ -0,0 +1,126 @@
+using DataTransmission.Enum;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DataTransmission.Entity
+{
+	public class OrderVisitDetail : CreationEntity
+	{
+
+		/// <summary>
+		/// 回访主表ID
+		/// </summary>
+		public string VisitId { get; set; }
+
+		//[Navigate(NavigateType.OneToOne, nameof(VisitId))]
+		//public OrderVisit OrderVisit { get; set; }
+
+		/// <summary>
+		/// 二次办理申请
+		/// </summary>
+		//[Navigate(NavigateType.OneToOne, nameof(Id), nameof(OrderSecondaryHandling.VisitDetailId))]
+		//public OrderSecondaryHandling SecondaryHandling { get; set; }
+
+		/// <summary>
+		/// 甄别记录
+		/// </summary>
+		//[Navigate(NavigateType.OneToMany, nameof(OrderScreen.VisitDetailId), nameof(Id))]
+		//public List<OrderScreen> OrderScreens { get; set; }
+
+		/// <summary>
+		/// 语音评价(话务评价)
+		/// </summary>
+		public EVoiceEvaluate? VoiceEvaluate { get; set; }
+
+		/// <summary>
+		/// 话务员评价(话务评价)
+		/// </summary>
+		public ESeatEvaluate? SeatEvaluate { get; set; }
+
+		/// <summary>
+		/// 是否联系
+		/// </summary>
+		public bool? IsContact { get; set; }
+
+		/// <summary>
+		/// 处理结果
+		/// </summary>
+		public bool? Volved { get; set; }
+
+		/// <summary>
+		/// 未处理内容
+		/// </summary>
+		public string? VolveConent { get; set; }
+
+		/// <summary>
+		/// 部门办件结果
+		/// </summary>
+		//[SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)]
+		public Kv? OrgProcessingResults { get; set; }
+
+		/// <summary>
+		/// 不满意原因
+		/// </summary>
+		//[SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)]
+		public List<Kv>? OrgNoSatisfiedReason { get; set; }
+
+		/// <summary>
+		/// 部门办件态度
+		/// </summary>
+		//[SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)]
+		public Kv? OrgHandledAttitude { get; set; }
+
+		/// <summary>
+		/// 回访内容
+		/// </summary>
+		public string? VisitContent { get; set; }
+
+		/// <summary>
+		/// 回访部门Code
+		/// </summary>
+		//[SugarColumn(IsNullable = true)]
+		public string VisitOrgCode { get; set; }
+
+		/// <summary>
+		/// 回访部门名称
+		/// </summary>
+		//[SugarColumn(IsNullable = true)]
+		public string VisitOrgName { get; set; }
+
+		/// <summary>
+		/// 回访对象类型 10:话务员 20:部门
+		/// </summary>
+		public EVisitTarget VisitTarget { get; set; }
+
+		///// <summary>
+		///// 短信回访回填
+		///// </summary>
+		///// <param name="visitSatisfactionKv"></param>
+		///// <exception cref="NotImplementedException"></exception>
+		//public void ReplyBackfill(Kv visitSatisfactionKv)
+		//{
+		//	this.OrgProcessingResults = visitSatisfactionKv;
+		//	this.OrgHandledAttitude = visitSatisfactionKv;
+		//	this.VisitContent = visitSatisfactionKv.Value;
+		//}
+
+		///// <summary>
+		///// 短信回访回填
+		///// </summary>
+		///// <param name="visitSatisfactionKv"></param>
+		///// <exception cref="NotImplementedException"></exception>
+		//public void ReplyBackfill(ESeatEvaluate seatEvaluate)
+		//{
+		//	this.SeatEvaluate ??= seatEvaluate;
+		//	VisitContent = seatEvaluate.GetDescription();
+		//}
+
+		/// <summary>
+		/// 截至甄别时间
+		/// </summary>
+		public DateTime? ScreenByEndTime { get; set; }
+	}
+}

+ 400 - 0
Entity/StepBasicEntity.cs

@@ -0,0 +1,400 @@
+using DataTransmission.Enum;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace DataTransmission.Entity
+{
+	public abstract class StepBasicEntity : CreationEntity
+	{
+		public string WorkflowId { get; set; }
+
+		/// <summary>
+		/// 业务唯一标识
+		/// </summary>
+		public string? ExternalId { get; set; }
+
+		#region 业务模块(冗余)
+
+		public string? ModuleId { get; set; }
+
+		public string? ModuleName { get; set; }
+
+		public string? ModuleCode { get; set; }
+
+		#endregion
+
+		/// <summary>
+		/// 流程指派类型
+		/// </summary>
+		public EFlowAssignType? FlowAssignType { get; set; }
+
+		/// <summary>
+		/// 该节点指派办理对象(依据不同指派方式可能为:orgId或userId),该字段subStep才会存在,stepBox不存在
+		/// 采用list类型,兼容或签
+		/// </summary>
+		//[SugarColumn(ColumnDataType = "json", IsJson = true)]
+		public List<Kv> Handlers { get; set; } = new();
+
+		/// <summary>
+		/// 上一节点办理时,nextStepCode下拉框中选中的值
+		/// config模式:当前节点的difinition.code, dynamic模式:x级部门办理的x:int
+		/// </summary>
+		public string? PrevChosenStepCode { get; set; }
+
+		/// <summary>
+		/// 是否实际办理过该工单
+		/// </summary>
+		public bool IsActualHandled { get; set; }
+
+		/// <summary>
+		/// 节点超期状态
+		/// </summary>
+		public EExpiredStatus? ExpiredStatus { get; set; }
+
+		/// <summary>
+		/// 配置下一步节点 & 谁被选中
+		/// </summary>
+		//[SugarColumn(ColumnDataType = "json", IsJson = true)]
+		//public List<StepSimple>? NextSteps { get; set; } = new();
+
+		/// <summary>
+		/// 前一级节点Id,会签汇总节点无此字段(因可能有多个上级来源)
+		/// </summary>
+		public string? PrevStepId { get; set; }
+
+		public string? PrevStepCode { get; set; }
+		public string? PrevStepName { get; set; }
+
+		/// <summary>
+		/// 主办
+		/// </summary>
+		//[SugarColumn(DefaultValue = "f")]
+		public bool IsMain { get; set; }
+
+		/// <summary>
+		/// 原生节点(区别动态生成)
+		/// </summary>
+		//[SugarColumn(DefaultValue = "f")]
+		public bool IsOrigin { get; set; }
+
+		/// <summary>
+		/// 节点办理状态
+		/// </summary>
+		public EWorkflowStepStatus Status { get; set; }
+
+		/// <summary>
+		/// 备注
+		/// </summary>
+		//[SugarColumn(ColumnDescription = "备注", ColumnDataType = "varchar(5000)")]
+		public string? Remark { get; set; }
+
+		#region 会签
+
+		/// <summary>
+		/// 会签id(或外层会签的id)
+		/// </summary>
+		public string? CountersignId { get; set; }
+
+		/// <summary>
+		/// 节点处于会签流程中的位置(区别直接办理会签和会签内非会签节点)
+		/// outer属于特殊会签
+		/// 最顶层的发起会签节点为none
+		/// </summary>
+		//[SugarColumn(DefaultValue = "0")]
+		public ECountersignPosition CountersignPosition { get; set; }
+
+		/// <summary>
+		/// 会签直属办理节点(弃用)
+		/// </summary>
+		//[SugarColumn(ColumnDataType = "json", IsJson = true)]
+		//public List<CountersignStep>? CountersignSteps { get; set; } = new();
+
+		#region 发起会签节点特有
+
+		/// <summary>
+		/// 发起会签生成会签Id(不发起会签节点无此字段)
+		/// </summary>
+		public string? StartCountersignId { get; set; }
+
+		/// <summary>
+		/// 发起的会签是否汇总
+		/// </summary>
+		//[SugarColumn(DefaultValue = "f")]
+		public bool IsStartedCountersignEnd { get; set; }
+
+		#endregion
+
+		#region 会签汇总节点特有
+
+		/// <summary>
+		/// 是否为会签汇总节点
+		/// </summary>
+		//[SugarColumn(DefaultValue = "f")]
+		public bool IsCountersignEndStep { get; set; }
+
+		/// <summary>
+		/// 开启会签节点id(会签汇总节点对应会签发起节点id)
+		/// </summary>
+		public string? CountersignStartStepId { get; set; }
+
+		#endregion
+
+		#endregion
+
+		#region 交办
+
+		/// <summary>
+		/// 交办人
+		/// </summary>
+		public string? AssignerId { get; set; }
+
+		public string? AssignerName { get; set; }
+
+		/// <summary>
+		/// 交办人部门Id
+		/// </summary>
+		public string? AssignerOrgId { get; set; }
+
+		public string? AssignerOrgName { get; set; }
+
+		public bool? AssignerOrgIsCenter { get; set; }
+
+		#endregion
+
+		#region 接办
+
+		/// <summary>
+		/// 接办人
+		/// </summary>
+		public string? AcceptorId { get; set; }
+
+		public string? AcceptorName { get; set; }
+
+		/// <summary>
+		/// 接办人部门code
+		/// </summary>
+		public string? AcceptorOrgId { get; set; }
+
+		public string? AcceptorOrgName { get; set; }
+
+		/// <summary>
+		/// 接办人部门行政区划代码
+		/// </summary>
+		public string? AcceptorOrgAreaCode { get; set; }
+
+		/// <summary>
+		/// 接办人部门行政区划名称
+		/// </summary>
+		public string? AcceptorOrgAreaName { get; set; }
+
+		/// <summary>
+		/// 接办时间
+		/// </summary>
+		public DateTime? AcceptTime { get; set; }
+
+		#endregion
+
+		#region 办理
+
+		/// <summary>
+		/// 办理人
+		/// </summary>
+		public string? HandlerId { get; set; }
+
+		public string? HandlerName { get; set; }
+
+		/// <summary>
+		/// 办理人部门code
+		/// </summary>
+		public string? HandlerOrgId { get; set; }
+
+		public bool? HandlerOrgIsCenter { get; set; }
+
+		/// <summary>
+		/// 办理人部门名称
+		/// </summary>
+		public string? HandlerOrgName { get; set; }
+
+		/// <summary>
+		/// 办理人部门行政区划代码
+		/// </summary>
+		public string? HandlerOrgAreaCode { get; set; }
+
+		/// <summary>
+		/// 办理人部门行政区划名称
+		/// </summary>
+		public string? HandlerOrgAreaName { get; set; }
+
+		/// <summary>
+		/// 办理完成时间
+		/// </summary>
+		public DateTime? HandleTime { get; set; }
+
+		/// <summary>
+		/// 角色id(如果指派给角色)
+		/// </summary>
+		public string? RoleId { get; set; }
+
+		public string? RoleName { get; set; }
+
+		/// <summary>
+		/// 办理方式
+		/// </summary>
+		public EHandleMode? HandleMode { get; set; }
+
+		/// <summary>
+		/// 审核结果(非审批流程无意义)
+		/// </summary>
+		//[SugarColumn(DefaultValue = "0")]
+		public EReviewResult ReviewResult { get; set; }
+
+		#endregion
+
+		#region Definition
+
+		public string Name { get; set; }
+
+		/// <summary>
+		/// 模板内唯一
+		/// </summary>
+		public string Code { get; set; }
+
+		public EStepType StepType { get; init; }
+
+		/// <summary>
+		/// 节点业务类型
+		/// </summary>
+		public EBusinessType BusinessType { get; set; }
+
+		/// <summary>
+		/// 办理人类型
+		/// </summary>
+		public EHandlerType HandlerType { get; set; }
+
+		/// <summary>
+		/// 是否有否决按钮
+		/// </summary>
+		public bool CanReject { get; set; }
+
+		/// <summary>
+		/// 执行模式(自动与否)
+		/// 只有普通节点支持自动,会签、动态节点均不支持自动
+		/// </summary>
+		public EExecuteMode ExecuteMode { get; set; }
+
+		#region 会签相关配置
+
+		/// <summary>
+		/// 是否支持发起会签(即使支持发起,当下一节点为汇总或结束节点时亦不可发起)
+		/// </summary>
+		public bool CanStartCountersign { get; set; }
+
+		/// <summary>
+		/// 会签策略
+		/// </summary>
+		public ECountersignPolicy? CountersignPolicy { get; set; }
+
+		#endregion
+
+		#region 依据配置生成节点的方式
+
+		/// <summary>
+		/// 实例化模式
+		/// </summary>
+		public EInstanceMode InstanceMode { get; set; }
+
+		/// <summary>
+		/// 动态实例化策略(多次模式才有)
+		/// </summary>
+		public EDynamicPolicy? InstancePolicy { get; set; }
+
+		/// <summary>
+		/// 到此标记终止动态实例化(多次模式才有)
+		/// <remarks>
+		/// 按直属部门重复既保存orgLevel:int
+		/// </remarks>
+		/// </summary>
+		public string? TerminalDynamicMark { get; set; }
+
+		#endregion
+
+		/// <summary>
+		/// 标签
+		/// </summary>
+		public string? Tag { get; set; }
+
+		#endregion
+
+		#region 办理参数
+		#region 办理时赋值
+
+		/// <summary>
+		/// (下一节点办理人)根据审批者类型不同,此字段为不同内容
+		/// <example>
+		/// 部门等级/分类为:orgCodes, 角色为:userIds
+		/// </example>
+		/// </summary>
+		//[SugarColumn(ColumnDataType = "json", IsJson = true)]
+		//public List<FlowStepHandler> NextHandlers { get; set; } = new();
+
+		/// <summary>
+		/// 下一节点主办,(NextHandlers其中一个, 如果不是会签则只有一个)
+		/// </summary>
+		public string? NextMainHandler { get; set; }
+
+		/// <summary>
+		/// 下一节点code(stepBox无值)
+		/// </summary>
+		public string? NextStepCode { get; set; }
+
+		/// <summary>
+		/// 是否短信通知
+		/// </summary>
+		public bool IsSms { get; set; }
+
+		/// <summary>
+		/// 办理意见
+		/// </summary>
+		//[SugarColumn(ColumnDataType = "text")]
+		public string? Opinion { get; set; }
+
+		/// <summary>
+		/// 附件
+		/// </summary>
+		//[SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)]
+		//public List<FileJson>? FileJson { get; set; }
+
+		/// <summary>
+		/// 发起会签
+		/// </summary>
+		public bool IsStartCountersign { get; set; }
+
+		#endregion
+		#region 创建时赋值
+
+		/// <summary>
+		/// 节点期满时间
+		/// </summary>
+		public DateTime? StepExpiredTime { get; set; }
+
+
+		/// nextStep 信息
+		/// <summary>
+		/// 是否回到会签发起节点汇总
+		/// </summary>
+		public bool BackToCountersignEnd { get; set; }
+
+		public EFlowDirection? FlowDirection { get; set; }
+
+		#endregion
+		#endregion
+
+		//[Navigate(NavigateType.ManyToOne, nameof(WorkflowId))]
+		//public Workflow Workflow { get; set; }
+
+	}
+}

+ 17 - 0
Entity/WorkflowStep.cs

@@ -0,0 +1,17 @@
+using DataTransmission.Enum;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DataTransmission.Entity
+{
+	public class WorkflowStep : StepBasicEntity
+	{
+		//[Navigate(NavigateType.OneToOne, nameof(Id),
+		//	 nameof(Workflows.WorkflowTrace.StepId))]
+		//public WorkflowTrace WorkflowTrace { get; set; }
+
+	}
+}

+ 65 - 0
Entity/WorkflowTrace.cs

@@ -0,0 +1,65 @@
+using DataTransmission.Enum;
+using DataTransmission.Joint;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DataTransmission.Entity
+{
+	public class WorkflowTrace : StepBasicEntity
+	{
+		/// <summary>
+		/// 节点Id
+		/// </summary>
+		public string? StepId { get; set; }
+
+		/// <summary>
+		/// 会签从属关系
+		/// </summary>
+		public string? ParentId { get; set; }
+
+		/// <summary>
+		/// 流转记录状态
+		/// </summary>
+		public EWorkflowTraceType? TraceType { get; set; }
+
+		/// <summary>
+		/// 派单组办理次数
+		/// </summary>
+		//[SugarColumn(DefaultValue = "0")]
+		public int SendHandleTimes { get; set; }
+
+		/// <summary>
+		/// 快照对应节点状态
+		/// </summary>
+		//[SugarColumn(DefaultValue = "0")]
+		public EWorkflowTraceState TraceState { get; set; }
+
+		/// <summary>
+		/// 快照类型
+		/// </summary>
+		//[SugarColumn(DefaultValue = "0")]
+		public ETraceStyle TraceStyle { get; set; } = ETraceStyle.Flow;
+
+		public string? OrderPublishId { get; set; }
+
+		//[Navigate(NavigateType.OneToOne, nameof(OrderPublishId))]
+		//public OrderPublish OrderPublish { get; set; }
+
+		//public string? OrderVisitId { get; set; }
+
+		//[Navigate(NavigateType.OneToOne, nameof(OrderVisitId))]
+		//public OrderVisit OrderVisit { get; set; }
+
+		///// <summary>
+		///// 会签流转记录
+		///// </summary>
+		//[SugarColumn(IsIgnore = true)]
+		//public List<WorkflowTrace> Traces { get; set; }
+
+
+
+	}
+}

+ 1273 - 0
Enum/Order.cs

@@ -0,0 +1,1273 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DataTransmission.Enum
+{
+	public class Order 
+	{
+	}
+	/// <summary>
+	/// 时间类型
+	/// </summary>
+	public enum ETimeType
+	{
+		[Description("小时")]
+		Hour = 1,
+		[Description("工作日")]
+		WorkDay = 2,
+		[Description("自然日")]
+		Day = 3,
+	}
+	public enum EOrderStatus
+	{
+		/// <summary>
+		/// 待受理
+		/// </summary>
+		[Description("待受理")]
+		WaitForAccept = 0,
+
+		/// <summary>
+		/// 已开启流程,退回到开始节点
+		/// 待受理,可编辑
+		/// </summary>
+		[Description("退回待受理")]
+		BackToUnAccept = 1,
+
+		/// <summary>
+		/// 已开启流程,特提到开始节点
+		/// 待受理,可编辑
+		/// </summary>
+		[Description("特提待受理")]
+		SpecialToUnAccept = 2,
+
+		/// <summary>
+		/// 已开启流程,移交开始节点
+		/// 待受理,可编辑
+		/// </summary>
+		[Description("移交待受理")]
+		HandOverToUnAccept = 3,
+
+		/// <summary>
+		/// 退回省平台(锁定,不可操作)
+		/// </summary>
+		[Description("退回省平台")]
+		BackToProvince = 9,
+
+		/// <summary>
+		/// 办理中
+		/// </summary>
+		[Description("办理中")]
+		Handling = 100,
+
+		/// <summary>
+		/// 特提信件
+		/// </summary>
+		[Description("特提信件")]
+		Special = 101,
+
+		/// <summary>
+		/// 退回信件
+		/// </summary>
+		[Description("退回信件")]
+		SendBack = 102,
+
+		/// <summary>
+		/// 移交信件
+		/// </summary>
+		[Description("移交信件")]
+		HandOver = 103,
+
+		/// <summary>
+		/// 特提审批中
+		/// </summary>
+		[Description("特提审批中")]
+		SpecialAudit = 104,
+
+		/// <summary>
+		/// 退回审批中
+		/// </summary>
+		[Description("退回审批中")]
+		SendBackAudit = 105,
+
+		/// <summary>
+		/// 会签中
+		/// </summary>
+		[Description("会签中")]
+		Countersigning = 200,
+
+		/// <summary>
+		/// 已归档
+		/// </summary>
+		[Description("已归档")]
+		Filed = 300,
+
+		/// <summary>
+		/// 已发布
+		/// </summary>
+		[Description("已发布")]
+		Published = 400,
+
+		/// <summary>
+		/// 已回访
+		/// </summary>
+		[Description("已回访")]
+		Visited = 500,
+	}
+
+	/// <summary>
+	/// 性别
+	/// </summary>
+	public enum EGender
+	{
+		[Description("女士")]
+		Female = 0,
+
+		[Description("先生")]
+		Male = 1,
+
+		[Description("未知")]
+		Unknown = 2,
+	}
+
+	/// <summary>
+	/// 来电/信人身份
+	/// </summary>
+	public enum EIdentityType
+	{
+		///// <summary>
+		///// 未知
+		///// </summary>
+		//[Description("未知")]
+		//Unknown = 0,
+
+		/// <summary>
+		/// 市民
+		/// </summary>
+		[Description("市民")]
+		Citizen = 1,
+
+		/// <summary>
+		/// 企业
+		/// </summary>
+		[Description("企业")]
+		Enterprise = 2,
+	}
+
+	public enum ESeatEvaluate
+	{
+		/// <summary>
+		/// 默认满意
+		/// </summary>
+		[Description("默认满意")]
+		DefaultSatisfied = 0,
+		/// <summary>
+		/// 非常不满意
+		/// </summary>
+		[Description("非常不满意")]
+		VeryNoSatisfied = 1,
+
+		/// <summary>
+		/// 不满意
+		/// </summary>
+		[Description("不满意")]
+		NoSatisfied = 2,
+
+		/// <summary>
+		/// 一般
+		/// </summary>
+		[Description("一般")]
+		Normal = 3,
+
+		/// <summary>
+		/// 满意
+		/// </summary>
+		[Description("满意")]
+		Satisfied = 4,
+
+		/// <summary>
+		/// 非常满意
+		/// </summary>
+		[Description("非常满意")]
+		VerySatisfied = 5,
+
+		/// <summary>
+		/// 未接通
+		/// </summary>
+		[Description("未接通")]
+		NoConnect = 6,
+
+		/// <summary>
+		/// 未做评价
+		/// </summary>
+		[Description("未做评价")]
+		NoEvaluate = 7,
+	}
+
+	/// <summary>
+	/// 会签类型
+	/// </summary>
+	public enum ECounterSignType
+	{
+		/// <summary>
+		/// 中心会签
+		/// </summary>
+		[Description("中心会签")]
+		Center = 0,
+
+		/// <summary>
+		/// 部门会签
+		/// </summary>
+		[Description("部门会签")]
+		Department = 1,
+	}
+
+	public enum EExpiredStatus
+	{
+		/// <summary>
+		/// 正常状态(未超期)
+		/// </summary>
+		[Description("正常")]
+		Normal = 0,
+
+		/// <summary>
+		/// 即将超期
+		/// </summary>
+		[Description("剩余时间小于20%")]
+		GoingToExpired = 1,
+
+		/// <summary>
+		/// 已超期
+		/// </summary>
+		[Description("已超期")]
+		Expired = 2,
+
+		/// <summary>
+		/// 即将超期
+		/// </summary>
+		[Description("剩余时间小于50%")]
+		GoingToExpiredOne = 3,
+	}
+
+	/// <summary>
+	/// 工单处理方式(直办、交办)
+	/// </summary>
+	public enum EProcessType
+	{
+		/// <summary>
+		/// 直接办结
+		/// 中心
+		/// </summary>
+		Zhiban = 10,
+
+		/// <summary>
+		/// 交办
+		/// 部门
+		/// </summary>
+		Jiaoban = 20,
+	}
+
+	public enum ESource
+	{
+		/// <summary>
+		/// 热线平台工单
+		/// </summary>
+		Hotline = 0,
+
+		/// <summary>
+		/// 门户网站
+		/// </summary>
+		WebPortal = 2,
+
+		/// <summary>
+		/// APP
+		/// </summary>
+		APP = 3,
+
+		/// <summary>
+		/// 微信
+		/// </summary>
+		WeChat = 4,
+
+		/// <summary>
+		/// 热线平台导入工单
+		/// </summary>
+		HotlineImport = 1,
+
+		/// <summary>
+		/// 省平台直派
+		/// </summary>
+		ProvinceStraight = 100,
+
+		/// <summary>
+		/// 110同步工单
+		/// </summary>
+		Police110 = 200,
+
+		/// <summary>
+		/// 市州互转--泸州 
+		/// </summary>
+		CityDataExchangeLz = 300,
+
+		/// <summary>
+		/// 市州互转--宜宾
+		/// </summary>
+		CityDataExchangeYB = 301,
+
+		/// <summary>
+		/// 市州互转--自贡
+		/// </summary>
+		CityDataExchangeZG = 302,
+
+		/// <summary>
+		/// 市州互转--内江
+		/// </summary>
+		CityDataExchangeNJ = 303,
+
+		/// <summary>
+		/// 宜宾融媒体
+		/// </summary>
+		ConvergenceMedia = 400,
+
+		/// <summary>
+		/// i宜宾
+		/// </summary>
+		IYIBIN = 401,
+
+		/// <summary>
+		/// 智慧宜宾
+		/// </summary>
+		ZHYB = 402,
+
+		/// <summary>
+		/// 综治平台
+		/// </summary>
+		ZZPT = 403,
+
+		/// <summary>
+		/// 网络理政—市民中心大厅
+		/// </summary>
+		WLLZ = 404,
+
+		/// <summary>
+		/// 宜办事
+		/// </summary>
+		YBS = 405,
+
+		/// <summary>
+		/// 自贡观察
+		/// </summary>
+		ZGGC = 406,
+
+		/// <summary>
+		/// 天府通办
+		/// </summary>
+		ZGTFTB = 407,
+
+		#region 导入类型(>=500  <530为导入来源)
+		/// <summary>
+		/// 麻辣社区导入
+		/// </summary>
+		[Description("麻辣社区")]
+		MLSQ = 500,
+
+		/// <summary>
+		/// 人民网
+		/// </summary>
+		[Description("人民网")]
+		RMW = 501,
+
+		/// <summary>
+		/// 省长信箱
+		/// </summary>
+		[Description("省长信箱")]
+		SZXX = 502,
+
+		/// <summary>
+		/// 问政四川
+		/// </summary>
+		[Description("问政四川")]
+		WZSC = 529,
+		#endregion
+	}
+	public enum ERealCommunicationMode
+	{
+		[Description("电话")]
+		Phone = 0,
+		[Description("现场")]
+		Locale = 1,
+	}
+	public enum EFileUserType
+	{
+		/// <summary>
+		/// 坐席
+		/// </summary>
+		[Description("坐席")]
+		Seat = 1,
+
+		/// <summary>
+		/// 派单员
+		/// </summary>
+		[Description("派单员")]
+		Dispatch = 2,
+
+		/// <summary>
+		/// 部门
+		/// </summary>
+		[Description("部门")]
+		Org = 3,
+	}
+
+	public class Kv
+	{
+		public Kv()
+		{
+		}
+
+		public Kv(string key, string value)
+		{
+			Key = key;
+			Value = value;
+		}
+
+		public string Key { get; set; }
+		public string Value { get; set; }
+	}
+
+	#region Delay
+	public enum EDelayState
+	{
+		/// <summary>
+		/// 审批中
+		/// </summary>
+		[Description("审批中")]
+		Examining = 0,
+
+		/// <summary>
+		/// 通过
+		/// </summary>
+		[Description("通过")]
+		Pass = 1,
+
+		/// <summary>
+		/// 拒绝
+		/// </summary>
+		[Description("拒绝")]
+		NoPass = 2,
+
+		/// <summary>
+		/// 撤销
+		/// </summary>
+		[Description("撤销")]
+		Withdraw = 3,
+	}
+
+	public enum EDelayApplyType
+	{
+		[Description("本地审批")]
+		LocalApply = 0,
+
+		[Description("省审批")]
+		ProvinceApply = 1,
+	}
+	#endregion
+
+	#region Visit
+	public enum EVisitState
+	{
+		/// <summary>
+		/// 待回访
+		/// </summary>
+		[Description("待回访")]
+		WaitForVisit = 10,
+
+		/// <summary>
+		/// 回访中
+		/// </summary>
+		[Description("回访中")]
+		Visiting = 20,
+
+		/// <summary>
+		/// 短信回访中
+		/// 逻辑需求(Task_317) : 操作了短信回访的工单,在没有短信结果回复前,回访状态需从“待回访”更新为“短信回访中”
+		/// </summary>
+		[Description("短信回访中")]
+		SMSVisiting = 21,
+
+		/// <summary>
+		/// 智能回访中
+		/// </summary>
+		[Description("智能回访中")]
+		AiVisiting = 22,
+
+		/// <summary>
+		/// 已回访
+		/// </summary>
+		[Description("已回访")]
+		Visited = 30,
+
+		/// <summary>
+		/// 不满意待回访
+		/// </summary>
+		[Description("不满意待回访")]
+		NoSatisfiedWaitForVisit = 40,
+
+		/// <summary>
+		/// 短信不满意待回访
+		/// 逻辑需求(Task_317) : 若短信回访结果为不满意,回访状态需从“短信回访中”更新为“短信不满意待回访”
+		/// </summary>
+		[Description("短信不满意待回访")]
+		SMSUnsatisfied = 41,
+
+		/// <summary>
+		/// 失效
+		/// </summary>
+		[Description("失效")]
+		None = 50,
+	}
+
+	public enum EJudgeState
+	{
+		/// <summary>
+		/// 评判中
+		/// </summary>
+		[Description("评判中")]
+		Judging = 0,
+		/// <summary>
+		/// 已同意
+		/// </summary>
+		[Description("已同意")]
+		Agreed = 1,
+		/// <summary>
+		/// 不同意
+		/// </summary>
+		[Description("不同意")]
+		UnAgreed = 2,
+	}
+
+	public enum EVisitType
+	{
+		/// <summary>
+		/// 人工回访
+		/// </summary>
+		[Description("人工回访")]
+		ArtificialVisit = 10,
+
+		/// <summary>
+		/// 智能语音回访
+		/// </summary>
+		[Description("智能语音回访")]
+		ChipVoiceVisit = 20,
+
+		/// <summary>
+		/// 短信回访
+		/// </summary>
+		[Description("短信回访")]
+		SmsVisit = 30,
+
+		/// <summary>
+		/// 网站回访
+		/// </summary>
+		[Description("网站回访")]
+		WebVisit = 40,
+
+		/// <summary>
+		/// App回访
+		/// </summary>
+		[Description("App回访")]
+		AppVisit = 50,
+
+		/// <summary>
+		/// 微信回访
+		/// </summary>
+		[Description("微信回访")]
+		WeChatVisit = 60,
+
+		/// <summary>
+		/// 电话回访
+		/// </summary>
+		[Description("电话回访")]
+		CallVisit = 70,
+
+		/// <summary>
+		/// 其他
+		/// </summary>
+		[Description("其他")]
+		OtherVisit = 100,
+	}
+
+	public enum EAiVisitResult
+	{
+		/// <summary>
+		/// 部门办件不满意
+		/// </summary>
+		[Description("部门办件不满意")]
+		OrgProcessingResultsNoSatisfied = 1,
+	}
+
+	public enum EVoiceEvaluate
+	{
+		/// <summary>
+		/// 甄别为满意
+		/// </summary>
+		[Description("甄别为满意")]
+		ScreenSatisfied = -1,
+
+		/// <summary>
+		/// 非常不满意
+		/// </summary>
+		[Description("非常不满意")]
+		VeryNoSatisfied = 1,
+
+		/// <summary>
+		/// 不满意
+		/// </summary>
+		[Description("不满意")]
+		NoSatisfied = 2,
+
+		/// <summary>
+		/// 一般
+		/// </summary>
+		[Description("一般")]
+		Normal = 3,
+
+		/// <summary>
+		/// 满意
+		/// </summary>
+		[Description("满意")]
+		Satisfied = 4,
+
+		/// <summary>
+		/// 非常满意
+		/// </summary>
+		[Description("非常满意")]
+		VerySatisfied = 5,
+
+		/// <summary>
+		/// 未做评价
+		/// </summary>
+		[Description("未做评价")]
+		NoEvaluate = 7,
+
+		/// <summary>
+		/// 未接通
+		/// </summary>
+		[Description("未接通")]
+		BlockCall = 8,
+
+		/// <summary>
+		/// 默认满意
+		/// </summary>
+		[Description("默认满意")]
+		DefaultSatisfied = 9,
+	}
+
+	public enum EVisitTarget
+	{
+		/// <summary>
+		/// 话务员
+		/// </summary>
+		[Description("话务员")]
+		Seat = 10,
+
+		/// <summary>
+		/// 部门
+		/// </summary>
+		[Description("部门")]
+		Org = 20,
+	}
+
+	public enum EAgainState
+	{
+		/// <summary>
+		/// 不重办
+		/// </summary>
+		[Description("不重办")]
+		NoAgain = 0,
+
+		/// <summary>
+		/// 需要重办
+		/// </summary>
+		[Description("需要重办")]
+		NeedAgain = 10,
+
+		/// <summary>
+		/// 已重办
+		/// </summary>
+		[Description("已重办")]
+		DoAgain = 20,
+	}
+	#endregion
+
+	#region Screen
+	public enum EScreenStatus
+	{
+		/// <summary>
+		/// 待办
+		/// </summary>
+		[Description("待办")]
+		Apply = 0,
+
+		/// <summary>
+		/// 审批中
+		/// </summary>
+		[Description("甄别中")]
+		Approval = 1,
+
+		/// <summary>
+		/// 审批完成
+		/// </summary>
+		[Description("甄别同意")]
+		End = 2,
+
+		/// <summary>
+		/// 审批拒绝
+		/// </summary>
+		[Description("甄别不同意")]
+		Refuse = 3,
+
+		/// <summary>
+		/// 已办 只用作列表查询使用
+		/// </summary>
+		[Description("已办")]
+		MyHandle = 4,
+
+		/// <summary>
+		/// 退回
+		/// </summary>
+		[Description("甄别退回")]
+		SendBack = 5,
+	}
+
+	public enum EOrderScreenType
+	{
+		/// <summary>
+		/// 部门办件
+		/// </summary>
+		[Description("部门办件")]
+		Org = 0,
+
+		/// <summary>
+		/// 中心话务
+		/// </summary>
+		[Description("中心话务")]
+		Seat = 1,
+	}
+	#endregion
+
+	#region Step
+	/// <summary>
+	/// 节点状态
+	/// </summary>
+	public enum EWorkflowStepStatus
+	{
+		/// <summary>
+		/// 待受理
+		/// </summary>
+		[Description("待受理")]
+		WaitForAccept = 0,
+
+		/// <summary>
+		/// 待办理(已受理)
+		/// </summary>
+		[Description("待办理")]
+		WaitForHandle = 1,
+
+		/// <summary>
+		/// 已办理
+		/// </summary>
+		[Description("已办理")]
+		Handled = 2,
+
+		///// <summary>
+		///// 无需办理(或签流程未办理节点)
+		///// </summary>
+		//[Description("无需办理")]
+		//NoNeedInSingleCountersign = 3,
+
+		///// <summary>
+		///// 未办理,由结束会签结束掉
+		///// </summary>
+		//[Description("已办理")]
+		//Terminal = 3,
+	}
+
+	/// <summary>
+	/// 节点处于会签流程中的位置
+	/// </summary>
+	public enum ECountersignPosition
+	{
+		/// <summary>
+		/// 无会签(未处于会签流程中,外层也无会签嵌套)
+		/// </summary>
+		None = 0,
+
+		/// <summary>
+		/// 办理会签(上级节点直接开启会签)
+		/// </summary>
+		Direct = 1,
+
+		/// <summary>
+		/// 本身不直接处于会签流程中,但外层有会签流程嵌套(非上级节点开启会签,当前节点会签并未结束)
+		/// </summary>
+		Indirect = 2,
+
+		/// <summary>
+		/// 会签汇总节点
+		/// </summary>
+		End = 3,
+	}
+
+	/// <summary>
+	/// 办理方式
+	/// </summary>
+	public enum EHandleMode
+	{
+		/// <summary>
+		/// 正常办理
+		/// </summary>
+		[Description("正常")]
+		Normal = 0,
+
+		/// <summary>
+		/// 审核通过(审批流程特有)
+		/// </summary>
+		[Description("审核通过")]
+		Approved = 20,
+
+		/// <summary>
+		/// 审核不通过(审批流程特有)
+		/// </summary>
+		[Description("审核不通过")]
+		NotApproved = 21,
+
+		/// <summary>
+		/// 退回
+		/// </summary>
+		[Description("退回")]
+		Previous = 100,
+
+		/// <summary>
+		/// 特提
+		/// </summary>
+		[Description("特提")]
+		Recall = 200,
+
+		/// <summary>
+		/// 重办
+		/// </summary>
+		[Description("重办")]
+		Redo = 201,
+	}
+
+	public enum EReviewResult
+	{
+		/// <summary>
+		/// 未知
+		/// </summary>
+		[Description("未办理")]
+		Unknown = 0,
+
+		/// <summary>
+		/// 通过
+		/// </summary>
+		[Description("同意")]
+		Approval = 1,
+
+		/// <summary>
+		/// 审核失败
+		/// </summary>
+		[Description("不同意")]
+		Failed = 2,
+	}
+
+	public enum EStepType
+	{
+		/// <summary>
+		/// 普通节点
+		/// </summary>
+		[Description("普通节点")]
+		Normal = 0,
+
+		/// <summary>
+		/// 开始节点(发起人)
+		/// </summary>
+		[Description("开始节点")]
+		Start = 1,
+
+		/// <summary>
+		/// 结束节点
+		/// </summary>
+		[Description("结束节点")]
+		End = 2,
+
+		/// <summary>
+		/// 意见汇总节点
+		/// </summary>
+		[Description("意见汇总节点")]
+		Summary = 3,
+	}
+
+	public enum EBusinessType
+	{
+		/// <summary>
+		/// 坐席节点
+		/// </summary>
+		[Description("坐席节点")]
+		Seat = 0,
+
+		/// <summary>
+		/// 派单节点
+		/// </summary>
+		[Description("派单节点")]
+		Send = 1,
+
+		/// <summary>
+		/// 部门节点
+		/// </summary>
+		[Description("部门节点")]
+		Department = 2,
+
+		/// <summary>
+		/// 部门领导
+		/// </summary>
+		[Description("部门领导节点")]
+		DepartmentLeader = 3,
+
+		/// <summary>
+		/// 归档节点
+		/// </summary>
+		[Description("归档节点")]
+		File = 99,
+	}
+
+	public enum EHandlerType
+	{
+		/// <summary>
+		/// 角色
+		/// </summary>
+		[Description("角色")]
+		Role = 0,
+
+		/// <summary>
+		/// 部门级别
+		/// </summary>
+		[Description("部门级别")]
+		OrgLevel = 1,
+
+		/// <summary>
+		/// 部门类型
+		/// </summary>
+		[Description("部门类型")]
+		OrgType = 2,
+
+		/// <summary>
+		/// 指定用户
+		/// </summary>
+		[Description("指定用户")]
+		AssignedUser = 3,
+
+		/// <summary>
+		/// 指定部门
+		/// </summary>
+		[Description("指定部门")]
+		AssignedOrg = 4,
+
+		//   /// <summary>
+		//   /// 指定部门与角色
+		//   /// </summary>
+		//   [Description("指定部门与角色")]
+		//AssignedOrgOrRole = 5,
+	}
+
+	/// <summary>
+	/// 执行模式
+	/// </summary>
+	public enum EExecuteMode
+	{
+		[Description("人工审批")]
+		Manual = 0,
+
+		[Description("自动通过")]
+		AutoPass = 1,
+
+		[Description("自动拒绝")]
+		AutoReject = 2,
+	}
+
+	/// <summary>
+	/// 动态实例化策略
+	/// </summary>
+	public enum ECountersignPolicy
+	{
+		/// <summary>
+		/// 直属上级部门(中心作为顶级部门)
+		/// </summary>
+		[Description("直属上级(中心作为顶级部门)")]
+		OrgUpCenterTop = 0,
+
+		/// <summary>
+		/// 直属上级(中心作为一级部门)
+		/// </summary>
+		[Description("直属上级(中心作为一级部门)")]
+		OrgUp = 1,
+
+		/// <summary>
+		/// 直属下级部门(中心作为顶级部门)
+		/// </summary>
+		[Description("直属下级(中心作为顶级部门)")]
+		OrgDownCenterTop = 2,
+
+		/// <summary>
+		/// 直属下级(中心作为一级部门)
+		/// </summary>
+		[Description("直属下级(中心作为一级部门)")]
+		OrgDown = 3,
+		// /// <summary>
+		// /// 直属上级部门(中心作为顶级部门)经办人
+		// /// </summary>
+		// [Description("直属上级(中心作为顶级部门) 经办人")]
+		// OrgUpHandleCenterTop = 4,
+		//
+		// /// <summary>
+		// /// 直属上级(中心作为一级部门)
+		// /// </summary>
+		// [Description("直属上级(中心作为一级部门)经办人")]
+		// OrgUpHandle = 5,
+		//
+		// /// <summary>
+		// /// 直属上级部门(中心作为顶级部门) 经办人与领导
+		// /// </summary>
+		// [Description("直属上级(中心作为顶级部门)经办人与领导")]
+		// OrgUpLeadCenterTop = 6,
+		//
+		// /// <summary>
+		// /// 直属上级(中心作为一级部门)经办人与领导
+		// /// </summary>
+		// [Description("直属上级(中心作为一级部门)经办人与领导")]
+		// OrgUpLead = 7,
+		//
+		// /// <summary>
+		// /// 直达中心
+		// /// </summary>
+		// [Description("直达中心")]
+		// ArriveCenter = 8,
+		//
+		// /// <summary>
+		// /// 直达一级部门
+		// /// </summary>
+		// [Description("直达一级部门")]
+		// ArriveOneOrg = 9,
+	}
+
+	/// <summary>
+	/// 实例化模式(依据模板实例化step的模式)
+	/// </summary>
+	public enum EInstanceMode
+	{
+		[Description("依据配置")]
+		Config = 0,
+
+		[Description("依据操作人动态生成")]
+		Dynamic = 1
+	}
+
+	/// <summary>
+	/// 动态实例化策略
+	/// </summary>
+	public enum EDynamicPolicy
+	{
+		/// <summary>
+		/// 直属上级部门(中心作为顶级部门)
+		/// </summary>
+		[Description("直属上级(中心作为顶级部门)")]
+		OrgUpCenterTop = 0,
+
+		/// <summary>
+		/// 直属上级(中心作为一级部门)
+		/// </summary>
+		[Description("直属上级(中心作为一级部门)")]
+		OrgUp = 1,
+
+		/// <summary>
+		/// 直属下级部门(中心作为顶级部门)
+		/// </summary>
+		[Description("直属下级(中心作为顶级部门)")]
+		OrgDownCenterTop = 2,
+
+		/// <summary>
+		/// 直属下级(中心作为一级部门)
+		/// </summary>
+		[Description("直属下级(中心作为一级部门)")]
+		OrgDown = 3,
+
+		/// <summary>
+		/// 直属上级部门(中心作为顶级部门)经办人
+		/// </summary>
+		[Description("直属上级(中心作为顶级部门) 经办人")]
+		OrgUpHandleCenterTop = 4,
+
+		/// <summary>
+		/// 直属上级(中心作为一级部门)
+		/// </summary>
+		[Description("直属上级(中心作为一级部门)经办人")]
+		OrgUpHandle = 5,
+
+		/// <summary>
+		/// 直属上级部门(中心作为顶级部门) 经办人与领导
+		/// </summary>
+		[Description("直属上级(中心作为顶级部门)经办人与领导")]
+		OrgUpLeadCenterTop = 6,
+
+		/// <summary>
+		/// 直属上级(中心作为一级部门)经办人与领导
+		/// </summary>
+		[Description("直属上级(中心作为一级部门)经办人与领导")]
+		OrgUpLead = 7,
+
+		/// <summary>
+		/// 直达中心
+		/// </summary>
+		[Description("直达中心")]
+		ArriveCenter = 8,
+
+		/// <summary>
+		/// 直达一级部门
+		/// </summary>
+		[Description("直达一级部门")]
+		ArriveOneOrg = 9,
+	}
+
+	public enum EFlowDirection
+	{
+		CenterToOrg = 0,
+
+		OrgToCenter = 1,
+
+		CenterToCenter = 2,
+
+		OrgToOrg = 3,
+
+		CenterToFile = 4,
+
+		OrgToFile = 5,
+
+		/// <summary>
+		/// 已归档回到中心
+		/// </summary>
+		FiledToCenter = 6,
+
+		/// <summary>
+		/// 已归档回到部门
+		/// </summary>
+		FiledToOrg = 7
+	}
+
+	public enum EWorkflowTraceType
+	{
+		///// <summary>
+		///// 流程开始
+		///// </summary>
+		//[Description("流程开始")]
+		//Start = 0,
+
+		/// <summary>
+		/// 正常流转
+		/// </summary>
+		[Description("正常流转")]
+		Normal = 1,
+
+		/// <summary>
+		/// 特提
+		/// </summary>
+		[Description("特提")]
+		Recall = 2,
+
+		/// <summary>
+		/// 退回
+		/// </summary>
+		[Description("退回")]
+		Previous = 3,
+
+		/// <summary>
+		/// 跳转
+		/// </summary>
+		[Description("跳转")]
+		Jump = 4,
+
+		/// <summary>
+		/// 撤销(发起人操作)
+		/// </summary>
+		[Description("撤销")]
+		Cancel = 5,
+
+		/// <summary>
+		/// 重办
+		/// </summary>
+		[Description("重办")]
+		Redo = 6,
+
+		/// <summary>
+		/// 二次办理
+		/// </summary>
+		[Description("二次办理")]
+		SecondHandle = 7,
+	}
+
+	/// <summary>
+	/// 快照对应节点状态
+	/// </summary>
+	public enum EWorkflowTraceState
+	{
+		/// <summary>
+		/// 正常办理
+		/// </summary>
+		Normal = 0,
+
+		/// <summary>
+		/// 对应节点因退回被删除
+		/// </summary>
+		StepRemoveByPrevious = 10,
+
+		/// <summary>
+		/// 对应节点因特提被删除(工单未归档)
+		/// </summary>
+		StepRemoveByRecall = 20,
+
+		/// <summary>
+		/// 对应节点因特提被删除(工单已归档)
+		/// </summary>
+		StepRemoveByRecallWhenFiled = 21,
+	}
+
+	/// <summary>
+	/// 流程节点类型
+	/// </summary>
+	public enum ETraceStyle
+	{
+		/// <summary>
+		/// 流程节点
+		/// </summary>
+		Flow = 0,
+
+		/// <summary>
+		/// 发布
+		/// </summary>
+		Publish = 1,
+
+		/// <summary>
+		/// 回访
+		/// </summary>
+		Visit = 2,
+
+		/// <summary>
+		/// 结束(为了与老系统保持一致,额外添加在回访后的节点)
+		/// </summary>
+		TrashEnd = 9,
+	}
+	#endregion
+
+}