-- =============================================================
-- 风控平台 数据库增量脚本  作业上报-工期字段
-- 适用版本: 风控平台 2026-07-07 之前的部署
--
-- 需求:
--   作业上报新增"工期"字段(单位:天),与开始/结束时间形成联动:
--   - 录入工期 + 开始时间 → 自动计算结束时间
--   - 修改开始/结束时间 → 自动重新计算工期
--
-- 本脚本特征:
--   - 全部 SQL 幂等,可重复执行(基于 INFORMATION_SCHEMA 判断)
--   - 新环境用 risk_control_platform.sql 部署;已有环境用本脚本增量升级
--   - 不修改业务表已有数据,仅追加字段
-- =============================================================

SET NAMES utf8mb4;

-- =============================================================
-- 1. 作业上报表 risk_work_report 加 duration_days 字段
-- =============================================================

SET @sql = (SELECT IF(
  (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
     WHERE TABLE_SCHEMA = DATABASE()
       AND TABLE_NAME   = 'risk_work_report'
       AND COLUMN_NAME  = 'duration_days') = 0,
  'ALTER TABLE `risk_work_report` ADD COLUMN `duration_days` INT DEFAULT NULL COMMENT ''工期(单位:天,与开始/结束时间联动计算)'' AFTER `work_end_time`',
  'SELECT 1'));
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;


-- =============================================================
-- 2. 验证清单(可手动 SELECT 确认)
-- =============================================================
-- SELECT COLUMN_NAME, COLUMN_TYPE, COLUMN_COMMENT
--   FROM INFORMATION_SCHEMA.COLUMNS
--  WHERE TABLE_SCHEMA = DATABASE()
--    AND TABLE_NAME = 'risk_work_report'
--    AND COLUMN_NAME = 'duration_days';