-- 双机架 (double-rack) 数据库 DDL
-- 在 jdbc:mysql://140.143.206.120:13306/double-rack 上执行

-- 工艺方案主表
CREATE TABLE IF NOT EXISTS `mill_process_recipe` (
  `recipe_id`   BIGINT        NOT NULL AUTO_INCREMENT COMMENT '主键',
  `recipe_no`   VARCHAR(64)   NOT NULL                COMMENT '方案记录号（唯一）',
  `alloy_no`    VARCHAR(32)   NOT NULL                COMMENT '合金号',
  `pass_count`  INT           NOT NULL DEFAULT 0      COMMENT '道次数量',
  `in_thick`    DECIMAL(8,3)  DEFAULT NULL            COMMENT '原料厚度(mm)',
  `out_thick`   DECIMAL(8,3)  DEFAULT NULL            COMMENT '成品厚度(mm)',
  `out_width`   DECIMAL(8,1)  DEFAULT NULL            COMMENT '成品宽度(mm)',
  `status`      CHAR(1)       NOT NULL DEFAULT '0'    COMMENT '状态: 0-正常 1-停用',
  `del_flag`    CHAR(1)       NOT NULL DEFAULT '0'    COMMENT '删除标志: 0-存在 2-删除',
  `create_by`   VARCHAR(64)   DEFAULT NULL,
  `create_time` DATETIME      DEFAULT NULL,
  `update_by`   VARCHAR(64)   DEFAULT NULL,
  `update_time` DATETIME      DEFAULT NULL,
  `remark`      VARCHAR(512)  DEFAULT NULL,
  PRIMARY KEY (`recipe_id`),
  UNIQUE KEY `uk_recipe_no` (`recipe_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='双机架工艺方案主表';

-- 工艺方案道次表
CREATE TABLE IF NOT EXISTS `mill_process_pass` (
  `pass_id`          BIGINT       NOT NULL AUTO_INCREMENT COMMENT '主键',
  `recipe_id`        BIGINT       NOT NULL               COMMENT '关联方案ID',
  `pass_no`          INT          NOT NULL               COMMENT '道次序号',
  `in_thick`         DECIMAL(8,3) DEFAULT NULL           COMMENT '入口厚度(mm)',
  `out_thick`        DECIMAL(8,3) DEFAULT NULL           COMMENT '出口厚度(mm)',
  `width`            DECIMAL(8,1) DEFAULT NULL           COMMENT '宽度(mm)',
  `roll_force`       DECIMAL(10,2) DEFAULT NULL          COMMENT '轧制力(kN)',
  `in_tension`       DECIMAL(10,2) DEFAULT NULL          COMMENT '入口张力(kN)',
  `out_tension`      DECIMAL(10,2) DEFAULT NULL          COMMENT '出口张力(kN)',
  `max_speed`        DECIMAL(8,2) DEFAULT NULL           COMMENT '最高速度(m/min)',
  `in_unit_tension`  DECIMAL(10,4) DEFAULT NULL          COMMENT '入口单位张力(N/mm²)',
  `out_unit_tension` DECIMAL(10,4) DEFAULT NULL          COMMENT '出口单位张力(N/mm²)',
  `reduction`        DECIMAL(8,3) DEFAULT NULL           COMMENT '压下量(mm)',
  `total_reduction`  DECIMAL(8,3) DEFAULT NULL           COMMENT '总压下量(mm)',
  `del_flag`         CHAR(1)      NOT NULL DEFAULT '0'   COMMENT '删除标志',
  `create_by`        VARCHAR(64)  DEFAULT NULL,
  `create_time`      DATETIME     DEFAULT NULL,
  `update_by`        VARCHAR(64)  DEFAULT NULL,
  `update_time`      DATETIME     DEFAULT NULL,
  `remark`           VARCHAR(512) DEFAULT NULL,
  PRIMARY KEY (`pass_id`),
  KEY `idx_recipe_id` (`recipe_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='双机架工艺方案道次表';

-- 生产计划表（轧制队列）
CREATE TABLE IF NOT EXISTS `mill_production_plan` (
  `plan_id`         BIGINT        NOT NULL AUTO_INCREMENT COMMENT '主键',
  `plan_no`         VARCHAR(64)   NOT NULL               COMMENT '计划号',
  `plan_status`     CHAR(1)       NOT NULL DEFAULT '0'   COMMENT '计划状态: 0-待生产 1-生产中 2-完成 3-撤销',
  `prod_status`     VARCHAR(16)   NOT NULL DEFAULT 'Idle' COMMENT '生产状态: Idle/Rolling/NextCoil/Done/Error',
  `sort_no`         INT           NOT NULL DEFAULT 0     COMMENT '队列序号',
  `in_mat_no`       VARCHAR(64)   DEFAULT NULL           COMMENT '钢卷编号（入场钢卷号）',
  `sg_sign`         VARCHAR(64)   DEFAULT NULL           COMMENT '合金牌号',
  `in_mat_thick`    DECIMAL(8,3)  DEFAULT NULL           COMMENT '采料厚度(mm)',
  `in_mat_width`    DECIMAL(8,1)  DEFAULT NULL           COMMENT '采料宽度(mm)',
  `in_mat_wt`       DECIMAL(10,3) DEFAULT NULL           COMMENT '采料重量(t)',
  `in_mat_len`      DECIMAL(10,2) DEFAULT NULL           COMMENT '采料长度(m)',
  `in_mat_in_dia`   DECIMAL(8,1)  DEFAULT NULL           COMMENT '采料内径(mm)',
  `in_mat_dia`      DECIMAL(8,1)  DEFAULT NULL           COMMENT '采料外径(mm)',
  `out_thick`       DECIMAL(8,3)  DEFAULT NULL           COMMENT '成品厚度(mm)',
  `pass_count`      INT           NOT NULL DEFAULT 0     COMMENT '道次数',
  `recipe_id`       BIGINT        DEFAULT NULL           COMMENT '关联工艺方案ID',
  `recipe_no`       VARCHAR(64)   DEFAULT NULL           COMMENT '工艺方案号',
  `enter_coil_no`   VARCHAR(64)   DEFAULT NULL           COMMENT '关联三级入场钢卷号',
  `current_coil_no` VARCHAR(64)   DEFAULT NULL           COMMENT '关联三级当前钢卷号',
  `del_flag`        CHAR(1)       NOT NULL DEFAULT '0'   COMMENT '删除标志',
  `create_by`       VARCHAR(64)   DEFAULT NULL,
  `create_time`     DATETIME      DEFAULT NULL,
  `update_by`       VARCHAR(64)   DEFAULT NULL,
  `update_time`     DATETIME      DEFAULT NULL,
  `remark`          VARCHAR(512)  DEFAULT NULL,
  PRIMARY KEY (`plan_id`),
  KEY `idx_in_mat_no`       (`in_mat_no`),
  KEY `idx_enter_coil_no`   (`enter_coil_no`),
  KEY `idx_current_coil_no` (`current_coil_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='双机架生产计划表（轧制队列）';
