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.

770 lines
44 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_ncellFreeSimCampaign] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. /*
  9. IF EXISTS (SELECT 'x' FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[proc_ncellFreeSimCampaign]') AND TYPE IN (N'P', N'PC'))
  10. DROP PROCEDURE [dbo].proc_ncellFreeSimCampaign
  11. GO
  12. */
  13. /*
  14. select * from ncellFreeSimCampaign
  15. truncate table ncellFreeSimCampaign
  16. */
  17. CREATE proc [dbo].[proc_ncellFreeSimCampaign]
  18. @flag VARCHAR(50) = NULL
  19. ,@user VARCHAR(30) = NULL
  20. ,@rowId INT = NULL
  21. ,@controlNo VARCHAR(50) = NULL
  22. ,@agentId VARCHAR(50) = NULL
  23. ,@firstName VARCHAR(200) = NULL
  24. ,@lastName VARCHAR(200) = NULL
  25. ,@mobileNo VARCHAR(50) = NULL
  26. ,@country VARCHAR(50) = NULL
  27. ,@zone VARCHAR(50) = NULL
  28. ,@district VARCHAR(50) = NULL
  29. ,@idType VARCHAR(100) = NULL
  30. ,@idNumber VARCHAR(100) = NULL
  31. ,@idIssueDate DATETIME = NULL
  32. ,@vdcMunicipality VARCHAR(MAX) = NULL
  33. ,@contactNumber VARCHAR(50) = NULL
  34. ,@agentName VARCHAR(200) = NULL
  35. ,@tranType VARCHAR(10) = NULL
  36. ,@fromDate VARCHAR(20) = NULL
  37. ,@fromTime varchar(20) = NULL
  38. ,@toDate VARCHAR(20) = NULL
  39. ,@toTime VARCHAR(20) = NULL
  40. ,@filePath VARCHAR(500) = NULL
  41. ,@sortBy VARCHAR(50) = NULL
  42. ,@sortOrder VARCHAR(5) = NULL
  43. ,@pageSize INT = NULL
  44. ,@pageNumber INT = NULL
  45. AS
  46. SET NOCOUNT ON
  47. SET XACT_ABORT ON
  48. BEGIN TRY
  49. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  50. DECLARE
  51. @sql VARCHAR(MAX)
  52. ,@oldValue VARCHAR(MAX)
  53. ,@newValue VARCHAR(MAX)
  54. ,@module VARCHAR(10)
  55. ,@tableAlias VARCHAR(100)
  56. ,@logIdentifier VARCHAR(50)
  57. ,@logParamMod VARCHAR(100)
  58. ,@logParamMain VARCHAR(100)
  59. ,@table VARCHAR(MAX)
  60. ,@select_field_list VARCHAR(MAX)
  61. ,@extra_field_list VARCHAR(MAX)
  62. ,@sql_filter VARCHAR(MAX)
  63. ,@modType VARCHAR(6)
  64. ,@encryptControlNo VARCHAR(100)
  65. ,@tranId INT
  66. SELECT
  67. @logIdentifier = 'id'
  68. ,@logParamMain = 'ncellFreeSimCampaign'
  69. ,@logParamMod = 'ncellFreeSimCampaign'
  70. ,@module = '40'
  71. ,@tableAlias = 'Ncell Free Sim Campaign'
  72. SET @controlNo = LTRIM(RTRIM(UPPER(@controlNo)))
  73. SELECT @encryptControlNo=dbo.FNAEncryptString(@controlNo)
  74. if @flag not in ('report','rptExport','rptSummary')
  75. begin
  76. IF @agentId IS NULL
  77. SELECT @agentId=agentId
  78. FROM applicationUsers WITH(NOLOCK) WHERE userName=@user
  79. end
  80. IF @tranId IS NULL
  81. SELECT @tranId=id
  82. FROM remitTran WITH(NOLOCK) WHERE controlNo = @encryptControlNo
  83. --EXEC proc_ncellFreeSimCampaign @flag = 'c', @controlNo = '7167095679D', @agentId = '4616', @user = 'testagenta'
  84. IF @flag='c'
  85. BEGIN
  86. IF NOT EXISTS(SELECT 'X' FROM remitTran WITH(NOLOCK) WHERE controlNo = @encryptControlNo)
  87. BEGIN
  88. EXEC proc_errorHandler 1, 'Transaction Not Found', @encryptControlNo
  89. RETURN
  90. END
  91. SELECT @encryptControlNo=dbo.FNAEncryptString(@controlNo)
  92. IF EXISTS(SELECT 'X' FROM remitTran WITH(NOLOCK) WHERE sBranch = @agentId and controlNo = @encryptControlNo)
  93. BEGIN
  94. SET @tranType='Send'
  95. END
  96. IF EXISTS(SELECT 'X' FROM remitTran WITH(NOLOCK) WHERE pBranch = @agentId and controlNo = @encryptControlNo)
  97. BEGIN
  98. SET @tranType='Paid'
  99. END
  100. IF @tranType IS NULL
  101. BEGIN
  102. EXEC proc_errorHandler 1, 'Transaction Not Found', @encryptControlNo
  103. RETURN
  104. END
  105. IF EXISTS(SELECT 'X' FROM ncellFreeSimCampaign WITH(nolock)
  106. where agentId=@agentId and tranType=@tranType and controlNo=@controlNo)
  107. BEGIN
  108. EXEC proc_errorHandler 1, 'Already Got Free SIM!', @encryptControlNo
  109. RETURN
  110. END
  111. EXEC proc_errorHandler 0, 'Transaction Found!', @tranType
  112. RETURN
  113. END
  114. IF @flag='LoadByTxn'
  115. BEGIN
  116. --EXEC proc_ncellFreeSimCampaign @flag = 'LoadByTxn', @controlNo = '7167095679D'
  117. DECLARE @fullname VARCHAR(150)='Ram', @pos INT, @stringB VARCHAR(100)
  118. IF @tranType='Send'
  119. SELECT @fullname=
  120. LTRIM(RTRIM(ISNULL(firstName,'')))+' '+LTRIM(RTRIM(ISNULL(middleName,'')))+ ' '+ LTRIM(RTRIM(ISNULL(lastName1,'')))+' '+LTRIM(RTRIM(ISNULL(lastName2,'')))
  121. FROM tranSenders WITH(NOLOCK) WHERE tranId=@tranId
  122. ELSE
  123. SELECT @fullname=
  124. LTRIM(RTRIM(ISNULL(firstName,'')))+' '+LTRIM(RTRIM(ISNULL(middleName,'')))+ ' '+ LTRIM(RTRIM(ISNULL(lastName1,'')))+' '+LTRIM(RTRIM(ISNULL(lastName2,'')))
  125. FROM tranReceivers WITH(NOLOCK) WHERE tranId=@tranId
  126. SELECT @fullname=UPPER(LTRIM(RTRIM(REPLACE(@fullname,'.',''))))
  127. IF CHARINDEX(' ',@fullname)=0
  128. BEGIN
  129. SELECT @fullname firstname , '' lastname1
  130. END
  131. ELSE
  132. BEGIN
  133. SET @pos = LEN(@fullname) - CHARINDEX (' ',REVERSE(@fullname))
  134. SELECT @stringB= LTRIM(RTRIM(SUBSTRING(@fullname,@pos+2,50)))
  135. SELECT LTRIM(RTRIM(LEFT(@fullname,LEN(@fullname)-LEN(@stringB)))) firstName, @stringB lastName1
  136. END
  137. END
  138. IF @flag = 'i'
  139. BEGIN
  140. IF @user IS NULL
  141. BEGIN
  142. EXEC proc_errorHandler 1, 'Your session has expired. Please try after a while', NULL
  143. RETURN
  144. END
  145. IF @agentId IS NULL
  146. BEGIN
  147. SELECT @agentId = agentId FROM applicationUsers WITH(NOLOCK) WHERE userName = @user
  148. END
  149. IF EXISTS(SELECT 'X' FROM ncellFreeSimCampaign WITH(NOLOCK) WHERE tranType = @tranType and controlNo = @controlNo)
  150. BEGIN
  151. EXEC proc_errorHandler 1, 'Already Got Free SIM!', @encryptControlNo
  152. RETURN
  153. END
  154. IF LEN(@mobileNo) <> 10
  155. BEGIN
  156. EXEC proc_errorHandler 1, 'Mobile Number must be of 10 digit', @encryptControlNo
  157. RETURN
  158. END
  159. IF EXISTS(SELECT 'X' FROM ncellFreeSimCampaign
  160. WITH(NOLOCK) WHERE mobileNo=@mobileNo)
  161. BEGIN
  162. EXEC proc_errorHandler 1, 'Already Got This Mobile Number SIM!', @encryptControlNo
  163. RETURN
  164. END
  165. IF @idIssueDate IS NULL
  166. BEGIN
  167. EXEC proc_errorHandler 1, 'Id Issue Date missing', NULL
  168. RETURN
  169. END
  170. IF LEFT(@mobileNo,3) NOT IN ('980','981')
  171. BEGIN
  172. EXEC proc_errorHandler 1, 'Invalid Mobile (Sim) Number!', NULL
  173. RETURN
  174. END
  175. BEGIN TRANSACTION
  176. IF @contactNumber = '' OR @contactNumber IS NULL
  177. BEGIN
  178. SELECT @contactNumber=LTRIM(RTRIM(a.agentPhone1))
  179. FROM agentMaster a WITH(NOLOCK) WHERE agentId=@agentId
  180. IF @contactNumber IS NULL OR @contactNumber=''
  181. SELECT @contactNumber=LTRIM(RTRIM(a.agentMobile1))
  182. FROM agentMaster a WITH(NOLOCK) WHERE agentId=@agentId
  183. END
  184. INSERT INTO ncellFreeSimCampaign (
  185. controlNo
  186. ,tranType
  187. ,agentId
  188. ,firstName
  189. ,lastName
  190. ,mobileNo
  191. ,country
  192. ,zone
  193. ,district
  194. ,idType
  195. ,idNumber
  196. ,idIssueDate
  197. ,vdcMunicipality
  198. ,contactNo
  199. ,createdDate
  200. ,createdBy
  201. )
  202. SELECT
  203. @controlNo
  204. ,@tranType
  205. ,@agentId
  206. ,@firstName
  207. ,@lastName
  208. ,@mobileNo
  209. ,@country
  210. ,@zone
  211. ,@district
  212. ,@idType
  213. ,@idNumber
  214. ,@idIssueDate
  215. ,@vdcMunicipality
  216. ,@contactNumber
  217. ,dbo.FNAGetDateInNepalTZ()
  218. ,@user
  219. SET @modType = 'Insert'
  220. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @rowId , @newValue OUTPUT
  221. INSERT INTO #msg(errorCode, msg, id)
  222. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  223. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  224. BEGIN
  225. IF @@TRANCOUNT > 0
  226. ROLLBACK TRANSACTION
  227. EXEC proc_errorHandler 1, 'Failed to add new record.', @rowId
  228. RETURN
  229. END
  230. IF @@TRANCOUNT > 0
  231. COMMIT TRANSACTION
  232. EXEC proc_errorHandler 0, 'SIM Detail has been added successfully.', @rowId
  233. END
  234. ELSE IF @flag = 'a'
  235. BEGIN
  236. SELECT
  237. a.id
  238. ,a.firstName
  239. ,a.lastName
  240. ,a.controlNo
  241. ,a.mobileNo
  242. ,a.country
  243. ,a.zone
  244. ,a.district
  245. ,a.idType
  246. ,a.idNumber
  247. ,CONVERT(VARCHAR,a.idIssueDate,101) idIssueDate
  248. ,b.agentName agentName
  249. ,vdcMunicipality
  250. FROM ncellFreeSimCampaign a WITH(NOLOCK) INNER JOIN agentMaster b WITH(NOLOCK)
  251. ON a.agentId=b.agentId
  252. WHERE id=@rowId
  253. END
  254. ELSE IF @flag = 'u'
  255. BEGIN
  256. IF EXISTS(SELECT 'X' FROM ncellFreeSimCampaign WITH(NOLOCK) WHERE tranType = @tranType and controlNo = @controlNo)
  257. BEGIN
  258. EXEC proc_errorHandler 1, 'Already Got Free SIM!', @encryptControlNo
  259. RETURN
  260. END
  261. IF LEN(@mobileNo) <> 10
  262. BEGIN
  263. EXEC proc_errorHandler 1, 'Mobile Number must be of 10 digit', @encryptControlNo
  264. RETURN
  265. END
  266. BEGIN TRANSACTION
  267. UPDATE ncellFreeSimCampaign SET
  268. firstName = @firstName
  269. ,lastName = @lastName
  270. ,mobileNo = @mobileNo
  271. ,country = @country
  272. ,zone = @zone
  273. ,district = @district
  274. ,idType = @idType
  275. ,idNumber = @idNumber
  276. ,idIssueDate = @idIssueDate
  277. ,vdcMunicipality= @vdcMunicipality
  278. ,modifiedBy = @user
  279. ,modifiedDate = dbo.FNAGetDateInNepalTZ()
  280. WHERE id = @rowId
  281. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @rowId, @newValue OUTPUT
  282. INSERT INTO #msg(errorCode, msg, id)
  283. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  284. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  285. BEGIN
  286. IF @@TRANCOUNT > 0
  287. ROLLBACK TRANSACTION
  288. EXEC proc_errorHandler 1, 'Failed to update record.', @rowId
  289. RETURN
  290. END
  291. IF @@TRANCOUNT > 0
  292. COMMIT TRANSACTION
  293. EXEC proc_errorHandler 0, 'SIM Detail updated successfully.', @rowId
  294. END
  295. ELSE IF @flag = 'd'
  296. BEGIN
  297. BEGIN TRANSACTION
  298. UPDATE ncellFreeSimCampaign SET
  299. isDeleted = 'Y'
  300. ,modifiedDate = GETDATE()
  301. ,modifiedBy = @user
  302. WHERE id = @rowId
  303. SET @modType = 'Delete'
  304. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @rowId, @oldValue OUTPUT
  305. INSERT INTO #msg(errorCode, msg, id)
  306. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  307. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  308. BEGIN
  309. IF @@TRANCOUNT > 0
  310. ROLLBACK TRANSACTION
  311. EXEC proc_errorHandler 1, 'Failed to delete record.', @rowId
  312. RETURN
  313. END
  314. IF @@TRANCOUNT > 0
  315. COMMIT TRANSACTION
  316. EXEC proc_errorHandler 0, 'Record deleted successfully.', @rowId
  317. END
  318. ELSE IF @flag = 's'
  319. BEGIN
  320. IF @sortBy IS NULL
  321. SET @sortBy = 'id'
  322. IF @sortOrder IS NULL
  323. SET @sortOrder = 'ASC'
  324. SET @table = '(
  325. SELECT
  326. main.id
  327. ,main.controlNo
  328. ,agMas.agentName
  329. ,main.tranType
  330. ,main.firstName
  331. ,main.lastName
  332. ,main.mobileNo
  333. ,main.country
  334. ,main.zone
  335. ,main.district
  336. ,main.idType
  337. ,main.idNumber
  338. ,main.idIssueDate
  339. ,main.vdcMunicipality
  340. ,main.contactNo
  341. ,main.createdDate
  342. ,main.createdBy
  343. FROM ncellFreeSimCampaign main WITH(NOLOCK) inner join agentMaster agMas with(nolock) on main.agentId=agMas.agentId
  344. WHERE ISNULL(main.isDeleted, '''')<>''Y''
  345. ) x'
  346. SET @sql_filter = ''
  347. IF @controlNo IS NOT NULL
  348. SET @sql_filter = @sql_filter + ' AND controlNo = ''' + @controlNo + ''''
  349. IF @mobileNo IS NOT NULL
  350. SET @sql_filter = @sql_filter + ' AND mobileNo = ''' + @mobileNo + ''''
  351. IF @agentName IS NOT NULL
  352. SET @sql_filter = @sql_filter + ' AND agentName like ''%' + @agentName + '%'''
  353. IF @firstName IS NOT NULL
  354. SET @sql_filter = @sql_filter + ' AND firstName like ''%' + @firstName + '%'''
  355. SET @select_field_list ='
  356. id
  357. ,controlNo
  358. ,agentName
  359. ,tranType
  360. ,firstName
  361. ,lastName
  362. ,mobileNo
  363. ,country
  364. ,zone
  365. ,district
  366. ,idType
  367. ,idNumber
  368. ,idIssueDate
  369. ,vdcMunicipality
  370. ,contactNo
  371. ,createdDate
  372. ,createdBy
  373. '
  374. EXEC dbo.proc_paging
  375. @table
  376. ,@sql_filter
  377. ,@select_field_list
  378. ,@extra_field_list
  379. ,@sortBy
  380. ,@sortOrder
  381. ,@pageSize
  382. ,@pageNumber
  383. END
  384. ELSE IF @flag = 'eExport'
  385. BEGIN
  386. --exec [proc_ncellFreeSimCampaign] @flag='eExport',@fromDate='2013-02-11',@fromTime='00:00:00',@toDate='2013-02-11',@toTime='23:59:59'
  387. SET @fromDate=@fromDate+' '+@fromTime
  388. SET @toDate= @toDate+' '+@toTime
  389. --MSISDN Issuing Country Region District Certificate Type Certificate No. Issue Date First Name Last Name contactNo Effective Date
  390. SELECT
  391. agentName [Agent]
  392. ,mobileNo [MSISDN]
  393. ,country [Issuing Country]
  394. ,zone [Region]
  395. ,district [District]
  396. ,idType [Certificate Type]
  397. ,idNumber [Certificate No.]
  398. ,convert(varchar,idIssueDate,101) [Issue Date]
  399. ,firstName [First Name]
  400. ,lastName [Last Name]
  401. ,contactNo [contactNo]
  402. ,convert(varchar,a.createdDate,101) [Effective Date]
  403. FROM ncellFreeSimCampaign a WITH(NOLOCK) LEFT JOIN agentMaster b WITH(NOLOCK) ON a.agentId=b.agentId
  404. WHERE a.createdDate BETWEEN @fromDate AND @toDate
  405. --> ### UPDATING DATA EXTRACT DATE
  406. UPDATE ncellFreeSimCampaign SET
  407. extractBy = @user,
  408. extractDate = dbo.FNAGetDateInNepalTZ()
  409. WHERE createdDate BETWEEN @fromDate AND @toDate
  410. AND extractDate IS NULL
  411. END
  412. ELSE IF @flag = 'report'
  413. BEGIN
  414. SET @toDate=@toDate + ' 23:59:59'
  415. SELECT ROW_NUMBER()OVER(ORDER BY agentName) [S.N.] ,UPPER(agentName) [AgentName],SUM(SD) [SendDomestic] ,SUM(PD) [PaidDomestic] ,SUM(PIN)[PaidInternational]
  416. ,SUM(MSD) [SimSendDomestic],SUM(MPD) [SimPaidDomestic],SUM(MPI) [SimPaidInterantional]
  417. ,SUM(SD)+SUM(PD)+ SUM(PIN) [TotalTxn]
  418. ,SUM(MSD)+SUM(MPD)+ SUM(MPI) [TotalSim]
  419. FROM(
  420. SELECT sBranch,COUNT(CONTROLNO) SD ,0 PD,0 PIN,0 MSD,0 MPD,0 MPI FROM remitTran WITH (NOLOCK)
  421. WHERE createdDate BETWEEN @fromDate AND @toDate
  422. AND tranType='D'
  423. AND sBranch=ISNULL(@agentId,sBranch)
  424. GROUP BY sBranch
  425. UNION ALL
  426. SELECT pBranch,0,COUNT(CONTROLNO),0,0,0,0 FROM remitTran WITH (NOLOCK)
  427. WHERE paidDate BETWEEN @fromDate AND @toDate
  428. AND tranType='D'
  429. AND pBranch=ISNULL(@agentId,pBranch)
  430. GROUP BY pBranch
  431. UNION ALL
  432. SELECT pBranch,0,0,COUNT(CONTROLNO),0,0,0 TXN FROM remitTran WITH (NOLOCK)
  433. WHERE paidDate BETWEEN @fromDate AND @toDate
  434. AND tranType='I'
  435. AND pBranch=ISNULL(@agentId,pBranch)
  436. GROUP BY pBranch
  437. UNION ALL
  438. SELECT AGENTID,0,0,0,COUNT(MOBILENO),0,0 FROM NcellFreeSimCampaign WITH (NOLOCK)
  439. WHERE createdDate BETWEEN @fromDate AND @toDate
  440. AND tranType='SEND'
  441. AND AGENTID=ISNULL(@agentId,AGENTID)
  442. GROUP BY AGENTID
  443. UNION ALL
  444. SELECT AGENTID,0,0,0,0,COUNT(MOBILENO),0 FROM NcellFreeSimCampaign WITH (NOLOCK)
  445. WHERE createdDate BETWEEN @fromDate AND @toDate
  446. AND tranType='PAID'
  447. AND RIGHT(CONTROLNO,1)='D'
  448. AND AGENTID=ISNULL(@agentId,AGENTID)
  449. GROUP BY AGENTID
  450. UNION ALL
  451. SELECT AGENTID,0,0,0,0,0,COUNT(MOBILENO) FROM NcellFreeSimCampaign WITH (NOLOCK)
  452. WHERE createdDate BETWEEN @fromDate AND @toDate
  453. AND tranType='PAID'
  454. AND RIGHT(CONTROLNO,1)<>'D'
  455. AND AGENTID=ISNULL(@agentId,AGENTID)
  456. GROUP BY AGENTID
  457. ) X INNER JOIN agentMaster Y WITH(NOLOCK) ON X.sBranch=Y.agentId
  458. INNER JOIN
  459. (
  460. SELECT DISTINCT agentid FROM NcellFreeSimCampaign
  461. )mas ON mas.agentId=Y.agentId
  462. --AND (ISNULL(agentType,0) NOT IN ('2904','2905') OR parentId in (2054,4618,2293,2271,3067,2117))
  463. GROUP BY AGENTNAME
  464. ORDER BY AGENTNAME
  465. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  466. SELECT 'Agent Name' head, case when @agentId Is null then 'All' else (select agentName from agentMaster with(nolock) where agentId=@agentId)end value
  467. UNION ALL
  468. SELECT 'From Date' head,@fromDate value
  469. UNION ALL
  470. SELECT 'To Date' head,@toDate value
  471. SELECT 'Free Ncell Sim Registration Report' title
  472. END
  473. ELSE IF @flag = 'rptExport'
  474. BEGIN
  475. SET @toDate=@toDate + ' 23:59:59'
  476. SELECT ROW_NUMBER()OVER(ORDER BY agentName) [S.N.] ,UPPER(agentName) [AgentName],SUM(SD) [SendDomestic] ,SUM(PD) [PaidDomestic] ,SUM(PIN)[PaidInternational]
  477. ,SUM(MSD) [SimSendDomestic],SUM(MPD) [SimPaidDomestic],SUM(MPI) [SimPaidInterantional]
  478. ,SUM(SD)+SUM(PD)+ SUM(PIN) [TotalTxn]
  479. ,SUM(MSD)+SUM(MPD)+ SUM(MPI) [TotalSim]
  480. FROM(
  481. SELECT sAgent,COUNT(CONTROLNO) SD ,0 PD,0 PIN,0 MSD,0 MPD,0 MPI FROM remitTran WITH (NOLOCK)
  482. WHERE createdDate BETWEEN @fromDate AND @toDate
  483. AND tranType='D'
  484. AND sAgent=ISNULL(@agentId,sAgent)
  485. GROUP BY sAgent
  486. UNION ALL
  487. SELECT PAgent,0,COUNT(CONTROLNO),0,0,0,0 FROM remitTran WITH (NOLOCK)
  488. WHERE paidDate BETWEEN @fromDate AND @toDate
  489. AND tranType='D'
  490. AND pAgent=ISNULL(@agentId,pAgent)
  491. GROUP BY PAgent
  492. UNION ALL
  493. SELECT PAgent,0,0,COUNT(CONTROLNO),0,0,0 TXN FROM remitTran WITH (NOLOCK)
  494. WHERE paidDate BETWEEN @fromDate AND @toDate
  495. AND tranType='I'
  496. AND pAgent=ISNULL(@agentId,pAgent)
  497. GROUP BY PAgent
  498. UNION ALL
  499. SELECT AGENTID,0,0,0,COUNT(MOBILENO),0,0 FROM NcellFreeSimCampaign WITH (NOLOCK)
  500. WHERE createdDate BETWEEN @fromDate AND @toDate
  501. AND tranType='SEND'
  502. AND AGENTID=ISNULL(@agentId,AGENTID)
  503. GROUP BY AGENTID
  504. UNION ALL
  505. SELECT AGENTID,0,0,0,0,COUNT(MOBILENO),0 FROM NcellFreeSimCampaign WITH (NOLOCK)
  506. WHERE createdDate BETWEEN @fromDate AND @toDate
  507. AND tranType='PAID'
  508. AND RIGHT(CONTROLNO,1)='D'
  509. AND AGENTID=ISNULL(@agentId,AGENTID)
  510. GROUP BY AGENTID
  511. UNION ALL
  512. SELECT AGENTID,0,0,0,0,0,COUNT(MOBILENO) FROM NcellFreeSimCampaign WITH (NOLOCK)
  513. WHERE createdDate BETWEEN @fromDate AND @toDate
  514. AND tranType='PAID'
  515. AND RIGHT(CONTROLNO,1)<>'D'
  516. AND AGENTID=ISNULL(@agentId,AGENTID)
  517. GROUP BY AGENTID
  518. ) X INNER JOIN agentMaster Y WITH(NOLOCK) ON X.sAgent=Y.agentId
  519. INNER JOIN
  520. (
  521. SELECT DISTINCT agentid FROM NcellFreeSimCampaign
  522. )mas ON mas.agentId=Y.agentId
  523. --AND (ISNULL(agentType,0) NOT IN ('2904','2905') OR parentId in (2054,4618,2293,2271,3067,2117))
  524. GROUP BY AGENTNAME
  525. ORDER BY AGENTNAME
  526. --SELECT * FROM agentMaster WHERE agentId=2054
  527. --SELECT * FROM agentMaster WHERE agentName LIKE '%GRAN%' AND agentType=2903
  528. END
  529. ELSE IF @flag = 'rptSummary'
  530. BEGIN
  531. --SET @toDate=@toDate + ' 23:59:59'
  532. SELECT
  533. [SN]= ROW_NUMBER() over(order by B.agentName),
  534. [Agent Name] = B.agentName,
  535. SUM(IssuedQty) [Issued <br/> Qty],
  536. SUM([RecQty]) [Registered <br/> Qty],
  537. SUM(IssuedQty)-SUM([RecQty]) [Stock <br/> Agent],
  538. SUM([ActQty]) [Activated <br/> Qty],
  539. SUM([RecQty])-SUM([ActQty]) [Remain For <br/> Activation],
  540. SUM([DocRecQty]) [Doc Received<br/> Qty],
  541. SUM([DocSentQty]) [Doc Sent<br/> Qty],
  542. SUM([ActRejQty]) [Activation<br/> Rejected Qty],
  543. SUM([DocSentRejQty]) [Doc Sent<br/> Rejected Qty]
  544. FROM
  545. (
  546. SELECT agentId,
  547. COUNT(mobile) IssuedQty,
  548. '' AS [RecQty],
  549. ''[ActQty],
  550. '' [DocRecQty],
  551. '' [DocSentQty],
  552. '' [ActRejQty],
  553. '' [DocSentRejQty]
  554. FROM DistributionOfSIMToAgent WITH(NOLOCK)
  555. WHERE agentId=ISNULL(@agentId,agentId)
  556. GROUP BY agentId
  557. UNION ALL
  558. SELECT agentId,
  559. '' IssuedQty,
  560. COUNT(agentId) [RecQty],
  561. '' [ActQty],
  562. '' [DocRecQty],
  563. '' [DocSentQty],
  564. '' [ActRejQty],
  565. '' [DocSentRejQty]
  566. FROM NcellFreeSimCampaign WITH(NOLOCK)
  567. WHERE createdDate BETWEEN @fromDate AND @toDate
  568. AND agentId=ISNULL(@agentId,agentId)
  569. GROUP BY agentId
  570. UNION ALL
  571. SELECT agentId,
  572. '' [IssuedQty],
  573. '' [RecQty],
  574. COUNT(agentId) [ActQty],
  575. '' [DocRecQty],
  576. '' [DocSentQty],
  577. '' [ActRejQty],
  578. '' [DocSentRejQty]
  579. FROM NcellFreeSimCampaign WITH(NOLOCK)
  580. WHERE activatedDate IS NOT NULL
  581. AND createdDate BETWEEN @fromDate AND @toDate
  582. AND agentId=ISNULL(@agentId,agentId)
  583. GROUP BY agentId
  584. UNION ALL
  585. SELECT agentId,
  586. '' [IssuedQty],
  587. '' [RecQty],
  588. '' [ActQty],
  589. COUNT(agentId) [DocRecQty],
  590. '' [DocSentQty],
  591. '' [ActRejQty],
  592. '' [DocSentRejQty]
  593. FROM NcellFreeSimCampaign WITH(NOLOCK)
  594. WHERE docReceivedDate IS NOT NULL
  595. AND createdDate BETWEEN @fromDate AND @toDate
  596. AND agentId=ISNULL(@agentId,agentId)
  597. GROUP BY agentId
  598. UNION ALL
  599. SELECT agentId,
  600. '' [IssuedQty],
  601. '' [RecQty],
  602. '' [ActQty],
  603. '' [DocRecQty],
  604. COUNT(agentId) [DocSentQty],
  605. '' [ActRejQty],
  606. '' [DocSentRejQty]
  607. FROM NcellFreeSimCampaign WITH(NOLOCK)
  608. WHERE docSendDate IS NOT NULL
  609. AND createdDate BETWEEN @fromDate AND @toDate
  610. AND agentId=ISNULL(@agentId,agentId)
  611. GROUP BY agentId
  612. UNION ALL
  613. SELECT agentId,
  614. '' [IssuedQty],
  615. '' [RecQty],
  616. '' [ActQty],
  617. '' [DocRecQty],
  618. '' [DocSentQty],
  619. COUNT(agentId) [ActRejQty],
  620. '' [DocSentRejQty]
  621. FROM NcellFreeSimCampaign WITH(NOLOCK)
  622. WHERE activatedDate IS NOT NULL
  623. AND docReceivedDate IS NULL
  624. AND rejectedDate IS NOT NULL
  625. AND createdDate BETWEEN @fromDate AND @toDate
  626. AND agentId=ISNULL(@agentId,agentId)
  627. GROUP BY agentId
  628. UNION ALL
  629. SELECT agentId,
  630. '' [IssuedQty],
  631. '' [RecQty],
  632. '' [ActQty],
  633. '' [DocRecQty],
  634. '' [DocSentQty],
  635. '' [ActRejQty],
  636. COUNT(agentId) [DocSentRejQty]
  637. FROM NcellFreeSimCampaign WITH(NOLOCK)
  638. WHERE docSendDate IS NOT NULL
  639. AND docReceivedDate IS NOT NULL
  640. AND activatedDate IS NOT NULL
  641. AND rejectedDate IS NOT NULL
  642. AND createdDate BETWEEN @fromDate AND @toDate
  643. AND agentId=ISNULL(@agentId,agentId)
  644. GROUP BY agentId
  645. )A INNER JOIN AGENTMASTER B WITH(NOLOCK) ON A.agentId=B.agentId
  646. GROUP BY B.agentName
  647. ORDER BY B.agentName
  648. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  649. SELECT 'Agent Name' head,
  650. CASE WHEN @agentId IS NULL THEN 'All' ELSE
  651. (SELECT agentName FROM agentMaster WITH(NOLOCK) WHERE agentId=@agentId)END VALUE
  652. UNION ALL
  653. SELECT 'From Date' head,@fromDate VALUE
  654. UNION ALL
  655. SELECT 'To Date' head,@toDate VALUE
  656. SELECT 'Ncell SIM Summary Report' title
  657. END
  658. END TRY
  659. BEGIN CATCH
  660. IF @@TRANCOUNT > 0
  661. ROLLBACK TRANSACTION
  662. DECLARE @errorMessage VARCHAR(MAX)
  663. SET @errorMessage = ERROR_MESSAGE()
  664. EXEC proc_errorHandler 1, @errorMessage, @rowId
  665. END CATCH
  666. GO