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.

376 lines
13 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_agentPicker] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_agentPicker]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_agentPicker] 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_agentPicker]
  12. @flag VARCHAR(50) = NULL
  13. ,@user VARCHAR(30) = NULL
  14. ,@agentId VARCHAR(30) = NULL
  15. ,@parentId VARCHAR(30) = NULL
  16. ,@agentName VARCHAR(100) = NULL
  17. ,@agentCode VARCHAR(50) = NULL
  18. ,@agentAddress VARCHAR(200) = NULL
  19. ,@agentCity VARCHAR(100) = NULL
  20. ,@agentCountryId INT = NULL
  21. ,@agentCountry VARCHAR(100) = NULL
  22. ,@agentState VARCHAR(100) = NULL
  23. ,@agentDistrict VARCHAR(100) = NULL
  24. ,@agentZip VARCHAR(20) = NULL
  25. ,@agentLocation INT = NULL
  26. ,@agentPhone1 VARCHAR(20) = NULL
  27. ,@agentPhone2 VARCHAR(20) = NULL
  28. ,@agentFax1 VARCHAR(20) = NULL
  29. ,@agentFax2 VARCHAR(20) = NULL
  30. ,@agentMobile1 VARCHAR(20) = NULL
  31. ,@agentMobile2 VARCHAR(20) = NULL
  32. ,@agentEmail1 VARCHAR(100) = NULL
  33. ,@agentEmail2 VARCHAR(100) = NULL
  34. ,@businessOrgType INT = NULL
  35. ,@agentRole CHAR(1) = NULL
  36. ,@agentType INT = NULL
  37. ,@actAsBranch CHAR(1) = NULL
  38. ,@contractExpiryDate DATETIME = NULL
  39. ,@renewalFollowupDate DATETIME = NULL
  40. ,@isSettlingAgent CHAR(1) = NULL
  41. ,@agentGroup INT = NULL
  42. ,@businessLicense VARCHAR(100) = NULL
  43. ,@agentBlock CHAR(1) = NULL
  44. ,@agentcompanyName VARCHAR(200) = NULL
  45. ,@companyAddress VARCHAR(200) = NULL
  46. ,@companyCity VARCHAR(100) = NULL
  47. ,@companyCountry VARCHAR(100) = NULL
  48. ,@companyState VARCHAR(100) = NULL
  49. ,@companyDistrict VARCHAR(100) = NULL
  50. ,@companyZip VARCHAR(20) = NULL
  51. ,@companyPhone1 VARCHAR(20) = NULL
  52. ,@companyPhone2 VARCHAR(20) = NULL
  53. ,@companyFax1 VARCHAR(20) = NULL
  54. ,@companyFax2 VARCHAR(20) = NULL
  55. ,@companyEmail1 VARCHAR(100) = NULL
  56. ,@companyEmail2 VARCHAR(100) = NULL
  57. ,@localTime INT = NULL
  58. ,@localCurrency INT = NULL
  59. ,@agentDetails VARCHAR(MAX) = NULL
  60. ,@parentName VARCHAR(100) = NULL
  61. ,@haschanged CHAR(1) = NULL
  62. ,@isActive CHAR(1) = NULL
  63. ,@isDeleted CHAR(1) = NULL
  64. ,@sortBy VARCHAR(50) = NULL
  65. ,@sortOrder VARCHAR(5) = NULL
  66. ,@pageSize INT = NULL
  67. ,@pageNumber INT = NULL
  68. ,@populateBranch CHAR(1) = NULL
  69. ,@populateBankBranch CHAR(1) = NULL
  70. ,@headMessage VARCHAR(MAX) = NULL
  71. ,@filterColumn VARCHAR(100) = NULL
  72. ,@filterValue VARCHAR(100) = NULL
  73. ,@controlNo VARCHAR(20) = NULL
  74. AS
  75. SET NOCOUNT ON
  76. DECLARE @glcode VARCHAR(10), @acct_num VARCHAR(20);
  77. CREATE TABLE #tempACnum (acct_num VARCHAR(20));
  78. SET XACT_ABORT ON
  79. BEGIN TRY
  80. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  81. DECLARE
  82. @sql VARCHAR(MAX)
  83. ,@oldValue VARCHAR(MAX)
  84. ,@newValue VARCHAR(MAX)
  85. ,@tableName VARCHAR(50)
  86. ,@logIdentifier VARCHAR(100)
  87. ,@logParamMain VARCHAR(100)
  88. ,@tableAlias VARCHAR(100)
  89. ,@modType VARCHAR(6)
  90. ,@module INT
  91. ,@select_field_list VARCHAR(MAX)
  92. ,@extra_field_list VARCHAR(MAX)
  93. ,@table VARCHAR(MAX)
  94. ,@sql_filter VARCHAR(MAX)
  95. ,@ApprovedFunctionId INT
  96. SELECT
  97. @logIdentifier = 'agentId'
  98. ,@logParamMain = 'agentMaster'
  99. ,@tableAlias = 'Agent'
  100. ,@module = 20
  101. ,@ApprovedFunctionId = 20101030
  102. IF @flag = 'dAgent' -- GET DOMESTIC AGENT FOR SENDING DOMESTIC TRANSACTION
  103. BEGIN
  104. SELECT TOP 30 A.agentName+'|'+ CAST(agentId AS VARCHAR) agentName ,A.agentId FROM
  105. (
  106. SELECT
  107. agentId
  108. ,agentName + ISNULL('(' + b.districtName + ')', '') agentName
  109. FROM agentMaster a WITH(NOLOCK)
  110. LEFT JOIN api_districtList b WITH(NOLOCK)
  111. ON a.agentLocation = b.districtCode
  112. WHERE agentCountry = 'Nepal'
  113. AND (actAsBranch = 'Y' OR agentType = 2904)
  114. AND ISNULL(a.isDeleted, 'N') = 'N'
  115. AND ISNULL(a.isActive, 'N') = 'Y'
  116. )A WHERE A.agentName LIKE '%'+@agentName+'%' ORDER BY A.agentName
  117. END
  118. ELSE IF @flag = 'dAgent2'
  119. BEGIN
  120. SELECT TOP 30 A.agentName+'|'+ mapCodeInt agentName ,A.mapCodeInt FROM
  121. (
  122. SELECT
  123. mapCodeInt
  124. ,agentName + ISNULL('(' + b.districtName + ')', '') agentName
  125. FROM agentMaster a WITH(NOLOCK)
  126. LEFT JOIN api_districtList b WITH(NOLOCK)
  127. ON a.agentLocation = b.districtCode
  128. WHERE agentCountry = 'Nepal'
  129. AND (actAsBranch = 'Y' OR agentType = 2904)
  130. AND ISNULL(a.isDeleted, 'N') = 'N'
  131. AND ISNULL(a.isActive, 'N') = 'Y'
  132. )A WHERE A.agentName LIKE '%'+@agentName+'%' ORDER BY A.agentName
  133. END
  134. ELSE IF @flag = 'privateAgent'
  135. BEGIN
  136. SELECT TOP 30 A.agentName+'|'+ CAST(agentId AS VARCHAR) agentName ,A.agentId FROM
  137. (
  138. SELECT
  139. agentId
  140. ,agentName + ISNULL('(' + b.districtName + ')', '') agentName
  141. FROM agentMaster a WITH(NOLOCK)
  142. LEFT JOIN api_districtList b WITH(NOLOCK)
  143. ON a.agentLocation = b.districtCode
  144. WHERE agentCountry = 'Nepal'
  145. AND (agentType = 2904 OR actAsBranch = 'Y')
  146. AND ISNULL(a.isDeleted, 'N') = 'N'
  147. AND ISNULL(a.isActive, 'N') = 'Y'
  148. )A WHERE A.agentName LIKE '%'+@agentName+'%' ORDER BY A.agentName
  149. END
  150. ELSE IF @flag = 'dBank'
  151. BEGIN
  152. SELECT TOP 30 A.agentName+'|'+ CAST(agentId AS VARCHAR) agentName ,A.agentId FROM
  153. (
  154. SELECT
  155. agentId
  156. ,agentName + ISNULL('(' + b.districtName + ')', '') agentName
  157. FROM agentMaster a WITH(NOLOCK)
  158. LEFT JOIN api_districtList b WITH(NOLOCK)
  159. ON a.agentLocation = b.districtCode
  160. WHERE agentCountry = 'Nepal'
  161. AND (agentType IN (2904, 2906)) AND mapCodeIntAc IS NOT NULL
  162. AND ISNULL(a.isDeleted, 'N') = 'N'
  163. AND ISNULL(a.isActive, 'N') = 'Y'
  164. )A WHERE A.agentName LIKE '%'+@agentName+'%' ORDER BY A.agentName
  165. END
  166. ELSE IF @flag = 'acdepositbank'
  167. BEGIN
  168. IF RIGHT(@controlNo, 1) = 'D' -- For Domestic
  169. BEGIN
  170. SELECT TOP 30 A.agentName+'|'+ CAST(agentId AS VARCHAR) agentName ,A.agentId FROM
  171. (
  172. SELECT
  173. agentId
  174. ,agentName + ISNULL('(' + b.districtName + ')', '') agentName
  175. FROM agentMaster a WITH(NOLOCK)
  176. LEFT JOIN api_districtList b WITH(NOLOCK)
  177. ON a.agentLocation = b.districtCode
  178. WHERE agentCountry = 'Nepal'
  179. AND (agentType IN (2906))
  180. AND ISNULL(a.isDeleted, 'N') = 'N'
  181. AND ISNULL(a.isActive, 'N') = 'Y'
  182. )A WHERE A.agentName LIKE '%'+@agentName+'%' ORDER BY A.agentName
  183. END
  184. ELSE -- For International
  185. BEGIN
  186. --SELECT TOP 30 A.agentName+'|'+ CAST(agentId AS VARCHAR) agentName ,A.agentId FROM
  187. -- (
  188. -- SELECT
  189. -- agentId
  190. -- ,agentName + ISNULL('(' + b.districtName + ')', '') agentName
  191. -- FROM agentMaster a WITH(NOLOCK)
  192. -- LEFT JOIN api_districtList b WITH(NOLOCK)
  193. -- ON a.agentLocation = b.districtCode
  194. -- WHERE agentCountry = 'Nepal'
  195. -- AND (agentType IN (2904, 2906)) --AND mapCodeIntAc IS NOT NULL
  196. -- AND ISNULL(a.isDeleted, 'N') = 'N'
  197. -- AND ISNULL(a.isActive, 'N') = 'Y'
  198. -- )A WHERE A.agentName LIKE '%'+@agentName+'%' ORDER BY A.agentName
  199. SELECT TOP 30 A.agentName+'|'+ CAST(agentId AS VARCHAR) agentName ,A.agentId FROM
  200. (
  201. SELECT
  202. a.agentId
  203. ,a.agentName + ISNULL('(' + b.districtName + ')', '') agentName
  204. FROM agentMaster a WITH(NOLOCK)
  205. INNER JOIN agentMaster am with(nolock) on a.parentId =am.agentId
  206. LEFT JOIN api_districtList b WITH(NOLOCK)
  207. ON a.agentLocation = b.districtCode
  208. WHERE a.agentCountry = 'Nepal'
  209. AND a.agentType =2906
  210. AND am.agentType = 2905
  211. AND ISNULL(a.isDeleted, 'N') = 'N'
  212. AND ISNULL(a.isActive, 'N') = 'Y'
  213. AND ISNULL(a.agentBlock, 'N') = 'N'
  214. )A WHERE A.agentName LIKE '%'+@agentName+'%' ORDER BY A.agentName
  215. END
  216. END
  217. IF @flag = 's'
  218. BEGIN
  219. IF @sortBy IS NULL
  220. SET @sortBy = 'agentId'
  221. IF @sortOrder IS NULL
  222. SET @sortOrder = 'ASC'
  223. SET @table = '(
  224. SELECT
  225. main.parentId
  226. ,main.agentId
  227. ,main.agentName
  228. ,main.agentAddress
  229. ,main.agentCity
  230. ,main.agentLocation
  231. ,countryName = main.agentCountry
  232. ,main.agentPhone1
  233. ,main.agentType
  234. ,main.actAsBranch
  235. ,main.contractExpiryDate
  236. ,main.renewalFollowupDate
  237. ,main.isSettlingAgent
  238. ,main.agentGrp
  239. ,main.allowAccountDeposit
  240. ,agentGroup = ag.detailTitle
  241. ,agentType1 = sdv.detailTitle
  242. ,parentName = am.agentName
  243. ,main.isActive
  244. ,main.isDeleted
  245. FROM agentMaster main
  246. LEFT JOIN staticDataValue sdv WITH(NOLOCK) ON main.agentType = sdv.valueId
  247. LEFT JOIN staticDataValue ag WITH(NOLOCK) ON main.agentGrp = ag.valueId
  248. LEFT JOIN agentMaster am WITH(NOLOCK) ON main.parentId = am.agentId
  249. WHERE 1=1
  250. ) x'
  251. SET @sql_filter = ''
  252. SET @sql_filter = @sql_filter + ' AND ISNULL(isDeleted, '''') <> ''Y'' '
  253. SET @sql_filter = @sql_filter + ' AND ISNULL(isActive, '''') = ''Y'' '
  254. IF @filterColumn IS NOT NULL and @filterValue IS NOT NULL
  255. SET @sql_filter = @sql_filter + ' AND '+ @filterColumn +' = '''+ @filterValue +''' '
  256. IF @agentCountry IS NOT NULL
  257. SET @sql_filter = @sql_filter + ' AND ISNULL(countryName, '''') = ''' + CAST(@agentCountry AS VARCHAR) + ''''
  258. IF @agentType IS NOT NULL
  259. SET @sql_filter = @sql_filter + ' AND ISNULL(agentType, '''') = ' + CAST(@agentType AS VARCHAR)
  260. IF @agentGroup IS NOT NULL
  261. SET @sql_filter = @sql_filter + ' AND ISNULL(agentGrp, '''') = ' + CAST(@agentGroup AS VARCHAR)
  262. IF @agentName IS NOT NULL
  263. SET @sql_filter = @sql_filter + ' AND ISNULL(agentName, '''') LIKE ''%' + @agentName + '%'''
  264. IF @parentName IS NOT NULL
  265. SET @sql_filter = @sql_filter + ' AND ISNULL(parentName, '''') LIKE ''%' + @parentName + '%'''
  266. IF @agentLocation IS NOT NULL
  267. SET @sql_filter = @sql_filter + ' AND ISNULL(agentLocation, '''') = ' + CAST(@agentLocation AS VARCHAR)
  268. IF @parentId IS NOT NULL
  269. SET @sql_filter = @sql_filter + ' AND parentId = ' + CAST(@parentId AS VARCHAR)
  270. IF @actAsBranch IS NOT NULL
  271. SET @sql_filter = @sql_filter + ' AND ISNULL(actAsBranch, ''N'') = ''' + @actAsBranch + ''''
  272. IF @populateBranch = 'Y'
  273. SET @sql_filter = @sql_filter + ' AND (ISNULL(agentType, '''') = 2904 OR actAsBranch = ''Y'')'
  274. IF @populateBankBranch = 'Y'
  275. SET @sql_filter = @sql_filter + ' AND (ISNULL(agentType, '''') = 2906 OR allowAccountDeposit = ''Y'')'
  276. IF @contractExpiryDate IS NOT NULL
  277. SET @sql_filter = @sql_filter + ' AND contractExpiryDate = ''' + @contractExpiryDate + ''''
  278. IF @renewalFollowupDate IS NOT NULL
  279. SET @sql_filter = @sql_filter + ' AND renewalFollowupDate = ''' + @renewalFollowupDate + ''''
  280. IF @isSettlingAgent IS NOT NULL
  281. SET @sql_filter = @sql_filter + ' AND ISNULL(isSettlingAgent, ''N'') = ''' + @isSettlingAgent + ''''
  282. SET @select_field_list ='
  283. parentId
  284. ,agentId
  285. ,agentName
  286. ,agentAddress
  287. ,agentCity
  288. ,agentLocation
  289. ,agentPhone1
  290. ,agentType
  291. ,agentType1
  292. ,contractExpiryDate
  293. ,renewalFollowupDate
  294. ,isSettlingAgent
  295. ,countryName
  296. ,agentGroup
  297. ,parentName
  298. '
  299. EXEC dbo.proc_paging
  300. @table
  301. ,@sql_filter
  302. ,@select_field_list
  303. ,@extra_field_list
  304. ,@sortBy
  305. ,@sortOrder
  306. ,@pageSize
  307. ,@pageNumber
  308. END
  309. IF @flag = 'dAgent3' -- GET SCHOOL/COLLEGE AGENT
  310. BEGIN
  311. SELECT TOP 30 A.agentName+'|'+ CAST(agentId AS VARCHAR) agentName ,A.agentId FROM
  312. (
  313. SELECT
  314. agentId
  315. ,agentName + ISNULL('(' + b.districtName + ')', '') agentName
  316. FROM agentMaster a WITH(NOLOCK)
  317. LEFT JOIN api_districtList b WITH(NOLOCK)
  318. ON a.agentLocation = b.districtCode
  319. WHERE parentId = '5576'
  320. AND ISNULL(a.isDeleted, 'N') = 'N'
  321. AND ISNULL(a.isActive, 'N') = 'Y'
  322. )A WHERE A.agentName LIKE '%'+@agentName+'%' ORDER BY A.agentName
  323. END
  324. END TRY
  325. BEGIN CATCH
  326. IF @@TRANCOUNT > 0
  327. ROLLBACK TRANSACTION
  328. SELECT 1 error_code, ERROR_MESSAGE() mes, null id
  329. END CATCH
  330. GO