ALTER PROCEDURE [dbo].[StWRe_GetReportDataSource]
@FunctionName NVARCHAR(20) = NULL,
@年份 INT = NULL,
@月份 INT = NULL,
@年级 CHAR(4) = NULL,
@学院ID CHAR(8) = NULL,
@专业ID CHAR(8) = NULL,
@学年 NVARCHAR(10) = NULL
AS
IF(@FunctionName='StipendStopGrant')
BEGIN
SELECT * FROM StipendStopGrantView
END
--普通助学金停发
IF(@FunctionName='CommonGrantSummary')
BEGIN
SELECT '普通奖学金' AS 项目, SUM(停发金额) AS 停发金额 , 停发起始日期, 原因 AS 停发原因
FROM CommonGrantSummaryView
WHERE(年份=@年份 AND 月份=@月份)
GROUP BY 停发起始日期, 原因
ORDER BY 停发起始日期
--EXECUTE [dbo].[StWRe_GetReportDataSource] @FunctionName='CommonGrantSummary',@年份=2010,@月份=1
END
IF(@FunctionName='StipendSearch')
BEGIN
SELECT ID,助学金类别ID,学年
FROM StW_助学金
END
--普通助学金汇总
IF(@FunctionName='CommonGrantsReport')
BEGIN
SELECT a.普通奖学金 AS 上月,
b.年份,
b.月份,
b.普通奖学金 AS 本月
INTO #TempTableGrants
FROM CommonGrantsView a RIGHT JOIN CommonGrantsView b
ON(a.年份=b.年份 AND a.月份+1=b.月份) OR (a.年份+1=b.年份 AND a.月份=12 AND b.月份=1)
SELECT ISNULL(上月,0) AS 上月,
年份,
月份,
本月,
CASE
WHEN 本月-ISNULL(上月,0)>0
THEN 本月-ISNULL(上月,0)
ELSE 0
END AS 增加,
CASE
WHEN 本月-ISNULL(上月,0)<0
THEN ABS(本月-ISNULL(上月,0))
ELSE 0
END AS 减少,
0 AS 其他,
0 AS 补发
FROM #TempTableGrants
WHERE(年份=@年份 AND 月份=@月份)
drop table #TempTableGrants
END
--EXEC [StWRe_GetReportDataSource] @FunctionName='CommonGrantsReport',@年份=2009,@月份=1
IF(@FunctionName='Test')
BEGIN
SELECT * FROM Test
END
IF(@FunctionName='ScholarShipView')
BEGIN
SELECT *,(奖学金单项金额*人数) AS 奖学金金额 FROM StW_ScholarShipView
WHERE(@学院ID IS NULL OR @学院ID='' OR 学院ID=@学院ID)
AND
(@专业ID IS NULL OR @专业ID='' OR 专业ID=@专业ID)
AND
(@年级 IS NULL OR @年级='' OR 年级=@年级)
AND
(@学年 IS NULL OR @学年='' OR 学年=@学年)
END