97 lines
2.4 KiB
JavaScript
97 lines
2.4 KiB
JavaScript
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('数据库连接已关闭');
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|