Add step type support for work order profiles and steps, update database schema, APIs, and UI components to handle configurable step types.
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
-- Work Order Profiles
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM sys.tables WHERE name = 'wo_profiles')
|
||||
BEGIN
|
||||
CREATE TABLE wo_profiles (
|
||||
id INT IDENTITY PRIMARY KEY,
|
||||
name NVARCHAR(200) NOT NULL,
|
||||
description NVARCHAR(MAX),
|
||||
category NVARCHAR(100),
|
||||
default_priority NVARCHAR(10) NOT NULL DEFAULT 'normal',
|
||||
default_duration_hours INT,
|
||||
default_instructions NVARCHAR(MAX),
|
||||
active BIT NOT NULL DEFAULT 1,
|
||||
created_at DATETIME2 NOT NULL DEFAULT GETUTCDATE(),
|
||||
updated_at DATETIME2 NOT NULL DEFAULT GETUTCDATE()
|
||||
);
|
||||
END
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM sys.tables WHERE name = 'wo_profile_steps')
|
||||
BEGIN
|
||||
CREATE TABLE wo_profile_steps (
|
||||
id INT IDENTITY PRIMARY KEY,
|
||||
profile_id INT NOT NULL REFERENCES wo_profiles(id) ON DELETE CASCADE,
|
||||
step_order INT NOT NULL,
|
||||
title NVARCHAR(200) NOT NULL,
|
||||
description NVARCHAR(MAX),
|
||||
required BIT NOT NULL DEFAULT 1
|
||||
);
|
||||
|
||||
CREATE INDEX ix_profile_steps ON wo_profile_steps (profile_id, step_order);
|
||||
END
|
||||
@@ -0,0 +1,15 @@
|
||||
-- Add step_type and type_config to profile steps and WO steps
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id = OBJECT_ID('wo_profile_steps') AND name = 'step_type')
|
||||
ALTER TABLE wo_profile_steps ADD step_type NVARCHAR(30) NOT NULL DEFAULT 'work_step';
|
||||
-- 'work_step' | 'photo' | 'inspection' | 'note'
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id = OBJECT_ID('wo_profile_steps') AND name = 'type_config')
|
||||
ALTER TABLE wo_profile_steps ADD type_config NVARCHAR(MAX) NULL;
|
||||
-- JSON; shape depends on step_type (see CLAUDE.md)
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id = OBJECT_ID('wo_steps') AND name = 'step_type')
|
||||
ALTER TABLE wo_steps ADD step_type NVARCHAR(30) NOT NULL DEFAULT 'work_step';
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM sys.columns WHERE object_id = OBJECT_ID('wo_steps') AND name = 'type_config')
|
||||
ALTER TABLE wo_steps ADD type_config NVARCHAR(MAX) NULL;
|
||||
Reference in New Issue
Block a user