diff --git a/code/cpp/car_dealer_util/source/Data/DataManipulation/Excel/LoadFromExcel.cpp b/code/cpp/car_dealer_util/source/Data/DataManipulation/Excel/LoadFromExcel.cpp index 9f25fa1..aaea631 100644 --- a/code/cpp/car_dealer_util/source/Data/DataManipulation/Excel/LoadFromExcel.cpp +++ b/code/cpp/car_dealer_util/source/Data/DataManipulation/Excel/LoadFromExcel.cpp @@ -54,7 +54,7 @@ void LoadCarDealerSchemeFromXlsx( const wstring & filePath, int rowIndex = firstRowIndex + startRowIndex; //车商名称表 - auto * pCarDealerMap = getCarDealerMap(); + auto * pCarDealerMap = GetCarDealerMap(); while ( rowIndex <= lastRowIndex ) { @@ -148,7 +148,7 @@ void LoadCarDealerAchievementFromXlsx( const std::wstring & fileP int firstColumnIndex = pSheet->firstCol(); int rowIndex = firstRowIndex + startRowIndex; - unordered_map* pCarDealerMap = getCarDealerMap(); + unordered_map* pCarDealerMap = GetCarDealerMap(); while ( rowIndex <= lastRowIndex ) { @@ -341,7 +341,7 @@ void LoadRepairOrderFromXlsx( const std::wstring & filePath, int firstRowIndex = pSheet->firstRow(); int rowIndex = firstRowIndex + startRowIndex; - auto* pCarDealerMap = getCarDealerMap(); + auto* pCarDealerMap = GetCarDealerMap(); while ( rowIndex <= lastRowIndex ) { diff --git a/code/cpp/car_dealer_util/source/Data/Datastructure/CarDealer/CarDealer.h b/code/cpp/car_dealer_util/source/Data/Datastructure/CarDealer/CarDealer.h index 5c67006..9b2a3f2 100644 --- a/code/cpp/car_dealer_util/source/Data/Datastructure/CarDealer/CarDealer.h +++ b/code/cpp/car_dealer_util/source/Data/Datastructure/CarDealer/CarDealer.h @@ -50,6 +50,27 @@ public: return *this; } + + QString getCarDealerCode() const + { + return carDealerCode; + } + + void setCarDealerCode( const QString & carDealerCode ) + { + this->carDealerCode = carDealerCode; + } + + QString getCarDealerName() const + { + return carDealerName; + } + + void setCarDealerName( const QString & carDealerName ) + { + this->carDealerName = carDealerName; + } + private: QString carDealerCode; QString carDealerName; diff --git a/code/cpp/car_dealer_util/source/Data/Datastructure/CarDealer/CarDealerMap.cpp b/code/cpp/car_dealer_util/source/Data/Datastructure/CarDealer/CarDealerMap.cpp index 0562090..de8d54a 100644 --- a/code/cpp/car_dealer_util/source/Data/Datastructure/CarDealer/CarDealerMap.cpp +++ b/code/cpp/car_dealer_util/source/Data/Datastructure/CarDealer/CarDealerMap.cpp @@ -20,7 +20,7 @@ using namespace ocilib; unordered_map * pCarDealerMap = nullptr; -void initCarDealerMap() +void InitCarDealerMap() { if ( pCarDealerMap != nullptr ) { @@ -187,12 +187,26 @@ void initCarDealerMapCpp() Environment::Cleanup(); } -std::unordered_map * getCarDealerMap() +std::unordered_map * GetCarDealerMap() { if ( pCarDealerMap != nullptr ) { - initCarDealerMap(); + InitCarDealerMap(); } return pCarDealerMap; } + +std::wstring GetCarDealerName( const std::wstring & carDealerCode ) +{ + auto pCarDealerMap = GetCarDealerMap(); + auto iterCarDealer = pCarDealerMap->find(carDealerCode); + wstring carDealerName; + + if ( iterCarDealer != pCarDealerMap->end() ) + { + carDealerName = iterCarDealer->second.getCarDealerName().toStdWString(); + } + + return carDealerName; +} diff --git a/code/cpp/car_dealer_util/source/Data/Datastructure/CarDealer/CarDealerMap.h b/code/cpp/car_dealer_util/source/Data/Datastructure/CarDealer/CarDealerMap.h index a3dad36..fa5d09e 100644 --- a/code/cpp/car_dealer_util/source/Data/Datastructure/CarDealer/CarDealerMap.h +++ b/code/cpp/car_dealer_util/source/Data/Datastructure/CarDealer/CarDealerMap.h @@ -16,10 +16,12 @@ /************************************************ * \brief ************************************************/ -void initCarDealerMap(); +void InitCarDealerMap(); /************************************************ * \brief * \return ************************************************/ -std::unordered_map * getCarDealerMap(); +std::unordered_map * GetCarDealerMap(); + +std::wstring GetCarDealerName(const std::wstring& carDealerCode); diff --git a/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QCarDealerSchemaWidget/QCarDealerSchemaWidget.cpp b/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QCarDealerSchemaWidget/QCarDealerSchemaWidget.cpp index 3537f5e..57d05e3 100644 --- a/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QCarDealerSchemaWidget/QCarDealerSchemaWidget.cpp +++ b/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QCarDealerSchemaWidget/QCarDealerSchemaWidget.cpp @@ -3,6 +3,7 @@ #include "../../../Data/DataManipulation/Excel/LoadFromExcel.h" #include "../../../Data/DataManipulation/oracle/ImportToOracle.h" #include "../../util/qt/qt_util.h" +#include "../../Data/Datastructure/CarDealer/CarDealerMap.h" using namespace std; @@ -24,7 +25,7 @@ void QCarDealerSchemaWidget::onImport() QString xlsxFilePath = QFileDialog::getOpenFileName( this, "请选择要导入的数据文件", ".", "xlsx文件(*.xlsx)" ); - + if ( xlsxFilePath.isEmpty() == true ) { return; @@ -73,7 +74,7 @@ void QCarDealerSchemaWidget::initWidgets() { setLayout( ui.pLayoutMain ); - resizeTableWidgetTab( ui.pTableWidgetAchievement, 10 ); + resizeTableWidgetTab( ui.pTableWidgetSchema, 10 ); } void QCarDealerSchemaWidget::initSignal() @@ -83,4 +84,72 @@ void QCarDealerSchemaWidget::initSignal() void QCarDealerSchemaWidget::showCarDealerSchema() { + ui.pTableWidgetSchema->clearContents(); + ui.pTableWidgetSchema->setRowCount( schemeVector.size() ); + + int rowIndex = 0; + int columnIndex = 0; + QTableWidgetItem * pItem = nullptr; + + auto carDealerMap = GetCarDealerMap(); + + for ( auto iterSchema = schemeVector.begin(); + iterSchema != schemeVector.end(); + ++iterSchema ) + { + //年度 + pItem = new QTableWidgetItem(QString::fromStdWString(iterSchema->getTheYear())); + pItem->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + + ui.pTableWidgetSchema->setItem(rowIndex, columnIndex++, pItem); + + //月份 + pItem = new QTableWidgetItem(QString::fromStdWString(iterSchema->getTheMonth())); + pItem->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + + ui.pTableWidgetSchema->setItem(rowIndex, columnIndex++, pItem); + + //车商代码 + pItem = new QTableWidgetItem(QString::fromStdWString(iterSchema->getCarDealerCode())); + pItem->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + + ui.pTableWidgetSchema->setItem(rowIndex, columnIndex++, pItem); + + //车商名称 + QString carDealerName = QString::fromStdWString( carDealerMap() ) + pItem = new QTableWidgetItem(QString::fromStdWString(iterSchema->())); + pItem->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + + ui.pTableWidgetSchema->setItem(rowIndex, columnIndex++, pItem); + + //工时标准 + pItem = new QTableWidgetItem(QString::fromStdWString(iterSchema->getTheYear())); + pItem->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + + ui.pTableWidgetSchema->setItem(rowIndex, columnIndex++, pItem); + + //配件价格 + pItem = new QTableWidgetItem(QString::fromStdWString(iterSchema->getTheYear())); + pItem->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + + ui.pTableWidgetSchema->setItem(rowIndex, columnIndex++, pItem); + + //其他理赔支持 + pItem = new QTableWidgetItem(QString::fromStdWString(iterSchema->getTheYear())); + pItem->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + + ui.pTableWidgetSchema->setItem(rowIndex, columnIndex++, pItem); + + //营销活动方案 + pItem = new QTableWidgetItem(QString::fromStdWString(iterSchema->getTheYear())); + pItem->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + + ui.pTableWidgetSchema->setItem(rowIndex, columnIndex++, pItem); + + //是否达成预期 + pItem = new QTableWidgetItem(QString::fromStdWString(iterSchema->getTheYear())); + pItem->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + + ui.pTableWidgetSchema->setItem(rowIndex, columnIndex++, pItem); + } } diff --git a/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QCarDealerSchemaWidget/QCarDealerSchemaWidget.ui b/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QCarDealerSchemaWidget/QCarDealerSchemaWidget.ui index e1c1563..5e50eea 100644 --- a/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QCarDealerSchemaWidget/QCarDealerSchemaWidget.ui +++ b/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QCarDealerSchemaWidget/QCarDealerSchemaWidget.ui @@ -71,7 +71,7 @@ - + 年度 diff --git a/code/cpp/car_dealer_util/source/main.cpp b/code/cpp/car_dealer_util/source/main.cpp index bac0b00..bcdfa1a 100644 --- a/code/cpp/car_dealer_util/source/main.cpp +++ b/code/cpp/car_dealer_util/source/main.cpp @@ -35,7 +35,7 @@ int main( int argc, char * argv[] ) //加载资源 try { - initCarDealerMap(); + InitCarDealerMap(); } catch ( runtime_error & error ) { diff --git a/code/cpp/car_dealer_util/source/test/test.cpp b/code/cpp/car_dealer_util/source/test/test.cpp index 34b4d2a..4ab5f10 100644 --- a/code/cpp/car_dealer_util/source/test/test.cpp +++ b/code/cpp/car_dealer_util/source/test/test.cpp @@ -55,7 +55,7 @@ void excelTest() //LoadNewRepairMonitorReportFromXlsx(filePathNewRepairMonitor, 0, 1, repairMonitorVector); //ImportNewRepairMonitorToOracle(userName, password, tnsName, repairMonitorVector); - //initCarDealerMap(); + //InitCarDealerMap(); return; }