FILOStrategyService.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using wms.dto.response.hj;
  2. using wms.service.IService;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. namespace wms.service.Service
  8. {
  9. public class FILOStrategyService: IWorkStrategyService
  10. {
  11. public List<LocationForStrategyInfo> Filter(List<LocationForStrategyInfo> listLocation)
  12. {
  13. if (listLocation == null || !listLocation.Any())
  14. {
  15. return listLocation;
  16. }
  17. List<LocationForStrategyInfo> list = null;
  18. if (_isContainer)
  19. {
  20. list = listLocation.OrderByDescending(p => p.StockList.Select(q => q.LastInTime)).ToList();
  21. }
  22. else
  23. {
  24. list = listLocation.OrderByDescending(p => p.StockList.Select(q => q.InTime)).ToList();
  25. }
  26. if (_days > 0)
  27. {
  28. //根据天数进行处理结果集
  29. }
  30. return list;
  31. }
  32. private int _days { get; set; }
  33. private bool _isContainer { get; set; }
  34. private FILOStrategyService() { }
  35. /// <summary>
  36. /// 几天认为是一个同等时间点
  37. /// </summary>
  38. /// <param name="days"></param>
  39. public FILOStrategyService(int days,bool isContainer)
  40. {
  41. _days = days;
  42. _isContainer = isContainer;
  43. }
  44. }
  45. }