完成转换

This commit is contained in:
Kane Wang 2018-06-02 17:47:28 +08:00
parent 1e383920be
commit 054ef9e65a
24 changed files with 167 additions and 169 deletions

View File

@ -20,6 +20,7 @@ Global
HideSolutionNode = FALSE HideSolutionNode = FALSE
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
Qt5Version = 5.10.1_msvc2017_x64
SolutionGuid = {A4A9332B-14DA-4126-B98B-613DCABA7F66} SolutionGuid = {A4A9332B-14DA-4126-B98B-613DCABA7F66}
EndGlobalSection EndGlobalSection
EndGlobal EndGlobal

View File

@ -11,7 +11,6 @@
</ProjectConfiguration> </ProjectConfiguration>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\..\..\source\check.cpp" />
<ClCompile Include="..\..\..\source\DataManipulation.cpp" /> <ClCompile Include="..\..\..\source\DataManipulation.cpp" />
<ClCompile Include="..\..\..\source\main.cpp" /> <ClCompile Include="..\..\..\source\main.cpp" />
<ClCompile Include="..\..\..\source\Parameters.cpp" /> <ClCompile Include="..\..\..\source\Parameters.cpp" />
@ -23,21 +22,17 @@
<ClCompile Include="..\..\..\source\QRapidInputWidget.cpp" /> <ClCompile Include="..\..\..\source\QRapidInputWidget.cpp" />
<ClCompile Include="..\..\..\source\QTelSalePolicyInfoInputWidget.cpp" /> <ClCompile Include="..\..\..\source\QTelSalePolicyInfoInputWidget.cpp" />
<ClCompile Include="..\..\..\source\QTelSalePolicyInfoQuery.cpp" /> <ClCompile Include="..\..\..\source\QTelSalePolicyInfoQuery.cpp" />
<ClCompile Include="..\..\..\source\sqlite\shell.c" />
<ClCompile Include="..\..\..\source\sqlite\sqlite3.c" /> <ClCompile Include="..\..\..\source\sqlite\sqlite3.c" />
<ClCompile Include="..\..\..\source\StringCodeConverter.cpp" /> <ClCompile Include="..\..\..\source\StringCodeConverter.cpp" />
<ClCompile Include="..\..\..\source\SystemData.cpp" /> <ClCompile Include="..\..\..\source\SystemData.cpp" />
<ClCompile Include="..\..\..\source\SystemDataQuery.cpp" /> <ClCompile Include="..\..\..\source\SystemDataQuery.cpp" />
<ClCompile Include="..\..\..\source\TelSalePolicyManager.cpp" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\..\..\source\check.h" />
<ClInclude Include="..\..\..\source\DataManipulation.h" /> <ClInclude Include="..\..\..\source\DataManipulation.h" />
<ClInclude Include="..\..\..\source\Parameters.h" /> <ClInclude Include="..\..\..\source\Parameters.h" />
<ClInclude Include="..\..\..\source\StringCodeConverter.h" /> <ClInclude Include="..\..\..\source\StringCodeConverter.h" />
<ClInclude Include="..\..\..\source\SystemData.h" /> <ClInclude Include="..\..\..\source\SystemData.h" />
<ClInclude Include="..\..\..\source\SystemDataQuery.h" /> <ClInclude Include="..\..\..\source\SystemDataQuery.h" />
<ClInclude Include="..\..\..\source\TelSalePolicyManager.h" />
<QtMoc Include="..\..\..\source\QTelSalePolicyInfoQuery.h" /> <QtMoc Include="..\..\..\source\QTelSalePolicyInfoQuery.h" />
<QtMoc Include="..\..\..\source\QTelSalePolicyInfoInputWidget.h" /> <QtMoc Include="..\..\..\source\QTelSalePolicyInfoInputWidget.h" />
<QtMoc Include="..\..\..\source\QRapidInputWidget.h" /> <QtMoc Include="..\..\..\source\QRapidInputWidget.h" />
@ -171,6 +166,7 @@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
<LibraryPath>D:\develop\sdk\cpp\Qt\qt_5.10.1\5.10.1\msvc2017_64\lib;$(LibraryPath)</LibraryPath>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
@ -197,25 +193,26 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile> <ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation> <MultiProcessorCompilation>true</MultiProcessorCompilation>
<PreprocessorDefinitions>UNICODE;_UNICODE;WIN32;WIN64;QT_DLL;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>UNICODE;_UNICODE;WIN32;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtWidgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<Optimization>Disabled</Optimization> <Optimization>Disabled</Optimization>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType> <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<AdditionalOptions>/source-charset:utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Windows</SubSystem> <SubSystem>Windows</SubSystem>
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile> <OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
<AdditionalLibraryDirectories>$(QTDIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(QTDIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>qtmaind.lib;Qt5Cored.lib;Qt5Guid.lib;Qt5Widgetsd.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>qtmaind.lib;Qt5Widgetsd.lib;Qt5Cored.lib;Qt5Guid.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
<QtMoc> <QtMoc>
<OutputFile>.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</OutputFile> <OutputFile>.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</OutputFile>
<ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription> <ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription>
<IncludePath>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName)\.;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtWidgets</IncludePath> <IncludePath>.\GeneratedFiles;.;$(QTDIR)\include;$(QTDIR)\include\QtCore;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</IncludePath>
<Define>UNICODE;_UNICODE;WIN32;WIN64;QT_DLL;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB</Define> <Define>UNICODE;_UNICODE;WIN32;WIN64;%(PreprocessorDefinitions)</Define>
</QtMoc> </QtMoc>
<QtUic> <QtUic>
<ExecutionDescription>Uic'ing %(Identity)...</ExecutionDescription> <ExecutionDescription>Uic'ing %(Identity)...</ExecutionDescription>
@ -229,8 +226,8 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile> <ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation> <MultiProcessorCompilation>true</MultiProcessorCompilation>
<PreprocessorDefinitions>UNICODE;_UNICODE;WIN32;WIN64;QT_DLL;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>UNICODE;_UNICODE;WIN32;WIN64;QT_NO_DEBUG;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtWidgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DebugInformationFormat /> <DebugInformationFormat />
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType> <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
@ -240,13 +237,13 @@
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile> <OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
<AdditionalLibraryDirectories>$(QTDIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(QTDIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation> <GenerateDebugInformation>false</GenerateDebugInformation>
<AdditionalDependencies>qtmain.lib;Qt5Core.lib;Qt5Gui.lib;Qt5Widgets.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>qtmain.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
<QtMoc> <QtMoc>
<OutputFile>.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</OutputFile> <OutputFile>.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</OutputFile>
<ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription> <ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription>
<IncludePath>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName)\.;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtANGLE;$(QTDIR)\include\QtWidgets</IncludePath> <IncludePath>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</IncludePath>
<Define>UNICODE;_UNICODE;WIN32;WIN64;QT_DLL;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB</Define> <Define>UNICODE;_UNICODE;WIN32;WIN64;QT_NO_DEBUG;NDEBUG;%(PreprocessorDefinitions)</Define>
</QtMoc> </QtMoc>
<QtUic> <QtUic>
<ExecutionDescription>Uic'ing %(Identity)...</ExecutionDescription> <ExecutionDescription>Uic'ing %(Identity)...</ExecutionDescription>
@ -265,7 +262,7 @@
</ImportGroup> </ImportGroup>
<ProjectExtensions> <ProjectExtensions>
<VisualStudio> <VisualStudio>
<UserProperties MocDir=".\GeneratedFiles\$(ConfigurationName)" UicDir=".\GeneratedFiles" RccDir=".\GeneratedFiles" lupdateOptions="" lupdateOnBuild="0" lreleaseOptions="" Qt5Version_x0020_x64="5.10.1" MocOptions="" /> <UserProperties MocDir=".\GeneratedFiles\$(ConfigurationName)" UicDir=".\GeneratedFiles" RccDir=".\GeneratedFiles" lupdateOptions="" lupdateOnBuild="0" lreleaseOptions="" Qt5Version_x0020_x64="5.10.1_msvc2017_x64" MocOptions="" />
</VisualStudio> </VisualStudio>
</ProjectExtensions> </ProjectExtensions>
</Project> </Project>

View File

@ -75,9 +75,6 @@
</Filter> </Filter>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\..\..\source\sqlite\shell.c">
<Filter>sqlite3</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\sqlite\sqlite3.c"> <ClCompile Include="..\..\..\source\sqlite\sqlite3.c">
<Filter>sqlite3</Filter> <Filter>sqlite3</Filter>
</ClCompile> </ClCompile>
@ -96,9 +93,6 @@
<ClCompile Include="..\..\..\source\StringCodeConverter.cpp"> <ClCompile Include="..\..\..\source\StringCodeConverter.cpp">
<Filter>数据\工具</Filter> <Filter>数据\工具</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\source\check.cpp">
<Filter>数据\数据库操作</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\SystemData.cpp"> <ClCompile Include="..\..\..\source\SystemData.cpp">
<Filter>数据\数据库操作</Filter> <Filter>数据\数据库操作</Filter>
</ClCompile> </ClCompile>
@ -126,9 +120,6 @@
<ClCompile Include="..\..\..\source\QMainWidget.cpp"> <ClCompile Include="..\..\..\source\QMainWidget.cpp">
<Filter>窗口\层叠窗口\层叠子窗口</Filter> <Filter>窗口\层叠窗口\层叠子窗口</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\source\TelSalePolicyManager.cpp">
<Filter>数据</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\..\..\source\sqlite\sqlite3.h"> <ClInclude Include="..\..\..\source\sqlite\sqlite3.h">
@ -143,9 +134,6 @@
<ClInclude Include="..\..\..\source\StringCodeConverter.h"> <ClInclude Include="..\..\..\source\StringCodeConverter.h">
<Filter>数据\工具</Filter> <Filter>数据\工具</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\source\check.h">
<Filter>数据\数据库操作</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\SystemData.h"> <ClInclude Include="..\..\..\source\SystemData.h">
<Filter>数据\数据库操作</Filter> <Filter>数据\数据库操作</Filter>
</ClInclude> </ClInclude>
@ -155,9 +143,6 @@
<ClInclude Include="..\..\..\source\Parameters.h"> <ClInclude Include="..\..\..\source\Parameters.h">
<Filter>数据\参数管理</Filter> <Filter>数据\参数管理</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\source\TelSalePolicyManager.h">
<Filter>数据</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Image Include="..\..\..\source\Resources\car.png"> <Image Include="..\..\..\source\Resources\car.png">

View File

@ -2,11 +2,11 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup /> <PropertyGroup />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<QTDIR>D:\develop\sdk\cpp\qt\qt_5.10.1\5.10.1\msvc2017_64</QTDIR> <QTDIR>D:\develop\sdk\cpp\Qt\qt_5.10.1\5.10.1\msvc2017_64</QTDIR>
<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment> <LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<QTDIR>D:\develop\sdk\cpp\qt\qt_5.10.1\5.10.1\msvc2017_64</QTDIR> <QTDIR>D:\develop\sdk\cpp\Qt\qt_5.10.1\5.10.1\msvc2017_64</QTDIR>
<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment> <LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment>
</PropertyGroup> </PropertyGroup>
</Project> </Project>

View File

@ -362,10 +362,10 @@ void QueryPolicyGifts(const string & strPolicyNo, string & strGifts, double dGif
} }
void readTelsaleXlsFile(const string strFilePath, vector<SPolicyRecord> & listPolicy, bool hasTitle, bool isXML ) /*void readTelsaleXlsFile(const string strFilePath, vector<SPolicyRecord> & listPolicy, bool hasTitle, bool isXML )
{ {
IBookT<char> * pBook = NULL; Book * pBook = NULL;
ISheetT<char> * pSheet = NULL; Sheet * pSheet = NULL;
int iRowCount = 0; int iRowCount = 0;
int iRowIndex = 0; int iRowIndex = 0;
@ -413,13 +413,13 @@ void readTelsaleXlsFile(const string strFilePath, vector<SPolicyRecord> & listPo
CellType type = pSheet->cellType( iRowIndex, 4 ); CellType type = pSheet->cellType( iRowIndex, 4 );
policy.strSignDate = readXlsCell( pSheet, iRowIndex, 0 ); policy.strSignDate = readXlsxCell( pSheet, iRowIndex, 0 );
policy.strPolicySerial = readXlsCell( pSheet, iRowIndex, 1 ); policy.strPolicySerial = readXlsxCell( pSheet, iRowIndex, 1 );
policy.strPlateSerial = readXlsCell( pSheet, iRowIndex, 2 ); policy.strPlateSerial = readXlsxCell( pSheet, iRowIndex, 2 );
policy.strCustomerName = readXlsCell( pSheet, iRowIndex, 3 ); policy.strCustomerName = readXlsxCell( pSheet, iRowIndex, 3 );
policy.strSalerCode = readXlsCell( pSheet, iRowIndex, 4 ); policy.strSalerCode = readXlsxCell( pSheet, iRowIndex, 4 );
//policy.strAutoTraderName = readXlsCell( pSheet, iRowIndex, 5 ); //policy.strAutoTraderName = readXlsCell( pSheet, iRowIndex, 5 );
policy.strAutoTraderCode = readXlsCell( pSheet, iRowIndex, 6 ); policy.strAutoTraderCode = readXlsxCell( pSheet, iRowIndex, 6 );
//补齐工号 //补齐工号
if ( policy.strSalerCode.length() == 1 ) if ( policy.strSalerCode.length() == 1 )
@ -449,7 +449,7 @@ void readTelsaleXlsFile(const string strFilePath, vector<SPolicyRecord> & listPo
} }
pBook->release(); pBook->release();
} }*/
string readXlsCell(ISheetT<char> * pSheet, int iRowIndex, int iColIndex) string readXlsCell(ISheetT<char> * pSheet, int iRowIndex, int iColIndex)
{ {
@ -521,7 +521,7 @@ string readXlsxCell(ISheetT<wchar_t> * pSheet, int iRowIndex, int iColIndex)
return strReturn; return strReturn;
} }
void readTelsaleXlsxFile(wchar_t * wszFilePath, vector<SPolicyRecord> & listPolicy, bool hasTitle) void readTelsaleXlsxFile( const wstring & filePath, vector<SPolicyRecord> & listPolicy, bool hasTitle)
{ {
IBookT<wchar_t> * pBook = NULL; IBookT<wchar_t> * pBook = NULL;
ISheetT<wchar_t> * pSheet = NULL; ISheetT<wchar_t> * pSheet = NULL;
@ -537,7 +537,7 @@ void readTelsaleXlsxFile(wchar_t * wszFilePath, vector<SPolicyRecord> & listPoli
throw string(""); throw string("");
} }
if ( pBook->load(L"D:/1111.xlsx") == false ) if ( pBook->load( filePath.data() ) == false )
{ {
throw string("打开文件失败!" ); throw string("打开文件失败!" );
} }

View File

@ -18,6 +18,7 @@
#include <libxl.h> #include <libxl.h>
#include <string> #include <string>
#include <vector> #include <vector>
#include <unordered_map>
#include "SystemData.h" #include "SystemData.h"
using namespace std; using namespace std;
@ -133,9 +134,9 @@ void QueryPolicyGifts( const string & strPolicyNo,
string & strGifts, string & strGifts,
double dGiftPriceSum ); double dGiftPriceSum );
void readTelsaleXlsFile( const string strFilePath, vector<SPolicyRecord> & listPolicy, bool hasTitle, bool isXML ); //void readTelsaleXlsFile( const string & strFilePath, vector<SPolicyRecord> & listPolicy, bool hasTitle, bool isXML );
void readTelsaleXlsxFile( wchar_t * wszFilePath, vector<SPolicyRecord> & listPolicy, bool hasTitle ); void readTelsaleXlsxFile( const wstring & filePath, vector<SPolicyRecord> & listPolicy, bool hasTitle );
string readXlsCell( ISheetT<char> * pSheet, int iRowIndex, int iColIndex ); string readXlsCell( ISheetT<char> * pSheet, int iRowIndex, int iColIndex );
string readXlsxCell( ISheetT<wchar_t> * pSheet, int iRowIndex, int iColIndex); string readXlsxCell( ISheetT<wchar_t> * pSheet, int iRowIndex, int iColIndex);

View File

@ -1,5 +1,6 @@
#include <exception> #include <exception>
#include <unordered_map>
#include "Parameters.h" #include "Parameters.h"
#include "sqlite/sqlite3.h" #include "sqlite/sqlite3.h"

View File

@ -16,10 +16,10 @@
#define Parameters_h__ #define Parameters_h__
#include <string> #include <string>
#include <hash_map> #include <unordered_map>
using std::string; using std::string;
using std::hash_map; using std::unordered_map;
class Parameters class Parameters
{ {
@ -35,7 +35,7 @@ private:
private: private:
string m_strDbFilePath; string m_strDbFilePath;
hash_map<string, string> m_parameters; unordered_map<string, string> m_parameters;
}; };
#endif // Parameters_h__ #endif // Parameters_h__

View File

@ -1,7 +1,7 @@
#ifndef QCONFIGURATIONWIDGET_H #ifndef QCONFIGURATIONWIDGET_H
#define QCONFIGURATIONWIDGET_H #define QCONFIGURATIONWIDGET_H
#include <QWidget> #include <QtWidgets/QtWidgets>
#include <string> #include <string>
#include "ui_QConfigurationWidget.h" #include "ui_QConfigurationWidget.h"

View File

@ -1,6 +1,6 @@
//#include <occi.h> //#include <occi.h>
#include <QTextCodec> //#include <QTextCodec>
#include <QtWidgets/QMessageBox> #include <QtWidgets/QMessageBox>
#include "QLoginWidget.h" #include "QLoginWidget.h"
#include "SystemData.h" #include "SystemData.h"
@ -24,8 +24,8 @@ void QLoginWidget::init()
initWidget(); initWidget();
initSignal(); initSignal();
pCodecLocal = QTextCodec::codecForLocale(); //pCodecLocal = QTextCodec::codecForLocale();
pCodecUTF8 = QTextCodec::codecForName( "UTF-8" ); //pCodecUTF8 = QTextCodec::codecForName( "UTF-8" );
m_isLoginSuccess = false; m_isLoginSuccess = false;
} }

