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
11 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[EXCHANGE_PROC_CUSTMOMERS] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[EXCHANGE_PROC_CUSTMOMERS]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[EXCHANGE_PROC_CUSTMOMERS] 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 PROCEDURE [dbo].[EXCHANGE_PROC_CUSTMOMERS]
  12. @FLAG VARCHAR(20),
  13. @USER VARCHAR(50),
  14. @CID INT = NULL,
  15. @CNAME VARCHAR(100) = NULL,
  16. @CADDRESS VARCHAR(100) = NULL,
  17. @GENDER VARCHAR(10) = NULL,
  18. @COUNTRY VARCHAR(200) = NULL,
  19. @IDTYPE INT = NULL,
  20. @IDNUMBER VARCHAR(50) = NULL,
  21. @DOB DATE = NULL,
  22. @POSTALCODE VARCHAR(50) = NULL,
  23. @CONTACT VARCHAR(50) = NULL,
  24. @EMAIL VARCHAR(100) = NULL,
  25. @CTYPE INT = NULL,
  26. @BRANCHID VARCHAR(30) = null,
  27. @OCCUPATION INT = NULL,
  28. @HASCHANGED VARCHAR(5) = NULL,
  29. @docFor VARCHAR(5) = NULL,
  30. @sessionId VARCHAR(60) = NULL,
  31. @sortBy VARCHAR(50) = NULL,
  32. @sortOrder VARCHAR(50) = NULL,
  33. @pageSize INT = NULL,
  34. @pageNumber INT = NULL
  35. AS
  36. SET NOCOUNT ON;
  37. SET XACT_ABORT ON;
  38. declare @nativCountry VARCHAR(50)
  39. --SELECT @nativCountry = ref_code FROM StaticDataDetail where id = @COUNTRY
  40. IF @FLAG = 'I'
  41. BEGIN
  42. IF EXISTS(SELECT TOP 1 'A' FROM EXCHANGE_CUSTOMERSETUP WHERE idNumber = @IDNUMBER AND idType = @IDTYPE)
  43. begin
  44. EXEC proc_errorHandler '1','ID Number is already added.',null
  45. RETURN;
  46. END
  47. INSERT INTO EXCHANGE_CUSTOMERSETUP
  48. (cName,cAddress,gender,nativCountry,idType,idNumber,dob,postalCode,contact,email,cType,occupation,branchId,createdBy
  49. ,createdDate,approvedBy,approvedDate)
  50. SELECT @CNAME,@CADDRESS,@GENDER,@nativCountry,@IDTYPE, @IDNUMBER,@DOB,@POSTALCODE,@CONTACT,@EMAIL,@CTYPE,@OCCUPATION,@BRANCHID,@USER
  51. ,GETDATE(),CASE WHEN @CTYPE = '276' THEN @USER ELSE NULL END,CASE WHEN @CTYPE = '276' THEN GETDATE() ELSE NULL END
  52. EXEC proc_errorHandler '0','Record added successfully!',null
  53. RETURN;
  54. END
  55. ELSE IF @FLAG = 'U'
  56. BEGIN
  57. IF EXISTS(SELECT TOP 1 'A' FROM EXCHANGE_CUSTOMERSETUP WHERE cid = @CID AND approvedDate IS NULL)
  58. BEGIN
  59. EXEC proc_errorHandler '1','Sorry,Record is waiting for Approval',null
  60. RETURN;
  61. END
  62. IF EXISTS(SELECT TOP 1 'A' FROM EXCHANGE_CUSTOMERSETUP WHERE idNumber = @IDNUMBER AND idType = @IDTYPE AND cid <> @CID)
  63. begin
  64. EXEC proc_errorHandler '1','ID Number is already added.',null
  65. RETURN;
  66. END
  67. UPDATE A SET acct_name = @CNAME
  68. from EXCHANGE_CUSTOMERSETUP C
  69. INNER join FastMoneyPro_Account.dbo.ac_master a on c.cid = a.acct_type_code and a.acct_rpt_code ='C'
  70. where cid = @CID AND branch_id = @BRANCHID
  71. UPDATE EXCHANGE_CUSTOMERSETUP
  72. SET
  73. --CNAME = @CNAME,
  74. CADDRESS = @CADDRESS,
  75. GENDER = @GENDER,
  76. nativCountry= @nativCountry,
  77. --IDTYPE = @IDTYPE,
  78. --IDNUMBER = @IDNUMBER,
  79. --DOB = @DOB,
  80. POSTALCODE = @POSTALCODE,
  81. CONTACT = @CONTACT,
  82. EMAIL = @EMAIL,
  83. --CTYPE = @CTYPE,
  84. occupation = @OCCUPATION,
  85. modifyBy = @USER,
  86. modifyDate = GETDATE()
  87. --approvedDate= CASE WHEN @CTYPE = '726' THEN @USER ELSE NULL END,
  88. --approvedBy = CASE WHEN @CTYPE = '726' THEN GETDATE() ELSE NULL END
  89. WHERE CID = @CID
  90. EXEC proc_errorHandler '0','Record updated successfully!',@CID
  91. RETURN;
  92. END
  93. ELSE IF @FLAG = 'TXNC'-- UPDATE TXN CUSTOMERS
  94. BEGIN
  95. UPDATE EXCHANGE_TRANSACTION_INFO
  96. SET customer_name = @CNAME,
  97. id_type = @IDTYPE,
  98. id_number = @IDNUMBER,
  99. Nationality = @nativCountry,
  100. contact = @CONTACT,
  101. party = @CTYPE
  102. WHERE tran_id = @CID
  103. UPDATE EXCHANGE_CUSTOMER
  104. SET ct_name = @CNAME,
  105. ct_address = @CADDRESS,
  106. ct_card_type = @IDTYPE,
  107. ct_card_no = @IDNUMBER,
  108. Nationality = @nativCountry,
  109. contact = @CONTACT,
  110. ct_dob = @DOB,
  111. modifyBy = @USER,
  112. modifyDate = GETDATE()
  113. WHERE tran_id = @CID
  114. SELECT '0' code, 'Record updated successfully!' msg
  115. RETURN;
  116. --ALTER TABLE Customer ADD midifyBy VARCHAR(50), modifyDate DATETIME
  117. END
  118. ELSE IF @FLAG = 's'-->> CUSTOMER LIST FOR AGENT/BRANCH
  119. BEGIN
  120. DECLARE @table VARCHAR(MAX),@sql_filter VARCHAR(100),@select_field_list VARCHAR(MAX),@extra_field_list VARCHAR(10)
  121. IF @sortBy IS NULL
  122. SET @sortBy = 'cName'
  123. IF @sortOrder IS NULL
  124. SET @sortOrder = 'ASC'
  125. SET @table = '(SELECT b.branch_id,b.branch_name,c.cid,c.cName,c.caddress,c.nativCountry ncountry,i.ref_code idName,c.idNumber,c.dob,c.contact,C.CTYPE
  126. ,status = case when c.approvedDate is null THEN ''No'' ELSE ''Yes'' END,c.createdBy,c.createdDate
  127. FROM EXCHANGE_CUSTOMERSETUP C WITH(NOLOCK)
  128. LEFT JOIN branches B WITH(NOLOCK) ON c.branchId = B.branch_id
  129. LEFT JOIN StaticDataDetail cm ON c.country = cm.id AND cm.type_id = 1
  130. LEFT JOIN StaticDataDetail i ON C.idtype = i.id
  131. LEFT JOIN AC_MASTER A ON c.cid = a.acct_type_code and a.acct_rpt_code =''C''
  132. where 1=1 ) x'
  133. SET @sql_filter = ''
  134. --IF @BRANCHID IS NOT NULL
  135. -- SET @sql_filter = @sql_filter +' AND branch_id = '''+@BRANCHID+''''
  136. IF @CNAME IS NOT NULL
  137. SET @sql_filter = @sql_filter + ' AND cName like '''+@CNAME+'%'''
  138. IF @CTYPE IS NOT NULL
  139. SET @sql_filter = @sql_filter +' AND CTYPE = '''+CAST(@CTYPE AS VARCHAR)+''''
  140. IF @HASCHANGED IS NOT NULL
  141. SET @sql_filter = @sql_filter + ' AND status = '''+@HASCHANGED+''''
  142. IF @BRANCHID IS NOT NULL
  143. SET @sql_filter = @sql_filter + ' AND branch_id = '''+@BRANCHID+''''
  144. SET @select_field_list ='
  145. cid
  146. ,branch_name
  147. ,cName
  148. ,caddress
  149. ,ncountry
  150. ,idName
  151. ,idNumber
  152. ,dob
  153. ,contact
  154. ,status
  155. ,CTYPE
  156. ,createdBy
  157. ,createdDate'
  158. EXEC dbo.proc_paging
  159. @table
  160. ,@sql_filter
  161. ,@select_field_list
  162. ,@extra_field_list
  163. ,@sortBy
  164. ,@sortOrder
  165. ,@pageSize
  166. ,@pageNumber
  167. END
  168. ELSE IF @FLAG = 'ApproveList'-->> UNAPPROVE CUSTOMER LIST
  169. BEGIN
  170. IF @sortBy IS NULL
  171. SET @sortBy = 'cName'
  172. IF @sortOrder IS NULL
  173. SET @sortOrder = 'ASC'
  174. SET @table = '(SELECT b.agentId,c.cid,c.cName,c.caddress,sd.type_id ncountry,sd.ref_desc idName,c.idNumber,c.dob,c.contact,C.CTYPE
  175. ,c.createdBy,c.createdDate,b.agentName as branch_name
  176. FROM EXCHANGE_CUSTOMERSETUP C WITH(NOLOCK)
  177. inner JOIN agentmaster B WITH(NOLOCK) ON B.agentId = c.branchId
  178. LEFT JOIN FastMoneyPro_Account.dbo.staticdatadetail (NOLOCK) sd ON sd.id=c.idType
  179. --LEFT JOIN StaticDataDetail cm ON c.country = cm.id AND cm.type_id = 1
  180. --LEFT JOIN StaticDataDetail i ON C.idtype = i.id
  181. --LEFT JOIN AC_MASTER A ON c.cid = a.acct_type_code and a.acct_rpt_code =''C''
  182. where 1=1 AND c.approvedDate IS NULL
  183. ) x'
  184. SET @sql_filter = ''
  185. IF @CNAME IS NOT NULL
  186. SET @sql_filter = @sql_filter + ' AND cName = '''+@CNAME+''''
  187. IF @CTYPE IS NOT NULL
  188. SET @sql_filter = @sql_filter +' AND CTYPE = '''+CAST(@CTYPE AS VARCHAR)+''''
  189. IF @DOB IS NOT NULL
  190. SET @sql_filter= @sql_filter +' AND CAST(createdDate AS DATE)='''+CAST(@DOB AS VARCHAR)+''''
  191. IF @BRANCHID IS NOT NULL
  192. SET @sql_filter = @sql_filter + ' AND agentId = '''+@BRANCHID+''''
  193. SET @select_field_list ='
  194. cid
  195. ,cName
  196. ,caddress
  197. ,ncountry
  198. ,idName
  199. ,idNumber
  200. ,dob
  201. ,contact
  202. ,CTYPE
  203. ,createdBy
  204. ,createdDate
  205. ,branch_name'
  206. EXEC dbo.proc_paging
  207. @table
  208. ,@sql_filter
  209. ,@select_field_list
  210. ,@extra_field_list
  211. ,@sortBy
  212. ,@sortOrder
  213. ,@pageSize
  214. ,@pageNumber
  215. END
  216. ELSE IF @FLAG = 'approve'
  217. BEGIN
  218. UPDATE EXCHANGE_CUSTOMERSETUP
  219. SET approvedBy = @USER,
  220. approvedDate = GETDATE()
  221. WHERE cid = @CID
  222. UPDATE EXCHANGE_CUSTOMERDOCUMENT
  223. SET approvedBy = @USER,
  224. approvedDate = GETDATE()
  225. WHERE cId = @CID
  226. EXEC proc_errorHandler '0','Record Approved successfully!',null
  227. RETURN
  228. END
  229. ELSE IF @FLAG = 'D'
  230. BEGIN
  231. DELETE FROM dbo.EXCHANGE_CUSTOMERSETUP WHERE branchId = @BRANCHID AND CID = @CID
  232. EXEC proc_errorHandler '0','Record deleted successfully!',null
  233. END
  234. ELSE IF @FLAG = 'sById' -->> SELECT BY ID
  235. BEGIN
  236. SELECT cName,cAddress,gender,idNumber,cType,idType,nativCountry,contact,dob,occupation,email,postalCode
  237. ,approvedBy = CASE WHEN @BRANCHID = branchId THEN approvedBy ELSE 'system' END
  238. FROM EXCHANGE_CUSTOMERSETUP WHERE cid = @CID
  239. END
  240. ----## DOCUMENT UPLOAD
  241. ELSE IF @FLAG = 'docUpl' -- DOCUMENT UPLOAD
  242. BEGIN
  243. SELECT @CTYPE = cType FROM EXCHANGE_CUSTOMERSETUP WHERE cid = @CID
  244. SELECT @CNAME = CAST(ISNULL(MAX(cdId),0) AS VARCHAR)+'_'+ @CNAME FROM CustomerDocument
  245. IF @CNAME IS NOT NULL
  246. BEGIN
  247. INSERT INTO EXCHANGE_CUSTOMERDOCUMENT(cid,fileName,fileDescription,fileType,createdBy,createdDate,branchId,approvedBy,approvedDate)
  248. SELECT @CID,@CNAME,@CADDRESS,RIGHT(@CNAME,LEN(@CNAME)-CHARINDEX('.',@CNAME)),@USER,GETDATE(),@BRANCHID
  249. ,CASE WHEN @CTYPE ='276' THEN @USER ELSE NULL END,CASE WHEN @CTYPE ='276' THEN GETDATE() ELSE NULL END
  250. EXEC proc_errorHandler '0','Document uploaded successfully!',@CNAME
  251. END
  252. ELSE
  253. EXEC proc_errorHandler '1','Filename is missing',@CNAME
  254. END
  255. ELSE IF @FLAG = 'AdocUpl' --## SELECT DOCUMENT
  256. BEGIN
  257. SELECT * FROM EXCHANGE_CUSTOMERDOCUMENT WITH(NOLOCK) WHERE cid = @CID AND ISNULL(isDeleted,'N') ='N'
  258. END
  259. ELSE IF @FLAG = 'DdocUpl'
  260. BEGIN
  261. SELECT @CNAME = fileName FROM EXCHANGE_CUSTOMERDOCUMENT where cdId = @CID
  262. UPDATE customerDocument SET isDeleted ='Y' where cdId = @CID
  263. EXEC proc_errorHandler '0','Document uploaded successfully!',@CNAME
  264. END
  265. ELSE IF @FLAG = 'txnDoc' --## SELECT TRANSACTION DOCUMENT
  266. BEGIN
  267. SELECT fileName,fileDescription,fileType, 'system' approvedBy FROM EXCHANGE_TRANSACTIONDOCUMENT WITH(NOLOCK) WHERE tranId = @CID
  268. RETURN
  269. END
  270. --## TEMP DOCUMENT UPLOAD
  271. ELSE IF @FLAG = 'TempdocUpl' -- DOCUMENT UPLOAD
  272. BEGIN
  273. SELECT @CNAME = CAST(ISNULL(MAX(cdId),0) AS VARCHAR)+'_'+ @CNAME FROM CustomerDocument
  274. IF @CNAME IS NOT NULL
  275. BEGIN
  276. INSERT INTO EXCHANGE_TEMPCUSTOMERDOCUMENT(docName,docDesc,docType,createdBy,createdDate,branchId,sessionId,docFor)
  277. SELECT @CNAME,@CADDRESS,RIGHT(@CNAME,3),@USER,GETDATE(),@BRANCHID,@sessionId,@docFor
  278. EXEC proc_errorHandler '0','Document uploaded successfully!',@CNAME
  279. END
  280. ELSE
  281. EXEC proc_errorHandler '1','Filename is missing',@CNAME
  282. END
  283. ELSE IF @FLAG = 'TempAdocUpl' --## SELECT DOCUMENT
  284. BEGIN
  285. SELECT * FROM EXCHANGE_TEMPCUSTOMERDOCUMENT WITH(NOLOCK) WHERE sessionId = @sessionId AND branchId = @BRANCHID AND ISNULL(docFor,'C') = @docFor
  286. END
  287. ELSE IF @FLAG = 'TempDdocUpl' --Delete temp doc
  288. BEGIN
  289. SELECT @CNAME = docName FROM EXCHANGE_TEMPCUSTOMERDOCUMENT where cId = @CID
  290. DELETE FROM EXCHANGE_TEMPCUSTOMERDOCUMENT where cId = @CID
  291. EXEC proc_errorHandler '0','Document uploaded successfully!',@CNAME
  292. END
  293. GO