Forráskód Böngészése

Add documentation

HanamileH 2 hete
szülő
commit
ba8c972c01

+ 53 - 2
README.md

@@ -1,3 +1,54 @@
-# Practice
+# Аннотация
+Программа предназначена для ведения учета корреспонденции, связанной с организациями и сотрудниками. Она позволяет просматривать данные из базы PostgreSQL, добавлять, редактировать, удалять и искать записи о корреспонденции через графический интерфейс.
 
-Программа для учёта корреспонденций предприятий
+# Введение
+## Основные возможности
+- Просмотр списка организаций.
+- Просмотр списка сотрудников с привязкой к организации.
+- Добавление новой корреспонденции.
+- Редактирование существующей корреспонденции.
+- Удаление записей корреспонденции.
+- Поиск корреспонденции по номеру документа.
+- Подсчет количества корреспонденции по выбранной организации.
+
+# Назначение и условия применения
+Программа предназначена для работы с PostgreSQL-базой данных корреспонденций. Для корректной работы требуются:
+- Windows 10 или выше.
+- Доступ к базе данных PostgreSQL.
+- Графическая среда для отображения окна приложения.
+- Процессор Intel Core i3 или выше.
+- Оперативная память не менее 4 ГБ.
+- Видеокарта с поддержкой OpenGL 2.0+.
+
+# Установка
+1. [ ] Скачайте и распакуйте архив с программой.
+2. [ ] Укажите в файле `.env` данные для подключения к базе данных, полученные от администратора.
+3. [ ] Запустите файл `main.exe`.
+4. [ ] Введите ваш логин и пароль для подключения к базе данных.
+
+# Описание операций
+- Авторизация в системе происходит через ввод имени пользователя и пароля PostgreSQL.
+- После подключения доступны вкладки:
+  - `Компании` - просмотр организаций.
+  - `Сотрудники` - просмотр сотрудников.
+  - `Корреспонденция` - работа с записями корреспонденции.
+- В разделе корреспонденции доступны операции:
+  - добавление записи;
+  - изменение записи;
+  - удаление записи;
+  - поиск по номеру документа.
+- Для создания и редактирования записи используются поля:
+  - дата поступления;
+  - дата исполнения;
+  - сотрудник;
+  - тип документа;
+  - номер документа.
+
+# Термины и сокращения
+| Термин | Описание |
+| - | - |
+| БД | База данных |
+| PostgreSQL | Система управления базами данных |
+| GUI | Графический пользовательский интерфейс |
+| Корреспонденция | Входящий или внутренний документ, учитываемый в программе |
+| Организация | Компания или учреждение, связанное с сотрудниками и корреспонденцией |

+ 47 - 0
init_schema.sql

@@ -0,0 +1,47 @@
+-- Создание ENUM типов
+CREATE TYPE legal_form_enum AS ENUM (
+    'ИП',
+    'ООО',
+    'ОАО',
+    'ПАО',
+    'смешанное'
+);
+
+CREATE TYPE document_type_enum AS ENUM (
+    'информационный',
+    'организационно-распорядительный',
+    'запросно-ответный',
+    'инициативный',
+    'другой'
+);
+
+-- Таблица organization (организация)
+CREATE TABLE organization (
+    id SERIAL PRIMARY KEY,
+    name VARCHAR(64) UNIQUE NOT NULL,
+    legal_form legal_form_enum NOT NULL
+);
+
+-- Таблица employee (сотрудники)
+CREATE TABLE employee (
+    id SERIAL PRIMARY KEY,
+    name VARCHAR(64) NOT NULL,
+    lastname VARCHAR(64) NOT NULL,
+    patronymic VARCHAR(64),
+    organization_id INTEGER NOT NULL REFERENCES organization(id) ON DELETE RESTRICT
+);
+
+-- Таблица correspondence (корреспонденция)
+CREATE TABLE correspondence (
+    id SERIAL PRIMARY KEY,
+    document_type document_type_enum NOT NULL,
+    document_number VARCHAR(256) UNIQUE NOT NULL,
+    receipt_date DATE NOT NULL DEFAULT CURRENT_DATE,
+    execution_date DATE, -- Может быть NULL, если документ ещё не исполнен
+    employee_id INTEGER NOT NULL REFERENCES employee(id) ON DELETE RESTRICT,
+    
+    -- Проверка что execution_date позже receipt_date или NULL
+    CONSTRAINT check_execution_date CHECK (
+        execution_date IS NULL OR execution_date >= receipt_date
+    )
+);

