doc
This commit is contained in:
82
init-document-types.js
Normal file
82
init-document-types.js
Normal 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 };
|
||||
Reference in New Issue
Block a user