This commit is contained in:
Kane Wang 2020-11-23 11:43:54 +08:00
parent 82600f1beb
commit a4d1e51da8
11 changed files with 285 additions and 29 deletions

View File

@ -24,11 +24,12 @@
<ClCompile Include="..\..\..\source\Data\DataManipulation\oracle\ImportToOracle.cpp" />
<ClCompile Include="..\..\..\source\Data\Datastructure\CarDealerAchievement\CarDealerAchievement.cpp" />
<ClCompile Include="..\..\..\source\Data\Datastructure\CarDealerScheme\CarDealerScheme.cpp" />
<ClCompile Include="..\..\..\source\Data\Datastructure\CarDealer\CarDealer.cpp" />
<ClCompile Include="..\..\..\source\Data\Datastructure\CarDealer\CarDealerMap.cpp" />
<ClCompile Include="..\..\..\source\data\Datastructure\RepairOrder\RepairOrder.cpp" />
<ClCompile Include="..\..\..\source\Data\Datastructure\RepairSuggestion\RepairSuggestionRecord.cpp" />
<ClCompile Include="..\..\..\source\data\Datastructure\UserInfo\UserInfo.cpp" />
<ClCompile Include="..\..\..\source\Data\Datastructure\新送返修监控报表\新送返修监控报表.cpp" />
<ClCompile Include="..\..\..\source\Data\Datastructure\车商\CarDealer.cpp" />
<ClCompile Include="..\..\..\source\data\excel\excel.cpp" />
<ClCompile Include="..\..\..\source\data\query\query_user.cpp" />
<ClCompile Include="..\..\..\source\db\ocilib\db_oper.cpp" />
@ -67,11 +68,12 @@
<ClInclude Include="..\..\..\source\Data\DataManipulation\oracle\ImportToOracle.h" />
<ClInclude Include="..\..\..\source\Data\Datastructure\CarDealerAchievement\CarDealerAchievement.h" />
<ClInclude Include="..\..\..\source\Data\Datastructure\CarDealerScheme\CarDealerScheme.h" />
<ClInclude Include="..\..\..\source\Data\Datastructure\CarDealer\CarDealer.h" />
<ClInclude Include="..\..\..\source\Data\Datastructure\CarDealer\CarDealerMap.h" />
<ClInclude Include="..\..\..\source\data\Datastructure\RepairOrder\RepairOrder.h" />
<ClInclude Include="..\..\..\source\Data\Datastructure\RepairSuggestion\RepairSuggestionRecord.h" />
<ClInclude Include="..\..\..\source\data\Datastructure\UserInfo\UserInfo.h" />
<ClInclude Include="..\..\..\source\Data\Datastructure\新送返修监控报表\新送返修监控报表.h" />
<ClInclude Include="..\..\..\source\Data\Datastructure\车商\CarDealer.h" />
<ClInclude Include="..\..\..\source\data\excel\excel.h" />
<ClInclude Include="..\..\..\source\data\query\query_user.h" />
<ClInclude Include="..\..\..\source\db\ocilib\db_oper.h" />

View File

@ -199,7 +199,10 @@
<ClCompile Include="..\..\..\source\util\qt\qt_util.cpp">
<Filter>工具\qt相关</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\Data\Datastructure\车商\CarDealer.cpp">
<ClCompile Include="..\..\..\source\Data\Datastructure\CarDealer\CarDealer.cpp">
<Filter>数据\数据结构\车商</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\Data\Datastructure\CarDealer\CarDealerMap.cpp">
<Filter>数据\数据结构\车商</Filter>
</ClCompile>
</ItemGroup>
@ -319,7 +322,10 @@
<ClInclude Include="..\..\..\source\util\qt\111.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\Data\Datastructure\车商\CarDealer.h">
<ClInclude Include="..\..\..\source\Data\Datastructure\CarDealer\CarDealer.h">
<Filter>数据\数据结构\车商</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\Data\Datastructure\CarDealer\CarDealerMap.h">
<Filter>数据\数据结构\车商</Filter>
</ClInclude>
</ItemGroup>

View File

