using System; using System.Collections.Generic; using System.Web; using System.Data; using System.Data.Common; using System.ComponentModel; using WebLib; namespace Education { [DataObject] public class DAC_BPAA: DAC { /// /// 取得指定年度專案計畫代號與名稱,不含總公司 /// /// 指定年度 /// public DataTable GetBpaa(int year) { DbCommand cmd = NewCommand(); cmd.CommandText = @"SELECT BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM BPPYM FROM BPAA WHERE (BPYER=@BPYER) AND (BPCSD IS NULL) AND (BPPYN <> '000000001') AND (BPPYN <> '103JYB00001') AND (BPPYN <> '103TYB00001') ORDER BY BPPYN"; AddParam(cmd, "BPYER", year - PublicVariable.CY11); return Select(cmd); } /// /// 取得所有年度專案計畫代號與名稱,含總公司 /// /// public DataTable GetBpaaWithTY() { DbCommand cmd = NewCommand(); cmd.CommandText = @"SELECT '000000001' BPPYN, '【非專案人員】' BPPYM UNION SELECT BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM BPPYM FROM BPAA WHERE (BPCSD IS NULL) AND (BPPYN <> '000000001') AND (BPPYN <> '103JYB00001') AND (BPPYN <> '103TYB00001') AND (BPPYN <> '102JYB00001') AND (BPPYN <> '102TYB00001') UNION SELECT BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM BPPYM FROM BPAA WHERE (BPCSD IS NULL) AND (BPPYN = '103JYB00001' OR BPPYN = '103TYB00001') ORDER BY BPPYN"; return Select(cmd); } /// /// 取得所有年度專案計畫代號與名稱,含總公司,並加上一個空項目 /// /// public DataTable GetBpaaWithTYPlusNone() { DbCommand cmd = NewCommand(); cmd.CommandText = @"SELECT '' BPPYN, '【全部】' BPPYM UNION SELECT '000000001' BPPYN, '【非專案人員】' BPPYM UNION SELECT BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM BPPYM FROM BPAA WHERE (BPCSD IS NULL) AND (BPPYN <> '000000001') AND (BPPYN <> '103JYB00001') AND (BPPYN <> '103TYB00001') AND (BPPYN <> '103JYB00001') AND (BPPYN <> '103TYB00001') UNION SELECT BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM BPPYM FROM BPAA WHERE (BPCSD IS NULL) AND (BPPYN = '103JYB00001' OR BPPYN = '103TYB00001') ORDER BY BPPYN"; return Select(cmd); } /// /// 取得指定年度專案計畫代號與名稱,含總公司 /// /// 指定年度 /// 公司別 /// public DataTable GetBpaaWithTY(int year, string companyID) { DbCommand cmd = NewCommand(); cmd.CommandText = @"SELECT '000000001' AS BPPYN, '【非專案人員】' AS BPPYM UNION SELECT BPPYN, BPPYM FROM ( SELECT BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM AS BPPYM, (SELECT TOP 1 BPCPY FROM BPRJ WHERE BPRJ.BPPNM=BPAA.BPPNM) AS BPCPY FROM BPAA WHERE (BPYER=@BPYER) AND (BPPYN <> '000000001') AND (BPPYN <> '103JYB00001') AND (BPPYN <> '103TYB00001') AND (BPPYN <> '102JYB00001') AND (BPPYN <> '102TYB00001') UNION SELECT BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM AS BPPYM, (SELECT TOP 1 BPCPY FROM BPRJ WHERE BPRJ.BPPNM=BPAA.BPPNM) AS BPCPY FROM BPAA WHERE (BPPYN = '103JYB00001') OR (BPPYN = '103TYB00001') ) AS TMP1 WHERE BPCPY=@BPCPY ORDER BY BPPYN"; // @"SELECT '000000001' BPPYN, '【非專案人員】' BPPYM // UNION // SELECT BPPYN, '【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】' + BPPYM BPPYM // FROM BPAA WHERE (BPYER=@BPYER) AND (BPPYN <> '000000001') // ORDER BY BPPYN"; AddParam(cmd, "BPYER", year); AddParam(cmd, "BPCPY", companyID); return Select(cmd); } /// /// 取得指定年度專案計畫代號與名稱,含總公司,並加上一個空項目 /// /// 指定年度 /// public DataTable GetBpaaWithTYPlusNone(int year) { DbCommand cmd = NewCommand(); cmd.CommandText = @"SELECT '' BPPYN, '【全部】' BPPYM UNION SELECT '000000001' BPPYN, '【非專案人員】' BPPYM UNION SELECT BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM BPPYM FROM BPAA WHERE (BPYER=@BPYER) AND (BPPYN <> '000000001') AND (BPPYN <> '103JYB00001') AND (BPPYN <> '103TYB00001') AND (BPPYN <> '102JYB00001') AND (BPPYN <> '102TYB00001') UNION SELECT BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM BPPYM FROM BPAA WHERE (BPPYN = '103JYB00001' OR BPPYN = '103TYB00001') ORDER BY BPPYN"; AddParam(cmd, "BPYER", year - PublicVariable.CY11); return Select(cmd); } } }