public ActionResult ClearDataAll(string clientKey, string kpiArray) { try { var list = new List <KPI_EXCUTE_VIEWMODEL>(); foreach (var item in kpiArray?.Trim('|').Split('|')) { var id = int.Parse(item.ToString()); var kpi = _kpiService.Get(r => r.SD_EKPI_ID == id); if (kpi.VALUE_TABLE_ID == 1) { list.Add(new KPI_EXCUTE_VIEWMODEL() { primaryKey = item.ToString(), KPI_NAME = kpi.SD_EKPI_NAME, clientKey = clientKey }); } } Task.Factory.StartNew(() => { double index = 0; list.ForEach(r => { index += 1; var percent = Math.Round(index * 100 / list.Count, 2); _procStateService.KPIDoClear(ProjectProvider.Instance.Current.SD_ID, r.primaryKey); var result = _kpiService.Clear(r.primaryKey); _procLogService.Insert(new PDP_PROC_LOG() { PROC_CONTENT_ID = r.primaryKey, SD_ID = ProjectProvider.Instance.Current.SD_ID, PROC_CAT_CODE = "3", PROC_STAT_CODE = 3, }); ProcessHub.GetInstance().Send(clientKey, $"{percent}%", "批量清库", $"评价指标:{r.KPI_NAME} 清库成功,共清除 {result}条!!!", ""); }); }); return(View("Progress"));; } catch (Exception e) { return(Error(e.Message)); } }