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.

357 lines
21 KiB

11 months ago
11 months ago
11 months ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[PROC_DROPDOWN_LIST] Script Date: 11/2/2023 9:07:15 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. ALTER PROC [dbo].[PROC_DROPDOWN_LIST]
  9. (
  10. @Flag VARCHAR(20)
  11. ,@UserEmail VARCHAR(150) = NULL
  12. ,@User VARCHAR(150) = NULL
  13. ,@ShowAll VARCHAR(5) = NULL
  14. ,@selectedValue1 VARCHAR(20) = NULL
  15. ,@CountryId INT = NULL
  16. ,@PaymentMethod INT = NULL
  17. ,@country VARCHAR(50) = NULL
  18. ,@customerid int = null
  19. )
  20. AS
  21. ;
  22. SET NOCOUNT ON;
  23. SET XACT_ABORT ON;
  24. BEGIN TRY
  25. DECLARE @ErrorMsg VARCHAR(MAX)
  26. DECLARE @agentid INT = 394395
  27. IF @Flag = 'PayoutMethod'
  28. BEGIN
  29. DECLARE @PayoutCurrency VARCHAR(5)
  30. SELECT @PayoutCurrency = CM.currencyCode
  31. FROM countryCurrency CC(NOLOCK)
  32. INNER JOIN currencyMaster CM(NOLOCK) ON CM.currencyId = CC.currencyId
  33. WHERE CC.countryId = @CountryId
  34. AND ISNULL(CC.isActive, 'Y') = 'Y'
  35. AND CC.isDefault = 'Y'
  36. IF @PaymentMethod IS NULL
  37. BEGIN
  38. SELECT agentId
  39. ,isRealTime
  40. ,exRateCalByPartner
  41. ,CM.COUNTRYCODE
  42. ,CM.CountryName
  43. ,AgentId
  44. ,PayoutCurrency = @PayoutCurrency
  45. FROM TblPartnerwiseCountry P(NOLOCK)
  46. INNER JOIN COUNTRYMASTER CM(NOLOCK) ON CM.COUNTRYID = P.COUNTRYID
  47. WHERE P.countryId = @CountryId
  48. AND (
  49. PaymentMethod IS NULL
  50. OR PaymentMethod IS NOT NULL
  51. )
  52. AND P.IsActive = 1
  53. END
  54. ELSE
  55. BEGIN
  56. SELECT agentId
  57. ,isRealTime
  58. ,exRateCalByPartner
  59. ,CM.COUNTRYCODE
  60. ,CM.CountryName
  61. ,AgentId
  62. ,PayoutCurrency = @PayoutCurrency
  63. FROM TblPartnerwiseCountry P(NOLOCK)
  64. INNER JOIN COUNTRYMASTER CM(NOLOCK) ON CM.COUNTRYID = P.COUNTRYID
  65. WHERE P.countryId = @CountryId
  66. AND ISNULL(PaymentMethod, @PaymentMethod) = @PaymentMethod
  67. AND P.IsActive = 1
  68. END
  69. END
  70. --ELSE IF @Flag = 'CustomerReceiver'
  71. --BEGIN
  72. -- SELECT TOP 3 Id = receiverId
  73. -- , Name = FULLNAME
  74. -- , Country = country
  75. -- , Mobile
  76. -- , TransactionType = SM.typeTitle
  77. -- , errorCode = 0
  78. -- , msg = 'Success'
  79. -- FROM receiverInformation RI(NOLOCK)
  80. -- INNER JOIN serviceTypeMaster SM(NOLOCK) ON SM.serviceTypeId = RI.paymentMode
  81. --END
  82. ELSE IF @Flag = 'receiverList'
  83. BEGIN
  84. SELECT Id = receiverId
  85. , Text = FULLNAME
  86. , errorCode = 0
  87. , msg = 'Success'
  88. FROM receiverInformation RI(NOLOCK)
  89. INNER JOIN countryMaster CM(NOLOCK) ON CM.countryname = RI.country
  90. WHERE CM.countryId = @selectedValue1 and Ri.customerId = @customerid order by RI.createdDate desc
  91. END
  92. ELSE IF @Flag = 'purpose'
  93. BEGIN
  94. SELECT Id = valueId
  95. , Text = detailTitle
  96. , errorCode = 0
  97. , msg = 'Success'
  98. FROM staticdatavalue (NOLOCK)
  99. WHERE typeid=3800
  100. AND ISNULL(ISActive, 'Y') = 'Y'
  101. AND ISNULL(IS_DELETE, 'N') = 'N'
  102. ORDER BY detailTitle ASC
  103. END
  104. ELSE IF @Flag = 'howToPay'
  105. BEGIN
  106. SELECT Id = detailTitle
  107. , Text = CASE detailTitle WHEN 'ONLINE' THEN 'Online Banking(Best Rate)' WHEN 'DEBIT_CARD' THEN 'DEBIT CARD' ELSE 'E-Banking (Good rate)' END
  108. FROM staticDataValue (NOLOCK)
  109. WHERE typeId = '8109'
  110. AND ISNULL(isactive, 'Y') = 'Y'
  111. END
  112. ELSE IF @Flag = 'pCountry'
  113. BEGIN
  114. SET @countryId = 233
  115. SELECT Id = countryId
  116. , Text = UPPER(countryName)
  117. , errorCode = 0
  118. , msg = 'Success'
  119. FROM countryMaster CM WITH (NOLOCK)
  120. INNER JOIN (
  121. SELECT receivingCountry
  122. ,min(maxLimitAmt) maxLimitAmt
  123. FROM (
  124. SELECT receivingCountry
  125. ,max(maxLimitAmt) maxLimitAmt
  126. FROM sendTranLimit SL WITH (NOLOCK)
  127. WHERE --countryId = @countryId
  128. --AND
  129. ISNULL(isActive, 'N') = 'Y'
  130. AND ISNULL(isDeleted, 'N') = 'N'
  131. AND ISNULL(agentId, ISNULL(@agentid, 0)) = ISNULL(@agentid, 0)
  132. GROUP BY receivingCountry
  133. UNION ALL
  134. SELECT receivingCountry
  135. ,max(maxLimitAmt) maxLimitAmt
  136. FROM sendTranLimit SL WITH (NOLOCK)
  137. WHERE agentId = @agentid
  138. AND ISNULL(isActive, 'N') = 'Y'
  139. AND ISNULL(isDeleted, 'N') = 'N'
  140. GROUP BY receivingCountry
  141. ) x
  142. GROUP BY receivingCountry
  143. ) Y ON Y.receivingCountry = CM.countryId
  144. WHERE ISNULL(isOperativeCountry, '') = 'Y'
  145. AND Y.maxLimitAmt > 0
  146. ORDER BY countryName ASC
  147. END
  148. ELSE IF @Flag = 'pMode'
  149. BEGIN
  150. SET @countryId = 233
  151. SELECT Id = serviceTypeId
  152. , Text = UPPER(typeTitle)
  153. , errorCode = 0
  154. , msg = 'Success'
  155. FROM serviceTypeMaster stm WITH (NOLOCK)
  156. INNER JOIN (
  157. SELECT receivingMode
  158. ,maxLimitAmt
  159. FROM countryReceivingMode crm WITH (NOLOCK)
  160. INNER JOIN sendTranLimit SL WITH (NOLOCK) ON crm.countryId = SL.receivingCountry
  161. WHERE SL.countryId = @countryId
  162. AND SL.receivingCountry = @selectedValue1
  163. AND SL.agentId IS NULL
  164. AND SL.tranType IS NULL
  165. AND receivingAgent IS NULL
  166. UNION ALL
  167. SELECT receivingMode
  168. ,maxLimitAmt
  169. FROM countryReceivingMode crm WITH (NOLOCK)
  170. INNER JOIN sendTranLimit SL WITH (NOLOCK) ON crm.countryId = SL.receivingCountry
  171. AND SL.receivingCountry = @selectedValue1
  172. AND SL.countryId = @countryId
  173. WHERE agentId = @agentId
  174. AND SL.tranType IS NULL
  175. AND receivingAgent IS NULL
  176. AND ISNULL(isActive, 'N') = 'Y'
  177. AND ISNULL(isDeleted, 'N') = 'N'
  178. UNION ALL
  179. SELECT tranType
  180. ,MAX(maxLimitAmt) maxLimitAmt
  181. FROM sendTranLimit SL WITH (NOLOCK)
  182. WHERE countryId = @countryId
  183. AND SL.receivingCountry = @selectedValue1
  184. AND ISNULL(isActive, 'N') = 'Y'
  185. AND ISNULL(isDeleted, 'N') = 'N'
  186. AND SL.agentId IS NULL
  187. AND SL.tranType IS NOT NULL
  188. AND SL.receivingAgent IS NULL
  189. GROUP BY tranType
  190. UNION ALL
  191. SELECT tranType
  192. ,MAX(maxLimitAmt) maxLimitAmt
  193. FROM sendTranLimit SL WITH (NOLOCK)
  194. WHERE countryId = @countryId
  195. AND SL.receivingCountry = @selectedValue1
  196. AND SL.agentId = @agentid
  197. AND ISNULL(isActive, 'N') = 'Y'
  198. AND ISNULL(isDeleted, 'N') = 'N'
  199. AND receivingAgent IS NULL
  200. AND SL.tranType IS NOT NULL
  201. AND SL.receivingAgent IS NULL
  202. GROUP BY tranType
  203. ) X ON X.receivingMode = stm.serviceTypeId
  204. WHERE ISNULL(STM.isActive, 'N') = 'Y'
  205. AND ISNULL(STM.isDeleted, 'N') = 'N'
  206. AND (STM.serviceTypeId NOT IN (5))
  207. --AND (STM.serviceTypeId NOT IN (3,5))
  208. GROUP BY serviceTypeId
  209. ,typetitle
  210. HAVING MIN(X.maxLimitAmt) > 0
  211. ORDER BY serviceTypeId ASC
  212. END
  213. ELSE IF @Flag ='allCountrylist'
  214. BEGIN
  215. --select Id = @CountryId,text = UPPER(countryName)
  216. --order by ISNULL(isOperativeCountry,'N') DESC,countryName
  217. SELECT countryId AS [id] ,
  218. countryName AS [text]
  219. FROM countryMaster with (NOLOCK)
  220. order by ISNULL(isOperativeCountry,'N') DESC,countryName
  221. END
  222. IF @flag = 'getSourceOfFound'
  223. BEGIN
  224. SELECT
  225. valueId AS [id]
  226. ,detailTitle AS [text]
  227. FROM staticDataValue(NOLOCK)
  228. WHERE TYPEID = 3900
  229. END
  230. ELSE IF @Flag ='getGender'
  231. BEGIN
  232. SELECT valueId AS [id]
  233. ,detailTitle AS [text]
  234. FROM staticdatavalue WITH (NOLOCK)
  235. WHERE typeid = 4
  236. --AND ISNULL(ISActive, 'N') = 'Y'
  237. AND ISNULL(IS_DELETE, 'N') = 'N'
  238. ORDER BY [text] --Gender
  239. end
  240. ELSE IF @Flag ='getOccuptttion'
  241. BEGIN
  242. SELECT valueId AS [id]
  243. ,detailTitle AS [text]
  244. FROM staticdatavalue WITH (NOLOCK)
  245. WHERE typeid = 2000
  246. AND ISNULL(ISActive, 'Y') = 'Y'
  247. AND ISNULL(IS_DELETE, 'N') = 'N'
  248. --occuptttion
  249. END
  250. ELSE IF @Flag ='getIdType'
  251. BEGIN
  252. SELECT valueId AS id,detailTitle AS text
  253. FROM dbo.staticDataValue (NOLOCK)
  254. WHERE typeID=1300
  255. AND ISNULL(ISACTIVE, 'Y') = 'Y'
  256. AND ISNULL(IS_DELETE, 'N') = 'N'
  257. END
  258. ELSE IF @Flag ='getRelation'
  259. BEGIN
  260. SELECT valueId AS id,detailTitle AS text
  261. FROM dbo.staticDataValue (NOLOCK)
  262. WHERE typeID=2100
  263. AND ISNULL(ISACTIVE, 'Y') = 'Y'
  264. AND ISNULL(IS_DELETE, 'N') = 'N'
  265. END
  266. ELSE IF @flag = 'payoutMethods'
  267. BEGIN
  268. DECLARE @payoutMethods TABLE ([Key] INT,[Value] VARCHAR(50),DISORDER INT)
  269. INSERT INTO @payoutMethods([Key],[Value])
  270. SELECT
  271. Id = serviceTypeId
  272. ,Text = UPPER(typetitle)
  273. FROM serviceTypeMaster stm WITH (NOLOCK)
  274. INNER JOIN(
  275. SELECT
  276. receivingMode, maxLimitAmt
  277. FROM countryReceivingMode crm WITH(NOLOCK)
  278. INNER JOIN sendTranLimit SL WITH (NOLOCK) ON crm.countryId = SL.receivingCountry
  279. INNER JOIN COUNTRYMASTER CM (NOLOCK) ON CM.COUNTRYID = SL.COUNTRYID
  280. WHERE CM.COUNTRYNAME = @country
  281. AND SL.agentId IS NULL AND SL.tranType IS NULL AND receivingAgent IS NULL
  282. UNION ALL
  283. SELECT
  284. receivingMode, maxLimitAmt
  285. FROM countryReceivingMode crm WITH(NOLOCK)
  286. INNER JOIN sendTranLimit SL WITH (NOLOCK) ON crm.countryId = SL.receivingCountry
  287. INNER JOIN COUNTRYMASTER CM (NOLOCK) ON CM.COUNTRYID = SL.receivingCountry
  288. WHERE SL.tranType IS NULL
  289. AND CM.COUNTRYNAME = @country
  290. AND receivingAgent IS NULL
  291. AND ISNULL(SL.isActive,'N')='Y'
  292. AND ISNULL(SL.isDeleted,'N')='N'
  293. UNION ALL
  294. SELECT tranType, MAX(maxLimitAmt) maxLimitAmt
  295. FROM sendTranLimit SL WITH (NOLOCK)
  296. INNER JOIN COUNTRYMASTER CM (NOLOCK) ON CM.COUNTRYID = SL.receivingCountry
  297. WHERE CM.COUNTRYNAME = @country
  298. AND ISNULL(SL.isActive,'N')='Y'
  299. AND ISNULL(SL.isDeleted,'N')='N'
  300. AND SL.agentId IS NULL
  301. AND SL.tranType IS NOT NULL
  302. AND SL.receivingAgent IS NULL
  303. GROUP BY tranType
  304. UNION ALL
  305. SELECT tranType, MAX(maxLimitAmt) maxLimitAmt
  306. FROM sendTranLimit SL WITH (NOLOCK)
  307. INNER JOIN COUNTRYMASTER CM (NOLOCK) ON CM.COUNTRYID = SL.receivingCountry
  308. WHERE CM.COUNTRYNAME = @country
  309. AND ISNULL(SL.isActive,'N')='Y'
  310. AND ISNULL(SL.isDeleted,'N')='N'
  311. AND receivingAgent IS NULL
  312. AND SL.tranType IS NOT NULL
  313. AND SL.receivingAgent IS NULL
  314. GROUP BY tranType )X ON X.receivingMode = stm.serviceTypeId
  315. WHERE ISNULL(STM.isActive,'N') = 'Y' AND ISNULL(STM.isDeleted,'N') = 'N'
  316. AND (STM.serviceTypeId NOT IN (5))
  317. --AND (STM.serviceTypeId NOT IN (3,5))
  318. GROUP BY serviceTypeId,typetitle
  319. HAVING MIN(X.maxLimitAmt)>0
  320. --ORDER BY serviceTypeId ASC
  321. UPDATE @payoutMethods SET DISORDER = CASE WHEN @country in('Bangladesh','MONGOLIA','THAILAND','INDIA','PAKISTAN') AND [Key]=2 THEN 0 ELSE [Key] END
  322. DELETE FROM @payoutMethods WHERE @country IN ('CAMBODIA') AND [Key] = '2'
  323. --DELETE FROM @payoutMethods WHERE @country='thailand' AND [Key] = '1'
  324. SELECT [Key],[Value] FROM @payoutMethods ORDER BY DISORDER
  325. END
  326. END TRY
  327. BEGIN CATCH
  328. SET @ErrorMsg = 'Internal Server Error: ' + ERROR_MESSAGE()
  329. SELECT errorCode = 1, msg = @ErrorMsg, id = NULL
  330. END CATCH