- 重构勘察业务:移除SOP相关表,新增勘察明细表支持建筑/楼层/房间/照片管理 - 新增定时任务人性化频率配置,支持分钟/小时/天/周/月/自定义六种模式 - 新增频率预览接口,支持配置转换为cron表达式与执行时间预览 - 更新系统品牌名称为鑫潼智电,修改全局标题与登录页文案
45 lines
2.4 KiB
PL/PgSQL
45 lines
2.4 KiB
PL/PgSQL
-- 勘察改造:移除 SOP(勘察技术要点与回执标准),新增「勘察明细」survey_detail
|
||
-- 语义:勘察明细按「客户空间拓扑」登记,一条明细 = 建筑 + 楼层 + 房间(可空) + 现场照片 + 备注。
|
||
-- 幂等:CREATE TABLE IF NOT EXISTS / DROP TABLE IF EXISTS / 触发器先 DROP 后建,可重复执行。
|
||
BEGIN;
|
||
|
||
-- 1. 新增勘察明细表
|
||
CREATE TABLE IF NOT EXISTS survey_detail (
|
||
id BIGSERIAL PRIMARY KEY,
|
||
survey_order_id BIGINT NOT NULL REFERENCES survey_order(id) ON DELETE CASCADE,
|
||
building_id BIGINT,
|
||
building_name VARCHAR(128),
|
||
floor_no VARCHAR(16),
|
||
room_id BIGINT,
|
||
room_name VARCHAR(128),
|
||
photos TEXT,
|
||
remark VARCHAR(255),
|
||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||
);
|
||
|
||
COMMENT ON TABLE survey_detail IS '勘察工单明细表(建筑/楼层/房间 + 现场照片)';
|
||
COMMENT ON COLUMN survey_detail.id IS '自增主键';
|
||
COMMENT ON COLUMN survey_detail.survey_order_id IS '勘察工单ID(→ survey_order)';
|
||
COMMENT ON COLUMN survey_detail.building_id IS '建筑ID(→ customer_building)';
|
||
COMMENT ON COLUMN survey_detail.building_name IS '建筑名称(冗余,客户拓扑变更后仍可读)';
|
||
COMMENT ON COLUMN survey_detail.floor_no IS '所在楼层:正数为地上、负数为地下,如 1 / -1';
|
||
COMMENT ON COLUMN survey_detail.room_id IS '房间ID(→ customer_room,可空)';
|
||
COMMENT ON COLUMN survey_detail.room_name IS '房间名称(冗余,可空)';
|
||
COMMENT ON COLUMN survey_detail.photos IS '现场照片对象key(JSON数组字符串)';
|
||
COMMENT ON COLUMN survey_detail.remark IS '备注';
|
||
COMMENT ON COLUMN survey_detail.created_at IS '创建时间';
|
||
COMMENT ON COLUMN survey_detail.updated_at IS '更新时间';
|
||
|
||
CREATE INDEX IF NOT EXISTS idx_survey_detail_order ON survey_detail (survey_order_id);
|
||
|
||
DROP TRIGGER IF EXISTS trg_survey_detail_updated_at ON survey_detail;
|
||
CREATE TRIGGER trg_survey_detail_updated_at BEFORE UPDATE ON survey_detail
|
||
FOR EACH ROW EXECUTE FUNCTION trigger_set_updated_at();
|
||
|
||
-- 2. 移除 SOP 两张表(回执表先删,避免外键依赖)
|
||
DROP TABLE IF EXISTS survey_sop_result CASCADE;
|
||
DROP TABLE IF EXISTS survey_sop_item CASCADE;
|
||
|
||
COMMIT;
|