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.

568 lines
16 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_countryMaster] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_countryMaster]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_countryMaster] Script Date: 7/4/2019 11:35:48 AM ******/
  7. SET ANSI_NULLS ON
  8. GO
  9. SET QUOTED_IDENTIFIER ON
  10. GO
  11. /*IF EXISTS (SELECT 'x' FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[proc_countryMaster]') AND TYPE IN (N'P', N'PC'))
  12. DROP PROCEDURE [dbo].proc_countryMaster
  13. GO
  14. proc_countryMaster 's'
  15. */
  16. CREATE PROC [dbo].[proc_countryMaster]
  17. @flag VARCHAR(150) = NULL
  18. ,@user VARCHAR(30) = NULL
  19. ,@countryId VARCHAR(30) = NULL
  20. ,@countryCode VARCHAR(10) = NULL
  21. ,@countryName VARCHAR(50) = NULL
  22. ,@isOperativeCountry VARCHAR(1) = NULL
  23. ,@isoAlpha3 VARCHAR(50) = NULL
  24. ,@iocOlympic VARCHAR(50) = NULL
  25. ,@isoNumeric VARCHAR(50) = NULL
  26. ,@sortBy VARCHAR(50) = NULL
  27. ,@sortOrder VARCHAR(5) = NULL
  28. ,@pageSize INT = NULL
  29. ,@pageNumber INT = NULL
  30. ,@operationType VARCHAR(2) = NULL
  31. ,@fatfRating VARCHAR(20) = NULL
  32. ,@timeZoneId INT = NULL
  33. ,@agentOperationControlType VARCHAR(5) = NULL
  34. ,@defaultRoutingAgent INT = NULL
  35. ,@countryMobCode VARCHAR(10) = NULL
  36. ,@CountryMobLength INT = NULL
  37. AS
  38. SET NOCOUNT ON
  39. SET XACT_ABORT ON
  40. BEGIN TRY
  41. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  42. DECLARE
  43. @sql VARCHAR(MAX)
  44. ,@oldValue VARCHAR(MAX)
  45. ,@newValue VARCHAR(MAX)
  46. ,@module VARCHAR(10)
  47. ,@tableAlias VARCHAR(100)
  48. ,@logIdentifier VARCHAR(50)
  49. ,@logParamMod VARCHAR(100)
  50. ,@logParamMain VARCHAR(100)
  51. ,@table VARCHAR(MAX)
  52. ,@select_field_list VARCHAR(MAX)
  53. ,@extra_field_list VARCHAR(MAX)
  54. ,@sql_filter VARCHAR(MAX)
  55. ,@modType VARCHAR(6)
  56. SELECT
  57. @logIdentifier = 'countryId'
  58. ,@logParamMain = 'countryMaster'
  59. ,@logParamMod = 'countryMasterMod'
  60. ,@module = '20'
  61. ,@tableAlias = 'Country Master'
  62. IF @flag = 'cl' -- country List
  63. BEGIN
  64. SELECT [0], [1] FROM (
  65. SELECT NULL [0], 'All' [1] UNION ALL
  66. SELECT
  67. ccm.countryId [0]
  68. ,ccm.countryName [1]
  69. FROM countryMaster ccm WITH (NOLOCK)
  70. WHERE ISNULL(ccm.isDeleted, 'N') <> 'Y'
  71. ) x ORDER BY CASE WHEN x.[0] IS NULL THEN CAST(x.[0] AS VARCHAR) ELSE x.[1] END
  72. RETURN
  73. END
  74. ELSE IF @flag = 'cl2' -- country List with Name as Value
  75. BEGIN
  76. SELECT [value], [text] FROM (
  77. SELECT NULL [value], 'All' [text] UNION ALL
  78. SELECT
  79. ccm.countryName [value]
  80. ,ccm.countryName [text]
  81. FROM countryMaster ccm WITH (NOLOCK)
  82. WHERE ISNULL(ccm.isOperativeCountry, 'N') = 'Y'
  83. AND ISNULL(ccm.isDeleted, 'N') <> 'Y'
  84. ) x ORDER BY CASE WHEN x.[value] IS NULL THEN CAST(x.[value] AS VARCHAR) ELSE x.[text] END
  85. RETURN
  86. END
  87. ELSE IF @flag = 'l'
  88. BEGIN
  89. SELECT
  90. countryId
  91. ,countryName
  92. FROM countryMaster WITH (NOLOCK)
  93. WHERE ISNULL(isDeleted, 'N') <> 'Y'
  94. ORDER BY countryName
  95. RETURN
  96. END
  97. --Country List by ID
  98. ELSE IF @flag = 'lid'
  99. BEGIN
  100. select distinct C.countryId, C.countryName
  101. from rsList1 R, countryMaster C , countryMaster M
  102. where R.rsCountryId = C.countryId and R.countryId = M.countryId
  103. AND M.countryName = @countryName
  104. AND ISNULL(C.isDeleted, 'N') <> 'Y'
  105. ORDER BY C.countryName
  106. RETURN
  107. END
  108. --type By Name
  109. ELSE IF @flag = 'typeByName'
  110. BEGIN
  111. SELECT distinct
  112. S.serviceTypeId, S.typeTitle
  113. from rsList1 R, countryMaster C , countryMaster M, serviceTypeMaster S
  114. where R.rsCountryId = C.countryId and R.countryId = M.countryId
  115. and R.tranType = S.serviceTypeId
  116. AND M.countryName = @countryName
  117. AND C.countryId = @countryId
  118. AND ISNULL(C.isDeleted, 'N') <> 'Y'
  119. ORDER BY S.typeTitle
  120. RETURN
  121. END
  122. ELSE IF @flag = 'l2'
  123. BEGIN
  124. --SELECT
  125. -- cm.countryId
  126. -- ,cm.countryName
  127. --FROM countryMaster cm WITH (NOLOCK)
  128. --INNER JOIN applicationUsers au WITH(NOLOCK) ON cm.countryId = au.countryId
  129. --WHERE au.userName = @user AND ISNULL(cm.isDeleted, 'N') <> 'Y'
  130. --ORDER BY countryName
  131. SELECT
  132. countryId
  133. ,countryName
  134. FROM countryMaster WITH (NOLOCK)
  135. WHERE ISNULL(isDeleted, 'N') <> 'Y'
  136. ORDER BY countryName
  137. RETURN
  138. END
  139. ELSE IF @flag = 'ocl' --Operative Country List
  140. BEGIN
  141. SELECT
  142. countryId
  143. ,countryName
  144. FROM countryMaster WITH(NOLOCK)
  145. WHERE ISNULL(isDeleted, 'N') = 'N'
  146. AND ISNULL(isOperativeCountry, 'N') = 'Y'
  147. AND operationType IS NOT NULL
  148. ORDER BY countryName
  149. END
  150. ELSE IF @flag = 'ocl1' --Operative Country List (international)
  151. BEGIN
  152. --SELECT
  153. -- countryId
  154. -- ,countryName
  155. --FROM countryMaster WITH(NOLOCK)
  156. --WHERE ISNULL(isDeleted, 'N') = 'N'
  157. --AND ISNULL(isOperativeCountry, 'N') = 'Y'
  158. --AND countryName<>'Nepal'
  159. --ORDER BY countryName
  160. SELECT * FROM (
  161. SELECT countryId,countryName FROM countryMaster WHERE countryName ='NEPAL'
  162. UNION ALL
  163. SELECT
  164. countryId,
  165. countryName
  166. FROM countryMaster
  167. WHERE ISNULL(isOperativeCountry,'') = 'Y'
  168. AND ISNULL(operationType,'B') IN ('B','S')
  169. ) X ORDER BY countryName
  170. --ORDER BY countryName ASC
  171. RETURN
  172. END
  173. ELSE IF @flag = 'scl'
  174. BEGIN
  175. SELECT
  176. countryId
  177. ,countryName
  178. FROM countryMaster WITH(NOLOCK)
  179. WHERE ISNULL(isDeleted, 'N') = 'N'
  180. AND ISNULL(isOperativeCountry, 'N') = 'Y'
  181. AND operationType IN ('B', 'S')
  182. ORDER BY countryName
  183. END
  184. ELSE IF @flag = 'rcl'
  185. BEGIN
  186. SELECT
  187. countryId
  188. ,countryName
  189. FROM countryMaster WITH(NOLOCK)
  190. WHERE ISNULL(isDeleted, 'N') = 'N'
  191. AND ISNULL(isOperativeCountry, 'N') = 'Y'
  192. AND operationType IN ('B', 'R')
  193. ORDER BY countryName
  194. END
  195. --EXEC proc_countryMaster @flag = 'rclNepalOnly'
  196. ELSE IF @flag = 'rclNepalOnly'
  197. BEGIN
  198. SELECT
  199. countryId
  200. ,countryName
  201. FROM countryMaster WITH(NOLOCK)
  202. WHERE ISNULL(isDeleted, 'N') = 'N'
  203. AND ISNULL(isOperativeCountry, 'N') = 'Y'
  204. AND operationType IN ('B', 'R')
  205. -- AND countryName = 'Nepal'
  206. ORDER BY countryName
  207. END
  208. ELSE IF @flag = 'rclForRouting'
  209. BEGIN
  210. SELECT
  211. cm.countryId
  212. ,countryName
  213. FROM countryReceivingMode crm WITH(NOLOCK)
  214. INNER JOIN countryMaster cm WITH (NOLOCK)
  215. ON crm.countryId = cm.countryId
  216. WHERE crm.receivingMode = 3
  217. --AND cm.countryId <> 133
  218. ORDER BY countryName
  219. END
  220. ELSE IF @flag = 'ot' --Get Operation Type
  221. BEGIN
  222. -- SELECT operationType = ISNULL(operationType, '''') FROM countryMaster WITH(NOLOCK) WHERE countryId = @countryId
  223. SELECT operationType = 'B' FROM countryMaster WITH(NOLOCK) WHERE countryId = @countryId
  224. RETURN
  225. END
  226. ELSE IF @flag = 'i'
  227. BEGIN
  228. IF EXISTS(SELECT 'X' FROM countryMaster WITH(NOLOCK) WHERE countryCode = @countryCode AND ISNULL(isDeleted, 'N') <> 'Y')
  229. BEGIN
  230. EXEC proc_errorHandler 1, 'Country code already exists', NULL
  231. RETURN
  232. END
  233. IF EXISTS(SELECT 'X' FROM countryMaster WITH(NOLOCK) WHERE countryName = @countryName AND ISNULL(isDeleted, 'N') <> 'Y')
  234. BEGIN
  235. EXEC proc_errorHandler 1, 'Country Name already exists', NULL
  236. RETURN
  237. END
  238. BEGIN TRANSACTION
  239. INSERT INTO countryMaster (
  240. countryCode
  241. ,countryName
  242. ,isOperativeCountry
  243. ,isoAlpha3
  244. ,iocOlympic
  245. ,isoNumeric
  246. ,createdBy
  247. ,createdDate
  248. ,operationType
  249. ,fatfRating
  250. ,timeZoneId
  251. ,agentOperationControlType
  252. ,defaultRoutingAgent
  253. ,countryMobCode
  254. ,countryMobLength
  255. )
  256. SELECT
  257. @countryCode
  258. ,@countryName
  259. ,@isOperativeCountry
  260. ,@isoAlpha3
  261. ,@iocOlympic
  262. ,@isoNumeric
  263. ,@user
  264. ,GETDATE()
  265. ,@operationType
  266. ,@fatfRating
  267. ,@timeZoneId
  268. ,@agentOperationControlType
  269. ,@defaultRoutingAgent
  270. ,@countryMobCode
  271. ,@countryMobLength
  272. SET @modType = 'Insert'
  273. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @countryId , @newValue OUTPUT
  274. INSERT INTO #msg(errorCode, msg, id)
  275. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @countryId, @user, @oldValue, @newValue
  276. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  277. BEGIN
  278. IF @@TRANCOUNT > 0
  279. ROLLBACK TRANSACTION
  280. EXEC proc_errorHandler 1, 'Failed to add new record.', @countryId
  281. RETURN
  282. END
  283. IF @@TRANCOUNT > 0
  284. COMMIT TRANSACTION
  285. EXEC proc_errorHandler 0, 'Record has been added successfully.', @countryId
  286. END
  287. ELSE IF @flag = 'a'
  288. BEGIN
  289. SELECT * FROM countryMaster WITH(NOLOCK) WHERE countryId = @countryId
  290. END
  291. ELSE IF @flag = 'u'
  292. BEGIN
  293. BEGIN TRANSACTION
  294. UPDATE countryMaster SET
  295. countryCode = @countryCode
  296. ,countryName = @countryName
  297. ,isOperativeCountry = @isOperativeCountry
  298. ,isoAlpha3 = @isoAlpha3
  299. ,iocOlympic = @iocOlympic
  300. ,isoNumeric = @isoNumeric
  301. ,modifiedBy = @user
  302. ,modifiedDate = GETDATE()
  303. ,operationType = @operationType
  304. ,fatfRating = @fatfRating
  305. ,timeZoneId = @timeZoneId
  306. ,agentOperationControlType = @agentOperationControlType
  307. ,defaultRoutingAgent = @defaultRoutingAgent
  308. ,countryMobCode = @countryMobCode
  309. ,countryMobLength = @countryMobLength
  310. WHERE countryId = @countryId
  311. SET @modType = 'Update'
  312. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @countryId, @newValue OUTPUT
  313. INSERT INTO #msg(errorCode, msg, id)
  314. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @countryId, @user, @oldValue, @newValue
  315. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  316. BEGIN
  317. IF @@TRANCOUNT > 0
  318. ROLLBACK TRANSACTION
  319. EXEC proc_errorHandler 1, 'Failed to update record.', @countryId
  320. RETURN
  321. END
  322. IF @@TRANCOUNT > 0
  323. COMMIT TRANSACTION
  324. EXEC proc_errorHandler 0, 'Record updated successfully.', @countryId
  325. END
  326. ELSE IF @flag = 'd'
  327. BEGIN
  328. BEGIN TRANSACTION
  329. UPDATE countryMaster SET
  330. isDeleted = 'Y'
  331. ,modifiedDate = GETDATE()
  332. ,modifiedBy = @user
  333. WHERE countryId = @countryId
  334. SET @modType = 'Delete'
  335. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @countryId, @oldValue OUTPUT
  336. INSERT INTO #msg(errorCode, msg, id)
  337. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @countryId, @user, @oldValue, @newValue
  338. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  339. BEGIN
  340. IF @@TRANCOUNT > 0
  341. ROLLBACK TRANSACTION
  342. EXEC proc_errorHandler 1, 'Failed to delete record.', @countryId
  343. RETURN
  344. END
  345. IF @@TRANCOUNT > 0
  346. COMMIT TRANSACTION
  347. EXEC proc_errorHandler 0, 'Record deleted successfully.', @countryId
  348. END
  349. ELSE IF @flag IN ('s')
  350. BEGIN
  351. IF @sortBy IS NULL
  352. SET @sortBy = 'countryId'
  353. IF @sortOrder IS NULL
  354. SET @sortOrder = 'ASC'
  355. SET @table = '(
  356. SELECT
  357. main.countryId
  358. ,main.countryCode
  359. ,main.countryName
  360. ,main.isoAlpha3
  361. ,main.iocOlympic
  362. ,main.isoNumeric
  363. ,main.createdBy
  364. ,main.createdDate
  365. ,main.isDeleted
  366. ,main.isOperativeCountry
  367. ,[isOperativeCountryFlag] = CASE WHEN main.isOperativeCountry =''Y'' THEN ''YES'' ELSE ''NO'' END
  368. ,opType = main.operationType
  369. ,operationType = CASE WHEN main.operationType = ''B'' THEN ''Both'' WHEN main.operationType = ''S'' THEN ''Send'' WHEN main.operationType = ''R'' THEN ''Receive''
  370. ELSE ''Not Configured'' END
  371. FROM countryMaster MAIN WITH(NOLOCK)
  372. WHERE ISNULL(isDeleted, ''N'') = ''N''
  373. ) x'
  374. SET @sql_filter = ''
  375. IF @countryCode IS NOT NULL
  376. SET @sql_filter = @sql_filter + ' AND countryCode = ''' + @countryCode + ''''
  377. IF @isoAlpha3 IS NOT NULL
  378. SET @sql_filter = @sql_filter + ' AND isoAlpha3 = ''' + @isoAlpha3 + ''''
  379. IF @iocOlympic IS NOT NULL
  380. SET @sql_filter = @sql_filter + ' AND iocOlympic = ''' + @iocOlympic + ''''
  381. IF @isoNumeric IS NOT NULL
  382. SET @sql_filter = @sql_filter + ' AND isoNumeric = ''' + @isoNumeric + ''''
  383. IF @countryName IS NOT NULL
  384. SET @sql_filter = @sql_filter + ' AND countryName LIKE ''%' + @countryName + '%'''
  385. IF @isOperativeCountry IS NOT NULL
  386. SET @sql_filter = @sql_filter + ' AND ISNULL(isOperativeCountry, ''N'') = ''' + @isOperativeCountry + ''''
  387. SET @select_field_list ='
  388. countryId
  389. ,countryCode
  390. ,countryName
  391. ,isoAlpha3
  392. ,iocOlympic
  393. ,isoNumeric
  394. ,createdBy
  395. ,createdDate
  396. ,isDeleted
  397. ,isOperativeCountryFlag
  398. ,opType
  399. ,operationType'
  400. EXEC dbo.proc_paging
  401. @table
  402. ,@sql_filter
  403. ,@select_field_list
  404. ,@extra_field_list
  405. ,@sortBy
  406. ,@sortOrder
  407. ,@pageSize
  408. ,@pageNumber
  409. END
  410. ELSE IF @flag IN ('s2') --Load Operative Country List Only
  411. BEGIN
  412. IF @sortBy IS NULL
  413. SET @sortBy = 'countryId'
  414. IF @sortOrder IS NULL
  415. SET @sortOrder = 'ASC'
  416. --<a href = \"SendingLimit/List.aspx?countryId=@countryName\">Collection Limit</a>&nbsp;|&nbsp;<a href = \"ReceivingLimit/List.aspx?countryId=@countryName\">Payment Limit</a>
  417. SET @table = '(
  418. SELECT
  419. main.countryId
  420. ,main.countryCode
  421. ,main.countryName
  422. ,main.isoAlpha3
  423. ,main.iocOlympic
  424. ,main.isoNumeric
  425. ,main.createdBy
  426. ,main.createdDate
  427. ,main.isDeleted
  428. ,main.isOperativeCountry
  429. ,[isOperativeCountryFlag] = CASE WHEN main.isOperativeCountry =''Y'' THEN ''YES'' ELSE ''NO'' END
  430. ,link = CASE
  431. WHEN main.operationType = ''B'' THEN ''<a href="SendingLimit/List.aspx?countryId='' + CAST(main.countryId AS VARCHAR) + ''&countryName='' + main.countryName + ''">Collection Limit</a> | <a href="ReceivingLimit/List.aspx?countryId='' + CAST(main.countryId AS VARCHAR) + ''&countryName='' + main.countryName + ''">Receiving Limit</a>''
  432. WHEN main.operationType = ''S'' THEN ''<a href="SendingLimit/List.aspx?countryId='' + CAST(main.countryId AS VARCHAR) + ''&countryName='' + main.countryName + ''">Collection Limit</a>''
  433. WHEN main.operationType = ''R'' THEN ''<a href="ReceivingLimit/List.aspx?countryId='' + CAST(main.countryId AS VARCHAR) + ''&countryName='' + main.countryName + ''">Receiving Limit</a>''
  434. ELSE ''Please define operation type'' END
  435. FROM countryMaster MAIN WITH(NOLOCK)
  436. WHERE isOperativeCountry = ''Y'' AND main.operationType IS NOT NULL AND ISNULL(isDeleted, ''N'') = ''N''
  437. ) x'
  438. SET @sql_filter = ''
  439. IF @countryCode IS NOT NULL
  440. SET @sql_filter = @sql_filter + ' AND countryCode = ''' + @countryCode + ''''
  441. IF @isoAlpha3 IS NOT NULL
  442. SET @sql_filter = @sql_filter + ' AND isoAlpha3 = ''' + @isoAlpha3 + ''''
  443. IF @iocOlympic IS NOT NULL
  444. SET @sql_filter = @sql_filter + ' AND iocOlympic = ''' + @iocOlympic + ''''
  445. IF @isoNumeric IS NOT NULL
  446. SET @sql_filter = @sql_filter + ' AND isoNumeric = ''' + @isoNumeric + ''''
  447. IF @countryName IS NOT NULL
  448. SET @sql_filter = @sql_filter + ' AND countryName LIKE ''%' + @countryName + '%'''
  449. IF @isOperativeCountry IS NOT NULL
  450. SET @sql_filter = @sql_filter + ' AND ISNULL(isOperativeCountry, ''N'') = ''' + @isOperativeCountry + ''''
  451. SET @select_field_list ='
  452. countryId
  453. ,countryCode
  454. ,countryName
  455. ,isoAlpha3
  456. ,iocOlympic
  457. ,isoNumeric
  458. ,createdBy
  459. ,createdDate
  460. ,isDeleted
  461. ,isOperativeCountryFlag
  462. ,link'
  463. EXEC dbo.proc_paging
  464. @table
  465. ,@sql_filter
  466. ,@select_field_list
  467. ,@extra_field_list
  468. ,@sortBy
  469. ,@sortOrder
  470. ,@pageSize
  471. ,@pageNumber
  472. END
  473. ELSE IF @flag = 'l23'--agent country list
  474. BEGIN
  475. SELECT agentCountryId countryId ,agentCountry countryName
  476. FROM agentMaster WHERE agentId =(SELECT agentId FROM applicationUsers WHERE userName='bharat')
  477. END
  478. ELSE IF @flag = '321' --customer relation
  479. BEGIN
  480. SELECT valueId,detailTitle FROM staticDataValue WHERE typeID=2100
  481. END
  482. ELSE IF @flag = 'countryCode2Name'
  483. BEGIN
  484. SELECT countryName from countryMaster with(nolock) where countryCode = @countryCode
  485. END
  486. END TRY
  487. BEGIN CATCH
  488. IF @@TRANCOUNT > 0
  489. ROLLBACK TRANSACTION
  490. DECLARE @errorMessage VARCHAR(MAX)
  491. SET @errorMessage = ERROR_MESSAGE()
  492. EXEC proc_errorHandler 1, @errorMessage, @countryId
  493. END CATCH
  494. GO