Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 
 

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