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.

702 lines
51 KiB

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