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.

98 lines
4.6 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_sendSMSModule] 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_sendSMSModule]
  9. @flag VARCHAR(50) = NULL
  10. ,@user VARCHAR(30) = NULL
  11. ,@rowId INT = NULL
  12. ,@xml XML = NULL
  13. ,@msg VARCHAR(MAX) = NULL
  14. AS
  15. SET NOCOUNT ON
  16. SET XACT_ABORT ON
  17. BEGIN TRY
  18. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  19. DECLARE
  20. @sql VARCHAR(MAX)
  21. ,@oldValue VARCHAR(MAX)
  22. ,@newValue VARCHAR(MAX)
  23. ,@tableAlias VARCHAR(100)
  24. ,@logIdentifier VARCHAR(50)
  25. ,@logParamMain VARCHAR(100)
  26. ,@modType VARCHAR(6)
  27. SELECT
  28. @logIdentifier = 'id'
  29. ,@logParamMain = 'SMSQueue'
  30. ,@tableAlias = 'SMSQueue'
  31. IF @flag='sms'
  32. BEGIN
  33. declare @tempTbl table(mobile varchar(50))
  34. INSERT @tempTbl(mobile)
  35. SELECT
  36. p.value('@id','VARCHAR(50)')
  37. FROM @xml.nodes('/root/row') as tmp(p)
  38. UPDATE @tempTbl
  39. SET
  40. mobile=REPLACE(LTRIM(mobile),'','')
  41. UPDATE @tempTbl
  42. SET
  43. mobile=REPLACE((mobile),' ','')
  44. IF EXISTS(SELECT 'X' FROM @tempTbl
  45. GROUP BY mobile
  46. HAVING COUNT(*)>1)
  47. BEGIN
  48. SELECT 'Dublicate Mobile Number!' AS remarks
  49. RETURN;
  50. END
  51. --select * from @tempTbl
  52. --return;
  53. BEGIN TRANSACTION
  54. INSERT INTO SMSQueue(mobileNo,msg,createdBy,createdDate,country)
  55. SELECT mobile,@msg,@user,GETDATE(),'Manual Sent' FROM @tempTbl
  56. SET @modType = 'Upload'
  57. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @rowId, @oldValue OUTPUT
  58. INSERT INTO #msg(errorCode, msg, id)
  59. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  60. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  61. BEGIN
  62. IF @@TRANCOUNT > 0
  63. ROLLBACK TRANSACTION
  64. EXEC proc_errorHandler 1, 'Failed to upload record.', @rowId
  65. RETURN
  66. END
  67. IF @@TRANCOUNT > 0
  68. COMMIT TRANSACTION
  69. SELECT 'SMS Send Upload Completed Sucessfully.' AS remarks
  70. END
  71. END TRY
  72. BEGIN CATCH
  73. IF @@TRANCOUNT > 0
  74. ROLLBACK TRANSACTION
  75. DECLARE @errorMessage VARCHAR(MAX)
  76. SET @errorMessage = ERROR_MESSAGE()
  77. EXEC proc_errorHandler 1, @errorMessage, @rowId
  78. END CATCH
  79. GO