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.

477 lines
13 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_applicationLogs] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_applicationLogs]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_applicationLogs] 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_applicationLogs]
  12. @flag VARCHAR(50)
  13. ,@rowId BIGINT = NULL
  14. ,@logType VARCHAR(50) = NULL
  15. ,@tableName VARCHAR(100) = NULL
  16. ,@dataId VARCHAR(50) = NULL
  17. ,@user VARCHAR(30) = NULL
  18. ,@oldData VARCHAR(MAX) = NULL
  19. ,@newData VARCHAR(MAX) = NULL
  20. ,@module VARCHAR(50) = NULL
  21. ,@tableDescription VARCHAR(50) = NULL
  22. ,@createdBy VARCHAR(30) = NULL
  23. ,@createdDate DATETIME = NULL
  24. ,@sortBy VARCHAR(50) = NULL
  25. ,@sortOrder VARCHAR(5) = NULL
  26. ,@pageSize INT = NULL
  27. ,@pageNumber INT = NULL
  28. ,@IP VARCHAR(50) = NULL
  29. ,@Reason VARCHAR(2000) = NULL
  30. ,@UserData VARCHAR(max) = NULL
  31. ,@fieldValue VARCHAR(2000) = NULL
  32. ,@agentId VARCHAR(20) = NULL
  33. ,@dcSerialNumber VARCHAR(100) = NULL
  34. ,@dcUserName VARCHAR(100) = NULL
  35. AS
  36. SET NOCOUNT ON;
  37. /*
  38. @flag,
  39. i = Insert
  40. auditRole = Audit Role Report
  41. auditFunction = Audit Function Report
  42. */
  43. DECLARE @sql VARCHAR(MAX)
  44. IF @flag = 'i'
  45. BEGIN
  46. INSERT INTO applicationLogs (
  47. logType
  48. ,tableName
  49. ,dataId
  50. ,oldData
  51. ,newData
  52. ,module
  53. ,createdBy
  54. ,createdDate
  55. )
  56. SELECT
  57. @logType
  58. ,@tableName
  59. ,@dataId
  60. ,@oldData
  61. ,@newData
  62. ,@module
  63. ,@user
  64. ,GETDATE()
  65. SET @rowId = SCOPE_IDENTITY()
  66. SELECT 0 errorCode, 'Log recorded successfully.' mes, @rowId id
  67. END
  68. IF @flag = 'login'
  69. BEGIN
  70. INSERT INTO LoginLogs
  71. (
  72. [logType]
  73. ,[IP]
  74. ,[Reason]
  75. ,[UserData]
  76. ,[fieldValue]
  77. ,[createdBy]
  78. ,[createdDate]
  79. ,[agentId]
  80. ,dcSerialNumber
  81. ,dcUserName
  82. )
  83. SELECT
  84. @logType
  85. ,@IP
  86. ,@Reason
  87. ,@UserData
  88. ,@fieldValue
  89. ,@createdBy
  90. ,GETDATE()
  91. ,@agentId
  92. ,@dcSerialNumber
  93. ,@dcUserName
  94. END
  95. -- exec proc_applicationLogs 's'
  96. IF @flag = 's'
  97. BEGIN
  98. DECLARE
  99. @selectFieldList VARCHAR(MAX)
  100. ,@extraFieldList VARCHAR(MAX)
  101. ,@table VARCHAR(MAX)
  102. ,@sqlFilter VARCHAR(MAX)
  103. --IF @sortBy IS NULL
  104. SET @sortBy = 'createdDate'
  105. --IF @sortOrder IS NULL
  106. SET @sortOrder = 'DESC'
  107. SET @table = '(
  108. SELECT
  109. id = rowid
  110. ,logType = CASE WHEN al.logType = ''I'' THEN ''Insert''
  111. WHEN al.logType = ''U'' THEN ''Update''
  112. WHEN al.logType = ''D'' THEN ''Delete''
  113. END
  114. ,al.tableName
  115. ,al.dataId
  116. ,al.oldData
  117. ,al.newData
  118. ,al.module
  119. ,al.createdBy
  120. ,al.createdDate
  121. FROM applicationLogs al WITH(NOLOCK)
  122. ) x'
  123. SET @sqlFilter = ISNULL(dbo.FNAGetFilterModule(@user), '')
  124. SET @selectFieldList = '
  125. id
  126. ,logType
  127. ,tableName
  128. ,dataId
  129. ,oldData
  130. ,newData
  131. ,module
  132. ,createdBy
  133. ,createdDate
  134. '
  135. IF @logType IS NOT NULL
  136. BEGIN
  137. IF @logType IN ('Insert', 'Delete', 'Update')
  138. SET @logType = LEFT(@logType, 1)
  139. SET @sqlFilter = @sqlFilter + ' AND logType LIKE ''' + @logType + '%'''
  140. END
  141. IF @module IS NOT NULL
  142. SET @sqlFilter = @sqlFilter + ' AND module LIKE ''%' + @module + '%'''
  143. IF @tableName IS NOT NULL
  144. SET @sqlFilter = @sqlFilter + ' AND tableName LIKE ''%' + @tableName + '%'''
  145. IF @createdDate IS NOT NULL
  146. SET @sqlFilter = @sqlFilter + ' AND createdDate BETWEEN ''' + CONVERT(VARCHAR, @createdDate,101) + ''' AND ''' + CONVERT(VARCHAR, @createdDate, 101) + ' 23:59:59'''
  147. IF @createdBy IS NOT NULL
  148. SET @sqlFilter = @sqlFilter + ' AND createdBy LIKE ''' + @createdBy + '%'''
  149. IF @dataId IS NOT NULL
  150. SET @sqlFilter = @sqlFilter + ' AND dataId LIKE ''' + @dataId + '%'''
  151. IF @oldData IS NOT NULL
  152. SET @sqlFilter = @sqlFilter + ' AND oldData LIKE ''' + @oldData + '%'''
  153. IF @newData IS NOT NULL
  154. SET @sqlFilter = @sqlFilter + ' AND newData LIKE ''' + @newData + '%'''
  155. IF @createdBy IS NOT NULL
  156. SET @sqlFilter = @sqlFilter + ' AND createdBy LIKE ''' + @createdBy + '%'''
  157. SET @extraFieldList = ',''<a href ="'' + CASE WHEN tableName =''RF Upload'' THEN ''manageDetail'' ELSE ''manage'' END + ''.aspx?log_Id='' + CAST(id AS VARCHAR(50)) + ''"><img border = "0" title = "View Log" src="' + '../../../images/but_view.gif" /></a>
  158. ''[edit]'
  159. PRINT(@table)
  160. EXEC dbo.proc_paging
  161. @table
  162. ,@sqlFilter
  163. ,@selectFieldList
  164. ,@extraFieldList
  165. ,@sortBy
  166. ,@sortOrder
  167. ,@pageSize
  168. ,@pageNumber
  169. END
  170. ELSE IF @flag = 'a'
  171. BEGIN
  172. --select @rowId
  173. SELECT
  174. rowId [log_Id],logType ,
  175. tableName,dataId,oldData,module,
  176. newData,createdBy,createdDate
  177. FROM applicationLogs
  178. WHERE rowId=@rowId
  179. END
  180. ELSE IF @flag = 'lv'
  181. BEGIN
  182. --select @rowId
  183. SELECT
  184. rowId [log_Id],logType ,
  185. UserData,Reason,fieldValue,createdBy,createdDate
  186. FROM LoginLogs
  187. WHERE rowId=@rowId
  188. END
  189. ELSE IF @flag = 'auditPackage'
  190. BEGIN
  191. --EXEC proc_applicationLogs @flag = 'auditRule', @oldData = '7015', @newData = '7015'
  192. SET @sql = '
  193. SELECT
  194. ''Rule'' [Field]
  195. ,o.[data] [Old Value]
  196. ,n.[data] [New Value]
  197. ,CASE
  198. WHEN ISNULL(o.[data], '''') = ISNULL(n.[data], '''') THEN ''N''
  199. ELSE ''Y''
  200. END [hasChanged]
  201. FROM (
  202. SELECT DISTINCT
  203. [data] = ''Domestic Rule '' + dc.code
  204. ,ruleId = dc.scMasterId
  205. FROM scMaster dc
  206. WHERE dc.scMasterId IN (
  207. SELECT ruleId FROM commissionPackage WHERE ruleType = ''ds'' AND ISNULL(isDeleted, ''N'') = ''N'' AND packageId = ' + @oldData + '
  208. )
  209. UNION ALL
  210. SELECT DISTINCT
  211. [data] = ''Intl Service Charge '' + dc.code
  212. ,ruleId = dc.sscMasterId
  213. FROM sscMaster dc
  214. WHERE dc.sscMasterId IN (
  215. SELECT ruleId FROM commissionPackage WHERE ruleType = ''sc'' AND ISNULL(isDeleted, ''N'') = ''N'' AND packageId = ' + @oldData + '
  216. )
  217. UNION ALL
  218. SELECT DISTINCT
  219. [data] = ''Intl Send Commission '' + dc.code
  220. ,ruleId = dc.scSendMasterId
  221. FROM scSendMaster dc
  222. WHERE dc.scSendMasterId IN (
  223. SELECT ruleId FROM commissionPackage WHERE ruleType = ''cs'' AND ISNULL(isDeleted, ''N'') = ''N'' AND packageId = ' + @oldData + '
  224. )
  225. UNION ALL
  226. SELECT DISTINCT
  227. [data] = ''Intl Pay Commission '' + dc.code
  228. ,ruleId = dc.scPayMasterId
  229. FROM scPayMaster dc
  230. WHERE dc.scPayMasterId IN (
  231. SELECT ruleId FROM commissionPackage WHERE ruleType = ''cp'' AND ISNULL(isDeleted, ''N'') = ''N'' AND packageId = ' + @oldData + '
  232. )
  233. ) o
  234. FULL JOIN (
  235. SELECT DISTINCT
  236. [data] = ''Domestic Rule '' + dc.code
  237. ,ruleId = dc.scMasterId
  238. FROM scMaster dc
  239. WHERE dc.scMasterId IN (
  240. SELECT ruleId FROM commissionPackageHistory WHERE ruleType = ''ds'' AND approvedBy IS NULL AND modType <> ''D'' AND packageId = ' + @newData + '
  241. )
  242. UNION ALL
  243. SELECT DISTINCT
  244. [data] = ''Intl Service Charge '' + dc.code
  245. ,ruleId = dc.sscMasterId
  246. FROM sscMaster dc
  247. WHERE dc.sscMasterId IN (
  248. SELECT ruleId FROM commissionPackageHistory WHERE ruleType = ''sc'' AND approvedBy IS NULL AND modType <> ''D'' AND packageId = ' + @newData + '
  249. )
  250. UNION ALL
  251. SELECT DISTINCT
  252. [data] = ''Intl Send Commission '' + dc.code
  253. ,ruleId = dc.scSendMasterId
  254. FROM scSendMaster dc
  255. WHERE dc.scSendMasterId IN (
  256. SELECT ruleId FROM commissionPackageHistory WHERE ruleType = ''cs'' AND approvedBy IS NULL AND modType <> ''D'' AND packageId = ' + @newData + '
  257. )
  258. UNION ALL
  259. SELECT DISTINCT
  260. [data] = ''Intl Pay Commission '' + dc.code
  261. ,ruleId = dc.scPayMasterId
  262. FROM scPayMaster dc
  263. WHERE dc.scPayMasterId IN (
  264. SELECT ruleId FROM commissionPackageHistory WHERE ruleType = ''cp'' AND approvedBy IS NULL AND modType <> ''D'' AND packageId = ' + @newData + '
  265. )
  266. ) n ON o.[data] = n.[data]
  267. ORDER BY ISNULL(o.[data], n.[data])
  268. '
  269. PRINT @sql
  270. EXEC (@sql)
  271. END
  272. ELSE IF @flag = 'auditFunction'
  273. BEGIN
  274. SET @sql = '
  275. SELECT
  276. ''Function'' [Field]
  277. ,o.[data] [Old Value]
  278. ,n.[data] [New Value]
  279. ,CASE
  280. WHEN ISNULL(o.[functionId], 0) = ISNULL(n.[functionId], 0) THEN ''N''
  281. ELSE ''Y''
  282. END [hasChanged]
  283. FROM (
  284. SELECT DISTINCT
  285. am.menuDescription + '' '' + af.functionName [data]
  286. ,af.functionId
  287. FROM applicationMenus am
  288. INNER JOIN applicationFunctions af ON am.functionId = af.parentFunctionId
  289. WHERE af.functionId IN (' + ISNULL(NULLIF(@oldData,'') , 0) + ')
  290. ) o
  291. FULL JOIN (
  292. SELECT DISTINCT
  293. am.menuDescription + '' '' + af.functionName [data]
  294. ,af.functionId
  295. FROM applicationMenus am
  296. INNER JOIN applicationFunctions af ON am.functionId = af.parentFunctionId
  297. WHERE af.functionId IN (' + ISNULL(NULLIF(@newData,'') , 0) + ')
  298. ) n ON o.functionId = n.functionId
  299. ORDER BY ISNULL(o.[data], n.[data])
  300. '
  301. --PRINT @sql
  302. EXEC (@sql)
  303. END
  304. ELSE IF @flag = 'auditRole'
  305. BEGIN
  306. SET @sql = '
  307. SELECT
  308. ''Role'' [Field]
  309. ,o.[data] [Old Value]
  310. ,n.[data] [New Value]
  311. ,CASE
  312. WHEN ISNULL(o.[roleId], 0) = ISNULL(n.[roleId], 0) THEN ''N''
  313. ELSE ''Y''
  314. END [hasChanged]
  315. FROM (
  316. SELECT DISTINCT
  317. ar.roleName [data]
  318. ,ar.roleId
  319. FROM applicationRoles ar WITH(NOLOCK)
  320. INNER JOIN applicationUserRoles aur WITH(NOLOCK) ON ar.roleId = aur.roleId
  321. WHERE ar.roleId IN (' + ISNULL(NULLIF(@oldData,'') , 0) + ')
  322. ) o
  323. FULL JOIN (
  324. SELECT DISTINCT
  325. ar.roleName [data]
  326. ,ar.roleId
  327. FROM applicationRoles ar WITH(NOLOCK)
  328. INNER JOIN applicationUserRolesMod aur WITH(NOLOCK) ON ar.roleId = aur.roleId
  329. WHERE ar.roleId IN (' + ISNULL(NULLIF(@newData,'') , 0) + ')
  330. ) n ON o.roleId = n.roleId '
  331. --PRINT @sql
  332. EXEC (@sql)
  333. END
  334. ELSE IF @flag = 'auditAgent'
  335. BEGIN
  336. SET @sql = '
  337. SELECT
  338. ''Agent'' [Field]
  339. ,o.[data] [Old Value]
  340. ,n.[data] [New Value]
  341. ,CASE
  342. WHEN ISNULL(o.[agentId], 0) = ISNULL(n.[agentId], 0) THEN ''N''
  343. ELSE ''Y''
  344. END [hasChanged]
  345. FROM (
  346. SELECT DISTINCT
  347. am.agentName [data]
  348. ,am.agentId
  349. FROM agentMaster am WITH(NOLOCK)
  350. WHERE am.agentId IN (' + ISNULL(NULLIF(@oldData,'') , 0) + ')
  351. ) o
  352. FULL JOIN (
  353. SELECT DISTINCT
  354. am.agentName [data]
  355. ,am.agentId
  356. FROM agentMaster am WITH(NOLOCK)
  357. WHERE am.agentId IN (' + ISNULL(NULLIF(@newData,'') , 0) + ')
  358. ) n ON o.agentId = n.agentId
  359. ORDER BY ISNULL(o.[data], n.[data])
  360. '
  361. --PRINT @sql
  362. EXEC (@sql)
  363. END
  364. ELSE IF @flag = 'auditRuleCriteria'
  365. BEGIN
  366. SET @sql = '
  367. SELECT
  368. ''Criteria'' [Field]
  369. ,o.[data] [Old Value]
  370. ,n.[data] [New Value]
  371. ,CASE
  372. WHEN ISNULL(o.[valueId], 0) = ISNULL(n.[valueId], 0) THEN ''N''
  373. ELSE ''Y''
  374. END [hasChanged]
  375. FROM (
  376. SELECT DISTINCT
  377. sdv.detailTitle [data]
  378. ,sdv.valueId
  379. FROM staticDataValue sdv WITH(NOLOCK)
  380. INNER JOIN csCriteria csc ON sdv.valueId = csc.criteriaId
  381. WHERE sdv.valueId IN (' + ISNULL(NULLIF(@oldData,'') , 0) + ')
  382. ) o
  383. FULL JOIN (
  384. SELECT DISTINCT
  385. sdv.detailTitle [data]
  386. ,sdv.valueId
  387. FROM staticDataValue sdv WITH(NOLOCK)
  388. INNER JOIN csCriteriaHistory csch ON sdv.valueId = csch.criteriaId
  389. WHERE sdv.valueId IN (' + ISNULL(NULLIF(@newData,'') , 0) + ')
  390. ) n ON o.valueId = n.valueId
  391. ORDER BY ISNULL(o.[data], n.[data])
  392. '
  393. --PRINT @sql
  394. EXEC (@sql)
  395. END
  396. ELSE IF @flag = 'auditIdCriteria'
  397. BEGIN
  398. SET @sql = '
  399. SELECT
  400. ''Criteria'' [Field]
  401. ,o.[data] [Old Value]
  402. ,n.[data] [New Value]
  403. ,CASE
  404. WHEN ISNULL(o.[criteriaId], 0) = ISNULL(n.[criteriaId], 0) THEN ''N''
  405. ELSE ''Y''
  406. END [hasChanged]
  407. FROM (
  408. SELECT DISTINCT
  409. a.detailTitle + '' '' + b.detailTitle [data]
  410. ,b.criteriaId
  411. FROM (SELECT valueId, detailTitle FROM staticDataValue WHERE valueId IN (' + ISNULL(NULLIF(@oldData,'') , 0) + ')) a
  412. INNER JOIN (SELECT cisc.idTypeId, cisc.criteriaId, detailTitle = ISNULL(sdv.detailTitle,''Any'') FROM cisCriteria cisc
  413. LEFT JOIN staticDataValue sdv ON cisc.idTypeId = sdv.valueId
  414. WHERE cisc.cisDetailId = ' + CAST(@dataId AS VARCHAR) + ') b
  415. ON a.valueId = b.criteriaId
  416. WHERE b.criteriaId IN (' + ISNULL(NULLIF(@oldData,'') , 0) + ')
  417. ) o
  418. FULL JOIN (
  419. SELECT DISTINCT
  420. a.detailTitle + '' '' + b.detailTitle [data]
  421. ,b.criteriaId
  422. FROM (SELECT valueId, detailTitle FROM staticDataValue WHERE valueId IN (' + ISNULL(NULLIF(@newData,'') , 0) + ')) a
  423. INNER JOIN (SELECT cisch.idTypeId, cisch.criteriaId, detailTitle = ISNULL(sdv.detailTitle,''Any'') FROM cisCriteriaHistory cisch
  424. LEFT JOIN staticDataValue sdv ON cisch.idTypeId = sdv.valueId
  425. WHERE cisch.cisDetailId = ' + CAST(@dataId AS VARCHAR) + ') b
  426. ON a.valueId = b.criteriaId
  427. WHERE b.criteriaId IN (' + ISNULL(NULLIF(@newData,'') , 0) + ')
  428. ) n ON o.criteriaId = n.criteriaId
  429. ORDER BY ISNULL(o.[data], n.[data])
  430. '
  431. --PRINT @sql
  432. EXEC (@sql)
  433. END
  434. GO