const sqlite3 = require('sqlite3').verbose(); const path = require('path'); // 创建SQLite数据库连接 const dbPath = path.join(__dirname, 'company_finance.db'); const db = new sqlite3.Database(dbPath, (err) => { if (err) { console.error('数据库连接失败:', err.message); } else { console.log('SQLite数据库连接成功'); clearFinanceData(); } }); // 清空财务数据 async function clearFinanceData() { try { // 开始事务 await new Promise((resolve, reject) => { db.run('BEGIN TRANSACTION', (err) => { if (err) reject(err); else resolve(); }); }); // 清空执行记录 await new Promise((resolve, reject) => { db.run('DELETE FROM executions', (err) => { if (err) reject(err); else resolve(); }); }); console.log('执行记录已清空'); // 清空核销申请 await new Promise((resolve, reject) => { db.run('DELETE FROM verifications', (err) => { if (err) reject(err); else resolve(); }); }); console.log('核销申请已清空'); // 清空报销申请 await new Promise((resolve, reject) => { db.run('DELETE FROM reimbursements', (err) => { if (err) reject(err); else resolve(); }); }); console.log('报销申请已清空'); // 清空付款申请 await new Promise((resolve, reject) => { db.run('DELETE FROM payment_requests', (err) => { if (err) reject(err); else resolve(); }); }); console.log('付款申请已清空'); // 清空预支申请 await new Promise((resolve, reject) => { db.run('DELETE FROM advances', (err) => { if (err) reject(err); else resolve(); }); }); console.log('预支申请已清空'); // 提交事务 await new Promise((resolve, reject) => { db.run('COMMIT', (err) => { if (err) reject(err); else resolve(); }); }); console.log('所有财务数据已成功清空'); } catch (error) { // 回滚事务 await new Promise((resolve) => { db.run('ROLLBACK', resolve); }); console.error('清空财务数据失败:', error.message); } finally { // 关闭数据库连接 db.close((err) => { if (err) { console.error('数据库连接关闭失败:', err.message); } else { console.log('数据库连接已关闭'); } }); } }