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.

885 lines
70 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_branchRatingNEW] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. CREATE PROC [dbo].[proc_branchRatingNEW]
  9. (
  10. @flag VARCHAR(50) = NULL
  11. ,@brDetailId VARCHAR(50) = NULL
  12. ,@branchId VARCHAR(50) = NULL
  13. ,@rmBranchId INT = NULL
  14. ,@agentID INT = NULL
  15. ,@fromDate DATE = NULL
  16. ,@toDate DATE = NULL
  17. ,@createdDate DATETIME = NULL
  18. ,@ratingComment VARCHAR(2500) = NULL
  19. ,@modifiedBy VARCHAR(50) = NULL
  20. ,@modifedDate DATETIME = NULL
  21. ,@reviewedDate DATETIME = NULL
  22. ,@reviewerComment VARCHAR(2500) = NULL
  23. ,@approverComment VARCHAR(2500) = NULL
  24. ,@remarks VARCHAR(2500) = NULL
  25. ,@isActive VARCHAR(5) = NULL
  26. ,@user VARCHAR(50) = NULL
  27. ,@sortBy VARCHAR(50) = NULL
  28. ,@sortOrder VARCHAR(5) = NULL
  29. ,@pageSize INT = NULL
  30. ,@pageNumber INT = NULL
  31. ,@xml XML = NULL
  32. ,@isRatingCompleted CHAR(1) = NULL
  33. ,@rating VARCHAR(10) = NULL
  34. ,@approvedDate DATETIME = NULL
  35. ,@category VARCHAR(50) = NULL
  36. )
  37. AS
  38. SET NOCOUNT ON
  39. SET XACT_ABORT ON
  40. BEGIN TRY
  41. DECLARE
  42. @sql VARCHAR(MAX)
  43. ,@oldValue VARCHAR(MAX)
  44. ,@newValue VARCHAR(MAX)
  45. ,@module VARCHAR(10)
  46. ,@tableAlias VARCHAR(100)
  47. ,@logIdentifier VARCHAR(50)
  48. ,@logParamMod VARCHAR(100)
  49. ,@logParamMain VARCHAR(100)
  50. ,@table VARCHAR(MAX)
  51. ,@select_field_list VARCHAR(MAX)
  52. ,@extra_field_list VARCHAR(MAX)
  53. ,@sql_filter VARCHAR(MAX)
  54. ,@modType VARCHAR(6)
  55. ,@errorMsg VARCHAR(MAX)
  56. IF @flag = 'i'
  57. BEGIN
  58. -- select * from branchratingdetailNEW
  59. IF EXISTS (SELECT 'x' FROM branchratingdetailNEW WITH(NOLOCK) WHERE branchId=@branchId and approvedBy is null and isnull(isActive,'Y')='Y')
  60. BEGIN
  61. EXEC proc_errorHandler 1, 'Sorry, there is already active assessement exists for this branch, which has not been approved yet. Please kindly do inactive or review the existing record and try again.', @branchId
  62. RETURN
  63. END
  64. IF EXISTS (SELECT 'x' FROM branchratingdetailNEW WITH(NOLOCK) WHERE branchId=@branchId AND ISNULL(isActive,'Y')='Y' AND toDate>=@fromDate)
  65. BEGIN
  66. EXEC proc_errorHandler 1, 'Sorry, Assessement is already exists for this date. Please kindly another date.', @branchId
  67. RETURN
  68. END
  69. BEGIN TRANSACTION
  70. INSERT INTO branchratingdetailNEW (
  71. branchId
  72. ,fromDate
  73. ,toDate
  74. ,createdBy
  75. ,createdDate
  76. ,isActive
  77. )
  78. SELECT
  79. @branchId
  80. ,@fromDate
  81. ,@toDate
  82. ,@user
  83. ,GETDATE()
  84. ,@isActive
  85. IF @@TRANCOUNT > 0
  86. COMMIT TRANSACTION
  87. EXEC proc_errorHandler 0, 'Record has been added successfully.', @agentID
  88. END
  89. IF @flag='rbd' -- Rating branch details
  90. BEGIN
  91. SET @sortBy = 'branchName'
  92. DECLARE @hasRight CHAR(1),@reviewRight CHAR(1),@approveRight CHAR(1),@initiateRight CHAR(1)
  93. SET @initiateRight = dbo.FNAHasRight(@user, '20191600') --Intiate 20191600
  94. SET @hasRight = dbo.FNAHasRight(@user, '20191620') --Rating 20191620
  95. SET @reviewRight = dbo.FNAHasRight(@user, '20191630') --Review 20191630
  96. SET @approveRight = dbo.FNAHasRight(@user, '20191640') --Approve
  97. SET @table = '(
  98. SELECT
  99. brDetailid = brd.ratingId
  100. ,brd.branchId
  101. ,branchName = am.agentName
  102. ,brd.fromDate
  103. ,brd.toDate
  104. ,operations=dbo.FNAGetBranchRatingNEW(''merge'',''Operation-General'',brd.ratingId)
  105. ,security=dbo.FNAGetBranchRatingNEW(''merge'',''Security-Maintenance'',brd.ratingId)
  106. ,compliance=dbo.FNAGetBranchRatingNEW(''merge'',''Compliance-Regulatory'',brd.ratingId)
  107. ,others = ''''
  108. ,overall=dbo.FNAGetBranchRatingNEW(''merge'',''overall'',brd.ratingId)
  109. ,brd.createdBy
  110. ,brd.createdDate
  111. ,rankedBy = brd.ratingBy
  112. ,rankingDate = brd.ratingDate
  113. ,reviewedDate = brd.reviewedDate
  114. ,brd.reviewerComment
  115. ,brd.approvedBy
  116. ,brd.approvedDate
  117. ,approverComment
  118. ,brd.isActive
  119. ,scorelink =
  120. CASE WHEN brd.isActive=''y'' AND brd.ratingDate IS NULL AND brd.reviewedDate IS NULL AND brd.approvedDate IS NULL THEN
  121. CASE WHEN '''+@hasRight+'''=''Y'' THEN
  122. ''<a href="Manage.aspx?type=rating&brId=''+CAST(brd.ratingId AS VARCHAR)+''&bId=''+CAST(brd.branchId AS VARCHAR)
  123. +''&bName=''+CAST(am.agentName AS VARCHAR)
  124. +''&ron=''+ISNULL(CAST(brd.reviewedDate AS VARCHAR),'''')
  125. +''&r=''+CAST(ISNULL(brd.reviewedBy,'''') AS VARCHAR)
  126. +''&rPeriod=''+CAST(brd.fromDate AS VARCHAR)+'' to ''+ CAST(brd.toDate AS VARCHAR)
  127. +''&ratedby=''+CAST(ISNULL(brd.ratingBy,'''') AS VARCHAR)
  128. +''&ratedon=''+ISNULL(CAST(brd.ratingDate AS VARCHAR),'''')
  129. +''&appby=''+CAST(ISNULL(brd.approvedBy,'''') AS VARCHAR)
  130. +''&appon=''+ISNULL(CAST(brd.approvedDate AS VARCHAR),'''')
  131. +''">Rating</a>&nbsp;''
  132. +''<a onclick="return confirm(''''Are you sure you want to inactive this assessement?'''');" href="List.aspx?type=inactive&brId=''+CAST(brd.ratingId AS VARCHAR)+''&bId=''+CAST(brd.branchId AS VARCHAR)+''">Mark Inactive</a>&nbsp;''
  133. ELSE ''''
  134. END
  135. when brd.isActive=''y'' and brd.ratingDate is not null AND brd.ratingComment IS NOT NULL AND brd.reviewedBy is null then
  136. CASE WHEN '''+@reviewRight+'''=''Y'' THEN
  137. ''<a href="Manage.aspx?type=review&brId=''+CAST(brd.ratingId as varchar)+''&bId=''+cast(brd.branchId as varchar)
  138. +''&bName=''+cast(am.agentName as varchar)
  139. +''&ron=''+isnull(cast(brd.reviewedDate as varchar),'''')
  140. +''&r=''+cast(isnull(brd.reviewedBy,'''') as varchar)
  141. +''&rPeriod=''+cast(brd.fromDate as varchar)+'' to ''+ cast(brd.toDate as varchar)
  142. +''&ratedby=''+CAST(ISNULL(brd.ratingBy,'''') AS VARCHAR)
  143. +''&ratedon=''+ISNULL(CAST(brd.ratingDate AS VARCHAR),'''')
  144. +''&appby=''+CAST(ISNULL(brd.approvedBy,'''') AS VARCHAR)
  145. +''&appon=''+ISNULL(CAST(brd.approvedDate AS VARCHAR),'''')
  146. +''">Review</a>&nbsp;''
  147. +''<a onclick="return confirm(''''Are you sure you want to inactive this assessement?'''');" href="List.aspx?type=inactive&brId=''+CAST(brd.ratingId as varchar)+''&bId=''+cast(brd.branchId as varchar)+''">Mark Inactive</a>&nbsp;''
  148. ELSE ''
  149. <a href="Manage.aspx?type=riskhistory&brId=''+CAST(brd.ratingId as varchar)+''&bId=''+cast(brd.branchId as varchar)
  150. +''&bName=''+cast(am.agentName as varchar)
  151. +''&ron=''+isnull(cast(brd.reviewedDate as varchar),'''')
  152. +''&r=''+cast(isnull(brd.reviewedBy,'''') as varchar)
  153. +''&rPeriod=''+cast(brd.fromDate as varchar)+'' to ''+ cast(brd.toDate as varchar)
  154. +''&ratedby=''+CAST(ISNULL(brd.ratingBy,'''') AS VARCHAR)
  155. +''&ratedon=''+ISNULL(CAST(brd.ratingDate AS VARCHAR),'''')
  156. +''&appby=''+CAST(ISNULL(brd.approvedBy,'''') AS VARCHAR)
  157. +''&appon=''+ISNULL(CAST(brd.approvedDate AS VARCHAR),'''')
  158. +''">Details</a>&nbsp;
  159. ''
  160. END
  161. when brd.isActive=''y'' and brd.reviewedDate is not null AND brd.approvedDate is null and brd.reviewedBy<>'''+@user+''' then
  162. CASE WHEN '''+@approveRight+'''=''Y'' THEN
  163. ''<a href="Manage.aspx?type=approve&brId=''+CAST(brd.ratingId as varchar)+''&bId=''+cast(brd.branchId as varchar)
  164. +''&bName=''+cast(am.agentName as varchar)
  165. +''&ron=''+isnull(cast(brd.reviewedDate as varchar),'''')
  166. +''&r=''+cast(isnull(brd.reviewedBy,'''') as varchar)
  167. +''&rPeriod=''+cast(brd.fromDate as varchar)+'' to ''+ cast(brd.toDate as varchar)
  168. +''&ratedby=''+CAST(ISNULL(brd.ratingBy,'''') AS VARCHAR)
  169. +''&ratedon=''+ISNULL(CAST(brd.ratingDate AS VARCHAR),'''')
  170. +''&appby=''+CAST(ISNULL(brd.approvedBy,'''') AS VARCHAR)
  171. +''&appon=''+ISNULL(CAST(brd.approvedDate AS VARCHAR),'''')
  172. +''">Approve</a>&nbsp;''
  173. +''<a onclick="return confirm(''''Are you sure you want to inactive this assessement?'''');" href="List.aspx?type=inactive&brId=''+CAST(brd.ratingId as varchar)+''&bId=''+cast(brd.branchId as varchar)+''">Mark Inactive</a>&nbsp;''
  174. ELSE ''
  175. <a href="Manage.aspx?type=riskhistory&brId=''+CAST(brd.ratingId as varchar)+''&bId=''+cast(brd.branchId as varchar)
  176. +''&bName=''+cast(am.agentName as varchar)
  177. +''&ron=''+isnull(cast(brd.reviewedDate as varchar),'''')
  178. +''&r=''+cast(isnull(brd.reviewedBy,'''') as varchar)
  179. +''&rPeriod=''+cast(brd.fromDate as varchar)+'' to ''+ cast(brd.toDate as varchar)
  180. +''&ratedby=''+CAST(ISNULL(brd.ratingBy,'''') AS VARCHAR)
  181. +''&ratedon=''+ISNULL(CAST(brd.ratingDate AS VARCHAR),'''')
  182. +''&appby=''+CAST(ISNULL(brd.approvedBy,'''') AS VARCHAR)
  183. +''&appon=''+ISNULL(CAST(brd.approvedDate AS VARCHAR),'''')
  184. +''">Details</a>&nbsp;
  185. ''
  186. END
  187. when brd.isActive=''y'' and brd.ratingDate is not null then
  188. + ''<a href="Manage.aspx?type=riskhistory&brId=''+CAST(brd.ratingId as varchar)+''&bId=''+cast(brd.branchId as varchar)
  189. +''&bName=''+cast(am.agentName as varchar)
  190. +''&ron=''+isnull(cast(brd.reviewedDate as varchar),'''')
  191. +''&r=''+cast(isnull(brd.reviewedBy,'''') as varchar)
  192. +''&rPeriod=''+cast(brd.fromDate as varchar)+'' to ''+ cast(brd.toDate as varchar)
  193. +''&ratedby=''+CAST(ISNULL(brd.ratingBy,'''') AS VARCHAR)
  194. +''&ratedon=''+ISNULL(CAST(brd.ratingDate AS VARCHAR),'''')
  195. +''&appby=''+CAST(ISNULL(brd.approvedBy,'''') AS VARCHAR)
  196. +''&appon=''+ISNULL(CAST(brd.approvedDate AS VARCHAR),'''')
  197. +''">Details</a>&nbsp;''
  198. else
  199. ''<a href="Manage.aspx?type=riskhistory&brId=''+CAST(brd.ratingId as varchar)+''&bId=''+cast(brd.branchId as varchar)
  200. +''&bName=''+cast(am.agentName as varchar)
  201. +''&ron=''+isnull(cast(brd.reviewedDate as varchar),'''')
  202. +''&r=''+cast(isnull(brd.reviewedBy,'''') as varchar)
  203. +''&rPeriod=''+cast(brd.fromDate as varchar)+'' to ''+ cast(brd.toDate as varchar)
  204. +''&ratedby=''+CAST(ISNULL(brd.ratingBy,'''') AS VARCHAR)
  205. +''&ratedon=''+ISNULL(CAST(brd.ratingDate AS VARCHAR),'''')
  206. +''&appby=''+CAST(ISNULL(brd.approvedBy,'''') AS VARCHAR)
  207. +''&appon=''+ISNULL(CAST(brd.approvedDate AS VARCHAR),'''')
  208. +''">Details</a>&nbsp;''
  209. +case when isnull(brd.isActive,''y'')=''y'' then
  210. +''<a onclick="return confirm(''''Are you sure you want to inactive this assessement?'''');" href="List.aspx?type=inactive&brId=''+CAST(brd.ratingId as varchar)+''&bId=''+cast(brd.branchId as varchar)+''">Mark Inactive</a>''
  211. else '''' end
  212. end
  213. FROM branchratingdetailNEW brd WITH(NOLOCK)
  214. INNER JOIN agentMaster am on am.agentId=brd.branchId
  215. WHERE 1 = 1 ) x'
  216. print @table
  217. SET @sql_filter = ''
  218. IF @agentID is not NULL
  219. SET @sql_filter=@sql_filter+' And branchId = '''+CAST(@agentID AS VARCHAR)+''''
  220. IF @fromDate IS NOT NULL
  221. SET @sql_filter = @sql_filter + ' AND fromDate BETWEEN ''' + CONVERT(VARCHAR, @fromDate, 101) + ''' AND ''' + CONVERT(VARCHAR, @fromDate, 101) + ' 23:59:59'''
  222. IF @toDate IS NOT NULL AND @toDate IS NOT NULL
  223. SET @sql_filter = @sql_filter + ' AND toDate BETWEEN ''' + CONVERT(VARCHAR, @toDate, 101) + ''' AND ''' + CONVERT(VARCHAR, @toDate, 101) + ' 23:59:59'''
  224. IF @reviewedDate IS NOT NULL
  225. SET @sql_filter = @sql_filter + ' AND reviewedDate BETWEEN ''' + CONVERT(VARCHAR, @reviewedDate, 101) + ''' AND ''' + CONVERT(VARCHAR, @reviewedDate, 101) + ' 23:59:59'''
  226. IF @approvedDate IS NOT NULL
  227. SET @sql_filter = @sql_filter + ' AND approvedDate BETWEEN ''' + CONVERT(VARCHAR, @approvedDate, 101) + ''' AND ''' + CONVERT(VARCHAR, @approvedDate, 101) + ' 23:59:59'''
  228. IF @isActive IS NOT NULL AND @isActive<>'All'
  229. SET @sql_filter = @sql_filter + ' And isActive='''+@isActive+''''
  230. ELSE IF @isActive IS NULL
  231. SET @sql_filter = @sql_filter + ' And isActive=''1'''
  232. IF @rating is not NULL
  233. SET @sql_filter=@sql_filter+' And dbo.FNAGetBranchRatingNEW(''rating'','''+@category+''',x.brDetailid) = '''+CAST(@rating AS VARCHAR)+''''
  234. print @table+''+@sql_filter
  235. SET @select_field_list ='
  236. brDetailid
  237. ,branchId
  238. ,branchName
  239. ,rankedBy
  240. ,rankingDate
  241. ,fromDate
  242. ,toDate
  243. ,operations
  244. ,security
  245. ,compliance
  246. ,others
  247. ,overall
  248. ,reviewedDate
  249. ,approvedDate
  250. ,createdBy
  251. ,scorelink '
  252. EXEC dbo.proc_paging
  253. @table
  254. ,@sql_filter
  255. ,@select_field_list
  256. ,@extra_field_list
  257. ,@sortBy
  258. ,@sortOrder
  259. ,@pageSize
  260. ,@pageNumber
  261. END
  262. ELSE IF @flag = 'rc' -- Rating Criteria
  263. BEGIN
  264. CREATE TABLE #tmpTable(
  265. rowId INT,
  266. [type] VARCHAR(10),
  267. displayOrder VARCHAR(10),
  268. [weight] MONEY,
  269. [description] VARCHAR(2500),
  270. [summaryDescription] VARCHAR(250),
  271. [ParentId] VARCHAR(10)
  272. )
  273. DECLARE @catFlag INT, @catCount INT,@subCatFlag INT, @subCatCount INT
  274. SET @catFlag = 1
  275. SET @catCount=(SELECT COUNT(rowId) FROM branchRatingMasterNEW WITH(NOLOCK) WHERE [type] = 'A')
  276. WHILE (@catFlag <=@catCount)
  277. BEGIN
  278. INSERT INTO #tmpTable
  279. SELECT rowId, [type], displayOrder, [weight], [description], summaryDescription, '' FROM branchRatingMasterNEW WITH(NOLOCK)
  280. WHERE [type] = 'A' AND displayOrder = @catFlag
  281. SET @subCatFlag = 1
  282. SET @subCatCount=(SELECT COUNT(rowId) FROM branchRatingMasterNEW WITH(NOLOCK)
  283. WHERE [type] = 'B' AND displayOrder LIKE CAST(@catFlag AS VARCHAR)+'.%') --AND CHARINDEX('.',displayOrder)>0)
  284. WHILE(@subCatFlag <= @subCatCount)
  285. BEGIN
  286. INSERT INTO #tmpTable
  287. SELECT rowId, [type], displayOrder, [weight], [description], '', CAST(@catFlag AS VARCHAR) + '.' + CAST(@subCatFlag AS VARCHAR)
  288. FROM branchRatingMasterNEW WITH(NOLOCK) WHERE [type] = 'B' AND
  289. displayOrder = CAST(@catFlag AS VARCHAR) + '.' + CAST(@subCatFlag AS VARCHAR)
  290. INSERT INTO #tmpTable
  291. SELECT rowId, [type], ROW_NUMBER() OVER(ORDER BY CAST(REPLACE(displayOrder, '.', '') AS INT) ASC) AS displayOrder,[weight],[description],'',
  292. CAST(@catFlag AS VARCHAR) + '.' + CAST(@subCatFlag AS VARCHAR)
  293. FROM branchRatingMasterNEW WITH(NOLOCK) WHERE [type]='C' AND
  294. displayOrder LIKE CAST(@catFlag AS VARCHAR) + '.' + CAST(@subCatFlag AS VARCHAR)+'.%'
  295. SET @subCatFlag = @subCatFlag + 1 -- sub cat loop
  296. END
  297. SET @catFlag = @catFlag + 1 -- main loop
  298. END
  299. IF EXISTS (SELECT 'x' FROM branchRatingNEW WITH(NOLOCK) WHERE brDetailid = @brDetailId)
  300. BEGIN
  301. SELECT
  302. bm.rowId
  303. ,bm.[type]
  304. ,bm.displayOrder
  305. ,bm.[weight]
  306. ,bm.[description]
  307. ,bm.summaryDescription
  308. ,bm.ParentId
  309. ,score=dbo.ShowDecimal(x.score)
  310. ,x.remarks
  311. ,x.reviewedBy
  312. ,x.reviewedDate
  313. ,x.reviewerComment
  314. ,x.approvedBy
  315. ,x.approvedDate
  316. ,x.approverComment
  317. ,x.ratingBy
  318. ,x.ratingDate
  319. ,x.ratingComment
  320. FROM #tmpTable bm WITH(NOLOCK)
  321. LEFT JOIN
  322. (
  323. SELECT rowId,br.brMasterId,br.Score,br.remarks,brd.isActive,brd.reviewedBy,brd.reviewedDate,brd.reviewerComment,brd.approvedBy,brd.approvedDate,brd.approverComment,brd.ratingBy,brd.ratingDate,brd.ratingComment
  324. FROM branchRatingNEW br WITH(NOLOCK)
  325. INNER JOIN branchratingdetailNEW brd WITH(NOLOCK) ON br.brDetailid = brd.ratingId
  326. WHERE brd.isActive='y' and brd.ratingId = @brDetailId
  327. ) x ON x.brMasterId= bm.rowId
  328. --WHERE x.isActive='Y'
  329. ORDER BY rowId
  330. END
  331. ELSE
  332. BEGIN
  333. SELECT *,'' score,'' remarks,'' reviewedBy,'' reviewedDate,'' reviewerComment,'' approvedBy,'' approvedDate ,'' approverComment,'' ratingBy, '' ratingDate, '' ratingComment FROM #tmpTable ORDER BY rowId
  334. END
  335. DROP TABLE #tmpTable
  336. /*
  337. IF ISNULL(@brDetailId, 0) <> 0
  338. BEGIN
  339. SELECT
  340. rowId = brm.rowId
  341. ,type
  342. ,displayOrder = RIGHT(displayOrder, CASE WHEN LEN(displayOrder) > 4 THEN (LEN(displayOrder) - 4) ELSE LEN(displayOrder) END)
  343. ,weight
  344. ,description = ISNULL(description, '')
  345. ,summaryDescription = ISNULL(summaryDescription, '')
  346. ,ParentId = LEFT(displayOrder, 3)
  347. ,score = ISNULL(score, 0)
  348. ,remarks
  349. ,reviewedBy
  350. ,reviewedDate
  351. ,reviewerComment
  352. ,approvedBy
  353. ,approvedDate
  354. ,approverComment
  355. ,ratingBy = ISNULL(ratingBy, br.modifiedBy)
  356. ,ratingDate = ISNULL(ratingDate, br.modifieddate)
  357. ,ratingComment
  358. FROM dbo.branchRatingMasterNew brm WITH(NOLOCK)
  359. LEFT JOIN branchRatingNew br WITH(NOLOCK) ON brm.rowId = br.brMasterId
  360. LEFT JOIN dbo.branchRatingDetailNew brd WITH(NOLOCK) ON br.brDetailid = brd.ratingId
  361. WHERE br.brDetailid = @brDetailId OR br.brDetailid IS NULL
  362. ORDER BY brm.rowId
  363. END
  364. ELSE
  365. BEGIN
  366. SELECT
  367. rowId = brm.rowId
  368. ,type
  369. ,displayOrder = RIGHT(displayOrder, CASE WHEN LEN(displayOrder) > 4 THEN (LEN(displayOrder) - 4) ELSE LEN(displayOrder) END)
  370. ,weight
  371. ,description = ISNULL(description, '')
  372. ,summaryDescription = ISNULL(summaryDescription, '')
  373. ,ParentId = LEFT(displayOrder, 3)
  374. ,score = ''
  375. ,remarks = ''
  376. ,reviewedBy = ''
  377. ,reviewedDate = ''
  378. ,reviewerComment = ''
  379. ,approvedBy = ''
  380. ,approvedDate = ''
  381. ,approverComment = ''
  382. ,ratingBy = ''
  383. ,ratingDate = ''
  384. ,ratingComment = ''
  385. FROM dbo.branchRatingMasterNew brm WITH(NOLOCK)
  386. ORDER BY brm.rowId
  387. END
  388. */
  389. SELECT rowId, brMasterId,brDetailId,riskCategory, ROUND(score,2) AS score, rating FROM branchRatingSummaryNEW WITH(NOLOCK) WHERE brDetailId=@brDetailId
  390. SELECT * FROM branchScoremaster
  391. END
  392. ELSE IF @flag = 'i-br'
  393. BEGIN
  394. BEGIN TRANSACTION
  395. IF EXISTS (SELECT 'x' FROM branchRatingNEW WITH(NOLOCK) WHERE brDetailid=@brDetailId)
  396. BEGIN
  397. DELETE FROM branchRatingNEW WHERE brDetailid=@brDetailId
  398. END
  399. INSERT INTO branchRatingNEW(
  400. brMasterId
  401. ,brDetailid
  402. ,score
  403. ,remarks
  404. ,modifiedBy
  405. ,modifieddate
  406. )
  407. SELECT
  408. p.value('@rowId','VARCHAR(50)')
  409. ,p.value('@brDetaildId','VARCHAR(50)')
  410. ,p.value('@score','VARCHAR(50)')
  411. ,p.value('@remarks','VARCHAR(2500)')
  412. ,@user
  413. ,GETDATE()
  414. FROM @xml.nodes('/root/row') AS tmp(p)
  415. UPDATE branchratingdetailNEW
  416. set modifiedBy=@user
  417. ,modifiedDate= GETDATE()
  418. ,ratingDate= CASE WHEN @isRatingCompleted='Y' THEN GETDATE() ELSE NULL END
  419. ,ratingBy=@user
  420. WHERE ratingId=@brDetailId
  421. IF @@TRANCOUNT > 0
  422. COMMIT TRANSACTION
  423. EXEC proc_errorHandler 0, 'Record has been added successfully.', @branchId
  424. EXEC proc_branchRating @flag = 'rc', @user=@user,@branchId=@branchId,@brDetailId=@brDetailId
  425. END
  426. ELSE IF @flag = 'branchcomment'
  427. BEGIN
  428. UPDATE branchratingdetailNEW
  429. set
  430. ratingComment = @ratingComment
  431. ,reviewedByBranch = @user
  432. ,reviewedDateBranch = GETDATE()
  433. WHERE ratingId = @brDetailId
  434. EXEC proc_errorHandler 0, 'Branch Rating Comment added successfully.', @brDetailId
  435. END
  436. ELSE IF @flag = 'review'
  437. BEGIN
  438. UPDATE branchratingdetailNEW
  439. set
  440. reviewedBy=@user
  441. ,reviewedDate=GETDATE()
  442. ,reviewerComment=@reviewerComment
  443. WHERE ratingId=@brDetailId
  444. EXEC proc_errorHandler 0, 'Review Comment Added successfully.', @brDetailId
  445. END
  446. ELSE IF @flag = 'approve'
  447. BEGIN
  448. UPDATE branchratingdetailNEW
  449. set
  450. approvedBy=@user
  451. ,approvedDate=GETDATE()
  452. ,approverComment=@approverComment
  453. WHERE ratingId=@brDetailId
  454. EXEC proc_errorHandler 0, 'Branch Rating Approved successfully.', @brDetailId
  455. END
  456. ELSE IF @flag='ddlStatus'
  457. BEGIN
  458. SELECT 'All' 'value', 'All' AS 'text' UNION ALL
  459. SELECT 'Y','Active' UNION ALL
  460. SELECT 'N','Inactive'
  461. END
  462. ELSE IF @flag='ddlCategory'
  463. BEGIN
  464. SELECT NULL 'value','All' AS 'text' UNION ALL
  465. SELECT summaryDescription,summaryDescription FROM branchRatingMasterNEW WHERE [type]='A' AND summaryDescription IS NOT NULL
  466. UNION ALL
  467. SELECT 'Overall','Overall'
  468. END
  469. ELSE IF @flag='ddlRating'
  470. BEGIN
  471. SELECT NULL 'value','All' 'text' UNION ALL
  472. SELECT rating,rating FROM branchScoremaster WHERE rating IS NOT NULL
  473. END
  474. ELSE IF @flag='summary'
  475. BEGIN
  476. IF EXISTS (SELECT 'x' FROM branchRatingSummaryNEW WITH(NOLOCK) WHERE brDetailid=@brDetailId)
  477. BEGIN
  478. DELETE FROM branchRatingSummaryNEW WHERE brDetailid=@brDetailId
  479. END
  480. INSERT INTO branchRatingSummaryNEW ( brMasterId ,brDetailId, riskCategory, score, rating)
  481. SELECT x.rowid,@brDetailId brDetailId ,summarydescription,score,rating FROM
  482. (SELECT rowid,displayorder,summarydescription,[weight] FROM branchRatingMasterNEW WHERE TYPE='A') x
  483. INNER JOIN
  484. (
  485. SELECT SUBSTRING( displayorder, 1,1) sn , ROUND(SUM( CAST([weight] AS MONEY) *score/100.00),2) score FROM
  486. branchRatingMasterNEW b WITH (NOLOCK) INNER JOIN branchRatingNEW bd WITH (NOLOCK)
  487. ON b.rowid=bd.brMasterId
  488. AND brDetailid=@brDetailId
  489. GROUP BY SUBSTRING( displayorder, 1,1)
  490. ) y ON x.displayorder=y.sn
  491. , branchScoremaster s WHERE y.score BETWEEN s.scorefrom AND s.scoreto
  492. UNION ALL
  493. SELECT 99,@brDetailId,'Overall', score ,rating FROM
  494. (
  495. SELECT ROUND(SUM (score * CAST (x.[weight] AS MONEY) /100.00),2) score FROM
  496. (SELECT rowid,displayorder,summarydescription,[weight] FROM branchRatingMasterNEW WHERE TYPE='A') x
  497. INNER JOIN
  498. (
  499. SELECT SUBSTRING( displayorder, 1,1) sn , ROUND(SUM( CAST ([weight] AS MONEY ) *score/100.00),2) score FROM
  500. branchRatingMasterNEW b WITH (NOLOCK) INNER JOIN branchRatingNEW bd WITH (NOLOCK)
  501. ON b.rowid=bd.brMasterId
  502. AND brDetailid=@brDetailId
  503. GROUP BY SUBSTRING ( displayorder, 1,1)
  504. ) y ON x.displayorder=y.sn ) zz
  505. , branchScoremaster s WHERE zz.score BETWEEN s.scorefrom AND s.scoreto
  506. EXEC proc_errorHandler 0, 'Branch Rating Summary added successfully.', @branchId
  507. END
  508. ELSE IF @flag='inactive'
  509. BEGIN
  510. BEGIN TRANSACTION
  511. UPDATE branchratingdetailNEW
  512. set isactive=@isActive
  513. WHERE branchId=@branchId And ratingId=@brDetailId
  514. IF @@TRANCOUNT > 0
  515. COMMIT TRANSACTION
  516. EXEC proc_errorHandler 0, 'Record has been updated successfully.', @brDetailId
  517. END
  518. ----DISPLAY GRID FOR RM
  519. IF @flag='rbd_rm' -- Rating branch details
  520. BEGIN
  521. DECLARE @userType VARCHAR(5)
  522. SELECT @userType=userType,@rmBranchId=agentId FROM applicationUsers WHERE userName=@user
  523. CREATE TABLE #rmBranch (agentId INT,agentName VARCHAR(100))
  524. IF @userType = 'RH'
  525. BEGIN
  526. INSERT INTO #rmBranch
  527. SELECT distinct
  528. branch.agentId, branch.agentName
  529. FROM (
  530. SELECT
  531. am.agentId
  532. ,am.agentName
  533. FROM agentMaster am WITH(NOLOCK)
  534. INNER JOIN regionalBranchAccessSetup rba ON am.agentId = rba.memberAgentId
  535. WHERE rba.agentId = @rmBranchId
  536. AND ISNULL(rba.isDeleted, 'N') = 'N'
  537. AND ISNULL(rba.isActive, 'N') = 'Y'
  538. UNION ALL
  539. SELECT agentId, agentName
  540. FROM agentMaster WITH(NOLOCK) WHERE agentId = @rmBranchId
  541. ) branch
  542. END
  543. ELSE
  544. BEGIN
  545. INSERT INTO #rmBranch
  546. SELECT agentId, agentName
  547. FROM agentMaster WITH(NOLOCK) WHERE agentId = @rmBranchId
  548. END
  549. SET @hasRight='N'
  550. IF @userType = 'RH'
  551. SET @hasRight = dbo.FNAHasRight(@user, '40241210')-- Rating
  552. SET @reviewRight = 'N'-- Review
  553. SELECT a.brdetailid,operations,[security],compliance,overall INTO #RATINGDETAIL from
  554. (select brDetailId,operations=dbo.FNAGetBranchRatingNEW('merge','Operation-General',brDetailId) from branchRatingSummaryNEW WITH(NOLOCK) where riskcategory='Operation-General') A
  555. LEFT JOIN (select brDetailId, [security]=dbo.FNAGetBranchRatingNEW('merge','Security-Maintenance',brDetailId) from branchRatingSummaryNEW WITH(NOLOCK) where riskcategory='Security-Maintenance')B on B.brDetailId=a.brDetailId
  556. LEFT JOIN (select brDetailId, compliance=dbo.FNAGetBranchRatingNEW('merge','Compliance-Regulatory',brDetailId) from branchRatingSummaryNEW WITH(NOLOCK) where riskcategory='Compliance-Regulatory') C on C.brDetailId=a.brDetailId
  557. LEFT JOIN (select brDetailId, overall=dbo.FNAGetBranchRatingNEW('merge','overall',brDetailId) from branchRatingSummaryNEW WITH(NOLOCK) where riskcategory='overall') E on E.brDetailId=a.brDetailId
  558. SET @table = '(
  559. SELECT
  560. brDetailid = brd.ratingId
  561. ,brd.branchId
  562. ,branchName = am.agentName
  563. ,brd.fromDate
  564. ,brd.toDate
  565. ,operations,security ,compliance ,overall
  566. ,others = ''''
  567. ,brd.createdBy
  568. ,brd.createdDate
  569. ,rankedBy = brd.ratingBy
  570. ,rankingDate = brd.ratingDate
  571. ,reviewedDate = brd.reviewedDate
  572. ,brd.reviewerComment
  573. ,brd.approvedBy
  574. ,brd.approvedDate
  575. ,approverComment
  576. ,brd.isActive
  577. ,scorelink =
  578. CASE WHEN brd.isActive=''y'' AND brd.ratingDate IS NULL AND brd.reviewedDate IS NULL AND brd.approvedDate IS NULL THEN
  579. CASE WHEN '''+@hasRight+'''=''Y'' THEN
  580. ''<a href="Manage.aspx?type=rating&brId=''+CAST(brd.ratingId AS VARCHAR)+''&bId=''+CAST(brd.branchId AS VARCHAR)
  581. +''&bName=''+CAST(am.agentName AS VARCHAR)
  582. +''&ron=''+ISNULL(CAST(brd.reviewedDate AS VARCHAR),'''')
  583. +''&r=''+CAST(ISNULL(brd.reviewedBy,'''') AS VARCHAR)
  584. +''&rPeriod=''+CAST(brd.fromDate AS VARCHAR)+'' to ''+ CAST(brd.toDate AS VARCHAR)
  585. +''&ratedby=''+CAST(ISNULL(brd.ratingBy,'''') AS VARCHAR)
  586. +''&ratedon=''+ISNULL(CAST(brd.ratingDate AS VARCHAR),'''')
  587. +''&appby=''+CAST(ISNULL(brd.approvedBy,'''') AS VARCHAR)
  588. +''&appon=''+ISNULL(CAST(brd.approvedDate AS VARCHAR),'''')
  589. +''">Rating</a>&nbsp;''
  590. ELSE ''
  591. <a href="Manage.aspx?type=riskhistory&brId=''+CAST(brd.ratingId as varchar)+''&bId=''+cast(brd.branchId as varchar)
  592. +''&bName=''+cast(am.agentName as varchar)
  593. +''&ron=''+isnull(cast(brd.reviewedDate as varchar),'''')
  594. +''&r=''+cast(isnull(brd.reviewedBy,'''') as varchar)
  595. +''&rPeriod=''+cast(brd.fromDate as varchar)+'' to ''+ cast(brd.toDate as varchar)
  596. +''&ratedby=''+CAST(ISNULL(brd.ratingBy,'''') AS VARCHAR)
  597. +''&ratedon=''+ISNULL(CAST(brd.ratingDate AS VARCHAR),'''')
  598. +''&appby=''+CAST(ISNULL(brd.approvedBy,'''') AS VARCHAR)
  599. +''&appon=''+ISNULL(CAST(brd.approvedDate AS VARCHAR),'''')
  600. +''">Details</a>&nbsp;
  601. ''
  602. END
  603. WHEN brd.isActive=''y'' AND brd.ratingDate IS NOT NULL AND brd.ratingComment IS NULL THEN
  604. ''<a href="Manage.aspx?type=branchcomment&brId=''+CAST(brd.ratingId AS VARCHAR)+''&bId=''+CAST(brd.branchId AS VARCHAR)
  605. +''&bName=''+CAST(am.agentName AS VARCHAR)
  606. +''&ron=''+ISNULL(CAST(brd.reviewedDate AS VARCHAR),'''')
  607. +''&r=''+CAST(ISNULL(brd.reviewedBy,'''') AS VARCHAR)
  608. +''&rPeriod=''+CAST(brd.fromDate AS VARCHAR)+'' to ''+ CAST(brd.toDate AS VARCHAR)
  609. +''&ratedby=''+CAST(ISNULL(brd.ratingBy,'''') AS VARCHAR)
  610. +''&ratedon=''+ISNULL(CAST(brd.ratingDate AS VARCHAR),'''')
  611. +''&appby=''+CAST(ISNULL(brd.approvedBy,'''') AS VARCHAR)
  612. +''&appon=''+ISNULL(CAST(brd.approvedDate AS VARCHAR),'''')
  613. +''">Add Comment</a>&nbsp;''
  614. WHEN brd.isActive=''y'' and brd.ratingDate is not null AND brd.ratingComment IS NOT NULL AND brd.reviewedBy is null then
  615. CASE WHEN '''+@reviewRight+'''=''Y'' THEN
  616. ''<a href="Manage.aspx?type=review&brId=''+CAST(brd.ratingId as varchar)+''&bId=''+cast(brd.branchId as varchar)
  617. +''&bName=''+cast(am.agentName as varchar)
  618. +''&ron=''+isnull(cast(brd.reviewedDate as varchar),'''')
  619. +''&r=''+cast(isnull(brd.reviewedBy,'''') as varchar)
  620. +''&rPeriod=''+cast(brd.fromDate as varchar)+'' to ''+ cast(brd.toDate as varchar)
  621. +''&ratedby=''+CAST(ISNULL(brd.ratingBy,'''') AS VARCHAR)
  622. +''&ratedon=''+ISNULL(CAST(brd.ratingDate AS VARCHAR),'''')
  623. +''&appby=''+CAST(ISNULL(brd.approvedBy,'''') AS VARCHAR)
  624. +''&appon=''+ISNULL(CAST(brd.approvedDate AS VARCHAR),'''')
  625. +''">Review</a>&nbsp;''
  626. ELSE ''
  627. <a href="Manage.aspx?type=riskhistory&brId=''+CAST(brd.ratingId as varchar)+''&bId=''+cast(brd.branchId as varchar)
  628. +''&bName=''+cast(am.agentName as varchar)
  629. +''&ron=''+isnull(cast(brd.reviewedDate as varchar),'''')
  630. +''&r=''+cast(isnull(brd.reviewedBy,'''') as varchar)
  631. +''&rPeriod=''+cast(brd.fromDate as varchar)+'' to ''+ cast(brd.toDate as varchar)
  632. +''&ratedby=''+CAST(ISNULL(brd.ratingBy,'''') AS VARCHAR)
  633. +''&ratedon=''+ISNULL(CAST(brd.ratingDate AS VARCHAR),'''')
  634. +''&appby=''+CAST(ISNULL(brd.approvedBy,'''') AS VARCHAR)
  635. +''&appon=''+ISNULL(CAST(brd.approvedDate AS VARCHAR),'''')
  636. +''">Details</a>&nbsp;
  637. ''
  638. END
  639. WHEN brd.isActive=''y'' and brd.reviewedDate is not null AND brd.approvedDate is null and brd.reviewedBy<>'''+@user+''' then
  640. CASE WHEN '''+@reviewRight+'''=''Y'' THEN
  641. ''<a href="Manage.aspx?type=approve&brId=''+CAST(brd.ratingId as varchar)+''&bId=''+cast(brd.branchId as varchar)
  642. +''&bName=''+cast(am.agentName as varchar)
  643. +''&ron=''+isnull(cast(brd.reviewedDate as varchar),'''')
  644. +''&r=''+cast(isnull(brd.reviewedBy,'''') as varchar)
  645. +''&rPeriod=''+cast(brd.fromDate as varchar)+'' to ''+ cast(brd.toDate as varchar)
  646. +''&ratedby=''+CAST(ISNULL(brd.ratingBy,'''') AS VARCHAR)
  647. +''&ratedon=''+ISNULL(CAST(brd.ratingDate AS VARCHAR),'''')
  648. +''&appby=''+CAST(ISNULL(brd.approvedBy,'''') AS VARCHAR)
  649. +''&appon=''+ISNULL(CAST(brd.approvedDate AS VARCHAR),'''')
  650. +''">Approve</a>&nbsp;''
  651. +''<a onclick="return confirm(''''Are you sure you want to inactive this assessement?'''');" href="List.aspx?type=inactive&brId=''+CAST(brd.ratingId as varchar)+''&bId=''+cast(brd.branchId as varchar)+''"></a>&nbsp;''
  652. ELSE ''
  653. <a href="Manage.aspx?type=riskhistory&brId=''+CAST(brd.ratingId as varchar)+''&bId=''+cast(brd.branchId as varchar)
  654. +''&bName=''+cast(am.agentName as varchar)
  655. +''&ron=''+isnull(cast(brd.reviewedDate as varchar),'''')
  656. +''&r=''+cast(isnull(brd.reviewedBy,'''') as varchar)
  657. +''&rPeriod=''+cast(brd.fromDate as varchar)+'' to ''+ cast(brd.toDate as varchar)
  658. +''&ratedby=''+CAST(ISNULL(brd.ratingBy,'''') AS VARCHAR)
  659. +''&ratedon=''+ISNULL(CAST(brd.ratingDate AS VARCHAR),'''')
  660. +''&appby=''+CAST(ISNULL(brd.approvedBy,'''') AS VARCHAR)
  661. +''&appon=''+ISNULL(CAST(brd.approvedDate AS VARCHAR),'''')
  662. +''">Details</a>&nbsp;
  663. ''
  664. END
  665. ELSE
  666. ''<a href="Manage.aspx?type=riskhistory&brId=''+CAST(brd.ratingId as varchar)+''&bId=''+cast(brd.branchId as varchar)
  667. +''&bName=''+cast(am.agentName as varchar)
  668. +''&ron=''+isnull(cast(brd.reviewedDate as varchar),'''')
  669. +''&r=''+cast(isnull(brd.reviewedBy,'''') as varchar)
  670. +''&rPeriod=''+cast(brd.fromDate as varchar)+'' to ''+ cast(brd.toDate as varchar)
  671. +''&ratedby=''+CAST(ISNULL(brd.ratingBy,'''') AS VARCHAR)
  672. +''&ratedon=''+ISNULL(CAST(brd.ratingDate AS VARCHAR),'''')
  673. +''&appby=''+CAST(ISNULL(brd.approvedBy,'''') AS VARCHAR)
  674. +''&appon=''+ISNULL(CAST(brd.approvedDate AS VARCHAR),'''')
  675. +''">Details</a>&nbsp;''
  676. + CASE WHEN isnull(brd.isActive,''y'')=''y'' THEN
  677. + ''<a onclick="return confirm(''''Are you sure you want to inactive this assessement?'''');" href="List.aspx?type=inactive&brId=''+CAST(brd.ratingId as varchar)+''&bId=''+cast(brd.branchId as varchar)+''"></a>''
  678. ELSE '''' END
  679. END
  680. FROM branchratingdetailNEW brd WITH(NOLOCK)
  681. INNER JOIN agentMaster am on am.agentId=brd.branchId
  682. INNER JOIN #rmBranch T ON T.agentId = brd.branchId
  683. LEFT JOIN #RATINGDETAIL rd WITH(NOLOCK) ON brd.ratingId = rd.brdetailid
  684. WHERE 1 = 1
  685. ) x'
  686. print @table
  687. SET @sql_filter = ''
  688. IF @agentID is not NULL
  689. SET @sql_filter=@sql_filter+' And branchId = '''+CAST(@agentID AS VARCHAR)+''''
  690. IF @fromDate IS NOT NULL
  691. SET @sql_filter = @sql_filter + ' AND fromDate BETWEEN ''' + CONVERT(VARCHAR, @fromDate, 101) + ''' AND ''' + CONVERT(VARCHAR, @fromDate, 101) + ' 23:59:59'''
  692. IF @toDate IS NOT NULL AND @toDate IS NOT NULL
  693. SET @sql_filter = @sql_filter + ' AND toDate BETWEEN ''' + CONVERT(VARCHAR, @toDate, 101) + ''' AND ''' + CONVERT(VARCHAR, @toDate, 101) + ' 23:59:59'''
  694. IF @reviewedDate IS NOT NULL
  695. SET @sql_filter = @sql_filter + ' AND reviewedDate BETWEEN ''' + CONVERT(VARCHAR, @reviewedDate, 101) + ''' AND ''' + CONVERT(VARCHAR, @reviewedDate, 101) + ' 23:59:59'''
  696. IF @approvedDate IS NOT NULL
  697. SET @sql_filter = @sql_filter + ' AND approvedDate BETWEEN ''' + CONVERT(VARCHAR, @approvedDate, 101) + ''' AND ''' + CONVERT(VARCHAR, @approvedDate, 101) + ' 23:59:59'''
  698. IF @isActive IS NOT NULL AND @isActive<>'All'
  699. SET @sql_filter = @sql_filter + ' And isActive='''+@isActive+''''
  700. ELSE IF @isActive IS NULL
  701. SET @sql_filter = @sql_filter + ' And isActive=''1'''
  702. IF @rating is not NULL
  703. SET @sql_filter=@sql_filter+' And dbo.FNAGetBranchRatingNEW(''rating'','''+@category+''',x.brDetailid) = '''+CAST(@rating AS VARCHAR)+''''
  704. print @table+''+@sql_filter
  705. SET @select_field_list ='
  706. brDetailid
  707. ,branchId
  708. ,branchName
  709. ,rankedBy
  710. ,rankingDate
  711. ,fromDate
  712. ,toDate
  713. ,operations
  714. ,security
  715. ,compliance
  716. ,overall
  717. ,others
  718. ,reviewedDate
  719. ,approvedDate
  720. ,createdBy
  721. ,scorelink '
  722. EXEC dbo.proc_paging
  723. @table
  724. ,@sql_filter
  725. ,@select_field_list
  726. ,@extra_field_list
  727. ,@sortBy
  728. ,@sortOrder
  729. ,@pageSize
  730. ,@pageNumber
  731. END
  732. END TRY
  733. BEGIN CATCH
  734. IF @@TRANCOUNT > 0
  735. ROLLBACK TRANSACTION
  736. DECLARE @errorMessage VARCHAR(MAX)
  737. SET @errorMessage = ERROR_MESSAGE()
  738. EXEC proc_errorHandler 1, @errorMessage, @branchId
  739. END CATCH
  740. GO