using Yw; namespace IStation.Test.Init { public class DayValueHelper { private static readonly string folderPath1 = $"{Settings.ParasHelper.LocalFile.DataFolderDirectory}\\Eapnet验证数据\\陈行一输"; private static readonly string folderPath2 = $"{Settings.ParasHelper.LocalFile.DataFolderDirectory}\\Eapnet验证数据\\陈行二输"; public static List GetDayValues() { var fileList = new List(); var fileList1 = Directory.GetFiles(folderPath1); var fileList2 = Directory.GetFiles(folderPath2); fileList.AddRange(fileList1); fileList.AddRange(fileList2); var timeVlaueList=new List(); foreach (var file in fileList) { var fileName = Path.GetFileNameWithoutExtension(file); if (!DateTime.TryParse(fileName, out DateTime day)) continue; var json = File.ReadAllText(file); var timeValues = JsonHelper.Json2Object>(json); if (timeValues == null || !timeValues.Any()) continue; timeVlaueList.AddRange(timeValues); } if (timeVlaueList == null || !timeVlaueList.Any()) return default; var dayValues = new List(); var timeVlaueDayGroups = timeVlaueList.GroupBy(x =>new { x.Time.Year,x.Time.Month,x.Time.Day}); foreach (var day in timeVlaueDayGroups) { var timeValueList = new List(); var timeVlaueGroup=day.GroupBy(x=>x.Time.ToOADate()); foreach (var tvItem in timeVlaueGroup) { var t = DateTime.FromOADate(tvItem.Key); var value = new Dictionary(); foreach (var tv in tvItem) { foreach (var v in tv.Value) { value.Add(v.Key, v.Value); } } var timeValue = new TimeValue(); timeValue.Time = t; timeValue.Value = value; timeValueList.Add(timeValue); } var dv = new DayValue(); dv.Year = day.Key.Year; dv.Month = day.Key.Month; dv.Day = day.Key.Day; dv.TimeValueList = timeValueList; dayValues.Add(dv); } return dayValues?.OrderBy(x=>x.Month).ThenBy(x=>x.Day).ToList(); } public static DayValue GetDayValue(DateTime time) { var fileList = new List(); var fileList1 = Directory.GetFiles(folderPath1); var fileList2 = Directory.GetFiles(folderPath2); fileList.AddRange(fileList1); fileList.AddRange(fileList2); var time_value_list = new List(); var findFileNmae = time.ToString(""); foreach (var file in fileList) { var fileName = Path.GetFileNameWithoutExtension(file); if (!DateTime.TryParse(fileName, out DateTime file_dt)) continue; if (file_dt.Year != time.Year || file_dt.Month != time.Month || file_dt.Day != time.Day) continue; var json = File.ReadAllText(file); var timeValues = JsonHelper.Json2Object>(json); if (timeValues == null || !timeValues.Any()) continue; time_value_list.AddRange(timeValues); } if (time_value_list == null || !time_value_list.Any()) return default; var dayValue = new DayValue(); var timeVlaueDayGroups = time_value_list.GroupBy(x => new { x.Time.Year, x.Time.Month, x.Time.Day }); var timeValueList = new List(); var timeVlaueGroup = time_value_list.GroupBy(x => x.Time.ToOADate()); foreach (var tvItem in timeVlaueGroup) { var t = DateTime.FromOADate(tvItem.Key); var value = new Dictionary(); foreach (var tv in tvItem) { foreach (var v in tv.Value) { value.Add(v.Key, v.Value); } } var timeValue = new TimeValue(); timeValue.Time = t; timeValue.Value = value; timeValueList.Add(timeValue); } dayValue.Year = time.Year; dayValue.Month = time.Month; dayValue.Day = time.Day; dayValue.TimeValueList = timeValueList; return dayValue; } } }