/// <summary> /// 获取最终的节点ID /// </summary> /// <param name="model">连线条件字典集合</param> /// <returns></returns> public async Task <Guid?> GetFinalNodeId(string sysname, FlowLineFinalNodeDto model) { string url = string.Format(_appSettings.Value.MsApplication.url + _appSettings.Value.WorkFlow.GetFinalNodeId, sysname); var content = new StringContent(model.ToJson(), System.Text.Encoding.UTF8, "application/json"); var response = await _apiClient.PostAsync(url, content); response.EnsureSuccessStatusCode(); string res = await response.Content.ReadAsStringAsync(); Guid?finalnodeid = JsonConvert.DeserializeObject <Guid?>(res); return(finalnodeid); }
/// <summary> /// 获取最终的节点ID /// </summary> /// <param name="data">连线条件字典集合</param> /// <returns></returns> public async Task <Guid?> GetFinalNodeId(FlowLineFinalNodeDto model) { Guid?finalid = null; foreach (var item in model.Data) { var dbflowsql = await databaseFixture.Db.OaWorkflowsql.FindByIdAsync(item.Value); string mysql = dbflowsql.FlowSQL; var dbparamnames = dbflowsql.Param.Split(','); DynamicParameters dbArgs = new DynamicParameters(); foreach (string param in dbparamnames) { if (param.ToLower().Equals("userid", StringComparison.OrdinalIgnoreCase))//当前用户ID特殊处理 { dbArgs.Add(param, model.UserId); } else { foreach (var key in model.Param.Keys) { if (key.ToLower() == param.ToLower()) { dbArgs.Add(param, model.Param[key]); break; } } } } var res = await databaseFixture.Db.Connection.QueryAsync <int>(mysql, dbArgs); if (res != null && res.Any()) { finalid = item.Key; break; } } return(finalid); }
public async Task <Guid?> GetFinalNodeId([FromBody] FlowLineFinalNodeDto model) { return(await flowService.GetFinalNodeId(model)); }