#include "dgmapping.h" #include DGMapping::DGMapping() { } DGMapping::~DGMapping() { } QVector > DGMapping::getDGBySubstationID(const QString& id) { if(this->ht.contains(id)) { return this->ht.get(id); } return QVector >(); } bool DGMapping::load(const QString &filePath) { //格式 //序号,名称,容量,所属Substation的ID QFile file(filePath); QString line; QStringList sep; if(file.open(QFile::ReadOnly)) { QTextStream reader(&file); while(!reader.atEnd()) { line=reader.readLine().trimmed(); if(line.length()==0) { continue; } if(line.startsWith("#")) { continue; } sep=line.split(','); if(sep.length()<4) { continue; } QString name=sep.at(1); double capacity=sep.at(2).toDouble(); QString attachedSubID=sep.at(3); QSharedPointer t(new DGInfo); t->setName(name); t->setCapacity(capacity); t->setAttchedSubstaitonID(attachedSubID); QVector >& vec=this->ht.get(attachedSubID); vec.push_back(t); } file.close(); } else { return false; } // QStringList keys; // keys=this->ht.keys(); // foreach(QString k,keys) // { // std::cout<ht.get(k).at(0)->getAttchedSubstaitonID().toStdString()<