//按对象 按功能分 private void DoRealStatistics(DateTime AStarttime, DateTime AStoptime, ObjectInfo AObjectInfo, EnumSliceType ASliceType, int AIntOrderId = -1) { List <DateTimeSplite> LListDateTimeSplite; foreach (int item in Enum.GetValues(typeof(EnumRecordFunction))) { IDataFirstStatisticsSlice = new DataFirstStatisticsSlice(); InitDataStatistics(ASliceType, item, AObjectInfo, AStarttime); //得到统计的值 LListDateTimeSplite = new List <DateTimeSplite>(); switch (ASliceType) { case EnumSliceType.MiniteSlice: { if (IGlobalSetting.IlogicPartMark == 1) //按月分区了 { GetSpliteTime(AStarttime, AStoptime, ref LListDateTimeSplite); foreach (DateTimeSplite dsplite in LListDateTimeSplite) { IDataFirstStatisticsSlice.Value01 += DALRecordInfo.GetAllRecordStatisticsInfo(IDataBaseConfig, AObjectInfo, IGlobalSetting, dsplite.StartStatisticsTime, dsplite.StopStatisticsTime, item); } } else { IDataFirstStatisticsSlice.Value01 = DALRecordInfo.GetAllRecordStatisticsInfo(IDataBaseConfig, AObjectInfo, IGlobalSetting, AStarttime, AStoptime, item); } } break; case EnumSliceType.DaySlice: { IDataFirstStatisticsSlice.Value01 = DALFirstStatisticsRecord.GetDayRecordStatistics(IDataBaseConfig, AObjectInfo, IGlobalSetting, LongParse(AStarttime.ToString("yyyyMMdd000000"), 0), LongParse(AStoptime.ToString("yyyyMMdd000000"), 0), item, IDataFirstStatisticsSlice.ObjectType); } break; case EnumSliceType.WeekSlice: { IDataFirstStatisticsSlice.Value01 = DALFirstStatisticsRecord.GetWeekRecordStatistics(IDataBaseConfig, AObjectInfo, IGlobalSetting, LongParse(AStarttime.ToString("yyyyMMdd000000"), 0), LongParse(AStoptime.ToString("yyyyMMdd000000"), 0), item, IDataFirstStatisticsSlice.ObjectType); } break; case EnumSliceType.MonthSlice: { IDataFirstStatisticsSlice.Value01 = DALFirstStatisticsRecord.GetMonthRecordStatistics(IDataBaseConfig, AObjectInfo, IGlobalSetting, LongParse(AStarttime.ToString("yyyyMMdd000000"), 0), LongParse(AStoptime.ToString("yyyyMMdd000000"), 0), item, IDataFirstStatisticsSlice.ObjectType); } break; case EnumSliceType.YearSlice: { IDataFirstStatisticsSlice.Value01 = DALFirstStatisticsRecord.GetYearRecordStatistics(IDataBaseConfig, AObjectInfo, IGlobalSetting, LongParse(AStarttime.ToString("yyyyMMdd000000"), 0), LongParse(AStoptime.ToString("yyyyMMdd000000"), 0), item, IDataFirstStatisticsSlice.ObjectType); } break; default: break; } //将数据写入数据库 switch (ASliceType) { case EnumSliceType.MiniteSlice: { IDataFirstStatisticsSlice.OrderID = AIntOrderId; DALFirstStatisticsRecord.InsertRecordStatistics(IDataBaseConfig, IGlobalSetting, 1, IDataFirstStatisticsSlice); } break; case EnumSliceType.DaySlice: DALFirstStatisticsRecord.InsertRecordStatistics(IDataBaseConfig, IGlobalSetting, 2, IDataFirstStatisticsSlice); break; case EnumSliceType.WeekSlice: DALFirstStatisticsRecord.InsertRecordStatistics(IDataBaseConfig, IGlobalSetting, 3, IDataFirstStatisticsSlice); break; case EnumSliceType.MonthSlice: DALFirstStatisticsRecord.InsertRecordStatistics(IDataBaseConfig, IGlobalSetting, 4, IDataFirstStatisticsSlice); break; case EnumSliceType.YearSlice: DALFirstStatisticsRecord.InsertRecordStatistics(IDataBaseConfig, IGlobalSetting, 5, IDataFirstStatisticsSlice); break; default: break; } } }