- 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.
45 lines
1.2 KiB
C
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;
|
|
}; |