-- 夜间 RT -> DAY 搬迁调度任务
-- 说明：
-- 1. 默认每天 00:10 执行一次，把“昨天”的 RT 数据搬迁到 DAY。
-- 2. 依赖已存在的包：PKG_DEVICE_PROD_CALC
-- 3. 若 JOB 已存在，先删除再重建。

BEGIN
    DBMS_SCHEDULER.DROP_JOB(
        JOB_NAME => 'JOB_FLUSH_RT_TO_DAY',
        FORCE    => TRUE
    );
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -27475 THEN
            RAISE;
        END IF;
END;
/

BEGIN
    DBMS_SCHEDULER.CREATE_JOB(
        JOB_NAME        => 'JOB_FLUSH_RT_TO_DAY',
        JOB_TYPE        => 'PLSQL_BLOCK',
        JOB_ACTION      => 'BEGIN PKG_DEVICE_PROD_CALC.FLUSH_RT_TO_DAY(TRUNC(SYSDATE) - 1, ''机台状态-实际产出数量''); END;',
        START_DATE      => SYSTIMESTAMP,
        REPEAT_INTERVAL => 'FREQ=DAILY;BYHOUR=0;BYMINUTE=10;BYSECOND=0',
        ENABLED         => FALSE,
        AUTO_DROP       => FALSE,
        COMMENTS        => '设备产量 RT->DAY 夜间搬迁'
    );

    DBMS_SCHEDULER.ENABLE('JOB_FLUSH_RT_TO_DAY');
END;
/

-- 查看任务状态：
-- SELECT JOB_NAME, ENABLED, STATE, LAST_START_DATE, NEXT_RUN_DATE
--   FROM USER_SCHEDULER_JOBS
--  WHERE JOB_NAME = 'JOB_FLUSH_RT_TO_DAY';
