Files
thinkyu/報到系統/DOC/活動人員管理.md
T
sryang 577060bc78 chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore
- 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
2026-09-10 09:42:37 +08:00

2.9 KiB

活動人員管理

資料關聯

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 items, bool clearBefore):執行活動參加人員匯入
    • ExportSignUps(int courseID, string timeFormat):匯出活動參加人員
    • SendSmsBatch(int courseID, List signupIds):批量發送簡訊
    • GetSignUpById(int signupId):查詢單筆參加人員
    • CheckBalance:查詢簡訊點數餘額
  • Services/FileUploadHandler.ashx
    • 檔案上傳處理器
    • action=ProcessImportFile:上傳並解析匯入 Excel 檔案(含驗證),參數 courseID 由 QueryString 傳入

技術規格

  • 前端使用 Vue.js 實作,不使用 Server Control
  • 後端使用 WebService,要 EnableSession