做了一些修改

This commit is contained in:
Kane Wang 2020-11-27 11:32:13 +08:00
parent c5be602bcf
commit 52d85dd319
17 changed files with 356 additions and 89 deletions

View File

@ -27,7 +27,7 @@
<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\RepairSuggestion\RepairRecommandationRecord.cpp" />
<ClCompile Include="..\..\..\source\data\Datastructure\UserInfo\UserInfo.cpp" />
<ClCompile Include="..\..\..\source\Data\Datastructure\新送返修监控报表\新送返修监控报表.cpp" />
<ClCompile Include="..\..\..\source\data\excel\excel.cpp" />
@ -71,7 +71,7 @@
<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\RepairSuggestion\RepairRecommandationRecord.h" />
<ClInclude Include="..\..\..\source\data\Datastructure\UserInfo\UserInfo.h" />
<ClInclude Include="..\..\..\source\Data\Datastructure\新送返修监控报表\新送返修监控报表.h" />
<ClInclude Include="..\..\..\source\data\excel\excel.h" />

View File

@ -187,9 +187,6 @@
<ClCompile Include="..\..\..\source\Widgets\ContentWidget\QCarDealerAchievementWidget\QCarDealerAchievementWidget.cpp">
<Filter>窗口\内容窗口\数据管理\车商业绩表</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\Data\Datastructure\RepairSuggestion\RepairSuggestionRecord.cpp">
<Filter>数据\数据结构\送返修推荐表</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\Data\Datastructure\新送返修监控报表\新送返修监控报表.cpp">
<Filter>数据\数据结构\新送返修监控报表</Filter>
</ClCompile>
@ -205,6 +202,9 @@
<ClCompile Include="..\..\..\source\Data\Datastructure\CarDealer\CarDealerMap.cpp">
<Filter>数据\数据结构\车商</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\Data\Datastructure\RepairSuggestion\RepairRecommandationRecord.cpp">
<Filter>数据\数据结构\送返修推荐表</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<QtRcc Include="..\..\..\source\resource.qrc">
@ -310,9 +310,6 @@
<ClInclude Include="..\..\..\source\data\DataManipulation\FromExcelToOracle\FromExcelToOracle.h">
<Filter>数据\数据管理\导入导出\直接导入导出</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\Data\Datastructure\RepairSuggestion\RepairSuggestionRecord.h">
<Filter>数据\数据结构\送返修推荐表</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\Data\Datastructure\新送返修监控报表\新送返修监控报表.h">
<Filter>数据\数据结构\新送返修监控报表</Filter>
</ClInclude>
@ -328,5 +325,8 @@
<ClInclude Include="..\..\..\source\Data\Datastructure\CarDealer\CarDealerMap.h">
<Filter>数据\数据结构\车商</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\Data\Datastructure\RepairSuggestion\RepairRecommandationRecord.h">
<Filter>数据\数据结构\送返修推荐表</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@ -3,6 +3,7 @@
#include "LoadFromExcel.h"
#include "../../excel/excel.h"
#include "../../Data/Datastructure/CarDealer/CarDealerMap.h"
#include "../../Datastructure/RepairSuggestion/RepairRecommandationRecord.h"
using namespace std;
using namespace libxl;
@ -418,10 +419,10 @@ void LoadRepairOrderFromXlsx( const std::wstring & filePath,
pBook->release();
}
void LoadRepairSuggestionFromXlsx( const std::wstring & filePath,
void LoadRepairRecommandationFromXlsx( const std::wstring & filePath,
unsigned sheetIndex,
unsigned startRowIndex,
std::vector<RepairSuggestionRecord> & recordVector )
std::vector<RepairRecommandationRecord> & recordVector )
{
Book * pBook = xlCreateXMLBookW();
Sheet * pSheet = nullptr;
@ -474,7 +475,7 @@ void LoadRepairSuggestionFromXlsx( const std::wstring & filePat
wstring messageSendingDate = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
wstring dataSource = ReadCellStringFromXlsx( pBook, sheetIndex, rowIndex, colunmIndex++, true );
RepairSuggestionRecord record( orderNo,
RepairRecommandationRecord record( orderNo,
orderType,
notifyNo,
suggestedCarDealerCode,

View File

@ -5,7 +5,7 @@
#include "../../Datastructure/CarDealerScheme/CarDealerScheme.h"
#include "../../Datastructure/CarDealerAchievement/CarDealerAchievement.h"
#include "../../Datastructure/RepairOrder/RepairOrder.h"
#include "../../Datastructure/RepairSuggestion/RepairSuggestionRecord.h"
#include "../../Datastructure/RepairSuggestion/RepairRecommandationRecord.h"
#include "../../Datastructure/新送返修监控报表/新送返修监控报表.h"
/************************************************
@ -56,10 +56,10 @@ void LoadRepairOrderFromXlsx( const std::wstring & filePath,
* \param startRowIndex
* \param recordVector
************************************************/
void LoadRepairSuggestionFromXlsx( const std::wstring & filePath,
unsigned int sheetIndex,
unsigned int startRowIndex,
std::vector<RepairSuggestionRecord> & recordVector );
void LoadRepairRecommandationFromXlsx( const std::wstring & filePath,
unsigned int sheetIndex,
unsigned int startRowIndex,
std::vector<RepairRecommandationRecord> & recordVector );
/************************************************

View File

@ -0,0 +1,2 @@

#include "RepairRecommandationRecord.h"

View File

@ -6,20 +6,20 @@
/************************************************
* \brief
************************************************/
class RepairSuggestionRecord
class RepairRecommandationRecord
{
public:
RepairSuggestionRecord( std::wstring orderNo,
std::wstring orderType,
std::wstring notifyNo,
std::wstring suggestedCarDealerCode,
std::wstring suggestedCarDealerName,
std::wstring damageDate,
std::wstring plateNumber,
std::wstring brandName,
std::wstring messageType,
std::wstring messageSendingDate,
std::wstring dataSource )
RepairRecommandationRecord( std::wstring orderNo,
std::wstring orderType,
std::wstring notifyNo,
std::wstring suggestedCarDealerCode,
std::wstring suggestedCarDealerName,
std::wstring damageDate,
std::wstring plateNumber,
std::wstring brandName,
std::wstring messageType,
std::wstring messageSendingDate,
std::wstring dataSource )
: orderNo_( std::move( orderNo ) ),
orderType_( std::move( orderType ) ),
notifyNo_( std::move( notifyNo ) ),
@ -34,7 +34,7 @@ public:
{
}
RepairSuggestionRecord( const RepairSuggestionRecord & other )
RepairRecommandationRecord( const RepairRecommandationRecord & other )
: orderNo_( other.orderNo_ ),
orderType_( other.orderType_ ),
notifyNo_( other.notifyNo_ ),
@ -49,7 +49,7 @@ public:
{
}
RepairSuggestionRecord( RepairSuggestionRecord && other )
RepairRecommandationRecord( RepairRecommandationRecord && other )
: orderNo_( std::move( other.orderNo_ ) ),
orderType_( std::move( other.orderType_ ) ),
notifyNo_( std::move( other.notifyNo_ ) ),
@ -64,7 +64,7 @@ public:
{
}
RepairSuggestionRecord & operator=( const RepairSuggestionRecord & other )
RepairRecommandationRecord & operator=( const RepairRecommandationRecord & other )
{
if ( this == &other )
return *this;
@ -82,7 +82,7 @@ public:
return *this;
}
RepairSuggestionRecord & operator=( RepairSuggestionRecord && other )
RepairRecommandationRecord & operator=( RepairRecommandationRecord && other )
{
if ( this == &other )
return *this;

View File

@ -50,7 +50,7 @@ void QCarDealerAchievementWidget::onImport()
try
{
ImportCarDealerAchievementToOracleCpp( userName, password, tnsName, achievementVector );
showCarDealerAchievement();
}
catch ( runtime_error & error )
@ -65,80 +65,80 @@ void QCarDealerAchievementWidget::onImport()
void QCarDealerAchievementWidget::showCarDealerAchievement()
{
QTableWidgetItem * pItem = nullptr;
int rowIndex = 0;
int columnIndex = 0;
ui.pTableWidgetAchievement->clearContents();
QTableWidgetItem * pItem = nullptr;
int rowIndex = 0;
int columnIndex = 0;
ui.pTableWidgetAchievement->setRowCount(achievementVector.size());
ui.pTableWidgetAchievement->setRowCount( achievementVector.size() );
ui.pTableWidgetAchievement->horizontalHeader()->setHighlightSections( false );
for ( auto iter = achievementVector.begin();
iter != achievementVector.end();
++iter, ++rowIndex )
{
//年度
pItem = new QTableWidgetItem(QString::fromStdWString(iter->getTheYear()));
pItem->setTextAlignment(Qt::AlignVCenter | Qt::AlignHCenter);
pItem = new QTableWidgetItem( QString::fromStdWString( iter->getTheYear() ) );
pItem->setTextAlignment( Qt::AlignVCenter | Qt::AlignHCenter );
ui.pTableWidgetAchievement->setItem(rowIndex, columnIndex++, pItem);
ui.pTableWidgetAchievement->setItem( rowIndex, columnIndex++, pItem );
//月份
pItem = new QTableWidgetItem(QString::fromStdWString(iter->getTheMonth()));
pItem->setTextAlignment(Qt::AlignVCenter | Qt::AlignHCenter);
pItem = new QTableWidgetItem( QString::fromStdWString( iter->getTheMonth() ) );
pItem->setTextAlignment( Qt::AlignVCenter | Qt::AlignHCenter );
ui.pTableWidgetAchievement->setItem(rowIndex, columnIndex++, pItem);
ui.pTableWidgetAchievement->setItem( rowIndex, columnIndex++, pItem );
//车商代码
pItem = new QTableWidgetItem(QString::fromStdWString(iter->getCarDealerCode()));
pItem->setTextAlignment(Qt::AlignVCenter | Qt::AlignHCenter);
pItem = new QTableWidgetItem( QString::fromStdWString( iter->getCarDealerCode() ) );
pItem->setTextAlignment( Qt::AlignVCenter | Qt::AlignHCenter );
ui.pTableWidgetAchievement->setItem(rowIndex, columnIndex++, pItem);
ui.pTableWidgetAchievement->setItem( rowIndex, columnIndex++, pItem );
//车商名称
pItem = new QTableWidgetItem(QString::fromStdWString(iter->getCarDealerCode()));
pItem->setTextAlignment(Qt::AlignVCenter | Qt::AlignHCenter);
pItem = new QTableWidgetItem( QString::fromStdWString( iter->getCarDealerCode() ) );
pItem->setTextAlignment( Qt::AlignVCenter | Qt::AlignHCenter );
ui.pTableWidgetAchievement->setItem(rowIndex, columnIndex++, pItem);
ui.pTableWidgetAchievement->setItem( rowIndex, columnIndex++, pItem );
//店内双签产值
pItem = new QTableWidgetItem(QString::number(iter->getCheckedAchievement(), 'g', -1));
pItem->setTextAlignment(Qt::AlignVCenter | Qt::AlignHCenter);
pItem = new QTableWidgetItem( QString::number( iter->getCheckedAchievement(), 'g', -1 ) );
pItem->setTextAlignment( Qt::AlignVCenter | Qt::AlignHCenter );
ui.pTableWidgetAchievement->setItem(rowIndex, columnIndex++, pItem);
ui.pTableWidgetAchievement->setItem( rowIndex, columnIndex++, pItem );
//店内新车开票数
pItem = new QTableWidgetItem(QString::number(iter->getPolicyAmount(),10));
pItem->setTextAlignment(Qt::AlignVCenter | Qt::AlignHCenter);
pItem = new QTableWidgetItem( QString::number( iter->getPolicyAmount(), 10 ) );
pItem->setTextAlignment( Qt::AlignVCenter | Qt::AlignHCenter );
ui.pTableWidgetAchievement->setItem(rowIndex, columnIndex++, pItem);
ui.pTableWidgetAchievement->setItem( rowIndex, columnIndex++, pItem );
//我司新车签单台次
pItem = new QTableWidgetItem(QString::number(iter->getCpicAmount()));
pItem->setTextAlignment(Qt::AlignVCenter | Qt::AlignHCenter);
pItem = new QTableWidgetItem( QString::number( iter->getCpicAmount() ) );
pItem->setTextAlignment( Qt::AlignVCenter | Qt::AlignHCenter );
ui.pTableWidgetAchievement->setItem(rowIndex, columnIndex++, pItem);
ui.pTableWidgetAchievement->setItem( rowIndex, columnIndex++, pItem );
//人保新车签单台次
pItem = new QTableWidgetItem(QString::number(iter->getPiccAmount()));
pItem->setTextAlignment(Qt::AlignVCenter | Qt::AlignHCenter);
pItem = new QTableWidgetItem( QString::number( iter->getPiccAmount() ) );
pItem->setTextAlignment( Qt::AlignVCenter | Qt::AlignHCenter );
ui.pTableWidgetAchievement->setItem(rowIndex, columnIndex++, pItem);
ui.pTableWidgetAchievement->setItem( rowIndex, columnIndex++, pItem );
//平安新车签单台次
pItem = new QTableWidgetItem(QString::number(iter->getPinganAmount()));
pItem->setTextAlignment(Qt::AlignVCenter | Qt::AlignHCenter);
pItem = new QTableWidgetItem( QString::number( iter->getPinganAmount() ) );
pItem->setTextAlignment( Qt::AlignVCenter | Qt::AlignHCenter );
ui.pTableWidgetAchievement->setItem(rowIndex, columnIndex++, pItem);
ui.pTableWidgetAchievement->setItem( rowIndex, columnIndex++, pItem );
//其他保险公司
pItem = new QTableWidgetItem(QString::number(iter->getOthersAmount()));
pItem->setTextAlignment(Qt::AlignVCenter | Qt::AlignHCenter);
pItem = new QTableWidgetItem( QString::number( iter->getOthersAmount() ) );
pItem->setTextAlignment( Qt::AlignVCenter | Qt::AlignHCenter );
ui.pTableWidgetAchievement->setItem(rowIndex, columnIndex++, pItem);
ui.pTableWidgetAchievement->setItem( rowIndex, columnIndex++, pItem );
}
resizeTableWidgetTab(ui.pTableWidgetAchievement, 10);
resizeTableWidgetTab( ui.pTableWidgetAchievement, 10 );
}
void QCarDealerAchievementWidget::init()

View File

@ -72,6 +72,21 @@
</item>
<item>
<widget class="QTableWidget" name="pTableWidgetAchievement">
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="alternatingRowColors">
<bool>true</bool>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::SingleSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<column>
<property name="text">
<string>年度</string>

View File

@ -86,6 +86,7 @@ void QCarDealerSchemaWidget::showCarDealerSchema()
{
ui.pTableWidgetSchema->clearContents();
ui.pTableWidgetSchema->setRowCount( schemeVector.size() );
ui.pTableWidgetSchema->horizontalHeader()->setHighlightSections(false);
int rowIndex = 0;
int columnIndex = 0;

View File

@ -72,6 +72,24 @@
</item>
<item>
<widget class="QTableWidget" name="pTableWidgetSchema">
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="showDropIndicator" stdset="0">
<bool>false</bool>
</property>
<property name="alternatingRowColors">
<bool>true</bool>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::SingleSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<column>
<property name="text">
<string>年度</string>

View File

@ -1,11 +1,60 @@
#include <QtWidgets/QtWidgets>
#include "QRepairRecommendationWidget.h"
QRepairRecommendationWidget::QRepairRecommendationWidget(QWidget *parent)
: QWidget(parent)
QRepairRecommendationWidget::QRepairRecommendationWidget( QWidget * parent )
: QWidget( parent )
{
ui.setupUi(this);
ui.setupUi( this );
}
QRepairRecommendationWidget::~QRepairRecommendationWidget()
{
}
void QRepairRecommendationWidget::onImport()
{
//打开文件
QString dir = QString::fromLocal8Bit( "." );
QString filter = QString::fromLocal8Bit( "Excel文件*.xlsx)" );
QStringList fileList = QFileDialog::getOpenFileNames( this,
QString::fromLocal8Bit( "请选择要导入的数据文件" ),
dir,
filter );
//清理旧数据
recommandationVector.clear();
//遍历文件列表,导入每一个文件
for ( auto iterFile = fileList.begin();
iterFile != fileList.end();
++iterFile )
{
}
}
void QRepairRecommendationWidget::init()
{
initData();
initWidgets();
initSignal();
}
void QRepairRecommendationWidget::initData()
{
}
void QRepairRecommendationWidget::initWidgets()
{
setLayout( ui.pLayoutMain );
}
void QRepairRecommendationWidget::initSignal()
{
connect( ui.pButtonImport, SIGNAL( clicked() ), this, SLOT( onImport() ) );
}
void QRepairRecommendationWidget::showRepairRecommandation()
{
}

View File

@ -1,7 +1,9 @@
#pragma once
#pragma once
#include <QWidget>
#include <vector>
#include "ui_QRepairRecommendationWidget.h"
#include "../../Data/Datastructure/RepairSuggestion/RepairRecommandationRecord.h"
class QRepairRecommendationWidget : public QWidget
{
@ -11,6 +13,19 @@ public:
QRepairRecommendationWidget(QWidget *parent = Q_NULLPTR);
~QRepairRecommendationWidget();
protected Q_SLOTS:
void onImport();
private:
void init();
void initData();
void initWidgets();
void initSignal();
void showRepairRecommandation();
private:
Ui::QRepairRecommendationWidget ui;
//数据
std::vector<RepairRecommandationRecord> recommandationVector;
};

View File

@ -1,23 +1,189 @@
<UI version="4.0" >
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>QRepairRecommendationWidget</class>
<widget class="QWidget" name="QRepairRecommendationWidget" >
<property name="objectName" >
<string notr="true">QRepairRecommendationWidget</string>
</property>
<property name="geometry" >
<widget class="QWidget" name="QRepairRecommendationWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
<x>0</x>
<y>0</y>
<width>774</width>
<height>514</height>
</rect>
</property>
<property name="windowTitle" >
<property name="windowTitle">
<string>QRepairRecommendationWidget</string>
</property>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>150</x>
<y>70</y>
<width>258</width>
<height>240</height>
</rect>
</property>
<layout class="QVBoxLayout" name="pLayoutMain">
<property name="leftMargin">
<number>5</number>
</property>
<property name="topMargin">
<number>5</number>
</property>
<property name="rightMargin">
<number>5</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QToolButton" name="pButtonImport">
<property name="text">
<string>导入</string>
</property>
<property name="icon">
<iconset>
<normalon>:/QMainFrame/Resources/excel.png</normalon>
</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonTextBesideIcon</enum>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="QTableWidget" name="pTableWidgetRepairRecommandation">
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="showDropIndicator" stdset="0">
<bool>false</bool>
</property>
<property name="alternatingRowColors">
<bool>true</bool>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::SingleSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<column>
<property name="text">
<string>工单号</string>
</property>
<property name="textAlignment">
<set>AlignCenter</set>
</property>
</column>
<column>
<property name="text">
<string>工单类型</string>
</property>
<property name="textAlignment">
<set>AlignCenter</set>
</property>
</column>
<column>
<property name="text">
<string>报案号</string>
</property>
<property name="textAlignment">
<set>AlignCenter</set>
</property>
</column>
<column>
<property name="text">
<string>推荐车商代码</string>
</property>
<property name="textAlignment">
<set>AlignCenter</set>
</property>
</column>
<column>
<property name="text">
<string>推荐车商名称</string>
</property>
<property name="textAlignment">
<set>AlignCenter</set>
</property>
</column>
<column>
<property name="text">
<string>出险日期</string>
</property>
<property name="textAlignment">
<set>AlignCenter</set>
</property>
</column>
<column>
<property name="text">
<string>车牌号</string>
</property>
<property name="textAlignment">
<set>AlignCenter</set>
</property>
</column>
<column>
<property name="text">
<string>品牌名称</string>
</property>
<property name="textAlignment">
<set>AlignCenter</set>
</property>
</column>
<column>
<property name="text">
<string>短信类型</string>
</property>
<property name="textAlignment">
<set>AlignCenter</set>
</property>
</column>
<column>
<property name="text">
<string>发送时间</string>
</property>
<property name="textAlignment">
<set>AlignCenter</set>
</property>
</column>
<column>
<property name="text">
<string>数据来源</string>
</property>
<property name="textAlignment">
<set>AlignCenter</set>
</property>
</column>
</widget>
</item>
</layout>
</widget>
</widget>
<layoutDefault spacing="6" margin="11" />
<pixmapfunction></pixmapfunction>
<layoutdefault spacing="6" margin="11"/>
<resources/>
<connections/>
</UI>
</ui>

View File

@ -11,7 +11,7 @@
</rect>
</property>
<property name="windowTitle">
<string>QMainFrame</string>
<string>起个啥名呢?</string>
</property>
<widget class="QWidget" name="centralWidget"/>
<widget class="QMenuBar" name="menuBar">