1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 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<FJDevAlarmInfo> _fjDevAlarmInfoRepository;
- public FJDevAlarmInfoService(Repository<FJDevAlarmInfo> fjDevAlarmInfoRepository)
- {
- _fjDevAlarmInfoRepository = fjDevAlarmInfoRepository;
- }
- public List<FJDevAlarmInfo> GetPageList()
- {
- var sdsd = _fjDevAlarmInfoRepository.Queryable().Where (o=>o.code=="RGV2").OrderBy(o=>o.starttime).ToList();
- return sdsd;
- }
- public void alarmTest()
- {
- var sss = GetPageList();
- List<FJDevAlarmInfo> newlists = new List<FJDevAlarmInfo>();
- 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 };
- }
- }
- }
|