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.

575 lines
45 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_tranAnalysisRptDom] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. CREATE procEDURE [dbo].[proc_tranAnalysisRptDom]
  9. @FLAG VARCHAR(20),
  10. @FROMDATE VARCHAR(20) = NULL,
  11. @TODATE VARCHAR(30) = NULL,
  12. @DATETYPE VARCHAR(5) = NULL,
  13. @SendingAgent VARCHAR(50) = NULL,
  14. @SendingCountry VARCHAR(50) = NULL,
  15. @SendingBranch VARCHAR(50) = NULL,
  16. @ReceivingCountry VARCHAR(50) = NULL,
  17. @ReecivingAgent VARCHAR(50) = NULL,
  18. @ReceivingBranch VARCHAR(50) = NULL,
  19. @Id VARCHAR(50) = NULL,
  20. @ReportType VARCHAR(50) = NULL,
  21. @GROUPBY VARCHAR(50) = NULL,
  22. @status VARCHAR(50) = NULL,
  23. @controlNo VARCHAR(50) = NULL,
  24. @sLocation VARCHAR(50) = NULL,
  25. @rLocation VARCHAR(50) = NULL,
  26. @rZone VARCHAR(50) = NULL,
  27. @rDistrict VARCHAR(50) = NULL,
  28. @sZone VARCHAR(50) = NULL,
  29. @sDistrict VARCHAR(50) = NULL,
  30. @tranType VARCHAR(50) = NULL,
  31. @USER VARCHAR(50) = NULL,
  32. @pageSize VARCHAR(50) = NULL,
  33. @pageNumber VARCHAR(50) = NULL,
  34. @groupById VARCHAR(200)= NULL,
  35. @searchBy VARCHAR(50) = NULL,
  36. @searchByText VARCHAR(200)= NULL,
  37. @fromTime VARCHAR(20) = NULL,
  38. @toTime VARCHAR(20) = NULL,
  39. @isExportFull VARCHAR(1) = NULL,
  40. @remitProduct VARCHAR(1) = NULL
  41. AS
  42. SET NOCOUNT ON;
  43. SET ANSI_NULLS ON;
  44. IF @status ='Unpaid'
  45. SET @status = 'Payment'
  46. IF @GROUPBY = 'Datewise'
  47. SET @FLAG = 'Datewise'
  48. DECLARE @DateCondition VARCHAR(50),
  49. @GroupCondition varchar(50),
  50. @ReportTypeCond VARCHAR(50),
  51. @SQL VARCHAR(MAX),
  52. @SQL1 VARCHAR(MAX),
  53. @GroupSelect VARCHAR(50),
  54. @GroupId VARCHAR(50),
  55. @Currency VARCHAR(50),
  56. @Amt VARCHAR(50),
  57. @statusField varchar(50),
  58. @Date VARCHAR(50)
  59. SET @fromDate = @fromDate+' '+@fromTime
  60. SET @toDate = @toDate+' '+@toTime
  61. SELECT @DateCondition = CASE
  62. WHEN @DATETYPE = 'S' THEN 'approvedDate'
  63. WHEN @DATETYPE = 'P' THEN 'paidDate'
  64. WHEN @DATETYPE = 'C' THEN 'cancelApprovedDate' END
  65. SELECT @GroupCondition = CASE
  66. WHEN @GROUPBY = 'SC' THEN 'sCountry'
  67. WHEN @GROUPBY = 'SZ' THEN 'SBRANCH.agentState'
  68. WHEN @GROUPBY = 'SD' THEN 'SBRANCH.agentDistrict'
  69. WHEN @GROUPBY = 'SL' THEN 'SLOC.districtName'
  70. WHEN @GROUPBY = 'SA' THEN 'sAgentName'
  71. WHEN @GROUPBY = 'SB' THEN 'sBranchName'
  72. WHEN @GROUPBY = 'RC' THEN 'pCountry'
  73. WHEN @GROUPBY = 'RZ' THEN 'PLOC.zoneName'
  74. WHEN @GROUPBY = 'RD' THEN 'PLOC.districtName'
  75. WHEN @GROUPBY = 'RL' THEN 'PLOC.locationName'
  76. WHEN @GROUPBY = 'RA' THEN 'pAgentName'
  77. WHEN @GROUPBY = 'RB' THEN 'pBranchName'
  78. WHEN @GROUPBY = 'Datewise' THEN 'CONVERT(VARCHAR,MAIN.'+@DateCondition+' ,101)' END
  79. ,@Currency = CASE
  80. WHEN @GROUPBY IN ('SC','SA','SB','SZ','SD','SL') THEN 'collCurr'
  81. WHEN @GROUPBY IN ('RC','RA','RB','RZ','RD','RL') THEN 'payoutCurr' END
  82. ,@Amt = CASE
  83. WHEN @GROUPBY IN ('SC','SA','SB','SZ','SD','SL') THEN 'tAmt'
  84. WHEN @GROUPBY IN ('RC','RA','RB','RZ','RD','RL') THEN 'pAmt' END
  85. ,@GroupSelect = CASE
  86. WHEN @GROUPBY = 'SC' THEN 'Sending Country'
  87. WHEN @GROUPBY = 'SZ' THEN 'Sending Zone'
  88. WHEN @GROUPBY = 'SD' THEN 'Sending District'
  89. WHEN @GROUPBY = 'SL' THEN 'Sending Location'
  90. WHEN @GROUPBY = 'SA' THEN 'Sending Agent'
  91. WHEN @GROUPBY = 'SB' THEN 'Sending Branch'
  92. WHEN @GROUPBY = 'RC' THEN 'Receiving Country'
  93. WHEN @GROUPBY = 'RZ' THEN 'Receiving Zone'
  94. WHEN @GROUPBY = 'RD' THEN 'Receiving District'
  95. WHEN @GROUPBY = 'RL' THEN 'Receiving Location'
  96. WHEN @GROUPBY = 'RA' THEN 'Receiving Agent'
  97. WHEN @GROUPBY = 'RB' THEN 'Receiving Branch'
  98. WHEN @GROUPBY = 'Datewise' THEN CASE WHEN @DATETYPE = 'S' THEN 'Send Date'
  99. WHEN @DATETYPE = 'P' THEN 'Paid Date'
  100. WHEN @DATETYPE = 'C' THEN 'Canecel Date' END
  101. WHEN @GROUPBY = 'detail' THEN CASE WHEN @DATETYPE = 'S' THEN 'Send Date'
  102. WHEN @DATETYPE = 'P' THEN 'Paid Date'
  103. WHEN @DATETYPE = 'C' THEN 'Canecel Date' END
  104. END
  105. ,@GroupId = CASE
  106. WHEN @GROUPBY = 'SC' THEN 'sCountry'
  107. WHEN @GROUPBY = 'SZ' THEN 'SBRANCH.agentState'
  108. WHEN @GROUPBY = 'SD' THEN 'SBRANCH.agentDistrict'
  109. WHEN @GROUPBY = 'SL' THEN 'SLOC.districtName'
  110. WHEN @GROUPBY = 'SA' THEN 'sAgent'
  111. WHEN @GROUPBY = 'SB' THEN 'sBranch'
  112. WHEN @GROUPBY = 'RC' THEN 'pCountry'
  113. WHEN @GROUPBY = 'RZ' THEN 'PLOC.zoneName'
  114. WHEN @GROUPBY = 'RD' THEN 'PLOC.districtName'
  115. WHEN @GROUPBY = 'RL' THEN 'PLOC.locationName'
  116. WHEN @GROUPBY = 'RA' THEN 'pAgent'
  117. WHEN @GROUPBY = 'RB' THEN 'pBranch'
  118. WHEN @GROUPBY = 'Datewise' THEN 'CONVERT(VARCHAR,MAIN.'+@DateCondition+' ,101)' END
  119. ,@ReportTypeCond = CASE
  120. WHEN @GROUPBY = 'SC' THEN 'sCountry'
  121. WHEN @GROUPBY = 'SZ' THEN 'SBRANCH.agentState'
  122. WHEN @GROUPBY = 'SD' THEN 'SBRANCH.agentDistrict'
  123. WHEN @GROUPBY = 'SL' THEN 'SBRANCH.agentLocation'
  124. WHEN @GROUPBY = 'SA' THEN 'sAgent'
  125. WHEN @GROUPBY = 'SB' THEN 'sBranch'
  126. WHEN @GROUPBY = 'RC' THEN 'pCountry'
  127. WHEN @GROUPBY = 'RZ' THEN 'PLOC.zoneId'
  128. WHEN @GROUPBY = 'RD' THEN 'PLOC.districtId'
  129. WHEN @GROUPBY = 'RL' THEN 'MAIN.pLocation'
  130. WHEN @GROUPBY = 'RA' THEN 'pAgent'
  131. WHEN @GROUPBY = 'RB' THEN 'pBranch'
  132. WHEN @GROUPBY = 'Datewise' THEN 'CONVERT(VARCHAR,MAIN.'+@DateCondition+' ,101)' END
  133. ,@statusField = CASE
  134. WHEN @status IN ('Unpaid','Paid') THEN 'payStatus'
  135. WHEN @status='Cancel' THEN 'tranStatus' END
  136. IF @controlNo IS NULL
  137. BEGIN
  138. IF @groupById IS NOT NULL OR @groupById<>''
  139. BEGIN
  140. IF @GROUPBY = 'sz'
  141. SET @sZone = @groupById
  142. IF @GROUPBY = 'sd'
  143. SET @sDistrict=@groupById
  144. IF @GROUPBY='sl'
  145. SET @sLocation=@groupById
  146. IF @GROUPBY='sa'
  147. SET @SendingAgent=@groupById
  148. IF @GROUPBY='sb'
  149. SET @SendingBranch=@groupById
  150. IF @GROUPBY='rz'
  151. SET @rZone=@groupById
  152. IF @GROUPBY='rd'
  153. SET @rDistrict=@groupById
  154. IF @GROUPBY='rl'
  155. SET @rLocation=@groupById
  156. IF @GROUPBY='ra'
  157. SET @ReecivingAgent=@groupById
  158. IF @GROUPBY='rb'
  159. SET @ReceivingBranch=@groupById
  160. IF @GROUPBY='Datewise'
  161. SET @Date=@groupById
  162. SET @GROUPBY='DETAIL'
  163. SET @FLAG='MAIN'
  164. SET @GroupSelect=CASE WHEN @DATETYPE = 'S' THEN 'Send Date'
  165. WHEN @DATETYPE = 'P' THEN 'Paid Date'
  166. WHEN @DATETYPE = 'C' THEN 'Canecel Date' END
  167. END
  168. IF @FLAG = 'MAIN' AND @GROUPBY = 'DETAIL'
  169. BEGIN
  170. SET @SQL ='SELECT
  171. [Control No] =''<a href = "#" onclick="OpenInNewWindow('''''+dbo.FNAGetURL()+'Remit/Transaction/Reports/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(main.id AS VARCHAR)+'''''')">''+dbo.FNADecryptString(controlNo)+''</a>''
  172. ,['+ @GroupSelect +'] = CONVERT(VARCHAR,MAIN.'+ @DATECONDITION +',101)
  173. ,[Sending Country] = sCountry
  174. ,[Sending Location] = SLOC.districtName
  175. ,[Sending Agent] = sAgentName
  176. ,[Sending Branch] = sBranchName
  177. ,[Sending Amt] = tAmt
  178. ,[Sending Currency] = collCurr
  179. ,[Status] = MAIN.tranStatus
  180. ,[Receiving Country] = ISNULL(pCountry,''-'')
  181. ,[Receiving Location] = PLOC.locationName
  182. ,[Receiving Agent] = ISNULL(pAgentName,''-'')
  183. ,[Receiving Branch] = ISNULL(pBranchName,''-'')
  184. ,[Receiving Amt] = pAmt
  185. ,[Receiving Currency] = payoutCurr
  186. ,[Tran Type] = MAIN.paymentMethod
  187. ,[Sender Name]=TSEND.firstName + ISNULL('' '' + TSEND.middleName, '''') + ISNULL('' '' + TSEND.lastName1, '''') + ISNULL('' '' + TSEND.lastName2,'''')
  188. ,[Receiver Name]=TREC.firstName + ISNULL('' '' + TREC.middleName, '''') + ISNULL('' '' + TREC.lastName1, '''') + ISNULL('' '' + TREC.lastName2, '''')
  189. FROM remitTran MAIN WITH(NOLOCK)
  190. LEFT JOIN agentMaster SBRANCH WITH(NOLOCK) ON SBRANCH.agentId=MAIN.sBranch
  191. LEFT JOIN agentMaster PBRANCH WITH(NOLOCK) ON PBRANCH.agentId=MAIN.pBranch
  192. LEFT JOIN api_districtList SLOC WITH(NOLOCK) ON SLOC.districtCode=SBRANCH.agentLocation
  193. LEFT JOIN vwZoneDistrictLocation PLOC WITH(NOLOCK) ON PLOC.locationId=MAIN.pLocation
  194. LEFT JOIN tranSenders TSEND WITH(NOLOCK) ON MAIN.id=TSEND.tranId
  195. LEFT JOIN tranReceivers TREC WITH(NOLOCK) ON MAIN.id=TREC.tranId
  196. WHERE MAIN.sCountry=''Nepal'' AND
  197. MAIN.'+ @DATECONDITION +' BETWEEN '''+ @FROMDATE +''' AND '''+ @TODATE +''''
  198. if @remitProduct = 'S'
  199. SET @SQL = @SQL + ' AND MAIN.tranType = ''D'' and TREC.stdCollegeId is null '
  200. if @remitProduct = 'T'
  201. SET @SQL = @SQL + ' AND MAIN.tranType = ''B'' '
  202. if @remitProduct = 'E'
  203. SET @SQL = @SQL + ' AND MAIN.tranType = ''D'' and TREC.stdCollegeId is not null '
  204. IF @SendingAgent IS NOT NULL
  205. SET @SQL = @SQL + ' AND sAgent = ''' + @SendingAgent + ''''
  206. IF @SendingBranch IS NOT NULL
  207. SET @SQL = @SQL + ' AND sBranch = '''+ @SendingBranch +''''
  208. IF @ReecivingAgent IS NOT NULL
  209. SET @SQL = @SQL + ' AND pAgent = ''' + @ReecivingAgent + ''''
  210. IF @ReceivingBranch IS NOT NULL
  211. SET @SQL = @SQL + 'AND pBranch = '''+ @ReceivingBranch +''''
  212. IF @status IS NOT NULL
  213. SET @SQL = @SQL + 'AND tranStatus = '''+ @status +''''
  214. IF @sLocation IS NOT NULL
  215. SET @SQL = @SQL + 'AND SBRANCH.agentLocation = '''+ @sLocation +''''
  216. IF @rLocation IS NOT NULL
  217. SET @SQL = @SQL + 'AND pLocation = '''+ @rLocation +''''
  218. IF @sZone IS NOT NULL
  219. SET @SQL = @SQL + 'AND SBRANCH.agentState = '''+ @sZone +''''
  220. IF @rZone IS NOT NULL
  221. SET @SQL = @SQL + 'AND PLOC.zoneName = '''+ @rZone +''''
  222. IF @sDistrict IS NOT NULL
  223. SET @SQL = @SQL + 'AND SBRANCH.agentDistrict = '''+ @sDistrict +''''
  224. IF @rDistrict IS NOT NULL
  225. SET @SQL = @SQL + 'AND PLOC.districtName = '''+ @rDistrict +''''
  226. IF @tranType IS NOT NULL
  227. SET @SQL = @SQL + 'AND MAIN.paymentMethod = '''+ @tranType +''''
  228. IF @searchByText IS NOT NULL AND @searchBy ='sender'
  229. SET @SQL =@SQL+ ' AND TSEND.firstName LIKE ''%' + @searchByText + '%'''
  230. IF @searchByText IS NOT NULL AND @searchBy ='receiver'
  231. SET @SQL =@SQL+ ' AND TREC.firstName LIKE ''%' + @searchByText + '%'''
  232. IF @searchByText IS NOT NULL AND @searchBy ='cAmt'
  233. SET @SQL =@SQL+ ' AND MAIN.cAmt = ' + @searchByText + ''
  234. IF @searchByText IS NOT NULL AND @searchBy ='pAmt'
  235. SET @SQL =@SQL+ ' AND MAIN.pAmt = ' + @searchByText + ''
  236. IF @searchByText IS NOT NULL AND @searchBy ='extCustomerId'
  237. SET @SQL =@SQL+ ' AND TSEND.extCustomerId = ' + @searchByText + ''
  238. IF @Date IS NOT NULL
  239. SET @SQL = @SQL + 'AND convert(varchar,MAIN.'+ @DATECONDITION +',101) = convert(varchar,'''+ @Date +''',101)'
  240. END
  241. IF @FLAG = 'Datewise'
  242. BEGIN
  243. SET @SQL = 'SELECT
  244. '+@ReportTypeCond+' [groupBy]
  245. ,'+ @GroupCondition +' ['+ @GroupSelect +']
  246. ,COUNT(*) [Txn Count]
  247. ,SUM(pAmt) [Txn Amount]
  248. FROM remitTran MAIN WITH(NOLOCK)
  249. LEFT JOIN agentMaster SBRANCH WITH(NOLOCK) ON SBRANCH.agentId=MAIN.sBranch
  250. LEFT JOIN agentMaster PBRANCH WITH(NOLOCK) ON PBRANCH.agentId=MAIN.pBranch
  251. LEFT JOIN api_districtList SLOC WITH(NOLOCK) ON SLOC.districtCode=SBRANCH.agentLocation
  252. LEFT JOIN vwZoneDistrictLocation PLOC WITH(NOLOCK) ON PLOC.locationId=MAIN.pLocation
  253. LEFT JOIN tranSenders TSEND WITH(NOLOCK) ON MAIN.id=TSEND.tranId
  254. LEFT JOIN tranReceivers TREC WITH(NOLOCK) ON MAIN.id=TREC.tranId
  255. WHERE MAIN.sCountry=''Nepal'' and
  256. MAIN.'+ @DATECONDITION +' BETWEEN '''+ @FROMDATE +''' AND '''+ @TODATE +''''
  257. if @remitProduct = 'S'
  258. SET @SQL = @SQL + ' AND MAIN.tranType = ''D'' and TREC.stdCollegeId is null '
  259. if @remitProduct = 'T'
  260. SET @SQL = @SQL + ' AND MAIN.tranType = ''B'' '
  261. if @remitProduct = 'E'
  262. SET @SQL = @SQL + ' AND MAIN.tranType = ''D'' and TREC.stdCollegeId is not null '
  263. IF @SendingAgent IS NOT NULL
  264. SET @SQL = @SQL + ' AND sAgent = ''' + @SendingAgent + ''''
  265. IF @SendingBranch IS NOT NULL
  266. SET @SQL = @SQL + ' AND sBranch = '''+ @SendingBranch +''''
  267. IF @ReecivingAgent IS NOT NULL
  268. SET @SQL = @SQL + ' AND pAgent = ''' + @ReecivingAgent + ''''
  269. IF @ReceivingBranch IS NOT NULL
  270. SET @SQL = @SQL + 'AND pBranch = '''+ @ReceivingBranch +''''
  271. IF @status IS NOT NULL
  272. SET @SQL = @SQL + 'AND tranStatus = '''+ @status +''''
  273. IF @sLocation IS NOT NULL
  274. SET @SQL = @SQL + 'AND SBRANCH.agentLocation = '''+ @sLocation +''''
  275. IF @rLocation IS NOT NULL
  276. SET @SQL = @SQL + 'AND pLocation = '''+ @rLocation +''''
  277. IF @sZone IS NOT NULL
  278. SET @SQL = @SQL + 'AND SBRANCH.agentState = '''+ @sZone +''''
  279. IF @rZone IS NOT NULL
  280. SET @SQL = @SQL + 'AND PLOC.zoneName = '''+ @rZone +''''
  281. IF @sDistrict IS NOT NULL
  282. SET @SQL = @SQL + 'AND SBRANCH.agentDistrict = '''+ @sDistrict +''''
  283. IF @rDistrict IS NOT NULL
  284. SET @SQL = @SQL + 'AND PLOC.districtName = '''+ @rDistrict +''''
  285. IF @tranType IS NOT NULL
  286. SET @SQL = @SQL + 'AND MAIN.paymentMethod = '''+ @tranType +''''
  287. IF @searchByText IS NOT NULL AND @searchBy ='sender'
  288. SET @SQL =@SQL+ ' AND TSEND.firstName LIKE ''%' + @searchByText + '%'''
  289. IF @searchByText IS NOT NULL AND @searchBy ='receiver'
  290. SET @SQL =@SQL+ ' AND TREC.firstName LIKE ''%' + @searchByText + '%'''
  291. IF @searchByText IS NOT NULL AND @searchBy ='cAmt'
  292. SET @SQL =@SQL+ ' AND MAIN.cAmt = ' + @searchByText + ''
  293. IF @searchByText IS NOT NULL AND @searchBy ='pAmt'
  294. SET @SQL =@SQL+ ' AND MAIN.pAmt = ' + @searchByText + ''
  295. IF @searchByText IS NOT NULL AND @searchBy ='extCustomerId'
  296. SET @SQL =@SQL+ ' AND TSEND.extCustomerId = ' + @searchByText + ''
  297. SET @SQL = @SQL + ' GROUP BY '+ @GroupCondition +''
  298. END
  299. IF @FLAG = 'MAIN' AND @GROUPBY <>'DETAIL'
  300. BEGIN
  301. SET @SQL = 'SELECT
  302. '+@ReportTypeCond+' [groupBy]
  303. ,['+ @GroupSelect +'] ='+ @GroupCondition +'
  304. ,COUNT(*) [Txn Count]
  305. ,SUM('+@Amt+') [Txn Amount]
  306. FROM remitTran MAIN WITH(NOLOCK)
  307. LEFT JOIN agentMaster SBRANCH WITH(NOLOCK) ON SBRANCH.agentId=MAIN.sBranch
  308. LEFT JOIN agentMaster PBRANCH WITH(NOLOCK) ON PBRANCH.agentId=MAIN.pBranch
  309. LEFT JOIN api_districtList SLOC WITH(NOLOCK) ON SLOC.districtCode=SBRANCH.agentLocation
  310. LEFT JOIN vwZoneDistrictLocation PLOC WITH(NOLOCK) ON PLOC.locationId=MAIN.pLocation
  311. LEFT JOIN tranSenders TSEND WITH(NOLOCK) ON MAIN.id=TSEND.tranId
  312. LEFT JOIN tranReceivers TREC WITH(NOLOCK) ON MAIN.id=TREC.tranId
  313. WHERE ISNULL(MAIN.sCountry,'''')=''Nepal'' AND
  314. MAIN.'+ @DATECONDITION +' BETWEEN '''+ @FROMDATE +''' AND '''+ @TODATE +''''
  315. if @remitProduct = 'S'
  316. SET @SQL = @SQL + ' AND MAIN.tranType = ''D'' and TREC.stdCollegeId is null '
  317. if @remitProduct = 'T'
  318. SET @SQL = @SQL + ' AND MAIN.tranType = ''B'' '
  319. if @remitProduct = 'E'
  320. SET @SQL = @SQL + ' AND MAIN.tranType = ''D'' and TREC.stdCollegeId is not null '
  321. IF @SendingAgent IS NOT NULL
  322. SET @SQL = @SQL + ' AND sAgent = ''' + @SendingAgent + ''''
  323. IF @SendingBranch IS NOT NULL
  324. SET @SQL = @SQL + ' AND sBranch = '''+ @SendingBranch +''''
  325. IF @ReecivingAgent IS NOT NULL
  326. SET @SQL = @SQL + ' AND pAgent = ''' + @ReecivingAgent + ''''
  327. IF @ReceivingBranch IS NOT NULL
  328. SET @SQL = @SQL + 'AND pBranch = '''+ @ReceivingBranch +''''
  329. IF @status IS NOT NULL
  330. SET @SQL = @SQL + 'AND tranStatus = '''+ @status +''''
  331. IF @sLocation IS NOT NULL
  332. SET @SQL = @SQL + 'AND SBRANCH.agentLocation = '''+ @sLocation +''''
  333. IF @rLocation IS NOT NULL
  334. SET @SQL = @SQL + 'AND pLocation = '''+ @rLocation +''''
  335. IF @sZone IS NOT NULL
  336. SET @SQL = @SQL + 'AND SBRANCH.agentState = '''+ @sZone +''''
  337. IF @rZone IS NOT NULL
  338. SET @SQL = @SQL + 'AND PLOC.zoneName = '''+ @rZone +''''
  339. IF @sDistrict IS NOT NULL
  340. SET @SQL = @SQL + 'AND SBRANCH.agentDistrict = '''+ @sDistrict +''''
  341. IF @rDistrict IS NOT NULL
  342. SET @SQL = @SQL + ' AND PLOC.districtName = '''+ @rDistrict +''''
  343. IF @tranType IS NOT NULL
  344. SET @SQL = @SQL + ' AND MAIN.paymentMethod = '''+ @tranType +''''
  345. IF @Id IS NOT NULL
  346. SET @SQL = @SQL + ' AND '+ @ReportTypeCond +' = '''+ @Id +''''
  347. IF @searchByText IS NOT NULL AND @searchBy ='sender'
  348. SET @SQL =@SQL+ ' AND TSEND.firstName LIKE ''%' + @searchByText + '%'''
  349. IF @searchByText IS NOT NULL AND @searchBy ='receiver'
  350. SET @SQL =@SQL+ ' AND TREC.firstName LIKE ''%' + @searchByText + '%'''
  351. IF @searchByText IS NOT NULL AND @searchBy ='cAmt'
  352. SET @SQL =@SQL+ ' AND MAIN.cAmt = ' + @searchByText + ''
  353. IF @searchByText IS NOT NULL AND @searchBy ='pAmt'
  354. SET @SQL =@SQL+ ' AND MAIN.pAmt = ' + @searchByText + ''
  355. IF @searchByText IS NOT NULL AND @searchBy ='extCustomerId'
  356. SET @SQL =@SQL+ ' AND TSEND.extCustomerId = ' + @searchByText + ''
  357. SET @SQL = @SQL + ' GROUP BY '+ @GroupCondition +','+@ReportTypeCond+''
  358. END
  359. END
  360. ELSE -- ### IF CONTROL NUMBER IS CHOOSEN
  361. BEGIN
  362. IF @FLAG = 'MAIN'
  363. BEGIN
  364. SET @SQL ='SELECT
  365. [Control No] =''<a href = "#" onclick="OpenInNewWindow('''''+dbo.FNAGetURL()+'/Remit/Transaction/Reports/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(main.id AS VARCHAR)+'''''')">''+dbo.FNADecryptString(controlNo)+''</a>''
  366. ,['+ @GroupSelect +'] = CONVERT(VARCHAR,MAIN.'+ @DATECONDITION +',101)
  367. ,[Sending Country] = sCountry
  368. ,[Sending Location] = SLOC.districtName
  369. ,[Sending Agent] = sAgentName
  370. ,[Sending Branch] = sBranchName
  371. ,[Sending Amt] = tAmt
  372. ,[Sending Currency] = collCurr
  373. ,[Status] = MAIN.tranStatus
  374. ,[Receiving Country] = ISNULL(pCountry,''-'')
  375. ,[Receiving Location] = PLOC.locationName
  376. ,[Receiving Agent] = ISNULL(pAgentName,''-'')
  377. ,[Receiving Branch] = ISNULL(pBranchName,''-'')
  378. ,[Receiving Amt] = pAmt
  379. ,[Receiving Currency] = payoutCurr
  380. ,[Tran Type] = MAIN.paymentMethod
  381. ,[Sender Name]=TSEND.firstName + ISNULL('' '' + TSEND.middleName, '''') + ISNULL('' '' + TSEND.lastName1, '''') + ISNULL('' '' + TSEND.lastName2,'''')
  382. ,[Receiver Name]=TREC.firstName + ISNULL('' '' + TREC.middleName, '''') + ISNULL('' '' + TREC.lastName1, '''') + ISNULL('' '' + TREC.lastName2, '''')
  383. FROM remitTran MAIN WITH(NOLOCK)
  384. LEFT JOIN agentMaster SBRANCH WITH(NOLOCK) ON SBRANCH.agentId=MAIN.sBranch
  385. LEFT JOIN agentMaster PBRANCH WITH(NOLOCK) ON PBRANCH.agentId=MAIN.pBranch
  386. LEFT JOIN api_districtList SLOC WITH(NOLOCK) ON SLOC.districtCode=SBRANCH.agentLocation
  387. LEFT JOIN vwZoneDistrictLocation PLOC WITH(NOLOCK) ON PLOC.locationId=MAIN.pLocation
  388. LEFT JOIN tranSenders TSEND WITH(NOLOCK) ON MAIN.id=TSEND.tranId
  389. LEFT JOIN tranReceivers TREC WITH(NOLOCK) ON MAIN.id=TREC.tranId
  390. WHERE ISNULL(MAIN.sCountry,'''')=''Nepal'' AND
  391. MAIN.controlNo = '''+ dbo.FNAEncryptString(@controlNo) +''''
  392. if @remitProduct = 'S'
  393. SET @SQL = @SQL + ' AND MAIN.tranType = ''D'' and TREC.stdCollegeId is null '
  394. if @remitProduct = 'T'
  395. SET @SQL = @SQL + ' AND MAIN.tranType = ''B'' '
  396. if @remitProduct = 'E'
  397. SET @SQL = @SQL + ' AND MAIN.tranType = ''D'' and TREC.stdCollegeId is not null '
  398. END
  399. END
  400. IF OBJECT_ID('tempdb..##TEMP_TABLE') IS NOT NULL
  401. DROP TABLE ##TEMP_TABLE
  402. DECLARE @SQL2 AS VARCHAR(MAX)
  403. SET @SQL2='SELECT ROW_NUMBER() OVER (ORDER BY ['+@GroupSelect+']) AS [S.N.],*
  404. INTO ##TEMP_TABLE
  405. FROM
  406. (
  407. '+ @SQL +'
  408. ) AS aa ORDER BY ['+@GroupSelect+'] '
  409. EXEC(@SQL2)
  410. IF @isExportFull = 'Y'
  411. BEGIN
  412. SET @SQL1='SELECT * FROM ##TEMP_TABLE'
  413. END
  414. ELSE
  415. BEGIN
  416. SET @SQL1='
  417. SELECT COUNT(''a'') AS TXNCOUNT,'+@pageSize+' PAGESIZE,'+@pageNumber+' PAGENUMBER FROM ##TEMP_TABLE
  418. SELECT * FROM ##TEMP_TABLE WHERE [S.N.] BETWEEN (('+@pageNumber+' - 1) * '+@pageSize+' + 1) AND '+@pageNumber+' * '+@pageSize+''
  419. END
  420. EXEC(@SQL1)
  421. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  422. SELECT 'GROUP BY ' head ,@GroupSelect value
  423. UNION ALL
  424. SELECT 'DATE TYPE ' head,CASE WHEN @DATETYPE = 'S' THEN 'Sending Date'
  425. WHEN @DATETYPE = 'P' THEN 'Paid Date'
  426. WHEN @DATETYPE = 'C' THEN 'Cancel Date' END value
  427. UNION ALL
  428. SELECT 'FROM DATE ' head, CONVERT(VARCHAR, @fromDate, 101) value
  429. UNION ALL
  430. SELECT 'TO DATE ' head, CONVERT(VARCHAR, @toDate, 101) value
  431. UNION ALL
  432. SELECT 'TRAN STATUS ' head, ISNULL(@status,'All') value
  433. UNION ALL
  434. SELECT 'TRAN TYPE ' head, ISNULL(@tranType,'All') value
  435. UNION ALL
  436. SELECT 'Remit Product ' head, (SELECT CASE WHEN @remitProduct ='S' THEN 'Normal Send'
  437. WHEN @remitProduct ='T' THEN 'Topup'
  438. WHEN @remitProduct ='E' THEN 'Edu Pay'
  439. ELSE 'All' END) value
  440. UNION ALL
  441. SELECT 'SEARCH BY TEXT ' head, ISNULL(@searchByText,'All') value
  442. UNION ALL
  443. SELECT 'SEARCH BY ' head,CASE WHEN @searchByText IS NULL THEN 'N/A' ELSE @searchBy END value
  444. UNION ALL
  445. SELECT 'CONTROL NO ' head, ISNULL(@controlNo,'N/A') value
  446. UNION ALL
  447. SELECT 'SENDING COUNTRY' head,ISNULL(@SendingCountry,'All')
  448. UNION ALL
  449. SELECT 'SENDING ZONE ' head,isnull(@sZone,'All')
  450. UNION ALL
  451. SELECT 'SENDING DISTRICT ' head,isnull(@sDistrict,'All')
  452. UNION ALL
  453. SELECT 'SENDING LOCATION ' head,ISNULL((select districtName from api_districtList where districtCode=@sLocation),'All')
  454. UNION ALL
  455. SELECT 'SENDING AGENT ' head,ISNULL((SELECT agentName FROM agentMaster with(nolock) WHERE agentId = @SendingAgent),'All')
  456. UNION ALL
  457. SELECT 'SENDING BRANCH ' head,ISNULL((SELECT agentName FROM agentMaster with(nolock) WHERE agentId = @SendingBranch),'All')
  458. UNION ALL
  459. SELECT 'RECEIVING COUNTRY ' head,ISNULL(@ReceivingCountry,'All')
  460. UNION ALL
  461. SELECT 'RECEIVING ZONE ' head,isnull(@rZone,'All')
  462. UNION ALL
  463. SELECT 'RECEIVING DISTRICT ' head,isnull(@rDistrict,'All')
  464. UNION ALL
  465. SELECT 'RECEIVING LOCATION ' head,ISNULL((select districtName from api_districtList where districtCode=@rLocation),'All')
  466. UNION ALL
  467. SELECT 'RECEIVING AGENT ' head,ISNULL((SELECT agentName FROM agentMaster with(nolock) WHERE agentId = @ReecivingAgent),'All')
  468. UNION ALL
  469. SELECT 'RECEIVING BRANCH ' head,ISNULL((SELECT agentName FROM agentMaster with(nolock) WHERE agentId = @ReceivingBranch),'All')
  470. SELECT 'TRANSACTION ANALYSIS REPORT- (DOMESTIC) ' title
  471. GO