cmc-sales/go/sql/queries/purchase_orders.sql

65 lines
1.6 KiB
SQL

-- name: GetPurchaseOrder :one
SELECT * FROM purchase_orders
WHERE id = ? LIMIT 1;
-- name: ListPurchaseOrders :many
SELECT * FROM purchase_orders
ORDER BY issue_date DESC
LIMIT ? OFFSET ?;
-- name: CreatePurchaseOrder :execresult
INSERT INTO purchase_orders (
issue_date, dispatch_date, date_arrived, title,
principle_id, principle_reference, document_id,
currency_id, ordered_from, description, dispatch_by,
deliver_to, shipping_instructions, jobs_text,
freight_forwarder_text, parent_purchase_order_id
) VALUES (
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?
);
-- name: UpdatePurchaseOrder :exec
UPDATE purchase_orders
SET issue_date = ?,
dispatch_date = ?,
date_arrived = ?,
title = ?,
principle_id = ?,
principle_reference = ?,
document_id = ?,
currency_id = ?,
ordered_from = ?,
description = ?,
dispatch_by = ?,
deliver_to = ?,
shipping_instructions = ?,
jobs_text = ?,
freight_forwarder_text = ?,
parent_purchase_order_id = ?
WHERE id = ?;
-- name: DeletePurchaseOrder :exec
DELETE FROM purchase_orders
WHERE id = ?;
-- name: GetPurchaseOrdersByPrinciple :many
SELECT * FROM purchase_orders
WHERE principle_id = ?
ORDER BY issue_date DESC
LIMIT ? OFFSET ?;
-- name: GetPurchaseOrderRevisions :many
SELECT * FROM purchase_orders
WHERE parent_purchase_order_id = ?
ORDER BY id DESC;
-- name: SearchPurchaseOrdersByTitle :many
SELECT * FROM purchase_orders
WHERE title LIKE CONCAT('%', ?, '%')
ORDER BY issue_date DESC
LIMIT ? OFFSET ?;
-- name: GetPurchaseOrderByDocumentID :one
SELECT * FROM purchase_orders
WHERE document_id = ?
LIMIT 1;