-- ============================================================
-- 冷轧双机架二级控制系统业务表
-- ============================================================

-- ----------------------------
-- 1. 工艺方案主表
-- ----------------------------
DROP TABLE IF EXISTS `mill_process_recipe`;
CREATE TABLE `mill_process_recipe` (
  `id`          bigint(20)     NOT NULL AUTO_INCREMENT COMMENT '主键',
  `recipe_no`   varchar(30)    NOT NULL                COMMENT '方案记录号/方案名称',
  `alloy_no`    varchar(24)    NOT NULL                COMMENT '合金号（钢种）',
  `pass_count`  int(4)         NOT NULL DEFAULT 0      COMMENT '道次数量',
  `in_thick`    decimal(9,3)   NOT NULL DEFAULT 0.000  COMMENT '原料厚度(mm)',
  `out_thick`   decimal(9,3)   NOT NULL DEFAULT 0.000  COMMENT '成品厚度(mm)',
  `out_width`   decimal(10,3)  NOT NULL DEFAULT 0.000  COMMENT '成品宽度(mm)',
  `status`      char(1)        NOT NULL DEFAULT '0'    COMMENT '状态 0-正常 1-停用',
  `create_by`   varchar(64)             DEFAULT ''     COMMENT '创建者',
  `create_time` datetime                DEFAULT NULL   COMMENT '创建时间',
  `update_by`   varchar(64)             DEFAULT ''     COMMENT '更新者',
  `update_time` datetime                DEFAULT NULL   COMMENT '更新时间',
  `remark`      varchar(500)            DEFAULT NULL   COMMENT '备注',
  `del_flag`    char(1)        NOT NULL DEFAULT '0'    COMMENT '删除标志 0-存在 2-删除',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_recipe_no` (`recipe_no`),
  KEY `idx_alloy_no` (`alloy_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工艺方案主表';

-- ----------------------------
-- 2. 工艺方案道次详情表
-- ----------------------------
DROP TABLE IF EXISTS `mill_process_pass`;
CREATE TABLE `mill_process_pass` (
  `id`               bigint(20)    NOT NULL AUTO_INCREMENT COMMENT '主键',
  `recipe_id`        bigint(20)    NOT NULL               COMMENT '方案ID',
  `pass_no`          int(4)        NOT NULL               COMMENT '道次号',
  `in_thick`         decimal(9,3)  NOT NULL DEFAULT 0.000 COMMENT '入口厚度(mm)',
  `out_thick`        decimal(9,3)  NOT NULL DEFAULT 0.000 COMMENT '出口厚度(mm)',
  `width`            decimal(10,3) NOT NULL DEFAULT 0.000 COMMENT '宽度(mm)',
  `roll_force`       decimal(10,1) NOT NULL DEFAULT 0.0   COMMENT '轧制力(kN)',
  `in_tension`       decimal(10,1) NOT NULL DEFAULT 0.0   COMMENT '入口张力(kN)',
  `out_tension`      decimal(10,1) NOT NULL DEFAULT 0.0   COMMENT '出口张力(kN)',
  `max_speed`        decimal(10,1) NOT NULL DEFAULT 0.0   COMMENT '最高速度(m/min)',
  `in_unit_tension`  decimal(8,2)  NOT NULL DEFAULT 0.00  COMMENT '入口单位张力(N/mm²)',
  `out_unit_tension` decimal(8,2)  NOT NULL DEFAULT 0.00  COMMENT '出口单位张力(N/mm²)',
  `reduction`        decimal(8,2)  NOT NULL DEFAULT 0.00  COMMENT '道次压下量(mm)',
  `total_reduction`  decimal(8,2)  NOT NULL DEFAULT 0.00  COMMENT '累计总压下量(mm)',
  `create_by`        varchar(64)            DEFAULT ''    COMMENT '创建者',
  `create_time`      datetime               DEFAULT NULL  COMMENT '创建时间',
  `update_by`        varchar(64)            DEFAULT ''    COMMENT '更新者',
  `update_time`      datetime               DEFAULT NULL  COMMENT '更新时间',
  `remark`           varchar(500)           DEFAULT NULL  COMMENT '备注',
  `del_flag`         char(1)       NOT NULL DEFAULT '0'   COMMENT '删除标志 0-存在 2-删除',
  PRIMARY KEY (`id`),
  KEY `idx_recipe_id` (`recipe_id`),
  KEY `idx_recipe_pass` (`recipe_id`, `pass_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工艺方案道次详情表';

-- ----------------------------
-- 3. 生产计划表（轧制队列）
-- ----------------------------
DROP TABLE IF EXISTS `mill_production_plan`;
CREATE TABLE `mill_production_plan` (
  `id`            bigint(20)    NOT NULL AUTO_INCREMENT COMMENT '主键',
  `plan_no`       varchar(30)   NOT NULL               COMMENT '计划号',
  `mat_seq_no`    varchar(3)             DEFAULT ''    COMMENT 'L3序号',
  `unit_code`     varchar(4)             DEFAULT ''    COMMENT '机组代码',
  `plan_type`     char(1)                DEFAULT ''    COMMENT '计划类型',
  `plan_status`   char(1)       NOT NULL DEFAULT '0'   COMMENT '计划状态 0-待生产 1-生产中 2-完成 3-撤销',
  `prod_status`   varchar(20)            DEFAULT ''    COMMENT '生产状态(Rolling/NextCoil/Idle等)',
  `sort_no`       int(6)        NOT NULL DEFAULT 0     COMMENT '队列排序号',
  `in_mat_no`     varchar(20)   NOT NULL               COMMENT '入口钢卷号',
  `in_mat_thick`  decimal(9,3)           DEFAULT 0.000 COMMENT '入口厚度(mm)',
  `in_mat_width`  decimal(10,3)          DEFAULT 0.000 COMMENT '入口宽度(mm)',
  `in_mat_wt`     decimal(8,0)           DEFAULT 0     COMMENT '入口重量(kg)',
  `in_mat_len`    decimal(12,3)          DEFAULT 0.000 COMMENT '入口长度(m)',
  `in_mat_in_dia` decimal(8,2)           DEFAULT 0.00  COMMENT '入口内径(mm)',
  `in_mat_dia`    decimal(8,2)           DEFAULT 0.00  COMMENT '入口外径(mm)',
  `pono`          varchar(10)            DEFAULT ''    COMMENT '炉号',
  `sg_sign`       varchar(24)            DEFAULT ''    COMMENT '钢种',
  `out_mat_no`    varchar(20)            DEFAULT ''    COMMENT '出口材料号',
  `out_thick`     decimal(9,3)           DEFAULT 0.000 COMMENT '成品厚度(mm)',
  `recipe_id`     bigint(20)             DEFAULT NULL  COMMENT '绑定工艺方案ID',
  `recipe_no`     varchar(30)            DEFAULT ''    COMMENT '绑定工艺方案号',
  `create_by`     varchar(64)            DEFAULT ''    COMMENT '创建者',
  `create_time`   datetime               DEFAULT NULL  COMMENT '创建时间',
  `update_by`     varchar(64)            DEFAULT ''    COMMENT '更新者',
  `update_time`   datetime               DEFAULT NULL  COMMENT '更新时间',
  `remark`        varchar(500)           DEFAULT NULL  COMMENT '备注',
  `del_flag`      char(1)       NOT NULL DEFAULT '0'   COMMENT '删除标志 0-存在 2-删除',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_plan_no` (`plan_no`),
  KEY `idx_plan_status` (`plan_status`),
  KEY `idx_sort_no` (`sort_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='生产计划表（轧制队列）';
