1
0
forked from BRT/arc
arc/models/db/MaterialInfo.h
trnsmkot 81b8ac6d92 Add account number parsing and database integration:
- Extend `ScreenXmlParser` with methods for detecting and extracting account numbers from multiple screens.
- Update database schema and DAO to support `account_number` field.
- Modify card information scripts to collect, save, and utilize account numbers.
- Enhance `GetCardInfoScript` logic to fetch account numbers via screen parsing and interaction.
2026-05-08 20:29:00 +07:00

45 lines
1.2 KiB
C

#pragma once
#include <QDateTime>
enum class MaterialStatus {
Active,
Off
};
inline QString materialStatusToString(const MaterialStatus status) {
switch (status) {
case MaterialStatus::Active: return "active";
case MaterialStatus::Off: return "off";
default: return "active";
}
}
inline QString materialStatusToUiString(const MaterialStatus status) {
switch (status) {
case MaterialStatus::Active: return "в работе";
case MaterialStatus::Off: return "выключена";
default: return "в работе";
}
}
inline MaterialStatus materialStatusFromString(const QString &str) {
if (str == "active") return MaterialStatus::Active;
if (str == "off") return MaterialStatus::Off;
return MaterialStatus::Active;
}
struct MaterialInfo {
int id = -1;
QString deviceId; // code
QString appCode;
QString lastNumbers;
QString cardNumber; // full 16-digit card number
QString accountNumber; // full bank account number (IBAN-like)
QString materialId;
QString currency;
QString description;
double amount = 0.0;
QDateTime updateTime;
MaterialStatus status = MaterialStatus::Active;
};