-- ============================================================ -- 试产排程评估及优化系统 - 数据库初始化脚本 -- Database: bexell_schedule_ai (PostgreSQL) -- ============================================================ -- 1. 系统参数表 CREATE TABLE IF NOT EXISTS sys_parameter ( id SERIAL PRIMARY KEY, param_code VARCHAR(50) NOT NULL UNIQUE, param_name VARCHAR(100) NOT NULL, param_value VARCHAR(200) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- 2. 设备产能表 CREATE TABLE IF NOT EXISTS equipment_capacity ( id SERIAL PRIMARY KEY, equipment_code VARCHAR(20) NOT NULL UNIQUE, equipment_name VARCHAR(100) NOT NULL, equipment_type VARCHAR(50) NOT NULL, max_capacity NUMERIC(10,2) NOT NULL, standard_capacity NUMERIC(10,2) NOT NULL, min_startup NUMERIC(10,2) NOT NULL, line_change_cost NUMERIC(10,2) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- 3. 品号信息表 CREATE TABLE IF NOT EXISTS product_info ( id SERIAL PRIMARY KEY, product_code VARCHAR(50) NOT NULL UNIQUE, product_name VARCHAR(100) NOT NULL, specification VARCHAR(200) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- 4. 品号设备产能负荷表 CREATE TABLE IF NOT EXISTS product_equipment_load ( id SERIAL PRIMARY KEY, product_code VARCHAR(50) NOT NULL REFERENCES product_info(product_code), product_name VARCHAR(100) NOT NULL, specification VARCHAR(200) NOT NULL, equipment_code VARCHAR(20) NOT NULL REFERENCES equipment_capacity(equipment_code), equipment_name VARCHAR(100) NOT NULL, standard_capacity NUMERIC(10,4) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, UNIQUE(product_code, equipment_code) ); -- 5. 品号设备排产明细表 CREATE TABLE IF NOT EXISTS product_equipment_schedule ( id SERIAL PRIMARY KEY, schedule_id VARCHAR(20) NOT NULL UNIQUE, equipment_code VARCHAR(20) NOT NULL REFERENCES equipment_capacity(equipment_code), equipment_name VARCHAR(100) NOT NULL, equipment_type VARCHAR(50) NOT NULL, product_code VARCHAR(50) NOT NULL REFERENCES product_info(product_code), product_name VARCHAR(100) NOT NULL, specification VARCHAR(200) NOT NULL, quantity INTEGER NOT NULL, occupied_capacity NUMERIC(10,2) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- 6. 设备实时产能实时数据视图 CREATE OR REPLACE VIEW v_equipment_realtime_capacity AS SELECT e.equipment_type, e.equipment_code, e.equipment_name, e.max_capacity AS max_capacity_h, e.standard_capacity AS standard_capacity_h, COALESCE(SUM(s.occupied_capacity), 0) AS current_load_h FROM equipment_capacity e LEFT JOIN product_equipment_schedule s ON e.equipment_code = s.equipment_code GROUP BY e.id, e.equipment_type, e.equipment_code, e.equipment_name, e.max_capacity, e.standard_capacity; -- ============================================================ -- 种子数据 -- ============================================================ -- 系统参数 INSERT INTO sys_parameter (param_code, param_name, param_value) VALUES ('sys_s_parameter', '影响系数', '0.1'); -- 设备产能 INSERT INTO equipment_capacity (equipment_code, equipment_name, equipment_type, max_capacity, standard_capacity, min_startup, line_change_cost) VALUES ('CY001','冲压机1','冲压',15,12,4,1), ('CY002','冲压机2','冲压',15,12,4,1), ('CY003','冲压机3','冲压',15,12,4,1), ('CY004','冲压机4','冲压',15,12,4,1), ('CY005','冲压机5','冲压',15,12,4,1), ('CY006','冲压机6','冲压',15,12,4,1), ('CY007','冲压机7','冲压',15,12,4,1), ('CY008','冲压机8','冲压',15,12,4,1), ('CY009','冲压机9','冲压',15,12,4,1), ('CY010','冲压机10','冲压',15,12,4,1), ('DN001','镀镍机1','表面',12,8,6,1.5), ('DN002','镀镍机2','表面',12,8,6,1.5), ('DN003','镀镍机3','表面',12,8,6,1.5), ('DN004','镀镍机4','表面',12,8,6,1.5), ('DN005','镀镍机5','表面',12,8,6,1.5), ('DN006','镀镍机6','表面',12,8,6,1.5), ('DN007','镀镍机7','表面',12,8,6,1.5), ('DN008','镀镍机8','表面',12,8,6,1.5), ('DN009','镀镍机9','表面',12,8,6,1.5), ('DN010','镀镍机10','表面',12,8,6,1.5), ('DN011','镀镍机11','表面',12,8,6,1.5), ('DN012','镀镍机12','表面',12,8,6,1.5), ('VJ001','AI视觉检测机1','检测',24,12,1,0.5), ('VJ002','AI视觉检测机2','检测',24,12,1,0.5), ('VJ003','AI视觉检测机3','检测',24,12,1,0.5), ('VJ004','AI视觉检测机4','检测',24,12,1,0.5), ('VJ005','AI视觉检测机5','检测',24,12,1,0.5); -- 品号信息 INSERT INTO product_info (product_code, product_name, specification) VALUES ('A0001','电池钢壳','电池钢壳'), ('A0002','电池底盖','电池底盖'), ('A0003','圆柱电池钢壳','圆柱电池钢壳'); -- 品号设备产能负荷 (81 rows) INSERT INTO product_equipment_load (product_code, product_name, specification, equipment_code, equipment_name, standard_capacity) VALUES ('A0001','电池钢壳','电池钢壳','CY001','冲压机1',0.2), ('A0001','电池钢壳','电池钢壳','CY002','冲压机2',0.2), ('A0001','电池钢壳','电池钢壳','CY003','冲压机3',0.2), ('A0001','电池钢壳','电池钢壳','CY004','冲压机4',0.2), ('A0001','电池钢壳','电池钢壳','CY005','冲压机5',0.2), ('A0001','电池钢壳','电池钢壳','CY006','冲压机6',0.2), ('A0001','电池钢壳','电池钢壳','CY007','冲压机7',0.2), ('A0001','电池钢壳','电池钢壳','CY008','冲压机8',0.2), ('A0001','电池钢壳','电池钢壳','CY009','冲压机9',0.2), ('A0001','电池钢壳','电池钢壳','CY010','冲压机10',0.2), ('A0001','电池钢壳','电池钢壳','DN001','镀镍机1',0.1), ('A0001','电池钢壳','电池钢壳','DN002','镀镍机2',0.1), ('A0001','电池钢壳','电池钢壳','DN003','镀镍机3',0.1), ('A0001','电池钢壳','电池钢壳','DN004','镀镍机4',0.1), ('A0001','电池钢壳','电池钢壳','DN005','镀镍机5',0.1), ('A0001','电池钢壳','电池钢壳','DN006','镀镍机6',0.1), ('A0001','电池钢壳','电池钢壳','DN007','镀镍机7',0.1), ('A0001','电池钢壳','电池钢壳','DN008','镀镍机8',0.1), ('A0001','电池钢壳','电池钢壳','DN009','镀镍机9',0.1), ('A0001','电池钢壳','电池钢壳','DN010','镀镍机10',0.1), ('A0001','电池钢壳','电池钢壳','DN011','镀镍机11',0.1), ('A0001','电池钢壳','电池钢壳','DN012','镀镍机12',0.1), ('A0001','电池钢壳','电池钢壳','VJ001','AI视觉检测机1',0.01), ('A0001','电池钢壳','电池钢壳','VJ002','AI视觉检测机2',0.01), ('A0001','电池钢壳','电池钢壳','VJ003','AI视觉检测机3',0.01), ('A0001','电池钢壳','电池钢壳','VJ004','AI视觉检测机4',0.01), ('A0001','电池钢壳','电池钢壳','VJ005','AI视觉检测机5',0.01), ('A0002','电池底盖','电池底盖','CY001','冲压机1',0.2), ('A0002','电池底盖','电池底盖','CY002','冲压机2',0.2), ('A0002','电池底盖','电池底盖','CY003','冲压机3',0.2), ('A0002','电池底盖','电池底盖','CY004','冲压机4',0.2), ('A0002','电池底盖','电池底盖','CY005','冲压机5',0.2), ('A0002','电池底盖','电池底盖','CY006','冲压机6',0.2), ('A0002','电池底盖','电池底盖','CY007','冲压机7',0.2), ('A0002','电池底盖','电池底盖','CY008','冲压机8',0.2), ('A0002','电池底盖','电池底盖','CY009','冲压机9',0.2), ('A0002','电池底盖','电池底盖','CY010','冲压机10',0.2), ('A0002','电池底盖','电池底盖','DN001','镀镍机1',0.1), ('A0002','电池底盖','电池底盖','DN002','镀镍机2',0.1), ('A0002','电池底盖','电池底盖','DN003','镀镍机3',0.1), ('A0002','电池底盖','电池底盖','DN004','镀镍机4',0.1), ('A0002','电池底盖','电池底盖','DN005','镀镍机5',0.1), ('A0002','电池底盖','电池底盖','DN006','镀镍机6',0.1), ('A0002','电池底盖','电池底盖','DN007','镀镍机7',0.1), ('A0002','电池底盖','电池底盖','DN008','镀镍机8',0.1), ('A0002','电池底盖','电池底盖','DN009','镀镍机9',0.1), ('A0002','电池底盖','电池底盖','DN010','镀镍机10',0.1), ('A0002','电池底盖','电池底盖','DN011','镀镍机11',0.1), ('A0002','电池底盖','电池底盖','DN012','镀镍机12',0.1), ('A0002','电池底盖','电池底盖','VJ001','AI视觉检测机1',0.01), ('A0002','电池底盖','电池底盖','VJ002','AI视觉检测机2',0.01), ('A0002','电池底盖','电池底盖','VJ003','AI视觉检测机3',0.01), ('A0002','电池底盖','电池底盖','VJ004','AI视觉检测机4',0.01), ('A0002','电池底盖','电池底盖','VJ005','AI视觉检测机5',0.01), ('A0003','圆柱电池钢壳','圆柱电池钢壳','CY001','冲压机1',0.2), ('A0003','圆柱电池钢壳','圆柱电池钢壳','CY002','冲压机2',0.2), ('A0003','圆柱电池钢壳','圆柱电池钢壳','CY003','冲压机3',0.2), ('A0003','圆柱电池钢壳','圆柱电池钢壳','CY004','冲压机4',0.2), ('A0003','圆柱电池钢壳','圆柱电池钢壳','CY005','冲压机5',0.2), ('A0003','圆柱电池钢壳','圆柱电池钢壳','CY006','冲压机6',0.2), ('A0003','圆柱电池钢壳','圆柱电池钢壳','CY007','冲压机7',0.2), ('A0003','圆柱电池钢壳','圆柱电池钢壳','CY008','冲压机8',0.2), ('A0003','圆柱电池钢壳','圆柱电池钢壳','CY009','冲压机9',0.2), ('A0003','圆柱电池钢壳','圆柱电池钢壳','CY010','冲压机10',0.2), ('A0003','圆柱电池钢壳','圆柱电池钢壳','DN001','镀镍机1',0.1), ('A0003','圆柱电池钢壳','圆柱电池钢壳','DN002','镀镍机2',0.1), ('A0003','圆柱电池钢壳','圆柱电池钢壳','DN003','镀镍机3',0.1), ('A0003','圆柱电池钢壳','圆柱电池钢壳','DN004','镀镍机4',0.1), ('A0003','圆柱电池钢壳','圆柱电池钢壳','DN005','镀镍机5',0.1), ('A0003','圆柱电池钢壳','圆柱电池钢壳','DN006','镀镍机6',0.1), ('A0003','圆柱电池钢壳','圆柱电池钢壳','DN007','镀镍机7',0.1), ('A0003','圆柱电池钢壳','圆柱电池钢壳','DN008','镀镍机8',0.1), ('A0003','圆柱电池钢壳','圆柱电池钢壳','DN009','镀镍机9',0.1), ('A0003','圆柱电池钢壳','圆柱电池钢壳','DN010','镀镍机10',0.1), ('A0003','圆柱电池钢壳','圆柱电池钢壳','DN011','镀镍机11',0.1), ('A0003','圆柱电池钢壳','圆柱电池钢壳','DN012','镀镍机12',0.1), ('A0003','圆柱电池钢壳','圆柱电池钢壳','VJ001','AI视觉检测机1',0.01), ('A0003','圆柱电池钢壳','圆柱电池钢壳','VJ002','AI视觉检测机2',0.01), ('A0003','圆柱电池钢壳','圆柱电池钢壳','VJ003','AI视觉检测机3',0.01), ('A0003','圆柱电池钢壳','圆柱电池钢壳','VJ004','AI视觉检测机4',0.01), ('A0003','圆柱电池钢壳','圆柱电池钢壳','VJ005','AI视觉检测机5',0.01); -- 品号设备排产明细 INSERT INTO product_equipment_schedule (schedule_id, equipment_code, equipment_name, equipment_type, product_code, product_name, specification, quantity, occupied_capacity) VALUES ('2026080001','CY001','冲压机1','冲压','A0001','电池钢壳','电池钢壳',50,10), ('2026080002','CY001','冲压机1','冲压','A0002','电池底盖','电池底盖',25,5), ('2026080003','CY002','冲压机2','冲压','A0001','电池钢壳','电池钢壳',50,10), ('2026080004','CY002','冲压机2','冲压','A0003','圆柱电池钢壳','圆柱电池钢壳',10,2), ('2026080005','CY003','冲压机3','冲压','A0001','电池钢壳','电池钢壳',40,8), ('2026080006','CY004','冲压机4','冲压','A0002','电池底盖','电池底盖',50,10), ('2026080007','CY005','冲压机5','冲压','A0001','电池钢壳','电池钢壳',75,15), ('2026080008','CY006','冲压机6','冲压','A0003','圆柱电池钢壳','圆柱电池钢壳',60,12), ('2026080009','CY007','冲压机7','冲压','A0001','电池钢壳','电池钢壳',45,9), ('2026080010','CY008','冲压机8','冲压','A0002','电池底盖','电池底盖',50,10), ('2026080011','CY009','冲压机9','冲压','A0002','电池底盖','电池底盖',50,10), ('2026080012','CY010','冲压机10','冲压','A0003','圆柱电池钢壳','圆柱电池钢壳',55,11), ('2026080013','DN001','镀镍机1','表面','A0001','电池钢壳','电池钢壳',100,10), ('2026080014','DN002','镀镍机2','表面','A0003','圆柱电池钢壳','圆柱电池钢壳',90,9), ('2026080015','DN003','镀镍机3','表面','A0001','电池钢壳','电池钢壳',110,11), ('2026080016','DN004','镀镍机4','表面','A0002','电池底盖','电池底盖',80,8), ('2026080017','DN005','镀镍机5','表面','A0002','电池底盖','电池底盖',60,6), ('2026080018','DN006','镀镍机6','表面','A0003','圆柱电池钢壳','圆柱电池钢壳',100,10), ('2026080019','DN007','镀镍机7','表面','A0001','电池钢壳','电池钢壳',80,8), ('2026080020','DN008','镀镍机8','表面','A0003','圆柱电池钢壳','圆柱电池钢壳',100,10), ('2026080021','DN009','镀镍机9','表面','A0001','电池钢壳','电池钢壳',60,6), ('2026080022','DN010','镀镍机10','表面','A0002','电池底盖','电池底盖',70,7), ('2026080023','DN011','镀镍机11','表面','A0002','电池底盖','电池底盖',70,7), ('2026080024','DN012','镀镍机12','表面','A0003','圆柱电池钢壳','圆柱电池钢壳',70,7), ('2026080025','VJ001','AI视觉检测机1','检测','A0001','电池钢壳','电池钢壳',800,8), ('2026080026','VJ002','AI视觉检测机2','检测','A0002','电池底盖','电池底盖',800,8), ('2026080027','VJ003','AI视觉检测机3','检测','A0002','电池底盖','电池底盖',800,8), ('2026080028','VJ004','AI视觉检测机4','检测','A0003','圆柱电池钢壳','圆柱电池钢壳',900,9), ('2026080029','VJ005','AI视觉检测机5','检测','A0003','圆柱电池钢壳','圆柱电池钢壳',1000,10);