@ -22,8 +22,8 @@ QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_QCarDealerSchemaWidget_t {
QByteArrayData data[1];
char stringdata0[23];
QByteArrayData data[3];
char stringdata0[33];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@ -32,10 +32,12 @@ struct qt_meta_stringdata_QCarDealerSchemaWidget_t {
)
static const qt_meta_stringdata_QCarDealerSchemaWidget_t qt_meta_stringdata_QCarDealerSchemaWidget = {
{
QT_MOC_LITERAL(0, 0, 22) // "QCarDealerSchemaWidget"
QT_MOC_LITERAL(0, 0, 22), // "QCarDealerSchemaWidget"
QT_MOC_LITERAL(1, 23, 8), // "onImport"
QT_MOC_LITERAL(2, 32, 0) // ""
},
"QCarDealerSchemaWidget"
"QCarDealerSchemaWidget\0onImport\0"
};
#undef QT_MOC_LITERAL
@ -45,21 +47,32 @@ static const uint qt_meta_data_QCarDealerSchemaWidget[] = {
8, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
1, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 0, 19, 2, 0x09 /* Protected */,
// slots: parameters
QMetaType::Void,
0 // eod
};
void QCarDealerSchemaWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
Q_UNUSED(_c);
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<QCarDealerSchemaWidget *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->onImport(); break;
default: ;
}
}
Q_UNUSED(_a);
}
@ -89,6 +102,17 @@ void *QCarDealerSchemaWidget::qt_metacast(const char *_clname)
int QCarDealerSchemaWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QWidget::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 1)
qt_static_metacall(this, _c, _id, _a);
_id -= 1;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 1)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 1;
}
return _id;
}
QT_WARNING_POP

View File

@ -1,9 +1,9 @@
// **********************************************************
// 文件名CarDealer.h
// 文件名CarDealer.cpp
// 创建日期2020-11-20 13:59
// 作者: 王炜
// 说明:车商对象定义
// **********************************************************
#pragma once
#include "CarDealer.h"

View File

@ -0,0 +1,56 @@
// **********************************************************
// 文件名CarDealer.h
// 创建日期2020-11-20 13:59
// 作者: 王炜
// 说明:车商对象定义
// **********************************************************
#pragma once
#include <string>
#include <QString>
class CarDealer
{
public:
CarDealer(QString carDealerCode, QString carDealerName )
: carDealerCode( std::move( carDealerCode ) ),
carDealerName( std::move( carDealerName ) )
{
}
CarDealer( const CarDealer & other )
: carDealerCode( other.carDealerCode ),
carDealerName( other.carDealerName )
{
}
CarDealer( CarDealer && other )
: carDealerCode( std::move( other.carDealerCode ) ),
carDealerName( std::move( other.carDealerName ) )
{
}
CarDealer & operator=( const CarDealer & other )
{
if ( this == &other )
return *this;
carDealerCode = other.carDealerCode;
carDealerName = other.carDealerName;
return *this;
}
CarDealer & operator=( CarDealer && other )
{
if ( this == &other )
return *this;
carDealerCode = std::move( other.carDealerCode );
carDealerName = std::move( other.carDealerName );
return *this;
}
private:
QString carDealerCode;
QString carDealerName;
};

View File

