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.

401 lines
23 KiB

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