690417:1538 Refactor Work flow ADR-021
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
-- ==========================================================
|
||||
-- Delta 06: Add CIRCULATION_FLOW_V1 Workflow Definition
|
||||
-- ==========================================================
|
||||
-- Purpose : สร้าง Workflow Definition สำหรับใบเวียนภายใน (Circulation)
|
||||
-- Required : ก่อน delta นี้ ตาราง workflow_definitions ต้องมีอยู่แล้ว (ADR-001)
|
||||
-- Renamed : CIRCULATION_INTERNAL_V1 → CIRCULATION_FLOW_V1 (ตาม naming convention)
|
||||
-- States :
|
||||
-- DRAFT (initial) → START → ROUTING
|
||||
-- ROUTING → COMPLETE → COMPLETED (terminal)
|
||||
-- ROUTING → FORCE_CLOSE → CANCELLED (terminal)
|
||||
-- ==========================================================
|
||||
|
||||
INSERT INTO `workflow_definitions` (
|
||||
`id`,
|
||||
`workflow_code`,
|
||||
`version`,
|
||||
`description`,
|
||||
`dsl`,
|
||||
`compiled`,
|
||||
`is_active`,
|
||||
`created_at`,
|
||||
`updated_at`
|
||||
)
|
||||
VALUES (
|
||||
UUID(),
|
||||
'CIRCULATION_FLOW_V1',
|
||||
1,
|
||||
'Circulation Workflow — DRAFT → ROUTING → COMPLETED | CANCELLED',
|
||||
JSON_OBJECT(
|
||||
'workflow', 'CIRCULATION_FLOW_V1',
|
||||
'version', 1,
|
||||
'states', JSON_ARRAY(
|
||||
JSON_OBJECT(
|
||||
'name', 'DRAFT',
|
||||
'initial', TRUE,
|
||||
'on', JSON_OBJECT(
|
||||
'START', JSON_OBJECT('to', 'ROUTING')
|
||||
)
|
||||
),
|
||||
JSON_OBJECT(
|
||||
'name', 'ROUTING',
|
||||
'on', JSON_OBJECT(
|
||||
'COMPLETE', JSON_OBJECT('to', 'COMPLETED'),
|
||||
'FORCE_CLOSE', JSON_OBJECT('to', 'CANCELLED')
|
||||
)
|
||||
),
|
||||
JSON_OBJECT('name', 'COMPLETED', 'terminal', TRUE),
|
||||
JSON_OBJECT('name', 'CANCELLED', 'terminal', TRUE)
|
||||
)
|
||||
),
|
||||
JSON_OBJECT(
|
||||
'initialState', 'DRAFT',
|
||||
'states', JSON_OBJECT(
|
||||
'DRAFT', JSON_OBJECT(
|
||||
'initial', TRUE,
|
||||
'terminal', FALSE,
|
||||
'transitions', JSON_OBJECT(
|
||||
'START', JSON_OBJECT('to', 'ROUTING', 'events', JSON_ARRAY())
|
||||
)
|
||||
),
|
||||
'ROUTING', JSON_OBJECT(
|
||||
'initial', FALSE,
|
||||
'terminal', FALSE,
|
||||
'transitions', JSON_OBJECT(
|
||||
'COMPLETE', JSON_OBJECT('to', 'COMPLETED', 'events', JSON_ARRAY()),
|
||||
'FORCE_CLOSE', JSON_OBJECT('to', 'CANCELLED', 'events', JSON_ARRAY())
|
||||
)
|
||||
),
|
||||
'COMPLETED', JSON_OBJECT(
|
||||
'initial', FALSE,
|
||||
'terminal', TRUE,
|
||||
'transitions', JSON_OBJECT()
|
||||
),
|
||||
'CANCELLED', JSON_OBJECT(
|
||||
'initial', FALSE,
|
||||
'terminal', TRUE,
|
||||
'transitions', JSON_OBJECT()
|
||||
)
|
||||
)
|
||||
),
|
||||
TRUE,
|
||||
NOW(),
|
||||
NOW()
|
||||
);
|
||||
|
||||
-- Verify
|
||||
-- SELECT workflow_code, version, is_active FROM workflow_definitions WHERE workflow_code = 'CIRCULATION_FLOW_V1';
|
||||
Reference in New Issue
Block a user