64 lines
2.6 KiB
SQL
64 lines
2.6 KiB
SQL
-- Add order_id column to project_quotes table for ordrestatus.dk integration
|
|
ALTER TABLE project_quotes
|
|
ADD COLUMN order_id VARCHAR(100) NULL COMMENT 'ID fra ordrestatus.dk system',
|
|
ADD COLUMN order_status VARCHAR(50) NULL DEFAULT 'pending' COMMENT 'Status fra ordrestatus.dk',
|
|
ADD COLUMN order_url VARCHAR(500) NULL COMMENT 'Tracking URL fra ordrestatus.dk';
|
|
|
|
-- Create index for faster lookups
|
|
CREATE INDEX idx_project_quotes_order_id ON project_quotes(order_id);
|
|
|
|
-- Create table for tracking order synchronization
|
|
CREATE TABLE IF NOT EXISTS order_sync_log (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
quote_id INT NOT NULL,
|
|
order_id VARCHAR(100) NOT NULL,
|
|
sync_action VARCHAR(50) NOT NULL,
|
|
sync_status VARCHAR(20) NOT NULL,
|
|
sync_data JSON,
|
|
error_message TEXT NULL,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
INDEX idx_quote_id (quote_id),
|
|
INDEX idx_order_id (order_id),
|
|
FOREIGN KEY (quote_id) REFERENCES project_quotes(id) ON DELETE CASCADE
|
|
);
|
|
|
|
-- Create table for dynamic material categories management
|
|
CREATE TABLE IF NOT EXISTS dynamic_categories (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
name VARCHAR(100) UNIQUE NOT NULL,
|
|
parent_id INT NULL,
|
|
description TEXT,
|
|
is_active BOOLEAN DEFAULT TRUE,
|
|
sort_order INT DEFAULT 0,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
INDEX idx_parent_id (parent_id),
|
|
FOREIGN KEY (parent_id) REFERENCES dynamic_categories(id) ON DELETE SET NULL
|
|
);
|
|
|
|
-- Insert default categories for tømrer work
|
|
INSERT IGNORE INTO dynamic_categories (name, description, sort_order) VALUES
|
|
('Trækonstruktion', 'Konstruktionstræ, spærtræ, bjælker', 1),
|
|
('Pladematerialer', 'Gipsplader, spanplader, krydsfiner', 2),
|
|
('Isolering', 'Mineraluld, glasuld, fiberplader', 3),
|
|
('Beslag og skruer', 'Metalbejslag, træskruer, bolte', 4),
|
|
('Tag og tækning', 'Tagpap, tagsten, tagrender', 5),
|
|
('Gulvmaterialer', 'Parket, laminat, tæpper', 6),
|
|
('Døre og vinduer', 'Inderdøre, yderdøre, vinduer', 7),
|
|
('Værktøj og maskiner', 'Håndværktøj, elværktøj', 8),
|
|
('Transport og levering', 'Leveringsomkostninger, transport', 9),
|
|
('Øvrigt', 'Andre materialer og ydelser', 10);
|
|
|
|
-- Create table for CSV import history
|
|
CREATE TABLE IF NOT EXISTS csv_import_history (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
filename VARCHAR(255) NOT NULL,
|
|
import_type ENUM('static', 'dynamic') DEFAULT 'dynamic',
|
|
total_rows INT NOT NULL DEFAULT 0,
|
|
successful_rows INT NOT NULL DEFAULT 0,
|
|
failed_rows INT NOT NULL DEFAULT 0,
|
|
detected_columns JSON,
|
|
import_summary JSON,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
);
|