public void Initialize(StoreStatistics lastStats, ulong lastCommitId, Action statsUpdateAction) { if (lastStats == null) { _jobCounter = 0; _lastStatsUpdateTime = DateTime.UtcNow; } else { _jobCounter = (int)(lastCommitId - lastStats.CommitNumber); _lastStatsUpdateTime = lastStats.CommitTime; } _statsUpdateAction = statsUpdateAction; }
private void btnStoreReportStatistics_Click(object sender, EventArgs e) { DateTime startTime = dtpStartTime.Value.Date; DateTime endTime = dtpEndTime.Value.Date.AddDays(1); Dictionary <string, List <DoctorStatistics> > dictionary = _importFileService.GetStoreDoctorDetialDic(startTime, endTime); List <StoreStatistics> storeStatisticsList = new List <StoreStatistics>(); dgvStatistics.Rows.Clear(); foreach (var item in dictionary) { string storeName = item.Key; List <DoctorStatistics> doctorStatisticsList = dictionary[item.Key]; foreach (var doctorStatistics in doctorStatisticsList) { StoreStatistics storeStatistics = new StoreStatistics(); storeStatistics.StoreName = storeName; storeStatistics.DoctorName = doctorStatistics.DoctorName; storeStatistics.CTAuditCount = doctorStatistics.CTAuditCount; storeStatistics.CTDiagnosisCount = doctorStatistics.CTDiagnosisCount; storeStatistics.CTCount = doctorStatistics.CTCount; storeStatistics.DRAuditCount = doctorStatistics.DRAuditCount; storeStatistics.DRDiagnosisCount = doctorStatistics.DRDiagnosisCount; storeStatistics.DRCount = doctorStatistics.DRCount; storeStatistics.MRAuditCount = doctorStatistics.MRAuditCount; storeStatistics.MRDiagnosisCount = doctorStatistics.MRDiagnosisCount; storeStatistics.MRCount = doctorStatistics.MRCount; storeStatisticsList.Add(storeStatistics); dgvStatistics.Rows.Add(storeStatistics.StoreName, storeStatistics.DoctorName, storeStatistics.CTDiagnosisCount, storeStatistics.CTAuditCount, storeStatistics.CTCount, storeStatistics.MRDiagnosisCount, storeStatistics.MRAuditCount, storeStatistics.MRCount, storeStatistics.DRDiagnosisCount, storeStatistics.DRAuditCount, storeStatistics.DRCount); } } MessageBox.Show("按照门店生成报表成功!"); }
private void btnRadiationDoctorReport_Click(object sender, EventArgs e) { DateTime startTime = dtpRadiationDoctorStartTime.Value.Date; DateTime endTime = dtpRadiationDoctorEndTime.Value.Date.AddDays(1); Dictionary <string, List <DoctorStatistics> > dictionary = _importFileService.GetStoreDoctorDetialDic(startTime, endTime); List <DoctorStatistics> doctorStatisticsList = new List <DoctorStatistics>(); dgvRadiationStoreDoctorPrice.Rows.Clear(); dgvRadiationDoctorPrice.Rows.Clear(); foreach (var item in dictionary) { string storeName = item.Key; List <DoctorStatistics> storeDoctorStatisticsList = dictionary[item.Key]; foreach (var doctorStatistics in storeDoctorStatisticsList) { StoreStatistics storeStatistics = new StoreStatistics(); storeStatistics.StoreName = storeName; storeStatistics.DoctorName = doctorStatistics.DoctorName; storeStatistics.CTAuditCount = doctorStatistics.CTAuditCount; storeStatistics.CTDiagnosisCount = doctorStatistics.CTDiagnosisCount; storeStatistics.CTCount = doctorStatistics.CTCount; storeStatistics.DRAuditCount = doctorStatistics.DRAuditCount; storeStatistics.DRDiagnosisCount = doctorStatistics.DRDiagnosisCount; storeStatistics.DRCount = doctorStatistics.DRCount; storeStatistics.MRAuditCount = doctorStatistics.MRAuditCount; storeStatistics.MRDiagnosisCount = doctorStatistics.MRDiagnosisCount; storeStatistics.MRCount = doctorStatistics.MRCount; string priceStr = "没有找到此医生对应的放射价格."; DoctorPriceDetial doctorPriceDetial = _importFileService.GetDoctorPriceDetial(storeStatistics.DoctorName); if (doctorPriceDetial != null) { string CTDiagnosisPriceStr = doctorPriceDetial.CTDiagnosisPrice; if (string.IsNullOrEmpty(CTDiagnosisPriceStr)) { CTDiagnosisPriceStr = "0"; } string CTAuditPriceStr = doctorPriceDetial.CTAuditPrice; if (string.IsNullOrEmpty(CTAuditPriceStr)) { CTAuditPriceStr = "0"; } string MRDiagnosisPriceStr = doctorPriceDetial.MRDiagnosisPrice; if (string.IsNullOrEmpty(MRDiagnosisPriceStr)) { MRDiagnosisPriceStr = "0"; } string MRAuditPriceStr = doctorPriceDetial.MRAuditPrice; if (string.IsNullOrEmpty(MRAuditPriceStr)) { MRAuditPriceStr = "0"; } string DRDiagnosisPriceStr = doctorPriceDetial.DRDiagnosisPrice; if (string.IsNullOrEmpty(DRDiagnosisPriceStr)) { DRDiagnosisPriceStr = "0"; } decimal CTDiagnosisPrice = storeStatistics.CTDiagnosisCount * Convert.ToDecimal(CTDiagnosisPriceStr); decimal CTAuditPrice = storeStatistics.CTAuditCount * Convert.ToDecimal(CTAuditPriceStr); decimal MRDiagnosisPrice = storeStatistics.MRDiagnosisCount * Convert.ToDecimal(MRDiagnosisPriceStr); decimal MRAuditPrice = storeStatistics.MRAuditCount * Convert.ToDecimal(MRAuditPriceStr); decimal DRDiagnosisPrice = storeStatistics.DRDiagnosisCount * Convert.ToDecimal(DRDiagnosisPriceStr); //decimal DRAuditPrice = storeStatistics.DRAuditCount * Convert.ToDecimal(doctorPriceDetial.DR); //TODO::这个暂时没有 doctorStatistics.Price = CTDiagnosisPrice + CTAuditPrice + MRDiagnosisPrice + MRAuditPrice + DRDiagnosisPrice; storeStatistics.Price = doctorStatistics.Price; doctorStatistics.IsContainPrice = true; storeStatistics.IsContainPrice = true; priceStr = storeStatistics.Price.ToString(); } var findDoctorStatistics = doctorStatisticsList.Find(d => d.DoctorName.Equals(doctorStatistics.DoctorName)); if (findDoctorStatistics != null) //找到了此医生 { findDoctorStatistics.CTDiagnosisCount += doctorStatistics.CTDiagnosisCount; findDoctorStatistics.CTAuditCount += doctorStatistics.CTAuditCount; findDoctorStatistics.DRDiagnosisCount += doctorStatistics.DRDiagnosisCount; findDoctorStatistics.DRAuditCount += doctorStatistics.DRAuditCount; findDoctorStatistics.MRDiagnosisCount += doctorStatistics.MRDiagnosisCount; findDoctorStatistics.MRAuditCount += doctorStatistics.MRAuditCount; findDoctorStatistics.IsContainPrice = doctorStatistics.IsContainPrice; findDoctorStatistics.Price += doctorStatistics.Price; } else //没有找到此医生 { DoctorStatistics currentDoctorStatistics = new DoctorStatistics(); currentDoctorStatistics.DoctorName = doctorStatistics.DoctorName; currentDoctorStatistics.CTDiagnosisCount = doctorStatistics.CTDiagnosisCount; currentDoctorStatistics.CTAuditCount = doctorStatistics.CTAuditCount; currentDoctorStatistics.DRDiagnosisCount = doctorStatistics.DRDiagnosisCount; currentDoctorStatistics.DRAuditCount = doctorStatistics.DRAuditCount; currentDoctorStatistics.MRDiagnosisCount = doctorStatistics.MRDiagnosisCount; currentDoctorStatistics.MRAuditCount = doctorStatistics.MRAuditCount; currentDoctorStatistics.IsContainPrice = doctorStatistics.IsContainPrice; currentDoctorStatistics.Price = doctorStatistics.Price; doctorStatisticsList.Add(currentDoctorStatistics); } dgvRadiationStoreDoctorPrice.Rows.Add(storeStatistics.StoreName, storeStatistics.DoctorName, storeStatistics.CTDiagnosisCount, storeStatistics.CTAuditCount, storeStatistics.MRDiagnosisCount, storeStatistics.MRAuditCount, storeStatistics.DRDiagnosisCount, priceStr, string.Empty); } } foreach (var item in doctorStatisticsList) { dgvRadiationDoctorPrice.Rows.Add(item.DoctorName, item.CTDiagnosisCount, item.MRDiagnosisCount, item.CTAuditCount, item.MRAuditCount, item.IsContainPrice ? item.Price.ToString() : "没有找到此医生对应的放射价格."); } MessageBox.Show("生成报表成功!"); }
public Functions(Partition partition, StoreStatistics stats) { this.partition = partition; this.stats = stats; }
public Serializer(StoreStatistics storeStats) { this.storeStats = storeStats; }