2026-10-06 11:24:30 +00:00
|
|
|
CREATE TABLE IF NOT EXISTS public."Hr_T_PerformanceReview"
|
|
|
|
|
(
|
|
|
|
|
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
|
|
|
|
"TenantId" uuid NULL,
|
2026-10-14 21:12:14 +00:00
|
|
|
"BranchId" uuid NOT NULL,
|
2026-10-06 11:24:30 +00:00
|
|
|
"PeriodId" uuid NOT NULL,
|
|
|
|
|
"EmployeeId" uuid NOT NULL,
|
|
|
|
|
"EmployeeName" varchar(128) NULL,
|
|
|
|
|
"ManagerId" uuid NULL,
|
|
|
|
|
"DepartmentId" uuid NULL,
|
|
|
|
|
"JobPositionId" uuid NULL,
|
|
|
|
|
"Status" varchar(16) NOT NULL DEFAULT 'GoalSetting',
|
|
|
|
|
"LastStatus" varchar(16) NULL,
|
|
|
|
|
"GoalScore" numeric(6, 2) NULL,
|
|
|
|
|
"CompetencyScore" numeric(6, 2) NULL,
|
|
|
|
|
"Feedback360Score" numeric(6, 2) NULL,
|
|
|
|
|
"OverallScore" numeric(6, 2) NULL,
|
|
|
|
|
"CalibratedScore" numeric(6, 2) NULL,
|
|
|
|
|
"RatingId" uuid NULL,
|
|
|
|
|
"SelfComment" varchar(2048) NULL,
|
|
|
|
|
"ManagerComment" varchar(2048) NULL,
|
|
|
|
|
"CalibrationNote" varchar(1024) NULL,
|
|
|
|
|
"SelfSubmittedDate" timestamp NULL,
|
|
|
|
|
"ManagerSubmittedDate" timestamp NULL,
|
|
|
|
|
"CompletedDate" timestamp NULL,
|
|
|
|
|
"IsActive" boolean NOT NULL DEFAULT TRUE,
|
|
|
|
|
"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_PerformanceReview" PRIMARY KEY ("Id")
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
DO $$
|
|
|
|
|
BEGIN
|
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'CK_Hr_T_PerformanceReview_Status') THEN
|
|
|
|
|
ALTER TABLE public."Hr_T_PerformanceReview" ADD CONSTRAINT "CK_Hr_T_PerformanceReview_Status" CHECK ("Status" IN ('GoalSetting', 'SelfReview', 'ManagerReview', 'Calibration', 'Completed'));
|
|
|
|
|
END IF;
|
|
|
|
|
END
|
|
|
|
|
$$;
|
|
|
|
|
|
|
|
|
|
DO $$
|
|
|
|
|
BEGIN
|
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'CK_Hr_T_PerformanceReview_CalibratedScore') THEN
|
|
|
|
|
ALTER TABLE public."Hr_T_PerformanceReview" ADD CONSTRAINT "CK_Hr_T_PerformanceReview_CalibratedScore" CHECK ("CalibratedScore" IS NULL OR "CalibratedScore" BETWEEN 0 AND 150);
|
|
|
|
|
END IF;
|
|
|
|
|
END
|
|
|
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE UNIQUE INDEX IF NOT EXISTS "UX_Hr_T_PerformanceReview_Employee" ON public."Hr_T_PerformanceReview" ("PeriodId", "EmployeeId") WHERE "IsDeleted" = FALSE;
|
|
|
|
|
|
|
|
|
|
CREATE INDEX IF NOT EXISTS "IX_Hr_T_PerformanceReview_Manager" ON public."Hr_T_PerformanceReview" ("ManagerId");
|