LayerPackingResult.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. using System.Collections.Generic;
  2. using System;
  3. using wms.service.Help.LayerPacking.model;
  4. /// <summary>
  5. /// 装箱结果
  6. /// </summary>
  7. public class LayerPackingResult
  8. {
  9. /// <summary>
  10. /// 所有箱
  11. /// </summary>
  12. public List<LayerPackingBoxInfo> Boxes { get; set; }
  13. /// <summary>
  14. /// 使用的总产品数
  15. /// </summary>
  16. public int TotalProductsUsed { get; set; }
  17. /// <summary>
  18. /// 所有焊点盘总数
  19. /// </summary>
  20. public int TotalSolderProductsUsed { get; set; }
  21. /// <summary>
  22. /// 剩余产品数
  23. /// </summary>
  24. public int RemainingProducts { get; set; }
  25. /// <summary>
  26. /// 剩余焊点盘数
  27. /// </summary>
  28. public int RemainingSolderProducts { get; set; }
  29. /// <summary>
  30. /// 总处理时间
  31. /// </summary>
  32. public TimeSpan TotalProcessingTime { get; set; }
  33. /// <summary>
  34. /// 装箱失败原因列表
  35. /// </summary>
  36. public List<PackingFailureReason> FailureReasons { get; set; }
  37. /// <summary>
  38. /// 是否装箱成功
  39. /// </summary>
  40. public bool IsSuccess => FailureReasons == null || FailureReasons.Count == 0;
  41. /// <summary>
  42. /// 构造函数
  43. /// </summary>
  44. public LayerPackingResult()
  45. {
  46. Boxes = new List<LayerPackingBoxInfo>();
  47. FailureReasons = new List<PackingFailureReason>();
  48. }
  49. /// <summary>
  50. /// 添加失败原因
  51. /// </summary>
  52. /// <param name="reason">失败原因</param>
  53. public void AddFailureReason(PackingFailureReason reason)
  54. {
  55. if (reason != null)
  56. {
  57. FailureReasons.Add(reason);
  58. }
  59. }
  60. /// <summary>
  61. /// 添加失败原因
  62. /// </summary>
  63. /// <param name="type">失败类型</param>
  64. /// <param name="message">失败消息</param>
  65. /// <param name="details">详细信息</param>
  66. public void AddFailureReason(PackingFailureType type, string message, string details = null)
  67. {
  68. FailureReasons.Add(new PackingFailureReason
  69. {
  70. Type = type,
  71. Message = message,
  72. Details = details,
  73. Timestamp = DateTime.Now
  74. });
  75. }
  76. }