View File

@ -2,8 +2,9 @@
#define QLOGINWIDGET_H #define QLOGINWIDGET_H
#include <string> #include <string>
#include <QDialog> #include <QtWidgets/QtWidgets>
#include <QTextCodec> //#include <QDialog>
//#include <QTextCodec>
#include "ui_QLoginWidget.h" #include "ui_QLoginWidget.h"
//#include "DataManipulate.h" //#include "DataManipulate.h"

View File

@ -1,5 +1,4 @@
#include <QtWidgets/QtWidgets>
#include <QStatusBar>
#include <QtWidgets/QtWidgets> #include <QtWidgets/QtWidgets>
#include "QMainFrame.h" #include "QMainFrame.h"

View File

@ -1,7 +1,7 @@
#ifndef QMAINFRAME_H #ifndef QMAINFRAME_H
#define QMAINFRAME_H #define QMAINFRAME_H
#include <QMainWindow> #include <QtWidgets/QtWidgets>
#include "SystemData.h" #include "SystemData.h"
#include "QMyStackedWidget.h" #include "QMyStackedWidget.h"
#include "QTelSalePolicyInfoInputWidget.h" #include "QTelSalePolicyInfoInputWidget.h"

View File

@ -1,7 +1,9 @@
#ifndef QMYSTACKEDWIDGET_H #ifndef QMYSTACKEDWIDGET_H
#define QMYSTACKEDWIDGET_H #define QMYSTACKEDWIDGET_H
#include <QHash> #define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS
#include <QtCore/qhash.h>
#include <QtWidgets/QStackedWidget> #include <QtWidgets/QStackedWidget>
class QMyStackedWidget : public QStackedWidget class QMyStackedWidget : public QStackedWidget

