30 lines
2.2 KiB
Python
30 lines
2.2 KiB
Python
UNIT_COST_DDL = (
|
|
"""CREATE TABLE IF NOT EXISTS b08_unit_costs (
|
|
id CHAR(36) PRIMARY KEY, project_id CHAR(36) NOT NULL, unit_cost_code VARCHAR(50) NOT NULL,
|
|
name VARCHAR(255) NOT NULL, specification VARCHAR(255) NOT NULL DEFAULT '', unit VARCHAR(30) NOT NULL,
|
|
rounding_mode VARCHAR(30) NOT NULL DEFAULT 'ROUND_HALF_UP', rounding_unit BIGINT NOT NULL DEFAULT 1,
|
|
labor_price DECIMAL(20,4) NOT NULL DEFAULT 0, material_price DECIMAL(20,4) NOT NULL DEFAULT 0,
|
|
expense_price DECIMAL(20,4) NOT NULL DEFAULT 0, total_price DECIMAL(20,4) NOT NULL DEFAULT 0,
|
|
status VARCHAR(20) NOT NULL DEFAULT 'DRAFT', version_no INT NOT NULL DEFAULT 1,
|
|
UNIQUE KEY uq_b08_unit_cost(project_id,unit_cost_code,version_no))""",
|
|
"""CREATE TABLE IF NOT EXISTS b08_unit_cost_components (
|
|
id BIGINT AUTO_INCREMENT PRIMARY KEY, unit_cost_id CHAR(36) NOT NULL,
|
|
component_type VARCHAR(20) NOT NULL, reference_id CHAR(36) NOT NULL,
|
|
quantity DECIMAL(20,8) NOT NULL, cost_type VARCHAR(20) NOT NULL,
|
|
sort_order INT NOT NULL DEFAULT 0, note VARCHAR(500) NULL,
|
|
KEY ix_b08_uc_component(unit_cost_id))""",
|
|
"""CREATE TABLE IF NOT EXISTS b08_equipment_rates (
|
|
id CHAR(36) PRIMARY KEY, project_id CHAR(36) NOT NULL, equipment_code VARCHAR(50) NOT NULL,
|
|
name VARCHAR(255) NOT NULL, specification VARCHAR(255) NOT NULL DEFAULT '', unit VARCHAR(30) NOT NULL DEFAULT 'hr',
|
|
equipment_price DECIMAL(20,4) NOT NULL DEFAULT 0, annual_hours DECIMAL(20,4) NOT NULL DEFAULT 0,
|
|
labor_price DECIMAL(20,4) NOT NULL DEFAULT 0, material_price DECIMAL(20,4) NOT NULL DEFAULT 0,
|
|
expense_price DECIMAL(20,4) NOT NULL DEFAULT 0, total_price DECIMAL(20,4) NOT NULL DEFAULT 0,
|
|
status VARCHAR(20) NOT NULL DEFAULT 'DRAFT', version_no INT NOT NULL DEFAULT 1,
|
|
UNIQUE KEY uq_b08_equipment(project_id,equipment_code,version_no))""",
|
|
"""CREATE TABLE IF NOT EXISTS b08_equipment_rate_components (
|
|
id BIGINT AUTO_INCREMENT PRIMARY KEY, equipment_rate_id CHAR(36) NOT NULL,
|
|
component_code VARCHAR(50) NOT NULL, item_id CHAR(36) NULL,
|
|
expression VARCHAR(500) NULL, quantity DECIMAL(20,8) NULL,
|
|
cost_type VARCHAR(20) NOT NULL, sort_order INT NOT NULL DEFAULT 0,
|
|
KEY ix_b08_eq_component(equipment_rate_id))""",
|
|
) |