FJDevAlarmInfoService.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using SqlSugar;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using WMS.BZModels.Models.FJQuestDB;
  8. using WMS.BZSqlSugar;
  9. namespace WMS.BZServices.FJ.FJQuestDB
  10. {
  11. public class FJDevAlarmInfoService
  12. {
  13. private readonly Repository<FJDevAlarmInfo> _fjDevAlarmInfoRepository;
  14. public FJDevAlarmInfoService(Repository<FJDevAlarmInfo> fjDevAlarmInfoRepository)
  15. {
  16. _fjDevAlarmInfoRepository = fjDevAlarmInfoRepository;
  17. }
  18. public List<FJDevAlarmInfo> GetPageList()
  19. {
  20. var sdsd = _fjDevAlarmInfoRepository.Queryable().Where (o=>o.code=="RGV2").OrderBy(o=>o.starttime).ToList();
  21. return sdsd;
  22. }
  23. public void alarmTest()
  24. {
  25. var sss = GetPageList();
  26. List<FJDevAlarmInfo> newlists = new List<FJDevAlarmInfo>();
  27. foreach (var item in sss)
  28. {
  29. //if (item.isSkip == 1) continue;
  30. var endtime = item.endtime;
  31. var startlist = sss.Where(o => o.code == item.code && o.starttime == item.starttime && o.endtime != item.endtime).OrderByDescending(o => o.endtime).ToList();
  32. if (startlist != null && startlist.Any())
  33. {
  34. item.endtime = startlist[0].endtime;
  35. item.duration = startlist[0].duration;
  36. //startlist.ForEach(o => o.isSkip = 1);
  37. }
  38. var list = sss.Where(o => o.code == item.code && o.starttime == endtime).OrderByDescending(o => o.endtime).ToList();
  39. if (list != null && list.Any())
  40. {
  41. if (list[0].endtime > item.endtime)
  42. {
  43. item.endtime = list[0].endtime;
  44. item.duration = list[0].duration;
  45. }
  46. list.ForEach(o => o.isSkip = 1);
  47. }
  48. if (!newlists.Any(o => (o.starttime <= item.starttime && item.starttime <= o.endtime) && o.endtime >= item.endtime && o.code == item.code))
  49. newlists.Add(item);
  50. }
  51. var sd = newlists.Where(o => o.isSkip == 0).ToList();
  52. var group = sss.GroupBy(p => p, p => new { p.code, p.starttime, p.endtime }).ToList();
  53. var ssslistsss = from p in sd group p by new { p.code, p.starttime, p.endtime } into g select new { g.Key, g };
  54. }
  55. }
  56. }