feat: 完善采购申请流程 - 添加审批、执行、列表筛选排序功能
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
const sqlite3 = require('sqlite3').verbose();
|
||||
const db = new sqlite3.Database('company_finance.db');
|
||||
|
||||
// 更新付款申请表,添加新字段
|
||||
db.serialize(() => {
|
||||
console.log('开始更新付款申请表...');
|
||||
|
||||
// 检查字段是否存在
|
||||
db.all("PRAGMA table_info(payment_requests)", (err, rows) => {
|
||||
if (err) {
|
||||
console.error('获取表结构失败:', err.message);
|
||||
db.close();
|
||||
return;
|
||||
}
|
||||
|
||||
const existingColumns = rows.map(row => row.name);
|
||||
|
||||
// 需要添加的字段
|
||||
const columnsToAdd = [
|
||||
{ name: 'payee_type', type: 'TEXT' }, // 收款单位类型:subcontractor/supplier/customer/other
|
||||
{ name: 'payee_id', type: 'INTEGER' }, // 收款单位ID(当类型为subcontractor/supplier/customer时)
|
||||
{ name: 'expense_type', type: 'TEXT' }, // 支出类型:company/project
|
||||
{ name: 'expense_category', type: 'TEXT' }, // 支出分类
|
||||
{ name: 'project_id', type: 'INTEGER' } // 关联项目ID(当expense_type为project时)
|
||||
];
|
||||
|
||||
let addedCount = 0;
|
||||
|
||||
columnsToAdd.forEach(column => {
|
||||
if (!existingColumns.includes(column.name)) {
|
||||
db.run(`ALTER TABLE payment_requests ADD COLUMN ${column.name} ${column.type}`, (err) => {
|
||||
if (err) {
|
||||
console.error(`添加 ${column.name} 字段失败:`, err.message);
|
||||
} else {
|
||||
console.log(`✓ ${column.name} 字段添加成功`);
|
||||
addedCount++;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
console.log(`✓ ${column.name} 字段已存在`);
|
||||
}
|
||||
});
|
||||
|
||||
// 关闭数据库连接
|
||||
setTimeout(() => {
|
||||
console.log(`\n共添加 ${addedCount} 个新字段`);
|
||||
db.close((err) => {
|
||||
if (err) {
|
||||
console.error('关闭数据库失败:', err.message);
|
||||
} else {
|
||||
console.log('数据库连接已关闭');
|
||||
}
|
||||
});
|
||||
}, 500);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user