feat: 年度課程執行狀況匯出移除計畫別並新增講師及滿意度欄位
This commit is contained in:
@@ -481,8 +481,9 @@ namespace Education
|
||||
{
|
||||
DbCommand cmd = NewCommand();
|
||||
cmd.CommandText = @"
|
||||
SELECT A.編號, A.訓練名稱, '' AS 訓練計畫別, A.訓練日期, A.訓練日期迄, A.訓練時數, '' AS 訓練場地,
|
||||
0 AS 訓練人數, A.預估經費, 0 AS 實際經費, 0.0 AS 學員出席率, 0.0 AS 整體滿意度
|
||||
SELECT A.編號, A.訓練名稱, '' AS 講師姓名, A.訓練日期, A.訓練日期迄, A.訓練時數, '' AS 訓練場地,
|
||||
0 AS 訓練人數, A.預估經費, 0 AS 實際經費, 0.0 AS 學員出席率, 0.0 AS 整體滿意度,
|
||||
0.0 AS 講師滿意度, 0.0 AS 課程滿意度, 0.0 AS 行政滿意度, 0.0 AS 餐點滿意度, 0.0 AS 場地滿意度
|
||||
FROM 訓練課程企劃 A
|
||||
WHERE A.訓練日期 >= @訓練日期1
|
||||
AND A.訓練日期 < @訓練日期2
|
||||
@@ -502,29 +503,42 @@ namespace Education
|
||||
DAC_課程報名 Dao課程報名 = new DAC_課程報名(conn);
|
||||
DAC_課程經費 Dao課程經費 = new DAC_課程經費(conn);
|
||||
DAC_滿意度調查課程企劃 Dao滿意度調查課程企劃 = new DAC_滿意度調查課程企劃(conn);
|
||||
DAC_滿意度調查 Dao滿意度調查 = new DAC_滿意度調查(conn);
|
||||
DAC_訓練課程內容 Dao訓練課程內容 = new DAC_訓練課程內容(conn);
|
||||
|
||||
// 填入統計欄位
|
||||
foreach (DataRow r in result.Rows)
|
||||
{
|
||||
int 編號 = DAC.GetInt32(r["編號"]);
|
||||
string 訓練計畫別 = "";
|
||||
|
||||
// 取得訓練計畫別
|
||||
DataTable 計畫Table = Dao課程報名.Select確定報名學員計畫(編號);
|
||||
foreach (DataRow r1 in 計畫Table.Rows)
|
||||
// 取得講師姓名
|
||||
string 講師姓名 = "";
|
||||
HashSet<string> 講師Names = new HashSet<string>();
|
||||
訓練課程內容List 課程List = Dao訓練課程內容.SelectBy課程企劃(編號);
|
||||
foreach (訓練課程內容 課程 in 課程List)
|
||||
{
|
||||
訓練計畫別 += DAC.GetString(r1["計畫年度名稱"]) + "\r\n";
|
||||
string 姓名 = Select選定講師名稱(編號, 課程.課程序號);
|
||||
if (!string.IsNullOrEmpty(姓名) && 講師Names.Add(姓名))
|
||||
講師姓名 += 姓名 + "\r\n";
|
||||
}
|
||||
if (訓練計畫別.Length > 0)
|
||||
訓練計畫別 = 訓練計畫別.Trim();
|
||||
if (講師姓名.Length > 0)
|
||||
講師姓名 = 講師姓名.Trim();
|
||||
|
||||
// 取得場地及滿意度
|
||||
DataTable 滿意度Table = Dao滿意度調查課程企劃.Select滿意度統計(編號);
|
||||
DataTable 課程滿意度Table = Dao滿意度調查.Select年度課程滿意度統計(編號);
|
||||
|
||||
r["講師姓名"] = 講師姓名;
|
||||
r["訓練場地"] = Select選定場地名稱(編號);
|
||||
r["訓練人數"] = Dao課程報名.Get出席人數(編號);
|
||||
r["實際經費"] = Dao課程經費.Get經費合計(編號);
|
||||
r["學員出席率"] = Dao課程報名.Get出席率(編號);
|
||||
r["整體滿意度"] = 滿意度Table.Rows.Count > 0 ? DAC.GetDecimal(滿意度Table.Rows[0]["整體滿意度"]) : 0;
|
||||
r["行政滿意度"] = 滿意度Table.Rows.Count > 0 ? DAC.GetDecimal(滿意度Table.Rows[0]["行政滿意度"]) : 0;
|
||||
r["餐點滿意度"] = 滿意度Table.Rows.Count > 0 ? DAC.GetDecimal(滿意度Table.Rows[0]["餐點滿意度"]) : 0;
|
||||
r["場地滿意度"] = 滿意度Table.Rows.Count > 0 ? DAC.GetDecimal(滿意度Table.Rows[0]["場地滿意度"]) : 0;
|
||||
r["講師滿意度"] = 課程滿意度Table.Rows.Count > 0 ? DAC.GetDecimal(課程滿意度Table.Rows[0]["講師滿意度"]) : 0;
|
||||
r["課程滿意度"] = 課程滿意度Table.Rows.Count > 0 ? DAC.GetDecimal(課程滿意度Table.Rows[0]["課程滿意度"]) : 0;
|
||||
r.EndEdit();
|
||||
}
|
||||
result.AcceptChanges();
|
||||
|
||||
@@ -194,6 +194,23 @@ namespace Education
|
||||
return Select(cmdSelect);
|
||||
}
|
||||
|
||||
///<summary>
|
||||
/// 講師滿意度 = (講師的授課方式 + 講師的專業知識) / 2
|
||||
/// 課程滿意度 = (課程的實用性 + 課程時數安排) / 2
|
||||
/// 題目編號 1:課程的實用性 2:講師的授課方式 3:講師的專業知識 4:課程時數安排
|
||||
///</summary>
|
||||
public DataTable Select年度課程滿意度統計(int 訓練課程企劃編號)
|
||||
{
|
||||
DbCommand cmdSelect = NewCommand(
|
||||
@"SELECT
|
||||
(SELECT ISNULL(AVG(CAST(分數 AS FLOAT)) * 20, 0) FROM 滿意度調查
|
||||
WHERE 訓練課程企劃編號 = @訓練課程企劃編號 AND 課程序號 <> 0 AND 題目編號 IN (2, 3)) AS 講師滿意度,
|
||||
(SELECT ISNULL(AVG(CAST(分數 AS FLOAT)) * 20, 0) FROM 滿意度調查
|
||||
WHERE 訓練課程企劃編號 = @訓練課程企劃編號 AND 課程序號 <> 0 AND 題目編號 IN (1, 4)) AS 課程滿意度 ");
|
||||
AddParam(cmdSelect, "訓練課程企劃編號", 訓練課程企劃編號);
|
||||
return Select(cmdSelect);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
///<summary>
|
||||
|
||||
Reference in New Issue
Block a user