diff --git a/code/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj b/code/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj index d1a5dbf..89beb25 100644 --- a/code/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj +++ b/code/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj @@ -40,6 +40,7 @@ + @@ -52,6 +53,7 @@ + @@ -81,6 +83,7 @@ + diff --git a/code/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj.filters b/code/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj.filters index 7084774..a0470fb 100644 --- a/code/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj.filters +++ b/code/cpp/car_dealer_util/proj/vs2019/car_dealer_util/car_dealer_util.vcxproj.filters @@ -205,6 +205,9 @@ 数据\数据结构\送返修推荐表 + + 窗口\内容窗口\数据管理\新送返修监控表 + @@ -233,6 +236,9 @@ 窗口\内容窗口\数据管理\卢霖城 - 送返修推荐表 + + 窗口\内容窗口\数据管理\新送返修监控表 + @@ -256,6 +262,9 @@ 窗口\内容窗口\数据管理\卢霖城 - 送返修推荐表 + + 窗口\内容窗口\数据管理\新送返修监控表 + diff --git a/code/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QNewRepairMonitorWidget/moc_QNewRepairMonitorWidget.cpp b/code/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QNewRepairMonitorWidget/moc_QNewRepairMonitorWidget.cpp new file mode 100644 index 0000000..d9c74d5 --- /dev/null +++ b/code/cpp/car_dealer_util/proj/vs2019/car_dealer_util/source/Widgets/ContentWidget/QNewRepairMonitorWidget/moc_QNewRepairMonitorWidget.cpp @@ -0,0 +1,95 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'QNewRepairMonitorWidget.h' +** +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.14.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include +#include "../../../../../../../source/Widgets/ContentWidget/QNewRepairMonitorWidget/QNewRepairMonitorWidget.h" +#include +#include +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'QNewRepairMonitorWidget.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 67 +#error "This file was generated using the moc from 5.14.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED +struct qt_meta_stringdata_QNewRepairMonitorWidget_t { + QByteArrayData data[1]; + char stringdata0[24]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + qptrdiff(offsetof(qt_meta_stringdata_QNewRepairMonitorWidget_t, stringdata0) + ofs \ + - idx * sizeof(QByteArrayData)) \ + ) +static const qt_meta_stringdata_QNewRepairMonitorWidget_t qt_meta_stringdata_QNewRepairMonitorWidget = { + { +QT_MOC_LITERAL(0, 0, 23) // "QNewRepairMonitorWidget" + + }, + "QNewRepairMonitorWidget" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_QNewRepairMonitorWidget[] = { + + // 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 +}; + +void QNewRepairMonitorWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + Q_UNUSED(_o); + Q_UNUSED(_id); + Q_UNUSED(_c); + Q_UNUSED(_a); +} + +QT_INIT_METAOBJECT const QMetaObject QNewRepairMonitorWidget::staticMetaObject = { { + QMetaObject::SuperData::link(), + qt_meta_stringdata_QNewRepairMonitorWidget.data, + qt_meta_data_QNewRepairMonitorWidget, + qt_static_metacall, + nullptr, + nullptr +} }; + + +const QMetaObject *QNewRepairMonitorWidget::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *QNewRepairMonitorWidget::qt_metacast(const char *_clname) +{ + if (!_clname) return nullptr; + if (!strcmp(_clname, qt_meta_stringdata_QNewRepairMonitorWidget.stringdata0)) + return static_cast(this); + return QWidget::qt_metacast(_clname); +} + +int QNewRepairMonitorWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWidget::qt_metacall(_c, _id, _a); + return _id; +} +QT_WARNING_POP +QT_END_MOC_NAMESPACE diff --git a/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QDataManagementWidget/QDataManagementWidget.cpp b/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QDataManagementWidget/QDataManagementWidget.cpp index eb8e821..4cbea48 100644 --- a/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QDataManagementWidget/QDataManagementWidget.cpp +++ b/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QDataManagementWidget/QDataManagementWidget.cpp @@ -38,8 +38,8 @@ void QDataManagementWidget::initWidgets() pLayoutScrollArea = new QGridLayout; pLayout = new QGridLayout; - pLayout->setMargin(0); - pLayoutScrollArea->setMargin(0); + pLayout->setMargin( 0 ); + pLayoutScrollArea->setMargin( 0 ); pLayout->addWidget( &achievementWidget ); pLayoutScrollArea->addWidget( pScrollArea ); @@ -47,56 +47,56 @@ void QDataManagementWidget::initWidgets() ui.pCarDealerAchievementTab->setLayout( pLayoutScrollArea ); //车商方案表 - pScrollArea = new QScrollArea(nullptr); + pScrollArea = new QScrollArea( nullptr ); pLayoutScrollArea = new QGridLayout(); - pLayout = new QGridLayout(); + pLayout = new QGridLayout(); - pLayoutScrollArea->setMargin(0); - pLayout->setMargin(0); + pLayoutScrollArea->setMargin( 0 ); + pLayout->setMargin( 0 ); - pLayout->addWidget(&schemaWidget); - pLayoutScrollArea->addWidget(pScrollArea); - pScrollArea->setLayout(pLayout); - ui.pCarDealerSchemaTab->setLayout(pLayoutScrollArea); + pLayout->addWidget( &schemaWidget ); + pLayoutScrollArea->addWidget( pScrollArea ); + pScrollArea->setLayout( pLayout ); + ui.pCarDealerSchemaTab->setLayout( pLayoutScrollArea ); //卢霖城送返修推荐表 - pScrollArea = new QScrollArea(nullptr); + pScrollArea = new QScrollArea( nullptr ); pLayoutScrollArea = new QGridLayout(); - pLayout = new QGridLayout(); + pLayout = new QGridLayout(); - pLayoutScrollArea->setMargin(0); - pLayout->setMargin(0); + pLayoutScrollArea->setMargin( 0 ); + pLayout->setMargin( 0 ); - pLayout->addWidget(&repairRecommendationWidget); - pLayoutScrollArea->addWidget(pScrollArea); - pScrollArea->setLayout(pLayout); - ui.pRepairRecommandationTab->setLayout(pLayoutScrollArea); + pLayout->addWidget( &repairRecommendationWidget ); + pLayoutScrollArea->addWidget( pScrollArea ); + pScrollArea->setLayout( pLayout ); + ui.pRepairRecommandationTab->setLayout( pLayoutScrollArea ); //新送返修监控 - pScrollArea = new QScrollArea(nullptr); + pScrollArea = new QScrollArea( nullptr ); pLayoutScrollArea = new QGridLayout(); - pLayout = new QGridLayout(); + pLayout = new QGridLayout(); - pLayoutScrollArea->setMargin(0); - pLayout->setMargin(0); + pLayoutScrollArea->setMargin( 0 ); + pLayout->setMargin( 0 ); - pLayout->addWidget(&repairRecommendationWidget); - pLayoutScrollArea->addWidget(pScrollArea); - pScrollArea->setLayout(pLayout); - ui.pNewRepairMonitorTab->setLayout(pLayoutScrollArea); + pLayout->addWidget( &newRepairMonitorWidget ); + pLayoutScrollArea->addWidget( pScrollArea ); + pScrollArea->setLayout( pLayout ); + ui.pNewRepairMonitorTab->setLayout( pLayoutScrollArea ); //送返修工单 - pScrollArea = new QScrollArea(nullptr); + pScrollArea = new QScrollArea( nullptr ); pLayoutScrollArea = new QGridLayout(); - pLayout = new QGridLayout(); + pLayout = new QGridLayout(); - pLayoutScrollArea->setMargin(0); - pLayout->setMargin(0); + pLayoutScrollArea->setMargin( 0 ); + pLayout->setMargin( 0 ); - pLayout->addWidget(&repairRecommendationWidget); - pLayoutScrollArea->addWidget(pScrollArea); - pScrollArea->setLayout(pLayout); - ui.pRepairOrderTab->setLayout(pLayoutScrollArea); + pLayout->addWidget( &repairOrderWidget ); + pLayoutScrollArea->addWidget( pScrollArea ); + pScrollArea->setLayout( pLayout ); + ui.pRepairOrderTab->setLayout( pLayoutScrollArea ); } void QDataManagementWidget::initSignal() diff --git a/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QDataManagementWidget/QDataManagementWidget.h b/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QDataManagementWidget/QDataManagementWidget.h index e5c34cb..1beb416 100644 --- a/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QDataManagementWidget/QDataManagementWidget.h +++ b/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QDataManagementWidget/QDataManagementWidget.h @@ -4,6 +4,8 @@ #include "ui_QDataManagementWidget.h" #include "QCarDealerAchievementWidget.h" #include "QCarDealerSchemaWidget.h" +#include "QRepairOrderWidget.h" +#include "../QNewRepairMonitorWidget/QNewRepairMonitorWidget.h" #include "../QRepairRecommendationWidget/QRepairRecommendationWidget.h" class QDataManagementWidget : public QWidget @@ -26,4 +28,6 @@ private: QCarDealerAchievementWidget achievementWidget; QCarDealerSchemaWidget schemaWidget; QRepairRecommendationWidget repairRecommendationWidget; + QRepairOrderWidget repairOrderWidget; + QNewRepairMonitorWidget newRepairMonitorWidget; }; diff --git a/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QNewRepairMonitorWidget/QNewRepairMonitorWidget.cpp b/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QNewRepairMonitorWidget/QNewRepairMonitorWidget.cpp new file mode 100644 index 0000000..c0389fb --- /dev/null +++ b/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QNewRepairMonitorWidget/QNewRepairMonitorWidget.cpp @@ -0,0 +1,11 @@ +#include "QNewRepairMonitorWidget.h" + +QNewRepairMonitorWidget::QNewRepairMonitorWidget(QWidget *parent) + : QWidget(parent) +{ + ui.setupUi(this); +} + +QNewRepairMonitorWidget::~QNewRepairMonitorWidget() +{ +} diff --git a/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QNewRepairMonitorWidget/QNewRepairMonitorWidget.h b/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QNewRepairMonitorWidget/QNewRepairMonitorWidget.h new file mode 100644 index 0000000..1168494 --- /dev/null +++ b/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QNewRepairMonitorWidget/QNewRepairMonitorWidget.h @@ -0,0 +1,16 @@ +#pragma once + +#include +#include "ui_QNewRepairMonitorWidget.h" + +class QNewRepairMonitorWidget : public QWidget +{ + Q_OBJECT + +public: + QNewRepairMonitorWidget(QWidget *parent = Q_NULLPTR); + ~QNewRepairMonitorWidget(); + +private: + Ui::QNewRepairMonitorWidget ui; +}; diff --git a/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QNewRepairMonitorWidget/QNewRepairMonitorWidget.ui b/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QNewRepairMonitorWidget/QNewRepairMonitorWidget.ui new file mode 100644 index 0000000..1dc7c95 --- /dev/null +++ b/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QNewRepairMonitorWidget/QNewRepairMonitorWidget.ui @@ -0,0 +1,23 @@ + + QNewRepairMonitorWidget + + + QNewRepairMonitorWidget + + + + 0 + 0 + 400 + 300 + + + + QNewRepairMonitorWidget + + + + + + + diff --git a/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.cpp b/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.cpp index e6ab942..4325f90 100644 --- a/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.cpp +++ b/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.cpp @@ -1,11 +1,120 @@ +#include +#include #include "QRepairOrderWidget.h" +#include +#include "../../Data/DataManipulation/Excel/LoadFromExcel.h" +#include "../../Data/DataManipulation/oracle/ImportToOracle.h" +#include "../../util/qt/qt_util.h" -QRepairOrderWidget::QRepairOrderWidget(QWidget *parent) - : QWidget(parent) +using namespace std; + +QRepairOrderWidget::QRepairOrderWidget( QWidget * parent ) + : QWidget( parent ) { - ui.setupUi(this); + ui.setupUi( this ); + + init(); } QRepairOrderWidget::~QRepairOrderWidget() { } + +void QRepairOrderWidget::onImport() +{ + QString fileDir = "."; + QString dialogCaption = "打开文件"; + QString filter = "Excel文件 (*.xlsx)"; + //QStringList fileList; + + try + { + //读取文件 + QStringList fileList = QFileDialog::getOpenFileNames( nullptr, + dialogCaption, + fileDir, + filter ); + + if ( fileList.count() == 0 ) + { + return; + } + + //清理旧数据 + repairOrderVector.clear(); + + for ( auto iterFile = fileList.begin(); + iterFile != fileList.end(); + ++iterFile ) + { + LoadRepairOrderFromXlsx( iterFile->toStdWString(), + 0, + 1, + repairOrderVector ); + } + } + catch ( runtime_error & error ) + { + QMessageBox::critical( nullptr, + "读取失败!", + "数据读取失败!" ); + + return; + } + + //如果没有读取任何记录,就退出! + if ( repairOrderVector.size() == 0 ) + { + return; + } + + //写入数据 + try + { + //以后要修改 + string userName = "car_dealer"; + string password = "cpic123456"; + string tnsName = "xmcx1"; + + ImportRepairOrderToOracle( userName, + password, + tnsName, + repairOrderVector ); + + showRepairOrder(); + } + catch ( runtime_error & error ) + { + QMessageBox::critical( nullptr, + "写入失败", + QString::fromLocal8Bit( error.what() ) ); + return; + } + + +} + +void QRepairOrderWidget::init() +{ + initData(); + initWidgets(); + initSignal(); +} + +void QRepairOrderWidget::initData() +{ +} + +void QRepairOrderWidget::initWidgets() +{ + setLayout( ui.pLayoutMain ); +} + +void QRepairOrderWidget::initSignal() +{ + connect( ui.pButtonImport, SIGNAL( clicked() ), this, SLOT( onImport() ) ); +} + +void QRepairOrderWidget::showRepairOrder() +{ +} diff --git a/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.h b/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.h index c719a57..a26dc6f 100644 --- a/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.h +++ b/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.h @@ -1,7 +1,8 @@ -#pragma once +#pragma once #include #include "ui_QRepairOrderWidget.h" +#include "../../Data/Datastructure/RepairOrder/RepairOrder.h" class QRepairOrderWidget : public QWidget { @@ -11,6 +12,18 @@ public: QRepairOrderWidget(QWidget *parent = Q_NULLPTR); ~QRepairOrderWidget(); +protected Q_SLOTS: + void onImport(); + +private: + void init(); + void initData(); + void initWidgets(); + void initSignal(); + void showRepairOrder(); + private: Ui::QRepairOrderWidget ui; + + std::vector repairOrderVector; }; diff --git a/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.ui b/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.ui index c43c41e..45b1d00 100644 --- a/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.ui +++ b/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.ui @@ -1,23 +1,303 @@ - + + QRepairOrderWidget - - - QRepairOrderWidget - - + + - 0 - 0 - 400 - 300 + 0 + 0 + 666 + 445 - + QRepairOrderWidget + + + + 20 + 10 + 581 + 331 + + + + + 5 + + + 5 + + + 5 + + + + + + + 导入 + + + + :/QMainFrame/Resources/excel.png + + + + + 32 + 32 + + + + Qt::ToolButtonTextBesideIcon + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + QAbstractItemView::NoEditTriggers + + + false + + + true + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + false + + + + 工单号 + + + AlignCenter + + + + + 工单类型 + + + AlignCenter + + + + + 报案号 + + + AlignCenter + + + + + 出险区域 + + + AlignCenter + + + + + 出险日期 + + + AlignCenter + + + + + 创建日期 + + + AlignCenter + + + + + 商业险保单号 + + + AlignCenter + + + + + 交强险保单号 + + + AlignCenter + + + + + 车牌号 + + + AlignCenter + + + + + 品牌名称 + + + AlignCenter + + + + + 是否标的车 + + + AlignCenter + + + + + 是否推荐成功 + + + AlignCenter + + + + + 推荐车商代码 + + + AlignCenter + + + + + 推荐车商名称 + + + AlignCenter + + + + + 报案推荐车商 + + + AlignCenter + + + + + 查看推荐车商 + + + AlignCenter + + + + + 接报案人 + + + AlignCenter + + + + + 查勘员 + + + AlignCenter + + + + + 工单确认时间 + + + AlignCenter + + + + + 车辆进厂时间 + + + AlignCenter + + + + + 车辆出厂时间 + + + AlignCenter + + + + + 状态 + + + AlignCenter + + + + + 损失项目ID + + + AlignCenter + + + + + 查勘员推荐 + + + AlignCenter + + + + + 状态 + + + AlignCenter + + + + + + - - - + + + + - +