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.

314 lines
15 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_customerBankModify] Script Date: 9/11/2023 7:00:17 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. ALTER PROC [dbo].[proc_customerBankModify] (
  9. @flag VARCHAR(20)
  10. ,@user VARCHAR(50) = NULL
  11. ,@searchKey VARCHAR(30) = NULL
  12. ,@searchValue VARCHAR(100) = NULL
  13. ,@bankId VARCHAR(10) = NULL
  14. ,@accNumber VARCHAR(30) = NULL
  15. ,@customerId VARCHAR(10) = NULL
  16. ,@acNameInBank NVARCHAR(50) = NULL
  17. ,@verifyDoc3 VARCHAR(100) = NULL
  18. ,@rowId INT = NULL
  19. ,@action VARCHAR(50) = ''
  20. )
  21. AS
  22. -------------------------------------------------------
  23. ---Modifed June 15, 2021 -> check active condition for TBL_JAPAN_ADDRESS_DETAIL
  24. --EXEC [dbo].[proc_customerBankModify] @flag = N'customerZip',@user = N'ajey',@searchKey = N'0391531'
  25. --#134 -> Allow edit option of address in Town Area
  26. -- Remove duplicates on TOWN AREA LIST
  27. --Revised logic for town are
  28. ----------------------------------------------------------
  29. SET NOCOUNT ON;
  30. SET XACT_ABORT ON;
  31. BEGIN
  32. IF @flag = 'customerZip'
  33. BEGIN
  34. DECLARE @TOWN_AREA NVARCHAR(200)
  35. CREATE TABLE #ADDRESS (
  36. errorCode INT
  37. ,msg VARCHAR(50)
  38. ,ROW_ID BIGINT
  39. ,STATE_ID INT
  40. ,ZIP_CODE VARCHAR(20)
  41. ,CITY_NAME NVARCHAR(150)
  42. ,STREET_NAME NVARCHAR(150)
  43. ,ORDER_BY TINYINT
  44. ,SELECTED CHAR(1)
  45. ,DEFAULT_ CHAR(1)
  46. )
  47. INSERT INTO #ADDRESS
  48. SELECT errorCode = 0
  49. ,msg = 'Success'
  50. ,customerId ROW_ID
  51. ,state STATE_ID
  52. ,zipCode ZIP_CODE
  53. ,CITY_NAME = city
  54. ,STREET_NAME =address
  55. ,ORDER_BY = 1
  56. ,SELECTED = 'N'
  57. ,DEFAULT_='Y'
  58. FROM customerMaster D(NOLOCK)
  59. WHERE customerId = @customerId
  60. SELECT *
  61. FROM #ADDRESS
  62. WHERE DEFAULT_ IN ('Y')
  63. ORDER BY ORDER_BY
  64. RETURN;
  65. END
  66. IF @flag = 'customerZipAdmin'
  67. BEGIN
  68. DECLARE @TOWN_AREA_A NVARCHAR(200)
  69. IF @searchKey IS NULL
  70. SELECT @searchKey = ZIP_CODE
  71. FROM TBL_JAPAN_ADDRESS_DETAIL(NOLOCK)
  72. WHERE ROW_ID = @rowId
  73. AND IS_ACTIVE = 1;
  74. IF NOT EXISTS (
  75. SELECT 1
  76. FROM TBL_JAPAN_ADDRESS_DETAIL D(NOLOCK)
  77. WHERE ZIP_CODE = @searchKey
  78. AND IS_ACTIVE = 1
  79. )
  80. BEGIN
  81. EXEC proc_errorHandler '1'
  82. ,'Invalid Attempt!'
  83. ,NULL
  84. RETURN
  85. END
  86. CREATE TABLE #ADDRESS_1 (
  87. errorCode INT
  88. ,msg VARCHAR(50)
  89. ,ROW_ID BIGINT
  90. ,STATE_ID INT
  91. ,ZIP_CODE VARCHAR(20)
  92. ,CITY_NAME NVARCHAR(150)
  93. ,STREET_NAME NVARCHAR(150)
  94. ,ORDER_BY TINYINT
  95. ,SELECTED CHAR(1)
  96. ,DEFAULT_ CHAR(1)
  97. )
  98. INSERT INTO #ADDRESS_1
  99. SELECT errorCode = 0
  100. ,msg = 'Success'
  101. ,ROW_ID
  102. ,STATE_ID
  103. ,ZIP_CODE
  104. ,CITY_NAME = CITY_NAME + ISNULL(' - ' + CITY_JAPANESE, '')
  105. ,STREET_NAME = STREET_NAME + ISNULL(' - ' + STREET_JAPANESE, '')
  106. ,ORDER_BY = 1
  107. ,SELECTED = 'Y'
  108. ,DEFAULT_='Y'
  109. FROM TBL_JAPAN_ADDRESS_DETAIL D(NOLOCK)
  110. WHERE ZIP_CODE = @searchKey
  111. AND IS_ACTIVE = 1
  112. IF ISNULL(@customerId, '') <> '' AND @action = 'LOAD'
  113. BEGIN
  114. SELECT @TOWN_AREA_A = ISNULL(streetUnicode,'') --1265
  115. FROM customerMaster(NOLOCK)
  116. WHERE customerId = @customerId
  117. IF @TOWN_AREA_A IS NULL
  118. BEGIN
  119. SELECT @TOWN_AREA_A = STREET_NAME + ISNULL(' - ' + STREET_JAPANESE, '')
  120. FROM TBL_JAPAN_ADDRESS_DETAIL
  121. WHERE ZIP_CODE = @searchKey
  122. END
  123. --SELECT @TOWN_AREA_A;
  124. IF EXISTS (
  125. SELECT *
  126. FROM #ADDRESS_1
  127. WHERE STREET_NAME = @TOWN_AREA_A
  128. )
  129. BEGIN
  130. UPDATE #ADDRESS_1
  131. SET ORDER_BY = 0
  132. ,SELECTED = 'Y'
  133. ,DEFAULT_= 'U'
  134. WHERE STREET_NAME = @TOWN_AREA_A
  135. END
  136. ELSE
  137. BEGIN
  138. IF @TOWN_AREA_A IS NOT NULL
  139. BEGIN
  140. INSERT INTO #ADDRESS_1
  141. SELECT TOP 1 errorCode
  142. ,msg
  143. ,ROW_ID
  144. ,STATE_ID
  145. ,ZIP_CODE
  146. ,CITY_NAME
  147. ,STREET_NAME = @TOWN_AREA_A
  148. ,ORDER_BY = 0
  149. ,SELECTED = 'Y'
  150. ,DEFAULT_='N'
  151. FROM #ADDRESS_1 A
  152. END
  153. END
  154. SELECT *
  155. FROM #ADDRESS_1
  156. WHERE DEFAULT_ IN ('U','N')
  157. ORDER BY ORDER_BY
  158. END
  159. IF ISNULL(@customerId, '') <> '' AND @action = 'EDIT'
  160. BEGIN
  161. SELECT *
  162. FROM #ADDRESS_1
  163. WHERE DEFAULT_ IN ('Y')
  164. ORDER BY ORDER_BY
  165. END
  166. IF ISNULL(@customerId, '') = ''
  167. BEGIN
  168. SELECT *
  169. FROM #ADDRESS_1
  170. WHERE DEFAULT_ IN ('Y')
  171. ORDER BY ORDER_BY
  172. END
  173. END
  174. ELSE IF @flag = 'S'
  175. BEGIN
  176. IF @searchKey IS NULL
  177. OR @searchValue IS NULL
  178. BEGIN
  179. EXEC proc_errorHandler '1'
  180. ,'Invalid Attempt!'
  181. ,NULL
  182. RETURN
  183. END
  184. --@Max - 2018.09
  185. DECLARE @sql VARCHAR(MAX) = 'SELECT TOP 1 0 errorCode, CM.customerId, CM.fullName,
  186. CM.bankAccountNo, CM.idNumber, KB.BankName, KB.bankCode, CM.homePhone, CM.verifyDoc3,
  187. idType,
  188. CONVERT(VARCHAR(6), CM.dob, 12) AS [dob],
  189. CASE WHEN CM.nativeCountry = 238 THEN 1
  190. WHEN CM.nativeCountry = 113 THEN 2
  191. WHEN CM.nativeCountry = 45 THEN 3
  192. ELSE 4 END AS [nativeCountryCode],
  193. CASE WHEN CM.gender = 97 THEN 7
  194. WHEN CM.gender = 98 THEN 8 END AS [genderCode]
  195. FROM customerMaster CM(NOLOCK)
  196. INNER JOIN KoreanBankList KB(NOLOCK) ON KB.rowId = CM.bankName
  197. WHERE REPLACE(' + @searchKey + ', ''-'', '''') = REPLACE(''' + @searchValue + ''', ''-'', '''')'
  198. EXEC (@sql)
  199. END
  200. ELSE IF @flag = 'customervf' -- customer verification details
  201. BEGIN
  202. DECLARE @sqls VARCHAR(800) = '
  203. SELECT ''0'' As Code,
  204. cm.fullName AS name,
  205. ISNULL(cm.mobile,cm.homePhone) AS mobile,
  206. cm.gender AS gender,
  207. cm.idType As idType,
  208. cm.idNumber As idNumber,
  209. FORMAT(cm.dob,''MM/dd/yyyy'')AS dob,
  210. cm.bankName AS bankName,
  211. k.bankCode As bankCode,
  212. cm.bankAccountNo AS accountNo,
  213. cm.nativeCountry AS country,
  214. obpId AS obpId,
  215. walletAccountNo AS wallletNo
  216. FROM customerMaster cm (NOLOCK)
  217. INNER JOIN KoreanBankList k (nolock) on k.rowId = cm.bankName
  218. WHERE ' + @searchKey + ' = ''' + @searchValue + ''' '
  219. PRINT @sqls
  220. EXEC (@sqls)
  221. END
  222. ELSE IF @flag = 'DDL'
  223. BEGIN
  224. SELECT BankName
  225. ,bankCode
  226. FROM KoreanBankList(NOLOCK)
  227. ORDER BY BankName ASC
  228. END
  229. ELSE IF @flag = 'U'
  230. BEGIN
  231. IF @user IS NULL
  232. BEGIN
  233. EXEC proc_errorHandler '1'
  234. ,'Please login first to modify customer!'
  235. ,NULL
  236. RETURN
  237. END
  238. IF NOT EXISTS (
  239. SELECT 1
  240. FROM customerMaster(NOLOCK)
  241. WHERE customerId = @customerId
  242. )
  243. BEGIN
  244. EXEC proc_errorHandler '1'
  245. ,'Some thing went wrong this time, please try again later!'
  246. ,NULL
  247. RETURN
  248. END
  249. --LOG FOR CUSTOMER UPDATE
  250. EXEC PROC_CUSTOMERMODIFYLOG @flag = 'i'
  251. ,@email = NULL
  252. ,@idNumber = NULL
  253. ,@bank = @bankId
  254. ,@accNumber = @accNumber
  255. ,@customerId = @customerId
  256. ,@mobileNumber = NULL
  257. ,@user = @user
  258. UPDATE CM
  259. SET CM.bankName = KB.rowId
  260. ,CM.bankAccountNo = @accNumber
  261. ,CM.CustomerBankName = @acNameInBank
  262. ,CM.verifyDoc3 = ISNULL(@verifyDoc3, CM.verifyDoc3)
  263. FROM customerMaster CM(NOLOCK)
  264. INNER JOIN KoreanBankList KB(NOLOCK) ON KB.bankCode = @bankId
  265. WHERE CM.customerId = @customerId
  266. EXEC proc_errorHandler '0'
  267. ,'Details updated successfully!'
  268. ,NULL
  269. END
  270. ELSE IF @flag = 'Audit'
  271. BEGIN
  272. UPDATE customerMaster
  273. SET AuditBy = @user
  274. ,AuditDate = GETDATE()
  275. WHERE customerId = @customerId
  276. EXEC proc_errorHandler '0'
  277. ,'Document marked as Audited'
  278. ,NULL
  279. RETURN
  280. END
  281. END
  282. --select * from TBLCUSTOMERMODIFYLOGS
  283. --select bankName, bankAccountNo,* from customerMaster where customerId =3