cfiController ID -> GUID

This commit is contained in:
2026-01-29 16:55:58 +03:00
parent b4d796d8be
commit 406769da27
4 changed files with 27 additions and 29 deletions

View File

@@ -24,7 +24,7 @@ void CfiController::unLockAccessToCfiXML()
} }
bool CfiController::parsingCfiXML(QMap<int, CfiObject>& mapCfiObjects) bool CfiController::parsingCfiXML(QMap<QString, CfiObject>& mapCfiObjects)
{ {
QMutexLocker locker(&mtxAccess); QMutexLocker locker(&mtxAccess);
@@ -62,8 +62,8 @@ bool CfiController::updateCfiXML(const QByteArray &array)
if(! Tools::loadByteArrayXMLtoDOM(array, &docCfiListDOM_New)) if(! Tools::loadByteArrayXMLtoDOM(array, &docCfiListDOM_New))
return false; return false;
QMap<int, CfiObject> mapCfiObjects_Orig; QMap<QString, CfiObject> mapCfiObjects_Orig;
QMap<int, CfiObject> mapCfiObjects_New; QMap<QString, CfiObject> mapCfiObjects_New;
if(!parsingCfiXML_DOM(docCfiListDOM_Orig, mapCfiObjects_Orig)) if(!parsingCfiXML_DOM(docCfiListDOM_Orig, mapCfiObjects_Orig))
return false; return false;
@@ -111,7 +111,7 @@ double CfiController::roundDoubleVal(double value, int cntNumAfterPoint)
return round(value * pow(10, cntNumAfterPoint)) / pow(10, cntNumAfterPoint); return round(value * pow(10, cntNumAfterPoint)) / pow(10, cntNumAfterPoint);
} }
bool CfiController::parsingCfiXML_DOM(QDomDocument &domDoc, QMap<int, CfiObject>& mapCfiObjects) bool CfiController::parsingCfiXML_DOM(QDomDocument &domDoc, QMap<QString, CfiObject>& mapCfiObjects)
{ {
QDomElement CFIObjectsElement = domDoc.firstChildElement("CFIObjects"); QDomElement CFIObjectsElement = domDoc.firstChildElement("CFIObjects");
if(CFIObjectsElement.isNull()) if(CFIObjectsElement.isNull())
@@ -138,7 +138,7 @@ bool CfiController::parsingCfiXML_DOM(QDomDocument &domDoc, QMap<int, CfiObject>
//атрибуты CFIObject //атрибуты CFIObject
QDomNamedNodeMap nodeMapOneCFIObject = oneCFIObjectElement.attributes(); QDomNamedNodeMap nodeMapOneCFIObject = oneCFIObjectElement.attributes();
cfiObj.setId(nodeMapOneCFIObject.namedItem("id").nodeValue().toInt()); cfiObj.setGuid(nodeMapOneCFIObject.namedItem("guid").nodeValue());
cfiObj.setIsChanged(nodeMapOneCFIObject.namedItem("isChanged").nodeValue() == "True" ? true : false); cfiObj.setIsChanged(nodeMapOneCFIObject.namedItem("isChanged").nodeValue() == "True" ? true : false);
//childs CFIObject //childs CFIObject
@@ -201,54 +201,54 @@ bool CfiController::parsingCfiXML_DOM(QDomDocument &domDoc, QMap<int, CfiObject>
cfiObj.setSetCameraPos(setCamPos); cfiObj.setSetCameraPos(setCamPos);
mapCfiObjects.insert(cfiObj.getId(), cfiObj); mapCfiObjects.insert(cfiObj.getGuid(), cfiObj);
} }
}while (! (oneCFIObjectElement = oneCFIObjectElement.nextSiblingElement()).isNull()); }while (! (oneCFIObjectElement = oneCFIObjectElement.nextSiblingElement()).isNull());
return true; return true;
} }
bool CfiController::merge2map(QMap<int, CfiObject> &mapCfiObjects_orig, QMap<int, CfiObject> &mapCfiObjects_new) bool CfiController::merge2map(QMap<QString, CfiObject> &mapCfiObjects_orig, QMap<QString, CfiObject> &mapCfiObjects_new)
{ {
//Проверка на удаление //Проверка на удаление
for(CfiObject cfiObj : mapCfiObjects_orig) for(CfiObject cfiObj : mapCfiObjects_orig)
{ {
int id = cfiObj.getId(); QString guid = cfiObj.getGuid();
if(!mapCfiObjects_new.contains(id)) if(!mapCfiObjects_new.contains(guid))
{//Удаляем {//Удаляем
mapCfiObjects_orig.take(id); mapCfiObjects_orig.take(guid);
} }
} }
//Замена, Добавление //Замена, Добавление
for(CfiObject cfiObj : mapCfiObjects_new) for(CfiObject cfiObj : mapCfiObjects_new)
{ {
int id = cfiObj.getId(); QString guid = cfiObj.getGuid();
if(mapCfiObjects_orig.contains(id)) if(mapCfiObjects_orig.contains(guid))
{//Такой есть {//Такой есть
if(cfiObj.getIsChanged()) if(cfiObj.getIsChanged())
{//Заменяем {//Заменяем
mapCfiObjects_orig.take(id); mapCfiObjects_orig.take(guid);
cfiObj.setIsChanged(false); cfiObj.setIsChanged(false);
cfiObj.resetIsChangedInDomElement(); cfiObj.resetIsChangedInDomElement();
mapCfiObjects_orig.insert(id, cfiObj); mapCfiObjects_orig.insert(guid, cfiObj);
} }
} }
else else
{//Добавляем {//Добавляем
cfiObj.setIsChanged(false); cfiObj.setIsChanged(false);
cfiObj.resetIsChangedInDomElement(); cfiObj.resetIsChangedInDomElement();
mapCfiObjects_orig.insert(id, cfiObj); mapCfiObjects_orig.insert(guid, cfiObj);
} }
} }
return true; return true;
} }
bool CfiController::saveNewCfiListFile(QMap<int, CfiObject> &mapCfiObjects) bool CfiController::saveNewCfiListFile(QMap<QString, CfiObject> &mapCfiObjects)
{ {
QDomDocument commonDOM; QDomDocument commonDOM;
if(! Tools::loadFileXMLtoDOM(":/resources/blankXML/ListCFI.xml", &commonDOM)) if(! Tools::loadFileXMLtoDOM(":/resources/blankXML/ListCFI.xml", &commonDOM))

View File

@@ -18,7 +18,7 @@ public:
void unLockAccessToCfiXML(); void unLockAccessToCfiXML();
//Распарсивание файла CfiList.xml //Распарсивание файла CfiList.xml
bool parsingCfiXML(QMap<int, CfiObject>& mapCfiObjects); bool parsingCfiXML(QMap<QString, CfiObject>& mapCfiObjects);
//Слияние (обновление) с новыми данными //Слияние (обновление) с новыми данными
bool updateCfiXML(const QByteArray& array); bool updateCfiXML(const QByteArray& array);
@@ -34,19 +34,17 @@ private:
double roundDoubleVal(double value, int cntNumAfterPoint); double roundDoubleVal(double value, int cntNumAfterPoint);
bool parsingCfiXML_DOM(QDomDocument& domDoc, QMap<int, CfiObject>& mapCfiObjects); bool parsingCfiXML_DOM(QDomDocument& domDoc, QMap<QString, CfiObject>& mapCfiObjects);
bool merge2map(QMap<int, CfiObject>& mapCfiObjects_orig, QMap<int, CfiObject>& mapCfiObjects_new); bool merge2map(QMap<QString, CfiObject>& mapCfiObjects_orig, QMap<QString, CfiObject>& mapCfiObjects_new);
bool saveNewCfiListFile(QMap<int, CfiObject>& mapCfiObjects); bool saveNewCfiListFile(QMap<QString, CfiObject>& mapCfiObjects);
private: private:
UpdateController* updateController; UpdateController* updateController;
QMutex mtxAccess; QMutex mtxAccess;
//QList<CfiObject> listCfiObjects;
QLocale* germanLocale; QLocale* germanLocale;
}; };

View File

@@ -5,14 +5,14 @@ CfiObject::CfiObject()
} }
int CfiObject::getId() const QString CfiObject::getGuid() const
{ {
return id; return guid;
} }
void CfiObject::setId(int value) void CfiObject::setGuid(QString value)
{ {
id = value; guid = value;
} }
QString CfiObject::getCfiName() const QString CfiObject::getCfiName() const

View File

@@ -42,8 +42,8 @@ class CfiObject
public: public:
CfiObject(); CfiObject();
int getId() const; QString getGuid() const;
void setId(int value); void setGuid(QString value);
QString getCfiName() const; QString getCfiName() const;
void setCfiName(const QString &value); void setCfiName(const QString &value);
@@ -69,7 +69,7 @@ public:
void resetIsChangedInDomElement(); void resetIsChangedInDomElement();
private: private:
int id; QString guid;
bool isChanged; bool isChanged;
QString cfiName; QString cfiName;
QString cfi; QString cfi;