Files
wxapp-guantong/backend/queries/schedules.sql
T
2026-09-22 22:51:19 +08:00

54 lines
1.2 KiB
SQL

-- name: ListScheduleDaysByProjectMonth :many
SELECT * FROM schedule_days
WHERE project_id = sqlc.arg(project_id) AND date LIKE sqlc.arg(month) || '%'
ORDER BY date ASC;
-- name: GetScheduleDay :one
SELECT * FROM schedule_days
WHERE id = ?;
-- name: CreateScheduleDay :one
INSERT INTO schedule_days (id, project_id, date, status, note)
VALUES (?, ?, ?, ?, ?)
RETURNING *;
-- name: UpdateScheduleDay :one
UPDATE schedule_days
SET status = ?, note = ?, updated_at = CURRENT_TIMESTAMP
WHERE id = ?
RETURNING *;
-- name: ListTimeSlotsByDay :many
SELECT * FROM time_slots
WHERE schedule_day_id = ?
ORDER BY start_time ASC;
-- name: GetTimeSlot :one
SELECT * FROM time_slots
WHERE id = ?;
-- name: CreateTimeSlot :one
INSERT INTO time_slots (id, schedule_day_id, start_time, end_time, status)
VALUES (?, ?, ?, ?, ?)
RETURNING *;
-- name: UpdateTimeSlot :one
UPDATE time_slots
SET start_time = ?,
end_time = ?,
status = ?,
updated_at = CURRENT_TIMESTAMP
WHERE id = ?
RETURNING *;
-- name: DeleteTimeSlotsByProject :exec
DELETE FROM time_slots
WHERE schedule_day_id IN (
SELECT id FROM schedule_days
WHERE project_id = ?
);
-- name: DeleteScheduleDaysByProject :exec
DELETE FROM schedule_days
WHERE project_id = ?;