You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

254 lines
13 KiB

1 year ago
  1. SET ANSI_NULLS ON
  2. GO
  3. SET QUOTED_IDENTIFIER ON
  4. GO
  5. -- ======================================================================
  6. -- Description: Only for "Easy Remit Customer Block Page" in Core System
  7. -- ======================================================================
  8. CREATE PROCEDURE [dbo].[PROC_EASYREMITFORBLOCK]
  9. (
  10. @flag VARCHAR(50),
  11. @id BIGINT = NULL,
  12. @block CHAR = NULL,
  13. @searchBy VARCHAR(MAX) = NULL,
  14. @searchValue VARCHAR(MAX) = NULL,
  15. @email VARCHAR(150) = NULL,
  16. @name VARCHAR(200) = NULL,
  17. @walletAccountNo VARCHAR(100) = NULL,
  18. @mobile VARCHAR(100) = NULL,
  19. @startDate DATETIME = NULL,
  20. @closeDate DATETIME = NULL,
  21. @sortBy VARCHAR(100) = NULL,
  22. @sortOrder VARCHAR(5) = NULL,
  23. @pageSize INT = NULL,
  24. @pageNumber INT = NULL,
  25. @user VARCHAR(50) = NULL
  26. )
  27. AS
  28. BEGIN
  29. SET NOCOUNT ON;
  30. SET XACT_ABORT ON;
  31. BEGIN TRY
  32. DECLARE
  33. @table VARCHAR(MAX) = NULL
  34. ,@sqlFilter VARCHAR(MAX) = NULL
  35. ,@selectFieldList VARCHAR(MAX) = NULL
  36. ,@extraFieldList VARCHAR(MAX) = NULL
  37. ,@noPaging CHAR(1) = NULL
  38. IF @FLAG = 'customerList'
  39. BEGIN
  40. IF @searchBy = 'email'
  41. BEGIN
  42. SET @email = @searchValue
  43. END
  44. ELSE IF @searchBy = 'fullName'
  45. BEGIN
  46. SET @name = @searchValue
  47. END
  48. ELSE IF @searchBy = 'walletAccountNo'
  49. BEGIN
  50. SET @walletAccountNo = @searchValue
  51. END
  52. ELSE IF @searchBy = 'mobile'
  53. BEGIN
  54. SET @mobile = @searchValue
  55. END
  56. SET @table =
  57. N'(SELECT cm.customerId as ''customerId'',
  58. cm.email as ''ID'',
  59. cm.fullName as ''Name'',
  60. com.countryName as ''Nationality'',
  61. sd.detailTitle as ''ID_Type'',
  62. cm.idNumber as ''ID_Number'',
  63. cm.mobile as ''Mobile_Number'',
  64. cm.walletAccountNo as ''Virtual_Account_Number'',
  65. cm.approvedBy as ''Approved_By'',
  66. cm.approvedDate as ''Approved_Date'',
  67. cm.createdDate
  68. FROM dbo.customerMaster cm(nolock)
  69. LEFT JOIN dbo.staticDataValue sd(nolock) ON sd.valueId = cm.idType
  70. INNER JOIN dbo.countryMaster com(nolock) ON com.countryId = cm.nativeCountry
  71. WHERE cm.customerType =11048 and cm.approvedDate is not null '
  72. IF @startDate IS NOT NULL
  73. SET @table = @table + ' AND cm.approvedDate >= ''' + CONVERT(VARCHAR, @startDate, 101) + ' 00:00:00''';
  74. IF @closeDate IS NOT NULL
  75. SET @table = @table + ' AND cm.approvedDate <= ''' + CONVERT(VARCHAR, @closeDate, 101) + ' 23:59:59''';
  76. SET @table = @table + ')x'
  77. SET @sqlFilter = ''
  78. IF @email IS NOT NULL
  79. SET @sqlFilter += ' AND x.ID like ''' + @email + '%''';
  80. IF @name IS NOT NULL
  81. SET @sqlFilter += ' AND x.Name like ''' + @name + '%''';
  82. IF @walletAccountNo IS NOT NULL
  83. SET @sqlFilter += ' AND x.Virtual_Account_Number = ''' + @walletAccountNo + '''';
  84. IF @mobile IS NOT NULL
  85. SET @sqlFilter = @sqlFilter + ' AND REPLACE(x.Mobile_Number, ''-'', '''') =''' + Replace(@mobile, '-', '') + '''';
  86. SET @selectFieldList = 'customerId, ID, Name, Nationality, ID_Type, ID_Number, Mobile_Number, Virtual_Account_Number, Approved_By, Approved_Date'
  87. IF @sortBy IS NULL
  88. SET @sortBy = 'createdDate'
  89. IF @sortOrder IS NULL
  90. SET @sortOrder = 'DESC'
  91. EXEC dbo.Proc_paging
  92. @table,
  93. @sqlFilter,
  94. @selectFieldList,
  95. @extraFieldList,
  96. @sortBy,
  97. @sortOrder,
  98. @pageSize,
  99. @pageNumber,
  100. @noPaging
  101. RETURN
  102. END
  103. IF @FLAG = 'searchFilter'
  104. BEGIN
  105. SELECT '' [VALUE], 'SELECT' [TEXT]
  106. UNION ALL
  107. SELECT 'email', 'ID'
  108. UNION ALL
  109. SELECT 'fullName', 'Name'
  110. UNION ALL
  111. SELECT 'walletAccountNo', 'Virtual Account Number'
  112. UNION ALL
  113. SELECT 'mobile', 'Mobile Number'
  114. END
  115. IF @flag = 'checkCustomerInfo'
  116. BEGIN
  117. IF NOT EXISTS (SELECT 'A' FROM dbo.customerMaster(nolock) WHERE customerId = @id)
  118. BEGIN
  119. SELECT '1' ErrorCode, 'Requested customer ID is not exist.' Msg, NULL
  120. RETURN
  121. END
  122. IF NOT EXISTS (SELECT 'A' FROM dbo.customerMaster(nolock) WHERE customerId=@id AND isActive='N' AND islocked='Y' AND isBlockWSB='Y')
  123. BEGIN
  124. SELECT '2' ErrorCode, 'Requested customer ID is already blocked.' Msg, NULL
  125. RETURN
  126. END
  127. IF NOT EXISTS (SELECT 'A' FROM dbo.customerMaster(nolock)
  128. WHERE customerId=@id AND isActive='Y' AND (islocked='N' OR islocked is null) AND (isBlockWSB='N' OR isBlockWSB is null))
  129. BEGIN
  130. SELECT '3' ErrorCode, 'Requested customer ID is already unblocked.' Msg, NULL
  131. RETURN
  132. END
  133. SELECT '0' ErrorCode, 'Requested customer ID is fine.' Msg, NULL
  134. RETURN
  135. END
  136. IF @flag = 'callCustomerInfo'
  137. BEGIN
  138. IF NOT EXISTS (SELECT COUNT(1) FROM dbo.customerMaster WHERE customerId = @id)
  139. BEGIN
  140. SELECT '1' ErrorCode, 'Requested customer ID is not exist.' Msg, NULL
  141. RETURN
  142. END
  143. DECLARE @tlgSeqNo VARCHAR(10), @NewValue VARCHAR(10)
  144. SET @NewValue= next value FOR dbo.wsb_sequence SET @tlgSeqNo=(SELECT CONVERT(VARCHAR(6), Getdate(), 12)) + @NewValue
  145. SELECT dataLen =400,
  146. orgtId='GME',
  147. srvcDs='VT0401',
  148. trxTypeCd='0200',
  149. rspsCd='0000',
  150. tlgSeqNo=@tlgSeqNo,
  151. tlgSendHur=(SELECT Format(Getdate(), 'yyyyMMddHHmmss')),
  152. filler=NULL,
  153. username = Isnull(cm.email, ''),
  154. [password] = dbo.Fnadecryptstring(cm.customerpassword),
  155. [channel] = 'registration',
  156. [account] = Isnull(cm.membershipid, ''),
  157. walletaccountno,
  158. bankaccountno,
  159. fullname,
  160. customerbankname,
  161. bankCode =NULL,
  162. cm.idtype,
  163. Replace(cm.idnumber, ' ', '') AS [idNumber], CONVERT(VARCHAR(6), cm.dob, 12) AS [dobYMD],
  164. CASE WHEN cm.gender = '97' THEN '7' WHEN cm.gender = '98' THEN '8' END AS [genderCode],
  165. CASE WHEN cm.nativecountry = '238' THEN '1' WHEN cm.nativecountry = '113' THEN '2' WHEN cm.nativecountry = '45' THEN '3' ELSE '4' END AS [nativeCountryCode],customerid
  166. FROM dbo.customermaster cm(nolock)
  167. WHERE cm.customerid = @Id
  168. SELECT '0' ErrorCode, 'Confirmed to calling requested customer ID.' Msg, @Id id
  169. RETURN
  170. END
  171. IF @flag = 'requestConfirm'
  172. BEGIN
  173. IF NOT EXISTS (SELECT COUNT(1) FROM dbo.customerMaster(nolock) WHERE customerId = @id)
  174. BEGIN
  175. SELECT '1' ErrorCode, 'Requested customer ID is not exist.' Msg, NULL
  176. RETURN
  177. END
  178. IF @block='Y'
  179. BEGIN
  180. UPDATE customerMaster
  181. SET isActive = 'N',
  182. islocked = 'Y',
  183. isBlockWSB = 'Y'
  184. WHERE customerId = @id;
  185. SELECT '0' ErrorCode, 'Confirmed to update requested customer ID to blocked.' Msg, @Id id
  186. RETURN
  187. END
  188. ELSE
  189. BEGIN
  190. UPDATE customerMaster
  191. SET isActive = 'Y',
  192. islocked = 'N',
  193. isBlockWSB = 'N'
  194. WHERE customerId = @id;
  195. SELECT '0' ErrorCode, 'Confirmed to update requested customer ID to unblocked.' Msg, @Id id
  196. RETURN
  197. END
  198. END
  199. END TRY
  200. BEGIN CATCH
  201. IF @@TRANCOUNT > 0
  202. ROLLBACK TRANSACTION
  203. DECLARE @errorMessage VARCHAR(max)
  204. SET @errorMessage = Error_message()
  205. EXEC Proc_errorhandler 1, @errorMessage, NULL
  206. END CATCH
  207. END