Example #1
0
void ReportDataHelper::ReadDatas( const CString& name, ArrayVector& datasVector,int unitCount )
{
	AcStringArray getDatas;
	AcDbObjectId objId;
	GDESDataObjectHelper::GetObjectId(name,objId);
	GetObjectDatas(objId,getDatas);
	//AcStringArray strName,strIsRunning,strReason;
	ArrayVector datas;
	int nCount = getDatas.length();
	if(nCount <= 0) return;
	datas.resize( unitCount );
	for(int i = 0;  i < nCount; i = i+2 )
	{
		int j = (i/2)% unitCount;
		datas[j].append(getDatas[i]);
	}

	datasVector.clear();
	for(int i = 0; i < nCount / (2 * unitCount); i++)
	{
		CString temp;
		AcStringArray temps;
		for(int j = 0; j < unitCount; j++)
		{
			temp.Format(_T("%s"),datas[j][i].kACharPtr());
			if(temp == ISNULL) temp = _T("");
			temps.append(temp);
		}
		datasVector.push_back(temps);
	}
}
Example #2
0
static BOOL ReadSysPumpDatas(ArrayVector& datas)
{
	ArrayVector dataVector;
	ReportDataHelper::ReadDatas(GAS_PUMP_OBJCT_NAME,dataVector,4);
	if(dataVector.empty()) return FALSE;
	AcStringArray sysNames,pumpStates,pumpTypes,pumpAbilities;
	for(int i = 0; i < dataVector.size(); i++)
	{
		sysNames.append(dataVector[i][0]);
		pumpStates.append(dataVector[i][1]);
		pumpTypes.append(dataVector[i][2]);
		pumpAbilities.append(dataVector[i][3]);
	}

	datas.push_back(sysNames);
	datas.push_back(pumpStates);
	datas.push_back(pumpTypes);
	datas.push_back(pumpAbilities);

	return TRUE;
}
Example #3
0
void SymbolManager::cleanArrays() {
	this->arrayVectorMutex.lock();
	for (auto &item : this->arrayVector) {
		assert(item);
		item->updateTypes();
	}

	auto item = this->arrayVector.begin();
	std::sort(
		item,
		arrayVector.end(),
		[](const Array *a, const Array *b) {
			return *a < *b;
		}
	);
	item = this->arrayVector.begin();

	if (item == this->arrayVector.end()) {
		return;
	}

	Array *oldPtr = *item;
	Array *delPtr = nullptr;
	item++;

	ArrayVector tmp;

	while (item != this->arrayVector.end()) {
		if (*oldPtr == *(*item)) {
			this->addAlternativeID(oldPtr->getID(), (*item)->getID());
			delPtr = *item;
			delete delPtr;
		} else {
			oldPtr = (*item);
			tmp.push_back(*item);
		}
		item++;
	}

	tmp.shrink_to_fit();
	this->arrayVector.swap(tmp);
	tmp.clear();

	this->arrayTypeMapMutex.lock();
	for (auto &item : arrayVector) {
		this->arrayTypeMap.insert(std::make_pair(item->getType(), item));
	}
	this->arrayTypeMapMutex.unlock();
	this->arrayVectorMutex.unlock();
}
Example #4
0
BOOL GasSysDlg::RecordRunningSysName(const AcStringArray& gasSysNams,const AcStringArray& gasSysRunning)
{
	//CString dataDirName = _T( "Datas\\BaseTemp\\" );
	//CString fileName =BuildPath ( BuildPath( GetAppPathDir(), dataDirName ),_T("bgaspumpvars0.txt") );

	//AcOfstream outFile(fileName);
	//if (!outFile) return FALSE;

	ArrayVector namesVector;
	AcStringArray names;
	for(int i = 0; i < gasSysNams.length(); i++)
	{
		CString isRunning = gasSysRunning[i].kACharPtr();
		if(isRunning != _T("是")) continue;
		names.append(gasSysNams[i]);
		//outFile << gasSysNams[i].kACharPtr() << _T("\n");
	}
	namesVector.push_back(names);
	ReportDataHelper::WriteDatas(RUNNING_SYS_OBJCT_NAME,namesVector);
	if(namesVector.empty()) return FALSE;
	return TRUE;
}
Example #5
0
void GasSysDlg::OnBnClickedEnsure()
{
	UpdateData(TRUE);
	AcStringArray strName,strIsRunning,strReason;
	//从列表中获取数据
	GetDatasFromList(m_permCListCtrl,strName,strIsRunning,strReason,_ttoi(m_numPermSys));
	ArrayVector datas;
	datas.push_back(strName);
	datas.push_back(strIsRunning);
	datas.push_back(strReason);
	//把数据写到数据词典中
	ReportDataHelper::WriteDatas(PERMENT_OBJCT_NAME,datas);

	AcStringArray gasSysNams;
	gasSysNams.append(strName);
	AcStringArray gasSysRunning;
	gasSysRunning.append(strIsRunning);

	strName.removeAll();
	strIsRunning.removeAll();
	strReason.removeAll();
	GetDatasFromList(m_tempCListCtrl,strName,strIsRunning,strReason,_ttoi(m_numTempSys));
	datas.clear();
	datas.push_back(strName);
	datas.push_back(strIsRunning);
	datas.push_back(strReason);
	ReportDataHelper::WriteDatas(TEMPGAS_OBJCT_NAME,datas);
	//WriteDataToFile(_T("btvars.txt"),strName,strIsRunning,strReason);
	//for (int i = 0; i < strName.length(); i++)
	//{
		gasSysNams.append(strName);
		gasSysRunning.append(strIsRunning);
	//}
	RecordRunningSysName(gasSysNams,gasSysRunning);

	if(ShowRetDlg())
	{
		OnOK();
	}
}