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
+65
View File
@@ -0,0 +1,65 @@
# 活動人員管理
## 資料關聯
Classes.ID (1) <-> (*) SignUp.CourseID
## 資料類別
* 各資料存取類別、資料集合類別、資料類別已有程式碼
* 如需擴充加在 DAC_XXXX2.cs 裡面
* DAC_Classes:活動資料處理類別
* ClassesList:活動資料集類別
* ClassesItem:活動資料項目類別
* DAC_SignUp:活動參加人員資料處理類別
* SignUpList:活動參加人員資料集類別
* SignUpItem:活動參加人員資料項目類別
- 主要欄位:ID, CourseID, SeqNo, Name, Mobile, IDNumber, QRCode, SignUpType, CheckInTime, CheckOutTime, IDType, MealType, Email, Gender, LossJobTimes, AgreementStatus
## 畫面檔
### 活動參加人員
* Forms/SignUpList.aspx
* 畫面上方查詢活動,用下拉選擇活動
* 畫面下方列出活動參加人員
* 分頁顯示,每頁預設 20 筆,可選 10, 20, 50, 100 筆
* 分頁列 [第一頁][上一頁] 第[頁數下拉]頁 [下一頁][最後頁] | 每頁[筆數下拉]筆共[筆數]筆
### 匯入參加人員
* Forms/SignUpImport.aspx
* 畫面上方查詢活動,用下拉選擇活動
* 選擇 .xlsx 檔案,上傳
* 列出預覽及驗證錯誤處
* 執行匯入,匯入選擇到的活動
* 匯入格式與必要欄位是 Name 學員姓名、Mobile 手機號
* 要能偵測並跳過表頭
### 匯出參加人員
* Forms/SignUpExport.aspx
* 畫面上方查詢活動,用下拉選擇活動
* 執行匯出 .xlsx 檔
* 匯出格式是
* 表頭:活動名稱、日期、地點(空行)
* 表身:序號、學員姓名、手機號、簽到時間、簽退時間、身分別、身分證字號、餐點、電子郵件、失業給付認定次數、性別、報名方式
## 後端服務
* Services/ClassesService.asmx
* 活動的後端服務
* SearchClasses:查詢活動清單
* SearchProjects:搜尋計畫(用於自動完成)
* Services/SignUpService.asmx
* 活動參加人員的後端服務
* SearchSignUps:以活動編號(CourseID)查詢參加人員(基本查詢)
* SearchSignUpsAdvanced:進階查詢(支援序號、身分別、身分證字號、餐點、Email 等條件)
* SaveSignUp:儲存活動參加人員(新增或更新)
* DeleteSignUp(int id, int dbAppNo):刪除活動參加人員
* ConfirmImport(int courseID, List<SignUpItem> items, bool clearBefore):執行活動參加人員匯入
* ExportSignUps(int courseID, string timeFormat):匯出活動參加人員
* SendSmsBatch(int courseID, List<int> signupIds):批量發送簡訊
* GetSignUpById(int signupId):查詢單筆參加人員
* CheckBalance:查詢簡訊點數餘額
* Services/FileUploadHandler.ashx
* 檔案上傳處理器
* action=ProcessImportFile:上傳並解析匯入 Excel 檔案(含驗證),參數 courseID 由 QueryString 傳入
## 技術規格
* 前端使用 Vue.js 實作,不使用 Server Control
* 後端使用 WebService,要 EnableSession