111
This commit is contained in:
		@@ -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" />
 | 
			
		||||
 
 | 
			
		||||
@@ -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>
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,9 @@
 | 
			
		||||
// **********************************************************
 | 
			
		||||
// 文件名:CarDealer.h
 | 
			
		||||
// 文件名:CarDealer.cpp
 | 
			
		||||
// 创建日期:2020-11-20 13:59
 | 
			
		||||
// 作者: 王炜
 | 
			
		||||
// 说明:车商对象定义
 | 
			
		||||
// **********************************************************
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
#include "CarDealer.h"
 | 
			
		||||
 | 
			
		||||
@@ -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;
 | 
			
		||||
};
 | 
			
		||||
@@ -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;
 | 
			
		||||
}
 | 
			
		||||
@@ -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();
 | 
			
		||||
@@ -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;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1 +0,0 @@
 | 
			
		||||
#include "CarDealer.h"
 | 
			
		||||
@@ -1,14 +0,0 @@
 | 
			
		||||
// **********************************************************
 | 
			
		||||
// 文件名:CarDealer.h
 | 
			
		||||
// 创建日期:2020-11-20 14:00
 | 
			
		||||
// 作者:  
 | 
			
		||||
// 说明:
 | 
			
		||||
// **********************************************************
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
class CarDealer
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	
 | 
			
		||||
};
 | 
			
		||||
		Reference in New Issue
	
	Block a user