From 406769da271d71bc48ab092cf59058a2ce82fce2 Mon Sep 17 00:00:00 2001 From: krivoshein Date: Thu, 29 Jan 2026 16:55:58 +0300 Subject: [PATCH] cfiController ID -> GUID --- LibServer/cficontroller/cficontroller.cpp | 32 +++++++++++------------ LibServer/cficontroller/cficontroller.h | 10 +++---- LibServer/cficontroller/cfiobject.cpp | 8 +++--- LibServer/cficontroller/cfiobject.h | 6 ++--- 4 files changed, 27 insertions(+), 29 deletions(-) diff --git a/LibServer/cficontroller/cficontroller.cpp b/LibServer/cficontroller/cficontroller.cpp index 13008ee..5deeb6f 100644 --- a/LibServer/cficontroller/cficontroller.cpp +++ b/LibServer/cficontroller/cficontroller.cpp @@ -24,7 +24,7 @@ void CfiController::unLockAccessToCfiXML() } -bool CfiController::parsingCfiXML(QMap& mapCfiObjects) +bool CfiController::parsingCfiXML(QMap& mapCfiObjects) { QMutexLocker locker(&mtxAccess); @@ -62,8 +62,8 @@ bool CfiController::updateCfiXML(const QByteArray &array) if(! Tools::loadByteArrayXMLtoDOM(array, &docCfiListDOM_New)) return false; - QMap mapCfiObjects_Orig; - QMap mapCfiObjects_New; + QMap mapCfiObjects_Orig; + QMap mapCfiObjects_New; if(!parsingCfiXML_DOM(docCfiListDOM_Orig, mapCfiObjects_Orig)) return false; @@ -111,7 +111,7 @@ double CfiController::roundDoubleVal(double value, int cntNumAfterPoint) return round(value * pow(10, cntNumAfterPoint)) / pow(10, cntNumAfterPoint); } -bool CfiController::parsingCfiXML_DOM(QDomDocument &domDoc, QMap& mapCfiObjects) +bool CfiController::parsingCfiXML_DOM(QDomDocument &domDoc, QMap& mapCfiObjects) { QDomElement CFIObjectsElement = domDoc.firstChildElement("CFIObjects"); if(CFIObjectsElement.isNull()) @@ -138,7 +138,7 @@ bool CfiController::parsingCfiXML_DOM(QDomDocument &domDoc, QMap //атрибуты CFIObject 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); //childs CFIObject @@ -201,54 +201,54 @@ bool CfiController::parsingCfiXML_DOM(QDomDocument &domDoc, QMap cfiObj.setSetCameraPos(setCamPos); - mapCfiObjects.insert(cfiObj.getId(), cfiObj); + mapCfiObjects.insert(cfiObj.getGuid(), cfiObj); } }while (! (oneCFIObjectElement = oneCFIObjectElement.nextSiblingElement()).isNull()); return true; } -bool CfiController::merge2map(QMap &mapCfiObjects_orig, QMap &mapCfiObjects_new) +bool CfiController::merge2map(QMap &mapCfiObjects_orig, QMap &mapCfiObjects_new) { //Проверка на удаление 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) { - int id = cfiObj.getId(); + QString guid = cfiObj.getGuid(); - if(mapCfiObjects_orig.contains(id)) + if(mapCfiObjects_orig.contains(guid)) {//Такой есть if(cfiObj.getIsChanged()) {//Заменяем - mapCfiObjects_orig.take(id); + mapCfiObjects_orig.take(guid); cfiObj.setIsChanged(false); cfiObj.resetIsChangedInDomElement(); - mapCfiObjects_orig.insert(id, cfiObj); + mapCfiObjects_orig.insert(guid, cfiObj); } } else {//Добавляем cfiObj.setIsChanged(false); cfiObj.resetIsChangedInDomElement(); - mapCfiObjects_orig.insert(id, cfiObj); + mapCfiObjects_orig.insert(guid, cfiObj); } } return true; } -bool CfiController::saveNewCfiListFile(QMap &mapCfiObjects) +bool CfiController::saveNewCfiListFile(QMap &mapCfiObjects) { QDomDocument commonDOM; if(! Tools::loadFileXMLtoDOM(":/resources/blankXML/ListCFI.xml", &commonDOM)) diff --git a/LibServer/cficontroller/cficontroller.h b/LibServer/cficontroller/cficontroller.h index 0272509..4596668 100644 --- a/LibServer/cficontroller/cficontroller.h +++ b/LibServer/cficontroller/cficontroller.h @@ -18,7 +18,7 @@ public: void unLockAccessToCfiXML(); //Распарсивание файла CfiList.xml - bool parsingCfiXML(QMap& mapCfiObjects); + bool parsingCfiXML(QMap& mapCfiObjects); //Слияние (обновление) с новыми данными bool updateCfiXML(const QByteArray& array); @@ -34,19 +34,17 @@ private: double roundDoubleVal(double value, int cntNumAfterPoint); - bool parsingCfiXML_DOM(QDomDocument& domDoc, QMap& mapCfiObjects); + bool parsingCfiXML_DOM(QDomDocument& domDoc, QMap& mapCfiObjects); - bool merge2map(QMap& mapCfiObjects_orig, QMap& mapCfiObjects_new); + bool merge2map(QMap& mapCfiObjects_orig, QMap& mapCfiObjects_new); - bool saveNewCfiListFile(QMap& mapCfiObjects); + bool saveNewCfiListFile(QMap& mapCfiObjects); private: UpdateController* updateController; QMutex mtxAccess; - //QList listCfiObjects; - QLocale* germanLocale; }; diff --git a/LibServer/cficontroller/cfiobject.cpp b/LibServer/cficontroller/cfiobject.cpp index 6e0366d..cd4fcee 100644 --- a/LibServer/cficontroller/cfiobject.cpp +++ b/LibServer/cficontroller/cfiobject.cpp @@ -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 diff --git a/LibServer/cficontroller/cfiobject.h b/LibServer/cficontroller/cfiobject.h index ba1a4f0..89d08e6 100644 --- a/LibServer/cficontroller/cfiobject.h +++ b/LibServer/cficontroller/cfiobject.h @@ -42,8 +42,8 @@ class CfiObject public: CfiObject(); - int getId() const; - void setId(int value); + QString getGuid() const; + void setGuid(QString value); QString getCfiName() const; void setCfiName(const QString &value); @@ -69,7 +69,7 @@ public: void resetIsChangedInDomElement(); private: - int id; + QString guid; bool isChanged; QString cfiName; QString cfi;