123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406 |
- 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; set; }
- /// <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; }
- /// <summary>
- /// 老系统Id
- /// </summary>
- //[SugarColumn(ColumnDescription = "老系统Id")]
- public string? OldStepId { get; set; }
- }
- }
|