Ruslan Polupan
Ruslan PolupanШілде 10, 2019, 8:29 Т.Ж.

iMpos жобасы. Бөлім 001. Проблемалық мәлімдеме

Небольшое вступление.

Для меня программирование хобби, дабы поддерживать в тонусе мыслительные процессы. Поэтому наверняка будут не совсем профессиональные подходы к решениям той или иной задачи. Поэтому всегда буду рад любым советам и критическим замечаниям. Участвовать в наполнении раздела Дневники разработки решил для того чтобы структурировать и дисциплинировать собственный процесс разработки.

Проект задумывался как набор инструментов для изменения настроек ПО АРМ Оператора АЗК М-Пос. Этот набор должен предоставлять сотрудникам техподдержки оперативно изменять настройки системы одновременно на нескольких (до 200) объектах без использования ручного выполнения SQL запросов. Это так же позволит выполнять изменение настроек сотрудникам не являющимися специалистами в IT сфере, освобождая время техподдержке для решения более насущных задач.


В качестве баз данных используется Firebird текущей версии 3.0.4.

iMpos (MPos Instruments) предполагает использование следующие драйвера баз данных:

  • QIBASE для работы с центральной базой и базами АЗС. Сборка драйвера описана здесь .
  • QSQLLITE для хранения текущих настроек программы, базы пользователей и логирования выполненных операций и т.д. Сборка драйвера не требуется.

Текущей стоит задача изменения наименования видов топлива (Летний/Зимний) в базе данных АЗС и на фискальном чеке кассового аппарата. Для этого необходимо произвести изменения настроек в таблице MIGRATEOPTIONS в базе данных АЗС. После чего в процессе закрытия смены на АЗС и снятия Z-отчета произойдут изменения в фискальной памяти кассового аппарата.

Общий алгоритм программы:

  • Подключится к базе данных настроек SQLite. Если она отсутствует создать;
  • Получить параметры подключения к ЦБ (центральная база). Если отсутствует создать новую запись и подключится;
  • Если необходима идентификация пользователя вызвать окно идентификации. Осуществить логирование о входе;
  • Запуск главного окна приложения;
  • Вызов диалогового окна Наименования топлива;
  • отобразить список действующих АЗС с возможностью выбора пользователем отдельных азс, отдельного региона, всех АЗС;
  • получить список выбранных АЗС;
  • получить параметры подключения к базе данных каждой АЗС;
  • запросить у пользователя дальнейшие действия Просмотр наименований либо Установка наименований ;
  • Подключится в отдельном потоке к каждой АЗС, в зависимости от задачи либо получаем данные с АЗС (SELECT) либо устанавливаем (UPDATE). В процессе отобразить текущее состояние запроса, а также статус его выполнения.
  • при успешном получении списка наименований отобразить его и предоставить возможность вывода информации на печать либо сохранение в *.xlsx файл.
  • при установке параметров отображать процесс и статус завершения. осуществить логирование в базу данных SQLite;
Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

Дмитрий
  • Шілде 10, 2019, 9:25 Т.Ж.

Исправьте опечатку:
"iMpos (MPos Instruments) предполагает использование слКдующий драйверов баз данных:"

Ruslan Polupan
  • Шілде 10, 2019, 10:45 Т.Ж.

Спасибо, исправил.

Evgenii Legotckoi
  • Шілде 11, 2019, 3:35 Т.Ж.

Вопрос есть. Базы пользователей в SQLite. Там хранятся логины и пароли поьлзователей? Или просто какая-то общая информация с настройками под конкретного пользователя?

Ruslan Polupan
  • Шілде 11, 2019, 3:47 Т.Ж.

Пароль пользователя программы. Для отслеживания кто и когда сделал изменения и все. Пароли к базам хранятся самих базах и в зашифрованном виде. Ну и настройки системы хранятся там. а также логи действия и сформированные скрипты.

Evgenii Legotckoi
  • Шілде 11, 2019, 3:50 Т.Ж.

Понятно, а просто шифруете одни пароли, или сразу всю базу данных SQLite? Насколько знаю, есть плагин для шифрования SQLite базы данных.

Ruslan Polupan
  • Шілде 11, 2019, 3:56 Т.Ж.

Задумывался над этим, но в свете текщих задач в этом нет особой необходимости.

Пікірлер

Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
Кіріңіз немесе Тіркеліңіз
Г

C++ - Тест 001. Первая программа и типы данных

  • Нәтиже:66ұпай,
  • Бағалау ұпайлары-1
t

C++ - Тест 001. Первая программа и типы данных

  • Нәтиже:33ұпай,
  • Бағалау ұпайлары-10
t

Qt - Тест 001. Сигналы и слоты

  • Нәтиже:52ұпай,
  • Бағалау ұпайлары-4
Соңғы пікірлер
G
GoattRockҚыр. 3, 2024, 1:50 Т.Қ.
Linux жүйесінде файлдарды қалай көшіруге болады Задумывались когда-нибудь о том, как мы привыкли доверять свои вещи службам грузоперевозок? Сейчас такие услуги стали неотъемлемой частью нашей жизни, особенно когда речь идет о переездах между …
d
dblas5Шілде 5, 2024, 11:02 Т.Ж.
QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssrАқп. 8, 2024, 6:43 Т.Қ.
Qt Linux - Сабақ 001. Linux астында Autorun Qt қолданбасы как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Анатолий КононенкоАқп. 5, 2024, 1:50 Т.Ж.
Qt WinAPI - Сабақ 007. Qt ішінде ICMP Ping арқылы жұмыс істеу Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Енді форумда талқылаңыз
Evgenii Legotckoi
Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
F
FynjyШілде 22, 2024, 4:15 Т.Ж.
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …
BlinCT
BlinCTМаусым 25, 2024, 1 Т.Ж.
Нарисовать кривую в qml Всем привет. Имеется Лист листов с тосками, точки получаны интерполяцией Лагранжа. Вопрос, как этими точками нарисовать кривую? ChartView отпадает сразу, в qt6.7 появился новый элемент…
BlinCT
BlinCTМамыр 5, 2024, 5:46 Т.Ж.
Написать свой GraphsView Всем привет. В Qt есть давольно старый обьект дял работы с графиками ChartsView и есть в 6.7 новый но очень сырой и со слабым функционалом GraphsView. По этой причине я хочу написать х…
Evgenii Legotckoi
Evgenii LegotckoiМамыр 2, 2024, 2:07 Т.Қ.
Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Добрый день. По моему мнению - да, но то, что будет касаться вызовов к функционалу Андроида, может создать огромные трудности.

Бізді әлеуметтік желілерде бақылаңыз