版博士V2.0程序
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 

141 строка
7.0 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. .Includes(m => m.PrintInfoList)
  28. .ToList();
  29. }
  30. public Product GetModelNav(string code)
  31. {
  32. return base.AsSugarClient().Queryable<Product>()
  33. .Includes(m => m.AttachmentList.Where(c => c.TBName == "product").OrderBy(x => x.Type).ToList())
  34. .Includes(m => m.BatchHistoryList.OrderByDescending(x => x.Id).ToList())
  35. .Includes(m => m.ProductProcessList)
  36. .Includes(m => m.ProductReviseProcessList)
  37. .Includes(m => m.ProductAssistProcessList)
  38. .Includes(m => m.QualifiedCriterionList)
  39. .Includes(m => m.ClassesInfo)
  40. .Includes(m => m.StepInfo, info => info.ProcessList.OrderBy(x => x.Order).ToList())
  41. .Includes(m => m.ReviseStepInfo, info => info.ProcessList.OrderBy(x => x.Order).ToList())
  42. .Includes(m => m.AssistStepInfo, info => info.ProcessList.OrderBy(x => x.Order).ToList())
  43. .Includes(m => m.TestDefectPointsList)
  44. .Includes(m => m.PrintInfoList)
  45. .First(m => m.Code == code);
  46. }
  47. public Product GetModelNav(int id)
  48. {
  49. return base.AsSugarClient().Queryable<Product>()
  50. .Includes(m => m.AttachmentList.Where(c => c.TBName == "product").OrderBy(x => x.Type).ToList())
  51. .Includes(m => m.BatchHistoryList.OrderByDescending(x => x.Id).ToList())
  52. .Includes(m => m.ProductProcessList)
  53. .Includes(m => m.ProductReviseProcessList)
  54. .Includes(m => m.ProductAssistProcessList)
  55. .Includes(m => m.QualifiedCriterionList)
  56. .Includes(m => m.ClassesInfo)
  57. .Includes(m => m.StepInfo, info => info.ProcessList.OrderBy(x => x.Order).ToList())
  58. .Includes(m => m.ReviseStepInfo, info => info.ProcessList.OrderBy(x => x.Order).ToList())
  59. .Includes(m => m.AssistStepInfo, info => info.ProcessList.OrderBy(x => x.Order).ToList())
  60. .Includes(m => m.TestDefectPointsList)
  61. .Includes(m => m.PrintInfoList)
  62. .First(m => m.Id == id);
  63. }
  64. public bool InsertNav(Models.Product model)
  65. {
  66. return base.AsSugarClient().InsertNav(model)
  67. .Include(a => a.BatchHistoryList)
  68. .Include(m => m.QualifiedCriterionList)
  69. .Include(b => b.TestDefectPointsList)
  70. .Include(m => m.PrintInfoList)
  71. //.Include(a => a.ProductProcessList)//.ThenInclude(z1 => z1.RoomList) //插入2层 Root->ShoolA->RoomList
  72. //.Include(a => a.ProductReviseProcessList) //第2个导航
  73. //.Include(a => a.ProductAssistProcessList) //第2个导航
  74. .ExecuteCommand();
  75. }
  76. public bool UpdateNav(Models.Product model)
  77. {
  78. return base.AsSugarClient().UpdateNav(model)
  79. .Include(m => m.AttachmentList)
  80. .Include(m => m.BatchHistoryList)
  81. .Include(a => a.ProductProcessList)//.ThenInclude(z1 => z1.RoomList) //插入2层 Root->ShoolA->RoomList
  82. .Include(a => a.ProductReviseProcessList) //第2个导航
  83. .Include(a => a.ProductAssistProcessList) //第2个导航
  84. .Include(m => m.QualifiedCriterionList)
  85. .Include(m => m.TestDefectPointsList)
  86. .Include(m => m.PrintInfoList)
  87. .ExecuteCommand();
  88. }
  89. public bool DelNav(Models.Product model)
  90. {
  91. return base.AsSugarClient().DeleteNav(model)
  92. .Include(m => m.AttachmentList.Where(c => c.TBName == "product").ToList())
  93. .Include(a => a.BatchHistoryList)
  94. .Include(a => a.ProductProcessList)//.ThenInclude(z1 => z1.RoomList) //插入2层 Root->ShoolA->RoomList
  95. .Include(a => a.ProductReviseProcessList) //第2个导航
  96. .Include(a => a.ProductAssistProcessList) //第2个导航
  97. .Include(m => m.QualifiedCriterionList)
  98. .Include(m => m.TestDefectPointsList)
  99. .Include(m => m.PrintInfoList)
  100. .Include(m => m.OrderList).ThenInclude(m =>m.OrderHistoryList)
  101. .ExecuteCommand();
  102. }
  103. public bool DelProductProcess(int type,int pid)
  104. {
  105. var db = base.Change<ProductProcess>();//切换仓储(新功能)
  106. return db.Delete(m =>m.Pid == pid);
  107. }
  108. public bool DelProductReviseProcess(int type, int pid)
  109. {
  110. var db = base.Change<ProductReviseProcess>();//切换仓储(新功能)
  111. return db.Delete(m => m.Pid == pid);
  112. }
  113. /// <summary>
  114. /// 获取流程工序 0-主控台 1-修复台
  115. /// </summary>
  116. /// <param name="tag"></param>
  117. /// <returns></returns>
  118. public List<Step> GetStepList(int tag)
  119. {
  120. var db = base.Change<Step>();//切换仓储(新功能)
  121. return db.AsSugarClient().Queryable<Step>()
  122. .Includes(m => m.ProcessList.OrderBy(s => s.Order).ToList())
  123. .Where(m => m.Tag == tag)
  124. .ToList();
  125. }
  126. //分页
  127. //public List<Models.User> GetOrderPage(Expression<Func<Models.User, bool>> where, int pagesize, int pageindex)
  128. //{
  129. // return base.GetPageList(where, new SqlSugar.PageModel() { PageIndex = pageindex, PageSize = pagesize }); //使用自已的仓储方法
  130. //}
  131. //调用仓储扩展方法
  132. //public List<Models.User> GetOrderByJson(string Json)
  133. //{
  134. // return base.CommQuery(Json);
  135. //}
  136. }
  137. }