版博士V2.0程序
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 

135 wiersze
6.7 KiB

  1. using Models;
  2. using SqlSugar;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Linq.Expressions;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace Service
  10. {
  11. public class ProductService : Repository<Models.Product>
  12. {
  13. public List<Product> GetListNav()
  14. {
  15. return base.AsSugarClient().Queryable<Product>()
  16. .Includes(m => m.AttachmentList.Where(c => c.TBName == "product").OrderBy(x => x.Type).ToList())
  17. .Includes(m => m.BatchHistoryList.OrderByDescending(x => x.Id).ToList())
  18. .Includes(m => m.ProductProcessList)
  19. .Includes(m => m.ProductReviseProcessList)
  20. .Includes(m => m.ProductAssistProcessList)
  21. .Includes(m => m.QualifiedCriterionList)
  22. .Includes(m => m.ClassesInfo)
  23. .Includes(m => m.StepInfo, info => info.ProcessList.OrderBy(x => x.Order).ToList())//查询2级(等于EF ThenInclude)
  24. .Includes(m => m.ReviseStepInfo, info => info.ProcessList.OrderBy(x => x.Order).ToList())
  25. .Includes(m => m.AssistStepInfo, info => info.ProcessList.OrderBy(x => x.Order).ToList())
  26. .Includes(m => m.TestDefectPointsList)
  27. .ToList();
  28. }
  29. public Product GetModelNav(string code)
  30. {
  31. return base.AsSugarClient().Queryable<Product>()
  32. .Includes(m => m.AttachmentList.Where(c => c.TBName == "product").OrderBy(x => x.Type).ToList())
  33. .Includes(m => m.BatchHistoryList.OrderByDescending(x => x.Id).ToList())
  34. .Includes(m => m.ProductProcessList)
  35. .Includes(m => m.ProductReviseProcessList)
  36. .Includes(m => m.ProductAssistProcessList)
  37. .Includes(m => m.QualifiedCriterionList)
  38. .Includes(m => m.ClassesInfo)
  39. .Includes(m => m.StepInfo, info => info.ProcessList.OrderBy(x => x.Order).ToList())
  40. .Includes(m => m.ReviseStepInfo, info => info.ProcessList.OrderBy(x => x.Order).ToList())
  41. .Includes(m => m.AssistStepInfo, info => info.ProcessList.OrderBy(x => x.Order).ToList())
  42. .Includes(m => m.TestDefectPointsList)
  43. .First(m => m.Code == code);
  44. }
  45. public Product GetModelNav(int id)
  46. {
  47. return base.AsSugarClient().Queryable<Product>()
  48. .Includes(m => m.AttachmentList.Where(c => c.TBName == "product").OrderBy(x => x.Type).ToList())
  49. .Includes(m => m.BatchHistoryList.OrderByDescending(x => x.Id).ToList())
  50. .Includes(m => m.ProductProcessList)
  51. .Includes(m => m.ProductReviseProcessList)
  52. .Includes(m => m.ProductAssistProcessList)
  53. .Includes(m => m.QualifiedCriterionList)
  54. .Includes(m => m.ClassesInfo)
  55. .Includes(m => m.StepInfo, info => info.ProcessList.OrderBy(x => x.Order).ToList())
  56. .Includes(m => m.ReviseStepInfo, info => info.ProcessList.OrderBy(x => x.Order).ToList())
  57. .Includes(m => m.AssistStepInfo, info => info.ProcessList.OrderBy(x => x.Order).ToList())
  58. .Includes(m => m.TestDefectPointsList)
  59. .First(m => m.Id == id);
  60. }
  61. public bool InsertNav(Models.Product model)
  62. {
  63. return base.AsSugarClient().InsertNav(model)
  64. .Include(a => a.BatchHistoryList)
  65. .Include(m => m.QualifiedCriterionList)
  66. .Include(b => b.TestDefectPointsList)
  67. //.Include(a => a.ProductProcessList)//.ThenInclude(z1 => z1.RoomList) //插入2层 Root->ShoolA->RoomList
  68. //.Include(a => a.ProductReviseProcessList) //第2个导航
  69. //.Include(a => a.ProductAssistProcessList) //第2个导航
  70. .ExecuteCommand();
  71. }
  72. public bool UpdateNav(Models.Product model)
  73. {
  74. return base.AsSugarClient().UpdateNav(model)
  75. .Include(m => m.AttachmentList)
  76. .Include(m => m.BatchHistoryList)
  77. .Include(a => a.ProductProcessList)//.ThenInclude(z1 => z1.RoomList) //插入2层 Root->ShoolA->RoomList
  78. .Include(a => a.ProductReviseProcessList) //第2个导航
  79. .Include(a => a.ProductAssistProcessList) //第2个导航
  80. .Include(m => m.QualifiedCriterionList)
  81. .Include(m => m.TestDefectPointsList)
  82. .ExecuteCommand();
  83. }
  84. public bool DelNav(Models.Product model)
  85. {
  86. return base.AsSugarClient().DeleteNav(model)
  87. .Include(m => m.AttachmentList.Where(c => c.TBName == "product").ToList())
  88. .Include(a => a.BatchHistoryList)
  89. .Include(a => a.ProductProcessList)//.ThenInclude(z1 => z1.RoomList) //插入2层 Root->ShoolA->RoomList
  90. .Include(a => a.ProductReviseProcessList) //第2个导航
  91. .Include(a => a.ProductAssistProcessList) //第2个导航
  92. .Include(m => m.QualifiedCriterionList)
  93. .Include(m => m.TestDefectPointsList)
  94. .Include(m => m.OrderList).ThenInclude(m =>m.OrderHistoryList)
  95. .ExecuteCommand();
  96. }
  97. public bool DelProductProcess(int type,int pid)
  98. {
  99. var db = base.Change<ProductProcess>();//切换仓储(新功能)
  100. return db.Delete(m =>m.Pid == pid);
  101. }
  102. public bool DelProductReviseProcess(int type, int pid)
  103. {
  104. var db = base.Change<ProductReviseProcess>();//切换仓储(新功能)
  105. return db.Delete(m => m.Pid == pid);
  106. }
  107. /// <summary>
  108. /// 获取流程工序 0-主控台 1-修复台
  109. /// </summary>
  110. /// <param name="tag"></param>
  111. /// <returns></returns>
  112. public List<Step> GetStepList(int tag)
  113. {
  114. var db = base.Change<Step>();//切换仓储(新功能)
  115. return db.AsSugarClient().Queryable<Step>()
  116. .Includes(m => m.ProcessList.OrderBy(s => s.Order).ToList())
  117. .Where(m => m.Tag == tag)
  118. .ToList();
  119. }
  120. //分页
  121. //public List<Models.User> GetOrderPage(Expression<Func<Models.User, bool>> where, int pagesize, int pageindex)
  122. //{
  123. // return base.GetPageList(where, new SqlSugar.PageModel() { PageIndex = pageindex, PageSize = pagesize }); //使用自已的仓储方法
  124. //}
  125. //调用仓储扩展方法
  126. //public List<Models.User> GetOrderByJson(string Json)
  127. //{
  128. // return base.CommQuery(Json);
  129. //}
  130. }
  131. }