@ -0,0 +1,155 @@
// **********************************************************
// 文件名CarDealerMap.cpp
// 创建日期2020-11-23 13:59
// 作者: 王炜
// 说明:车商对象映射表
// **********************************************************
#include <QString>
#include <ocilib.hpp>
#include <stdexcept>
#include "CarDealer.h"
#include "CarDealerMap.h"
#include <xlocale>
#include "../../../db/ocilib/db_oper.h"
using namespace std;
using namespace ocilib;
unordered_map<string, CarDealer> * pCarDealerMap = nullptr;
void initCarDealerMap()
{
if ( pCarDealerMap != nullptr )
{
delete pCarDealerMap;
}
OCI_Connection * pConnection = nullptr;
OCI_Statement * pStatement = nullptr;
OCI_Resultset * pResult = nullptr;
int returnCode = 0;
ostring sql =
"SELECT auto_code, "
" auto_name "
"FROM idst0.auto_store_t ";
//以后要修改
string userName = "car_dealer";
string password = "cpic123456";
string tnsName = "xmcx1";
returnCode = OCI_Initialize( error_handler, nullptr, OCI_ENV_DEFAULT );
if ( static_cast<bool>(returnCode) == false )
{
//初始化失败
string errorMessage = "ocilib初始化失败";
}
try
{
pConnection = OCI_ConnectionCreate( tnsName.c_str(),
userName.c_str(),
password.c_str(),
OCI_SESSION_DEFAULT );
}
catch ( runtime_error & error )
{
//连接数据库失败
OCI_Cleanup();
}
OCI_Cleanup();
}
void initCarDealerMapCpp()
{
if ( pCarDealerMap != nullptr )
{
delete pCarDealerMap;
}
// OCI_Connection * pConnection = nullptr;
// OCI_Statement * pStatement = nullptr;
// OCI_Resultset * pResult = nullptr;
// int returnCode = 0;
ostring sql =
"SELECT auto_code, "
" auto_name "
"FROM idst0.auto_store_t ";
//以后要修改
string userName = "car_dealer";
string password = "cpic123456";
string tnsName = "xmcx1";
Connection * pConnection = nullptr;
Statement * pStatement = nullptr;
//Resultset * pResult = nullptr;
try
{
Environment::Initialized();
}
catch ( exception * error )
{
string errorMessage = "ocilib初始化失败";
errorMessage.append( error->what() );
throw runtime_error( errorMessage.c_str() );
}
try
{
pConnection = new Connection( tnsName.c_str(), userName.c_str(), password.c_str() );
}
catch ( exception & error )
{
string errorMessage = "连接oracle数据库失败";
errorMessage.append( error.what() );
Environment::Cleanup();
throw runtime_error( errorMessage.c_str() );
}
try
{
pStatement = new Statement( *pConnection );
pStatement->Execute( sql );
Resultset result = pStatement->GetResultset();
pCarDealerMap = new unordered_map<string, CarDealer>;
while ( result.Next() )
{
string carDealerCodeIndex = result.Get<ostring>( "auto_code" ).c_str();
QString carDealerCode = QString::fromLocal8Bit( result.Get<ostring>( "auto_code" ).c_str() );
QString carDealerName = QString::fromLocal8Bit( result.Get<ostring>( "auto_name" ).c_str() );
CarDealer dealer( carDealerCode, carDealerName );
pCarDealerMap->insert( pair<string, CarDealer>( carDealerCodeIndex, dealer ) );
}
}
catch ( exception & error )
{
Environment::Cleanup();
}
Environment::Cleanup();
}
std::unordered_map<string, CarDealer> * getCarDealerMap()
{
return pCarDealerMap;
}

View File

@ -0,0 +1,25 @@
// **********************************************************
// 文件名CarDealerMap.h
// 创建日期2020-11-23 13:59
// 作者: 王炜
// 说明:车商对象映射表
// **********************************************************
#pragma once
#include <unordered_map>
#include <QString>
#include <string>
#include "CarDealer.h"
/************************************************
* \brief
************************************************/
void initCarDealerMap();
/************************************************
* \brief
* \return
************************************************/
std::unordered_map<std::string, CarDealer> * getCarDealerMap();

View File

@ -5,6 +5,7 @@
#include "../data/DataManipulation/Excel/LoadFromExcel.h"
#include "../data/DataManipulation/oracle/ImportToOracle.h"
#include "../system/system_util.h"
#include "../Data/Datastructure/CarDealer/CarDealerMap.h"
using namespace std;
@ -53,6 +54,8 @@ void excelTest()
//测试新送返修监控报表
//LoadNewRepairMonitorReportFromXlsx(filePathNewRepairMonitor, 0, 1, repairMonitorVector);
//ImportNewRepairMonitorToOracle(userName, password, tnsName, repairMonitorVector);
initCarDealerMap();
return;
}

View File

@ -1 +0,0 @@
#include "CarDealer.h"

View File

@ -1,14 +0,0 @@
// **********************************************************
// 文件名CarDealer.h
// 创建日期2020-11-20 14:00
// 作者:
// 说明:
// **********************************************************
#pragma once
class CarDealer
{
public:
};