Advertisement
yuvarajupadhyaya

search with Fullname

Dec 20th, 2021
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 5.65 KB | None | 0 0
  1. USE [EduconnectSyncRTO]
  2. GO
  3. /****** Object:  StoredProcedure [dbo].[sp_getEnquiryList]    Script Date: 12/20/2021 3:10:18 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8.  
  9. -- =============================================  
  10. -- Author:  Kshetra Shrestha  --Update By: Yuvaraj Upadhyaya (dec 15 2021)
  11. -- Create date: List Of Enquiry  
  12. -- Description: Get List of inquiries depending upon parameter  
  13. -- =============================================  
  14. ALTER PROCEDURE [dbo].[sp_getEnquiryList]  
  15. @PageNum INT =1,  
  16. @PageSize INT= 125241522,  
  17. @InstituteId INT =0 ,  
  18. @SearchText VARCHAR(100)='',  
  19. @STATUS INT=0,  
  20. @activeStatus INT = NULL,  
  21. @EnquiryAssignedTo NVARCHAR(MAX)='',  
  22. @Sorting VARCHAR(500)='e.EnquiryDate',    
  23. @SortOrder VARCHAR(500)='asc',
  24. @FromDate VARCHAR(100)='',
  25. @Todate VARCHAR(100)='',
  26. @ReportType VARCHAR(100)=''
  27. AS  
  28. BEGIN  
  29.  SET NOCOUNT ON;  
  30. DECLARE @SqlCount INT    
  31. DECLARE @SQLQUERYCOUNT nvarchar(MAX)  
  32. DECLARE @SQLQuery VARCHAR(MAX)    
  33. DECLARE @SQLTotalRow TABLE (TotalRow INT)  
  34.  
  35. SET @SQLQUERYCOUNT ='SELECT  
  36. Count(*) as TotalRows  
  37. FROM Enquiry e  
  38. INNER JOIN InstituteCourse ic on e.InstituteCourseId= ic.InstituteCourseId  
  39. INNER JOIN Person p on e.PersonId = p.CredentialId  
  40. INNER JOIN Users u on e.PersonId= u.Id  
  41. LEFT OUTER JOIN Agent a on e.AgentId= a.AgentId  
  42. LEFT OUTER JOIN Users us ON e.AssignedTo =us.Id  
  43. INNER JOIN Institute i ON ic.InstituteId = i.InstituteId  
  44. LEFT OUTER JOIN CoursePackage cp ON e.CoursePackageId = cp.Id Where 1=1'  
  45.  IF(@FromDate!='' AND @Todate!='')
  46.  SET @SQLQUERYCOUNT =@SQLQUERYCOUNT + ' AND (CAST(e.EnquiryDate AS DATE) >= '''+@FromDate+''' And CAST(e.EnquiryDate AS DATE) <='''+@Todate+''')'
  47.  
  48. IF(@activeStatus IS NOT NULL AND @activeStatus!=-1)  
  49. SET @SQLQUERYCOUNT =@SQLQUERYCOUNT+ ' AND e.IsActive='+CONVERT(VARCHAR, @activeStatus)+''  
  50. IF (@InstituteId > 0)  
  51. SET @SQLQUERYCOUNT =@SQLQUERYCOUNT+ ' AND i.InstituteId='+CONVERT(VARCHAR, @InstituteId)+''  
  52.  IF (@STATUS > 0)  
  53. SET @SQLQUERYCOUNT =@SQLQUERYCOUNT+ ' AND e.EnquiryStatus='+CONVERT(VARCHAR, @STATUS)+''  
  54.  
  55. IF(@SearchText!='')  
  56. SET @SQLQUERYCOUNT =@SQLQUERYCOUNT+ ' AND ((u.FirstName' + '+'' ''+' + 'u.LastName LIKE ''%'+CONVERT(VARCHAR,@SearchText)+'%'') OR ic.SpecificCourseName like ''%'+CONVERT(VARCHAR,@SearchText)+'%'' OR a.AgencyLegalName like ''%'+CONVERT(VARCHAR,@SearchText)+'%'' OR i.InstituteTradingName like ''%'+
  57. CONVERT(VARCHAR,@SearchText)+'%''
  58. OR e.FromEmail like''%'+CONVERT(VARCHAR,@SearchText)+'%'')'  
  59. IF(@EnquiryAssignedTo!='')  
  60. SET @SQLQUERYCOUNT =@SQLQUERYCOUNT+ ' AND e.AssignedTo='''+ @EnquiryAssignedTo+''''  
  61. IF(@ReportType IS NOT NULL AND @ReportType!='' AND @ReportType='InstituteEnquiryList')  
  62.   SET @SQLQUERYCOUNT =@SQLQUERYCOUNT+ ' AND e.IsForwaredToProvider=1'  
  63. INSERT @SQLTotalRow  
  64. EXEC sp_executesql @SQLQUERYCOUNT , N'@SqlCount int out', @SqlCount OUT  
  65. SET @SqlCount=(SELECT * FROM @SQLTotalRow)  
  66. SET @SQLQuery ='SELECT  
  67. e.RequestId,  
  68. e.FromEmail,  
  69. p.PersonId,  
  70. CASE When (u.FirstName IS NULL) THEN '''++''' ELSE u.FirstName END +'''+' '+'''+ CASE WHEN (u.LastName IS NULL) THEN '''++''' ELSE u.LastName END AS UserName,  
  71. e.EnquiryDate,  
  72. e.EnquiryStatus,  
  73. e.IsForwaredToProvider,
  74. ic.SpecificCourseName,  
  75. ic.InstituteId,  
  76. i.InstituteTradingName,  
  77. CASE WHEN (a.AgentId IS NOT NULL) THEN a.AgencyLegalName ELSE '''++''' END AS AgentName,  
  78. u.Type ,  
  79. e.CoursePackageId,  
  80. CASE WHEN (e.CoursePackageId IS NOT NULL) THEN cp.CoursePackageName ELSE '''++''' END AS CoursePackageName,  
  81. e.AssignedTo,  
  82. CASE WHEN (us.Id IS NULL) THEN '''++''' ELSE CASE WHEN (us.FirstName IS NULL) THEN '''++''' ELSE us.FirstName END + '''+' '+''' + CASE WHEN (us.LastName IS NULL) THEN '''++''' ELSE us.LastName END END AS AssignedToName,  
  83. e.IsActive,'+CONVERT(VARCHAR,@SqlCount)+' as TotalRecords  
  84. FROM Enquiry e  
  85. INNER JOIN InstituteCourse ic on e.InstituteCourseId= ic.InstituteCourseId  
  86. INNER JOIN Person p on e.PersonId = p.CredentialId  
  87. INNER JOIN Users u on e.PersonId= u.Id  
  88. LEFT OUTER JOIN Agent a on e.AgentId= a.AgentId  
  89. LEFT OUTER JOIN Users us ON e.AssignedTo =us.Id  
  90. INNER JOIN Institute i ON ic.InstituteId = i.InstituteId  
  91. LEFT OUTER JOIN CoursePackage cp ON e.CoursePackageId = cp.Id Where 1=1'  
  92. IF(@FromDate!='' AND @Todate!='')
  93.  SET @SQLQuery =@SQLQuery+ ' AND (CAST(e.EnquiryDate AS DATE) >= '''+@FromDate+''' And CAST(e.EnquiryDate AS DATE) <='''+@Todate+''')'
  94.  
  95.  
  96. IF(@activeStatus IS NOT NULL AND @activeStatus!=-1)  
  97. SET @SQLQuery =@SQLQuery+ ' AND e.IsActive='+ CONVERT(VARCHAR, @activeStatus)+''  
  98. IF (@InstituteId > 0)  
  99. SET @SQLQuery =@SQLQuery+ ' AND i.InstituteId='+CONVERT(VARCHAR, @InstituteId)+''  
  100.  IF (@STATUS > 0)  
  101. SET @SQLQuery =@SQLQuery+ ' AND e.EnquiryStatus='+CONVERT(VARCHAR, @STATUS)+''  
  102.  
  103. IF(@SearchText!='')  
  104. SET @SQLQuery =@SQLQuery+ ' AND ((u.FirstName' + '+'' ''+' + 'u.LastName LIKE ''%'+CONVERT(VARCHAR,@SearchText)+'%'') OR ic.SpecificCourseName like ''%'+CONVERT(VARCHAR,@SearchText)+'%'' OR a.AgencyLegalName like ''%'+CONVERT(VARCHAR,@SearchText)+'%'' OR i.InstituteTradingName like ''%'+CONVERT(VARCHAR,@SearchText)+'%'' OR e.FromEmail like''%'+CONVERT(VARCHAR,@SearchText)+'%'')'  
  105.  
  106. IF(@EnquiryAssignedTo!='')  
  107. SET @SQLQuery =@SQLQuery+ ' AND e.AssignedTo='''+ @EnquiryAssignedTo+''''  
  108. IF(@ReportType IS NOT NULL AND @ReportType!='' AND @ReportType='InstituteEnquiryList')  
  109.   SET @SQLQuery =@SQLQuery+ ' AND e.IsForwaredToProvider=1'  
  110.  
  111.  
  112. SET @SQLQuery =@SQLQuery +' Order By '+ CONVERT(VARCHAR,@Sorting) +' '+ @SortOrder +' OFFSET '+CONVERT(VARCHAR, (@PageNum-1)*@PageSize)+' ROWS  FETCH NEXT  '+CONVERT(VARCHAR,@PageSize)+'  ROWS ONLY OPTION (RECOMPILE)'  
  113. EXEC (@SQLQuery)  
  114. --select  (@SQLQuery)  
  115. END  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement