This commit is contained in:
2026-01-27 15:12:27 +05:00
parent d2c530bb3a
commit 9714ac5004
6 changed files with 2499 additions and 20 deletions

82
init-document-types.js Normal file
View File

@@ -0,0 +1,82 @@
// init-document-types.js - Инициализация типов документов
const fs = require('fs');
const path = require('path');
function initializeDocumentTypes(db) {
const documentTypes = [
{ name: 'Приказ', description: 'Распорядительный документ' },
{ name: 'Распоряжение', description: 'Распорядительный документ' },
{ name: 'Инструкция', description: 'Нормативный документ' },
{ name: 'Положение', description: 'Нормативный документ' },
{ name: 'Договор', description: 'Юридический документ' },
{ name: 'Соглашение', description: 'Юридический документ' },
{ name: 'Акт', description: 'Документ подтверждения факта' },
{ name: 'Служебная записка', description: 'Внутренний документ' },
{ name: 'Заявление', description: 'Обращение' },
{ name: 'Отчет', description: 'Отчетный документ' },
{ name: 'План', description: 'Плановый документ' },
{ name: 'Программа', description: 'Плановый документ' },
{ name: 'Протокол', description: 'Документ собрания' },
{ name: 'Решение', description: 'Документ коллегиального органа' },
{ name: 'Письмо', description: 'Корреспонденция' },
{ name: 'Справка', description: 'Информационный документ' },
{ name: 'Выписка', description: 'Копия части документа' },
{ name: 'Копия', description: 'Копия документа' },
{ name: 'Проект', description: 'Проект документа' },
{ name: 'Шаблон', description: 'Шаблон документа' }
];
// Создаем таблицу если её нет
db.run(`
CREATE TABLE IF NOT EXISTS document_types (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
description TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
)
`, (err) => {
if (err) {
console.error('❌ Ошибка создания таблицы типов документов:', err);
return;
}
console.log('✅ Таблица типов документов создана/проверена');
// Проверяем, есть ли уже типы документов
db.get("SELECT COUNT(*) as count FROM document_types", [], (err, result) => {
if (err) {
console.error('❌ Ошибка проверки типов документов:', err);
return;
}
if (result.count === 0) {
console.log('📄 Добавление типов документов...');
const insertPromises = documentTypes.map(type => {
return new Promise((resolve, reject) => {
db.run(
"INSERT INTO document_types (name, description) VALUES (?, ?)",
[type.name, type.description],
(err) => {
if (err) reject(err);
else resolve();
}
);
});
});
Promise.all(insertPromises)
.then(() => {
console.log(`✅ Добавлено ${documentTypes.length} типов документов`);
})
.catch(error => {
console.error('❌ Ошибка добавления типов документов:', error);
});
} else {
console.log(`В базе уже есть ${result.count} типов документов`);
}
});
});
}
module.exports = { initializeDocumentTypes };