chore: 首次簽入 Thinkyu ASP.NET 專案

- 加入 Visual Studio / ASP.NET .gitignore
- 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
2026-09-10 09:42:37 +08:00
commit 577060bc78
2496 changed files with 501389 additions and 0 deletions
+328
View File
@@ -0,0 +1,328 @@
using System;
using System.Data;
using System.Configuration;
using System.Data.Common;
using System.Collections;
using Wellan.Common;
using Wellan.Data;
/// <summary>
/// 取得專案年度接單資料
/// </summary>
public class BpaaDAC : Wellan.Data.WDAC
{
public BpaaDAC()
{
}
public BpaaDAC(string connectionConfig, string connectionConfigName)
: this()
{
this._connectionConfig = connectionConfig;
this._connectionConfigName = connectionConfigName;
}
public BpaaDAC(WQuery query)
{
this._query = query;
}
/// <summary>
/// 取得所有年度專案計畫代號與名稱,不含總公司
/// 20141230 修改,必定包含 103 年度新譽與展譽
/// </summary>
/// <returns></returns>
public DataTable GetBpaa()
{
DbCommand cmd = Query.NewCommand(
@"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 BPPYM, 4 CLS
FROM BPAA WHERE (BPCSD IS NULL) AND (BPPYN <> '000000001') 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, 3 CLS
-- 移除展育
-- FROM BPAA WHERE BPPYN = '103JYB00001' OR BPPYN = '103TYB00001'
FROM BPAA WHERE BPPYN = '103TYB00001'
) AS TMP1
ORDER BY CLS, BPPYN");
return Query.Select(cmd);
}
/// <summary>
/// 取得指定年度專案計畫代號與名稱,不含總公司
/// 20141230 修改,必定包含 103 年度新譽與展譽
/// </summary>
/// <param name="year">指定年度</param>
/// <returns></returns>
public DataTable GetBpaa(int year)
{
DbCommand cmd = Query.NewCommand(
@"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 BPPYM, 4 CLS
FROM BPAA WHERE (BPYER=@BPYER) AND (BPCSD IS NULL) AND (BPPYN <> '000000001') 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, 3 CLS
-- 移除展育
-- FROM BPAA WHERE BPPYN = '103JYB00001' OR BPPYN = '103TYB00001'
FROM BPAA WHERE BPPYN = '103TYB00001'
) AS TMP1
ORDER BY CLS, BPPYN");
cmd.Parameters.Add(Query.NewParameter("BPYER", year - WGuard1.CY11));
return Query.Select(cmd);
}
/// <summary>
/// 取得所有年度專案計畫代號與名稱,含總公司
/// 20141230 修改,必定包含 103 年度新譽與展譽
/// </summary>
/// <returns></returns>
public DataTable GetBpaaWithTY()
{
DbCommand cmd = Query.NewCommand(
@"SELECT BPPYN, BPPYM FROM
(
SELECT '000000001' BPPYN, '【非專案人員】' BPPYM, 2 CLS
UNION
SELECT BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM BPPYM, 4 CLS
FROM BPAA WHERE (BPCSD IS NULL) AND (BPPYN <> '000000001') 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, 3 CLS
-- 移除展育
-- FROM BPAA WHERE BPPYN = '103JYB00001' OR BPPYN = '103TYB00001'
FROM BPAA WHERE BPPYN = '103TYB00001'
) AS TMP1
ORDER BY CLS, BPPYN");
return Query.Select(cmd);
}
/// <summary>
/// 取得所有年度專案計畫代號與名稱,含總公司,並加上一個空項目
/// 20141230 修改,必定包含 103 年度新譽與展譽
/// </summary>
/// <returns></returns>
public DataTable GetBpaaWithTYPlusNone()
{
DbCommand cmd = Query.NewCommand(
@"SELECT BPPYN, BPPYM FROM
(
SELECT '' BPPYN, '【全部】' BPPYM, 1 CLS
UNION
SELECT '000000001' BPPYN, '【非專案人員】' BPPYM, 2 CLS
UNION
SELECT BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM BPPYM, 4 CLS
FROM BPAA WHERE (BPCSD IS NULL) AND (BPPYN <> '000000001') 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, 3 CLS
-- 移除展育
-- FROM BPAA WHERE BPPYN = '103JYB00001' OR BPPYN = '103TYB00001'
FROM BPAA WHERE BPPYN = '103TYB00001'
) AS TMP1
ORDER BY CLS, BPPYN");
return Query.Select(cmd);
}
/// <summary>
/// 取得指定年度專案計畫代號與名稱,含總公司
/// 20141230 修改,必定包含 103 年度新譽與展譽
/// </summary>
/// <param name="yearFrom">指定年度</param>
/// <returns></returns>
public DataTable GetBpaaWithTY(int year)
{
DbCommand cmd = Query.NewCommand(
@"SELECT BPPYN, BPPYM FROM
(
SELECT '' BPPYN, '【全部】' BPPYM, 1 CLS
UNION
SELECT '000000001' BPPYN, '【非專案人員】' BPPYM, 2 CLS
UNION
SELECT BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM BPPYM, 3 CLS
-- 移除展育
-- FROM BPAA WHERE BPPYN = '103JYB00001' OR BPPYN = '103TYB00001'
FROM BPAA WHERE 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, 4 CLS
FROM BPAA WHERE (BPYER=@BPYER) AND (BPPYN <> '000000001') AND (BPPYN <> '103JYB00001') AND (BPPYN <> '103TYB00001')
) AS TMP1
ORDER BY CLS, BPPYN");
cmd.Parameters.Add(Query.NewParameter("BPYER", year - WGuard1.CY11));
return Query.Select(cmd);
}
/// <summary>
/// 取得指定年度專案計畫代號與名稱,含總公司,並加上一個空項目
/// 20141230 修改,必定包含 103 年度新譽與展譽
/// </summary>
/// <param name="year">指定年度</param>
/// <returns></returns>
public DataTable GetBpaaWithTYPlusNone(int year)
{
DbCommand cmd = Query.NewCommand(
@"SELECT BPPYN, BPPYM FROM
(
SELECT '' BPPYN, '【全部】' BPPYM, 1 CLS
UNION
SELECT '000000001' BPPYN, '【非專案人員】' BPPYM, 2 CLS
UNION
SELECT BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM BPPYM, 4 CLS
FROM BPAA WHERE (BPYER=@BPYER) AND (BPPYN <> '000000001') 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, 3 CLS
-- 移除展育
-- FROM BPAA WHERE BPPYN = '103JYB00001' OR BPPYN = '103TYB00001'
FROM BPAA WHERE BPPYN = '103TYB00001'
) AS TMP1
ORDER BY CLS, BPPYN");
cmd.Parameters.Add(Query.NewParameter("BPYER", year - WGuard1.CY11));
return Query.Select(cmd);
}
/// <summary>
/// 取得指定年度專案計畫代號與名稱,含總公司
/// </summary>
public DataTable GetBpaaWithTYPlusNone(int yearFrom, int yearTo)
{
return GetBpaa(yearFrom, yearTo, true);
}
/// <summary>
/// 取得指定年度專案計畫代號與名稱,含總公司
/// </summary>
public DataTable GetBpaaWithTYPlusNoneNotCheckYear(int yearFrom, int yearTo)
{
return GetBpaa(yearFrom, yearTo, false);
}
/// <summary>
/// 取得指定年度專案計畫代號與名稱,含總公司
/// 20141230 修改,必定包含 103 年度新譽與展譽
/// </summary>
/// <param name="yearFrom">指定年度</param>
/// <returns></returns>
public DataTable GetBpaa(int yearFrom, int yearTo, bool checkYearEqual)
{
if (yearTo <= 0) yearTo = yearFrom;
DbCommand cmd;
if (yearFrom == yearTo || !checkYearEqual)
{
cmd = Query.NewCommand(
@"SELECT BPPYN, BPPYM FROM
(
SELECT '' BPPYN, '【全部】' BPPYM, 1 CLS
UNION
SELECT '000000001' BPPYN, '【非專案人員】' BPPYM, 2 CLS
UNION
SELECT BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM BPPYM, 3 CLS
-- 移除展育的選項
-- FROM BPAA WHERE BPPYN = '103JYB00001' OR BPPYN = '103TYB00001'
FROM BPAA WHERE 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, 4 CLS
FROM BPAA WHERE (BPYER = @BPYER1) AND (BPPYN <> '000000001') AND (BPPNM <> 'JYB00001') AND (BPPNM <> 'TYB00001')
) AS TMP1
ORDER BY CLS, BPPYN");
}
else
{
cmd = Query.NewCommand(
@"SELECT BPPYN, BPPYM FROM
(
SELECT '' BPPYN, '【全部】' BPPYM, 1 CLS
UNION
SELECT '000000001' BPPYN, '【非專案人員】' BPPYM, 2 CLS
-- UNION
-- SELECT BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM BPPYM, 3 CLS
-- FROM BPAA WHERE BPPYN = '103JYB00001' OR 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, 4 CLS
FROM BPAA WHERE (BPYER>=@BPYER1 AND BPYER<=@BPYER2) AND (BPPYN <> '000000001') AND (BPPNM <> 'JYB00001') AND (BPPNM <> 'TYB00001')
) AS TMP1
ORDER BY CLS, BPPYN");
}
cmd.Parameters.Add(Query.NewParameter("BPYER1", yearFrom - WGuard1.CY11));
cmd.Parameters.Add(Query.NewParameter("BPYER2", yearTo - WGuard1.CY11));
return Query.Select(cmd);
}
/// <summary>
/// 取得加班時數計算方式
/// </summary>
/// <param name="BPPYN">年度專案計畫編號</param>
/// <returns>1=計算至小時,2=計算至分鐘</returns>
public string GetOverTimeType(string BPPYN)
{
DbCommand cmd = Query.NewCommand("SELECT BPOTT FROM BPAA WHERE BPPYN=@BPPYN");
cmd.Parameters.Add(Query.NewParameter("BPPYN", BPPYN));
string s = WDAC.GetStringValue(Query.ExecuteScalar(cmd));
return s == "1" || s == "2" ? s : "1";
}
/// <summary>
/// 取得上下班時間
/// </summary>
/// <param name="bppyn"></param>
/// <returns></returns>
//public void GetTime(string bppyn, out string bpstm, out string bpetm)
//{
// bpstm = WGuard1.WSetR("UNRPARTIME", 1);
// bpetm = WGuard1.WSetR("UNRPARTIME", 2);
// DbCommand cmd1 = Query.NewCommand("SELECT BPPNM FROM BPAA WHERE BPPYN=@BPPYN");
// cmd1.Parameters.Add(Query.NewParameter("BPPYN", bppyn));
// string bppnm = WDAC.GetStringValue(Query.ExecuteScalar(cmd1));
// if (string.IsNullOrEmpty(bppnm))
// return;
// DbCommand cmd2 = Query.NewCommand("SELECT BPSTM, BPETM FROM BPRJ WHERE BPPNM=@BPPNM");
// cmd1.Parameters.Add(Query.NewParameter("BPPNM", bppnm));
// DataTable dt = Query.Select(cmd2);
// if (dt.Rows.Count == 0)
// return;
// string bpstm1 = WDAC.GetStringValue(dt.Rows[0]["BPSTM"]);
// string bpetm1 = WDAC.GetStringValue(dt.Rows[0]["BPETM"]);
// string[] timepart = bpstm1.Split(':');
// if (timepart.Length >= 2)
// bpstm = timepart[0].PadRight(2, '0') + timepart[1].PadRight(2, '0');
// timepart = bpetm1.Split(':');
// if (timepart.Length >= 2)
// bpetm = timepart[0].PadRight(2, '0') + timepart[1].PadRight(2, '0');
//}
/// <summary>
/// 取得年初特休計算方式
/// </summary>
/// <param name="BPPYN">年度專案計畫編號</param>
/// <returns>S=加總上年生效(正數) / Z=年初時數為0</returns>
public string GetYearBeginAnnualLeaveType(string BPPYN)
{
DbCommand cmd = Query.NewCommand("SELECT BPALT FROM BPAA WHERE BPPYN=@BPPYN");
cmd.Parameters.Add(Query.NewParameter("BPPYN", BPPYN));
string s = WDAC.GetStringValue(Query.ExecuteScalar(cmd));
return s == "S" || s == "Z" ? s : "Z";
}
/// <summary>
/// 取得年度專案計畫代號對應的班表編號
/// </summary>
/// <param name="BPPYN">年度專案計畫編號</param>
/// <returns>班表編號</returns>
public string GetTimeTableNo(string BPPYN)
{
DbCommand cmd = Query.NewCommand("SELECT BPPNM FROM BPAA WHERE BPPYN=@BPPYN");
cmd.Parameters.Add(Query.NewParameter("BPPYN", BPPYN));
var bppnm = WDAC.GetStringValue(Query.ExecuteScalar(cmd));
cmd.CommandText = "SELECT BPTME FROM BPRJ WHERE BPPNM=@BPPNM";
cmd.Parameters.Clear();
cmd.Parameters.Add(Query.NewParameter("BPPNM", bppnm));
return WDAC.GetStringValue(Query.ExecuteScalar(cmd));
}
}