133 lines
10 KiB
JavaScript
133 lines
10 KiB
JavaScript
const mysql = require('mysql2/promise');
|
||
|
||
async function run() {
|
||
const conn = await mysql.createConnection({
|
||
host: '49.232.154.205', port: 13306, user: 'root', password: 'Root@12345',
|
||
database: 'fad_oa_dev',
|
||
supportBigNumbers: true,
|
||
bigNumberStrings: true
|
||
});
|
||
|
||
// 获取真实项目ID(避免JS Number精度丢失)
|
||
const [projs] = await conn.execute('SELECT project_id, project_name FROM fad_rm_project ORDER BY project_id');
|
||
const PROJ_A = projs[0].project_id; // 1380mm六辊可逆轧机设备总包项目
|
||
const PROJ_B = projs[1].project_id; // 测试项目A
|
||
console.log('项目A ID:', PROJ_A, projs[0].project_name);
|
||
console.log('项目B ID:', PROJ_B, projs[1].project_name);
|
||
console.log('');
|
||
|
||
// 清除两项目现有数据
|
||
const tables = ['fad_rm_budget','fad_rm_tech_plan_item','fad_rm_layout_file','fad_rm_tech_review_item','fad_rm_drawing_design','fad_rm_drawing_review','fad_rm_procurement_progress','fad_rm_mfg_device','fad_rm_drawing_compare','fad_rm_doc_lib','fad_rm_site_mod','fad_rm_shipping_checklist','fad_rm_manual','fad_rm_install_tool','fad_rm_install_feedback','fad_rm_acceptance_checklist','fad_rm_commissioning_checklist'];
|
||
for (const t of tables) {
|
||
await conn.execute('DELETE FROM ' + t + ' WHERE project_id IN (?,?)', [PROJ_A, PROJ_B]);
|
||
}
|
||
console.log('已清除两项目旧数据\n');
|
||
|
||
//==================== 项目A:6 done + 5 progress + 6 pending ====================
|
||
console.log('--- 项目A:1380mm六辊可逆轧机设备总包项目 ---');
|
||
|
||
await conn.execute("INSERT INTO fad_rm_budget (project_id,category,item,budget_amount,spent_amount,status) VALUES (?,?,?,?,?,?)", [PROJ_A,'电气','主电机','500000','480000','approved']);
|
||
await conn.execute("INSERT INTO fad_rm_budget (project_id,category,item,budget_amount,spent_amount,status) VALUES (?,?,?,?,?,?)", [PROJ_A,'机械','轧机机架','800000','790000','approved']);
|
||
await conn.execute("INSERT INTO fad_rm_budget (project_id,category,item,budget_amount,spent_amount,status) VALUES (?,?,?,?,?,?)", [PROJ_A,'液压','液压站','300000','290000','approved']);
|
||
console.log(' budget: 3条 (全部approved → done)');
|
||
|
||
await conn.execute("INSERT INTO fad_rm_tech_plan_item (project_id,item_name,description,owner,status) VALUES (?,?,?,?,?)", [PROJ_A,'1380mm六辊轧机技术方案','主传动系统方案设计','张工','approved']);
|
||
await conn.execute("INSERT INTO fad_rm_tech_plan_item (project_id,item_name,description,owner,status) VALUES (?,?,?,?,?)", [PROJ_A,'AGC液压系统方案','厚度自动控制系统','李工','pending']);
|
||
console.log(' tech_plan: 2条 → progress');
|
||
|
||
await conn.execute("INSERT INTO fad_rm_layout_file (project_id,file_name,file_type,status) VALUES (?,?,?,?)", [PROJ_A,'车间总布局图','dwg','approved']);
|
||
await conn.execute("INSERT INTO fad_rm_layout_file (project_id,file_name,file_type,status) VALUES (?,?,?,?)", [PROJ_A,'设备基础图','pdf','pending']);
|
||
console.log(' layout: 2条 → progress');
|
||
|
||
console.log(' tech_review: 0条 → pending');
|
||
|
||
await conn.execute("INSERT INTO fad_rm_drawing_design (project_id,drawing_name,drawing_no,drawer,status) VALUES (?,?,?,?,?)", [PROJ_A,'轧机机架装配图','DR-001','王工','approved']);
|
||
await conn.execute("INSERT INTO fad_rm_drawing_design (project_id,drawing_name,drawing_no,drawer,status) VALUES (?,?,?,?,?)", [PROJ_A,'主传动系统图','DR-002','王工','approved']);
|
||
console.log(' drawing_design: 2条 (全部approved → done)');
|
||
|
||
console.log(' drawing_review: 0条 → pending');
|
||
console.log(' procurement: 0条 → pending');
|
||
console.log(' manufacturing: 0条 → pending');
|
||
console.log(' drawing_compare: 0条 → pending');
|
||
console.log(' doc_lib: 0条 → pending');
|
||
console.log(' site_mod: 0条 → pending');
|
||
|
||
await conn.execute("INSERT INTO fad_rm_shipping_checklist (project_id,item_text,is_checked,sort_order) VALUES (?,?,?,?)", [PROJ_A,'主电机','1','1']);
|
||
await conn.execute("INSERT INTO fad_rm_shipping_checklist (project_id,item_text,is_checked,sort_order) VALUES (?,?,?,?)", [PROJ_A,'轧机机架','1','2']);
|
||
await conn.execute("INSERT INTO fad_rm_shipping_checklist (project_id,item_text,is_checked,sort_order) VALUES (?,?,?,?)", [PROJ_A,'液压站','1','3']);
|
||
console.log(' shipping: 3条 (全部已勾选 → done)');
|
||
|
||
console.log(' manuals: 0条 → pending');
|
||
|
||
await conn.execute("INSERT INTO fad_rm_install_tool (project_id,name,spec,qty,unit,status,category) VALUES (?,?,?,?,?,?,?)", [PROJ_A,'千斤顶','50T','4','台','已到位','起重工具']);
|
||
await conn.execute("INSERT INTO fad_rm_install_tool (project_id,name,spec,qty,unit,status,category) VALUES (?,?,?,?,?,?,?)", [PROJ_A,'扭力扳手','200N·m','2','把','待确认','安装工具']);
|
||
await conn.execute("INSERT INTO fad_rm_install_tool (project_id,name,spec,qty,unit,status,category) VALUES (?,?,?,?,?,?,?)", [PROJ_A,'水平仪','0.02mm/m','1','台','待确认','测量工具']);
|
||
console.log(' install_tool: 3条 → progress');
|
||
|
||
console.log(' install_feedback: 0条 → pending');
|
||
console.log(' acceptance: 0条 → pending');
|
||
console.log(' commissioning: 0条 → pending');
|
||
|
||
//==================== 项目B:3 done + 8 progress + 6 pending ====================
|
||
console.log('\n--- 项目B:测试项目A ---');
|
||
|
||
await conn.execute("INSERT INTO fad_rm_budget (project_id,category,item,budget_amount,spent_amount,status) VALUES (?,?,?,?,?,?)", [PROJ_B,'电气','传感器','50000','30000','approved']);
|
||
await conn.execute("INSERT INTO fad_rm_budget (project_id,category,item,budget_amount,spent_amount,status) VALUES (?,?,?,?,?,?)", [PROJ_B,'机械','支架','80000','0','draft']);
|
||
console.log(' budget: 2条 (1 approved → progress)');
|
||
|
||
console.log(' tech_plan: 0条 → pending');
|
||
console.log(' layout: 0条 → pending');
|
||
|
||
await conn.execute("INSERT INTO fad_rm_tech_review_item (project_id,review_type,item_name,conclusion,reviewer) VALUES (?,?,?,?,?)", [PROJ_B,'电气','PLC控制柜方案','approved','赵工']);
|
||
await conn.execute("INSERT INTO fad_rm_tech_review_item (project_id,review_type,item_name,conclusion,reviewer) VALUES (?,?,?,?,?)", [PROJ_B,'机械','底座安装方案','pending','钱工']);
|
||
console.log(' tech_review: 2条 → progress');
|
||
|
||
console.log(' drawing_design: 0条 → pending');
|
||
|
||
await conn.execute("INSERT INTO fad_rm_drawing_review (project_id,drawing_name,drawing_no,reviewer,status) VALUES (?,?,?,?,?)", [PROJ_B,'底座基础图','BASE-001','孙工','approved']);
|
||
console.log(' drawing_review: 1条 (approved → done)');
|
||
|
||
await conn.execute("INSERT INTO fad_rm_procurement_progress (project_id,item_name,supplier_name,amount,current_stage) VALUES (?,?,?,?,?)", [PROJ_B,'电机','上海电机厂','120000','1']);
|
||
await conn.execute("INSERT INTO fad_rm_procurement_progress (project_id,item_name,supplier_name,amount,current_stage) VALUES (?,?,?,?,?)", [PROJ_B,'减速机','南京减速机厂','80000','2']);
|
||
console.log(' procurement: 2条 → progress');
|
||
|
||
await conn.execute("INSERT INTO fad_rm_mfg_device (project_id,device_name,spec,supplier_name,delivery_date) VALUES (?,?,?,?,?)", [PROJ_B,'主电机','500kW','上海电机厂','2026-08-15']);
|
||
await conn.execute("INSERT INTO fad_rm_mfg_device (project_id,device_name,spec,supplier_name,delivery_date) VALUES (?,?,?,?,?)", [PROJ_B,'减速机','ZLY560','南京减速机厂','2026-09-01']);
|
||
console.log(' manufacturing: 2条 → progress');
|
||
|
||
console.log(' drawing_compare: 0条 → pending');
|
||
|
||
await conn.execute("INSERT INTO fad_rm_doc_lib (project_id,doc_name,category,version,uploader,description) VALUES (?,?,?,?,?,?)", [PROJ_B,'技术规格书','技术文档','V1.0','周工','电机技术参数']);
|
||
await conn.execute("INSERT INTO fad_rm_doc_lib (project_id,doc_name,category,version,uploader,description) VALUES (?,?,?,?,?,?)", [PROJ_B,'检测报告','质检报告','V1.0','吴工','出厂检测报告']);
|
||
console.log(' doc_lib: 2条 → progress');
|
||
|
||
await conn.execute("INSERT INTO fad_rm_site_mod (project_id,device_name,location,mod_reason,status) VALUES (?,?,?,?,?)", [PROJ_B,'底座','基础坑','基础尺寸偏差20mm','pending']);
|
||
console.log(' site_mod: 1条 → progress');
|
||
|
||
console.log(' shipping: 0条 → pending');
|
||
|
||
await conn.execute("INSERT INTO fad_rm_manual (project_id,manual_name,doc_type,version,description) VALUES (?,?,?,?,?)", [PROJ_B,'操作手册','说明书','V1.0','主电机操作说明']);
|
||
await conn.execute("INSERT INTO fad_rm_manual (project_id,manual_name,doc_type,version,description) VALUES (?,?,?,?,?)", [PROJ_B,'维护手册','维护手册','V1.0','日常维护指南']);
|
||
console.log(' manuals: 2条 → progress');
|
||
|
||
console.log(' install_tool: 0条 → pending');
|
||
|
||
await conn.execute("INSERT INTO fad_rm_install_feedback (project_id,title,location,issue_desc,status) VALUES (?,?,?,?,?)", [PROJ_B,'地脚螺栓孔偏位','基础坑','地脚螺栓孔位偏差5mm','pending']);
|
||
await conn.execute("INSERT INTO fad_rm_install_feedback (project_id,title,location,issue_desc,status) VALUES (?,?,?,?,?)", [PROJ_B,'电缆预留不足','电气室','进线电缆预留长度不够','solved']);
|
||
console.log(' install_feedback: 2条 → progress');
|
||
|
||
await conn.execute("INSERT INTO fad_rm_acceptance_checklist (project_id,item_text,is_checked,sort_order) VALUES (?,?,?,?)", [PROJ_B,'设备外观检查','1','1']);
|
||
await conn.execute("INSERT INTO fad_rm_acceptance_checklist (project_id,item_text,is_checked,sort_order) VALUES (?,?,?,?)", [PROJ_B,'安装精度检查','1','2']);
|
||
await conn.execute("INSERT INTO fad_rm_acceptance_checklist (project_id,item_text,is_checked,sort_order) VALUES (?,?,?,?)", [PROJ_B,'电气接线检查','1','3']);
|
||
console.log(' acceptance: 3条 (全部已勾选 → done)');
|
||
|
||
console.log(' commissioning: 0条 → pending');
|
||
|
||
await conn.end();
|
||
console.log('\n=== 测试数据插入完成 ===');
|
||
console.log('项目A: 3 done (budget, drawing_design, shipping) + 3 progress (tech_plan, layout, install_tool) + 11 pending');
|
||
console.log('项目B: 2 done (drawing_review, acceptance) + 8 progress + 7 pending');
|
||
}
|
||
|
||
run().catch(e => { console.error(e); process.exit(1); });
|