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.

690 lines
54 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_modifyTran] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. CREATE proc [dbo].[proc_modifyTran]
  9. @flag VARCHAR(50) = NULL
  10. ,@user VARCHAR(30) = NULL
  11. ,@tranId BIGINT = NULL
  12. ,@senderId INT = NULL
  13. ,@receiverId INT = NULL
  14. ,@customerId BIGINT = NULL
  15. ,@srFlag CHAR(1) = NULL
  16. ,@oldCustomerId BIGINT = NULL
  17. ,@agentId INT = NULL
  18. ,@oldAgentId INT = NULL
  19. ,@membershipId VARCHAR(20) = NULL
  20. ,@placeOfIssue VARCHAR(50) = NULL
  21. ,@firstName VARCHAR(50) = NULL
  22. ,@middleName VARCHAR(50) = NULL
  23. ,@lastName1 VARCHAR(50) = NULL
  24. ,@lastName2 VARCHAR(50) = NULL
  25. ,@country INT = NULL
  26. ,@address VARCHAR(100) = NULL
  27. ,@state VARCHAR(50) = NULL
  28. ,@zipCode VARCHAR(50) = NULL
  29. ,@district INT = NULL
  30. ,@city VARCHAR(50) = NULL
  31. ,@email VARCHAR(150) = NULL
  32. ,@homePhone VARCHAR(15) = NULL
  33. ,@workPhone VARCHAR(15) = NULL
  34. ,@mobile VARCHAR(15) = NULL
  35. ,@nativeCountry INT = NULL
  36. ,@dob DATETIME = NULL
  37. ,@customerType INT = NULL
  38. ,@occupation INT = NULL
  39. ,@isBlackListed CHAR(1) = NULL
  40. ,@pSuperAgent INT = NULL
  41. ,@pCountry INT = NULL
  42. ,@pState INT = NULL
  43. ,@pDistrict INT = NULL
  44. ,@sortBy VARCHAR(50) = NULL
  45. ,@sortOrder VARCHAR(5) = NULL
  46. ,@pageSize INT = NULL
  47. ,@pageNumber INT = NULL
  48. AS
  49. SET NOCOUNT ON
  50. SET XACT_ABORT ON
  51. BEGIN TRY
  52. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  53. DECLARE
  54. @sql VARCHAR(MAX)
  55. ,@oldValue VARCHAR(MAX)
  56. ,@newValue VARCHAR(MAX)
  57. ,@module VARCHAR(10)
  58. ,@tableAlias VARCHAR(100)
  59. ,@logIdentifier VARCHAR(50)
  60. ,@logParamMod VARCHAR(100)
  61. ,@logParamMain VARCHAR(100)
  62. ,@table VARCHAR(MAX)
  63. ,@select_field_list VARCHAR(MAX)
  64. ,@extra_field_list VARCHAR(MAX)
  65. ,@sql_filter VARCHAR(MAX)
  66. ,@modType VARCHAR(6)
  67. SELECT
  68. @logIdentifier = 'customerId'
  69. ,@logParamMain = 'customers'
  70. ,@module = '20'
  71. ,@tableAlias = 'Customers'
  72. IF @flag = 'a'
  73. BEGIN
  74. SELECT c.*
  75. ,Convert(VARCHAR,c.dob,101)dob1
  76. ,ci.idType
  77. ,ci.idNumber
  78. ,CONVERT(VARCHAR,ci.validDate,101)validDate1
  79. ,CONVERT(VARCHAR,ci.issuedDate,101)issueDate1
  80. FROM customers c
  81. LEFT JOIN customerIdentity ci WITH(NOLOCK)
  82. ON c.customerId = ci.customerId
  83. WHERE c.customerId = @customerId
  84. END
  85. ELSE IF @flag = 'u'
  86. BEGIN
  87. DECLARE
  88. @oFirstName VARCHAR(50)
  89. ,@oMiddleName VARCHAR(50)
  90. ,@oLastName1 VARCHAR(50)
  91. ,@oLastName2 VARCHAR(50)
  92. ,@oCountry INT
  93. ,@oAddress VARCHAR(100)
  94. ,@oState VARCHAR(50)
  95. ,@oZipCode VARCHAR(50)
  96. ,@oDistrict INT
  97. ,@oCity VARCHAR(50)
  98. ,@oEmail VARCHAR(150)
  99. ,@oHomePhone VARCHAR(15)
  100. ,@oWorkPhone VARCHAR(15)
  101. ,@oMobile VARCHAR(15)
  102. ,@oNativeCountry INT
  103. ,@oDob DATETIME
  104. ,@oCustomerType INT
  105. ,@oOccupation INT
  106. ,@srType VARCHAR(20)
  107. ,@oCountryText VARCHAR(50)
  108. ,@oStateText VARCHAR(50)
  109. ,@oDistrictText VARCHAR(50)
  110. ,@oNativeCountryText VARCHAR(50)
  111. ,@oCustomerTypeText VARCHAR(50)
  112. ,@oOccupationText VARCHAR(50)
  113. ,@nCountryText VARCHAR(50)
  114. ,@nStateText VARCHAR(50)
  115. ,@nDistrictText VARCHAR(50)
  116. ,@nNativeCountryText VARCHAR(50)
  117. ,@nCustomerTypeText VARCHAR(50)
  118. ,@nOccupationText VARCHAR(50)
  119. BEGIN TRANSACTION
  120. SELECT
  121. @oFirstName = firstName
  122. ,@oMiddleName = middleName
  123. ,@oLastName1 = lastName1
  124. ,@oLastName2 = lastName2
  125. ,@oCountry = country
  126. ,@oAddress = address
  127. ,@oState = state
  128. ,@oZipCode = zipCode
  129. ,@oDistrict = district
  130. ,@oCity = city
  131. ,@oEmail = email
  132. ,@oHomePhone = homePhone
  133. ,@oWorkPhone = workPhone
  134. ,@oNativeCountry = nativeCountry
  135. ,@oDob = dob
  136. ,@oCustomerType = customerType
  137. ,@oOccupation = occupation
  138. FROM customers WHERE customerId = @customerId
  139. SELECT @oCountryText = countryName FROM countryMaster WHERE countryId = @oCountry
  140. SELECT @oStateText = stateName FROM countryStateMaster WHERE stateId = @oState
  141. SELECT @oDistrictText = detailTitle FROM staticDataValue WHERE valueId = @oDistrict
  142. SELECT @oNativeCountryText = countryName FROM countryMaster WHERE countryId = @oNativeCountry
  143. SELECT @oCustomerTypeText = detailTitle FROM staticDataValue WHERE valueId = @oCustomerType
  144. SELECT @oOccupationText = detailTitle FROM staticDataValue WHERE valueId = @oOccupation
  145. SELECT @nCountryText = countryName FROM countryMaster WHERE countryId = @country
  146. SELECT @nStateText = stateName FROM countryStateMaster WHERE stateId = @state
  147. SELECT @nDistrictText = detailTitle FROM staticDataValue WHERE valueId = @district
  148. SELECT @nNativeCountryText = countryName FROM countryMaster WHERE countryId = @nativeCountry
  149. SELECT @nCustomerTypeText = detailTitle FROM staticDataValue WHERE valueId = @customerType
  150. SELECT @nOccupationText = detailTitle FROM staticDataValue WHERE valueId = @occupation
  151. SELECT @srType = CASE WHEN @srFlag = 'S' THEN 'Sender'
  152. WHEN @srFlag = 'R' THEN 'Receiver' END
  153. IF(ISNULL(@oFirstName, 0) <> ISNULL(@firstName, 0))
  154. BEGIN
  155. INSERT INTO tranModifyLog(tranId, message, createdBy, createdDate,MsgType)
  156. SELECT @tranId, @srType + ' First Name changed from ' + ISNULL(@oFirstName, 'NULL') + ' to ' + ISNULL(@firstName, 'NULL'), @user, GETDATE(),'M'
  157. IF(@srFlag = 'S')
  158. UPDATE tranSenders SET firstName = @firstName WHERE customerId = @customerId AND tranId = @tranId
  159. ELSE IF(@srFlag = 'R')
  160. UPDATE tranReceivers SET firstName = @firstName WHERE customerId = @customerId AND tranId = @tranId
  161. END
  162. IF(ISNULL(@oMiddleName, 0) <> ISNULL(@middleName, 0))
  163. BEGIN
  164. INSERT INTO tranModifyLog(tranId, message, createdBy, createdDate,MsgType)
  165. SELECT @tranId, @srType + ' Middle Name changed from ' + ISNULL(@oMiddleName, 'NULL') + ' to ' + ISNULL(@middleName, 'NULL'), @user, GETDATE(),'M'
  166. IF(@srFlag = 'S')
  167. UPDATE tranSenders SET middleName = @middleName WHERE customerId = @customerId AND tranId = @tranId
  168. ELSE IF(@srFlag = 'R')
  169. UPDATE tranReceivers SET middleName = @middleName WHERE customerId = @customerId AND tranId = @tranId
  170. END
  171. IF(ISNULL(@oLastName1, 0) <> ISNULL(@lastName1, 0))
  172. BEGIN
  173. INSERT INTO tranModifyLog(tranId, message, createdBy, createdDate,MsgType)
  174. SELECT @tranId, @srType + ' First Last Name changed from ' + ISNULL(@oLastName1, 'NULL') + ' to ' + ISNULL(@lastName1, 'NULL'), @user, GETDATE(),'M'
  175. IF(@srFlag = 'S')
  176. UPDATE tranSenders SET lastName1 = @lastName1 WHERE customerId = @customerId AND tranId = @tranId
  177. ELSE IF(@srFlag = 'R')
  178. UPDATE tranReceivers SET lastName1 = @lastName2 WHERE customerId = @customerId AND tranId = @tranId
  179. END
  180. IF(ISNULL(@oLastName2, 0) <> ISNULL(@lastName2, 0))
  181. BEGIN
  182. INSERT INTO tranModifyLog(tranId, message, createdBy, createdDate,MsgType)
  183. SELECT @tranId, @srType + ' Second Last Name changed from ' + ISNULL(@oLastName2, 'NULL') + ' to ' + ISNULL(@lastName2, 'NULL'), @user, GETDATE(),'M'
  184. IF(@srFlag = 'S')
  185. UPDATE tranSenders SET lastName2 = @lastName2 WHERE customerId = @customerId AND tranId = @tranId
  186. ELSE IF(@srFlag = 'R')
  187. UPDATE tranReceivers SET lastName2 = @lastName2 WHERE customerId = @customerId AND tranId = @tranId
  188. END
  189. IF(ISNULL(@oCountry, 0) <> ISNULL(@country, 0))
  190. BEGIN
  191. INSERT INTO tranModifyLog(tranId, message, createdBy, createdDate,MsgType)
  192. SELECT @tranId, @srType + ' Country changed from ' + ISNULL(@oCountry, 'NULL') + ' to ' + ISNULL(@country, 'NULL'), @user, GETDATE(),'M'
  193. IF(@srFlag = 'S')
  194. UPDATE tranSenders SET country = @nCountryText WHERE customerId = @customerId AND tranId = @tranId
  195. ELSE IF(@srFlag = 'R')
  196. UPDATE tranReceivers SET country = @nCountryText WHERE customerId = @customerId AND tranId = @tranId
  197. END
  198. IF(ISNULL(@oAddress, 0) <> ISNULL(@address, 0))
  199. BEGIN
  200. INSERT INTO tranModifyLog(tranId, message, createdBy, createdDate,MsgType)
  201. SELECT @tranId, @srType + ' Address changed from ' + ISNULL(@oAddress, 'NULL') + ' to ' + ISNULL(@address, 'NULL'), @user, GETDATE(),'M'
  202. IF(@srFlag = 'S')
  203. UPDATE tranSenders SET address = @address WHERE customerId = @customerId AND tranId = @tranId
  204. ELSE IF(@srFlag = 'R')
  205. UPDATE tranReceivers SET address = @address WHERE customerId = @customerId AND tranId = @tranId
  206. END
  207. IF(ISNULL(@oState, 0) <> ISNULL(@state, 0))
  208. BEGIN
  209. INSERT INTO tranModifyLog(tranId, message, createdBy, createdDate,MsgType)
  210. SELECT @tranId, @srType + ' State changed from ' + ISNULL(@oStateText, 'NULL') + ' to ' + ISNULL(@nStateText, 'NULL'), @user, GETDATE(),'M'
  211. IF(@srFlag = 'S')
  212. UPDATE tranSenders SET state = @nStateText WHERE customerId = @customerId AND tranId = @tranId
  213. ELSE IF(@srFlag = 'R')
  214. UPDATE tranReceivers SET state = @nStateText WHERE customerId = @customerId AND tranId = @tranId
  215. END
  216. IF(ISNULL(@oZipCode, 0) <> ISNULL(@zipCode, 0))
  217. BEGIN
  218. INSERT INTO tranModifyLog(tranId, message, createdBy, createdDate,MsgType)
  219. SELECT @tranId, @srType + ' Zip Code changed from ' + ISNULL(@oZipCode, 'NULL') + ' to ' + ISNULL(@zipCode, 'NULL'), @user, GETDATE(),'M'
  220. IF(@srFlag = 'S')
  221. UPDATE tranSenders SET zipCode = @zipCode WHERE customerId = @customerId AND tranId = @tranId
  222. ELSE IF(@srFlag = 'R')
  223. UPDATE tranReceivers SET zipCode = @zipCode WHERE customerId = @customerId AND tranId = @tranId
  224. END
  225. IF(ISNULL(@oDistrict, 0) <> ISNULL(@district, 0))
  226. BEGIN
  227. INSERT INTO tranModifyLog(tranId, message, createdBy, createdDate,MsgType)
  228. SELECT @tranId, @srType + ' District changed from ' + @oDistrictText + ' to ' + @nDistrictText, @user, GETDATE(),'M'
  229. IF(@srFlag = 'S')
  230. UPDATE tranSenders SET district = @nDistrictText WHERE customerId = @customerId AND tranId = @tranId
  231. ELSE IF(@srFlag = 'R')
  232. UPDATE tranReceivers SET district = @nDistrictText WHERE customerId = @customerId AND tranId = @tranId
  233. END
  234. IF(ISNULL(@oCity, 0) <> ISNULL(@city, 0))
  235. BEGIN
  236. INSERT INTO tranModifyLog(tranId, message, createdBy, createdDate,MsgType)
  237. SELECT @tranId, @srType + ' City', @user, GETDATE(),'M'
  238. IF(@srFlag = 'S')
  239. UPDATE tranSenders SET city = @city WHERE customerId = @customerId AND tranId = @tranId
  240. ELSE IF(@srFlag = 'R')
  241. UPDATE tranReceivers SET city = @city WHERE customerId = @customerId AND tranId = @tranId
  242. END
  243. IF(ISNULL(@oEmail, 0) <> ISNULL(@email, 0))
  244. BEGIN
  245. INSERT INTO tranModifyLog(tranId, message, createdBy, createdDate,MsgType)
  246. SELECT @tranId, @srType + ' Email', @user, GETDATE(),'M'
  247. IF(@srFlag = 'S')
  248. UPDATE tranSenders SET email = @email WHERE customerId = @customerId AND tranId = @tranId
  249. ELSE IF(@srFlag = 'R')
  250. UPDATE tranReceivers SET email = @email WHERE customerId = @customerId AND tranId = @tranId
  251. END
  252. IF(ISNULL(@oHomePhone, 0) <> ISNULL(@homePhone, 0))
  253. BEGIN
  254. INSERT INTO tranModifyLog(tranId, message, createdBy, createdDate,MsgType)
  255. SELECT @tranId, @srType + ' Home Phone', @user, GETDATE(),'M'
  256. IF(@srFlag = 'S')
  257. UPDATE tranSenders SET homePhone = @homePhone WHERE customerId = @customerId AND tranId = @tranId
  258. ELSE IF(@srFlag = 'R')
  259. UPDATE tranReceivers SET homePhone = @homePhone WHERE customerId = @customerId AND tranId = @tranId
  260. END
  261. IF(ISNULL(@oWorkPhone, 0) <> ISNULL(@workPhone, 0))
  262. BEGIN
  263. INSERT INTO tranModifyLog(tranId, message, createdBy, createdDate,MsgType)
  264. SELECT @tranId, @srType + ' Work Phone', @user, GETDATE(),'M'
  265. IF(@srFlag = 'S')
  266. UPDATE tranSenders SET workPhone = @workPhone WHERE customerId = @customerId AND tranId = @tranId
  267. ELSE IF(@srFlag = 'R')
  268. UPDATE tranReceivers SET workPhone = @workPhone WHERE customerId = @customerId AND tranId = @tranId
  269. END
  270. IF(ISNULL(@oNativeCountry, 0) <> ISNULL(@nativeCountry, 0))
  271. BEGIN
  272. INSERT INTO tranModifyLog(tranId, message, createdBy, createdDate,MsgType)
  273. SELECT @tranId, @srType + ' First Name', @user, GETDATE(),'M'
  274. IF(@srFlag = 'S')
  275. UPDATE tranSenders SET nativeCountry = @nativeCountry WHERE customerId = @customerId AND tranId = @tranId
  276. ELSE IF(@srFlag = 'R')
  277. UPDATE tranReceivers SET nativeCountry = @nativeCountry WHERE customerId = @customerId AND tranId = @tranId
  278. END
  279. IF(ISNULL(@oDob, 0) <> ISNULL(@dob, 0))
  280. BEGIN
  281. INSERT INTO tranModifyLog(tranId, message, createdBy, createdDate,MsgType)
  282. SELECT @tranId, @srType + ' Date of Birth', @user, GETDATE(),'M'
  283. IF(@srFlag = 'S')
  284. UPDATE tranSenders SET dob = @dob WHERE customerId = @customerId AND tranId = @tranId
  285. ELSE IF(@srFlag = 'R')
  286. UPDATE tranReceivers SET dob = @dob WHERE customerId = @customerId AND tranId = @tranId
  287. END
  288. IF(ISNULL(@oCustomerType, 0) <> ISNULL(@customerType, 0))
  289. BEGIN
  290. INSERT INTO tranModifyLog(tranId, message, createdBy, createdDate,MsgType)
  291. SELECT @tranId, @srType + ' Customer Type', @user, GETDATE(),'M'
  292. IF(@srFlag = 'S')
  293. UPDATE tranSenders SET customerType = @nCustomerTypeText WHERE customerId = @customerId AND tranId = @tranId
  294. ELSE IF(@srFlag = 'R')
  295. UPDATE tranReceivers SET customerType = @nCustomerTypeText WHERE customerId = @customerId AND tranId = @tranId
  296. END
  297. IF(ISNULL(@oOccupation, 0) <> ISNULL(@occupation, 0))
  298. BEGIN
  299. INSERT INTO tranModifyLog(tranId, message, createdBy, createdDate,MsgType)
  300. SELECT @tranId, @srType + ' Occupation', @user, GETDATE(),'M'
  301. IF(@srFlag = 'S')
  302. UPDATE tranSenders SET occupation = @nOccupationText WHERE customerId = @customerId AND tranId = @tranId
  303. ELSE IF(@srFlag = 'R')
  304. UPDATE tranReceivers SET occupation = @nOccupationText WHERE customerId = @customerId AND tranId = @tranId
  305. END
  306. UPDATE customers SET
  307. membershipId = @membershipId
  308. ,firstName = @firstName
  309. ,middleName = @middleName
  310. ,lastName1 = @lastName1
  311. ,lastName2 = @lastName2
  312. ,country = @country
  313. ,[address] = @address
  314. ,[state] = @state
  315. ,zipCode = @zipCode
  316. ,district = @district
  317. ,city = @city
  318. ,email = @email
  319. ,homePhone = @homePhone
  320. ,workPhone = @workPhone
  321. ,mobile = @mobile
  322. ,nativeCountry = @nativeCountry
  323. ,dob = @dob
  324. ,placeOfIssue = @placeOfIssue
  325. ,customerType = @customerType
  326. ,occupation = @occupation
  327. ,isBlackListed = @isBlackListed
  328. ,modifiedBy = @user
  329. ,modifiedDate = GETDATE()
  330. WHERE customerId = @customerId
  331. UPDATE remitTran SET
  332. modifiedBy = @user
  333. ,modifiedDate = GETDATE()
  334. ,modifiedDateLocal = DBO.FNADateFormatTZ(GETDATE(), @user)
  335. WHERE id = @tranId
  336. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @customerId, @newValue OUTPUT
  337. INSERT INTO #msg(errorCode, msg, id)
  338. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @customerId, @user, @oldValue, @newValue
  339. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  340. BEGIN
  341. IF @@TRANCOUNT > 0
  342. ROLLBACK TRANSACTION
  343. EXEC proc_errorHandler 1, 'Failed to update record.', @customerId
  344. RETURN
  345. END
  346. IF @@TRANCOUNT > 0
  347. COMMIT TRANSACTION
  348. EXEC proc_errorHandler 0, 'Record updated successfully.', @customerId
  349. END
  350. ELSE IF @flag = 'log'
  351. BEGIN
  352. SELECT * FROM tranModifyLog WHERE tranId = @tranId
  353. END
  354. ELSE IF @flag IN ('s')
  355. BEGIN
  356. IF @sortBy IS NULL
  357. SET @sortBy = 'customerId'
  358. IF @sortOrder IS NULL
  359. SET @sortOrder = 'ASC'
  360. SET @table = '(
  361. SELECT
  362. main.customerId
  363. ,main.membershipId
  364. ,name = ISNULL(main.firstName, '''') + ISNULL( '' '' + main.middleName, '''')+ ISNULL( '' '' + main.lastName1, '''') + ISNULL( '' '' + main.lastName2, '''')
  365. ,main.firstName
  366. ,main.lastName2
  367. ,country = ccm1.countryName
  368. ,main.address
  369. ,main.state
  370. ,main.zipCode
  371. ,main.district
  372. ,main.city
  373. ,main.email
  374. ,main.homePhone
  375. ,main.workPhone
  376. ,main.mobile
  377. ,nativeCountry = ccm.countryName
  378. ,main.dob
  379. ,main.placeOfIssue
  380. ,main.customerType
  381. ,main.occupation
  382. ,isBlackListed = CASE WHEN main.isBlackListed = ''Y'' THEN ''Yes'' ELSE ''-'' END
  383. ,main.createdBy
  384. ,main.createdDate
  385. ,main.isDeleted
  386. FROM customers main WITH(NOLOCK)
  387. LEFT JOIN countryMaster ccm ON main.nativeCountry = ccm.countryId
  388. LEFT JOIN countryMaster ccm1 ON main.country = ccm1.countryId
  389. WHERE 1 = 1
  390. ) x'
  391. SET @sql_filter = ''
  392. SET @sql_filter = @sql_filter + ' AND ISNULL(isDeleted, '''') <> ''Y'''
  393. IF(@firstName IS NOT NULL)
  394. SET @sql_filter = @sql_filter + ' AND ISNULL(firstName, '''') LIKE ''%' + @firstName + '%'''
  395. IF(@lastName2 IS NOT NULL)
  396. SET @sql_filter = @sql_filter + ' AND ISNULL(lastName1, '''') LIKE ''%' + @lastName1 + '%'''
  397. IF(@membershipId IS NOT NULL)
  398. SET @sql_filter = @sql_filter + ' AND membershipId = ' + CAST(@membershipId AS VARCHAR)
  399. IF(@mobile IS NOT NULL)
  400. SET @sql_filter = @sql_filter + ' AND ISNULL(mobile, '''') LIKE ''%' + @mobile + '%'''
  401. SET @select_field_list ='
  402. customerId
  403. ,membershipId
  404. ,name
  405. ,address
  406. ,country
  407. ,state
  408. ,zipCode
  409. ,district
  410. ,city
  411. ,email
  412. ,homePhone
  413. ,workPhone
  414. ,mobile
  415. ,nativeCountry
  416. ,dob
  417. ,placeOfIssue
  418. ,customerType
  419. ,occupation
  420. ,isBlackListed
  421. ,createdBy
  422. ,createdDate
  423. ,isDeleted '
  424. EXEC dbo.proc_paging
  425. @table
  426. ,@sql_filter
  427. ,@select_field_list
  428. ,@extra_field_list
  429. ,@sortBy
  430. ,@sortOrder
  431. ,@pageSize
  432. ,@pageNumber
  433. END
  434. ELSE IF @flag = 'cc' --Change Customer
  435. BEGIN
  436. DECLARE
  437. @oldName VARCHAR(100)
  438. ,@newName VARCHAR(100)
  439. BEGIN TRANSACTION
  440. SELECT @srType = CASE WHEN @srFlag = 'S' THEN 'Sender'
  441. WHEN @srFlag = 'R' THEN 'Receiver' END
  442. SELECT
  443. @oldName = firstName + ISNULL(' ' + middleName,'') + ISNULL(' ' + lastName1,'') + ISNULL(' ' + lastName2,'') + '|' + membershipId
  444. FROM customers WHERE customerId = @oldCustomerId
  445. SELECT
  446. @newName = firstName + ISNULL(' ' + middleName,'') + ISNULL(' ' + lastName1,'') + ISNULL(' ' + lastName2,'') + '|' + membershipId
  447. FROM customers WHERE customerId = @customerId
  448. INSERT INTO tranModifyLog(tranId, message, createdBy, createdDate,MsgType)
  449. SELECT @tranId, @srType + ' changed from ' + @oldName + ' to ' + @newName, @user, GETDATE(),'M'
  450. IF @srFlag = 'S'
  451. BEGIN
  452. UPDATE tranSenders SET
  453. customerId = new.customerId
  454. ,firstName = new.firstName
  455. ,middleName = new.middleName
  456. ,lastName1 = new.lastName1
  457. ,lastName2 = new.lastName2
  458. ,country = cm.countryName
  459. ,state = csm.stateName
  460. ,district = dist.detailTitle
  461. ,zipCode = new.zipCode
  462. ,city = new.city
  463. ,address = new.address
  464. ,homePhone = new.homePhone
  465. ,workPhone = new.workPhone
  466. ,dob = new.dob
  467. ,membershipId = new.membershipId
  468. ,placeOfIssue = new.placeOfIssue
  469. ,nativeCountry = nc.countryName
  470. ,mobile = new.mobile
  471. ,email = new.email
  472. ,customerType = ct.detailTitle
  473. ,occupation = occ.detailTitle
  474. ,idType = cid.detailTitle
  475. ,idNumber = ci.idNumber
  476. ,idPlaceOfIssue = ci.placeOfIssue
  477. ,issuedDate = ci.issuedDate
  478. ,validDate = ci.validDate
  479. FROM customers new
  480. LEFT JOIN customerIdentity ci ON new.customerId = ci.customerId AND ci.isPrimary = 'Y'
  481. LEFT JOIN countryMaster cm ON new.country = cm.countryId
  482. LEFT JOIN countryMaster nc ON new.nativeCountry = nc.countryId
  483. LEFT JOIN countryStateMaster csm ON new.state = csm.stateId
  484. LEFT JOIN staticDataValue dist ON new.district = dist.valueId
  485. LEFT JOIN staticDataValue ct ON new.customerType = ct.valueId
  486. LEFT JOIN staticDataValue occ ON new.occupation = occ.valueId
  487. LEFT JOIN staticDataValue cid ON ci.idType = cid.valueId
  488. WHERE new.customerId = @customerId AND tranId = @tranId
  489. END
  490. ELSE IF @srFlag = 'R'
  491. BEGIN
  492. UPDATE tranReceivers SET
  493. customerId = new.customerId
  494. ,firstName = new.firstName
  495. ,middleName = new.middleName
  496. ,lastName1 = new.lastName1
  497. ,lastName2 = new.lastName2
  498. ,country = cm.countryName
  499. ,state = csm.stateName
  500. ,district = dist.detailTitle
  501. ,zipCode = new.zipCode
  502. ,city = new.city
  503. ,address = new.address
  504. ,homePhone = new.homePhone
  505. ,workPhone = new.workPhone
  506. ,dob = new.dob
  507. ,membershipId = new.membershipId
  508. ,placeOfIssue = new.placeOfIssue
  509. ,nativeCountry = nc.countryName
  510. ,mobile = new.mobile
  511. ,email = new.email
  512. ,customerType = ct.detailTitle
  513. ,occupation = occ.detailTitle
  514. ,idType = cid.detailTitle
  515. ,idNumber = ci.idNumber
  516. ,idPlaceOfIssue = ci.placeOfIssue
  517. ,issuedDate = ci.issuedDate
  518. ,validDate = ci.validDate
  519. FROM customers new
  520. LEFT JOIN customerIdentity ci ON new.customerId = ci.customerId AND ci.isPrimary = 'Y'
  521. LEFT JOIN countryMaster cm ON new.country = cm.countryId
  522. LEFT JOIN countryMaster nc ON new.nativeCountry = nc.countryId
  523. LEFT JOIN countryStateMaster csm ON new.state = csm.stateId
  524. LEFT JOIN staticDataValue dist ON new.district = dist.valueId
  525. LEFT JOIN staticDataValue ct ON new.customerType = ct.valueId
  526. LEFT JOIN staticDataValue occ ON new.occupation = occ.valueId
  527. LEFT JOIN staticDataValue cid ON ci.idType = cid.valueId
  528. WHERE new.customerId = @customerId AND tranId = @tranId
  529. END
  530. UPDATE remitTran SET
  531. modifiedBy = @user
  532. ,modifiedDate = GETDATE()
  533. ,modifiedDateLocal = DBO.FNADateFormatTZ(GETDATE(), @user)
  534. WHERE id = @tranId
  535. IF @@TRANCOUNT > 0
  536. COMMIT TRANSACTION
  537. EXEC proc_errorHandler 0, 'Record updated successfully.', @customerId
  538. END
  539. ELSE IF @flag = 'ca' --Change Payout Location
  540. BEGIN
  541. DECLARE
  542. @oPSuperAgentText VARCHAR(50) = NULL
  543. ,@oPCountryText VARCHAR(50) = NULL
  544. ,@oPStateText VARCHAR(50) = NULL
  545. ,@oPDistrictText VARCHAR(50) = NULL
  546. ,@nPSuperAgentText VARCHAR(50) = NULL
  547. ,@nPCountryText VARCHAR(50) = NULL
  548. ,@nPStateText VARCHAR(50) = NULL
  549. ,@nPDistrictText VARCHAR(50) = NULL
  550. ,@oServiceCharge MONEY = NULL
  551. ,@nServiceCharge MONEY = NULL
  552. ,@sBranch INT = NULL
  553. ,@deliveryMethod INT = NULL
  554. ,@amount MONEY = NULL
  555. SELECT
  556. @sBranch = trn.sBranch
  557. ,@oServiceCharge = trn.serviceCharge
  558. ,@deliveryMethod = trn.paymentMethod
  559. ,@amount = trn.tAmt
  560. ,@oPSuperAgentText = psa.agentName
  561. ,@oPCountryText = pc.countryName
  562. ,@oPStateText = ps.stateName
  563. ,@oPDistrictText = pdist.districtName
  564. FROM remitTran trn WITH(NOLOCK)
  565. LEFT JOIN agentMaster psa WITH(NOLOCK) ON trn.pSuperAgent = psa.agentId
  566. LEFT JOIN countryMaster pc WITH(NOLOCK) ON trn.pCountry = pc.countryId
  567. LEFT JOIN countryStateMaster ps WITH(NOLOCK) ON trn.pState = ps.stateId
  568. LEFT JOIN zoneDistrictMap pdist WITH(NOLOCK) ON trn.pDistrict = pdist.districtId
  569. WHERE trn.id = @tranId
  570. SELECT @nPSuperAgentText = agentName FROM agentMaster WHERE agentId = @pSuperAgent
  571. SELECT @nPCountryText = countryName FROM countryMaster WHERE countryId = @pCountry
  572. SELECT @nPStateText = stateName FROM countryStateMaster WHERE stateId = @pState
  573. SELECT @nPDistrictText = districtName FROM zoneDistrictMap WHERE districtId = @pDistrict
  574. SELECT
  575. @nServiceCharge = amount
  576. FROM [dbo].FNAGetSC(@sBranch, @pSuperAgent, @pCountry, @pDistrict, NULL , @deliveryMethod, @amount, NULL)
  577. IF @oServiceCharge <> @nServiceCharge
  578. BEGIN
  579. EXEC proc_errorHandler 1, 'Operation failed! Service Charge is different for this location', @tranId
  580. RETURN
  581. END
  582. BEGIN TRANSACTION
  583. IF(ISNULL(@oPSuperAgentText, 0) <> ISNULL(@nPSuperAgentText, 0))
  584. BEGIN
  585. INSERT INTO tranModifyLog(tranId, message, createdBy, createdDate,MsgType)
  586. SELECT @tranId, 'Payout Super Agent changed from ' + ISNULL(@oPSuperAgentText, 'NULL') + ' to ' + ISNULL(@nPSuperAgentText, 'NULL'), @user, GETDATE(),'M'
  587. UPDATE remitTran SET pSuperAgent = @pSuperAgent WHERE id = @tranId
  588. END
  589. IF(ISNULL(@oPCountryText, 0) <> ISNULL(@nPCountryText, 0))
  590. BEGIN
  591. INSERT INTO tranModifyLog(tranId, message, createdBy, createdDate,MsgType)
  592. SELECT @tranId, 'Payout Country changed from ' + ISNULL(@oPCountryText, 'NULL') + ' to ' + ISNULL(@nPCountryText, 'NULL'), @user, GETDATE(),'M'
  593. UPDATE remitTran SET pCountry = @pCountry WHERE id = @tranId
  594. END
  595. IF(ISNULL(@oPStateText, 0) <> ISNULL(@nPStateText, 0))
  596. BEGIN
  597. INSERT INTO tranModifyLog(tranId, message, createdBy, createdDate,MsgType)
  598. SELECT @tranId, 'Payout State changed from ' + ISNULL(@oPStateText, 'NULL') + ' to ' + ISNULL(@nPStateText, 'NULL'), @user, GETDATE(),'M'
  599. UPDATE remitTran SET pState = @pState WHERE id = @tranId
  600. END
  601. IF(ISNULL(@oPDistrictText, 0) <> ISNULL(@nPDistrictText, 0))
  602. BEGIN
  603. INSERT INTO tranModifyLog(tranId, message, createdBy, createdDate,MsgType)
  604. SELECT @tranId, 'Payout District changed from ' + ISNULL(@oPDistrictText, 'NULL') + ' to ' + ISNULL(@nPDistrictText, 'NULL'), @user, GETDATE(),'M'
  605. UPDATE remitTran SET pDistrict = @pDistrict WHERE id = @tranId
  606. END
  607. UPDATE remitTran SET
  608. modifiedBy = @user
  609. ,modifiedDate = GETDATE()
  610. ,modifiedDateLocal = DBO.FNADateFormatTZ(GETDATE(), @user)
  611. WHERE id = @tranId
  612. IF @@TRANCOUNT > 0
  613. COMMIT TRANSACTION
  614. EXEC proc_errorHandler 0, 'Payout Location Updated Successfully.', @customerId
  615. END
  616. END TRY
  617. BEGIN CATCH
  618. IF @@TRANCOUNT > 0
  619. ROLLBACK TRANSACTION
  620. DECLARE @errorMessage VARCHAR(MAX)
  621. SET @errorMessage = ERROR_MESSAGE()
  622. EXEC proc_errorHandler 1, @errorMessage, @customerId
  623. END CATCH
  624. GO