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.

467 lines
36 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_branchUserSetup] 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. [proc_agentMaster] @flag = 'bc', @agentId = '1'
  10. [proc_agentMaster] @flag = 's', @user = 'admin', @parentId = 1
  11. */
  12. CREATE proc [dbo].[proc_branchUserSetup]
  13. @flag VARCHAR(50) = NULL
  14. ,@userId INT = NULL
  15. ,@user VARCHAR(30) = NULL
  16. ,@userName VARCHAR(30) = NULL
  17. ,@agentCode VARCHAR(10) = NULL
  18. ,@firstName VARCHAR(30) = NULL
  19. ,@middleName VARCHAR(30) = NULL
  20. ,@lastName VARCHAR(30) = NULL
  21. ,@salutation VARCHAR(10) = NULL
  22. ,@gender VARCHAR(10) = NULL
  23. ,@telephoneNo VARCHAR(15) = NULL
  24. ,@address VARCHAR(50) = NULL
  25. ,@city VARCHAR(30) = NULL
  26. ,@countryId INT = NULL
  27. ,@state INT = NULL
  28. ,@district INT = NULL
  29. ,@zip VARCHAR(10) = NULL
  30. ,@mobileNo VARCHAR(15) = NULL
  31. ,@email VARCHAR(255) = NULL
  32. ,@pwd VARCHAR(255) = NULL
  33. ,@isActive CHAR(1) = NULL
  34. ,@isLocked CHAR(1) = NULL
  35. ,@agentId INT = NULL
  36. ,@sessionTimeOutPeriod INT = NULL
  37. ,@tranApproveLimit MONEY = NULL
  38. ,@agentCrLimitAmt MONEY = NULL
  39. ,@loginTime VARCHAR(10) = NULL
  40. ,@logoutTime VARCHAR(10) = NULL
  41. ,@userAccessLevel CHAR(1) = NULL
  42. ,@perDayTranLimit INT = NULL
  43. ,@fromSendTrnTime TIME = NULL
  44. ,@toSendTrnTime TIME = NULL
  45. ,@fromPayTrnTime TIME = NULL
  46. ,@toPayTrnTime TIME = NULL
  47. ,@fromRptViewTime TIME = NULL
  48. ,@toRptViewTime TIME = NULL
  49. ,@isDeleted CHAR(1) = NULL
  50. ,@approvedDate DATETIME = NULL
  51. ,@lastLoginTs DATETIME = NULL
  52. ,@pwdChangeDays INT = NULL
  53. ,@pwdChangeWarningDays INT = NULL
  54. ,@lastPwdChangedOn DATETIME = NULL
  55. ,@forceChangePwd CHAR(1) = NULL
  56. ,@oldPwd VARCHAR(255) = NULL
  57. ,@name VARCHAR(50) = NULL
  58. ,@file VARCHAR(500) = NULL
  59. ,@changesApprovalQueueRowId BIGINT = NULL
  60. ,@haschanged CHAR(1) = NULL
  61. ,@sortBy VARCHAR(50) = NULL
  62. ,@sortOrder VARCHAR(5) = NULL
  63. ,@pageSize INT = NULL
  64. ,@pageNumber INT = NULL
  65. ,@UserInfoDetail VARCHAR(MAX) = NULL
  66. ,@maxReportViewDays INT = NULL
  67. ,@parentId VARCHAR(30) = NULL
  68. ,@agentName VARCHAR(100) = NULL
  69. ,@agentCountry VARCHAR(100) = NULL
  70. ,@agentLocation INT = NULL
  71. ,@agentType INT = NULL
  72. ,@actAsBranch CHAR(1) = NULL
  73. ,@isSettlingAgent CHAR(1) = NULL
  74. ,@populateBranch CHAR(1) = NULL
  75. AS
  76. SET NOCOUNT ON
  77. DECLARE @glcode VARCHAR(10), @acct_num VARCHAR(20);
  78. CREATE TABLE #tempACnum (acct_num VARCHAR(20));
  79. SET XACT_ABORT ON
  80. BEGIN TRY
  81. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  82. DECLARE
  83. @sql VARCHAR(MAX)
  84. ,@oldValue VARCHAR(MAX)
  85. ,@newValue VARCHAR(MAX)
  86. ,@tableName VARCHAR(50)
  87. ,@logIdentifier VARCHAR(100)
  88. ,@logParamMain VARCHAR(100)
  89. ,@tableAlias VARCHAR(100)
  90. ,@modType VARCHAR(6)
  91. ,@module INT
  92. ,@select_field_list VARCHAR(MAX)
  93. ,@extra_field_list VARCHAR(MAX)
  94. ,@table VARCHAR(MAX)
  95. ,@sql_filter VARCHAR(MAX)
  96. ,@ApprovedFunctionId INT
  97. SELECT
  98. @logIdentifier = 'agentId'
  99. ,@logParamMain = 'agentMaster'
  100. ,@tableAlias = 'Agent Setup'
  101. ,@module = 20
  102. ,@ApprovedFunctionId = 20101030
  103. IF @flag = 'su' --Select Users
  104. BEGIN
  105. SET @table = '(
  106. SELECT
  107. userId = ISNULL(aum.userId, au.userId)
  108. ,[userName] = ISNULL(aum.userName, au.userName)
  109. ,agentCode = ISNULL(aum.agentCode, au.agentCode)
  110. ,firstName = ISNULL(aum.firstName, au.firstName)
  111. ,middleName = ISNULL(aum.middleName, au.middleName)
  112. ,lastName = ISNULL(aum.lastName, au.lastName)
  113. ,salutation = ISNULL(aum.salutation, au.salutation)
  114. ,gender = ISNULL(aum.gender, au.gender)
  115. ,[address] = ISNULL(aum.address, au.address)
  116. ,city = ISNULL(aum.city, au.city)
  117. ,countryId = ISNULL(aum.countryId, au.countryId)
  118. ,state = ISNULL(aum.state, au.state)
  119. ,district = ISNULL(aum.district, au.district)
  120. ,zip = ISNULL(aum.zip, au.zip)
  121. ,telephoneNo = ISNULL(aum.telephoneNo, au.telephoneNo)
  122. ,mobileNo = ISNULL(aum.mobileNo, au.mobileNo)
  123. ,email = ISNULL(aum.email, au.email)
  124. ,pwd = ISNULL(aum.pwd, au.pwd)
  125. ,isActive = ISNULL(aum.isActive, au.isActive)
  126. ,isLocked = au.isLocked
  127. ,agentId = ISNULL(aum.agentId, au.agentId)
  128. ,sessionTimeOutPeriod = ISNULL(aum.sessionTimeOutPeriod, au.sessionTimeOutPeriod)
  129. ,loginTime = ISNULL(aum.loginTime, au.loginTime)
  130. ,logoutTime = ISNULL(aum.logoutTime, au.logoutTime)
  131. ,userAccessLevel = ISNULL(aum.userAccessLevel, au.userAccessLevel)
  132. ,lastLoginTs = ISNULL(aum.lastLoginTs, au.lastLoginTs)
  133. ,pwdChangeDays = ISNULL(aum.pwdChangeDays, au.pwdChangeDays)
  134. ,pwdChangeWarningDays = ISNULL(aum.pwdChangeWarningDays, au.pwdChangeWarningDays)
  135. ,lastPwdChangedOn = ISNULL(aum.lastPwdChangedOn, au.lastPwdChangedOn)
  136. ,forceChangePwd = ISNULL(aum.forceChangePwd, au.forceChangePwd)
  137. ,maxReportViewDays = ISNULL(aum.maxReportViewDays, au.maxReportViewDays)
  138. ,au.createdBy
  139. ,au.createdDate
  140. ,modifiedDate = CASE WHEN au.approvedBy IS NULL THEN au.createdDate ELSE aum.createdDate END
  141. ,modifiedBy = CASE WHEN au.approvedBy IS NULL THEN au.createdBy ELSE aum.createdBy END
  142. ,hasChanged = CASE WHEN (au.approvedBy IS NULL) OR
  143. (aum.userId IS NOT NULL) OR
  144. (x.userId IS NOT NULL) OR
  145. (y.userId IS NOT NULL)
  146. THEN ''Y'' ELSE ''N'' END
  147. FROM
  148. applicationUsers au with(nolock)
  149. LEFT JOIN (
  150. SELECT
  151. userId
  152. ,createdBy = MAX(createdBy)
  153. ,createdDate = MAX(createdDate)
  154. FROM applicationUserFunctionsMod aufm WITH(NOLOCK)
  155. GROUP BY userId
  156. ) x ON au.userId = x.userId
  157. LEFT JOIN (
  158. SELECT
  159. userId
  160. ,createdBy = MAX(createdBy)
  161. ,createdDate = MAX(createdDate)
  162. FROM applicationUserRolesMod aurm WITH(NOLOCK)
  163. GROUP BY userId
  164. ) y ON au.userId = y.userId
  165. LEFT JOIN applicationUsersMod aum ON au.userId = aum.userId
  166. AND (
  167. aum.createdBy = ''' + @user + '''
  168. OR ''Y'' = dbo.FNAHasRight(''' + @user + ''',' + CAST(@ApprovedFunctionId AS VARCHAR) + ')
  169. )
  170. WHERE ISNULL(au.isDeleted, ''N'') <> ''Y''
  171. AND (
  172. au.approvedBy IS NOT NULL
  173. OR au.createdBy = ''' + @user + '''
  174. OR ''Y'' = dbo.FNAHasRight(''' + @user + ''',' + CAST(@ApprovedFunctionId AS VARCHAR) + ')
  175. )
  176. ) '
  177. PRINT (@table)
  178. IF @sortBy IS NULL
  179. SET @sortBy = 'userId'
  180. IF @sortOrder IS NULL
  181. SET @sortOrder = 'ASC'
  182. SET @table = '(
  183. SELECT
  184. main.userId
  185. ,main.userName
  186. ,name = ISNULL(main.firstName, '''') + ISNULL( '' '' + main.middleName, '''')+ ISNULL( '' '' + main.lastName, '''')
  187. ,main.firstName
  188. ,main.middleName
  189. ,main.lastName
  190. ,main.address
  191. ,main.countryId
  192. ,countryName = cm.countryName
  193. ,main.agentId
  194. ,am.agentName
  195. ,main.agentCode
  196. ,main.isLocked
  197. ,lockStatus = CASE WHEN ISNULL(main.isLocked, ''N'') = ''N'' THEN ''N | <a href="#" onclick="UnlockUser('' + CAST(main.userId AS VARCHAR) + '')">Lock</a>''
  198. WHEN ISNULL(main.isLocked, ''N'') = ''Y'' THEN ''Y | <a href="#" onclick="UnlockUser('' + CAST(main.userId AS VARCHAR) + '')">Unlock</a>'' END
  199. ,userGroup = CASE WHEN am.agentType = ''2904'' OR am.actAsBranch = ''Y'' THEN ''''
  200. ELSE
  201. ''<a href="/SwiftSystem/UserManagement/ApplicationUserSetup/UserGroupMaping.aspx?userName='' + main.userName + ''&userId='' + CAST(main.userId AS VARCHAR) + ''&agentId='' + CAST(main.agentId AS VARCHAR) + ''" ">
  202. <img src="/images/user_icon.gif" border=0 title="User Grouping" alt="User Group" /></a>'' END
  203. ,main.haschanged
  204. ,main.modifiedBy
  205. ,main.createdBy
  206. FROM ' + @table + ' main
  207. INNER JOIN agentMaster am ON main.agentId = am.agentId
  208. LEFT JOIN countryMaster cm ON main.countryId = cm.countryId
  209. WHERE userName <> ''' + @user + '''
  210. ) x'
  211. SET @sql_filter = ''
  212. IF @haschanged IS NOT NULL
  213. SET @sql_filter = @sql_filter + ' AND haschanged = ''' + @haschanged + ''''
  214. IF @userName IS NOT NULL
  215. SET @sql_filter = @sql_filter + ' AND ISNULL(userName, '''') LIKE ''%' + @userName + '%'''
  216. IF @firstName IS NOT NULL
  217. SET @sql_filter = @sql_filter + ' AND ISNULL(firstName, '''') LIKE ''%' + @firstName + '%'''
  218. IF @lastName IS NOT NULL
  219. SET @sql_filter = @sql_filter + ' AND ISNULL(lastName, '''') LIKE ''%' + @lastName + '%'''
  220. IF @address IS NOT NULL
  221. SET @sql_filter = @sql_filter + ' AND ISNULL(address, '''') LIKE ''%' + @address + '%'''
  222. IF @countryId IS NOT NULL
  223. SET @sql_filter = @sql_filter + ' AND ISNULL(countryId, '''') = ' + CAST(@countryId AS VARCHAR)
  224. IF @agentId IS NOT NULL
  225. SET @sql_filter = @sql_filter + ' AND ISNULL(agentId, '''') = ' + CAST(@agentId AS VARCHAR)
  226. IF @agentCode IS NOT NULL
  227. SET @sql_filter = @sql_filter + ' AND ISNULL(agentCode, '''') = ''' + @agentCode + ''''
  228. SET @select_field_list ='
  229. userId
  230. ,userName
  231. ,name
  232. ,firstName
  233. ,middleName
  234. ,lastName
  235. ,address
  236. ,countryId
  237. ,countryName
  238. ,agentId
  239. ,agentName
  240. ,agentCode
  241. ,isLocked
  242. ,lockStatus
  243. ,userGroup
  244. ,haschanged
  245. ,modifiedBy
  246. ,createdBy
  247. '
  248. --select @table
  249. --return;
  250. EXEC dbo.proc_paging
  251. @table
  252. ,@sql_filter
  253. ,@select_field_list
  254. ,@extra_field_list
  255. ,@sortBy
  256. ,@sortOrder
  257. ,@pageSize
  258. ,@pageNumber
  259. END
  260. ELSE IF @flag = 'sa' --Select Agents
  261. BEGIN
  262. SET @table = '(
  263. SELECT
  264. parentId = ISNULL(amh.parentId, am.parentId)
  265. ,agentId = ISNULL(amh.agentId, am.agentId)
  266. ,agentCode = ISNULL(amh.agentCode, am.agentCode)
  267. ,agentName = ISNULL(amh.agentName, am.agentName)
  268. ,agentAddress = ISNULL(amh.agentAddress, am.agentAddress)
  269. ,agentCity = ISNULL(amh.agentCity, am.agentCity)
  270. ,agentCountry = ISNULL(amh.agentCountry, am.agentCountry)
  271. ,agentState = ISNULL(amh.agentState, am.agentState)
  272. ,agentDistrict = ISNULL(amh.agentDistrict, am.agentDistrict)
  273. ,agentZip = ISNULL(amh.agentZip, am.agentZip)
  274. ,agentLocation = ISNULL(amh.agentLocation, am.agentLocation)
  275. ,agentPhone1 = ISNULL(amh.agentPhone1, am.agentPhone1)
  276. ,agentPhone2 = ISNULL(amh.agentPhone2, am.agentPhone2)
  277. ,agentFax1 = ISNULL(amh.agentFax1, am.agentFax1)
  278. ,agentFax2 = ISNULL(amh.agentFax2, am.agentFax2)
  279. ,agentMobile1 = ISNULL(amh.agentMobile1, am.agentMobile1)
  280. ,agentMobile2 = ISNULL(amh.agentMobile2, am.agentMobile2)
  281. ,agentEmail1 = ISNULL(amh.agentEmail1, am.agentEmail1)
  282. ,agentEmail2 = ISNULL(amh.agentEmail2, am.agentEmail2)
  283. ,businessOrgType = ISNULL(amh.businessOrgType, am.businessOrgType)
  284. ,businessType = ISNULL(amh.businessType, am.businessType)
  285. ,agentRole = ISNULL(amh.agentRole, am.agentRole)
  286. ,agentType = ISNULL(amh.agentType, am.agentType)
  287. ,actAsBranch = ISNULL(amh.actAsBranch, am.actAsBranch)
  288. ,contractExpiryDate = ISNULL(amh.contractExpiryDate, am.contractExpiryDate)
  289. ,renewalFollowupDate = ISNULL(amh.renewalFollowupDate, am.renewalFollowupDate)
  290. ,isSettlingAgent = ISNULL(amh.isSettlingAgent, am.isSettlingAgent)
  291. ,agentGrp = ISNULL(amh.agentGrp, am.agentGrp)
  292. ,businessLicense = ISNULL(amh.businessLicense, am.businessLicense)
  293. ,agentBlock = ISNULL(amh.agentBlock, am.agentBlock)
  294. ,agentcompanyName = ISNULL(amh.agentcompanyName, am.agentcompanyName)
  295. ,companyAddress = ISNULL(amh.companyAddress, am.companyAddress)
  296. ,companyCity = ISNULL(amh.companyCity, am.companyCity)
  297. ,companyCountry = ISNULL(amh.companyCountry, am.companyCountry)
  298. ,companyState = ISNULL(amh.companyState, am.companyState)
  299. ,companyDistrict = ISNULL(amh.companyDistrict, am.companyDistrict)
  300. ,companyZip = ISNULL(amh.companyZip, am.companyZip)
  301. ,companyPhone1 = ISNULL(amh.companyPhone1, am.companyPhone1)
  302. ,companyPhone2 = ISNULL(amh.companyPhone2, am.companyPhone2)
  303. ,companyFax1 = ISNULL(amh.companyFax1, am.companyFax1)
  304. ,companyFax2 = ISNULL(amh.companyFax2, am.companyFax2)
  305. ,companyEmail1 = ISNULL(amh.companyEmail1, am.companyEmail1)
  306. ,companyEmail2 = ISNULL(amh.companyEmail2, am.companyEmail2)
  307. ,localTime = ISNULL(amh.localTime, am.localTime)
  308. ,agentDetails = ISNULL(amh.agentDetails, am.agentDetails)
  309. ,am.createdDate
  310. ,am.createdBy
  311. ,amh.modType
  312. ,modifiedDate = CASE WHEN am.approvedBy IS NULL THEN am.createdDate ELSE amh.createdDate END
  313. ,modifiedBy = CASE WHEN am.approvedBy IS NULL THEN am.createdBy ELSE amh.createdBy END
  314. ,hasChanged = CASE WHEN (am.approvedBy IS NULL) OR
  315. (amh.agentId IS NOT NULL)
  316. THEN ''Y'' ELSE ''N'' END
  317. FROM agentMaster am WITH(NOLOCK)
  318. LEFT JOIN agentMasterMod amh ON am.agentId = amh.agentId
  319. AND (
  320. amh.createdBy = ''' + @user + '''
  321. OR ''Y'' = dbo.FNAHasRight(''' + @user + ''',' + CAST(@ApprovedFunctionId AS VARCHAR) + ')
  322. )
  323. WHERE ISNULL(am.isDeleted, ''N'') <> ''Y''
  324. AND (
  325. am.approvedBy IS NOT NULL
  326. OR am.createdBy = ''' + @user + '''
  327. OR ''Y'' = dbo.FNAHasRight(''' + @user + ''',' + CAST(@ApprovedFunctionId AS VARCHAR) + ')
  328. )
  329. --AND NOT(ISNULL(amh.modType, '''') = ''D'' AND amh.createdBy = ''' + @user + ''')
  330. ) '
  331. IF @sortBy IS NULL
  332. SET @sortBy = 'agentId'
  333. IF @sortOrder IS NULL
  334. SET @sortOrder = 'ASC'
  335. SET @table = '(
  336. SELECT
  337. main.parentId
  338. ,main.agentId
  339. ,main.agentCode
  340. ,main.agentName
  341. ,main.agentAddress
  342. ,main.agentCity
  343. ,main.agentLocation
  344. ,countryName = main.agentCountry
  345. ,main.agentPhone1
  346. ,main.agentType
  347. ,main.actAsBranch
  348. ,main.contractExpiryDate
  349. ,main.renewalFollowupDate
  350. ,main.isSettlingAgent
  351. ,main.haschanged
  352. ,agentType1 = sdv.detailTitle
  353. ,parentName = am.agentName
  354. ,main.modifiedBy
  355. ,main.createdBy
  356. ,main.businessOrgType
  357. ,main.businessType
  358. FROM ' + @table + ' main
  359. LEFT JOIN staticDataValue sdv WITH(NOLOCK) ON main.agentType = sdv.valueId
  360. INNER JOIN agentMaster am WITH(NOLOCK) ON main.parentId = am.agentId
  361. WHERE 1=1 AND main.agentType NOT IN (2905,2906)
  362. ) x'
  363. SET @sql_filter = ''
  364. IF @haschanged IS NOT NULL
  365. SET @sql_filter = @sql_filter + ' AND haschanged = ''' + CAST(@haschanged AS VARCHAR) + ''''
  366. IF @agentCountry IS NOT NULL
  367. SET @sql_filter = @sql_filter + ' AND ISNULL(countryName, '''') = ''' + CAST(@agentCountry AS VARCHAR) + ''''
  368. IF @agentType IS NOT NULL
  369. SET @sql_filter = @sql_filter + ' AND ISNULL(agentType, '''') = ' + CAST(@agentType AS VARCHAR)
  370. IF @agentName IS NOT NULL
  371. SET @sql_filter = @sql_filter + ' AND ISNULL(agentName, '''') LIKE ''%' + @agentName + '%'''
  372. IF @agentLocation IS NOT NULL
  373. SET @sql_filter = @sql_filter + ' AND ISNULL(agentLocation, '''') = ' + CAST(@agentLocation AS VARCHAR)
  374. IF @agentId IS NOT NULL
  375. SET @sql_filter = @sql_filter + ' AND agentId = ' + CAST(@agentId AS VARCHAR)
  376. IF @parentId IS NOT NULL
  377. SET @sql_filter = @sql_filter + ' AND parentId = ' + CAST(@parentId AS VARCHAR)
  378. IF @actAsBranch IS NOT NULL
  379. SET @sql_filter = @sql_filter + ' AND ISNULL(actAsBranch, ''N'') = ''' + @actAsBranch + ''''
  380. IF @populateBranch = 'Y'
  381. SET @sql_filter = @sql_filter + ' AND (ISNULL(agentType, '''') = 2904 OR actAsBranch = ''Y'')'
  382. IF @isSettlingAgent IS NOT NULL
  383. SET @sql_filter = @sql_filter + ' AND ISNULL(isSettlingAgent, ''N'') = ''' + @isSettlingAgent + ''''
  384. IF @agentCode IS NOT NULL
  385. SET @sql_filter = @sql_filter + ' AND agentCode = ''' + @agentCode + ''''
  386. SET @select_field_list ='
  387. parentId
  388. ,agentId
  389. ,agentCode
  390. ,agentName
  391. ,agentAddress
  392. ,agentCity
  393. ,agentLocation
  394. ,agentPhone1
  395. ,agentType
  396. ,agentType1
  397. ,contractExpiryDate
  398. ,renewalFollowupDate
  399. ,isSettlingAgent
  400. ,countryName
  401. ,parentName
  402. ,haschanged
  403. ,modifiedBy
  404. ,createdBy
  405. '
  406. --PRINT @table
  407. EXEC dbo.proc_paging
  408. @table
  409. ,@sql_filter
  410. ,@select_field_list
  411. ,@extra_field_list
  412. ,@sortBy
  413. ,@sortOrder
  414. ,@pageSize
  415. ,@pageNumber
  416. END
  417. END TRY
  418. BEGIN CATCH
  419. IF @@TRANCOUNT > 0
  420. ROLLBACK TRANSACTION
  421. SELECT 1 error_code, ERROR_MESSAGE() mes, null id
  422. END CATCH
  423. GO