-- Şube × depo × konum × ürün × lot bakiyesi (ürün biriminde). Yalnız Tamamla yordamı (Stk_P_TransferValidate) yazar. CREATE TABLE IF NOT EXISTS public."Stk_T_Stock" ( "Id" uuid NOT NULL DEFAULT gen_random_uuid(), "TenantId" uuid NULL, "BranchId" uuid NOT NULL, "WarehouseId" uuid NOT NULL, "LocationId" uuid NOT NULL, "ProductId" uuid NOT NULL, "LotNo" varchar(64) NOT NULL DEFAULT '', "Quantity" numeric(18, 4) NOT NULL DEFAULT 0, "UomId" varchar(64) NOT NULL DEFAULT 'Adet', "InDate" timestamp NULL, "LastMoveDate" timestamp 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_Stk_T_Stock" PRIMARY KEY ("Id") ); DO $$ BEGIN IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'UQ_Stk_T_Stock_TenantId_LocationId_ProductId_LotNo') THEN ALTER TABLE public."Stk_T_Stock" ADD CONSTRAINT "UQ_Stk_T_Stock_TenantId_LocationId_ProductId_LotNo" UNIQUE ("TenantId", "LocationId", "ProductId", "LotNo"); END IF; END $$; CREATE INDEX IF NOT EXISTS "IX_Stk_T_Stock_ProductId" ON public."Stk_T_Stock" ("ProductId"); DO $$ BEGIN IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'FK_Stk_T_Stock_BranchId') THEN ALTER TABLE public."Stk_T_Stock" ADD CONSTRAINT "FK_Stk_T_Stock_BranchId" FOREIGN KEY ("BranchId") REFERENCES public."Sas_T_Branch" ("Id") ON DELETE NO ACTION ON UPDATE NO ACTION; END IF; END $$; DO $$ BEGIN IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'FK_Stk_T_Stock_LocationId') THEN ALTER TABLE public."Stk_T_Stock" ADD CONSTRAINT "FK_Stk_T_Stock_LocationId" FOREIGN KEY ("LocationId") REFERENCES public."Stk_T_Location" ("Id") ON DELETE NO ACTION ON UPDATE NO ACTION; END IF; END $$;