BIN
Диаграмма развёртывания.png


+ 71 - 0
Руководство оператора.md

@@ -0,0 +1,71 @@
+# Аннотация
+Данное руководство описывает порядок подготовки, запуска и использования программы для учета корреспонденции в графическом интерфейсе. Документ рассчитан на пользователя, который работает с базой данных PostgreSQL и запускает приложение в Docker-контейнере.
+
+# Введение
+## Область применения
+Программа используется для ведения учета корреспонденции организаций, просмотра сотрудников и выполнения операций над записями в базе данных.
+
+## Основные возможности
+- подключение к PostgreSQL;
+- просмотр организаций и сотрудников;
+- создание, редактирование и удаление корреспонденции;
+- поиск корреспонденции по номеру документа;
+- отображение количества корреспонденции по организации.
+
+# Подготовка к работе
+## Порядок установки для администратора
+1. [ ] Создайте базу данных PostgreSQL или используйте существующую.
+2. [ ] Инициализируйте структуру базы данных используя `init_schema.sql`.
+3. [ ] При необходимости импортируйте данные в базу данных.
+4. [ ] Используя средства СУБД, создайте роли и предоставьте им необходимые права доступа к базе данных.
+5. [ ] Скачайте и распакуйте архив с программой.
+6. [ ] Укажите в файле `.env` данные для подключения к базе данных.
+7. [ ] Запустите файл `main.exe`.
+8. [ ] Введите ваш логин и пароль для подключения к базе данных.
+
+## Порядок проверки работоспособности
+1. [ ] После запуска убедитесь, что открылось окно приложения.
+2. [ ] Введите имя пользователя и пароль PostgreSQL.
+3. [ ] Нажмите кнопку подключения.
+4. [ ] Проверьте, что открылись вкладки `Компании`, `Сотрудники` и `Корреспонденция`.
+5. [ ] Проверьте отображение списков организаций и сотрудников.
+6. [ ] Создайте тестовую запись корреспонденции.
+7. [ ] Выполните поиск по номеру документа.
+8. [ ] Измените и удалите тестовую запись, чтобы убедиться в работоспособности операций.
+
+# Описание операций
+- `Компании` - выводит список организаций из базы данных.
+- `Сотрудники` - выводит список сотрудников с указанием организации.
+- `Корреспонденция` - позволяет выполнять основные операции с документами.
+- Добавление записи:
+  - укажите дату поступления;
+  - при необходимости укажите дату исполнения;
+  - выберите организацию и сотрудника;
+  - укажите тип и номер документа;
+  - нажмите кнопку добавления.
+- Редактирование записи:
+  - выберите запись;
+  - измените нужные поля;
+  - нажмите кнопку сохранения изменений.
+- Удаление записи:
+  - нажмите кнопку удаления напротив нужной строки.
+- Поиск:
+  - введите часть или полный номер документа в поле поиска.
+
+# Аварийные ситуации
+- Если приложение не подключается к базе данных, проверьте:
+  - корректность логина/пароля;
+  - корректность данных в `.env`;
+  - доступность PostgreSQL сервера.
+- Если ввод даты вызывает ошибку, проверьте формат:
+  - `ДД-ММ-ГГГГ`.
+- Если номер документа уже существует, создайте запись с другим номером.
+
+# Термины и сокращения
+| Термин | Описание |
+| - | - |
+| БД | База данных |
+| PostgreSQL | Система управления базами данных |
+| GUI | Графический пользовательский интерфейс |
+| Корреспонденция | Входящий или внутренний документ, учитываемый в программе |
+| Организация | Компания или учреждение, связанное с сотрудниками и корреспонденцией |