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.

405 lines
22 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_soaMonthlyLog] 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_soaMonthlyLog]
  9. @flag VARCHAR(50) = NULL
  10. ,@id INT = NULL
  11. ,@user VARCHAR(200) = NULL
  12. ,@agentId INT = NULL
  13. ,@branchId INT = NULL
  14. ,@agentName VARCHAR(100) = NULL
  15. ,@soaType VARCHAR(20) = NULL
  16. ,@createdDate DATETIME = NULL
  17. ,@message VARCHAR(MAX) = NULL
  18. ,@createdBy VARCHAR(30) = NULL
  19. ,@sortBy VARCHAR(50) = NULL
  20. ,@sortOrder VARCHAR(5) = NULL
  21. ,@pageSize INT = NULL
  22. ,@pageNumber INT = NULL
  23. ,@logType VARCHAR(50) = NULL
  24. ,@npYear VARCHAR(10) = NULL
  25. ,@npMonth VARCHAR(20) = NULL
  26. ,@fromDate VARCHAR(20) = NULL
  27. ,@toDate VARCHAR(20) = NULL
  28. ,@mc VARCHAR(10) = NULL
  29. AS
  30. SET NOCOUNT ON
  31. BEGIN
  32. DECLARE @MM AS VARCHAR(2),@DD AS VARCHAR(2), @YYYY AS VARCHAR(4),@nep_date VARCHAR(20)
  33. IF @flag = 'logType'
  34. BEGIN
  35. SELECT NULL [0],'All' [1] UNION ALL
  36. SELECT 'Agree' [0],'Agree' [1] UNION ALL
  37. SELECT 'Disagree' [0],'Disagree' [1]
  38. END
  39. IF @flag = 'i'
  40. BEGIN
  41. IF EXISTS(SELECT 'x' FROM soaMonthlyLog WITH(NOLOCK) WHERE branchId = @branchId AND npYear = @npYear AND npMonth = @npMonth)
  42. BEGIN
  43. SELECT '1' errorCode, 'You have already agreed for balance confirmation.' mgs, @branchId
  44. RETURN;
  45. END
  46. SELECT @nep_date=nep_date FROM tbl_calendar WITH(NOLOCK) WHERE ENG_DATE = CONVERT(VARCHAR,GETDATE(),102)
  47. SELECT
  48. @DD = CASE WHEN LEN(REPLACE( SUBSTRING (@nep_date, CHARINDEX('-',@nep_date,1), 3),'-',''))=1
  49. THEN '0'+REPLACE( SUBSTRING (@nep_date, CHARINDEX('-',@nep_date,1), 3),'-','')
  50. ELSE
  51. REPLACE( SUBSTRING (@nep_date, CHARINDEX('-',@nep_date,1), 3),'-','') END,
  52. @MM=CASE WHEN LEN(REPLACE(LEFT(@nep_date,3),'-',''))=1
  53. THEN '0'+REPLACE(LEFT(@nep_date,3),'-','')
  54. ELSE
  55. CASE WHEN LEN(REPLACE(LEFT(@nep_date,2),'-',''))=1
  56. THEN '0'+REPLACE(LEFT(@nep_date,2),'-','')
  57. ELSE REPLACE(LEFT(@nep_date,2),'-','') END
  58. END,
  59. @YYYY=RIGHT(@nep_date,4)
  60. IF LEFT(@MM,1) = '0'
  61. SET @MM = RIGHT(@MM,1)
  62. IF @MM ='1'
  63. BEGIN
  64. SET @MM ='12'
  65. SET @YYYY = @YYYY - 1
  66. END
  67. ELSE
  68. BEGIN
  69. SET @MM = @MM - 1
  70. END
  71. IF @YYYY < @npYear
  72. BEGIN
  73. SELECT '1' errorCode,'Error: Year, You can not confirm for future year.' mgs, @branchId
  74. RETURN;
  75. END
  76. IF @npMonth > @MM AND @npYear >= @YYYY
  77. BEGIN
  78. SELECT '1' errorCode,'Error: Month, You can not confirm for future month.' mgs, @branchId
  79. RETURN;
  80. END
  81. INSERT INTO soaMonthlyLog
  82. (
  83. agentId
  84. ,branchId
  85. ,fromDate
  86. ,toDate
  87. ,soaType
  88. ,createDdate
  89. ,createdBy
  90. ,message
  91. ,logType
  92. ,npYear
  93. ,npMonth
  94. )
  95. SELECT
  96. @agentId
  97. ,@branchId
  98. ,@fromDate
  99. ,@toDate
  100. ,@soaType
  101. ,GETDATE()
  102. ,@user
  103. ,@message
  104. ,@logType
  105. ,@npYear
  106. ,@npMonth
  107. IF @logType <> 'Agree'
  108. BEGIN
  109. SET @message = 'Your Balance Confirmation(RA) is DisAgree!! Please Contact Adminastator For Detail Information.'
  110. INSERT INTO SMSQueue (
  111. agentId
  112. ,branchId
  113. ,msg
  114. ,createdDate
  115. ,createdBy)
  116. SELECT
  117. @agentId
  118. ,@branchId
  119. ,@message
  120. ,GETDATE()
  121. ,@user
  122. END
  123. SELECT '0' errorCode, CASE WHEN @logType = 'Agree' THEN 'I Agree.' ELSE 'I Do Not Agree.' END mgs, NULL
  124. END
  125. IF @flag='btnHideShow'
  126. BEGIN
  127. IF EXISTS(SELECT 'a' FROM soaMonthlyLog WITH(NOLOCK)
  128. WHERE soaType = @soaType AND branchId = @branchId AND fromDate = @fromDate AND toDate = @toDate
  129. AND logType = 'Agree')
  130. BEGIN
  131. EXEC proc_errorHandler '1', 'Agree', NULL
  132. RETURN
  133. END
  134. IF EXISTS(SELECT 'a' FROM soaMonthlyLog WITH(NOLOCK) WHERE soaType = @soaType AND branchId = @branchId
  135. AND fromDate = @fromDate AND toDate = @toDate AND logType = 'Disagree')
  136. BEGIN
  137. EXEC proc_errorHandler '2', 'Disagree', NULL
  138. RETURN
  139. END
  140. ELSE
  141. BEGIN
  142. EXEC proc_errorHandler '0', 'Log Not Found.', NULL
  143. RETURN
  144. END
  145. END
  146. IF @flag = 's'
  147. BEGIN
  148. DECLARE
  149. @selectFieldList VARCHAR(MAX)
  150. ,@extraFieldList VARCHAR(MAX)
  151. ,@table VARCHAR(MAX)
  152. ,@sqlFilter VARCHAR(MAX)
  153. IF @sortBy IS NULL
  154. SET @sortBy = 'createdDate'
  155. IF @sortOrder IS NULL
  156. SET @sortOrder = 'DESC'
  157. SET @table = '
  158. (
  159. SELECT
  160. id
  161. ,am.agentName
  162. ,amb.agentName as BranchName
  163. ,fromdate = CONVERT(VARchAR, fromdate, 101)
  164. ,toDate = CONVERT(VARchAR, toDate, 101)
  165. ,soaType
  166. ,sl.createdDate
  167. ,sl.logType
  168. ,sl.createdBy
  169. ,sl.npYear
  170. ,sl.npMonth
  171. FROM soaMonthlyLog sl WITH(NOLOCK)
  172. INNER JOIN agentMaster am WITH(NOLOCK) ON sl.agentId=am.agentId
  173. INNER JOIN agentMaster amb WITH(NOLOCK) ON sl.branchId=amb.agentId
  174. ) x'
  175. SET @selectFieldList = '
  176. id
  177. ,agentName
  178. ,branchName
  179. ,fromdate
  180. ,toDate
  181. ,soaType
  182. ,createdDate
  183. ,logType
  184. ,createdBy
  185. ,npYear
  186. ,npMonth'
  187. SET @sqlFilter = ''
  188. IF @fromDate IS NOT NULL
  189. SET @sqlFilter = @sqlFilter + ' AND createdDate BETWEEN ''' + CONVERT(VARCHAR,@fromDate,101) + ''' AND ''' + CONVERT(VARCHAR,@toDate,101) + ' 23:59:59'''
  190. IF @npYear IS NOT NULL
  191. SET @sqlFilter = @sqlFilter + ' AND npYear = ''' + @npYear + ''''
  192. IF @npMonth IS NOT NULL
  193. SET @sqlFilter = @sqlFilter + ' AND npMonth = ''' + @npMonth + ''''
  194. IF @agentName IS NOT NULL
  195. SET @sqlFilter = @sqlFilter + ' AND branchName LIKE ''%' + @agentName + '%'''
  196. PRINT(@table)
  197. EXEC dbo.proc_paging
  198. @table
  199. ,@sqlFilter
  200. ,@selectFieldList
  201. ,@extraFieldList
  202. ,@sortBy
  203. ,@sortOrder
  204. ,@pageSize
  205. ,@pageNumber
  206. END
  207. IF @flag='report'
  208. BEGIN
  209. DECLARE @xml XML
  210. SELECT
  211. @xml = message
  212. ,@fromDate=fromdate
  213. ,@todate = todate
  214. ,@soaType=soaType
  215. FROM soaMonthlyLog WITH(NOLOCK)
  216. WHERE id=@id
  217. SELECT
  218. Date = r.value('(DATE)[1]','DATETIME')
  219. ,Particulars = REPLACE(r.value('(Particulars)[1]', 'VARchAR(1000)'), 'drildown.aspx', '../../AgentPanel/Reports/SoADomestic/drildownDomComm.aspx')
  220. ,DR = r.value('(DR)[1]', 'MONEY')
  221. ,CR = r.value('(CR)[1]', 'MONEY')
  222. FROM @xml.nodes('/NewDataSet/Table') AS rpt(r)
  223. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  224. SELECT 'From Date ' head, CONVERT(VARCHAR, @fromDate, 101) value UNION ALL
  225. SELECT 'TO Date' head, CONVERT(VARCHAR, @todate, 101) value UNION ALL
  226. SELECT
  227. 'Soa Type' head
  228. ,(SELECT
  229. CASE @soaType
  230. WHEN 'soa' THEN 'Principle'
  231. WHEN 'dcom' THEN 'Domistic Commission'
  232. WHEN 'icom' THEN 'International Commission'
  233. END
  234. )
  235. SELECT 'Balance Confirmation(RA) Log Reports' title
  236. RETURN
  237. END
  238. IF @flag = 'yr'
  239. BEGIN
  240. SELECT '2070' [year] UNION ALL
  241. SELECT '2071'
  242. END
  243. IF @flag = 'month'
  244. BEGIN
  245. SELECT '1' monthNumber,'Baishak' [monthName] UNION ALL
  246. SELECT '2','Jestha' UNION ALL
  247. SELECT '3','Ashar' UNION ALL
  248. SELECT '4','Shrawan' UNION ALL
  249. SELECT '5','Bhadra' UNION ALL
  250. SELECT '6','Ashwin' UNION ALL
  251. SELECT '7','Kartik' UNION ALL
  252. SELECT '8','Mangsir' UNION ALL
  253. SELECT '9','Poush' UNION ALL
  254. SELECT '10','Magh' UNION ALL
  255. SELECT '11','Falgun' UNION ALL
  256. SELECT '12','Chaitra'
  257. END
  258. IF @flag = 'rpt'
  259. BEGIN
  260. DECLARE @sql AS VARCHAR(MAX),@url AS VARCHAR(MAX)
  261. IF @mc = 'false'
  262. BEGIN
  263. --SET @url = '"'+dbo.FNAGetURL()+'SwiftSystem/Reports/Reports.aspx?reportName=10122200&flag=report&id=''+cast(ISNULL(sl.id,'''')as varchar) +''"'
  264. SET @sql ='SELECT
  265. [S.N.] = row_number() over(order by sl.id)
  266. ,[Agent Name] = am.agentName
  267. ,[Year] = sl.npYear
  268. ,[Month] = isnull(ml.Name,sl.npMonth)
  269. ,[Created By] = sl.createdBy
  270. ,[Created Date] = sl.createdDate
  271. FROM soaMonthlyLog sl WITH(NOLOCK)
  272. INNER JOIN agentMaster am WITH(NOLOCK) ON sl.agentId = am.agentId
  273. LEFT JOIN monthList ml with(nolock) on sl.npMonth = ml.month_number
  274. WHERE sl.createdDate BETWEEN ''' + CONVERT(VARCHAR,@fromDate,101) + ''' AND ''' + CONVERT(VARCHAR,@toDate,101) + ' 23:59:59'''
  275. IF @npYear IS NOT NULL
  276. SET @sql = @sql + ' AND sl.npYear = '''+@npYear+''''
  277. IF @npMonth IS NOT NULL
  278. SET @sql = @sql + ' AND sl.npMonth = '''+@npMonth+''''
  279. IF @agentId IS NOT NULL
  280. SET @sql = @sql + ' AND sl.agentId = '''+CAST(@agentId AS VARCHAR)+''''
  281. PRINT(@sql)
  282. EXEC(@sql)
  283. END
  284. ELSE
  285. BEGIN
  286. SELECT agentId INTO #TEMP
  287. FROM agentMaster a WITH(NOLOCK)
  288. WHERE agentCountry = 'Nepal'
  289. AND (actAsBranch = 'Y' OR agentType = 2904)
  290. AND ISNULL(a.isDeleted, 'N') = 'N'
  291. AND ISNULL(a.isActive, 'N') = 'Y'
  292. AND a.isSettlingAgent = 'Y'
  293. AND a.parentId <> 5576
  294. DELETE FROM #TEMP
  295. FROM #TEMP T
  296. INNER JOIN soaMonthlyLog L WITH(NOLOCK) ON T.agentId = L.agentId
  297. WHERE L.npMonth = @npMonth
  298. AND L.npYear = @npYear
  299. --AND L.createdDate BETWEEN @fromDate AND @toDate+' 23:59:59'
  300. SELECT
  301. [S.N.] = ROW_NUMBER() OVER(ORDER BY am.agentName)
  302. ,[Agent Name] = am.agentName
  303. ,[Year] = @npYear
  304. ,[Month] = (SELECT Name FROM monthList WHERE month_number = @npMonth)
  305. ,[Created By] = ''
  306. ,[Created Date] = ''
  307. FROM #TEMP A INNER JOIN agentMaster am WITH(NOLOCK) ON A.agentId = am.agentId
  308. ORDER BY am.agentName
  309. END
  310. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  311. SELECT 'Date Range' head, 'From '+CONVERT(VARCHAR,@fromDate,101)+' to '+CONVERT(VARCHAR,@toDate,101) value UNION ALL
  312. SELECT 'Year',@npYear UNION ALL
  313. SELECT 'Month',(SELECT name FROM monthList WITH(NOLOCK) WHERE month_number = @npMonth) UNION ALL
  314. SELECT 'Agent',CASE WHEN @agentId IS NULL THEN 'All' ELSE (SELECT agentName FROM agentMaster WITH(NOLOCK) WHERE agentId =@agentId) END UNION ALL
  315. SELECT 'Checked for missing confirmation',@mc
  316. SELECT 'Balance Confirmation(RA) Log Report' title
  317. END
  318. IF @flag = 'GetCurrNepYM'
  319. BEGIN
  320. SELECT @nep_date= nep_date FROM tbl_calendar WITH(NOLOCK) WHERE ENG_DATE = CONVERT(VARCHAR,GETDATE(),102)
  321. SELECT
  322. @DD = CASE WHEN LEN(REPLACE( SUBSTRING (@nep_date, CHARINDEX('-',@nep_date,1), 3),'-',''))=1
  323. THEN '0'+REPLACE( SUBSTRING (@nep_date, CHARINDEX('-',@nep_date,1), 3),'-','')
  324. ELSE
  325. REPLACE( SUBSTRING (@nep_date, CHARINDEX('-',@nep_date,1), 3),'-','') END,
  326. @MM=CASE WHEN LEN(REPLACE(LEFT(@nep_date,3),'-',''))=1
  327. THEN '0'+REPLACE(LEFT(@nep_date,3),'-','')
  328. ELSE
  329. CASE WHEN LEN(REPLACE(LEFT(@nep_date,2),'-',''))=1
  330. THEN '0'+REPLACE(LEFT(@nep_date,2),'-','')
  331. ELSE REPLACE(LEFT(@nep_date,2),'-','') END
  332. END,
  333. @YYYY=RIGHT(@nep_date,4)
  334. IF LEFT(@MM,1) = '0'
  335. SET @MM = RIGHT(@MM,1)
  336. IF @MM ='1'
  337. BEGIN
  338. SET @MM ='12'
  339. SET @YYYY = @YYYY - 1
  340. END
  341. ELSE
  342. BEGIN
  343. SET @MM = @MM - 1
  344. END
  345. SELECT @MM npMonth,@YYYY npYear
  346. END
  347. END
  348. GO