29class Database :
public QObject {
36 static Database *instance(QObject *parent =
nullptr);
37 static Database *create(QObject *parent);
39 bool isOpen()
const {
return m_isOpen; }
40 QString connectionName()
const;
42 void changePassword(
const QString& login,
const QString& oldpassword,
const QString& newpassword);
43 QList<Dbt::Users> authenticate(
const QString& user,
const QString& password);
44 QList<Dbt::Users> users(
int id = -1);
45 QList<Dbt::Categories> categories(
const QString&
id = QString());
46 QList<Dbt::Categories> categoriesToRoot(
const QString&
id);
47 QList<Dbt::Categories> subcategories(
const QString& parent = QString());
48 QList<Dbt::Categories> siblingcategories(
const QString& parent = QString());
49 QList<Dbt::UsersCategories> usersCategories(
int id = -1,
int user = -1,
const QString& category = QString());
50 QList<Dbt::CategoriesOverview> categoriesOverview(
const QStringList& statuses);
51 QList<Dbt::StatusOrder> statusOrder(
const QString&
id = QString());
52 QList<Dbt::Statuses> statuses(
const QString&
id = QString());
53 QList<Dbt::Statuses> statuses(
const QString& category,
const QString& prevStatus);
54 QList<Dbt::Statuses> statuses(
const QString& category,
const QStringList& prevStatuses);
56 QList<Dbt::StatusTemplates> statusTemplates(
int id = -1);
58 QList<Dbt::Tickets> tickets(
bool all =
false);
59 QList<Dbt::Tickets> tickets(
int ticket = -1,
bool all =
false);
60 QList<Dbt::Tickets> tickets(
const Dbt::Categories& category,
bool all =
false);
62 QList<Dbt::TicketsVw> ticketsVw(
bool all =
false);
63 QList<Dbt::TicketsVw> ticketsVw(
int ticket = -1,
bool all =
false);
64 QList<Dbt::TicketsVw> ticketsVw(
const Dbt::Categories& category,
bool all =
false);
66 QList<Dbt::TicketStatus> ticketStatus(
int id);
67 QList<Dbt::TicketStatus> ticketStatus(
bool all =
false);
68 QList<Dbt::TicketStatus> ticketStatus(
int ticket,
bool all);
70 QList<Dbt::TicketValues> ticketValues(
int id);
71 QList<Dbt::TicketValues> ticketValues(
bool all =
false);
72 QList<Dbt::TicketValues> ticketValues(
int ticket,
bool all);
74 QList<Dbt::TicketFiles> ticketFiles(
int id);
75 QList<Dbt::TicketFiles> ticketFiles(
bool all =
false);
76 QList<Dbt::TicketFiles> ticketFiles(
int ticket,
bool all);
78 QList<Dbt::TicketTimesheets> ticketTimesheets(
int id);
79 QList<Dbt::TicketTimesheets> ticketTimesheets(
bool all =
false);
80 QList<Dbt::TicketTimesheets> ticketTimesheets(
int ticket,
bool all);
81 QList<Dbt::TicketTimesheets> runningTimesheets(
int ticket = -1);
82 QList<Dbt::TicketTimesheets> startTimesheet(
int ticket);
83 QList<Dbt::TicketTimesheets> stopTimesheet(
int ticket);
84 QList<Dbt::TicketTimesheets> toggleTimesheet(
int ticket);
86 QList<Dbt::ClientSettings> clientSettings();
87 QList<Dbt::Overview> overview(
const QString& category,
const QStringList& statuses);
88 QList<Dbt::Overview> overview(
const QString& overviewId);
89 QList<Dbt::OverviewList> overviewList();
90 QList<Dbt::ServerInfo> serverInfo();
92 QList<Dbt::Departments> departments(
int department = -1);
93 QList<Dbt::Employees> employees(
int employees = -1);
94 QList<Dbt::Doors> doors(
int door = -1);
95 QList<Dbt::EventTypes> eventTypes(
const QString& eventType = QString());
96 QList<Dbt::Events> events(
int event = -1,
98 const QDate& month = QDate(),
101 QList<Dbt::Rfids> rfids(
int rfid = -1);
102 QList<Dbt::Rfids> rfidsById(
const QString& rfidId);
103 QList<Dbt::Holidays> holidays(
const QDate& date = QDate());
104 QList<Dbt::WorkCalendar> workCalendar(
const QDate& period = QDate());
105 void generateWorkCalendar(
int year);
106 void copyHolidays(
int fromYear,
int toYear);
112 QList<Dbt::AttendanceChecklist> attendanceChecklist(
int employee,
const QDate& month);
113 QList<Dbt::Employees> attendanceChecklist(
const QDate& month);
114 QList<Dbt::AttendanceSummary> attendanceSummary(
int employee,
const QDate& month);
115 QList<Dbt::AttendancePresent> attendancePresent();
116 QList<Dbt::AttendanceRecent> attendanceRecent(
int employee);
122 template<
typename T> QVariant save(
const T&
id) {
return m_dbplugin->save(
id); }
123 template<
typename T>
void remove(
const T&
id) { m_dbplugin->remove(
id); }
138 static Database *m_instance;
139 Database(QObject *parent);