using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WMS.BZModels.Models.FJQuestDB; using WMS.BZSqlSugar; namespace WMS.BZServices.FJ.FJQuestDB { public class FJDevAlarmInfoService { private readonly Repository _fjDevAlarmInfoRepository; public FJDevAlarmInfoService(Repository fjDevAlarmInfoRepository) { _fjDevAlarmInfoRepository = fjDevAlarmInfoRepository; } public List GetPageList() { var sdsd = _fjDevAlarmInfoRepository.Queryable().Where (o=>o.code=="RGV2").OrderBy(o=>o.starttime).ToList(); return sdsd; } public void alarmTest() { var sss = GetPageList(); List newlists = new List(); foreach (var item in sss) { //if (item.isSkip == 1) continue; var endtime = item.endtime; var startlist = sss.Where(o => o.code == item.code && o.starttime == item.starttime && o.endtime != item.endtime).OrderByDescending(o => o.endtime).ToList(); if (startlist != null && startlist.Any()) { item.endtime = startlist[0].endtime; item.duration = startlist[0].duration; //startlist.ForEach(o => o.isSkip = 1); } var list = sss.Where(o => o.code == item.code && o.starttime == endtime).OrderByDescending(o => o.endtime).ToList(); if (list != null && list.Any()) { if (list[0].endtime > item.endtime) { item.endtime = list[0].endtime; item.duration = list[0].duration; } list.ForEach(o => o.isSkip = 1); } if (!newlists.Any(o => (o.starttime <= item.starttime && item.starttime <= o.endtime) && o.endtime >= item.endtime && o.code == item.code)) newlists.Add(item); } var sd = newlists.Where(o => o.isSkip == 0).ToList(); var group = sss.GroupBy(p => p, p => new { p.code, p.starttime, p.endtime }).ToList(); var ssslistsss = from p in sd group p by new { p.code, p.starttime, p.endtime } into g select new { g.Key, g }; } } }