TMAttLog Source Code

🇹🇭 ภาษาไทย

แหล่งข้อมูล: Source code จาก ~/Downloads/TMAttLog-main (GitHub private repo: prasit4499/TMAttLog)
ภาษา: C# .NET
วันที่ ingest: 2026-04-28

ไม่มี README — reconstruct architecture จาก code โดยตรง


ไฟล์ที่อ่าน

ไฟล์หมายเหตุ
TMAttLog/Form1.csWinForms GUI หลัก; ZKTeco connect + Access DB + SQL Server backup
TMAttLogTaskProcessor/TaskProcessor.csHeadless version; MCIC only; RunAutoProcess(dbName, machineNumber)
TMAttLog2PayrollTaskProcessor/Program.csStage 2; อ่าน International DB → upsert payroll databases
TMAttLog2PayrollTaskProcessorVN/Program.csStub (Hello World เท่านั้น)
TMAttLogTaskProcessorVN/Program.csไม่ได้อ่าน (assumed stub)

Insights สำคัญที่สกัดได้

  1. Two-stage pipeline: Stage 1 = ZKTeco → SQL Server staging; Stage 2 = staging → multiple payroll databases
  2. 7 payroll databases รับข้อมูลจาก stage 2: MCIC50, MCIC50_02, MCIC50_03, LF50, VALLEY50, EX50, MCICVN
  3. Machine number routing: < 199 → TMSTAMP (all DBs); 199–299 → TMSTAMP_OTH (MC50 only)
  4. Incremental backup: ใช้ MAX(TMTIME) ป้องกัน duplicate; TMSTAMP upsert (merge timestamps)
  5. SQL Server 2100 parameter limit: แก้ด้วย batch 1000 ใน LoadEmployeesInBatches()
  6. ZKTeco platforms: ZMM (GetGeneralLogData) vs ZEM (ReadGeneralLogData + SSR_GetGeneralLogData)
  7. TMSTAMP_OTH table สำหรับ special machines — ไม่ documented ใน ZKTeco manual แต่พบใน code
  8. VN versions are stubs — ยังไม่ implement จริง