95 lines
2.9 KiB
C++
95 lines
2.9 KiB
C++
#ifndef KBDUPDATEPSC3000DLG_H
|
|
#define KBDUPDATEPSC3000DLG_H
|
|
|
|
#include <QSet>
|
|
#include <QItemDelegate>
|
|
#include "xlsxdocument.h"
|
|
#include "pub_widget/CustomDialog.h"
|
|
|
|
class QTableWidget;
|
|
class QComboBox;
|
|
|
|
class KbdUpdatePsc3000Dlg : public CustomDialog
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit KbdUpdatePsc3000Dlg(const QString & rtuTag, QWidget *parent = nullptr);
|
|
QString openPsc3000File(const QString &csvFile);
|
|
|
|
private:
|
|
void initLayout();
|
|
void initData();
|
|
void updateTable();
|
|
void accept();
|
|
void onMsg(const QString &msg);
|
|
QString readXlsx(const QString &xlsxPath);
|
|
QString saveNewPcs3000Data();
|
|
|
|
bool checkCfgInfo();
|
|
void getCfgIfo();
|
|
QStringList getDevGroup(QString fesTag);
|
|
|
|
void UpdatePcs3000Data();
|
|
bool UpdateDigitalPoints(QString devId, QString fesDevTag, QString devGroupTag);
|
|
bool UpdateAnalogPoints(QString devId,QString fesDevTag,QString devGroupTag);
|
|
bool UpdateAccumlPoints(QString devId,QString fesDevTag,QString devGroupTag);
|
|
bool UpdateDigitalCtrlPoints(QString devId,QString fesDevTag);
|
|
bool UpdateConstPoints(QString devId,QString fesDevTag);
|
|
|
|
bool deleteUselessFesPoint(QString pcsTable,QString fesTable,QString devTable,QString devId,QString fesDevTag);
|
|
bool addFesConstPoints(QList<QStringList> listPcsData,QString fesDevTag);
|
|
bool addDigitalCtrlPoints(QList<QString> listPcsData,QString devId,QString fesDevTag);
|
|
|
|
bool creatDigitalDevPointValue(QString devGroupTag, QList<QStringList> listPcsPoint, int ndotNo);
|
|
bool creatAnalogDevPointValue(QString devGroupTag, QList<QStringList> listPcsPoint, int ndotNo);
|
|
bool creatAccumlDevPointValue(QString devGroupTag, QList<QStringList> listPcsPoint, int ndotNo);
|
|
|
|
bool UpdateDevPointDes(QString devId,QString fesDevTag,QString pcsTable,QString fesTable);
|
|
void updateFesPointCoeff(QString fesDevTag);
|
|
|
|
signals:
|
|
void sigUpdateResult(const QString &result);
|
|
void sigUpdateProcess(int process);
|
|
|
|
private slots:
|
|
void onSelectAll();
|
|
void onSelectOver();
|
|
|
|
private:
|
|
QTableWidget* m_table;
|
|
private:
|
|
QString m_locationId;
|
|
QString m_subsystemId;
|
|
QString m_rtuNo;
|
|
QString m_rtuTag;
|
|
QXlsx::Document* m_xlsx;
|
|
QMap<QString, QString> m_mapPcsDev;
|
|
QMap<QString, QStringList> m_mapFesDev;
|
|
QMap<QString, QStringList> m_mapDevGroup;
|
|
QMap<QString,QString> m_mapFesTempTag;
|
|
QList<QStringList> m_listCfgInfo;
|
|
QSet<QString> m_setTempTag;
|
|
QSet<QString> m_setUpdateTag;
|
|
};
|
|
|
|
|
|
class CboxDelegate: public QItemDelegate
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
CboxDelegate(QList<QStringList> listBoxData,QObject *parent = Q_NULLPTR);
|
|
~CboxDelegate();
|
|
|
|
public:
|
|
QWidget *createEditor(QWidget *parent,const QStyleOptionViewItem &,const QModelIndex &) const;
|
|
void setEditorData(QWidget *editor, const QModelIndex &index) const;
|
|
void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const;
|
|
public:
|
|
QList<QStringList> m_cbBoxData;
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // KBDUPDATEPSC3000DLG_H
|