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.

784 lines
55 KiB

10 months ago
10 months ago
10 months ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[PROC_REGISTRATION_REPORT] Script Date: 11/29/2023 11:18:44 AM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. --PROC_REGISTRATION_REPORT @flag ='rejectedReport',@user='admin1',@FROM_DATE='2022-03-01',@TO_DATE='2022-03-23',@agentId=null,@branchId=null,@withAgent=null,@tranType='i'
  9. ALTER PROC [dbo].[PROC_REGISTRATION_REPORT] @FLAG VARCHAR(20)
  10. ,@user VARCHAR(30)
  11. ,@FROM_DATE VARCHAR(10) = NULL
  12. ,@TO_DATE VARCHAR(10) = NULL
  13. ,@SEARCH_BY VARCHAR(10) = NULL
  14. ,@GROUP_BY VARCHAR(10) = NULL
  15. ,@agentId BIGINT = NULL
  16. ,@branchId BIGINT = NULL
  17. ,@withAgent VARCHAR(20) = NULL
  18. ,@tranType VARCHAR(5) = NULL
  19. ,@isOnlineTxn VARCHAR(5) = NULL
  20. AS
  21. SET NOCOUNT ON;
  22. ----------------------------------
  23. --JME-547 -> Add column approvedBy in Customer Registration Report
  24. --#134 -> Allow edit option of address in Town Area
  25. -- #712 added parameter @tranType
  26. -- #718 -show mobile registered customers on new customer registration report , @flag = 'customer'
  27. -- #1403 - add Branch/Agent , @FLAG = 's-customerAndTxn'
  28. -- #1707 - Add summary dropdown , @flag = 's-customerAndTxn'
  29. -- #11751 - @flag = details , add registration Type
  30. -----------------------------------
  31. BEGIN TRY
  32. DECLARE @agentCode VARCHAR(10)
  33. SELECT @agentCode = agentCode
  34. FROM applicationusers
  35. WHERE username = @user
  36. IF @agentCode = '1001'
  37. BEGIN
  38. SET @USER = NULL
  39. END
  40. IF @FLAG = 'beneficiary'
  41. BEGIN
  42. SELECT *
  43. INTO #temp1
  44. FROM (
  45. SELECT DISTINCT customerId
  46. FROM receiverinformation
  47. WHERE createddate BETWEEN @FROM_DATE
  48. AND @TO_DATE + ' 23:59:59'
  49. ) x
  50. SELECT MembershipId
  51. ,CustomerName
  52. ,PostalCode
  53. ,mobile
  54. ,dob
  55. ,VisaStatus
  56. ,Occupation
  57. ,receiverFirstName
  58. ,receiverMiddle
  59. ,receiverLastName
  60. ,createddate
  61. ,country
  62. ,address
  63. ,receiverMobile
  64. ,PaymentMode
  65. ,BANK_NAME
  66. ,BRANCH_NAME
  67. ,receiverAccountNo
  68. ,relationship
  69. ,purposeOfRemit
  70. ,createdby
  71. FROM (
  72. SELECT ISNULL(cm.postalcode, CM.membershipId) MembershipId
  73. ,CM.FULLNAME [CustomerName]
  74. ,cm.zipcode [PostalCode]
  75. ,CM.mobile
  76. ,CM.dob
  77. ,CASE
  78. WHEN cm.occupation = '11383'
  79. THEN cm.occupationother
  80. ELSE sdv2.DETAILTITLE
  81. END [Occupation]
  82. ,ri.firstname receiverFirstName
  83. ,ri.middlename receiverMiddle
  84. ,ri.lastname1 receiverLastName
  85. ,ri.createddate
  86. ,ri.country
  87. ,ri.[address]
  88. ,ri.mobile [receiverMobile]
  89. ,stm.typeTitle PaymentMode
  90. ,AM.BANK_NAME
  91. ,ISNULL(ABBL.BRANCH_NAME, 'Any Branch') BRANCH_NAME
  92. ,ri.receiverAccountNo
  93. ,CASE
  94. WHEN relationship = '11339'
  95. THEN ri.relationOther
  96. ELSE SDV3.detailTitle
  97. END relationship
  98. ,SDV4.detailtitle purposeOfRemit
  99. ,ROW_NUMBER() OVER (
  100. PARTITION BY ri.customerid ORDER BY ri.receiverid
  101. ) ranknum
  102. ,ri.createdby
  103. ,RI.agentId
  104. ,VISA.detailTitle visaStatus
  105. FROM receiverinformation ri(NOLOCK)
  106. INNER JOIN #temp1 tmp ON tmp.customerid = ri.customerid
  107. INNER JOIN customerMaster cm ON cm.customerid = ri.customerid
  108. INNER JOIN applicationusers au(NOLOCK) ON au.username = ri.createdBy
  109. LEFT JOIN STATICDATAVALUE SDV1 ON SDV1.VALUEID = CM.GENDER
  110. LEFT JOIN STATICDATAVALUE SDV2 ON SDV2.VALUEID = CM.occupation
  111. INNER JOIN serviceTypeMaster stm(NOLOCK) ON stm.serviceTypeId = ri.paymentMode
  112. LEFT JOIN API_BANK_LIST_MASTER AM(NOLOCK) ON AM.MASTER_BANK_ID = RI.PAYOUTPARTNER
  113. LEFT JOIN API_BANK_BRANCH_LIST ABBL(NOLOCK) ON cast(ABBL.BRANCH_ID AS VARCHAR) = ri.BANKLOCATION
  114. LEFT JOIN STATICDATAVALUE SDV3(NOLOCK) ON SDV3.VALUEID = ri.RELATIONSHIP
  115. LEFT JOIN STATICDATAVALUE SDV4(NOLOCK) ON SDV4.VALUEID = ri.PURPOSEOFREMIT
  116. LEFT JOIN STATICDATAVALUE VISA(NOLOCK) ON VISA.VALUEID = CM.VISASTATUS
  117. --AND ISNULL(RI.ISDELETED,'0') <> '1'
  118. ) x
  119. WHERE ranknum <> 1
  120. AND createddate BETWEEN @FROM_DATE
  121. AND @TO_DATE + ' 23:59:59'
  122. AND agentid = ISNULL(@agentId, agentid)
  123. --AND CREATEDBY = ISNULL(@USER,CREATEDBY)
  124. ORDER BY createddate
  125. EXEC proc_errorHandler '0'
  126. ,'Report has been prepared successfully.'
  127. ,NULL
  128. SELECT 'From Date' head
  129. ,@FROM_DATE VALUE
  130. UNION ALL
  131. SELECT 'To Date' head
  132. ,@TO_DATE VALUE
  133. SELECT 'New Beneficiary Regisration Report(Sending Agent)' title
  134. END
  135. ELSE IF @FLAG = 'customer'
  136. BEGIN
  137. IF @withAgent = 'withAgent'
  138. BEGIN
  139. SELECT customerId
  140. INTO #TEMP
  141. FROM customerMaster(NOLOCK) CM
  142. INNER JOIN AGENTMASTER am(NOLOCK) ON am.BRANCHCODE = SUBSTRING(CM.membershipid, 1, 3)
  143. WHERE CM.createdDate BETWEEN @FROM_DATE
  144. AND @TO_DATE + ' 23:59:59'
  145. AND am.AGENTID = isnull(@agentId, am.agentId)
  146. SELECT RT.ID
  147. ,T.CUSTOMERID
  148. ,RT.PROMOTIONCODE
  149. ,RT.CREATEDDATE
  150. INTO #TRAN
  151. FROM REMITTRAN RT(NOLOCK)
  152. INNER JOIN TRANSENDERS TS(NOLOCK) ON TS.TRANID = RT.ID
  153. INNER JOIN #TEMP T(NOLOCK) ON T.CUSTOMERID = TS.CUSTOMERID
  154. WHERE RT.CREATEDDATE >= @FROM_DATE
  155. SELECT *
  156. INTO #MAIN
  157. FROM (
  158. SELECT ROW_NUMBER() OVER (
  159. PARTITION BY CUSTOMERID ORDER BY CREATEDDATE
  160. ) SN
  161. ,*
  162. FROM #TRAN
  163. ) X
  164. WHERE SN = 1
  165. SELECT ROW_NUMBER() OVER (
  166. ORDER BY CM.CUSTOMERID
  167. ) [SNo]
  168. ,ISNULL(CM.POSTALCODE, MEMBERSHIPID) ID
  169. ,CM.FULLNAME Name
  170. ,RegistrationType = CASE WHEN cm.RegistrationType IS NULL THEN 'Manual' ELSE cm.RegistrationType END
  171. ,Address = DBO.FNAGetCustomerAddress(CM.CUSTOMERID, '')
  172. ,cm.mobile MobileNo
  173. ,C.COUNTRYNAME Nationality
  174. ,convert(VARCHAR(10), dob, 121) DOB
  175. ,cm.createdby CreatedBy
  176. ,RA.REFERRAL_NAME Agent
  177. ,CM.createdDate CreatedDateTime
  178. FROM #MAIN M(NOLOCK)
  179. INNER JOIN REFERRAL_AGENT_WISE RA(NOLOCK) ON RA.REFERRAL_CODE = M.PROMOTIONCODE
  180. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = M.CUSTOMERID
  181. INNER JOIN AGENTMASTER am(NOLOCK) ON am.BRANCHCODE = SUBSTRING(CM.membershipid, 1, 3)
  182. LEFT JOIN countryStateMaster csm(NOLOCK) ON cast(csm.stateId AS VARCHAR) = cm.STATE
  183. LEFT JOIN countryMaster C(NOLOCK) ON C.COUNTRYID = CM.NATIVECOUNTRY
  184. WHERE am.agentid = ISNULL(@agentId, am.agentId)
  185. ORDER BY CM.createdDate
  186. END
  187. ELSE
  188. BEGIN
  189. SELECT ROW_NUMBER() OVER (
  190. ORDER BY (SELECT 1)
  191. ) SN
  192. ,membershipId
  193. ,CustomerName
  194. ,sAddress [Address]
  195. ,mobile
  196. ,Gender
  197. ,[Verification ID Type]
  198. ,convert(VARCHAR(10), idIssueDate, 121) [ID Issue Date]
  199. ,convert(VARCHAR(10), idExpiryDate, 121) [ID Valid Date]
  200. ,nativeCountry [Native Country]
  201. ,VisaStatus
  202. ,Occupation
  203. ,convert(VARCHAR(10), dob, 121) dob
  204. ,createdBy
  205. ,[VerifiedBy]
  206. ,createdDate
  207. ,approvedBy = approvedBy
  208. ,receiverFirstName
  209. ,receiverMiddle
  210. ,receiverLastName
  211. ,country
  212. --,address
  213. --,receiverMobile
  214. --,PaymentMode
  215. --,BANK_NAME
  216. --,BRANCH_NAME
  217. --,receiverAccountNo
  218. ,relationship
  219. ,purposeOfRemit
  220. --,RegistrationType
  221. FROM (
  222. SELECT CM.CUSTOMERID
  223. ,CM.FULLNAME [CustomerName]
  224. ,sAddress = REPLACE(REPLACE( DBO.FNAGetCustomerAddress(CM.CUSTOMERID, ''),'|',''),'II','')
  225. ,CM.mobile
  226. ,ISNULL(CM.POSTALCODE, CM.membershipId) membershipId
  227. ,sdv1.DETAILTITLE [Gender]
  228. ,CASE
  229. WHEN CM.IDTYPE = '11402'
  230. THEN CM.OTHERIDNUMBER
  231. ELSE IDTYPE.DETAILTITLE
  232. END [Verification ID Type]
  233. ,CM.idIssueDate
  234. ,CM.idExpiryDate
  235. ,CMM.COUNTRYNAME [nativeCountry]
  236. ,CASE
  237. WHEN cm.occupation = '11383'
  238. THEN cm.occupationother
  239. ELSE sdv2.DETAILTITLE
  240. END [Occupation]
  241. ,CM.dob
  242. ,CM.createdBy
  243. ,CM.createdDate
  244. ,ri.firstname receiverFirstName
  245. ,ri.middlename receiverMiddle
  246. ,ri.lastname1 receiverLastName
  247. ,ri.country
  248. ,ri.[address]
  249. ,CM.verifiedBy [VerifiedBy]
  250. ,CM.approvedBy
  251. ,ri.mobile [receiverMobile]
  252. ,stm.typeTitle PaymentMode
  253. ,ABL.BANK_NAME
  254. ,ISNULL(ABBL.BRANCH_NAME, 'Any Where') BRANCH_NAME
  255. ,ri.receiverAccountNo
  256. ,CASE
  257. WHEN relationship = '11339'
  258. THEN ri.relationOther
  259. ELSE SDV3.detailTitle
  260. END relationship
  261. ,CASE
  262. WHEN ri.PURPOSEOFREMIT = '11347'
  263. THEN RI.PURPOSEOTHER
  264. ELSE SDV4.detailtitle
  265. END purposeOfRemit
  266. ,VISA.detailTitle visaStatus
  267. ,ROW_NUMBER() OVER (
  268. PARTITION BY cm.customerid
  269. order by cm.customerid
  270. ) ranknum
  271. ,RegistrationType = CASE WHEN cm.RegistrationType IS NULL THEN 'Manual' WHEN cm.registrationtype='MKYC' THEN 'MANUAL' ELSE cm.RegistrationType END
  272. FROM customerMaster cm
  273. LEFT JOIN receiverInformation ri ON cm.customerid = ri.customerid
  274. --INNER JOIN applicationusers au (nolock) on au.username = CM.createdBy
  275. LEFT JOIN AGENTMASTER am(NOLOCK) ON am.BRANCHCODE = SUBSTRING(CM.membershipid, 1, 3)
  276. LEFT JOIN STATICDATAVALUE SDV1 ON SDV1.VALUEID = CM.GENDER
  277. LEFT JOIN STATICDATAVALUE SDV2 ON SDV2.VALUEID = CM.occupation
  278. LEFT JOIN serviceTypeMaster stm(NOLOCK) ON stm.serviceTypeId = ri.paymentMode
  279. LEFT JOIN API_BANK_LIST ABL(NOLOCK) ON ABL.BANK_ID = ri.PAYOUTPARTNER
  280. LEFT JOIN API_BANK_BRANCH_LIST ABBL(NOLOCK) ON CAST(ABBL.BRANCH_ID as VARCHAR) = ri.BANKLOCATION
  281. LEFT JOIN STATICDATAVALUE SDV3(NOLOCK) ON SDV3.VALUEID = ri.RELATIONSHIP
  282. LEFT JOIN STATICDATAVALUE SDV4(NOLOCK) ON SDV4.VALUEID = ri.PURPOSEOFREMIT
  283. LEFT JOIN STATICDATAVALUE VISA(NOLOCK) ON VISA.VALUEID = CM.VISASTATUS
  284. LEFT JOIN STATICDATAVALUE IDTYPE(NOLOCK) ON IDTYPE.VALUEID = CM.IDTYPE
  285. LEFT JOIN COUNTRYMASTER CMM(NOLOCK) ON CMM.COUNTRYID = CM.NATIVECOUNTRY
  286. WHERE CM.createddate BETWEEN @FROM_DATE
  287. AND @TO_DATE + ' 23:59:59'
  288. --AND ISNULL(RI.ISDELETED,'0') <> '1'
  289. AND am.agentid = ISNULL(@agentId, am.agentId)
  290. UNION ALL
  291. SELECT CM.CUSTOMERID
  292. ,CM.FULLNAME [CustomerName]
  293. ,sAddress = DBO.FNAGetCustomerAddress(CM.CUSTOMERID, '')
  294. ,CM.mobile
  295. ,ISNULL(CM.POSTALCODE, CM.membershipId) membershipId
  296. ,sdv1.DETAILTITLE [Gender]
  297. ,CASE
  298. WHEN CM.IDTYPE = '11402'
  299. THEN CM.OTHERIDNUMBER
  300. ELSE IDTYPE.DETAILTITLE
  301. END [Verification ID Type]
  302. ,CM.idIssueDate
  303. ,CM.idExpiryDate
  304. ,CMM.COUNTRYNAME [nativeCountry]
  305. ,CASE
  306. WHEN cm.occupation = '11383'
  307. THEN cm.occupationother
  308. ELSE sdv2.DETAILTITLE
  309. END [Occupation]
  310. ,CM.dob
  311. ,CM.createdBy
  312. ,CM.createdDate
  313. ,ri.firstname receiverFirstName
  314. ,ri.middlename receiverMiddle
  315. ,ri.lastname1 receiverLastName
  316. ,ri.country
  317. ,ri.[address]
  318. ,cm.mobileverifiedby AS [VerifiedBy]
  319. ,CM.approvedBy
  320. ,ri.mobile [receiverMobile]
  321. ,stm.typeTitle PaymentMode
  322. ,ABL.BANK_NAME
  323. ,ISNULL(ABBL.BRANCH_NAME, 'Any Where') BRANCH_NAME
  324. ,ri.receiverAccountNo
  325. ,CASE
  326. WHEN relationship = '11339'
  327. THEN ri.relationOther
  328. ELSE SDV3.detailTitle
  329. END relationship
  330. ,CASE
  331. WHEN ri.PURPOSEOFREMIT = '11347'
  332. THEN RI.PURPOSEOTHER
  333. ELSE SDV4.detailtitle
  334. END purposeOfRemit
  335. ,VISA.detailTitle visaStatus
  336. ,ROW_NUMBER() OVER (
  337. PARTITION BY cm.customerid
  338. order by cm.customerid
  339. ) ranknum
  340. ,RegistrationType = CASE WHEN cm.RegistrationType IS NULL THEN 'Manual' ELSE cm.RegistrationType END
  341. FROM customerMaster cm
  342. LEFT JOIN receiverInformation ri ON cm.customerid = ri.customerid
  343. -- INNER JOIN AGENTMASTER am(NOLOCK) ON am.BRANCHCODE LIKE 'ONL%'--SUBSTRING(CM.membershipid, 1, 3)
  344. LEFT JOIN STATICDATAVALUE SDV1 ON SDV1.VALUEID = CM.GENDER
  345. LEFT JOIN STATICDATAVALUE SDV2 ON SDV2.VALUEID = CM.occupation
  346. LEFT JOIN serviceTypeMaster stm(NOLOCK) ON stm.serviceTypeId = ri.paymentMode
  347. LEFT JOIN API_BANK_LIST ABL(NOLOCK) ON ABL.BANK_ID = ri.PAYOUTPARTNER
  348. LEFT JOIN API_BANK_BRANCH_LIST ABBL(NOLOCK) ON CAST(ABBL.BRANCH_ID AS VARCHAR) = ri.BANKLOCATION
  349. LEFT JOIN STATICDATAVALUE SDV3(NOLOCK) ON SDV3.VALUEID = ri.RELATIONSHIP
  350. LEFT JOIN STATICDATAVALUE SDV4(NOLOCK) ON SDV4.VALUEID = ri.PURPOSEOFREMIT
  351. LEFT JOIN STATICDATAVALUE VISA(NOLOCK) ON VISA.VALUEID = CM.VISASTATUS
  352. LEFT JOIN STATICDATAVALUE IDTYPE(NOLOCK) ON IDTYPE.VALUEID = CM.IDTYPE
  353. LEFT JOIN COUNTRYMASTER CMM(NOLOCK) ON CMM.COUNTRYID = CM.NATIVECOUNTRY
  354. WHERE CM.createddate BETWEEN @FROM_DATE
  355. AND @TO_DATE + ' 23:59:59'
  356. --AND ISNULL(RI.ISDELETED,'0') <> '1'
  357. -- AND am.agentid = ISNULL(@agentId, '394395')
  358. -- AND cm.agentid = @agentId
  359. AND cm.createdFrom = 'M'
  360. AND cm.mobileverifieddate is not null and cm.mobileApprovedDate is not null
  361. ) a
  362. WHERE ranknum = 1
  363. --and createdBy = ISNULL(@user,createdBy)
  364. ORDER BY CREATEDDATE
  365. END
  366. EXEC proc_errorHandler '0'
  367. ,'Report has been prepared successfully.'
  368. ,NULL
  369. SELECT 'From Date' head
  370. ,@FROM_DATE VALUE
  371. UNION ALL
  372. SELECT 'To Date' head
  373. ,@TO_DATE VALUE
  374. SELECT 'Customer Regisration Report(Sending Agent)' title
  375. END
  376. --WARNING! ERRORS ENCOUNTERED DURING SQL PARSING!
  377. ELSE
  378. IF @FLAG = 'rejectedReport'
  379. BEGIN
  380. DECLARE @sql VARCHAR(max)
  381. ,@sql1 VARCHAR(max)
  382. ,@sql2 VARCHAR(max)
  383. SET @sql1 = 'SELECT ROW_NUMBER() OVER (
  384. ORDER BY CTH.ID
  385. ) [SN]
  386. ,dbo.fnadecryptstring(CTH.CONTROLNO) [ControlNo]
  387. ,cth.tranId [TranId]
  388. ,sh.fullname [FullName]
  389. ,sh.mobile [Mobile]
  390. ,ISNULL(cth.receiverName, RH.fullName) [ReceiverName]
  391. ,cth.transactionreference [Trust_Pay_ID]
  392. ,cth.depositType [DepositType]
  393. ,cth.paymentmethod [PaymentMethod]
  394. ,cth.camt [Amount]
  395. ,cth.cancelRequestdate [Reject Date]
  396. ,cancelApprovedBy [Rejected By]
  397. ,CTH.cancelreason [Rejected Remarks]
  398. FROM cancelTranHistory CTH(NOLOCK)
  399. INNER JOIN cancelTranSendersHistory SH(NOLOCK) ON SH.TRANID = CTH.TRANID
  400. INNER JOIN cancelTranReceiversHistory RH(NOLOCK) ON RH.TRANID = CTH.TRANID
  401. WHERE 1=1'
  402. SET @sql2 = 'SELECT ROW_NUMBER() OVER (
  403. ORDER BY RTT.ID
  404. ) [SN]
  405. ,dbo.fnadecryptstring(RTT.CONTROLNO) [ControlNo]
  406. ,rtt.id [TranId]
  407. ,TST.fullname [FullName]
  408. ,TST.mobile [Mobile]
  409. ,ISNULL(RTT.receiverName, TRT.fullName) [ReceiverName]
  410. ,RTT.transactionreference [Trust_Pay_ID]
  411. ,RTT.depositType [DepositType]
  412. ,RTT.paymentmethod [PaymentMethod]
  413. ,RTT.camt [Amount]
  414. ,RTT.cancelRequestdate [Reject Date]
  415. ,cancelApprovedBy [Rejected By]
  416. ,RTT.cancelreason [Rejected Remarks]
  417. FROM remitTranTemp RTT(NOLOCK)
  418. INNER JOIN tranSendersTemp TST(NOLOCK) ON TST.tranId = RTT.id
  419. INNER JOIN tranReceiversTemp TRT(NOLOCK) ON TRT.tranId = RTT.id
  420. WHERE
  421. RTT.tranStatus = ''rejected''
  422. OR RTT.payStatus = ''rejected'''
  423. IF isnull(@FROM_DATE, '') <> ''
  424. AND isnull(@TO_DATE, '') <> ''
  425. BEGIN
  426. SET @sql1 = @sql1 + ' and cth.createddate BETWEEN ''' + @FROM_DATE + ''' AND ''' + @TO_DATE + '''+'' 23:59:59'''
  427. SET @sql2 = @sql2 + ' and rtt.createddate BETWEEN ''' + @FROM_DATE + ''' AND ''' + @TO_DATE + '''+'' 23:59:59'''
  428. END
  429. IF ISNULL(@agentId, '') <> ''
  430. BEGIN
  431. SET @sql1 = @sql1 + ' and cth.tranType = ''' + @agentId + ''''
  432. SET @sql2 = @sql2 + ' and rtt.tranType = ''' + @agentId + ''''
  433. END
  434. IF isnull(@tranType, '') <> ''
  435. BEGIN
  436. SET @sql1 = @sql1 + ' and cth.tranType = ''' + @tranType + ''''
  437. SET @sql2 = @sql2 + ' and rtt.tranType = ''' + @tranType + ''''
  438. END
  439. IF isnull(@isOnlineTxn, '') <> ''
  440. BEGIN
  441. SET @sql1 = @sql1 + ' and cth.isOnlineTxn = ''' + @isOnlineTxn + ''''
  442. SET @sql2 = @sql2 + ' and rtt.isOnlineTxn = ''' + @isOnlineTxn + ''''
  443. END
  444. SET @SQL = 'SELECt
  445. [SN]
  446. ,[ControlNo]
  447. ,[TranId]
  448. ,[FullName]
  449. ,[Mobile]
  450. ,[ReceiverName]
  451. ,[Trust_Pay_ID]
  452. ,[DepositType]
  453. ,[PaymentMethod]
  454. ,[Amount]
  455. ,[Reject Date]
  456. ,[Rejected By]
  457. ,[Rejected Remarks]
  458. from (
  459. ' + @sql1 + ' union all ' + @sql2 + '
  460. )x
  461. '
  462. SET @SQL = @SQL + 'order by x.[SN] desc'
  463. PRINT (@SQL)
  464. EXEC (@SQL)
  465. EXEC proc_errorHandler '0'
  466. ,'Report has been prepared successfully.'
  467. ,NULL
  468. SELECT 'From Date' head
  469. ,@FROM_DATE VALUE
  470. UNION ALL
  471. SELECT 'To Date' head
  472. ,@TO_DATE VALUE
  473. SELECT 'Rejected Transaction Report' title
  474. END
  475. ELSE IF @FLAG = 's-customerAndTxn'
  476. BEGIN
  477. IF @SEARCH_BY = 'DETAIL'
  478. BEGIN
  479. SELECT [Transaction Creation Date & Time]
  480. ,[Control Number]
  481. ,[Customer Name]
  482. ,[Customer Registration Date & Time]
  483. ,[KYC Complete Date & Time]
  484. ,[Branch/Agent]
  485. ,[Customer Approved Date & Time]
  486. ,[Customer ID No]
  487. ,[Date Of Birth]
  488. ,[Gender]
  489. ,[Address] = UPPER([Address])
  490. ,[VisaStatus]
  491. ,[Occupation]
  492. ,[Id Type]
  493. ,[Id No]
  494. ,[Id Issued Date]
  495. ,[Id Expiry Date]
  496. ,[Nationality]
  497. ,[Beneficiary Name]
  498. ,[Payment Type]
  499. ,[Receiver Country]
  500. ,[Transaction Approved Date & Time]
  501. ,[Payment Date]
  502. ,[Cancelled Date]
  503. ,[Corresponding]
  504. ,[Collect Amount]
  505. ,[Service Charge]
  506. ,[Send Amount]
  507. ,[Payount Amount]
  508. ,[Payout Currency]
  509. ,[CustRate]
  510. ,[Purpose]
  511. ,[Relationship with Sender]
  512. ,[Source Of Fund]
  513. ,[User]
  514. ,[TR Approved By]
  515. FROM (
  516. SELECT convert(VARCHAR(19), RT.createdDate, 121) [Transaction Creation Date & Time]
  517. ,dbo.fnadecryptstring(controlno) [Control Number]
  518. ,senderName [Customer Name]
  519. ,convert(VARCHAR(19), CM.CREATEDDATE, 121) [Customer Registration Date & Time]
  520. ,ISNULL(convert(VARCHAR(19), KYC_DATE, 121), convert(VARCHAR, CM.CREATEDDATE, 121)) [KYC Complete Date & Time]
  521. ,ROW_NUMBER() OVER (
  522. PARTITION BY RT.controlno ORDER BY KYC.kyc_date DESC
  523. ) ranknum
  524. ,convert(VARCHAR(19), CM.APPROVEDDATE, 121) [Customer Approved Date & Time]
  525. ,CM.MembershipId [Customer ID No]
  526. ,convert(VARCHAR(10), CM.DOB, 121) [Date Of Birth]
  527. ,gender.detailTitle [Gender]
  528. ,[Address] = DBO.FNAGetCustomerAddress(CM.CUSTOMERID, '')
  529. ,visaStatus.detailTitle [VisaStatus]
  530. ,CASE
  531. WHEN cm.occupation = '11383'
  532. THEN cm.occupationother
  533. ELSE occupation.detailTitle
  534. END [Occupation]
  535. ,idType.detailTitle [Id Type]
  536. ,cm.idNumber [Id No]
  537. ,convert(VARCHAR(10), cm.idIssueDate, 121) [Id Issued Date]
  538. ,convert(VARCHAR(10), cm.idExpiryDate, 121) [Id Expiry Date]
  539. ,nativeCountry.countryName [Nationality]
  540. ,RT.receiverName [Beneficiary Name]
  541. ,RT.paymentMethod [Payment Type]
  542. ,RT.PCOUNTRY [Receiver Country]
  543. ,convert(VARCHAR(19), rt.approvedDate, 121) [Transaction Approved Date & Time]
  544. ,ISNULL(convert(VARCHAR(19), rt.paidDate, 121), '') [Payment Date]
  545. ,ISNULL(CONVERT(VARCHAR, rt.cancelApproveddate, 121), '') [Cancelled Date]
  546. ,rt.pSuperAgentName [Corresponding]
  547. ,rt.cAmt [Collect Amount]
  548. ,rt.serviceCharge [Service Charge]
  549. ,rt.tamt [Send Amount]
  550. ,rt.pAmt [Payount Amount]
  551. ,rt.payoutCurr [Payout Currency]
  552. ,rt.customerRate [CustRate]
  553. ,rt.purposeofremit [Purpose]
  554. ,CASE
  555. WHEN RI.relationship = '11339'
  556. THEN ri.relationOther
  557. ELSE SDV3.detailTitle
  558. END [Relationship with Sender]
  559. ,rt.sourceOfFund [Source Of Fund]
  560. ,rt.createdby [User]
  561. ,rt.approvedBy [TR Approved By]
  562. ,[Branch/Agent] = CASE WHEN staff.REFERRAL_CODE IS NOT NULL THEN staff.REFERRAL_NAME
  563. WHEN AGENT.REFERRAL_CODE IS NOT NULL THEN AGENT.REFERRAL_NAME
  564. -- WHEN branch.REFERRAL_CODE IS NOT NULL THEN BRANCH.REFERRAL_NAME
  565. WHEN novisit.REFERRAL_CODE IS NOT NULL THEN novisit.AgentName
  566. WHEN rt.tranType = 'M' AND promotionCode IS NULL THEN 'Jme Mobile'
  567. END
  568. FROM REMITTRAN RT(NOLOCK)
  569. INNER JOIN TRANSENDERS TS(NOLOCK) ON TS.TRANID = RT.ID
  570. INNER JOIN TRANRECEIVERS TR(NOLOCK) ON TR.TRANID = RT.ID
  571. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = TS.CUSTOMERID
  572. INNER JOIN RECEIVERINFORMATION RI(NOLOCK) ON RI.RECEIVERID = TR.CUSTOMERID
  573. LEFT JOIN TBL_CUSTOMER_KYC KYC(NOLOCK) ON KYC.CUSTOMERID = CM.CUSTOMERID
  574. LEFT JOIN staticDataValue gender(NOLOCK) ON gender.valueId = cm.gender
  575. LEFT JOIN staticDataValue visaStatus(NOLOCK) ON visaStatus.valueId = cm.visaStatus
  576. LEFT JOIN staticDataValue occupation(NOLOCK) ON occupation.valueId = cm.occupation
  577. LEFT JOIN countrymaster nativeCountry(NOLOCK) ON nativeCountry.countryId = cm.nativeCountry
  578. LEFT JOIN staticDataValue idType(NOLOCK) ON idType.valueId = cm.idType
  579. LEFT JOIN STATICDATAVALUE SDV3(NOLOCK) ON SDV3.VALUEID = ri.RELATIONSHIP
  580. LEFT JOIN (SELECT REFERRAL_CODE, REFERRAL_NAME, REFERRAL_TYPE_CODE, STAFF_VISIT FROM REFERRAL_AGENT_WISE(NOLOCK) WHERE STAFF_VISIT = 1)staff ON staff.REFERRAL_CODE = RT.promotionCode
  581. LEFT JOIN (SELECT REFERRAL_CODE, REFERRAL_NAME, REFERRAL_TYPE_CODE, AGENT_ID STAFF_VISIT FROM REFERRAL_AGENT_WISE(NOLOCK) WHERE REFERRAL_TYPE_CODE = 'RR' and AGENT_ID <> '0')agent ON agent.REFERRAL_CODE = RT.promotionCode
  582. -- LEFT JOIN (SELECT REFERRAL_CODE, REFERRAL_NAME, REFERRAL_TYPE_CODE FROM REFERRAL_AGENT_WISE(NOLOCK) WHERE REFERRAL_TYPE_CODE= 'RB')branch ON branch.REFERRAL_CODE = RT.promotionCode
  583. LEFT JOIN (SELECT REFERRAL_CODE, agentName FROM REFERRAL_AGENT_WISE(NOLOCK) ra
  584. inner join agentMaster (NOLOCK) am on am.agentId = ra.branch_id
  585. WHERE staff_Visit IS NULL OR staff_Visit = 0
  586. )novisit ON novisit.REFERRAL_CODE = RT.promotionCode
  587. WHERE rt.createddate BETWEEN @FROM_DATE
  588. AND @TO_DATE + ' 23:59:59'
  589. ) x
  590. WHERE ranknum = 1
  591. END
  592. ELSE IF @SEARCH_BY = 'SUMMARY' AND @GROUP_BY = 'branch'
  593. BEGIN
  594. SELECT ISNULL([Branch/Agent] , 'UNKNOWN') AS [Branch / Agent] ,
  595. ISNULL(COUNT(ID), 0) AS [TXN COUNT]
  596. FROM (
  597. SELECT
  598. RT.id
  599. ,[Branch/Agent] = CASE WHEN staff.REFERRAL_CODE IS NOT NULL THEN staff.REFERRAL_NAME
  600. WHEN AGENT.REFERRAL_CODE IS NOT NULL THEN AGENT.REFERRAL_NAME
  601. -- WHEN branch.REFERRAL_CODE IS NOT NULL THEN BRANCH.REFERRAL_NAME
  602. WHEN novisit.REFERRAL_CODE IS NOT NULL THEN novisit.AgentName
  603. WHEN rt.tranType = 'M' AND promotionCode IS NULL THEN 'Jme Mobile'
  604. END
  605. FROM REMITTRAN RT(NOLOCK)
  606. LEFT JOIN (SELECT REFERRAL_CODE, REFERRAL_NAME, REFERRAL_TYPE_CODE, STAFF_VISIT FROM REFERRAL_AGENT_WISE(NOLOCK) WHERE STAFF_VISIT = 1)staff ON staff.REFERRAL_CODE = RT.promotionCode
  607. LEFT JOIN (SELECT REFERRAL_CODE, REFERRAL_NAME, REFERRAL_TYPE_CODE, AGENT_ID STAFF_VISIT FROM REFERRAL_AGENT_WISE(NOLOCK) WHERE REFERRAL_TYPE_CODE = 'RR' and AGENT_ID <> '0')agent ON agent.REFERRAL_CODE = RT.promotionCode
  608. -- LEFT JOIN (SELECT REFERRAL_CODE, REFERRAL_NAME, REFERRAL_TYPE_CODE FROM REFERRAL_AGENT_WISE(NOLOCK) WHERE REFERRAL_TYPE_CODE= 'RB')branch ON branch.REFERRAL_CODE = RT.promotionCode
  609. LEFT JOIN (SELECT REFERRAL_CODE, agentName FROM REFERRAL_AGENT_WISE(NOLOCK) ra
  610. inner join agentMaster (NOLOCK) am on am.agentId = ra.branch_id
  611. WHERE staff_Visit IS NULL OR staff_Visit = 0
  612. )novisit ON novisit.REFERRAL_CODE = RT.promotionCode
  613. WHERE rt.createddate BETWEEN @FROM_DATE
  614. AND @TO_DATE + ' 23:59:59'
  615. ) x
  616. GROUP BY [Branch/Agent]
  617. ORDER BY [Branch/Agent] ASC
  618. END
  619. ELSE IF @SEARCH_BY = 'SUMMARY' AND @GROUP_BY = 'pType'
  620. BEGIN
  621. SELECT
  622. rt.paymentMethod AS [Payment Type]
  623. , ISNULL(COUNT(RT.id) , 0) AS [TXN COUNT]
  624. FROM REMITTRAN RT(NOLOCK)
  625. WHERE rt.createddate BETWEEN @FROM_DATE
  626. AND @TO_DATE + ' 23:59:59'
  627. GROUP BY paymentMethod
  628. ORDER BY paymentMethod ASC
  629. END
  630. ELSE IF @SEARCH_BY = 'SUMMARY' AND @GROUP_BY = 'country'
  631. BEGIN
  632. SELECT
  633. rt.pCountry AS [Receiver Country]
  634. , ISNULL(COUNT(RT.id) , 0) AS [TXN COUNT]
  635. FROM REMITTRAN RT(NOLOCK)
  636. WHERE rt.createddate BETWEEN @FROM_DATE
  637. AND @TO_DATE + ' 23:59:59'
  638. GROUP BY pCountry
  639. ORDER BY pCountry ASC
  640. END
  641. ELSE IF @SEARCH_BY = 'SUMMARY' AND @GROUP_BY = 'tDate'
  642. BEGIN
  643. SELECT
  644. convert(VARCHAR(10), createdDate, 121) AS [Transaction Date]
  645. -- CAST(rt.createdDate AS DATE) AS [Transaction Date]
  646. , ISNULL(COUNT(RT.id) , 0) AS [TXN COUNT]
  647. FROM REMITTRAN RT(NOLOCK)
  648. WHERE rt.createddate BETWEEN @FROM_DATE
  649. AND @TO_DATE + ' 23:59:59'
  650. GROUP BY CONVERT(VARCHAR(10), createdDate, 121)
  651. ORDER BY CONVERT(VARCHAR(10), createdDate, 121)
  652. -- ORDER BY CAST(createdDate AS DATE) ASC
  653. END
  654. EXEC proc_errorHandler '0'
  655. ,'Report has been prepared successfully.'
  656. ,NULL
  657. SELECT 'From Date' head
  658. ,@FROM_DATE VALUE
  659. UNION ALL
  660. SELECT 'To Date' head
  661. ,@TO_DATE VALUE
  662. --UNION ALL
  663. --SELECT '@grou'
  664. SELECT 'CUSTOMER AND TRANSACTION REPORT' title
  665. END
  666. ELSE IF @FLAG = 'disabled'
  667. BEGIN
  668. DECLARE @USERTYPE CHAR(2)
  669. SELECT @USERTYPE = USERTYPE
  670. FROM APPLICATIONUSERS(NOLOCK)
  671. WHERE USERNAME = @USER
  672. SELECT membershipid
  673. ,postalcode [Old Customer Id]
  674. ,fullname [Customer Name]
  675. ,Mobile
  676. ,gender.detailTitle [Gender]
  677. ,Idnumber
  678. ,idType.detailTitle [Id Type]
  679. ,convert(VARCHAR(10), cm.idIssueDate, 121) [Id Issued Date]
  680. ,convert(VARCHAR(10), cm.idExpiryDate, 121) [Id Expiry Date]
  681. ,nativeCountry.countryName [Nationality]
  682. ,visaStatus.detailTitle [VisaStatus]
  683. ,CASE
  684. WHEN cm.occupation = '11383'
  685. THEN cm.occupationother
  686. ELSE occupation.detailTitle
  687. END [Occupation]
  688. ,link = CASE
  689. WHEN S.CUSTOMERID IS NOT NULL
  690. THEN CASE
  691. WHEN ISNULL(@USERTYPE, 'HO') = 'HO'
  692. THEN '<a href="/Remit/CustomerSOA/CustomerSoaReceipt.aspx?rptFor=disabled&customerId=' + CAST(CM.CUSTOMERID AS VARCHAR) + '">View SOA</a>'
  693. ELSE '<a href="/AgentNew/CustomerSOA/CustomerSOA.aspx?rptFor=disabled&customerId=' + CAST(CM.CUSTOMERID AS VARCHAR) + '">View SOA</a>'
  694. END
  695. ELSE ''
  696. END
  697. FROM CUSTOMERMASTER cm(NOLOCK)
  698. LEFT JOIN (
  699. SELECT DISTINCT CUSTOMERID
  700. FROM TRANSENDERS S(NOLOCK)
  701. INNER JOIN REMITTRAN R(NOLOCK) ON R.ID = S.TRANID
  702. WHERE R.TRANSTATUS <> 'CANCEL'
  703. ) S ON S.CUSTOMERID = CM.CUSTOMERID
  704. LEFT JOIN countrymaster nativeCountry(NOLOCK) ON nativeCountry.countryId = cm.nativeCountry
  705. LEFT JOIN staticDataValue visaStatus(NOLOCK) ON visaStatus.valueId = cm.visaStatus
  706. LEFT JOIN staticDataValue occupation(NOLOCK) ON occupation.valueId = cm.occupation
  707. LEFT JOIN staticDataValue gender(NOLOCK) ON gender.valueId = cm.gender
  708. LEFT JOIN staticDataValue idType(NOLOCK) ON idType.valueId = cm.idType
  709. WHERE ISNULL(cm.ISACTIVE, 'Y') = 'N'
  710. AND ISNULL(cm.deletedDate, CM.CREATEDDATE) BETWEEN @FROM_DATE
  711. AND @TO_DATE + ' 23:59:59'
  712. EXEC proc_errorHandler '0'
  713. ,'Report has been prepared successfully.'
  714. ,NULL
  715. SELECT 'From Date' head
  716. ,@FROM_DATE VALUE
  717. UNION ALL
  718. SELECT 'To Date' head
  719. ,@TO_DATE VALUE
  720. SELECT 'Disabled Customers' title
  721. END
  722. END TRY
  723. BEGIN CATCH
  724. IF @@TRANCOUNT > 0
  725. ROLLBACK TRANSACTION
  726. SELECT '1' ErrorCode
  727. ,ERROR_MESSAGE() Msg
  728. ,NULL id
  729. END CATCH