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.

231 lines
13 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_sscCopyMaster] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. /*
  9. proc_sscMaster @flag = 'm', @user = 'admin'
  10. */
  11. CREATE PROC [dbo].[proc_sscCopyMaster]
  12. @flag VARCHAR(50) = NULL
  13. ,@user VARCHAR(30) = NULL
  14. ,@sscMasterId VARCHAR(30) = NULL
  15. ,@code VARCHAR(10) = NULL
  16. ,@description VARCHAR(200) = NULL
  17. ,@sHub INT = NULL
  18. ,@sCountry INT = NULL
  19. ,@ssAgent INT = NULL
  20. ,@sAgent INT = NULL
  21. ,@sBranch INT = NULL
  22. ,@rHub INT = NULL
  23. ,@rCountry INT = NULL
  24. ,@rsAgent INT = NULL
  25. ,@rAgent INT = NULL
  26. ,@rBranch INT = NULL
  27. ,@state INT = NULL
  28. ,@zip VARCHAR(20) = NULL
  29. ,@agentGroup INT = NULL
  30. ,@rState INT = NULL
  31. ,@rZip VARCHAR(20) = NULL
  32. ,@rAgentGroup INT = NULL
  33. ,@baseCurrency INT = NULL
  34. ,@tranType INT = NULL
  35. ,@veType INT = NULL
  36. ,@ve MONEY = NULL
  37. ,@neType INT = NULL
  38. ,@ne MONEY = NULL
  39. ,@effectiveFrom DATETIME = NULL
  40. ,@effectiveTo DATETIME = NULL
  41. ,@isEnable CHAR(1) = NULL
  42. ,@copySscMasterId INT = NULL
  43. ,@sessionId VARCHAR(50) = 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. ,@functionId INT
  67. ,@id VARCHAR(10)
  68. ,@modType VARCHAR(6)
  69. ,@ApprovedFunctionId INT
  70. SELECT
  71. @ApprovedFunctionId = 20131130
  72. ,@logIdentifier = 'sscMasterId'
  73. ,@logParamMain = 'sscMaster'
  74. ,@logParamMod = 'sscMasterHistory'
  75. ,@module = '20'
  76. ,@tableAlias = 'Special Service Charge'
  77. DECLARE @DetailIdList TABLE(detailId BIGINT, modType VARCHAR(10))
  78. DECLARE @detailId BIGINT
  79. IF @flag = 'scl'
  80. BEGIN
  81. SELECT
  82. ccm.countryId
  83. ,ccm.countryName
  84. ,cnt = COUNT(rCountry)
  85. FROM countryCurrencyMaster ccm WITH(NOLOCK)
  86. LEFT JOIN dscMaster dscm WITH(NOLOCK) ON ccm.countryId = dscm.sCountry
  87. WHERE ISNULL(ccm.isDeleted, 'N') <> 'Y'
  88. GROUP BY ccm.countryId, ccm.countryName
  89. RETURN
  90. END
  91. ELSE IF @flag = 'i'
  92. BEGIN
  93. IF EXISTS(SELECT 'x' FROM sscMaster WHERE
  94. sHub = ISNULL(@sHub, sHub) AND
  95. rHub = ISNULL(@rHub, rHub) AND
  96. ssAgent = ISNULL(@ssAgent, ssAgent) AND
  97. rsAgent = ISNULL(@rsAgent, rsAgent) AND
  98. sCountry = ISNULL(@sCountry, sCountry) AND
  99. rCountry = ISNULL(@rCountry, rCountry) AND
  100. sAgent = ISNULL(@sAgent, sAgent) AND
  101. rAgent = ISNULL(@rAgent, rAgent) AND
  102. sBranch = ISNULL(@sBranch, sBranch) AND
  103. rBranch = ISNULL(@rBranch, rBranch) AND
  104. tranType = ISNULL(@tranType, tranType) AND
  105. ISNULL(isDeleted,'N')<>'Y')
  106. BEGIN
  107. EXEC proc_errorHandler 1, 'Record already exist.', @sscMasterId
  108. RETURN
  109. END
  110. BEGIN TRANSACTION
  111. INSERT INTO sscMaster (
  112. code
  113. ,[description]
  114. ,sHub
  115. ,sCountry
  116. ,ssAgent
  117. ,sAgent
  118. ,sBranch
  119. ,rHub
  120. ,rCountry
  121. ,rsAgent
  122. ,rAgent
  123. ,rBranch
  124. ,[state]
  125. ,zip
  126. ,agentGroup
  127. ,rState
  128. ,rZip
  129. ,rAgentGroup
  130. ,baseCurrency
  131. ,tranType
  132. ,veType
  133. ,ve
  134. ,neType
  135. ,ne
  136. ,effectiveFrom
  137. ,effectiveTo
  138. ,isEnable
  139. ,createdBy
  140. ,createdDate
  141. )
  142. SELECT
  143. @code
  144. ,@description
  145. ,@sHub
  146. ,@sCountry
  147. ,@ssAgent
  148. ,@sAgent
  149. ,@sBranch
  150. ,@rHub
  151. ,@rCountry
  152. ,@rsAgent
  153. ,@rAgent
  154. ,@rBranch
  155. ,@state
  156. ,@zip
  157. ,@agentGroup
  158. ,@rState
  159. ,@rZip
  160. ,@rAgentGroup
  161. ,@baseCurrency
  162. ,@tranType
  163. ,@veType
  164. ,@ve
  165. ,@neType
  166. ,@ne
  167. ,@effectiveFrom
  168. ,@effectiveTo
  169. ,@isEnable
  170. ,@user
  171. ,GETDATE()
  172. SET @sscMasterId = SCOPE_IDENTITY()
  173. insert into sscDetail(sscMasterId,fromAmt,toAmt,pcnt,minAmt,maxAmt,isActive,isDeleted,
  174. approvedBy,approvedDate,createdBy,createdDate,modifiedBy,modifiedDate)
  175. select @sscMasterId,fromAmt,toAmt,pcnt,minAmt,maxAmt,isActive,isDeleted,
  176. approvedBy,approvedDate,createdBy,createdDate,modifiedBy,modifiedDate
  177. from sscDetailTemp where sessionId=@sessionId
  178. delete from sscDetailTemp where sessionId=@sessionId and sscMasterId=@sscMasterId
  179. IF @@TRANCOUNT > 0
  180. COMMIT TRANSACTION
  181. EXEC proc_errorHandler 0, 'Record has been added successfully.', @sscMasterId
  182. END
  183. ELSE IF @flag = 'a'
  184. BEGIN
  185. SELECT
  186. *
  187. ,CONVERT(VARCHAR, effectiveFrom, 101) effFrom
  188. ,CONVERT(VARCHAR, effectiveTo, 101) effTo
  189. FROM sscMaster WITH(NOLOCK) WHERE sAgent=@sAgent
  190. select @copySscMasterId=sscMasterId from sscMaster where sAgent=@sAgent
  191. if exists(select * from sscDetailTemp where sscMasterId=@copySscMasterId and sessionId=@sessionId)
  192. begin
  193. delete from sscDetailTemp where sscMasterId=@copySscMasterId and sessionId=@sessionId
  194. end
  195. insert into sscDetailTemp(sscMasterId,fromAmt,toAmt,pcnt,minAmt,maxAmt,
  196. isActive,isDeleted,approvedBy,approvedDate,createdBy,createdDate,modifiedBy,modifiedDate,sessionId)
  197. select sscMasterId,fromAmt,toAmt,pcnt,minAmt,maxAmt,
  198. isActive,isDeleted,approvedBy,approvedDate,createdBy,createdDate,modifiedBy,modifiedDate,@sessionId from sscDetail
  199. where sscMasterId=@copySscMasterId
  200. --ALTER TABLE sscDetailTemp ADD sessionId varchar(50)
  201. END
  202. END TRY
  203. BEGIN CATCH
  204. IF @@TRANCOUNT > 0
  205. ROLLBACK TRANSACTION
  206. DECLARE @errorMessage VARCHAR(MAX)
  207. SET @errorMessage = ERROR_MESSAGE()
  208. EXEC proc_errorHandler 1, @errorMessage, @sscMasterId
  209. END CATCH
  210. GO