-- ============================================================
-- 不合格管理模块补全
-- 1. 已有表补充缺失字段
-- 2. 新建 quality_unqualified_order 不合格品处理单表
-- 生成日期：2026-06-13
-- ============================================================

-- Phase 1A: quality_inspect 补充 process_type 字段
ALTER TABLE quality_inspect ADD COLUMN process_type INT DEFAULT NULL COMMENT '工序类型，匹配数据字典 product_process_type';

-- Phase 1B: quality_unqualified 补充 4 个字段
ALTER TABLE quality_unqualified ADD COLUMN reason_analysis VARCHAR(500) DEFAULT NULL COMMENT '原因分析';
ALTER TABLE quality_unqualified ADD COLUMN preventive_corrective VARCHAR(500) DEFAULT NULL COMMENT '预防与纠正措施';
ALTER TABLE quality_unqualified ADD COLUMN loss_working VARCHAR(200) DEFAULT NULL COMMENT '工时损失';
ALTER TABLE quality_unqualified ADD COLUMN loss_material VARCHAR(200) DEFAULT NULL COMMENT '材料费损失';

-- Phase 1C: quality_test_standard 补充 process_type 字段
ALTER TABLE quality_test_standard ADD COLUMN process_type INT DEFAULT NULL COMMENT '工序类型';

-- Phase 2: 新建 quality_unqualified_order 不合格品处理单表
CREATE TABLE IF NOT EXISTS quality_unqualified_order (
    id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
    order_no VARCHAR(32) NOT NULL COMMENT '处理单编号，前缀BHG+日期+自增序号',
    unqualified_id BIGINT COMMENT '关联quality_unqualified.id',
    project_name VARCHAR(100) COMMENT '项目名称',
    project_no VARCHAR(50) COMMENT '项目编号',
    equipment_id BIGINT COMMENT '关联设备ID',
    equipment_name VARCHAR(100) COMMENT '设备名称',
    equipment_drawing_no VARCHAR(50) COMMENT '设备图号',
    material_name VARCHAR(100) COMMENT '物料/部件名称',
    product_model_id BIGINT COMMENT '关联产品型号ID',
    material_drawing_no VARCHAR(50) COMMENT '物料图号',
    specification_model VARCHAR(100) COMMENT '型号规格',
    material_quality VARCHAR(50) COMMENT '材质',
    quantity DECIMAL(10,2) COMMENT '总数量',
    unqualified_quantity DECIMAL(10,2) COMMENT '不合格数量',
    unqualified_process TINYINT COMMENT '不合格工序：1=来料，2=制程，3=成品',
    supplier_name VARCHAR(100) COMMENT '供应商名称',
    inspector_name VARCHAR(50) COMMENT '检验员',
    inspect_date DATE COMMENT '检验日期',
    responsible_person VARCHAR(50) COMMENT '责任人',
    responsible_dept VARCHAR(50) COMMENT '责任部门',
    problem_description VARCHAR(500) COMMENT '问题描述',
    reason_analysis VARCHAR(500) COMMENT '原因分析及建议',
    correction_action VARCHAR(500) COMMENT '纠正措施',
    disposal_method TINYINT COMMENT '处置方式：1=让步接收，2=厂内维修，3=返厂维修，4=换货，5=退货，6=报废',
    repair_evaluation VARCHAR(500) COMMENT '厂内/返厂维修评估',
    preventive_action VARCHAR(500) COMMENT '预防措施',
    status TINYINT DEFAULT 0 COMMENT '状态：0=草稿，1=待审批，2=审批中，3=已完成，4=已驳回',
    remark VARCHAR(500) COMMENT '备注',
    create_by INT COMMENT '创建用户',
    update_by INT COMMENT '修改用户',
    create_time DATETIME COMMENT '创建时间',
    update_time DATETIME COMMENT '修改时间',
    tenant_id BIGINT COMMENT '租户ID',
    dept_id BIGINT COMMENT '部门ID',
    deleted TINYINT DEFAULT 0 COMMENT '逻辑删除：0=否，1=是'
);
