Settings Functions
Settings Functions
varchar2)
RETURN VARCHAR2
IS
settingDetails "settings"%rowtype;
middleOfficeUuid middle_office_type;
slots_days day_table_type;
slotsCount slot_table_type;
counter NUMBER := 0;
formattedDate VARCHAR2(10);
durations VARCHAR2(100);
slotDuration VARCHAR2(100);
slotDurationPeriod varchar2(100);
fromTime varchar2(50);
fromTime1 varchar2(50);
fromHours varchar2(50);
fromMinutes varchar2(50);
slotFromTime VARCHAR2(50);
slotToTime NUMBER := 0;
slotToTimeDuration VARCHAR2(50);
toTime VARCHAR2(50);
startDate DATE;
endDate DATE;
loopDate DATE;
loopVar DATE;
slots_booked slots_table_type;
begin
select *
into settingDetails
from "settings"
where "uuid" = uuid;
dbms_output.put_line(settingDetails."uuid");
select uuid_list("uuid")
bulk collect into middleOfficeUuid
from "middle_office_person";
--selecting all the days of the week:
IF middleOfficeUuid.COUNT != 0 THEN
FOR i IN 1..middleOfficeUuid.COUNT
LOOP
startDate := TRUNC(SYSDATE);
endDate := TRUNC(SYSDATE) + 6;
loopVar := startDate;
loopDate := startDate;
dbms_output.put_line(middleOfficeUuid(i).uuid);
dbms_output.put_line(TO_CHAR(loopVar, 'D'));
WHILE loopVar <= endDate
LOOP
dbms_output.put_line(slotsCount(1).obCount);
IF LENGTH(fromTime1) = 4 THEN
fromMinutes := fromMinutes * 10;
dbms_output.put_line(fromMinutes);
END IF;
IF slotToTime != 0 THEN
toTime := TO_CHAR(TRUNC(slotToTime / 60), 'FM00') || '.' ||
TO_CHAR(MOD(slotToTime, 60), 'FM00');
END IF;
slotToTimeDuration:= toTime;
--inserting the records --
INSERT INTO "reservation_slot"(
"id",
"date",
"from_time",
"to_time",
"allowed_clients",
"client_id",
"status",
"uuid",
"created_by",
"updated_by",
"created_at",
"updated_at",
"zoom_id"
)
VALUES (SYS_GUID(),TO_DATE('10/23/2023',
'MM/DD/YYYY'),'10.30','11.30',1,null,'Open','324-7785765143-12421','235235-
23523523','23523523523---235',
current_timestamp,current_timestamp,'2152525');
COMMIT;
end loop;
end if;
END IF;
end IF;
loopDate := loopDate + 1;
loopVar := loopDate;
end loop;
end loop;
IF counter = 0 THEN
RETURN '{"status":"FAIL","message":"All OBS slots for this week are already created"}';
END IF;
-- Insert reservation slots into the database
-- FOR i IN 1..1 loop
-- INSERT INTO "reservation_slot"(
-- "id",
-- "date",
-- "from_time",
-- "to_time",
-- "allowed_clients",
-- "client_id",
-- "status",
-- "uuid",
-- "created_by",
-- "updated_by",
-- "created_at",
-- "updated_at",
-- "zoom_id"
-- )
-- VALUES (SYS_GUID(),TO_DATE('10/23/2023',
'MM/DD/YYYY'),'10.30','11.30',1,null,'Open','324-7785765143-12421','235235-
23523523','23523523523---235',
-- current_timestamp,current_timestamp,'2152525');
-- end loop;
COMMIT;
else
RETURN '{"status":"FAIL","message":"Middle Office Person details not found"}';
end if;
end;
/