TispSpotRepository.cs 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. using Ropin.Inspection.Model.Entities;
  2. using Ropin.Inspection.Model.ViewModel;
  3. using Ropin.Inspection.Repository.Interface;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace Ropin.Inspection.Repository
  10. {
  11. public class TispSpotRepository : RepositoryBase<TISP_Spot, Guid>, ITispSpotRepository
  12. {
  13. public TispSpotRepository(InspectionDbContext dbContext) : base(dbContext)
  14. {
  15. }
  16. public List<TispSpotViewModel> GetTispSpotJoinContent()
  17. {
  18. return DbContext.TISP_Spot.Join(DbContext.TISP_SpotContent, spot => spot.C_Code, spotContent => spotContent.C_SpotCode, (spot, spotContent) => new TispSpotViewModel
  19. {
  20. C_Code = spot.C_Code,
  21. //C_Number = spot.C_Number,
  22. //C_Name = spot.C_Number,
  23. // C_Position = spot.C_Number,
  24. // C_QRCode = spot.C_Number,
  25. // C_GPS = spot.C_Number,
  26. // C_Remark = spot.C_Number,
  27. //ContentList = new TispContentViewModel { C_ID = spotContent.C_ID },
  28. C_CreateBy = spot.C_CreateBy,
  29. D_CreateOn = spot.D_CreateOn,
  30. //C_LastUpdatedBy = spot.C_LastUpdatedBy,
  31. //D_LastUpdatedOn = spot.D_LastUpdatedOn,
  32. //C_Status = spot.C_Status,
  33. }).ToList();
  34. }
  35. public Task<TispSpotViewModel> GetSpotByQRCodeAsync(string qRCode,string storeCode)
  36. {
  37. MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("qRCode", qRCode), new MySqlConnector.MySqlParameter("storeCode", storeCode) };
  38. string sql = "SELECT C_Code,C_Number,C_Name,C_Position,C_QRCode,C_GPS,C_Remark,I_Offset From TISP_Spot WHERE C_QRCode =@qRCode AND C_StoreCode=@storeCode";
  39. TispSpotViewModel model = EntityFrameworkCoreExtensions.SqlQuery<TispSpotViewModel>(DbContext.Database, sql, parameters).FirstOrDefault();
  40. return Task.FromResult(model);
  41. }
  42. public Task<TispSpotDevStoreViewModel> GetDevStoreByQRCodeAsync(string qRCode, string storeCode)
  43. {
  44. MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("qRCode", qRCode), new MySqlConnector.MySqlParameter("storeCode", storeCode) };
  45. string sql = @"SELECT A.C_Code,A.C_Number,A.C_Name,A.C_Position,A.C_QRCode,A.C_GPS,A.C_Remark,A.I_Offset,B.C_DevStoreCode,C.C_Name AS C_DevStoreName,C.C_NumberCode AS C_DevNumberCode From TISP_Spot A
  46. INNER JOIN TDEV_DevSpot B ON B.C_SpotCode = A.C_Code
  47. INNER JOIN TDEV_DevStore C ON C.C_ID = B.C_DevStoreCode
  48. WHERE (A.C_QRCode =@qRCode OR C.C_NumberCode = @qRCode) And A.C_StoreCode = @storeCode And A.C_Status = '1' AND C.C_Status = '1'";
  49. TispSpotDevStoreViewModel model = EntityFrameworkCoreExtensions.SqlQuery<TispSpotDevStoreViewModel>(DbContext.Database, sql, parameters).FirstOrDefault();
  50. return Task.FromResult(model);
  51. }
  52. public Task<TispSpotViewModel> GetAllSpotBySqlAsync()
  53. {
  54. //MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("qRCode", qRCode) };
  55. string sql = "SELECT C_Code,C_Number,C_Name,C_Position,C_QRCode,C_GPS,C_Remark,I_Offset From TISP_Spot WHERE C_Status = '1' ORDER BY D_CreateOn ASC";
  56. TispSpotViewModel model = EntityFrameworkCoreExtensions.SqlQuery<TispSpotViewModel>(DbContext.Database, sql, null).FirstOrDefault();
  57. return Task.FromResult(model);
  58. }
  59. public Task<IEnumerable<TispSpotContentsViewModel>> GetSpotContentsByQRCodeAsync(string qRCode)
  60. {
  61. MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("qRCode", qRCode) };
  62. //string sql = "SELECT A.*,B.C_ContentCode AS C_ContentId,C.C_AlarmLevel AS C_ContentAlarmLevel,C.C_Name AS C_ContentName From TISP_Spot A LEFT JOIN TISP_SpotContent B ON A.C_Code = B.C_SpotCode LEFT JOIN TISP_Content C ON C.C_ID = B.C_ContentCode";
  63. string sql = "SELECT A.*,B.C_ContentCode AS C_ContentId,C.C_AlarmLevel AS C_ContentAlarmLevel,C.C_Name AS C_ContentName From TISP_Content C LEFT JOIN TISP_SpotContent B ON C.C_ID = B.C_ContentCode LEFT OUTER JOIN TISP_Spot A ON A.C_Code = B.C_SpotCode WHERE A.C_QRCode ='6973361880083'";
  64. var contentlist = EntityFrameworkCoreExtensions.GetList<TispSpotsContentsViewModel>(DbContext.Database, sql, parameters);
  65. //var spotContentList = contentlist.Where(i => ("6973361880083").Equals(i.C_QRCode));
  66. if (null == contentlist || contentlist.First() == null)
  67. throw new Exception("没有数据记录");
  68. var q = from b in contentlist
  69. group b by b.C_Code into g
  70. select new TispSpotContentsViewModel
  71. {
  72. C_Code = g.Key,
  73. SpotContentList = (from c in g select new SpotContent { C_ContentId = c.C_ContentId, C_ContentAlarmLevel = c.C_ContentAlarmLevel, C_ContentName = c.C_ContentName }).ToList<SpotContent>(),
  74. C_GPS = g.First().C_GPS,
  75. C_Name = g.FirstOrDefault<TispSpotsContentsViewModel>().C_Name,
  76. C_Number = g.FirstOrDefault<TispSpotsContentsViewModel>().C_Number,
  77. C_Position = g.FirstOrDefault<TispSpotsContentsViewModel>().C_Position,
  78. C_QRCode = g.FirstOrDefault<TispSpotsContentsViewModel>().C_QRCode,
  79. C_Remark = g.FirstOrDefault<TispSpotsContentsViewModel>().C_Remark
  80. };
  81. //TISP_Spot spot = DbContext.TISP_Spot.Find(DbContext.TISP_SpotContent, spot => spot.C_Code, (spot) => new SpotContent
  82. //{
  83. //}).ToList();
  84. return Task.FromResult(q);
  85. //MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("qRCode", qRCode) };
  86. //string sql = "SELECT A.*,B.C_ContentCode AS C_ContentId,C.C_AlarmLevel AS C_ContentAlarmLevel,C.C_Name AS C_ContentName From TISP_Spot A LEFT JOIN TISP_SpotContent B ON A.C_Code = B.C_SpotCode LEFT JOIN TISP_Content C ON C.C_ID = B.C_ContentCode WHERE A.C_QRCode = '6973361880083'";
  87. //var contentlist = EntityFrameworkCoreExtensions.GetList<TispSpotsContentsViewModel>(DbContext.Database, sql, parameters);
  88. //var q = from b in contentlist
  89. // group b by b.C_Code into g
  90. // select new TispSpotContentsViewModel
  91. // {
  92. // C_Code = g.Key,
  93. // SpotContentList = (from c in g select new SpotContent { C_ContentId = c.C_ContentId, C_ContentAlarmLevel = c.C_ContentAlarmLevel, C_ContentName = c.C_ContentName }).ToList<SpotContent>(),
  94. // C_GPS = g.FirstOrDefault<TispSpotsContentsViewModel>().C_GPS,
  95. // C_Name = g.FirstOrDefault<TispSpotsContentsViewModel>().C_Name,
  96. // C_Number = g.FirstOrDefault<TispSpotsContentsViewModel>().C_Number,
  97. // C_Position = g.FirstOrDefault<TispSpotsContentsViewModel>().C_Position,
  98. // C_QRCode = g.FirstOrDefault<TispSpotsContentsViewModel>().C_QRCode,
  99. // C_Remark = g.FirstOrDefault<TispSpotsContentsViewModel>().C_Remark
  100. // };
  101. //return Task.FromResult(q);
  102. }
  103. }
  104. }