#ifndef HBLASTRECORDDET_H
#define HBLASTRECORDDET_H

#include <QDateTime>
#include <QJsonDocument>
#include <QJsonObject>
#include <QString>
#include <QUuid>
class HBlastRecordDet : public QObject {
    Q_OBJECT
    // 定义属性
    Q_PROPERTY(qint64 id READ getId WRITE setId)
    Q_PROPERTY(QString uuid READ getUuid WRITE setUuid)
    Q_PROPERTY(QString outCode READ getOutCode WRITE setOutCode)
    Q_PROPERTY(QString innerCode READ getInnerCode WRITE setInnerCode)
    Q_PROPERTY(QString uid READ getUid WRITE setUid)
    Q_PROPERTY(QString status READ getStatus WRITE setStatus)
    Q_PROPERTY(QString freq READ getFreq WRITE setFreq)
    Q_PROPERTY(QString delayTime READ getDelayTime WRITE setDelayTime)
    Q_PROPERTY(QString tag READ getTag WRITE setTag)
    Q_PROPERTY(QString blastRecordUUID READ getBlastRecordUuid WRITE setBlastRecordUuid)
    Q_PROPERTY(QString equipmentRecordUUID READ getEquipmentRecordUuid WRITE setEquipmentRecordUuid)
    Q_PROPERTY(QDateTime createdAt READ getCreatedAt WRITE setCreatedAt)
    Q_PROPERTY(QDateTime updatedAt READ getUpdatedAt WRITE setUpdatedAt)
    Q_PROPERTY(QDateTime deletedAt READ getDeletedAt WRITE setDeletedAt)
    Q_PROPERTY(qint64 createBy READ getCreateBy WRITE setCreateBy)
    Q_PROPERTY(qint64 updateBy READ getUpdateBy WRITE setUpdateBy)
   public:
    explicit HBlastRecordDet(QObject *parent = nullptr);

    // Getter and Setter methods
    qint64 getId() const;
    void setId(qint64 newId);

    QString getUuid() const;
    void setUuid(const QString &newUuid);

    QString getOutCode() const;
    void setOutCode(const QString &newOutCode);

    QString getInnerCode() const;
    void setInnerCode(const QString &newInnerCode);

    QString getUid() const;
    void setUid(const QString &newUid);

    QString getStatus() const;
    void setStatus(const QString &newStatus);

    QString getFreq() const;
    void setFreq(const QString &newFreq);

    QString getDelayTime() const;
    void setDelayTime(const QString &newDelayTime);

    QString getTag() const;
    void setTag(const QString &newTag);

    QString getBlastRecordUuid() const;
    void setBlastRecordUuid(QString newBlastRecordId);

    QString getEquipmentRecordUuid() const;
    void setEquipmentRecordUuid(QString newRegId);

    QDateTime getCreatedAt() const;
    void setCreatedAt(const QDateTime &newCreatedAt);

    QDateTime getUpdatedAt() const;
    void setUpdatedAt(const QDateTime &newUpdatedAt);

    QDateTime getDeletedAt() const;
    void setDeletedAt(const QDateTime &newDeletedAt);

    qint64 getCreateBy() const;
    void setCreateBy(qint64 newCreateBy);

    qint64 getUpdateBy() const;
    void setUpdateBy(qint64 newUpdateBy);

    QJsonObject ToJson();

   private:
    qint64 id;
    QString uuid;
    QString outCode;
    QString innerCode;
    QString uid;
    QString status;
    QString freq;
    QString delayTime;
    QString tag;
    QString blastRecordUUID;
    QString equipmentRecordUUID;
    QDateTime createdAt;
    QDateTime updatedAt;
    QDateTime deletedAt;
    qint64 createBy;
    qint64 updateBy;
};

#endif  // HBLASTRECORDDET_H
