VmcCameraRepository.cs 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. using Ropin.Inspection.Model.Entities;
  2. using Ropin.Inspection.Model.SearchModel.VMC;
  3. using Ropin.Inspection.Model.ViewModel.VMC;
  4. using Ropin.Inspection.Repository.VMC.Interface;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. namespace Ropin.Inspection.Repository.VMC
  11. {
  12. public class VmcCameraRepository : RepositoryBase<TVMC_Camera, string>, IVmcCameraRepository
  13. {
  14. public VmcCameraRepository(InspectionDbContext dbContext) : base(dbContext)
  15. {
  16. }
  17. public Task<IEnumerable<VmcCameraViewModel>> GetConditionAsync(VmcCameraSearch searchModel)
  18. {
  19. MySqlConnector.MySqlParameter[] parameters = new[] {
  20. new MySqlConnector.MySqlParameter("Status", searchModel?.C_Status),
  21. new MySqlConnector.MySqlParameter("runStatus", searchModel?.C_RunStatus),
  22. new MySqlConnector.MySqlParameter("name", "%"+searchModel?.C_Name+"%"),
  23. new MySqlConnector.MySqlParameter("storeCode", searchModel?.C_StoreCode),
  24. new MySqlConnector.MySqlParameter("orgCode", searchModel?.C_OrgCode),
  25. new MySqlConnector.MySqlParameter("devCode", searchModel?.C_DevCode),
  26. new MySqlConnector.MySqlParameter("Id ", searchModel?.C_ID)
  27. };
  28. StringBuilder sql = new StringBuilder();
  29. sql.Append(@"select * from (
  30. select c.*,t.C_Name as C_CameraTempName,s.C_Name as C_StoreName,d.C_Name as C_TypeName,d.C_Value as TypeValue
  31. from TVMC_Camera c
  32. LEFT JOIN TVMC_CameraTemplate t on (c.C_CameraTempCode=t.C_ID)
  33. LEFT JOIN TPNT_Store s on (c.C_StoreCode=s.C_Code)
  34. LEFT JOIN TBDM_CodeDetail d on (c.C_Type=d.C_Code)
  35. ) tab where 1=1");
  36. if (!string.IsNullOrEmpty(searchModel.C_Status))
  37. {
  38. sql.Append(" and C_Status=@Status ");
  39. }
  40. if (!string.IsNullOrEmpty(searchModel.C_RunStatus))
  41. {
  42. sql.Append(" and C_RunStatus=@runStatus ");
  43. }
  44. if (!string.IsNullOrEmpty(searchModel.C_StoreCode))
  45. {
  46. sql.Append(" and C_StoreCode=@storeCode ");
  47. }
  48. if (!string.IsNullOrEmpty(searchModel.C_OrgCode))
  49. {
  50. sql.Append(" and C_StoreCode in (select C_StoreCode from TPNT_StoreOrg where C_OrgCode=@orgCode) ");
  51. }
  52. if (!string.IsNullOrEmpty(searchModel.C_DevCode))
  53. {
  54. sql.Append(" and C_ID in (select C_CameraCode from TVMC_DevCamera where C_DevStoreCode=@devCode) ");
  55. }
  56. if (!string.IsNullOrEmpty(searchModel.C_Name))
  57. {
  58. sql.Append(" and C_Name like @name ");
  59. }
  60. if (!string.IsNullOrEmpty(searchModel.C_ID))
  61. {
  62. sql.Append(" and C_ID=@Id ");
  63. }
  64. sql.Append(" order by I_Sort asc,D_CreateOn desc ");
  65. IEnumerable<VmcCameraViewModel> recordItemlist = EntityFrameworkCoreExtensions.GetList<VmcCameraViewModel>(DbContext.Database, sql.ToString(), parameters);
  66. searchModel.TotalCount = recordItemlist.First() != null ? recordItemlist.ToList().Count : 0;
  67. if (recordItemlist.Count() == 1 && recordItemlist.First() == null)
  68. {
  69. recordItemlist = null;
  70. }
  71. return Task.FromResult(searchModel.IsPagination ? recordItemlist?.Skip((searchModel.PageIndex - 1) * searchModel.PageSize).Take(searchModel.PageSize) : recordItemlist);
  72. }
  73. }
  74. public class VmcCameraMigrateRepository : RepositoryBase<TVMC_CameraMigrate, string>, IVmcCameraMigrateRepository
  75. {
  76. public VmcCameraMigrateRepository(InspectionDbContext dbContext) : base(dbContext)
  77. {
  78. }
  79. public Task<IEnumerable<VmcCameraMigrateViewModel>> GetConditionAsync(VmcCameraMigrateSearch searchModel)
  80. {
  81. MySqlConnector.MySqlParameter[] parameters = new[] {
  82. new MySqlConnector.MySqlParameter("name", "%"+searchModel?.C_Name+"%"),
  83. new MySqlConnector.MySqlParameter("cameraCode ", searchModel?.C_CameraCode)
  84. };
  85. StringBuilder sql = new StringBuilder();
  86. sql.Append(@"select * from(
  87. select c.*,s1.C_Name as C_LastStoreName,s2.C_Name as C_CurrentStoreName
  88. from TVMC_CameraMigrate c
  89. LEFT JOIN TPNT_Store s1 on (c.C_LastStoreCode=s1.C_Code)
  90. LEFT JOIN TPNT_Store s2 on (c.C_CurrentStoreCode=s2.C_Code)
  91. ) tab where 1=1");
  92. if (!string.IsNullOrEmpty(searchModel.C_Name))
  93. {
  94. sql.Append(" and C_Name like @name");
  95. }
  96. if (!string.IsNullOrEmpty(searchModel.C_CameraCode))
  97. {
  98. sql.Append(" and C_CameraCode=@cameraCode ");
  99. }
  100. sql.Append(" order by D_CreateOn desc ");
  101. IEnumerable<VmcCameraMigrateViewModel> recordItemlist = EntityFrameworkCoreExtensions.GetList<VmcCameraMigrateViewModel>(DbContext.Database, sql.ToString(), parameters);
  102. searchModel.TotalCount = recordItemlist.First() != null ? recordItemlist.ToList().Count : 0;
  103. if (recordItemlist.Count() == 1 && recordItemlist.First() == null)
  104. {
  105. recordItemlist = null;
  106. }
  107. return Task.FromResult(searchModel.IsPagination ? recordItemlist?.Skip((searchModel.PageIndex - 1) * searchModel.PageSize).Take(searchModel.PageSize) : recordItemlist);
  108. }
  109. }
  110. public class VMCDevCameraRepository : RepositoryBase<TVMC_DevCamera, string>, IVMCDevCameraRepository
  111. {
  112. public VMCDevCameraRepository(InspectionDbContext dbContext) : base(dbContext)
  113. {
  114. }
  115. public Task<bool> DeleteBYCameraCode(string code)
  116. {
  117. MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("cameraCode", code) };
  118. string sql = "DELETE FROM TVMC_DevCamera where C_CameraCode=@cameraCode ";
  119. int iResult = EntityFrameworkCoreExtensions.ExecuteSqlNoQuery(DbContext.Database, sql, parameters);
  120. return Task.FromResult(true);
  121. }
  122. public Task<bool> DeleteBYDevStoreCode(string code)
  123. {
  124. MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("devStoreCode", code) };
  125. string sql = "DELETE FROM TVMC_DevCamera where C_DevStoreCode=@devStoreCode ";
  126. int iResult = EntityFrameworkCoreExtensions.ExecuteSqlNoQuery(DbContext.Database, sql, parameters);
  127. return Task.FromResult(true);
  128. }
  129. public Task<IEnumerable<VmcDevCameraViewModel>> GetConditionAsync(VmcDevSearch searchModel)
  130. {
  131. MySqlConnector.MySqlParameter[] parameters = new[] {
  132. new MySqlConnector.MySqlParameter("status", searchModel?.C_Status),
  133. new MySqlConnector.MySqlParameter("cameraCode", searchModel?.C_CameraCode),
  134. new MySqlConnector.MySqlParameter("devStoreCode", searchModel?.C_DevStoreCode)
  135. };
  136. StringBuilder sql = new StringBuilder();
  137. sql.Append(@"select * from (
  138. select dc.*,c.C_Name as C_CameraName,c.C_CameraNo,c.C_RunStatus,c.C_Status as C_CameraStatus,
  139. c.C_Serial,c.C_CameraCode as Codes,c.C_Type as C_CameraType,de.C_Value as C_CameraTypeValue,
  140. d.C_Name as C_DevStoreName,d.C_NumberCode
  141. from TVMC_DevCamera dc
  142. left JOIN TVMC_Camera c on (dc.C_CameraCode=c.C_ID)
  143. LEFT JOIN TDEV_DevStore d on (dc.C_DevStoreCode=d.C_ID)
  144. LEFT JOIN TBDM_CodeDetail de on (c.C_Type=de.C_Code)
  145. ) tab where 1=1");
  146. if (!string.IsNullOrEmpty(searchModel.C_Status))
  147. {
  148. sql.Append(" and C_Status=@status ");
  149. }
  150. if (!string.IsNullOrEmpty(searchModel.C_CameraCode))
  151. {
  152. sql.Append(" and C_CameraCode=@cameraCode ");
  153. }
  154. if (!string.IsNullOrEmpty(searchModel.C_DevStoreCode))
  155. {
  156. sql.Append(" and C_DevStoreCode=@devStoreCode ");
  157. }
  158. sql.Append(" order by D_CreateOn desc ");
  159. IEnumerable<VmcDevCameraViewModel> recordItemlist = EntityFrameworkCoreExtensions.GetList<VmcDevCameraViewModel>(DbContext.Database, sql.ToString(), parameters);
  160. searchModel.TotalCount = recordItemlist.First() != null ? recordItemlist.ToList().Count : 0;
  161. if (recordItemlist.Count() == 1 && recordItemlist.First() == null)
  162. {
  163. recordItemlist = null;
  164. }
  165. return Task.FromResult(searchModel.IsPagination ? recordItemlist?.Skip((searchModel.PageIndex - 1) * searchModel.PageSize).Take(searchModel.PageSize) : recordItemlist);
  166. }
  167. }
  168. }