diff --git a/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj b/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj
index 4579faa..ee80c15 100644
--- a/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj
+++ b/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj
@@ -27,6 +27,7 @@
+
@@ -65,6 +66,7 @@
+
diff --git a/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj.filters b/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj.filters
index 97b2a14..2c54a43 100644
--- a/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj.filters
+++ b/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj.filters
@@ -104,6 +104,9 @@
{21e75150-0798-4087-8cc8-8bcad02c0694}
+
+ {8d1f7b99-d4bb-406c-a9f3-1e0256517982}
+
@@ -172,6 +175,9 @@
数据\数据结构\送返修推荐表
+
+ 数据\数据结构\新送返修监控报表
+
@@ -274,5 +280,8 @@
数据\数据结构\送返修推荐表
+
+ 数据\数据结构\新送返修监控报表
+
\ No newline at end of file
diff --git a/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QCarDealerAchievementWidget/moc_QCarDealerAchievementWidget.cpp b/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QCarDealerAchievementWidget/moc_QCarDealerAchievementWidget.cpp
index adc31ed..b806c34 100644
--- a/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QCarDealerAchievementWidget/moc_QCarDealerAchievementWidget.cpp
+++ b/代码/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QCarDealerAchievementWidget/moc_QCarDealerAchievementWidget.cpp
@@ -22,8 +22,8 @@ QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_QCarDealerAchievementWidget_t {
- QByteArrayData data[1];
- char stringdata0[28];
+ QByteArrayData data[1];
+ char stringdata0[28];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@@ -31,65 +31,65 @@ struct qt_meta_stringdata_QCarDealerAchievementWidget_t {
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_QCarDealerAchievementWidget_t qt_meta_stringdata_QCarDealerAchievementWidget = {
- {
+ {
QT_MOC_LITERAL(0, 0, 27) // "QCarDealerAchievementWidget"
- },
- "QCarDealerAchievementWidget"
+ },
+ "QCarDealerAchievementWidget"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_QCarDealerAchievementWidget[] = {
- // content:
- 8, // revision
- 0, // classname
- 0, 0, // classinfo
- 0, 0, // methods
- 0, 0, // properties
- 0, 0, // enums/sets
- 0, 0, // constructors
- 0, // flags
- 0, // signalCount
+ // content:
+ 8, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 0, 0, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 0, // signalCount
- 0 // eod
+ 0 // eod
};
-void QCarDealerAchievementWidget::qt_static_metacall(QObject* _o, QMetaObject::Call _c, int _id, void** _a)
+void QCarDealerAchievementWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
- Q_UNUSED(_o);
- Q_UNUSED(_id);
- Q_UNUSED(_c);
- Q_UNUSED(_a);
+ Q_UNUSED(_o);
+ Q_UNUSED(_id);
+ Q_UNUSED(_c);
+ Q_UNUSED(_a);
}
QT_INIT_METAOBJECT const QMetaObject QCarDealerAchievementWidget::staticMetaObject = { {
- &QWidget::staticMetaObject,
- qt_meta_stringdata_QCarDealerAchievementWidget.data,
- qt_meta_data_QCarDealerAchievementWidget,
- qt_static_metacall,
- nullptr,
- nullptr
+ &QWidget::staticMetaObject,
+ qt_meta_stringdata_QCarDealerAchievementWidget.data,
+ qt_meta_data_QCarDealerAchievementWidget,
+ qt_static_metacall,
+ nullptr,
+ nullptr
} };
-const QMetaObject* QCarDealerAchievementWidget::metaObject() const
+const QMetaObject *QCarDealerAchievementWidget::metaObject() const
{
- return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
-void* QCarDealerAchievementWidget::qt_metacast(const char* _clname)
+void *QCarDealerAchievementWidget::qt_metacast(const char *_clname)
{
- if (!_clname) return nullptr;
- if (!strcmp(_clname, qt_meta_stringdata_QCarDealerAchievementWidget.stringdata0))
- return static_cast(this);
- return QWidget::qt_metacast(_clname);
+ if (!_clname) return nullptr;
+ if (!strcmp(_clname, qt_meta_stringdata_QCarDealerAchievementWidget.stringdata0))
+ return static_cast(this);
+ return QWidget::qt_metacast(_clname);
}
-int QCarDealerAchievementWidget::qt_metacall(QMetaObject::Call _c, int _id, void** _a)
+int QCarDealerAchievementWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
- _id = QWidget::qt_metacall(_c, _id, _a);
- return _id;
+ _id = QWidget::qt_metacall(_c, _id, _a);
+ return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE
diff --git a/代码/cpp/car_dealer_util/source/Data/DataManipulation/Excel/LoadFromExcel.cpp b/代码/cpp/car_dealer_util/source/Data/DataManipulation/Excel/LoadFromExcel.cpp
index 366cd2c..adc92d1 100644
--- a/代码/cpp/car_dealer_util/source/Data/DataManipulation/Excel/LoadFromExcel.cpp
+++ b/代码/cpp/car_dealer_util/source/Data/DataManipulation/Excel/LoadFromExcel.cpp
@@ -397,16 +397,16 @@ void LoadRepairSuggestionFromXlsx( const std::wstring & filePat
throw runtime_error( "libxl库加载失败!" );
}
- if (pBook->load(filePath.c_str()) != true)
+ if ( pBook->load( filePath.c_str() ) != true )
{
string errorMessage = "打开文件失败!";
- errorMessage.append(pBook->errorMessage());
+ errorMessage.append( pBook->errorMessage() );
- throw runtime_error(errorMessage);
+ throw runtime_error( errorMessage );
}
setKey( pBook );
-
+
pSheet = pBook->getSheet( sheetIndex );
if ( pSheet == nullptr )
@@ -460,6 +460,217 @@ void LoadRepairSuggestionFromXlsx( const std::wstring & filePat
pBook->release();
}
+void LoadNewRepairMonitorReportFromXlsx( const std::wstring & filePath,
+ unsigned sheetIndex,
+ unsigned startRowIndex,
+ std::vector & 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,
diff --git a/代码/cpp/car_dealer_util/source/Data/DataManipulation/Excel/LoadFromExcel.h b/代码/cpp/car_dealer_util/source/Data/DataManipulation/Excel/LoadFromExcel.h
index 882f3d6..7258ee6 100644
--- a/代码/cpp/car_dealer_util/source/Data/DataManipulation/Excel/LoadFromExcel.h
+++ b/代码/cpp/car_dealer_util/source/Data/DataManipulation/Excel/LoadFromExcel.h
@@ -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 & recordVector );
+
+
+/************************************************
+* \brief 读取新送返修监控报表数据
+* \param filePath
+* \param sheetIndex
+* \param startRowIndex
+* \param recordVector
+************************************************/
+void LoadNewRepairMonitorReportFromXlsx( const std::wstring & filePath,
+ unsigned int sheetIndex,
+ unsigned int startRowIndex,
+ std::vector & recordVector );
diff --git a/代码/cpp/car_dealer_util/source/Data/DataManipulation/oracle/ImportToOracle.cpp b/代码/cpp/car_dealer_util/source/Data/DataManipulation/oracle/ImportToOracle.cpp
index ec0164c..ad946fc 100644
--- a/代码/cpp/car_dealer_util/source/Data/DataManipulation/oracle/ImportToOracle.cpp
+++ b/代码/cpp/car_dealer_util/source/Data/DataManipulation/oracle/ImportToOracle.cpp
@@ -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 & 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(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( "" );
+ }
+}
diff --git a/代码/cpp/car_dealer_util/source/Data/DataManipulation/oracle/ImportToOracle.h b/代码/cpp/car_dealer_util/source/Data/DataManipulation/oracle/ImportToOracle.h
index f2acc44..ed07688 100644
--- a/代码/cpp/car_dealer_util/source/Data/DataManipulation/oracle/ImportToOracle.h
+++ b/代码/cpp/car_dealer_util/source/Data/DataManipulation/oracle/ImportToOracle.h
@@ -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 & recordVector );
+
+void ImportNewRepairMonitorToOracle( const std::string & userName,
+ const std::string & password,
+ const std::string & tnsName,
+ const std::vector & recordVector );
diff --git a/代码/cpp/car_dealer_util/source/Data/Datastructure/新送返修监控报表/新送返修监控报表.cpp b/代码/cpp/car_dealer_util/source/Data/Datastructure/新送返修监控报表/新送返修监控报表.cpp
new file mode 100644
index 0000000..9340eca
--- /dev/null
+++ b/代码/cpp/car_dealer_util/source/Data/Datastructure/新送返修监控报表/新送返修监控报表.cpp
@@ -0,0 +1,3 @@
+
+#include "新送返修监控报表.h"
+
diff --git a/代码/cpp/car_dealer_util/source/Data/Datastructure/新送返修监控报表/新送返修监控报表.h b/代码/cpp/car_dealer_util/source/Data/Datastructure/新送返修监控报表/新送返修监控报表.h
new file mode 100644
index 0000000..e002f79
--- /dev/null
+++ b/代码/cpp/car_dealer_util/source/Data/Datastructure/新送返修监控报表/新送返修监控报表.h
@@ -0,0 +1,165 @@
+
+#pragma once
+
+#include
+
+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;
diff --git a/代码/cpp/car_dealer_util/source/test/test.cpp b/代码/cpp/car_dealer_util/source/test/test.cpp
index 03d94ca..f12e640 100644
--- a/代码/cpp/car_dealer_util/source/test/test.cpp
+++ b/代码/cpp/car_dealer_util/source/test/test.cpp
@@ -22,6 +22,7 @@ void excelTest()
vector achievementsVector;
vector repairOrderVector;
vector suggestionRecordsVector;
+ vector repairMonitorVector;
string userName = "car_dealer";
string password = "cpic123456";
@@ -31,23 +32,27 @@ 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;
}
diff --git a/数据/卢霖城 - 推荐表 - 副本.xlsx b/数据/卢霖城 - 推荐表 - 副本.xlsx
new file mode 100644
index 0000000..64de7b9
Binary files /dev/null and b/数据/卢霖城 - 推荐表 - 副本.xlsx differ
diff --git a/数据/新送返修监控报表 - 字段.xlsx b/数据/新送返修监控报表 - 字段.xlsx
index 1df88e4..6ef0d1d 100644
Binary files a/数据/新送返修监控报表 - 字段.xlsx and b/数据/新送返修监控报表 - 字段.xlsx differ