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.

789 lines
56 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: 2/28/2024 10:56: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. --,receiverName
  212. -- ,country
  213. --,address
  214. --,receiverMobile
  215. --,PaymentMode
  216. --,BANK_NAME
  217. --,BRANCH_NAME
  218. --,receiverAccountNo
  219. --,relationship
  220. --,purposeOfRemit
  221. --,RegistrationType
  222. FROM (
  223. SELECT CM.CUSTOMERID
  224. ,CM.FULLNAME [CustomerName]
  225. ,sAddress = ISNULL(cm.address,'') + ISNULL(cm.city,'') + ISNULL(cm.ADDITIONALADDRESS,'')
  226. ,CM.mobile
  227. ,ISNULL(CM.POSTALCODE, CM.membershipId) membershipId
  228. --,sdv1.DETAILTITLE [Gender]
  229. ,CASE
  230. WHEN CM.IDTYPE = '11402'
  231. THEN CM.OTHERIDNUMBER
  232. ELSE IDTYPE.DETAILTITLE
  233. END [Verification ID Type]
  234. ,CM.idIssueDate
  235. ,CM.idExpiryDate
  236. ,CMM.COUNTRYNAME [nativeCountry]
  237. ,CASE
  238. WHEN cm.occupation = '11383'
  239. THEN cm.occupationother
  240. ELSE sdv2.DETAILTITLE
  241. END [Occupation]
  242. ,CM.dob
  243. ,CM.createdBy
  244. ,CM.createdDate
  245. --,receiverName = ISNULL(ri.firstname,'') + ISNULL(ri.middlename,'') + ISNULL(ri.lastname1,'')
  246. --,ri.firstname receiverFirstName
  247. --,ri.middlename receiverMiddle
  248. --,ri.lastname1 receiverLastName
  249. --,ri.country
  250. --,ri.[address]
  251. ,CM.verifiedBy [VerifiedBy]
  252. ,CM.approvedBy
  253. --,ri.mobile [receiverMobile]
  254. --,stm.typeTitle PaymentMode
  255. --,ABL.BANK_NAME
  256. --,ISNULL(ABBL.BRANCH_NAME, 'Any Where') BRANCH_NAME
  257. -- ,ri.receiverAccountNo
  258. --,CASE
  259. -- WHEN relationship = '11339'
  260. -- THEN ri.relationOther
  261. -- ELSE SDV3.detailTitle
  262. -- END relationship
  263. --,CASE
  264. -- WHEN ri.PURPOSEOFREMIT = '11347'
  265. -- THEN RI.PURPOSEOTHER
  266. -- ELSE SDV4.detailtitle
  267. -- END purposeOfRemit
  268. -- ,VISA.detailTitle visaStatus
  269. ,ROW_NUMBER() OVER (
  270. PARTITION BY cm.customerid
  271. order by cm.customerid
  272. ) ranknum
  273. ,RegistrationType = CASE WHEN cm.RegistrationType IS NULL THEN 'Manual' WHEN cm.registrationtype='MKYC' THEN 'MANUAL' ELSE cm.RegistrationType END
  274. FROM customerMaster cm
  275. LEFT JOIN receiverInformation ri ON cm.customerid = ri.customerid
  276. --INNER JOIN applicationusers au (nolock) on au.username = CM.createdBy
  277. LEFT JOIN AGENTMASTER am(NOLOCK) ON am.BRANCHCODE = SUBSTRING(CM.membershipid, 1, 3)
  278. LEFT JOIN STATICDATAVALUE SDV1 ON SDV1.VALUEID = CM.GENDER
  279. LEFT JOIN STATICDATAVALUE SDV2 ON SDV2.VALUEID = CM.occupation
  280. LEFT JOIN serviceTypeMaster stm(NOLOCK) ON stm.serviceTypeId = ri.paymentMode
  281. LEFT JOIN API_BANK_LIST ABL(NOLOCK) ON ABL.BANK_ID = ri.PAYOUTPARTNER
  282. LEFT JOIN API_BANK_BRANCH_LIST ABBL(NOLOCK) ON CAST(ABBL.BRANCH_ID as VARCHAR) = ri.BANKLOCATION
  283. LEFT JOIN STATICDATAVALUE SDV3(NOLOCK) ON SDV3.VALUEID = ri.RELATIONSHIP
  284. LEFT JOIN STATICDATAVALUE SDV4(NOLOCK) ON SDV4.VALUEID = ri.PURPOSEOFREMIT
  285. LEFT JOIN STATICDATAVALUE VISA(NOLOCK) ON VISA.VALUEID = CM.VISASTATUS
  286. LEFT JOIN STATICDATAVALUE IDTYPE(NOLOCK) ON IDTYPE.VALUEID = CM.IDTYPE
  287. LEFT JOIN COUNTRYMASTER CMM(NOLOCK) ON CMM.COUNTRYID = CM.NATIVECOUNTRY
  288. WHERE CM.createddate BETWEEN @FROM_DATE
  289. AND @TO_DATE + ' 23:59:59'
  290. --AND ISNULL(RI.ISDELETED,'0') <> '1'
  291. AND am.agentid = ISNULL(@agentId, am.agentId)
  292. UNION ALL
  293. SELECT CM.CUSTOMERID
  294. ,CM.FULLNAME [CustomerName]
  295. ,sAddress = ISNULL(cm.address,'') +' '+ ISNULL(cm.city,'') + ISNULL(cm.ADDITIONALADDRESS,'')
  296. ,CM.mobile
  297. ,ISNULL(CM.POSTALCODE, CM.membershipId) membershipId
  298. -- ,sdv1.DETAILTITLE [Gender]
  299. ,CASE
  300. WHEN CM.IDTYPE = '11402'
  301. THEN CM.OTHERIDNUMBER
  302. ELSE IDTYPE.DETAILTITLE
  303. END [Verification ID Type]
  304. ,CM.idIssueDate
  305. ,CM.idExpiryDate
  306. ,CMM.COUNTRYNAME [nativeCountry]
  307. ,CASE
  308. WHEN cm.occupation = '11383'
  309. THEN cm.occupationother
  310. ELSE sdv2.DETAILTITLE
  311. END [Occupation]
  312. ,CM.dob
  313. ,CM.createdBy
  314. ,CM.createdDate
  315. --,ri.firstname receiverFirstName
  316. --,ri.middlename receiverMiddle
  317. --,ri.lastname1 receiverLastName
  318. -- ,receiverName = ISNULL(ri.firstname,'') + ISNULL(ri.middlename,'') + ISNULL(ri.lastname1,'')
  319. -- ,ri.country
  320. -- ,ri.[address]
  321. ,cm.mobileverifiedby AS [VerifiedBy]
  322. ,CM.approvedBy
  323. --,ri.mobile [receiverMobile]
  324. --,stm.typeTitle PaymentMode
  325. --,ABL.BANK_NAME
  326. --,ISNULL(ABBL.BRANCH_NAME, 'Any Where') BRANCH_NAME
  327. --,ri.receiverAccountNo
  328. --,CASE
  329. -- WHEN relationship = '11339'
  330. -- THEN ri.relationOther
  331. -- ELSE SDV3.detailTitle
  332. -- END relationship
  333. --,CASE
  334. -- WHEN ri.PURPOSEOFREMIT = '11347'
  335. -- THEN RI.PURPOSEOTHER
  336. -- ELSE SDV4.detailtitle
  337. -- END purposeOfRemit
  338. --,VISA.detailTitle visaStatus
  339. ,ROW_NUMBER() OVER (
  340. PARTITION BY cm.customerid
  341. order by cm.customerid
  342. ) ranknum
  343. ,RegistrationType = CASE WHEN cm.RegistrationType IS NULL THEN 'Manual' ELSE cm.RegistrationType END
  344. FROM customerMaster cm
  345. LEFT JOIN receiverInformation ri ON cm.customerid = ri.customerid
  346. -- INNER JOIN AGENTMASTER am(NOLOCK) ON am.BRANCHCODE LIKE 'ONL%'--SUBSTRING(CM.membershipid, 1, 3)
  347. LEFT JOIN STATICDATAVALUE SDV1 ON SDV1.VALUEID = CM.GENDER
  348. LEFT JOIN STATICDATAVALUE SDV2 ON SDV2.VALUEID = CM.occupation
  349. LEFT JOIN serviceTypeMaster stm(NOLOCK) ON stm.serviceTypeId = ri.paymentMode
  350. LEFT JOIN API_BANK_LIST ABL(NOLOCK) ON ABL.BANK_ID = ri.PAYOUTPARTNER
  351. LEFT JOIN API_BANK_BRANCH_LIST ABBL(NOLOCK) ON CAST(ABBL.BRANCH_ID AS VARCHAR) = ri.BANKLOCATION
  352. LEFT JOIN STATICDATAVALUE SDV3(NOLOCK) ON SDV3.VALUEID = ri.RELATIONSHIP
  353. LEFT JOIN STATICDATAVALUE SDV4(NOLOCK) ON SDV4.VALUEID = ri.PURPOSEOFREMIT
  354. LEFT JOIN STATICDATAVALUE VISA(NOLOCK) ON VISA.VALUEID = CM.VISASTATUS
  355. LEFT JOIN STATICDATAVALUE IDTYPE(NOLOCK) ON IDTYPE.VALUEID = CM.IDTYPE
  356. LEFT JOIN COUNTRYMASTER CMM(NOLOCK) ON CMM.COUNTRYID = CM.NATIVECOUNTRY
  357. WHERE CM.createddate BETWEEN @FROM_DATE
  358. AND @TO_DATE + ' 23:59:59'
  359. --AND ISNULL(RI.ISDELETED,'0') <> '1'
  360. -- AND am.agentid = ISNULL(@agentId, '394395')
  361. -- AND cm.agentid = @agentId
  362. AND cm.createdFrom = 'M'
  363. AND cm.mobileverifieddate is not null and cm.mobileApprovedDate is not null
  364. ) a
  365. WHERE ranknum = 1
  366. --and createdBy = ISNULL(@user,createdBy)
  367. ORDER BY CREATEDDATE
  368. END
  369. EXEC proc_errorHandler '0'
  370. ,'Report has been prepared successfully.'
  371. ,NULL
  372. SELECT 'From Date' head
  373. ,@FROM_DATE VALUE
  374. UNION ALL
  375. SELECT 'To Date' head
  376. ,@TO_DATE VALUE
  377. SELECT 'Customer Regisration Report(Sending Agent)' title
  378. END
  379. --WARNING! ERRORS ENCOUNTERED DURING SQL PARSING!
  380. ELSE
  381. IF @FLAG = 'rejectedReport'
  382. BEGIN
  383. DECLARE @sql VARCHAR(max)
  384. ,@sql1 VARCHAR(max)
  385. ,@sql2 VARCHAR(max)
  386. SET @sql1 = 'SELECT ROW_NUMBER() OVER (
  387. ORDER BY CTH.ID
  388. ) [SN]
  389. ,dbo.fnadecryptstring(CTH.CONTROLNO) [ControlNo]
  390. ,cth.tranId [TranId]
  391. ,sh.fullname [FullName]
  392. ,sh.mobile [Mobile]
  393. ,ISNULL(cth.receiverName, RH.fullName) [ReceiverName]
  394. ,cth.transactionreference [Trust_Pay_ID]
  395. ,cth.depositType [DepositType]
  396. ,cth.paymentmethod [PaymentMethod]
  397. ,cth.camt [Amount]
  398. ,cth.trnStatusBeforeCnlReq [Status]
  399. ,cth.cancelRequestdate [Reject Date]
  400. ,cancelApprovedBy [Rejected By]
  401. ,CTH.cancelreason [Rejected Remarks]
  402. FROM cancelTranHistory CTH(NOLOCK)
  403. INNER JOIN cancelTranSendersHistory SH(NOLOCK) ON SH.TRANID = CTH.TRANID
  404. INNER JOIN cancelTranReceiversHistory RH(NOLOCK) ON RH.TRANID = CTH.TRANID
  405. WHERE 1=1'
  406. SET @sql2 = 'SELECT ROW_NUMBER() OVER (
  407. ORDER BY RTT.ID
  408. ) [SN]
  409. ,dbo.fnadecryptstring(RTT.CONTROLNO) [ControlNo]
  410. ,rtt.id [TranId]
  411. ,TST.fullname [FullName]
  412. ,TST.mobile [Mobile]
  413. ,ISNULL(RTT.receiverName, TRT.fullName) [ReceiverName]
  414. ,RTT.transactionreference [Trust_Pay_ID]
  415. ,RTT.depositType [DepositType]
  416. ,RTT.paymentmethod [PaymentMethod]
  417. ,RTT.camt [Amount]
  418. ,RTT.Paystatus [Status]
  419. ,RTT.cancelRequestdate [Reject Date]
  420. ,cancelApprovedBy [Rejected By]
  421. ,RTT.cancelreason [Rejected Remarks]
  422. FROM remitTranTemp RTT(NOLOCK)
  423. INNER JOIN tranSendersTemp TST(NOLOCK) ON TST.tranId = RTT.id
  424. INNER JOIN tranReceiversTemp TRT(NOLOCK) ON TRT.tranId = RTT.id
  425. WHERE
  426. RTT.tranStatus = ''rejected''
  427. OR RTT.payStatus = ''rejected'''
  428. IF isnull(@FROM_DATE, '') <> ''
  429. AND isnull(@TO_DATE, '') <> ''
  430. BEGIN
  431. SET @sql1 = @sql1 + ' and cth.createddate BETWEEN ''' + @FROM_DATE + ''' AND ''' + @TO_DATE + '''+'' 23:59:59'''
  432. SET @sql2 = @sql2 + ' and rtt.createddate BETWEEN ''' + @FROM_DATE + ''' AND ''' + @TO_DATE + '''+'' 23:59:59'''
  433. END
  434. IF ISNULL(@agentId, '') <> ''
  435. BEGIN
  436. SET @sql1 = @sql1 + ' and cth.tranType = ''' + @agentId + ''''
  437. SET @sql2 = @sql2 + ' and rtt.tranType = ''' + @agentId + ''''
  438. END
  439. IF isnull(@tranType, '') <> ''
  440. BEGIN
  441. SET @sql1 = @sql1 + ' and cth.tranType = ''' + @tranType + ''''
  442. SET @sql2 = @sql2 + ' and rtt.tranType = ''' + @tranType + ''''
  443. END
  444. IF isnull(@isOnlineTxn, '') <> ''
  445. BEGIN
  446. SET @sql1 = @sql1 + ' and cth.isOnlineTxn = ''' + @isOnlineTxn + ''''
  447. SET @sql2 = @sql2 + ' and rtt.isOnlineTxn = ''' + @isOnlineTxn + ''''
  448. END
  449. SET @SQL = 'SELECt
  450. [SN]
  451. ,[ControlNo]
  452. ,[TranId]
  453. ,[FullName]
  454. ,[Mobile]
  455. ,[ReceiverName]
  456. ,[Trust_Pay_ID]
  457. ,[DepositType]
  458. ,[PaymentMethod]
  459. ,[Amount]
  460. ,[Status]
  461. ,[Reject Date]
  462. ,[Rejected By]
  463. ,[Rejected Remarks]
  464. from (
  465. ' + @sql1 + ' union all ' + @sql2 + '
  466. )x
  467. '
  468. SET @SQL = @SQL + 'order by x.[SN] desc'
  469. PRINT (@SQL)
  470. EXEC (@SQL)
  471. EXEC proc_errorHandler '0'
  472. ,'Report has been prepared successfully.'
  473. ,NULL
  474. SELECT 'From Date' head
  475. ,@FROM_DATE VALUE
  476. UNION ALL
  477. SELECT 'To Date' head
  478. ,@TO_DATE VALUE
  479. SELECT 'Rejected Transaction Report' title
  480. END
  481. ELSE IF @FLAG = 's-customerAndTxn'
  482. BEGIN
  483. IF @SEARCH_BY = 'DETAIL'
  484. BEGIN
  485. SELECT [Transaction Creation Date & Time]
  486. ,[Control Number]
  487. ,[Customer Name]
  488. ,[Customer Registration Date & Time]
  489. ,[KYC Complete Date & Time]
  490. ,[Branch/Agent]
  491. ,[Customer Approved Date & Time]
  492. ,[Customer ID No]
  493. ,[Date Of Birth]
  494. ,[Gender]
  495. ,[Address] = UPPER([Address])
  496. ,[VisaStatus]
  497. ,[Occupation]
  498. ,[Id Type]
  499. ,[Id No]
  500. ,[Id Issued Date]
  501. ,[Id Expiry Date]
  502. ,[Nationality]
  503. ,[Beneficiary Name]
  504. ,[Payment Type]
  505. ,[Receiver Country]
  506. ,[Transaction Approved Date & Time]
  507. ,[Payment Date]
  508. ,[Cancelled Date]
  509. ,[Corresponding]
  510. ,[Collect Amount]
  511. ,[Service Charge]
  512. ,[Send Amount]
  513. ,[Payount Amount]
  514. ,[Payout Currency]
  515. ,[CustRate]
  516. ,[Purpose]
  517. ,[Relationship with Sender]
  518. ,[Source Of Fund]
  519. ,[User]
  520. ,[TR Approved By]
  521. FROM (
  522. SELECT convert(VARCHAR(19), RT.createdDate, 121) [Transaction Creation Date & Time]
  523. ,dbo.fnadecryptstring(controlno) [Control Number]
  524. ,senderName [Customer Name]
  525. ,convert(VARCHAR(19), CM.CREATEDDATE, 121) [Customer Registration Date & Time]
  526. ,ISNULL(convert(VARCHAR(19), KYC_DATE, 121), convert(VARCHAR, CM.CREATEDDATE, 121)) [KYC Complete Date & Time]
  527. ,ROW_NUMBER() OVER (
  528. PARTITION BY RT.controlno ORDER BY KYC.kyc_date DESC
  529. ) ranknum
  530. ,convert(VARCHAR(19), CM.APPROVEDDATE, 121) [Customer Approved Date & Time]
  531. ,CM.MembershipId [Customer ID No]
  532. ,convert(VARCHAR(10), CM.DOB, 121) [Date Of Birth]
  533. ,gender.detailTitle [Gender]
  534. ,[Address] = DBO.FNAGetCustomerAddress(CM.CUSTOMERID, '')
  535. ,visaStatus.detailTitle [VisaStatus]
  536. ,CASE
  537. WHEN cm.occupation = '11383'
  538. THEN cm.occupationother
  539. ELSE occupation.detailTitle
  540. END [Occupation]
  541. ,idType.detailTitle [Id Type]
  542. ,cm.idNumber [Id No]
  543. ,convert(VARCHAR(10), cm.idIssueDate, 121) [Id Issued Date]
  544. ,convert(VARCHAR(10), cm.idExpiryDate, 121) [Id Expiry Date]
  545. ,nativeCountry.countryName [Nationality]
  546. ,RT.receiverName [Beneficiary Name]
  547. ,RT.paymentMethod [Payment Type]
  548. ,RT.PCOUNTRY [Receiver Country]
  549. ,convert(VARCHAR(19), rt.approvedDate, 121) [Transaction Approved Date & Time]
  550. ,ISNULL(convert(VARCHAR(19), rt.paidDate, 121), '') [Payment Date]
  551. ,ISNULL(CONVERT(VARCHAR, rt.cancelApproveddate, 121), '') [Cancelled Date]
  552. ,rt.pSuperAgentName [Corresponding]
  553. ,rt.cAmt [Collect Amount]
  554. ,rt.serviceCharge [Service Charge]
  555. ,rt.tamt [Send Amount]
  556. ,rt.pAmt [Payount Amount]
  557. ,rt.payoutCurr [Payout Currency]
  558. ,rt.customerRate [CustRate]
  559. ,rt.purposeofremit [Purpose]
  560. ,CASE
  561. WHEN RI.relationship = '11339'
  562. THEN ri.relationOther
  563. ELSE SDV3.detailTitle
  564. END [Relationship with Sender]
  565. ,rt.sourceOfFund [Source Of Fund]
  566. ,rt.createdby [User]
  567. ,rt.approvedBy [TR Approved By]
  568. ,[Branch/Agent] = CASE WHEN staff.REFERRAL_CODE IS NOT NULL THEN staff.REFERRAL_NAME
  569. WHEN AGENT.REFERRAL_CODE IS NOT NULL THEN AGENT.REFERRAL_NAME
  570. -- WHEN branch.REFERRAL_CODE IS NOT NULL THEN BRANCH.REFERRAL_NAME
  571. WHEN novisit.REFERRAL_CODE IS NOT NULL THEN novisit.AgentName
  572. WHEN rt.tranType = 'M' AND promotionCode IS NULL THEN 'Jme Mobile'
  573. END
  574. FROM REMITTRAN RT(NOLOCK)
  575. INNER JOIN TRANSENDERS TS(NOLOCK) ON TS.TRANID = RT.ID
  576. INNER JOIN TRANRECEIVERS TR(NOLOCK) ON TR.TRANID = RT.ID
  577. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = TS.CUSTOMERID
  578. INNER JOIN RECEIVERINFORMATION RI(NOLOCK) ON RI.RECEIVERID = TR.CUSTOMERID
  579. LEFT JOIN TBL_CUSTOMER_KYC KYC(NOLOCK) ON KYC.CUSTOMERID = CM.CUSTOMERID
  580. LEFT JOIN staticDataValue gender(NOLOCK) ON gender.valueId = cm.gender
  581. LEFT JOIN staticDataValue visaStatus(NOLOCK) ON visaStatus.valueId = cm.visaStatus
  582. LEFT JOIN staticDataValue occupation(NOLOCK) ON occupation.valueId = cm.occupation
  583. LEFT JOIN countrymaster nativeCountry(NOLOCK) ON nativeCountry.countryId = cm.nativeCountry
  584. LEFT JOIN staticDataValue idType(NOLOCK) ON idType.valueId = cm.idType
  585. LEFT JOIN STATICDATAVALUE SDV3(NOLOCK) ON SDV3.VALUEID = ri.RELATIONSHIP
  586. 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
  587. 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
  588. -- 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
  589. LEFT JOIN (SELECT REFERRAL_CODE, agentName FROM REFERRAL_AGENT_WISE(NOLOCK) ra
  590. inner join agentMaster (NOLOCK) am on am.agentId = ra.branch_id
  591. WHERE staff_Visit IS NULL OR staff_Visit = 0
  592. )novisit ON novisit.REFERRAL_CODE = RT.promotionCode
  593. WHERE rt.createddate BETWEEN @FROM_DATE
  594. AND @TO_DATE + ' 23:59:59'
  595. ) x
  596. WHERE ranknum = 1
  597. END
  598. ELSE IF @SEARCH_BY = 'SUMMARY' AND @GROUP_BY = 'branch'
  599. BEGIN
  600. SELECT ISNULL([Branch/Agent] , 'UNKNOWN') AS [Branch / Agent] ,
  601. ISNULL(COUNT(ID), 0) AS [TXN COUNT]
  602. FROM (
  603. SELECT
  604. RT.id
  605. ,[Branch/Agent] = CASE WHEN staff.REFERRAL_CODE IS NOT NULL THEN staff.REFERRAL_NAME
  606. WHEN AGENT.REFERRAL_CODE IS NOT NULL THEN AGENT.REFERRAL_NAME
  607. -- WHEN branch.REFERRAL_CODE IS NOT NULL THEN BRANCH.REFERRAL_NAME
  608. WHEN novisit.REFERRAL_CODE IS NOT NULL THEN novisit.AgentName
  609. WHEN rt.tranType = 'M' AND promotionCode IS NULL THEN 'Jme Mobile'
  610. END
  611. FROM REMITTRAN RT(NOLOCK)
  612. 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
  613. 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
  614. -- 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
  615. LEFT JOIN (SELECT REFERRAL_CODE, agentName FROM REFERRAL_AGENT_WISE(NOLOCK) ra
  616. inner join agentMaster (NOLOCK) am on am.agentId = ra.branch_id
  617. WHERE staff_Visit IS NULL OR staff_Visit = 0
  618. )novisit ON novisit.REFERRAL_CODE = RT.promotionCode
  619. WHERE rt.createddate BETWEEN @FROM_DATE
  620. AND @TO_DATE + ' 23:59:59'
  621. ) x
  622. GROUP BY [Branch/Agent]
  623. ORDER BY [Branch/Agent] ASC
  624. END
  625. ELSE IF @SEARCH_BY = 'SUMMARY' AND @GROUP_BY = 'pType'
  626. BEGIN
  627. SELECT
  628. rt.paymentMethod AS [Payment Type]
  629. , ISNULL(COUNT(RT.id) , 0) AS [TXN COUNT]
  630. FROM REMITTRAN RT(NOLOCK)
  631. WHERE rt.createddate BETWEEN @FROM_DATE
  632. AND @TO_DATE + ' 23:59:59'
  633. GROUP BY paymentMethod
  634. ORDER BY paymentMethod ASC
  635. END
  636. ELSE IF @SEARCH_BY = 'SUMMARY' AND @GROUP_BY = 'country'
  637. BEGIN
  638. SELECT
  639. rt.pCountry AS [Receiver Country]
  640. , ISNULL(COUNT(RT.id) , 0) AS [TXN COUNT]
  641. FROM REMITTRAN RT(NOLOCK)
  642. WHERE rt.createddate BETWEEN @FROM_DATE
  643. AND @TO_DATE + ' 23:59:59'
  644. GROUP BY pCountry
  645. ORDER BY pCountry ASC
  646. END
  647. ELSE IF @SEARCH_BY = 'SUMMARY' AND @GROUP_BY = 'tDate'
  648. BEGIN
  649. SELECT
  650. convert(VARCHAR(10), createdDate, 121) AS [Transaction Date]
  651. -- CAST(rt.createdDate AS DATE) AS [Transaction Date]
  652. , ISNULL(COUNT(RT.id) , 0) AS [TXN COUNT]
  653. FROM REMITTRAN RT(NOLOCK)
  654. WHERE rt.createddate BETWEEN @FROM_DATE
  655. AND @TO_DATE + ' 23:59:59'
  656. GROUP BY CONVERT(VARCHAR(10), createdDate, 121)
  657. ORDER BY CONVERT(VARCHAR(10), createdDate, 121)
  658. -- ORDER BY CAST(createdDate AS DATE) ASC
  659. END
  660. EXEC proc_errorHandler '0'
  661. ,'Report has been prepared successfully.'
  662. ,NULL
  663. SELECT 'From Date' head
  664. ,@FROM_DATE VALUE
  665. UNION ALL
  666. SELECT 'To Date' head
  667. ,@TO_DATE VALUE
  668. --UNION ALL
  669. --SELECT '@grou'
  670. SELECT 'CUSTOMER AND TRANSACTION REPORT' title
  671. END
  672. ELSE IF @FLAG = 'disabled'
  673. BEGIN
  674. DECLARE @USERTYPE CHAR(2)
  675. SELECT @USERTYPE = USERTYPE
  676. FROM APPLICATIONUSERS(NOLOCK)
  677. WHERE USERNAME = @USER
  678. SELECT membershipid
  679. ,postalcode [Old Customer Id]
  680. ,fullname [Customer Name]
  681. ,Mobile
  682. ,gender.detailTitle [Gender]
  683. ,Idnumber
  684. ,idType.detailTitle [Id Type]
  685. ,convert(VARCHAR(10), cm.idIssueDate, 121) [Id Issued Date]
  686. ,convert(VARCHAR(10), cm.idExpiryDate, 121) [Id Expiry Date]
  687. ,nativeCountry.countryName [Nationality]
  688. ,visaStatus.detailTitle [VisaStatus]
  689. ,CASE
  690. WHEN cm.occupation = '11383'
  691. THEN cm.occupationother
  692. ELSE occupation.detailTitle
  693. END [Occupation]
  694. ,link = CASE
  695. WHEN S.CUSTOMERID IS NOT NULL
  696. THEN CASE
  697. WHEN ISNULL(@USERTYPE, 'HO') = 'HO'
  698. THEN '<a href="/Remit/CustomerSOA/CustomerSoaReceipt.aspx?rptFor=disabled&customerId=' + CAST(CM.CUSTOMERID AS VARCHAR) + '">View SOA</a>'
  699. ELSE '<a href="/AgentNew/CustomerSOA/CustomerSOA.aspx?rptFor=disabled&customerId=' + CAST(CM.CUSTOMERID AS VARCHAR) + '">View SOA</a>'
  700. END
  701. ELSE ''
  702. END
  703. FROM CUSTOMERMASTER cm(NOLOCK)
  704. LEFT JOIN (
  705. SELECT DISTINCT CUSTOMERID
  706. FROM TRANSENDERS S(NOLOCK)
  707. INNER JOIN REMITTRAN R(NOLOCK) ON R.ID = S.TRANID
  708. WHERE R.TRANSTATUS <> 'CANCEL'
  709. ) S ON S.CUSTOMERID = CM.CUSTOMERID
  710. LEFT JOIN countrymaster nativeCountry(NOLOCK) ON nativeCountry.countryId = cm.nativeCountry
  711. LEFT JOIN staticDataValue visaStatus(NOLOCK) ON visaStatus.valueId = cm.visaStatus
  712. LEFT JOIN staticDataValue occupation(NOLOCK) ON occupation.valueId = cm.occupation
  713. LEFT JOIN staticDataValue gender(NOLOCK) ON gender.valueId = cm.gender
  714. LEFT JOIN staticDataValue idType(NOLOCK) ON idType.valueId = cm.idType
  715. WHERE ISNULL(cm.ISACTIVE, 'Y') = 'N'
  716. AND ISNULL(cm.deletedDate, CM.CREATEDDATE) BETWEEN @FROM_DATE
  717. AND @TO_DATE + ' 23:59:59'
  718. EXEC proc_errorHandler '0'
  719. ,'Report has been prepared successfully.'
  720. ,NULL
  721. SELECT 'From Date' head
  722. ,@FROM_DATE VALUE
  723. UNION ALL
  724. SELECT 'To Date' head
  725. ,@TO_DATE VALUE
  726. SELECT 'Disabled Customers' title
  727. END
  728. END TRY
  729. BEGIN CATCH
  730. IF @@TRANCOUNT > 0
  731. ROLLBACK TRANSACTION
  732. SELECT '1' ErrorCode
  733. ,ERROR_MESSAGE() Msg
  734. ,NULL id
  735. END CATCH