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.

354 lines
9.7 KiB

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