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.

89 lines
2.6 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[Proc_paidToUnpaid] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[Proc_paidToUnpaid]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[Proc_paidToUnpaid] Script Date: 7/4/2019 11:35:48 AM ******/
  7. SET ANSI_NULLS ON
  8. GO
  9. SET QUOTED_IDENTIFIER ON
  10. GO
  11. CREATE PROC [dbo].[Proc_paidToUnpaid]
  12. @controlNo varchar(20)
  13. ,@user varchar(50)
  14. ,@flag varchar(20)
  15. AS
  16. SET NOCOUNT ON
  17. DECLARE @controlNoEncrypted VARCHAR(25) ,@viewMsg varchar(200)
  18. DECLARE @tranIdNew VARCHAR(10)
  19. SET @controlNoEncrypted = dbo.FNAEncryptString(@controlNo)
  20. SELECT @tranIdNew = id FROM dbo.remitTran(NOLOCK) WHERE controlNo = @controlNoEncrypted
  21. IF @tranIdNew IS NULL
  22. BEGIN
  23. EXEC proc_errorHandler 1,'INVALID TRANSACTION',null
  24. RETURN
  25. END
  26. IF @flag = 'PaidToUnpaid'
  27. BEGIN
  28. IF NOT EXISTS(SELECT 'X' FROM remitTran (NOLOCK) WHERE id = @tranIdNew AND tranStatus IN('Paid','Payment') and payStatus ='Paid')
  29. BEGIN
  30. EXEC proc_errorHandler 1,'ONLY PAID TRANSACTION ALLOW TO UPDATE',null
  31. RETURN
  32. END
  33. BEGIN TRY
  34. BEGIN TRANSACTION
  35. SET @viewMsg = 'PAID TRANSACTION HAS CHANGED TO UNPAID BY : '+@user
  36. EXEC proc_tranViewHistory 'i', @user, @tranIdNew, @controlNo, NULL,'PaidToUnpaid',@viewMsg
  37. UPDATE remitTran SET
  38. tranStatus = 'Payment'
  39. ,payStatus = 'Post'
  40. ,paidDate = null
  41. ,paidDateLocal = null
  42. ,paidBy = null
  43. WHERE id = @tranIdNew
  44. IF @@TRANCOUNT > 0
  45. COMMIT TRANSACTION
  46. EXEC proc_errorHandler 0, 'PAID TRANSACTION HAS CHANGED TO UNPAID', NULL
  47. END TRY
  48. BEGIN CATCH
  49. ROLLBACK TRANSACTION
  50. EXEC proc_errorHandler 1, 'UNABLE TO PROCESS THE REQUEST THIS TIME', NULL
  51. END CATCH
  52. RETURN
  53. END
  54. ELSE IF @flag = 'UnpaidToPaid'
  55. BEGIN
  56. IF NOT EXISTS(SELECT 'X' FROM remitTran (NOLOCK) WHERE id = @tranIdNew AND tranStatus = 'Payment' and payStatus ='Post')
  57. BEGIN
  58. EXEC proc_errorHandler 1,'ONLY PAID TRANSACTION ALLOW TO UPDATE',null
  59. RETURN
  60. END
  61. BEGIN TRY
  62. BEGIN TRANSACTION
  63. SET @viewMsg = 'UNPAID TRANSACTION HAS CHANGED TO PAID BY : '+@user
  64. EXEC proc_tranViewHistory 'i', @user, @tranIdNew, @controlNo, NULL,'UnpaidToPaid',@viewMsg
  65. UPDATE remitTran SET
  66. tranStatus = 'Paid'
  67. ,payStatus = 'Paid'
  68. ,paidDate = GETDATE()
  69. ,paidDateLocal = GETDATE()
  70. ,paidBy = @user
  71. WHERE id = @tranIdNew
  72. IF @@TRANCOUNT > 0
  73. COMMIT TRANSACTION
  74. EXEC proc_errorHandler 0, 'UNPAID TRANSACTION HAS CHANGED TO PAID', NULL
  75. END TRY
  76. BEGIN CATCH
  77. ROLLBACK TRANSACTION
  78. EXEC proc_errorHandler 1, 'UNABLE TO PROCESS THE REQUEST FOR THIS TRANSACTION', NULL
  79. END CATCH
  80. RETURN
  81. END