chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore - 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
# 資料同步
|
||||
|
||||
## 員工資料下載
|
||||
* Services/BPSNService.asmx
|
||||
* METHOD Download:下載員工資料
|
||||
* 資料存取類別:DAC_BPSN
|
||||
* 資料讀取方法:SelectForClient()
|
||||
|
||||
## 報到資料上傳
|
||||
* Services/SignUpService.asmx
|
||||
* METHOD UploadCheckIns(int courseID, List<CheckInItem> items):上傳簽到簽退資料清單
|
||||
* 資料表
|
||||
* SignUp 參加人員
|
||||
* Classes 課程
|
||||
* 資料存取類別
|
||||
* DAC_SignUp 參加人員
|
||||
* DAC_Classes 課程
|
||||
* 上傳資料欄位(CheckInItem)
|
||||
* CourseID (INTEGER NOT NULL) - 課程ID
|
||||
* Name (TEXT NOT NULL) - 學員姓名
|
||||
* Mobile (TEXT NOT NULL) - 手機號
|
||||
* IDNumber (TEXT) - 身分證字號
|
||||
* IDType (TEXT) - 身分別
|
||||
* MealType (TEXT) - 餐點
|
||||
* Email (TEXT) - 電子郵件
|
||||
* SignUpType (TEXT) - 報名方式(預約 / 現場)
|
||||
* CheckInType (TEXT) - 簽到類別(CHECKIN / CHECKOUT)
|
||||
* CheckInTime (DATETIME) - 簽到/簽退時間
|
||||
* 驗證規則
|
||||
* CourseID: 必填、必須存在於課程表 Classes.ID
|
||||
* Name: 必填
|
||||
* Mobile: 必填
|
||||
* SignUpType: 必填,允許值 (預約 / 現場)
|
||||
* CheckInType: 必填,允許值(CHECKIN / CHECKOUT)
|
||||
* CheckInTime: 必填,格式 yyyy-MM-dd HH:mm:ss
|
||||
* 處理邏輯
|
||||
* 用 CourseID 查詢 Classes.ID,若不存在則拒絕整批資料
|
||||
* 按 (CourseID, Name, Mobile) 作為複合主鍵查詢 SignUp 表
|
||||
* 若找到則依照 CheckInType 使用傳入的 CheckInTime 更新 CheckInTime/CheckOutTime,計入成功筆數
|
||||
* 若沒找到則新增 (SignUpType="現場"),並依 CheckInType 設定時間欄位,計入成功筆數
|
||||
* 不使用 transaction
|
||||
* 回應格式
|
||||
* 成功: { Success: true, Message: "...", Data: { CreatedCount, UpdatedCount, FailedCount, SkippedCount, SuccessIDs, Errors } }
|
||||
* 失敗: { Success: false, Message: "..." }
|
||||
|
||||
Reference in New Issue
Block a user