/// <summary> /// 创建协同审批数据 /// </summary> /// <param name="dic">审批表单对象数据</param> /// <param name="requestName">申请名称</param> /// <param name="creatorId">协同申请人 ID</param> /// <param name="xtWorkFlowCode">协同工作流编码</param> /// <returns></returns> private static WorkflowRequestInfo CreateWorkFlowRequestInfo(Dictionary <string, object> dic, string requestName, string creatorId, XtWorkFlowCode xtWorkFlowCode) { string workFlowId = ((int)xtWorkFlowCode).ToString(); if (string.IsNullOrWhiteSpace(workFlowId)) { throw new Exception("未配置相关审批流程!"); } List <WorkflowDetailTableInfo> detailTableInfos = new List <WorkflowDetailTableInfo>(); WorkflowRequestInfo data = new WorkflowRequestInfo() { requestName = requestName + DateTime.Now.ToString(), creatorId = creatorId, requestLevel = "0", // 0 正常, 1 重要, 2 紧急 workflowMainTableInfo = new WorkflowMainTableInfo() { requestRecords = new WorkflowRequestTableRecord[] { GetRequestTableRecord(dic, detailTableInfos) } }, workflowDetailTableInfos = detailTableInfos.ToArray(), workflowBaseInfo = new WorkflowBaseInfo() { workflowId = workFlowId } }; return(data); }
/// <summary> /// 发起协同审批申请,并获取协同申请返回的申请流程 ID /// </summary> /// <typeparam name="T">审批对象类型</typeparam> /// <param name="model">审批对象实体</param> /// <param name="requestName">申请名称</param> /// <param name="creatorId">协同申请人 ID</param> /// <param name="xtWorkFlowCode">协同工作流编码</param> /// <returns></returns> public static string GetFlowId <T>(T model, string requestName, string creatorId, XtWorkFlowCode xtWorkFlowCode) where T : class { Dictionary <string, object> dic = GetProperties(model); WorkflowRequestInfo data = CreateWorkFlowRequestInfo(dic, requestName, creatorId, xtWorkFlowCode); return(GetFlowId(data, Convert.ToInt32(creatorId))); }