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.

320 lines
27 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_userMaster] 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_userMaster]
  9. @flag VARCHAR(50) = NULL
  10. ,@user VARCHAR(30) = NULL
  11. ,@USER_ID VARCHAR(30) = NULL
  12. ,@AGENT_ID INT = NULL
  13. ,@BRANCH_ID INT = NULL
  14. ,@USER_NAME VARCHAR(100) = NULL
  15. ,@USER_CODE VARCHAR(50) = NULL
  16. ,@USER_PHONE1 VARCHAR(20) = NULL
  17. ,@USER_PHONE2 VARCHAR(20) = NULL
  18. ,@USER_MOBILE1 VARCHAR(20) = NULL
  19. ,@USER_MOILE2 VARCHAR(20) = NULL
  20. ,@USER_FAX1 VARCHAR(20) = NULL
  21. ,@USER_FAX2 VARCHAR(20) = NULL
  22. ,@USER_EMAIL1 VARCHAR(100) = NULL
  23. ,@USER_EMAIL2 VARCHAR(100) = NULL
  24. ,@USER_ADDRESS_PERMANENT VARCHAR(200) = NULL
  25. ,@PERMA_CITY VARCHAR(100) = NULL
  26. ,@PEMA_COUNTRY VARCHAR(100) = NULL
  27. ,@USER_ADDRESS_TEMP VARCHAR(200) = NULL
  28. ,@TEMP_CITY VARCHAR(100) = NULL
  29. ,@TEMP_COUNTRY VARCHAR(100) = NULL
  30. ,@CONTACT_PERSON VARCHAR(100) = NULL
  31. ,@CONTACT_PERSON_ADDRESS VARCHAR(200) = NULL
  32. ,@CONTACT_PERSON_PHONE VARCHAR(20) = NULL
  33. ,@CONTACT_PERSON_FAX VARCHAR(20) = NULL
  34. ,@CONTACT_PERSON_MOBILE VARCHAR(20) = NULL
  35. ,@CONTACT_PERSON_EMAIL VARCHAR(100) = NULL
  36. ,@IS_ACTIVE CHAR(1) = NULL
  37. ,@sortBy VARCHAR(50) = NULL
  38. ,@sortOrder VARCHAR(5) = NULL
  39. ,@pageSize INT = NULL
  40. ,@pageNumber INT = NULL
  41. AS
  42. SET NOCOUNT ON
  43. SET XACT_ABORT ON
  44. BEGIN TRY
  45. CREATE TABLE #msg(error_code INT, msg VARCHAR(100), id INT)
  46. DECLARE
  47. @sql VARCHAR(MAX)
  48. ,@oldValue VARCHAR(MAX)
  49. ,@newValue VARCHAR(MAX)
  50. ,@tableName VARCHAR(50)
  51. DECLARE
  52. @select_field_list VARCHAR(MAX)
  53. ,@extra_field_list VARCHAR(MAX)
  54. ,@table VARCHAR(MAX)
  55. ,@sql_filter VARCHAR(MAX)
  56. DECLARE
  57. @gridName VARCHAR(50)
  58. ,@modType VARCHAR(6)
  59. SELECT
  60. @gridName = 'grid_userMaster'
  61. IF @flag='a'
  62. BEGIN
  63. SELECT * FROM userMaster WHERE USER_ID=@USER_ID
  64. END
  65. IF @flag = 'i'
  66. BEGIN
  67. BEGIN TRANSACTION
  68. INSERT INTO userMaster (
  69. AGENT_ID
  70. ,BRANCH_ID
  71. ,USER_NAME
  72. ,USER_CODE
  73. ,USER_PHONE1
  74. ,USER_PHONE2
  75. ,USER_MOBILE1
  76. ,USER_MOILE2
  77. ,USER_FAX1
  78. ,USER_FAX2
  79. ,USER_EMAIL1
  80. ,USER_EMAIL2
  81. ,USER_ADDRESS_PERMANENT
  82. ,PERMA_CITY
  83. ,PEMA_COUNTRY
  84. ,USER_ADDRESS_TEMP
  85. ,TEMP_CITY
  86. ,TEMP_COUNTRY
  87. ,CONTACT_PERSON
  88. ,CONTACT_PERSON_ADDRESS
  89. ,CONTACT_PERSON_PHONE
  90. ,CONTACT_PERSON_FAX
  91. ,CONTACT_PERSON_MOBILE
  92. ,CONTACT_PERSON_EMAIL
  93. ,IS_ACTIVE
  94. ,CREATE_DATE
  95. ,CREATED_BY
  96. )
  97. SELECT
  98. @AGENT_ID
  99. ,@BRANCH_ID
  100. ,@USER_NAME
  101. ,@USER_CODE
  102. ,@USER_PHONE1
  103. ,@USER_PHONE2
  104. ,@USER_MOBILE1
  105. ,@USER_MOILE2
  106. ,@USER_FAX1
  107. ,@USER_FAX2
  108. ,@USER_EMAIL1
  109. ,@USER_EMAIL2
  110. ,@USER_ADDRESS_PERMANENT
  111. ,@PERMA_CITY
  112. ,@PEMA_COUNTRY
  113. ,@USER_ADDRESS_TEMP
  114. ,@TEMP_CITY
  115. ,@TEMP_COUNTRY
  116. ,@CONTACT_PERSON
  117. ,@CONTACT_PERSON_ADDRESS
  118. ,@CONTACT_PERSON_PHONE
  119. ,@CONTACT_PERSON_FAX
  120. ,@CONTACT_PERSON_MOBILE
  121. ,@CONTACT_PERSON_EMAIL
  122. ,@IS_ACTIVE
  123. ,GETDATE()
  124. ,@user
  125. SET @USER_ID = SCOPE_IDENTITY()
  126. EXEC [dbo].proc_GetColumnToRow 'userMaster', 'USER_ID', @USER_ID, @newValue OUTPUT
  127. INSERT INTO #msg(error_code, msg, id)
  128. EXEC proc_applicationLogs 'i', NULL, 'insert', 'userMaster', @USER_ID, @user, @oldValue, @newValue
  129. IF EXISTS (SELECT 'X' FROM #msg WHERE error_code <> 0 )
  130. BEGIN
  131. IF @@TRANCOUNT > 0
  132. ROLLBACK TRANSACTION
  133. SELECT 1 error_code, 'Record can not be updated.' mes, @USER_ID id
  134. RETURN
  135. END
  136. IF @@TRANCOUNT > 0
  137. COMMIT TRANSACTION
  138. SELECT 0 error_code, 'Record has been added successfully' mes, @USER_ID id
  139. END
  140. ELSE IF @flag = 'u'
  141. BEGIN
  142. BEGIN TRANSACTION
  143. EXEC [dbo].proc_GetColumnToRow 'userMaster', 'USER_ID', @USER_ID, @oldValue OUTPUT
  144. UPDATE userMaster SET
  145. AGENT_ID = @AGENT_ID
  146. ,BRANCH_ID =@BRANCH_ID
  147. ,USER_NAME = @USER_NAME
  148. ,USER_CODE = @USER_CODE
  149. ,USER_PHONE1 = @USER_PHONE1
  150. ,USER_PHONE2 = @USER_PHONE2
  151. ,USER_MOBILE1 = @USER_MOBILE1
  152. ,USER_MOILE2 = @USER_MOILE2
  153. ,USER_FAX1 = @USER_FAX1
  154. ,USER_FAX2 = @USER_FAX2
  155. ,USER_EMAIL1 = @USER_EMAIL1
  156. ,USER_EMAIL2 = @USER_EMAIL2
  157. ,USER_ADDRESS_PERMANENT = @USER_ADDRESS_PERMANENT
  158. ,PERMA_CITY = @PERMA_CITY
  159. ,PEMA_COUNTRY = @PEMA_COUNTRY
  160. ,USER_ADDRESS_TEMP = @USER_ADDRESS_TEMP
  161. ,TEMP_CITY = @TEMP_CITY
  162. ,TEMP_COUNTRY = @TEMP_COUNTRY
  163. ,CONTACT_PERSON = @CONTACT_PERSON
  164. ,CONTACT_PERSON_ADDRESS = @CONTACT_PERSON_ADDRESS
  165. ,CONTACT_PERSON_PHONE = @CONTACT_PERSON_PHONE
  166. ,CONTACT_PERSON_FAX = @CONTACT_PERSON_FAX
  167. ,CONTACT_PERSON_MOBILE = @CONTACT_PERSON_MOBILE
  168. ,CONTACT_PERSON_EMAIL = @CONTACT_PERSON_EMAIL
  169. ,IS_ACTIVE = @IS_ACTIVE
  170. ,MODIFY_DATE = GETDATE()
  171. ,MODIFY_BY = @user
  172. WHERE USER_ID = @USER_ID
  173. EXEC [dbo].proc_GetColumnToRow 'userMaster', 'USER_ID', @USER_ID, @newValue OUTPUT
  174. INSERT INTO #msg(error_code, msg, id)
  175. EXEC proc_applicationLogs 'i', NULL, 'update', 'userMaster', @USER_ID, @user, @oldValue, @newValue
  176. IF EXISTS (SELECT 'X' FROM #msg WHERE error_code <> 0 )
  177. BEGIN
  178. IF @@TRANCOUNT > 0
  179. ROLLBACK TRANSACTION
  180. SELECT 1 error_code, 'Record can not be updated.' mes, @USER_ID id
  181. RETURN
  182. END
  183. IF @@TRANCOUNT > 0
  184. COMMIT TRANSACTION
  185. SELECT 0 error_code, 'Record updated successfully.' mes, @USER_ID id
  186. END
  187. ELSE IF @flag = 'd'
  188. BEGIN
  189. BEGIN TRANSACTION
  190. UPDATE userMaster SET
  191. IS_DELETE = 'Y'
  192. ,MODIFY_BY = @user
  193. ,MODIFY_DATE=GETDATE()
  194. WHERE USER_ID = @USER_ID
  195. EXEC [dbo].proc_GetColumnToRow 'userMaster', 'USER_ID', @USER_ID, @oldValue OUTPUT
  196. INSERT INTO #msg(error_code, msg, id)
  197. EXEC proc_applicationLogs 'i', NULL, 'delete', 'userMaster', @USER_ID, @user, @oldValue, @newValue
  198. IF EXISTS (SELECT 'X' FROM #msg WHERE error_code <> 0 )
  199. BEGIN
  200. IF @@TRANCOUNT > 0
  201. ROLLBACK TRANSACTION
  202. SELECT 1 error_code, 'Record can not be deleted.' mes, @USER_ID id
  203. RETURN
  204. END
  205. IF @@TRANCOUNT > 0
  206. COMMIT TRANSACTION
  207. SELECT 0 error_code, 'Record deleted successfully.' mes, @USER_ID id
  208. END
  209. ELSE IF @flag = 's'
  210. BEGIN
  211. IF @sortBy IS NULL
  212. SET @sortBy = 'USER_ID'
  213. IF @sortOrder IS NULL
  214. SET @sortOrder = 'ASC'
  215. SET @table = '(
  216. SELECT
  217. main.BRANCH_ID
  218. ,main.USER_NAME
  219. ,main.USER_CODE
  220. ,main.USER_PHONE1
  221. ,main.USER_PHONE2
  222. ,main.USER_MOBILE1
  223. ,main.USER_MOILE2
  224. ,main.USER_FAX1
  225. ,main.USER_FAX2
  226. ,main.USER_EMAIL1
  227. ,main.USER_EMAIL2
  228. ,main.USER_ADDRESS_PERMANENT
  229. ,main.PERMA_CITY
  230. ,main.PEMA_COUNTRY
  231. ,main.USER_ADDRESS_TEMP
  232. ,main.TEMP_CITY
  233. ,main.TEMP_COUNTRY
  234. ,main.CONTACT_PERSON
  235. ,main.CONTACT_PERSON_ADDRESS
  236. ,main.CONTACT_PERSON_PHONE
  237. ,main.CONTACT_PERSON_FAX
  238. ,main.CONTACT_PERSON_MOBILE
  239. ,main.CONTACT_PERSON_EMAIL
  240. ,main.IS_ACTIVE
  241. ,main.IS_DELETE del
  242. ,main.CREATE_DATE
  243. ,main.CREATED_BY
  244. ,main.MODIFY_DATE
  245. ,main.MODIFY_BY
  246. ,CASE WHEN ISNULL(main.approvedBy, ''N'') = ''N'' THEN ''No'' ELSE ''Yes'' END isApproved
  247. FROM userMaster main WITH(NOLOCK)
  248. ) x'
  249. SET @sql_filter = ''
  250. SET @sql_filter = @sql_filter + ' AND ISNULL(del, '''') <> ''Y'''
  251. SET @select_field_list ='
  252. USER_ID
  253. ,BRANCH_ID
  254. ,USER_NAME
  255. ,USER_CODE
  256. ,USER_PHONE1
  257. ,USER_PHONE2
  258. ,USER_MOBILE1
  259. ,USER_MOILE2
  260. ,USER_FAX1
  261. ,USER_FAX2
  262. ,USER_EMAIL1
  263. ,USER_EMAIL2
  264. ,USER_ADDRESS_PERMANENT
  265. ,PERMA_CITY
  266. ,PEMA_COUNTRY
  267. ,USER_ADDRESS_TEMP
  268. ,TEMP_CITY
  269. ,TEMP_COUNTRY
  270. ,CONTACT_PERSON
  271. ,CONTACT_PERSON_ADDRESS
  272. ,CONTACT_PERSON_PHONE
  273. ,CONTACT_PERSON_FAX
  274. ,CONTACT_PERSON_MOBILE
  275. ,CONTACT_PERSON_EMAIL
  276. ,IS_ACTIVE
  277. ,IS_DELETE del
  278. ,CREATE_DATE
  279. ,CREATED_BY
  280. ,MODIFY_DATE
  281. ,MODIFY_BY'
  282. SET @extra_field_list = ','''' '
  283. + CASE dbo.FNAHasRight(@user, 10101210)
  284. WHEN 'Y' THEN ' + ''<a href ="manage.aspx?USER_ID='' + CAST(USER_ID AS VARCHAR(50)) + ''"><img border = "0" title = "Edit Account" src="../../images/but_edit.gif" /></a>'''
  285. Else ''
  286. End
  287. + CASE dbo.FNAHasRight(@user, 10101220)
  288. WHEN 'Y' THEN ' + ''&nbsp;&nbsp;<img onclick = "DeleteRow('' + CAST(USER_ID AS VARCHAR(50)) + '',''''' + @gridName + ''''', null);" class = "showHand" border = "0" title = "Delete Account" src="../../images/delete.gif" />'''
  289. Else ''
  290. End
  291. + ' [edit]'
  292. EXEC dbo.proc_paging
  293. @table
  294. ,@sql_filter
  295. ,@select_field_list
  296. ,@extra_field_list
  297. ,@sortBy
  298. ,@sortOrder
  299. ,@pageSize
  300. ,@pageNumber
  301. END
  302. END TRY
  303. BEGIN CATCH
  304. IF @@TRANCOUNT > 0
  305. ROLLBACK TRANSACTION
  306. SELECT 1 error_code, ERROR_MESSAGE() mes, null id
  307. END CATCH
  308. GO