-- =============================================
-- ODF v1.0.2 - 创建干线故障表 odf_cable_faults
-- 需求: 5.1, 7.9
-- =============================================

CREATE TABLE odf_cable_faults (
    Id          INT IDENTITY(1,1) PRIMARY KEY,
    CableId     INT NOT NULL,                       -- 关联光缆 odf_cables.Id
    FaultTime   DATETIME NOT NULL,                  -- 故障时间
    Personnel   NVARCHAR(200) NULL,                 -- 人员
    FaultReason NVARCHAR(MAX) NULL,                 -- 故障原因
    Mileage     NVARCHAR(200) NULL,                 -- 表显故障里程
    Location    NVARCHAR(500) NULL,                 -- 地点描述
    Latitude    DECIMAL(10,7) DEFAULT 0,            -- 纬度
    Longitude   DECIMAL(10,7) DEFAULT 0,            -- 经度
    Remark      NVARCHAR(MAX) NULL,                 -- 备注
    UserId      BIGINT NULL,                        -- 提交人 sys_user.UserId
    CreatedAt   DATETIME DEFAULT GETDATE(),
    UpdatedAt   DATETIME DEFAULT GETDATE()
);

-- 索引：按光缆查询故障列表
CREATE INDEX IX_odf_cable_faults_CableId ON odf_cable_faults(CableId);

-- 索引：按故障时间倒序
CREATE INDEX IX_odf_cable_faults_FaultTime ON odf_cable_faults(FaultTime DESC);
