This commit is contained in:
Kane Wang 2020-07-07 15:13:22 +08:00
parent 7d265d106b
commit 95f8839446
12 changed files with 665 additions and 48 deletions

View File

@ -27,6 +27,7 @@
<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\excel\excel.cpp" />
<ClCompile Include="..\..\..\source\data\query\query_user.cpp" />
<ClCompile Include="..\..\..\source\db\ocilib\db_oper.cpp" />
@ -65,6 +66,7 @@
<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\excel\excel.h" />
<ClInclude Include="..\..\..\source\data\query\query_user.h" />
<ClInclude Include="..\..\..\source\db\ocilib\db_oper.h" />

View File

@ -104,6 +104,9 @@
<Filter Include="数据\数据结构\送返修推荐表">
<UniqueIdentifier>{21e75150-0798-4087-8cc8-8bcad02c0694}</UniqueIdentifier>
</Filter>
<Filter Include="数据\数据结构\新送返修监控报表">
<UniqueIdentifier>{8d1f7b99-d4bb-406c-a9f3-1e0256517982}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\source\main.cpp">
@ -172,6 +175,9 @@
<ClCompile Include="..\..\..\source\Data\Datastructure\RepairSuggestion\RepairSuggestionRecord.cpp">
<Filter>数据\数据结构\送返修推荐表</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\Data\Datastructure\新送返修监控报表\新送返修监控报表.cpp">
<Filter>数据\数据结构\新送返修监控报表</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<QtRcc Include="..\..\..\source\resource.qrc">
@ -274,5 +280,8 @@
<ClInclude Include="..\..\..\source\Data\Datastructure\RepairSuggestion\RepairSuggestionRecord.h">
<Filter>数据\数据结构\送返修推荐表</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\Data\Datastructure\新送返修监控报表\新送返修监控报表.h">
<Filter>数据\数据结构\新送返修监控报表</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@ -460,6 +460,217 @@ void LoadRepairSuggestionFromXlsx( const std::wstring & filePat
pBook->release();
}
void LoadNewRepairMonitorReportFromXlsx( const std::wstring & filePath,
unsigned sheetIndex,
unsigned startRowIndex,
std::vector<NewRepairMonitorReportRecord> & recordVector )
{
Book * pBook = xlCreateXMLBookW();
Sheet * pSheet = nullptr;
if ( pBook == nullptr )
{
throw runtime_error( "libxl库加载失败" );
}
setKey( pBook );
if ( pBook->load( filePath.c_str() ) != true )
{
string errorMessage = "打开文件失败!";
errorMessage.append( pBook->errorMessage() );
throw runtime_error( errorMessage );
}
pSheet = pBook->getSheet( sheetIndex );
if ( pSheet == nullptr )
{
string errorMessage = "读取sheet失败";
errorMessage.append( pBook->errorMessage() );
pBook->release();
throw runtime_error( errorMessage );
}
int lastRowIndex = pSheet->lastRow();
int firstRowIndex = pSheet->firstRow();
int rowIndex = firstRowIndex + startRowIndex;
while ( rowIndex <= lastRowIndex )
{
int colunmIndex = pSheet->firstCol();
NewRepairMonitorReportRecord record;
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record.vin码_ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record.使_ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._三者车_ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record.9_行政用车_家庭自用车_ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._当前状态_ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._报案环节_ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._现场推荐环节_ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._核价通过环节_ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._结案环节_ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._报案_ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._报案_ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._核价_ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._核价_ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._结案_ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._结案_ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._其他推荐信息_ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._其他推荐信息_ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._其他推荐信息_ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
record._ = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
recordVector.push_back( record );
rowIndex++;
}
pBook->release();
}
void LoadRepairOrderFromXls( const std::wstring & filePath,
unsigned sheetIndex,
unsigned startRowIndex,

View File

@ -6,6 +6,7 @@
#include "../../Datastructure/CarDealerAchievement/CarDealerAchievement.h"
#include "../../Datastructure/RepairOrder/RepairOrder.h"
#include "../../Datastructure/RepairSuggestion/RepairSuggestionRecord.h"
#include "../../Datastructure/新送返修监控报表/新送返修监控报表.h"
/************************************************
* \brief
@ -59,3 +60,16 @@ void LoadRepairSuggestionFromXlsx( const std::wstring & filePat
unsigned int sheetIndex,
unsigned int startRowIndex,
std::vector<RepairSuggestionRecord> & recordVector );
/************************************************
* \brief
* \param filePath
* \param sheetIndex
* \param startRowIndex
* \param recordVector
************************************************/
void LoadNewRepairMonitorReportFromXlsx( const std::wstring & filePath,
unsigned int sheetIndex,
unsigned int startRowIndex,
std::vector<NewRepairMonitorReportRecord> & recordVector );

View File

@ -509,6 +509,11 @@ void ImportRepairSuggestionToOracle( const std::string &
string = QString::fromStdWString( iterOrder->getPlateNumber() ).toLocal8Bit();
string = QString::fromStdWString( iterOrder->getBrandName() ).toLocal8Bit();
if ( .empty() == true )
{
continue;
}
//执行语句
OCI_BindString( pStmt, ":a_order_no", (otext*).c_str(), .size() );
OCI_BindString( pStmt, ":a_order_type", (otext*).c_str(), .size() );
@ -526,14 +531,20 @@ void ImportRepairSuggestionToOracle( const std::string &
}
catch ( runtime_error & error )
{
//输出日志,让过程继续
//rollback停止保存
string errorMessage = "送返修工单编号";
errorMessage.append( QString::fromStdWString( iterOrder->getOrderNo() ).toLocal8Bit() );
errorMessage.append( "保存失败,提示信息:" );
errorMessage.append( error.what() );
output_error_message( errorMessage );
//output_error_message( errorMessage );
OCI_Rollback( pConn );
OCI_ConnectionFree( pConn );
OCI_Cleanup();
throw runtime_error( errorMessage );
}
}
@ -541,3 +552,194 @@ void ImportRepairSuggestionToOracle( const std::string &
OCI_ConnectionFree( pConn );
OCI_Cleanup();
}
void ImportNewRepairMonitorToOracle( const std::string & userName,
const std::string & password,
const std::string & tnsName,
const std::vector<NewRepairMonitorReportRecord> & recordVector )
{
OCI_Connection * pConnection = nullptr;
OCI_Statement * pStatment = nullptr;
int returnCode = -1;
const otext * szSql =
"BEGIN \n "
" car_dealer.data_import_util_pkg.导入新送返修监控报表(':1', \n "
" ':2', \n "
" ':3', \n "
" ':4', \n "
" ':5', \n "
" ':6', \n "
" ':7', \n "
" ':8', \n "
" ':9', \n "
" ':10', \n "
" ':11', \n "
" ':12', \n "
" ':13', \n "
" ':14', \n "
" ':15', \n "
" ':16', \n "
" ':17', \n "
" ':18', \n "
" ':19', \n "
" ':20', \n "
" ':21', \n "
" ':22', \n "
" ':23', \n "
" ':24', \n "
" ':25', \n "
" ':26', \n "
" ':27', \n "
" ':28', \n "
" ':29', \n "
" ':30', \n "
" ':31', \n "
" ':32', \n "
" ':33', \n "
" ':34', \n "
" ':35', \n "
" ':36', \n "
" ':37', \n "
" ':38', \n "
" ':39', \n "
" ':40', \n "
" ':41', \n "
" ':42', \n "
" ':43', \n "
" ':44', \n "
" ':45', \n "
" ':46', \n "
" ':47', \n "
" ':48', \n "
" ':49', \n "
" ':50', \n "
" ':51', \n "
" ':52', \n "
" ':53', \n "
" ':54', \n "
" ':55', \n "
" ':56', \n "
" ':57', \n "
" ':58', \n "
" ':59', \n "
" ':60', \n "
" ':61', \n "
" ':62', \n "
" ':63', \n "
" ':64', \n "
" ':65', \n "
" ':66', \n "
" ':67', \n "
" ':68', \n "
" ':69', \n "
" ':70', \n "
" ':71', \n "
" ':72', \n "
" ':73', \n "
" ':74', \n "
" ':75', \n "
" ':76', \n "
" ':77', \n "
" ':78', \n "
" ':79', \n "
" ':80', \n "
" ':81', \n "
" ':82', \n "
" ':83', \n "
" ':84', \n "
" ':85', \n "
" ':86', \n "
" ':87', \n "
" ':88', \n "
" ':89', \n "
" ':90', \n "
" ':91', \n "
" ':92', \n "
" ':93', \n "
" ':94', \n "
" ':95', \n "
" ':96', \n "
" ':97', \n "
" ':98', \n "
" ':99', \n "
" ':100', \n "
" ':101', \n "
" ':102', \n "
" ':103', \n "
" ':104', \n "
" ':105', \n "
" ':106', \n "
" ':107', \n "
" ':108', \n "
" ':109', \n "
" ':110', \n "
" ':111', \n "
" ':112', \n "
" ':113', \n "
" ':114', \n "
" ':115', \n "
" ':116', \n "
" ':117', \n "
" ':118', \n "
" ':119', \n "
" ':120', \n "
" ':121', \n "
" ':122', \n "
" ':123', \n "
" ':124', \n "
" ':125', \n "
" ':126', \n "
" ':127', \n "
" ':128', \n "
" ':129', \n "
" ':130', \n "
" ':131', \n "
" ':132', \n "
" ':133', \n "
" ':134', \n "
" ':135', \n "
" ':136', \n "
" ':137', \n "
" ':138', \n "
" ':139', \n "
" ':140', \n "
" ':141', \n "
" ':142', \n "
" ':143', \n "
" ':144', \n "
" ':145', \n "
" ':146', \n "
" ':147', \n "
" ':148', \n "
" ':149', \n "
" ':150', \n "
" ':151', \n "
" ':152', \n "
" ':153', \n "
" ':154', \n "
" ':155', \n "
" ':156', \n "
" ':157'); \n "
"END; \n ";
//初始化
returnCode = OCI_Initialize( error_handler, nullptr, OCI_ENV_CONTEXT );
if ( static_cast<bool>(returnCode) == false )
{
//ocilib加载错误
throw runtime_error( "" );
}
//连接
pConnection = OCI_CreateConnection( tnsName.c_str(),
userName.c_str(),
password.c_str(),
OCI_SESSION_DEFAULT );
if ( pConnection == nullptr )
{
throw runtime_error( "" );
}
}

View File

@ -6,6 +6,7 @@
#include "../../Datastructure/CarDealerScheme/CarDealerScheme.h"
#include "../../Datastructure/RepairOrder/RepairOrder.h"
#include "../../Datastructure/RepairSuggestion/RepairSuggestionRecord.h"
#include "../Excel/LoadFromExcel.h"
/************************************************
@ -68,3 +69,8 @@ void ImportRepairSuggestionToOracle( const std::string &
const std::string & password,
const std::string & tnsName,
const std::vector<RepairSuggestionRecord> & recordVector );
void ImportNewRepairMonitorToOracle( const std::string & userName,
const std::string & password,
const std::string & tnsName,
const std::vector<NewRepairMonitorReportRecord> & recordVector );

View File

@ -0,0 +1,3 @@

#include "新送返修监控报表.h"

View File

@ -0,0 +1,165 @@

#pragma once
#include <string>
typedef struct NewRepairMonitorReportRecord_
{
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring vin码_;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring 使_;
std::wstring _;
std::wstring _三者车_;
std::wstring 9_行政用车_家庭自用车_;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _当前状态_;
std::wstring _报案环节_;
std::wstring _现场推荐环节_;
std::wstring _核价通过环节_;
std::wstring _结案环节_;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _报案_;
std::wstring _报案_;
std::wstring _核价_;
std::wstring _核价_;
std::wstring _结案_;
std::wstring _结案_;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _其他推荐信息_;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _其他推荐信息_;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _其他推荐信息_;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
} NewRepairMonitorReportRecord;

View File

@ -22,6 +22,7 @@ void excelTest()
vector<CarDealerAchievement> achievementsVector;
vector<RepairOrder> repairOrderVector;
vector<RepairSuggestionRecord> suggestionRecordsVector;
vector<NewRepairMonitorReportRecord> repairMonitorVector;
string userName = "car_dealer";
string password = "cpic123456";
@ -31,22 +32,26 @@ void excelTest()
wstring filePathCarDealerScheme = L"D:/develop/projects_win/2019/car_dealer_util/数据/PC端导入模板管理员版.xlsx";
wstring filePathCarDealerAchievement = L"D:/develop/projects_win/2019/car_dealer_util/数据/PC端导入模板客户经理版.xlsx";
wstring filePathRepairSuggestion = L"D:/develop/projects_win/2019/car_dealer_util/数据/卢霖城 - 推荐表.xlsx";
//string xlsFilePath = "D:/develop/projects_win/2019/car_dealer_util/数据/345517_1.xls";
wstring filePathNewRepairMonitor = L"D:/develop/projects_win/2019/car_dealer_util/数据/新送返修监控报表.xlsx";
//测试车商方案
//LoadCarDealerSchemeFromXlsx( filePathCarDealerScheme, 0, 1, schemeVector );
//ImportCarDealerSchemeToOracle( userName, password, tnsName, schemeVector );
//测试车商业绩
LoadCarDealerAchievementFromXlsx( filePathCarDealerAchievement, 0, 1, achievementsVector );
ImportCarDealerAchievementToOracleCpp( userName, password, tnsName, achievementsVector );
//LoadCarDealerAchievementFromXlsx( filePathCarDealerAchievement, 0, 1, achievementsVector );
//ImportCarDealerAchievementToOracleCpp( userName, password, tnsName, achievementsVector );
//测试送返修工单
//LoadRepairOrderFromXlsx(filePathRepairOrder, 0, 1, repairOrderVector);
//ImportRepairOrderToOracle("car_dealer", "cpic123456", "xmcx1", repairOrderVector);
//测试送返修推荐
LoadRepairSuggestionFromXlsx( filePathRepairSuggestion, 0, 1, suggestionRecordsVector );
//LoadRepairSuggestionFromXlsx( filePathRepairSuggestion, 0, 1, suggestionRecordsVector );
//ImportRepairSuggestionToOracle( userName, password, tnsName, suggestionRecordsVector);
//测试新送返修监控报表
LoadNewRepairMonitorReportFromXlsx(filePathNewRepairMonitor, 0, 1, repairMonitorVector);
return;
}

Binary file not shown.