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.

594 lines
37 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_agentCountryWiseCustomMargin] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. /*
  9. EXEC proc_agentCountryWiseCustomMargin @flag = 'approve', @user = 'admin', @agentCountryWiseCustomMarginId = '12'
  10. */
  11. CREATE proc [dbo].[proc_agentCountryWiseCustomMargin]
  12. @flag VARCHAR(50) = NULL
  13. ,@user VARCHAR(30) = NULL
  14. ,@agentCountryWiseCustomMarginId VARCHAR(30) = NULL
  15. ,@sAgentId INT = NULL
  16. ,@sRate FLOAT = NULL
  17. ,@sMargin FLOAT = NULL
  18. ,@sMin FLOAT = NULL
  19. ,@sMax FLOAT = NULL
  20. ,@pCountryId INT = NULL
  21. ,@pRate FLOAT = NULL
  22. ,@pMargin FLOAT = NULL
  23. ,@pMin FLOAT = NULL
  24. ,@pMax FLOAT = NULL
  25. ,@SCRCRate FLOAT = NULL
  26. ,@SCRCMargin FLOAT = NULL
  27. ,@rndSExRate INT = NULL
  28. ,@rndPAmount INT = NULL
  29. ,@createDate DATETIME = NULL
  30. ,@rowId INT = NULL
  31. AS
  32. SET NOCOUNT ON
  33. SET XACT_ABORT ON
  34. BEGIN TRY
  35. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  36. DECLARE
  37. @sql VARCHAR(MAX)
  38. ,@oldValue VARCHAR(MAX)
  39. ,@newValue VARCHAR(MAX)
  40. ,@module VARCHAR(10)
  41. ,@tableAlias VARCHAR(100)
  42. ,@logIdentifier VARCHAR(50)
  43. ,@logParamMod VARCHAR(100)
  44. ,@logParamMain VARCHAR(100)
  45. ,@table VARCHAR(MAX)
  46. ,@select_field_list VARCHAR(MAX)
  47. ,@extra_field_list VARCHAR(MAX)
  48. ,@sql_filter VARCHAR(MAX)
  49. ,@functionId INT
  50. ,@id VARCHAR(10)
  51. ,@modType VARCHAR(6)
  52. SELECT
  53. @logIdentifier = 'agentCountryWiseCustomMarginId'
  54. ,@logParamMain = 'agentCountryWiseCustomMargin'
  55. ,@logParamMod = 'agentCountryWiseCustomMarginHistory'
  56. ,@module = '10'
  57. ,@tableAlias = 'Agent Country Exchange Rate'
  58. IF @flag IN ('approve', 'reject')
  59. BEGIN
  60. SET @agentCountryWiseCustomMarginId = NULL
  61. SELECT @agentCountryWiseCustomMarginId = agentCountryWiseCustomMarginId FROM agentCountryWiseCustomMarginHistory WHERE rowId = @rowId AND approvedBy IS NULL
  62. END
  63. IF @flag = 'u'
  64. BEGIN
  65. SELECT
  66. @pRate = pRate
  67. ,@sRate = sRate
  68. ,@SCRCRate = SCRCRate
  69. FROM agentCountryWiseCustomMargin WHERE agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId
  70. SET @SCRCMargin = CAST(ISNULL(ISNULL(@pRate, 0) + ISNULL(@pMargin, 0) / NULLIF(ISNULL(@sRate, 0) + ISNULL(@sMargin, 0), 0), 0) - ISNULL(@SCRCRate, 0) AS DECIMAL(38, 4))
  71. END
  72. IF @flag = 'i'
  73. BEGIN
  74. IF EXISTS(SELECT 'X' FROM agentCountryWiseCustomMargin WITH(NOLOCK) WHERE sAgentId = @sAgentId AND pCountryId = @pCountryId)
  75. BEGIN
  76. EXEC proc_errorHandler 1, 'Duplicate agent - country combination.', @agentCountryWiseCustomMarginId
  77. RETURN;
  78. END
  79. BEGIN TRANSACTION
  80. INSERT INTO agentCountryWiseCustomMargin (
  81. sAgentId
  82. ,sRate
  83. ,SMargin
  84. ,sMin
  85. ,sMax
  86. ,pCountryId
  87. ,pRate
  88. ,pMargin
  89. ,pMin
  90. ,pMax
  91. ,SCRCRate
  92. ,SCRCMargin
  93. ,rndSExRate
  94. ,rndPAmount
  95. ,createdBy
  96. ,createdDate
  97. )
  98. SELECT
  99. @sAgentId
  100. ,@sRate
  101. ,@SMargin
  102. ,@sMin
  103. ,@sMax
  104. ,@pCountryId
  105. ,@pRate
  106. ,@pMargin
  107. ,@pMin
  108. ,@pMax
  109. ,@SCRCRate
  110. ,@SCRCMargin
  111. ,@rndSExRate
  112. ,@rndPAmount
  113. ,@user
  114. ,GETDATE()
  115. SET @agentCountryWiseCustomMarginId = SCOPE_IDENTITY()
  116. INSERT INTO agentCountryWiseCustomMarginHistory(
  117. agentCountryWiseCustomMarginId
  118. ,sAgentId
  119. ,sRate
  120. ,sMargin
  121. ,sMin
  122. ,sMax
  123. ,pCountryId
  124. ,pRate
  125. ,pMargin
  126. ,pMin
  127. ,pMax
  128. ,SCRCRate
  129. ,SCRCMargin
  130. ,rndSExRate
  131. ,rndPAmount
  132. ,createdBy
  133. ,createdDate
  134. ,modType
  135. )
  136. SELECT
  137. @agentCountryWiseCustomMarginId
  138. ,@sAgentId
  139. ,@sRate
  140. ,@sMargin
  141. ,@sMin
  142. ,@sMax
  143. ,@pCountryId
  144. ,@pRate
  145. ,@pMargin
  146. ,@pMin
  147. ,@pMax
  148. ,@SCRCRate
  149. ,@SCRCMargin
  150. ,@rndSExRate
  151. ,@rndPAmount
  152. ,@user
  153. ,GETDATE()
  154. ,'insert'
  155. IF @@TRANCOUNT > 0
  156. COMMIT TRANSACTION
  157. EXEC proc_errorHandler 0, 'Record has been added successfully.', @agentCountryWiseCustomMarginId
  158. END
  159. ELSE IF @flag = 'a'
  160. BEGIN
  161. IF EXISTS (
  162. SELECT 'X' FROM agentCountryWiseCustomMarginHistory WITH(NOLOCK)
  163. WHERE agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId AND createdBy = @user
  164. )
  165. BEGIN
  166. SELECT
  167. mode.*
  168. FROM agentCountryWiseCustomMarginHistory mode WITH(NOLOCK)
  169. INNER JOIN agentCountryWiseCustomMargin main WITH(NOLOCK) ON mode.agentCountryWiseCustomMarginId = main.agentCountryWiseCustomMarginId
  170. WHERE mode.agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId AND mode.approvedBy IS NULL
  171. END
  172. ELSE
  173. BEGIN
  174. SELECT * FROM agentCountryWiseCustomMargin WITH(NOLOCK) WHERE agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId
  175. END
  176. END
  177. ELSE IF @flag = 'u'
  178. BEGIN
  179. IF EXISTS (
  180. SELECT 'X' FROM agentCountryWiseCustomMargin WITH(NOLOCK)
  181. WHERE agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId AND ( createdBy <> @user AND approvedBy IS NULL)
  182. )
  183. BEGIN
  184. EXEC proc_errorHandler 1, '<center>You can not modify this record. <br /> You are trying to perform an illegal operation.</center>', @agentCountryWiseCustomMarginId
  185. RETURN
  186. END
  187. IF EXISTS (
  188. SELECT 'X' FROM agentCountryWiseCustomMarginHistory WITH(NOLOCK)
  189. WHERE agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId AND (createdBy <> @user OR modType = 'delete')
  190. )
  191. BEGIN
  192. EXEC proc_errorHandler 1, '<center>You can not modify this record. <br /> You are trying to perform an illegal operation.</center>', @agentCountryWiseCustomMarginId
  193. RETURN
  194. END
  195. BEGIN TRANSACTION
  196. IF EXISTS (
  197. SELECT 'X' FROM agentCountryWiseCustomMargin WITH(NOLOCK)
  198. WHERE agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId AND ( createdBy = @user AND approvedBy IS NULL)
  199. )
  200. BEGIN
  201. UPDATE agentCountryWiseCustomMargin SET
  202. sMargin = @sMargin
  203. ,pMargin = @pMargin
  204. ,SCRCMargin = @SCRCMargin
  205. ,createdDate = GETDATE()
  206. ,createdBy = @user
  207. FROM agentCountryWiseCustomMargin
  208. WHERE agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId
  209. END
  210. DELETE FROM agentCountryWiseCustomMarginHistory WHERE agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId AND approvedBy IS NULL
  211. INSERT INTO agentCountryWiseCustomMarginHistory(
  212. agentCountryWiseCustomMarginId
  213. ,sAgentId
  214. ,sRate
  215. ,sMargin
  216. ,sMin
  217. ,sMax
  218. ,pCountryId
  219. ,pRate
  220. ,pMargin
  221. ,pMin
  222. ,pMax
  223. ,SCRCRate
  224. ,SCRCMargin
  225. ,rndSExRate
  226. ,rndPAmount
  227. ,createdBy
  228. ,createdDate
  229. ,modType
  230. )
  231. SELECT
  232. @agentCountryWiseCustomMarginId
  233. ,sAgentId
  234. ,sRate
  235. ,@sMargin
  236. ,sMin
  237. ,sMax
  238. ,pCountryId
  239. ,pRate
  240. ,@pMargin
  241. ,pMin
  242. ,pMax
  243. ,SCRCRate
  244. ,SCRCMargin
  245. ,rndSExRate
  246. ,rndPAmount
  247. ,@user
  248. ,GETDATE()
  249. ,'update'
  250. FROM agentCountryWiseCustomMargin
  251. WHERE agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId
  252. IF @@TRANCOUNT > 0
  253. COMMIT TRANSACTION
  254. EXEC proc_errorHandler 0, 'Record updated successfully.', @agentCountryWiseCustomMarginId
  255. END
  256. ELSE IF @flag = 'd'
  257. BEGIN
  258. IF EXISTS (
  259. SELECT 'X' FROM agentCountryWiseCustomMargin WITH(NOLOCK)
  260. WHERE agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId AND (createdBy <> @user AND approvedBy IS NULL)
  261. )
  262. BEGIN
  263. EXEC proc_errorHandler 1, '<center>You can not delete this record. <br /> You are trying to perform an illegal operation.</center>', @agentCountryWiseCustomMarginId
  264. RETURN
  265. END
  266. IF EXISTS (
  267. SELECT 'X' FROM agentCountryWiseCustomMarginHistory WITH(NOLOCK)
  268. WHERE agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId AND approvedBy IS NULL
  269. )
  270. BEGIN
  271. EXEC proc_errorHandler 1, '<center>You can not delete this record. <br /> Previous modification has not been approved yet.</center>', @agentCountryWiseCustomMarginId
  272. RETURN
  273. END
  274. INSERT INTO agentCountryWiseCustomMarginHistory(
  275. agentCountryWiseCustomMarginId
  276. ,sAgentId
  277. ,sRate
  278. ,sMargin
  279. ,sMin
  280. ,sMax
  281. ,pCountryId
  282. ,pRate
  283. ,pMargin
  284. ,pMin
  285. ,pMax
  286. ,SCRCRate
  287. ,SCRCMargin
  288. ,rndSExRate
  289. ,rndPAmount
  290. ,createdBy
  291. ,createdDate
  292. ,modType
  293. )
  294. SELECT
  295. @agentCountryWiseCustomMarginId
  296. ,sAgentId
  297. ,sRate
  298. ,sMargin
  299. ,sMin
  300. ,sMax
  301. ,pCountryId
  302. ,pRate
  303. ,pMargin
  304. ,pMin
  305. ,pMax
  306. ,SCRCRate
  307. ,SCRCMargin
  308. ,rndSExRate
  309. ,rndPAmount
  310. ,@user
  311. ,GETDATE()
  312. ,'delete'
  313. FROM agentCountryWiseCustomMarginHistory
  314. WHERE agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId
  315. EXEC proc_errorHandler 0, 'Record deleted successfully.', @agentCountryWiseCustomMarginId
  316. END
  317. ELSE IF @flag = 'reject'
  318. BEGIN
  319. IF NOT EXISTS (
  320. SELECT 'X' FROM agentCountryWiseCustomMarginHistory WITH(NOLOCK)
  321. WHERE agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId AND approvedBy IS NULL
  322. )
  323. BEGIN
  324. EXEC proc_errorHandler 1, '<center>Modification approval is not pending.</center>', @agentCountryWiseCustomMarginId
  325. RETURN
  326. END
  327. IF EXISTS (SELECT 'X' FROM agentCountryWiseCustomMargin WHERE approvedBy IS NULL AND agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId)
  328. BEGIN --New record
  329. BEGIN TRANSACTION
  330. SET @modType = 'Reject'
  331. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @agentCountryWiseCustomMarginId, @oldValue OUTPUT
  332. INSERT INTO #msg(errorCode, msg, id)
  333. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @agentCountryWiseCustomMarginId, @user, @oldValue, @newValue
  334. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  335. BEGIN
  336. IF @@TRANCOUNT > 0
  337. ROLLBACK TRANSACTION
  338. EXEC proc_errorHandler 1, 'Failed to reject the transaction.', @agentCountryWiseCustomMarginId
  339. RETURN
  340. END
  341. DELETE FROM agentCountryWiseCustomMargin WHERE agentCountryWiseCustomMarginId= @agentCountryWiseCustomMarginId
  342. DELETE FROM agentCountryWiseCustomMarginHistory WHERE agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId
  343. IF @@TRANCOUNT > 0
  344. COMMIT TRANSACTION
  345. END
  346. ELSE
  347. BEGIN
  348. BEGIN TRANSACTION
  349. SET @modType = 'Reject'
  350. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @agentCountryWiseCustomMarginId, @oldValue OUTPUT
  351. INSERT INTO #msg(errorCode, msg, id)
  352. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @agentCountryWiseCustomMarginId, @user, @oldValue, @newValue
  353. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  354. BEGIN
  355. IF @@TRANCOUNT > 0
  356. ROLLBACK TRANSACTION
  357. EXEC proc_errorHandler 1, 'Failed to reject the transaction.', @agentCountryWiseCustomMarginId
  358. RETURN
  359. END
  360. DELETE FROM agentCountryWiseCustomMarginHistory WHERE agentCountryWiseCustomMarginId= @agentCountryWiseCustomMarginId AND approvedBy IS NULL
  361. IF @@TRANCOUNT > 0
  362. COMMIT TRANSACTION
  363. END
  364. EXEC proc_errorHandler 0, 'Changes rejected successfully.', @agentCountryWiseCustomMarginId
  365. END
  366. ELSE IF @flag = 'approve'
  367. BEGIN
  368. IF NOT EXISTS (
  369. SELECT 'X' FROM agentCountryWiseCustomMarginHistory WITH(NOLOCK)
  370. WHERE agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId AND approvedBy IS NULL
  371. )
  372. BEGIN
  373. EXEC proc_errorHandler 1, '<center>Modification approval is not pending.</center>', @agentCountryWiseCustomMarginId
  374. RETURN
  375. END
  376. BEGIN TRANSACTION
  377. IF EXISTS (SELECT 'X' FROM agentCountryWiseCustomMargin WHERE approvedBy IS NULL AND agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId )
  378. SET @modType = 'insert'
  379. ELSE
  380. SELECT @modType = modType FROM agentCountryWiseCustomMarginHistory WHERE agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId AND approvedBy IS NULL
  381. IF @modType = 'insert'
  382. BEGIN --New record
  383. UPDATE agentCountryWiseCustomMargin SET
  384. isActive = 'Y'
  385. ,approvedBy = @user
  386. ,approvedDate= GETDATE()
  387. WHERE agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId
  388. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @agentCountryWiseCustomMarginId, @newValue OUTPUT
  389. END
  390. ELSE IF @modType = 'update'
  391. BEGIN
  392. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @agentCountryWiseCustomMarginId, @oldValue OUTPUT
  393. UPDATE main SET
  394. main.sMargin = mode.SMargin
  395. ,main.pMargin = mode.pMargin
  396. ,main.modifiedDate = GETDATE()
  397. ,main.modifiedBy = @user
  398. ,updateCount = ISNULL(updateCount, 0) + 1
  399. FROM agentCountryWiseCustomMargin main
  400. INNER JOIN agentCountryWiseCustomMarginHistory mode ON mode.agentCountryWiseCustomMarginId = main.agentCountryWiseCustomMarginId
  401. WHERE mode.agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId AND mode.approvedBy IS NULL
  402. EXEC [dbo].proc_GetColumnToRow 'agentCountryWiseCustomMargin', 'agentCountryWiseCustomMarginId', @agentCountryWiseCustomMarginId, @newValue OUTPUT
  403. END
  404. ELSE IF @modType = 'delete'
  405. BEGIN
  406. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @agentCountryWiseCustomMarginId, @oldValue OUTPUT
  407. UPDATE agentCountryWiseCustomMargin SET
  408. isDeleted = 'Y'
  409. ,modifiedDate = GETDATE()
  410. ,modifiedBy = @user
  411. ,updateCount = ISNULL(updateCount, 0) + 1
  412. WHERE agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId
  413. END
  414. UPDATE agentCountryWiseCustomMarginHistory SET
  415. approvedBy = @user
  416. ,approvedDate = GETDATE()
  417. WHERE agentCountryWiseCustomMarginId = @agentCountryWiseCustomMarginId AND approvedBy IS NULL
  418. INSERT INTO #msg(errorCode, msg, id)
  419. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @agentCountryWiseCustomMarginId, @user, @oldValue, @newValue
  420. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  421. BEGIN
  422. IF @@TRANCOUNT > 0
  423. ROLLBACK TRANSACTION
  424. EXEC proc_errorHandler 1, 'Could not approve the changes.', @agentCountryWiseCustomMarginId
  425. RETURN
  426. END
  427. IF @@TRANCOUNT > 0
  428. COMMIT TRANSACTION
  429. EXEC proc_errorHandler 0, 'Changes approved successfully.', @agentCountryWiseCustomMarginId
  430. END
  431. ELSE IF @flag = 's'
  432. BEGIN
  433. SELECT
  434. countryId
  435. ,ccm.countryName
  436. ,agentId
  437. ,am.agentName
  438. FROM agentMaster am WITH(NOLOCK)
  439. INNER JOIN countryCurrencyMaster ccm WITH(NOLOCK) ON am.agentCountry = ccm.countryId
  440. ORDER BY ccm.countryName, am.agentName
  441. END
  442. ELSE IF @flag = 'cl'
  443. BEGIN
  444. SELECT
  445. x.agentCountryWiseCustomMarginId
  446. ,s.agentId
  447. ,sAgent = s.agentName
  448. ,sCurr = s1.currCode
  449. ,sCountry = s1.countryName
  450. ,x.sRate
  451. ,sMargin = ISNULL(x.sMargin, 0)
  452. ,sBid = ISNULL(x.sRate, 0) + ISNULL(x.sMargin, 0)
  453. ,x.sMax
  454. ,x.sMin
  455. ,p.countryId
  456. ,pCountry = p.countryName
  457. ,pCurr = p.currCode
  458. ,x.pRate
  459. ,pMargin = ISNULL(x.pMargin, 0)
  460. ,pBid = ISNULL(x.pRate, 0) + ISNULL(x.pMargin, 0)
  461. ,x.pMax
  462. ,x.pMin
  463. ,x.SCRCRate
  464. ,SCRCMargin = ISNULL(x.SCRCMargin, 0)
  465. ,SCRCBid = ISNULL(x.SCRCRate, 0) + ISNULL(x.SCRCMargin, 0)
  466. ,x.modifiedBy
  467. ,x.modifiedDate
  468. FROM (
  469. SELECT
  470. acwcmh.agentCountryWiseCustomMarginId
  471. ,acwcmh.sAgentId
  472. ,acwcmh.pCountryId
  473. ,acwcmh.sRate
  474. ,acwcmh.sMargin
  475. ,acwcmh.sMax
  476. ,acwcmh.sMin
  477. ,acwcmh.pRate
  478. ,acwcmh.pMargin
  479. ,acwcmh.pMax
  480. ,acwcmh.pMin
  481. ,acwcmh.SCRCRate
  482. ,acwcmh.SCRCMargin
  483. ,acwcm.modifiedBy
  484. ,acwcm.modifiedDate
  485. FROM agentCountryWiseCustomMarginHistory acwcmh WITH(NOLOCK)
  486. INNER JOIN agentCountryWiseCustomMargin acwcm WITH(NOLOCK) ON acwcmh.agentCountryWiseCustomMarginId = acwcm.agentCountryWiseCustomMarginId AND acwcmh.approvedBy IS NULL AND acwcmh.createdBy = @user
  487. WHERE acwcm.sAgentId = @sAgentId AND acwcmh.approvedBy IS NULL
  488. UNION ALL
  489. SELECT
  490. agentCountryWiseCustomMarginId
  491. ,sAgentId
  492. ,pCountryId
  493. ,sRate
  494. ,sMargin
  495. ,sMax
  496. ,sMin
  497. ,pRate
  498. ,pMargin
  499. ,pMax
  500. ,pMin
  501. ,SCRCRate
  502. ,SCRCMargin
  503. ,modifiedBy
  504. ,modifiedDate
  505. FROM agentCountryWiseCustomMargin WITH(NOLOCK) WHERE sAgentId = @sAgentId
  506. AND agentCountryWiseCustomMarginId NOT IN (SELECT agentCountryWiseCustomMarginId FROM agentCountryWiseCustomMarginHistory WHERE sAgentId = @sAgentId AND approvedBy IS NULL AND createdBy = @user)
  507. ) x
  508. INNER JOIN countryCurrencyMaster p WITH(NOLOCK) ON x.pCountryId = p.countryId
  509. INNER JOIN agentMaster s WITH(NOLOCK) ON x.sAgentId = s.agentId
  510. INNER JOIN countryCurrencyMaster s1 WITH(NOLOCK) ON s.agentCountry = s1.countryId
  511. ORDER BY p.countryName ASC
  512. END
  513. ELSE IF @flag IN ('p') --change approval pedning
  514. BEGIN
  515. SELECT
  516. acwcmh.rowId
  517. ,acwcmh.agentCountryWiseCustomMarginId
  518. ,s.agentId
  519. ,sAgent = s.agentName
  520. ,sCurr = sc.currCode
  521. ,sCountry = sc.countryName
  522. ,acwcmh.sRate
  523. ,sMargin = ISNULL(acwcmh.sMargin, 0)
  524. ,sBid = ISNULL(acwcmh.sRate, 0) + ISNULL(acwcmh.sMargin, 0)
  525. ,acwcmh.sMax
  526. ,acwcmh.sMin
  527. ,p.countryId
  528. ,pCountry = p.countryName
  529. ,pCurr = p.currCode
  530. ,acwcmh.pRate
  531. ,pMargin = ISNULL(acwcmh.pMargin, 0)
  532. ,pBid = ISNULL(acwcmh.pRate, 0) + ISNULL(acwcmh.pMargin, 0)
  533. ,acwcmh.pMax
  534. ,acwcmh.pMin
  535. ,acwcmh.SCRCRate
  536. ,SCRCMargin = ISNULL(acwcmh.SCRCMargin, 0)
  537. ,SCRCBid = ISNULL(acwcmh.SCRCRate, 0) + ISNULL(acwcmh.SCRCMargin, 0)
  538. ,acwcmh.createdBy
  539. ,acwcmh.createdDate
  540. FROM agentCountryWiseCustomMarginHistory acwcmh WITH(NOLOCK)
  541. INNER JOIN countryCurrencyMaster p WITH(NOLOCK) ON acwcmh.pCountryId = p.countryId
  542. INNER JOIN agentMaster s WITH(NOLOCK) ON acwcmh.sAgentId = s.agentId
  543. INNER JOIN countryCurrencyMaster sc WITH(NOLOCK) ON sc.countryId = s.agentCountry
  544. WHERE acwcmh.approvedBy IS NULL
  545. ORDER BY acwcmh.createdDate DESC
  546. END
  547. END TRY
  548. BEGIN CATCH
  549. IF @@TRANCOUNT > 0
  550. ROLLBACK TRANSACTION
  551. DECLARE @errorMessage VARCHAR(MAX)
  552. SET @errorMessage = ERROR_MESSAGE()
  553. EXEC proc_errorHandler 1, @errorMessage, @agentCountryWiseCustomMarginId
  554. END CATCH
  555. GO