From 11ba82ebf05ebf5d556dd466028a3f718ef921dc Mon Sep 17 00:00:00 2001 From: SEK1RO Date: Wed, 1 Apr 2026 10:58:05 +0300 Subject: [PATCH] 4 studio usage --- 4/data.js | 8 ++++---- 4/schema.sql | 20 +++++++++++--------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/4/data.js b/4/data.js index 770a405..98499d4 100644 --- a/4/data.js +++ b/4/data.js @@ -148,7 +148,7 @@ function GenPrice(max = 1000) { const ClassTypes = ['Theory', 'Practice'] const RegistrationStatuses = ['NotPaid', 'Paid'] -const EquipmentUsageTypes = ['PayOnce', 'PayMonthly'] +const UsageTypes = ['PayOnce', 'PayMonthly'] const COUNT = 10 @@ -196,8 +196,8 @@ script += 'INSERT INTO "Client" ("Person_id", phone, email, billing_account) ' + }) // Studio -script += 'INSERT INTO "Studio" (address, capacity, begin_date, duration) ' + Values(() => { - return `(${GenAddress()}, ${GenInt(10, 80)}, ${GenTimestamp()}, ${GenIntervalHours(12)})` +script += 'INSERT INTO "Studio" (address, capacity, begin_date, duration, usage_price, usage_type) ' + Values(() => { + return `(${GenAddress()}, ${GenInt(10, 80)}, ${GenTimestamp()}, ${GenIntervalHours(12)}, ${GenPrice(300)}, '${UsageTypes[GenMaxUInt(UsageTypes.length)]}')` }) // Course @@ -232,7 +232,7 @@ script += Many(`INSERT INTO "FoodProduct" ("FoodProductEnum_id", "Class_begin_da // Equipment script += 'INSERT INTO "Equipment" ("Studio_id", name, usage_price, usage_type, delivery_price, delivery_date) ' + Values(() => { - return `(${GenInt(1, COUNT + 1)}, 'оборудование ${GenMaxUInt(100)}', ${GenPrice(300)}, '${EquipmentUsageTypes[GenMaxUInt(EquipmentUsageTypes.length)]}', ${GenPrice(200)}, ${GenTimestamp()})` + return `(${GenInt(1, COUNT + 1)}, 'оборудование ${GenMaxUInt(100)}', ${GenPrice(300)}, '${UsageTypes[GenMaxUInt(UsageTypes.length)]}', ${GenPrice(200)}, ${GenTimestamp()})` }) // Class_Equipment diff --git a/4/schema.sql b/4/schema.sql index 117be5a..954217e 100644 --- a/4/schema.sql +++ b/4/schema.sql @@ -1,6 +1,12 @@ DROP TABLE IF EXISTS "Person", "Client", "Master", "Studio", "Course", "Class", "Class_Master", "Registration", "FoodProductEnum", "FoodProduct", "Equipment", "Class_Equipment", "DrugEnum", "Drug", "DrugIntolerance", "ActivityLog"; -DROP TYPE IF EXISTS "ClassType", "RegistrationStatus", "EquipmentUsageType"; +DROP TYPE IF EXISTS "ClassType", "RegistrationStatus", "UsageType"; + + +CREATE TYPE "UsageType" AS ENUM ( + 'PayOnce', + 'PayMonthly' +); CREATE TABLE "Person" ( @@ -40,7 +46,9 @@ CREATE TABLE "Studio" ( address text UNIQUE NOT NULL, capacity int NOT NULL CHECK (capacity > 0), begin_date timestamptz NOT NULL, - duration interval NOT NULL + duration interval NOT NULL, + usage_price real NOT NULL, + usage_type "UsageType" NOT NULL ); @@ -154,18 +162,12 @@ CREATE TABLE "FoodProduct" ( ); -CREATE TYPE "EquipmentUsageType" AS ENUM ( - 'PayOnce', - 'PayMonthly' -); - - CREATE TABLE "Equipment" ( id int GENERATED ALWAYS AS IDENTITY PRIMARY KEY, "Studio_id" int, name text NOT NULL, usage_price real NOT NULL, - usage_type "EquipmentUsageType" NOT NULL, + usage_type "UsageType" NOT NULL, delivery_price real NOT NULL, delivery_date timestamptz NOT NULL,