View File

@ -1,7 +1,7 @@
#include "QRapidInputWidget.h" #include "QRapidInputWidget.h"
#include "DataManipulation.h" #include "DataManipulation.h"
QRapidInputWidget::QRapidInputWidget(QWidget *parent) QRapidInputWidget::QRapidInputWidget(QWidget* parent)
: QWidget(parent) : QWidget(parent)
{ {
ui.setupUi(this); ui.setupUi(this);
@ -11,7 +11,6 @@ QRapidInputWidget::QRapidInputWidget(QWidget *parent)
QRapidInputWidget::~QRapidInputWidget() QRapidInputWidget::~QRapidInputWidget()
{ {
} }
void QRapidInputWidget::init() void QRapidInputWidget::init()
@ -23,42 +22,43 @@ void QRapidInputWidget::init()
void QRapidInputWidget::initWidget() void QRapidInputWidget::initWidget()
{ {
setLayout( ui.pLayoutMain ); setLayout(ui.pLayoutMain);
setAcceptDrops( true ); setAcceptDrops(true);
} }
void QRapidInputWidget::initSignal() void QRapidInputWidget::initSignal()
{ {
connect( ui.pButtonSave,SIGNAL(clicked()), this, SLOT(onSaveTelSalePolicy()) ); connect(ui.pButtonSave,SIGNAL(clicked()), this, SLOT(onSaveTelSalePolicy()));
connect( ui.pButtonClean,SIGNAL(clicked()), this, SLOT(onCleanTable()) ); connect(ui.pButtonClean,SIGNAL(clicked()), this, SLOT(onCleanTable()));
connect( ui.pButtonOpenFile,SIGNAL(clicked()), this, SLOT(onOpenFile()) ); connect(ui.pButtonOpenFile,SIGNAL(clicked()), this, SLOT(onOpenFile()));
} }
void QRapidInputWidget::initData() void QRapidInputWidget::initData()
{ {
} }
void QRapidInputWidget::dragEnterEvent(QDragEnterEvent * pEvent) void QRapidInputWidget::dragEnterEvent(QDragEnterEvent* pEvent)
{ {
if ( pEvent->mimeData()->hasUrls() ) if (pEvent->mimeData()->hasUrls())
{ {
pEvent->acceptProposedAction(); pEvent->acceptProposedAction();
} }
} }
void QRapidInputWidget::dropEvent(QDropEvent * pEvent) void QRapidInputWidget::dropEvent(QDropEvent* pEvent)
{ {
QList<QUrl> listURL = pEvent->mimeData()->urls(); QList<QUrl> listURL = pEvent->mimeData()->urls();
QString strFilePath; QString strFilePath;
//正则表达式判断文件类型 //正则表达式判断文件类型
QRegularExpression regXlsx( QString::fromLocal8Bit(".xlsx$"), QRegularExpression::PatternOption::CaseInsensitiveOption ); QRegularExpression regXlsx(QString::fromLocal8Bit(".xlsx$"),
QRegularExpression regXls( QString::fromLocal8Bit(".xls$"), QRegularExpression::PatternOption::CaseInsensitiveOption ); QRegularExpression::PatternOption::CaseInsensitiveOption);
QRegularExpression regXls(QString::fromLocal8Bit(".xls$"),
QRegularExpression::PatternOption::CaseInsensitiveOption);
QRegularExpressionMatch match; QRegularExpressionMatch match;
if ( listURL.size() == 0 ) if (listURL.size() == 0)
{ {
return; return;
} }
@ -66,96 +66,101 @@ void QRapidInputWidget::dropEvent(QDropEvent * pEvent)
strFilePath = listURL[0].toLocalFile(); strFilePath = listURL[0].toLocalFile();
//是xlsx文件 //是xlsx文件
match = regXlsx.match( strFilePath ); match = regXlsx.match(strFilePath);
if ( match.hasMatch() ) if (match.hasMatch())
{ {
readTelsaleXlsFile( strFilePath.toLocal8Bit().data(), m_vPolicy, ui.pCheckBoxHasTitle->isChecked(), true ); readTelsaleXlsxFile(strFilePath.toStdWString(),
m_vPolicy,
ui.pCheckBoxHasTitle->isChecked());
} }
//是xls文件 //是xls文件
match = regXls.match( strFilePath ); match = regXls.match(strFilePath);
if ( match.hasMatch() ) if (match.hasMatch())
{ {
readTelsaleXlsFile( strFilePath.toLocal8Bit().data(), m_vPolicy, ui.pCheckBoxHasTitle->isChecked(), false ); //readTelsaleXlsFile(strFilePath.toStdWString(), m_vPolicy, ui.pCheckBoxHasTitle->isChecked(), false);
QMessageBox::critical(this,
QString::fromLocal8Bit("文件类型错误!"),
QString::fromLocal8Bit("文件格式需为Excel 2007及以后"));
} }
showPolicy(); showPolicy();
} }
void QRapidInputWidget::showPolicy() void QRapidInputWidget::showPolicy()
{ {
int iRowCount = m_vPolicy.size(); int iRowCount = m_vPolicy.size();
QTableWidgetItem * pItem = NULL; QTableWidgetItem* pItem = NULL;
ui.pTableWidgetPolicy->setRowCount( iRowCount ); ui.pTableWidgetPolicy->setRowCount(iRowCount);
for ( int iRowIndex = 0; iRowIndex < iRowCount; iRowIndex++ ) for (int iRowIndex = 0; iRowIndex < iRowCount; iRowIndex++)
{ {
//保单号 //保单号
pItem = new QTableWidgetItem( QString::fromLocal8Bit( m_vPolicy[iRowIndex].strPolicySerial.c_str()) ); pItem = new QTableWidgetItem(QString::fromLocal8Bit(m_vPolicy[iRowIndex].strPolicySerial.c_str()));
pItem->setTextAlignment( Qt::AlignHCenter | Qt::AlignVCenter ); pItem->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
pItem->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled ); pItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
ui.pTableWidgetPolicy->setItem( iRowIndex, 0, pItem ); ui.pTableWidgetPolicy->setItem(iRowIndex, 0, pItem);
//签单日期 //签单日期
pItem = new QTableWidgetItem( QString::fromLocal8Bit( m_vPolicy[iRowIndex].strSignDate.c_str()) ); pItem = new QTableWidgetItem(QString::fromLocal8Bit(m_vPolicy[iRowIndex].strSignDate.c_str()));
pItem->setTextAlignment( Qt::AlignHCenter | Qt::AlignVCenter ); pItem->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
pItem->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled ); pItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
ui.pTableWidgetPolicy->setItem( iRowIndex, 1, pItem ); ui.pTableWidgetPolicy->setItem(iRowIndex, 1, pItem);
//车牌号 //车牌号
pItem = new QTableWidgetItem( QString::fromLocal8Bit( m_vPolicy[iRowIndex].strPlateSerial.c_str()) ); pItem = new QTableWidgetItem(QString::fromLocal8Bit(m_vPolicy[iRowIndex].strPlateSerial.c_str()));
pItem->setTextAlignment( Qt::AlignHCenter | Qt::AlignVCenter ); pItem->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
pItem->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled ); pItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
ui.pTableWidgetPolicy->setItem( iRowIndex, 2, pItem ); ui.pTableWidgetPolicy->setItem(iRowIndex, 2, pItem);
//被保险人 //被保险人
pItem = new QTableWidgetItem( QString::fromLocal8Bit( m_vPolicy[iRowIndex].strCustomerName.c_str()) ); pItem = new QTableWidgetItem(QString::fromLocal8Bit(m_vPolicy[iRowIndex].strCustomerName.c_str()));
pItem->setTextAlignment( Qt::AlignHCenter | Qt::AlignVCenter ); pItem->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
pItem->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled ); pItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
ui.pTableWidgetPolicy->setItem( iRowIndex, 3, pItem ); ui.pTableWidgetPolicy->setItem(iRowIndex, 3, pItem);
//车商代码 //车商代码
pItem = new QTableWidgetItem( QString::fromLocal8Bit( m_vPolicy[iRowIndex].strAutoTraderCode.c_str()) ); pItem = new QTableWidgetItem(QString::fromLocal8Bit(m_vPolicy[iRowIndex].strAutoTraderCode.c_str()));
pItem->setTextAlignment( Qt::AlignHCenter | Qt::AlignVCenter ); pItem->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
pItem->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled ); pItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
ui.pTableWidgetPolicy->setItem( iRowIndex, 4, pItem ); ui.pTableWidgetPolicy->setItem(iRowIndex, 4, pItem);
//经办人代码 //经办人代码
pItem = new QTableWidgetItem( QString::fromLocal8Bit( m_vPolicy[iRowIndex].strSalerCode.c_str()) ); pItem = new QTableWidgetItem(QString::fromLocal8Bit(m_vPolicy[iRowIndex].strSalerCode.c_str()));
pItem->setTextAlignment( Qt::AlignHCenter | Qt::AlignVCenter ); pItem->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
pItem->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable ); pItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable);
ui.pTableWidgetPolicy->setItem( iRowIndex, 5, pItem ); ui.pTableWidgetPolicy->setItem(iRowIndex, 5, pItem);
//经办人名称 //经办人名称
pItem = new QTableWidgetItem( QString::fromLocal8Bit( m_vPolicy[iRowIndex].strSalerName.c_str()) ); pItem = new QTableWidgetItem(QString::fromLocal8Bit(m_vPolicy[iRowIndex].strSalerName.c_str()));
pItem->setTextAlignment( Qt::AlignHCenter | Qt::AlignVCenter ); pItem->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
pItem->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled ); pItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
ui.pTableWidgetPolicy->setItem( iRowIndex, 6, pItem ); ui.pTableWidgetPolicy->setItem(iRowIndex, 6, pItem);
//部门 //部门
pItem = new QTableWidgetItem( QString::fromLocal8Bit( m_vPolicy[iRowIndex].strSalerDeptName.c_str()) ); pItem = new QTableWidgetItem(QString::fromLocal8Bit(m_vPolicy[iRowIndex].strSalerDeptName.c_str()));
pItem->setTextAlignment( Qt::AlignHCenter | Qt::AlignVCenter ); pItem->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
pItem->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled ); pItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
ui.pTableWidgetPolicy->setItem( iRowIndex, 7, pItem ); ui.pTableWidgetPolicy->setItem(iRowIndex, 7, pItem);
//科室 //科室
pItem = new QTableWidgetItem( QString::fromLocal8Bit( m_vPolicy[iRowIndex].strSalerOfficeName.c_str()) ); pItem = new QTableWidgetItem(QString::fromLocal8Bit(m_vPolicy[iRowIndex].strSalerOfficeName.c_str()));
pItem->setTextAlignment( Qt::AlignHCenter | Qt::AlignVCenter ); pItem->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
pItem->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled ); pItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
ui.pTableWidgetPolicy->setItem( iRowIndex, 8, pItem ); ui.pTableWidgetPolicy->setItem(iRowIndex, 8, pItem);
} }
ui.pTableWidgetPolicy->resizeColumnsToContents(); ui.pTableWidgetPolicy->resizeColumnsToContents();
@ -167,20 +172,21 @@ void QRapidInputWidget::onSaveTelSalePolicy()
m_vErrorPolicy.clear(); m_vErrorPolicy.clear();
for ( vector<SPolicyRecord>::iterator iter = m_vPolicy.begin(); iter != m_vPolicy.end(); ++iter ) for (vector<SPolicyRecord>::iterator iter = m_vPolicy.begin(); iter != m_vPolicy.end(); ++iter)
{ {
try try
{ {
SaveTelSalePolicyInfo( *iter, vGifts ); SaveTelSalePolicyInfo(*iter, vGifts);
} }
catch( runtime_error &excpt ) catch (runtime_error& excpt)
{ {
m_vErrorPolicy.push_back( *iter ); m_vErrorPolicy.push_back(*iter);
QString strInfo = QString::fromLocal8Bit("保单") + QString::fromLocal8Bit( (*iter).strPolicySerial.c_str() ) + QString::fromLocal8Bit("保存错误!\n") + QString strInfo = QString::fromLocal8Bit("保单") + QString::fromLocal8Bit((*iter).strPolicySerial.c_str()) + QString::
QString::fromLocal8Bit("错误信息:") + QString::fromLocal8Bit( excpt.what() ); fromLocal8Bit("保存错误!\n") +
QString::fromLocal8Bit("错误信息:") + QString::fromLocal8Bit(excpt.what());
QMessageBox::critical( this, QString::fromLocal8Bit("保存错误"), strInfo ); QMessageBox::critical(this, QString::fromLocal8Bit("保存错误"), strInfo);
} }
} }
@ -200,20 +206,20 @@ void QRapidInputWidget::onCleanTable()
void QRapidInputWidget::onOpenFile() void QRapidInputWidget::onOpenFile()
{ {
QSettings reg( "HKEY_CURRENT_USER\\Software\\TelsalePolicyInfoManager", QSettings::NativeFormat); QSettings reg("HKEY_CURRENT_USER\\Software\\TelsalePolicyInfoManager", QSettings::NativeFormat);
QString strPath = reg.value( QString::fromLocal8Bit("打开地址") ).toString(); QString strPath = reg.value(QString::fromLocal8Bit("打开地址")).toString();
QStringList listFileNames = QFileDialog::getOpenFileNames( this, QStringList listFileNames = QFileDialog::getOpenFileNames(this,
QString::fromLocal8Bit("打开Excel文件"), QString::fromLocal8Bit("打开Excel文件"),
strPath, strPath,
QString::fromLocal8Bit("Excel文件 (*.xls *.xlsx)") ); QString::fromLocal8Bit("Excel文件 (*.xls *.xlsx)"));
//记录一下打开的路径 //记录一下打开的路径
if ( listFileNames.size() > 0 ) if (listFileNames.size() > 0)
{ {
strPath = listFileNames[0].left( listFileNames[0].lastIndexOf( QString::fromLocal8Bit("/") ) + 1 ); strPath = listFileNames[0].left(listFileNames[0].lastIndexOf(QString::fromLocal8Bit("/")) + 1);
reg.setValue( QString::fromLocal8Bit("打开地址"), strPath ); reg.setValue(QString::fromLocal8Bit("打开地址"), strPath);
} }
else else
{ {
@ -221,26 +227,31 @@ void QRapidInputWidget::onOpenFile()
} }
//正则表达式判断文件类型 //正则表达式判断文件类型
QRegularExpression regXlsx( QString::fromLocal8Bit(".xlsx$"), QRegularExpression::PatternOption::CaseInsensitiveOption ); QRegularExpression regXlsx(QString::fromLocal8Bit(".xlsx$"),
QRegularExpression regXls( QString::fromLocal8Bit(".xls$"), QRegularExpression::PatternOption::CaseInsensitiveOption ); QRegularExpression::PatternOption::CaseInsensitiveOption);
QRegularExpression regXls(QString::fromLocal8Bit(".xls$"),
QRegularExpression::PatternOption::CaseInsensitiveOption);
QRegularExpressionMatch match; QRegularExpressionMatch match;
strPath = listFileNames[0]; strPath = listFileNames[0];
//是xlsx文件 //是xlsx文件
match = regXlsx.match( strPath ); match = regXlsx.match(strPath);
if ( match.hasMatch() ) if (match.hasMatch())
{ {
readTelsaleXlsFile( strPath.toLocal8Bit().data(), m_vPolicy, ui.pCheckBoxHasTitle->isChecked(), true ); readTelsaleXlsxFile(strPath.toStdWString(), m_vPolicy, ui.pCheckBoxHasTitle->isChecked());
} }
//是xls文件 //是xls文件
match = regXls.match( strPath ); match = regXls.match(strPath);
if ( match.hasMatch() ) if (match.hasMatch())
{ {
readTelsaleXlsFile( strPath.toLocal8Bit().data(), m_vPolicy, ui.pCheckBoxHasTitle->isChecked(), false ); //readTelsaleXlsFile( strPath.toLocal8Bit().data(), m_vPolicy, ui.pCheckBoxHasTitle->isChecked(), false );
QMessageBox::critical(this,
QString::fromLocal8Bit("文件类型错误!"),
QString::fromLocal8Bit("文件格式需为Excel 2007及以后"));
} }

View File

@ -2,7 +2,7 @@
#define QRAPIDINPUTWIDGET_H #define QRAPIDINPUTWIDGET_H
#include <QtWidgets/QtWidgets> #include <QtWidgets/QtWidgets>
#include <QWidget> //#include <QWidget>
#include <vector> #include <vector>
#include "ui_QRapidInputWidget.h" #include "ui_QRapidInputWidget.h"
#include "DataManipulation.h" #include "DataManipulation.h"

View File

@ -2,7 +2,7 @@
#define QTELSALEPOLICYINFOINPUTWIDGET_H #define QTELSALEPOLICYINFOINPUTWIDGET_H
#include <vector> #include <vector>
#include <QWidget> #include <QtWidgets/QtWidgets>
#include "DataManipulation.h" #include "DataManipulation.h"
#include "ui_QTelSalePolicyInfoInputWidget.h" #include "ui_QTelSalePolicyInfoInputWidget.h"

View File

@ -2,7 +2,7 @@
#define QTELSALEPOLICYINFOQUERY_H #define QTELSALEPOLICYINFOQUERY_H
#include <vector> #include <vector>
#include <QWidget> #include <QtWidgets/QtWidgets>
#include "DataManipulation.h" #include "DataManipulation.h"
#include "ui_QTelSalePolicyInfoQuery.h" #include "ui_QTelSalePolicyInfoQuery.h"

View File

@ -42,7 +42,7 @@ wstring StringCodeConverter::mbs2unicode( const string &cstrSource )
if ( iConvertedCount == -1 ) if ( iConvertedCount == -1 )
{ {
delete [] pwszBuffer; delete [] pwszBuffer;
throw string( "mbs2unicode参数有非中英文字符" ); throw string( "mbs2unicode参数有非中英文字符" );
} }

View File

@ -15,7 +15,7 @@
#ifndef SystemData_h__ #ifndef SystemData_h__
#define SystemData_h__ #define SystemData_h__
#include <hash_map> #include <unordered_map>
#include <string> #include <string>
#include "Parameters.h" #include "Parameters.h"

View File

@ -5,7 +5,7 @@
#include <stdlib.h> #include <stdlib.h>
using namespace std; using namespace std;
using namespace StringCodeConverter; using namespace StringCodeConverter;
#ifndef _UNICODE #ifndef _UNICODE
@ -51,11 +51,11 @@ void CTelSalePolicyManager::Query( SPolicyQuery &policy, std::vector<SPolicyReco
SACommand command; SACommand command;
//生成查询字符串 //生成查询字符串
string strCommand; string strCommand;
strCommand.reserve( 1024 ); strCommand.reserve( 1024 );
strCommand.append( "select bdh, zhjywy, to_char(czrq, '%Y年%m月%d日') from w_dxbd_i where 1=1 and czrq >='" ); strCommand.append( "select bdh, zhjywy, to_char(czrq, '%Y年%m月%d日') from w_dxbd_i where 1=1 and czrq >='" );
strCommand += policy.strStartDate; strCommand += policy.strStartDate;
strCommand += "' and czrq <= '"; strCommand += "' and czrq <= '";
@ -239,18 +239,18 @@ void CTelSalePolicyManager::SavePolicy( const SPolicyRecord & policy,
{ {
if ( policy.strPolicySerial.empty() == true ) if ( policy.strPolicySerial.empty() == true )
{ {
throw invalid_argument( "保单号为空!" ); throw invalid_argument( "保单号为空!" );
} }
if ( policy.strSalerCode.empty() == true ) if ( policy.strSalerCode.empty() == true )
{ {
throw invalid_argument( "保单号为空!" ); throw invalid_argument( "保单号为空!" );
} }
ostringstream ostrCommand; ostringstream ostrCommand;
string strAutotraderCall; string strAutotraderCall;
//车店联呼 //车店联呼
if ( policy.bIsAutotraderCall == true ) if ( policy.bIsAutotraderCall == true )
{ {
strAutotraderCall = "1"; strAutotraderCall = "1";
@ -324,12 +324,12 @@ void CTelSalePolicyManager::SavePolicy( const SPolicyRecord & policy,
g_cszUserNameYwgl, g_cszUserNameYwgl,
g_cszPasswordYwgl, g_cszPasswordYwgl,
SA_Informix_Client ); SA_Informix_Client );
//conn.setAutoCommit( SA_AutoCommitOff ); //导致锁表 //conn.setAutoCommit( SA_AutoCommitOff ); //导致锁表
//保存保单 //保存保单
command.Execute(); command.Execute();
//保存礼品列表,先删除旧数据 //保存礼品列表,先删除旧数据
command.setCommandText( "delete w_dxbd_gift_i where bdh = :1 " ); command.setCommandText( "delete w_dxbd_gift_i where bdh = :1 " );
command.Param( 1 ).setAsString() = policy.strPolicySerial.c_str(); command.Param( 1 ).setAsString() = policy.strPolicySerial.c_str();
command.Execute(); command.Execute();
@ -427,7 +427,7 @@ void CTelSalePolicyManager::SavePolicyGift( const string & strPolicyNo, const ve
if ( giftsList.empty() ) if ( giftsList.empty() )
{ {
throw invalid_argument( "礼品列表为空!" ); throw invalid_argument( "礼品列表为空!" );
} }
SAConnection conn; SAConnection conn;
@ -478,12 +478,12 @@ string getCellString( ISheetT<wchar_t> *pSheet, int iRowIndex, int iColIndex )
switch ( celltype ) switch ( celltype )
{ {
case CELLTYPE_STRING: case CELLTYPE_STRING:
//字符串 //字符串
strCell = unicode2mbs( pSheet->readStr( iRowIndex, iColIndex ) ); strCell = unicode2mbs( pSheet->readStr( iRowIndex, iColIndex ) );
break; break;
case CELLTYPE_NUMBER: case CELLTYPE_NUMBER:
//数字 //数字
iCellValue = pSheet->readNum( iRowIndex, iColIndex ); iCellValue = pSheet->readNum( iRowIndex, iColIndex );
sprintf( pszNumber,"%d", iCellValue ); sprintf( pszNumber,"%d", iCellValue );

View File

@ -1,7 +1,7 @@
#include "check.h" #include "check.h"
hash_map<string, string> parameters; //存放参数的hashmap unordered_map<string, string> parameters; //存放参数的hashmap
//版本号 //版本号
const string cstrVersion = "0.99"; const string cstrVersion = "0.99";
@ -13,7 +13,7 @@ string strUserPassword;
bool checkVersion() bool checkVersion()
{ {
bool result = false; bool result = false;
hash_map<string,string>::iterator iter = parameters.find( string("版本号") ); unordered_map<string,string>::iterator iter = parameters.find( string("版本号") );
if ( iter != parameters.end() && iter->second == cstrVersion ) if ( iter != parameters.end() && iter->second == cstrVersion )
{ {

View File

@ -2,12 +2,12 @@
#ifndef check_h__ #ifndef check_h__
#define check_h__ #define check_h__
#include <hash_map>
#include <string> #include <string>
#include <unordered_map>
using namespace std; using namespace std;
extern hash_map<string, string> parameters; extern unordered_map<string, string> parameters;
bool checkVersion(); bool checkVersion();

View File

@ -1,5 +1,5 @@
//#include <QTextCodec> //#include <QTextCodec>
#include <QString>
#include <QtWidgets/QtWidgets> #include <QtWidgets/QtWidgets>
#include <QtWidgets/QApplication> #include <QtWidgets/QApplication>
#include <exception> #include <exception>