CREATE TABLE IF NOT EXISTS public."Hr_T_AttendanceLog" ( "Id" uuid NOT NULL DEFAULT gen_random_uuid(), "TenantId" uuid NULL, "EmployeeId" uuid NULL, "CardNo" varchar(64) NULL, "EventTime" timestamp NOT NULL, "Direction" varchar(8) NOT NULL DEFAULT 'Auto', "Source" varchar(16) NULL, "DeviceCode" varchar(64) NULL, "Note" varchar(512) NULL, "WorkDate" date NULL, "IsProcessed" boolean NOT NULL DEFAULT FALSE, "ProcessError" varchar(32) NULL, "CreationTime" timestamp NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC'), "CreatorId" uuid NULL, "LastModificationTime" timestamp NULL, "LastModifierId" uuid NULL, "IsDeleted" boolean NOT NULL DEFAULT FALSE, "DeletionTime" timestamp NULL, "DeleterId" uuid NULL, CONSTRAINT "PK_Hr_T_AttendanceLog" PRIMARY KEY ("Id") ); CREATE INDEX IF NOT EXISTS "IX_Hr_T_AttendanceLog_Employee" ON public."Hr_T_AttendanceLog" ("EmployeeId", "WorkDate") INCLUDE ("EventTime", "Direction", "IsDeleted", "ProcessError"); CREATE INDEX IF NOT EXISTS "IX_Hr_T_AttendanceLog_Pending" ON public."Hr_T_AttendanceLog" ("IsProcessed") WHERE "IsProcessed" = FALSE;