38 lines
1.9 KiB
Markdown
38 lines
1.9 KiB
Markdown
# 課程報表
|
||
|
||
## 畫面檔:
|
||
~/Forms/ClassesReport.aspx
|
||
|
||
## 資料存取類別
|
||
~/Models/DAC_Classes1.cs / DAC_Classes2.cs
|
||
- DAC_Classes:資料處理類別
|
||
- ClassesList:資料集類別
|
||
- ClassesItem:資料項目類別
|
||
~/Models/DAC_SignUp1.cs / DAC_SignUp2.cs
|
||
- DAC_SignUp:資料處理類別
|
||
- SignUpList:資料集類別
|
||
- SignUpItem:資料項目類別
|
||
|
||
## 畫面排列:
|
||
上方:搜尋列
|
||
- 比照 ~/Forms/ClassesList.aspx
|
||
下方:搜尋結果列表
|
||
- 除了操作欄位之外的資料顯示欄位比照 ~/Forms/ClassesList.aspx
|
||
- 報表匯出按鈕放置在操作欄,按下後呼叫後端的 ExportClassesReport
|
||
|
||
## 後端處理
|
||
- ~/Services/ClassesService.asmx
|
||
|
||
- ExportClassesReport(int classesID, string timeFormat = "datetime"):匯出學員簽到表
|
||
- 輸入參數:classesID(課程 ID)、timeFormat(時間格式,"datetime" 顯示完整日期時間,"time" 只顯示時間)
|
||
- 查詢課程資訊(含 ProjectName)及該課程所有參加人員
|
||
- 統計:實到人數、應到人數、缺席人數、現場報名、異常人數
|
||
- 使用 NPOI 產生 Excel,欄位:序號、學員姓名、手機號碼、身分證字號、性別、認定次數、用餐別、報名方式、簽到時間、簽退時間、出席狀況
|
||
- 回傳:BaseResponse(Success, Message, Data: { FileName, FileBase64, FileSize, DataCount })
|
||
|
||
- ExportClassesList(DateTime? courseDate1, DateTime? courseDate2, string projectID):匯出課程清單
|
||
- 輸入參數:courseDate1(課程日期起)、courseDate2(課程日期迄)、projectID(計畫代號)
|
||
- 查詢符合條件的課程,並逐一統計各課程的實到/應到/缺席/現場報名人數
|
||
- 使用 NPOI 產生 Excel,欄位:課程名稱、課程地點、授課講師、實到人數、應到人數、缺席人數、現場報名
|
||
- 回傳:BaseResponse(Success, Message, Data: { FileName, FileBase64, FileSize })
|