private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { //上传销售数据 var selectDate = this.dtpDate.Value; AppContext.Log.Info("开始手动上传{0}数据", selectDate.ToString()); var orders = _saleService.QueryUploadSaleOrders(selectDate); if (orders.Count == 0) { MessageBox.Show("今天暂时没有可上传的销售数据", "系统信息", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } //班次数据 var works = _workScheduleService.GetWorkList(selectDate, ContextService.StoreId, ContextService.PosId); try { int totalTasks = orders.Count + works.Count + 1; //上传销售数据 for (var i = 0; i < orders.Count; i++) { var model = orders[i]; Thread.Sleep(5); _syncService.Send(model); int persent = (int)Math.Round((decimal)(i + 1) / totalTasks * 100, 0); this.backgroundWorker1.ReportProgress(persent); } //上传班次数据 for (var j = 0; j < works.Count; j++) { var workModel = works[j]; _syncService.Send(workModel); int persent = (int)Math.Round((decimal)(orders.Count + 1) / totalTasks * 100, 0); this.backgroundWorker1.ReportProgress(persent); } //上传汇总数据,报告最后一个任务 _syncService.UploadSaleSync(this.dtpDate.Value); // int LastPersent = (int)Math.Round((decimal)(totalTasks) / totalTasks * 100, 0); this.backgroundWorker1.ReportProgress(100); AppContext.Log.Info("结束手动上传{0}数据", selectDate.ToString()); } catch (Exception ex) { AppContext.Log.Error(ex); } }