重构
This commit is contained in:
		@@ -167,9 +167,11 @@
 | 
				
			|||||||
  <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>
 | 
					    <LibraryPath>D:\develop\sdk\cpp\Qt\qt_5.10.1\5.10.1\msvc2017_64\lib;$(LibraryPath)</LibraryPath>
 | 
				
			||||||
 | 
					    <IncludePath>$(QTDIR)\include;$(QTDIR)\include\QtCore;$(IncludePath)</IncludePath>
 | 
				
			||||||
  </PropertyGroup>
 | 
					  </PropertyGroup>
 | 
				
			||||||
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
 | 
					  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
 | 
				
			||||||
    <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
 | 
					    <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
 | 
				
			||||||
 | 
					    <IncludePath>$(QTDIR)\include;$(QTDIR)\include\QtCore;$(IncludePath)</IncludePath>
 | 
				
			||||||
  </PropertyGroup>
 | 
					  </PropertyGroup>
 | 
				
			||||||
  <Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
 | 
					  <Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
 | 
				
			||||||
    <Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
 | 
					    <Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,3 @@
 | 
				
			|||||||
 | 
					 | 
				
			||||||
#include <SQLAPI.h>
 | 
					#include <SQLAPI.h>
 | 
				
			||||||
#include <string>
 | 
					#include <string>
 | 
				
			||||||
#include <sstream>
 | 
					#include <sstream>
 | 
				
			||||||
@@ -10,17 +9,17 @@
 | 
				
			|||||||
#include "StringCodeConverter.h"
 | 
					#include "StringCodeConverter.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#pragma comment( lib, "user32.lib")
 | 
					//#pragma comment( lib, "user32.lib")
 | 
				
			||||||
#pragma comment( lib, "version.lib")
 | 
					//#pragma comment( lib, "version.lib")
 | 
				
			||||||
#pragma comment( lib, "oleaut32.lib")
 | 
					//#pragma comment( lib, "oleaut32.lib")
 | 
				
			||||||
#pragma comment( lib, "ole32.lib")
 | 
					//#pragma comment( lib, "ole32.lib")
 | 
				
			||||||
#pragma comment( lib, "libxl.lib")
 | 
					//#pragma comment( lib, "libxl.lib")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef _DEBUG
 | 
					// #ifdef _DEBUG
 | 
				
			||||||
#pragma comment( lib, "sqlapisd.lib")
 | 
					// #pragma comment( lib, "sqlapisd.lib")
 | 
				
			||||||
#else
 | 
					// #else
 | 
				
			||||||
#pragma comment( lib, "sqlapis.lib")
 | 
					// #pragma comment( lib, "sqlapis.lib")
 | 
				
			||||||
#endif
 | 
					// #endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const char g_cszConnectStringIDS6[] =
 | 
					const char g_cszConnectStringIDS6[] =
 | 
				
			||||||
		"DRIVER={};"
 | 
							"DRIVER={};"
 | 
				
			||||||
@@ -46,62 +45,61 @@ const static char g_cszConnstringYwgl[] =
 | 
				
			|||||||
const static char g_cszUserNameYwgl[] = "ccx99";
 | 
					const static char g_cszUserNameYwgl[] = "ccx99";
 | 
				
			||||||
const static char g_cszPasswordYwgl[] = "c92IT09";
 | 
					const static char g_cszPasswordYwgl[] = "c92IT09";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void queryTelsalePolicyGifts( vector<TelSalePolicyGift> &giftList )
 | 
					void queryTelsalePolicyGifts(vector<TelSalePolicyGift>& giftList)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	SAConnection connection;
 | 
						SAConnection connection;
 | 
				
			||||||
	SACommand    command;
 | 
						SACommand    command;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	string strSQL = "select id, trim(name), default_price from w_dx_gifts";
 | 
						string strSQL = "select id, trim(name), default_price from w_dx_gifts";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	command.setConnection( &connection );
 | 
						command.setConnection(&connection);
 | 
				
			||||||
	command.setCommandText( strSQL.c_str() );
 | 
						command.setCommandText(strSQL.c_str());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	try
 | 
						try
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		connection.Connect(
 | 
							connection.Connect(g_cszConnstringYwgl,
 | 
				
			||||||
			g_cszConnstringYwgl,
 | 
					 | 
				
			||||||
		                   g_cszUserNameYwgl,
 | 
							                   g_cszUserNameYwgl,
 | 
				
			||||||
		                   g_cszPasswordYwgl,
 | 
							                   g_cszPasswordYwgl,
 | 
				
			||||||
			SA_Informix_Client );
 | 
							                   SA_Informix_Client);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		command.Execute();
 | 
							command.Execute();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	catch ( SAException &error )
 | 
						catch (SAException& error)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		throw runtime_error( error.ErrText() );
 | 
							throw runtime_error(error.ErrText());
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	while ( command.FetchNext() )
 | 
						while (command.FetchNext())
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		TelSalePolicyGift gift;
 | 
							TelSalePolicyGift gift;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		gift.Id( command.Field(1).asLong() );
 | 
							gift.Id(command.Field(1).asLong());
 | 
				
			||||||
		gift.GiftName( (const char *)(command.Field(2).asString()) );
 | 
							gift.GiftName((const char *)(command.Field(2).asString()));
 | 
				
			||||||
		gift.GiftDefaultPrice( (const char *)(command.Field(3).asString()) );
 | 
							gift.GiftDefaultPrice((const char *)(command.Field(3).asString()));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		giftList.push_back( gift );
 | 
							giftList.push_back(gift);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	connection.Disconnect();
 | 
						connection.Disconnect();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void SaveTelSalePolicyInfo(const SPolicyRecord & policy, const vector<TelSalePolicyGift> & giftList)
 | 
					void SaveTelSalePolicyInfo(const SPolicyRecord& policy, const vector<TelSalePolicyGift>& giftList)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	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";
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -110,7 +108,8 @@ void SaveTelSalePolicyInfo(const SPolicyRecord & policy, const vector<TelSalePol
 | 
				
			|||||||
		strAutotraderCall = "0";
 | 
							strAutotraderCall = "0";
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ostrCommand << "insert into w_dxbd_i ( jjbj, khjl, khjllx, bdh, zhjywy, zhjywymc, zhjywybm, zhjywybmm, kshdm, kshmc, czydm, czrq , chdlh, chshdm, chshmc, khmc, chph, chjh, fdjh ) "
 | 
						ostrCommand <<
 | 
				
			||||||
 | 
								"insert into w_dxbd_i ( jjbj, khjl, khjllx, bdh, zhjywy, zhjywymc, zhjywybm, zhjywybmm, kshdm, kshmc, czydm, czrq , chdlh, chshdm, chshmc, khmc, chph, chjh, fdjh ) "
 | 
				
			||||||
			"values( 1, 0, 0, "
 | 
								"values( 1, 0, 0, "
 | 
				
			||||||
			<< "trim('" << policy.strPolicySerial << "'), "
 | 
								<< "trim('" << policy.strPolicySerial << "'), "
 | 
				
			||||||
			<< "trim('" << policy.strSalerCode << "'), "
 | 
								<< "trim('" << policy.strSalerCode << "'), "
 | 
				
			||||||
@@ -123,7 +122,7 @@ void SaveTelSalePolicyInfo(const SPolicyRecord & policy, const vector<TelSalePol
 | 
				
			|||||||
			<< "today, "
 | 
								<< "today, "
 | 
				
			||||||
			<< "'" << strAutotraderCall << "'";
 | 
								<< "'" << strAutotraderCall << "'";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ( policy.strAutoTraderCode.empty() == false )
 | 
						if (policy.strAutoTraderCode.empty() == false)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		ostrCommand << ", '" << policy.strAutoTraderCode << "'";
 | 
							ostrCommand << ", '" << policy.strAutoTraderCode << "'";
 | 
				
			||||||
		ostrCommand << ", '" << policy.strAutoTraderName << "'";
 | 
							ostrCommand << ", '" << policy.strAutoTraderName << "'";
 | 
				
			||||||
@@ -133,7 +132,7 @@ void SaveTelSalePolicyInfo(const SPolicyRecord & policy, const vector<TelSalePol
 | 
				
			|||||||
		ostrCommand << ", NULL, NULL";
 | 
							ostrCommand << ", NULL, NULL";
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ( policy.strCustomerName.empty() == false )
 | 
						if (policy.strCustomerName.empty() == false)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		ostrCommand << ", '" << policy.strCustomerName << "'";
 | 
							ostrCommand << ", '" << policy.strCustomerName << "'";
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -142,7 +141,7 @@ void SaveTelSalePolicyInfo(const SPolicyRecord & policy, const vector<TelSalePol
 | 
				
			|||||||
		ostrCommand << ", NULL";
 | 
							ostrCommand << ", NULL";
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ( policy.strPlateSerial.empty() == false )
 | 
						if (policy.strPlateSerial.empty() == false)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		ostrCommand << ", '" << policy.strPlateSerial << "'";
 | 
							ostrCommand << ", '" << policy.strPlateSerial << "'";
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -151,7 +150,7 @@ void SaveTelSalePolicyInfo(const SPolicyRecord & policy, const vector<TelSalePol
 | 
				
			|||||||
		ostrCommand << ", NULL";
 | 
							ostrCommand << ", NULL";
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ( policy.strFrameSerial.empty() == false )
 | 
						if (policy.strFrameSerial.empty() == false)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		ostrCommand << ", '" << policy.strFrameSerial << "'";
 | 
							ostrCommand << ", '" << policy.strFrameSerial << "'";
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -160,7 +159,7 @@ void SaveTelSalePolicyInfo(const SPolicyRecord & policy, const vector<TelSalePol
 | 
				
			|||||||
		ostrCommand << ", NULL";
 | 
							ostrCommand << ", NULL";
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ( policy.strEngineSerial.empty() == false )
 | 
						if (policy.strEngineSerial.empty() == false)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		ostrCommand << ", '" << policy.strEngineSerial << "'";
 | 
							ostrCommand << ", '" << policy.strEngineSerial << "'";
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -176,8 +175,8 @@ void SaveTelSalePolicyInfo(const SPolicyRecord & policy, const vector<TelSalePol
 | 
				
			|||||||
	SAConnection conn;
 | 
						SAConnection conn;
 | 
				
			||||||
	SACommand    command;
 | 
						SACommand    command;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	command.setConnection( &conn );
 | 
						command.setConnection(&conn);
 | 
				
			||||||
	command.setCommandText( strCommand.c_str() );
 | 
						command.setCommandText(strCommand.c_str());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	try
 | 
						try
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
@@ -185,46 +184,46 @@ void SaveTelSalePolicyInfo(const SPolicyRecord & policy, const vector<TelSalePol
 | 
				
			|||||||
		             g_cszConnstringYwgl,
 | 
							             g_cszConnstringYwgl,
 | 
				
			||||||
		             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();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		command.setCommandText( "insert into w_dxbd_gift_i ( bdh, gift_name, gift_price ) values ( :1, :2, :3 )" );
 | 
							command.setCommandText("insert into w_dxbd_gift_i ( bdh, gift_name, gift_price ) values ( :1, :2, :3 )");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		for ( vector<TelSalePolicyGift>::const_iterator iter = giftList.begin(); iter != giftList.end(); ++iter )
 | 
							for (vector<TelSalePolicyGift>::const_iterator iter = giftList.begin(); iter != giftList.end(); ++iter)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			command.Param( 1 ).setAsString() = policy.strPolicySerial.c_str();
 | 
								command.Param(1).setAsString() = policy.strPolicySerial.c_str();
 | 
				
			||||||
			command.Param( 2 ).setAsString() = iter->GiftName().c_str();
 | 
								command.Param(2).setAsString() = iter->GiftName().c_str();
 | 
				
			||||||
			command.Param( 3 ).setAsString() = iter->GiftDefaultPrice().c_str();
 | 
								command.Param(3).setAsString() = iter->GiftDefaultPrice().c_str();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			command.Execute();
 | 
								command.Execute();
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		conn.Commit();
 | 
							conn.Commit();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	catch ( SAException &error )
 | 
						catch (SAException& error)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		conn.Rollback();
 | 
							conn.Rollback();
 | 
				
			||||||
		conn.Disconnect();
 | 
							conn.Disconnect();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		throw runtime_error( error.ErrText() );
 | 
							throw runtime_error(error.ErrText());
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	conn.Disconnect();
 | 
						conn.Disconnect();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void QueryTelSalePolicyInfo( const string & strPolicyNo, 
 | 
					void QueryTelSalePolicyInfo(const string&         strPolicyNo,
 | 
				
			||||||
	                         const string & strOperatorCode, 
 | 
					                            const string&         strOperatorCode,
 | 
				
			||||||
							 const string & strStartDate, 
 | 
					                            const string&         strStartDate,
 | 
				
			||||||
							 const string & strEndDate, 
 | 
					                            const string&         strEndDate,
 | 
				
			||||||
							 vector<SPolicyQuery> & vPolicyInfo )
 | 
					                            vector<SPolicyQuery>& vPolicyInfo)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	SACommand    command;
 | 
						SACommand    command;
 | 
				
			||||||
	SAConnection connection;
 | 
						SAConnection connection;
 | 
				
			||||||
@@ -235,48 +234,48 @@ void QueryTelSalePolicyInfo( const string & strPolicyNo,
 | 
				
			|||||||
			"  from w_dxbd_i "
 | 
								"  from w_dxbd_i "
 | 
				
			||||||
			" where 1=1 ";
 | 
								" where 1=1 ";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ( !strPolicyNo.empty() )
 | 
						if (!strPolicyNo.empty())
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		strSQL.append( "and bdh = '" );
 | 
							strSQL.append("and bdh = '");
 | 
				
			||||||
		strSQL.append( strPolicyNo );
 | 
							strSQL.append(strPolicyNo);
 | 
				
			||||||
		strSQL.append( "' " );
 | 
							strSQL.append("' ");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ( !strOperatorCode.empty() )
 | 
						if (!strOperatorCode.empty())
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		strSQL.append( "and czydm = '" );
 | 
							strSQL.append("and czydm = '");
 | 
				
			||||||
		strSQL.append( strOperatorCode );
 | 
							strSQL.append(strOperatorCode);
 | 
				
			||||||
		strSQL.append( "' " );
 | 
							strSQL.append("' ");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ( !strStartDate.empty() )
 | 
						if (!strStartDate.empty())
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		strSQL.append( "and czrq >= '" );
 | 
							strSQL.append("and czrq >= '");
 | 
				
			||||||
		strSQL.append( strStartDate );
 | 
							strSQL.append(strStartDate);
 | 
				
			||||||
		strSQL.append( "' " );
 | 
							strSQL.append("' ");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ( !strEndDate.empty() )
 | 
						if (!strEndDate.empty())
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		strSQL.append( "and czrq <= '" );
 | 
							strSQL.append("and czrq <= '");
 | 
				
			||||||
		strSQL.append( strEndDate );
 | 
							strSQL.append(strEndDate);
 | 
				
			||||||
		strSQL.append( "' " );
 | 
							strSQL.append("' ");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	try
 | 
						try
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		command.setCommandText( strSQL.c_str() );
 | 
							command.setCommandText(strSQL.c_str());
 | 
				
			||||||
		command.setConnection( &connection );
 | 
							command.setConnection(&connection);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		connection.Connect(
 | 
							connection.Connect(
 | 
				
			||||||
		                   g_cszConnstringYwgl,
 | 
							                   g_cszConnstringYwgl,
 | 
				
			||||||
		                   g_cszUserNameYwgl,
 | 
							                   g_cszUserNameYwgl,
 | 
				
			||||||
		                   g_cszPasswordYwgl,
 | 
							                   g_cszPasswordYwgl,
 | 
				
			||||||
			SA_Informix_Client );
 | 
							                   SA_Informix_Client);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		command.Execute();
 | 
							command.Execute();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		while ( command.FetchNext() )
 | 
							while (command.FetchNext())
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			policy.strPolicySerial   = command.Field("bdh").asString();
 | 
								policy.strPolicySerial   = command.Field("bdh").asString();
 | 
				
			||||||
			policy.strSalerCode      = command.Field("zhjywy").asString();
 | 
								policy.strSalerCode      = command.Field("zhjywy").asString();
 | 
				
			||||||
@@ -287,20 +286,20 @@ void QueryTelSalePolicyInfo( const string & strPolicyNo,
 | 
				
			|||||||
			policy.strInputDate      = command.Field("czrq").asString();
 | 
								policy.strInputDate      = command.Field("czrq").asString();
 | 
				
			||||||
			policy.strCDLH           = command.Field("chdlh").asString();
 | 
								policy.strCDLH           = command.Field("chdlh").asString();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			QueryPolicyGifts( policy.strPolicySerial, policy.strGifts, policy.dGiftPriceSum );
 | 
								QueryPolicyGifts(policy.strPolicySerial, policy.strGifts, policy.dGiftPriceSum);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			vPolicyInfo.push_back( policy );
 | 
								vPolicyInfo.push_back(policy);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		connection.Disconnect();
 | 
							connection.Disconnect();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	catch ( SAException & error )
 | 
						catch (SAException& error)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		throw runtime_error( error.ErrText() );
 | 
							throw runtime_error(error.ErrText());
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void QueryPolicyGifts(const string & strPolicyNo, string & strGifts, double dGiftPriceSum )
 | 
					void QueryPolicyGifts(const string& strPolicyNo, string& strGifts, double dGiftPriceSum)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	SAConnection connection;
 | 
						SAConnection connection;
 | 
				
			||||||
	SACommand    command;
 | 
						SACommand    command;
 | 
				
			||||||
@@ -317,30 +316,30 @@ void QueryPolicyGifts(const string & strPolicyNo, string & strGifts, double dGif
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	try
 | 
						try
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		command.setConnection( &connection );
 | 
							command.setConnection(&connection);
 | 
				
			||||||
		command.setCommandText( strSQL.c_str() );
 | 
							command.setCommandText(strSQL.c_str());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		connection.Connect( g_cszConnstringYwgl,
 | 
							connection.Connect(g_cszConnstringYwgl,
 | 
				
			||||||
		                   g_cszUserNameYwgl,
 | 
							                   g_cszUserNameYwgl,
 | 
				
			||||||
		                   g_cszPasswordYwgl,
 | 
							                   g_cszPasswordYwgl,
 | 
				
			||||||
							SA_Informix_Client );
 | 
							                   SA_Informix_Client);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		command.Execute();
 | 
							command.Execute();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		strGifts.clear();
 | 
							strGifts.clear();
 | 
				
			||||||
		dGiftPriceSum = 0.0;
 | 
							dGiftPriceSum = 0.0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		while ( command.FetchNext() )
 | 
							while (command.FetchNext())
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			if ( !strGifts.empty() )
 | 
								if (!strGifts.empty())
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				strGifts.append( "; " );
 | 
									strGifts.append("; ");
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			strGifts.append( command.Field("gift_name").asString() );
 | 
								strGifts.append(command.Field("gift_name").asString());
 | 
				
			||||||
			strGifts.append( " " );
 | 
								strGifts.append(" ");
 | 
				
			||||||
			strGifts.append( command.Field("gift_price").asString() );
 | 
								strGifts.append(command.Field("gift_price").asString());
 | 
				
			||||||
			strGifts.append( "元" );
 | 
								strGifts.append("元");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			dGiftPriceSum += command.Field("gift_price").asDouble();
 | 
								dGiftPriceSum += command.Field("gift_price").asDouble();
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@@ -355,9 +354,9 @@ void QueryPolicyGifts(const string & strPolicyNo, string & strGifts, double dGif
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		connection.Disconnect();
 | 
							connection.Disconnect();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	catch ( SAException & error )
 | 
						catch (SAException& error)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		throw runtime_error( error.ErrText() );
 | 
							throw runtime_error(error.ErrText());
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -451,29 +450,29 @@ void QueryPolicyGifts(const string & strPolicyNo, string & strGifts, double dGif
 | 
				
			|||||||
	pBook->release();
 | 
						pBook->release();
 | 
				
			||||||
}*/
 | 
					}*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
string readXlsCell(ISheetT<char> * pSheet, int iRowIndex, int iColIndex)
 | 
					string readXlsCell(ISheetT<char>* pSheet, int iRowIndex, int iColIndex)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	string strCell;
 | 
						string strCell;
 | 
				
			||||||
	char   szNum[40];
 | 
						char   szNum[40];
 | 
				
			||||||
	int    iCell;
 | 
						int    iCell;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ( pSheet == NULL )
 | 
						if (pSheet == NULL)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		throw string("");
 | 
							throw string("");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	CellType cellType = pSheet->cellType( iRowIndex, iColIndex );
 | 
						CellType cellType = pSheet->cellType(iRowIndex, iColIndex);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	switch( cellType )
 | 
						switch (cellType)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		case libxl::CELLTYPE_STRING:
 | 
							case libxl::CELLTYPE_STRING:
 | 
				
			||||||
		strCell = pSheet->readStr( iRowIndex, iColIndex );
 | 
								strCell = pSheet->readStr(iRowIndex, iColIndex);
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
		case libxl::CELLTYPE_NUMBER:
 | 
							case libxl::CELLTYPE_NUMBER:
 | 
				
			||||||
		memset( szNum, NULL, 40 );
 | 
								memset(szNum, NULL, 40);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		iCell = pSheet->readNum( iRowIndex, iColIndex );
 | 
								iCell = pSheet->readNum(iRowIndex, iColIndex);
 | 
				
			||||||
		sprintf( szNum, "%d", iCell );
 | 
								sprintf_s(szNum, "%d", iCell);
 | 
				
			||||||
			strCell = szNum;
 | 
								strCell = szNum;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
@@ -484,7 +483,7 @@ string readXlsCell(ISheetT<char> * pSheet, int iRowIndex, int iColIndex)
 | 
				
			|||||||
	return strCell;
 | 
						return strCell;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
string readXlsxCell(ISheetT<wchar_t> * pSheet, int iRowIndex, int iColIndex)
 | 
					string readXlsxCell(ISheetT<wchar_t>* pSheet, int iRowIndex, int iColIndex)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	wstring strCell;
 | 
						wstring strCell;
 | 
				
			||||||
	string  strReturn;
 | 
						string  strReturn;
 | 
				
			||||||
@@ -492,23 +491,23 @@ string readXlsxCell(ISheetT<wchar_t> * pSheet, int iRowIndex, int iColIndex)
 | 
				
			|||||||
	char szNum[40];
 | 
						char szNum[40];
 | 
				
			||||||
	int  iCell;
 | 
						int  iCell;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ( pSheet == NULL )
 | 
						if (pSheet == NULL)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		throw string("");
 | 
							throw string("");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	CellType cellType = pSheet->cellType( iRowIndex, iColIndex );
 | 
						CellType cellType = pSheet->cellType(iRowIndex, iColIndex);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	switch( cellType )
 | 
						switch (cellType)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		case libxl::CELLTYPE_STRING:
 | 
							case libxl::CELLTYPE_STRING:
 | 
				
			||||||
		strCell = pSheet->readStr( iRowIndex, iColIndex );
 | 
								strCell = pSheet->readStr(iRowIndex, iColIndex);
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
		case libxl::CELLTYPE_NUMBER:
 | 
							case libxl::CELLTYPE_NUMBER:
 | 
				
			||||||
		memset( szNum, NULL, 40 );
 | 
								memset(szNum, NULL, 40);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		iCell = pSheet->readNum( iRowIndex, iColIndex );
 | 
								iCell = pSheet->readNum(iRowIndex, iColIndex);
 | 
				
			||||||
		sprintf( szNum, "%d", iCell );
 | 
								sprintf_s(szNum, "%d", iCell);
 | 
				
			||||||
			strReturn = szNum;
 | 
								strReturn = szNum;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
@@ -516,15 +515,15 @@ string readXlsxCell(ISheetT<wchar_t> * pSheet, int iRowIndex, int iColIndex)
 | 
				
			|||||||
			strReturn = "";
 | 
								strReturn = "";
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	StringCodeConverter::unicode2mbs( strCell, strReturn );
 | 
						StringCodeConverter::unicode2mbs(strCell, strReturn);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return strReturn;
 | 
						return strReturn;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void readTelsaleXlsxFile( const wstring & filePath, 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;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	int iRowCount = 0;
 | 
						int iRowCount = 0;
 | 
				
			||||||
	int iRowIndex = 0;
 | 
						int iRowIndex = 0;
 | 
				
			||||||
@@ -532,51 +531,51 @@ void readTelsaleXlsxFile( const wstring & filePath, vector<SPolicyRecord> & list
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	pBook = xlCreateXMLBookW();
 | 
						pBook = xlCreateXMLBookW();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ( pBook == NULL )
 | 
						if (pBook == NULL)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		throw string("");
 | 
							throw string("");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ( pBook->load( filePath.data() ) == false )
 | 
						if (pBook->load(filePath.data()) == false)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		throw string("打开文件失败!" );
 | 
							throw string("打开文件失败!");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	pSheet = pBook->getSheet( 0 );
 | 
						pSheet = pBook->getSheet(0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ( pSheet == NULL )
 | 
						if (pSheet == NULL)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		throw string( "读取sheet失败!" );
 | 
							throw string("读取sheet失败!");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	iRowCount = pSheet->lastRow();
 | 
						iRowCount = pSheet->lastRow();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ( hasTitle == true )
 | 
						if (hasTitle == true)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		iRowIndex = 1;
 | 
							iRowIndex = 1;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	//读取数据
 | 
						//读取数据
 | 
				
			||||||
	while ( iRowIndex < iRowCount )
 | 
						while (iRowIndex < iRowCount)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		SPolicyRecord policy;
 | 
							SPolicyRecord policy;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		CellType type = pSheet->cellType( iRowIndex, 4 );
 | 
							CellType type = pSheet->cellType(iRowIndex, 4);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		policy.strSignDate     = readXlsxCell( pSheet, iRowIndex, 0 );
 | 
							policy.strSignDate       = readXlsxCell(pSheet, iRowIndex, 0);
 | 
				
			||||||
		policy.strPolicySerial = readXlsxCell( pSheet, iRowIndex, 1 );
 | 
							policy.strPolicySerial   = readXlsxCell(pSheet, iRowIndex, 1);
 | 
				
			||||||
		policy.strPlateSerial  = readXlsxCell( pSheet, iRowIndex, 2 );
 | 
							policy.strPlateSerial    = readXlsxCell(pSheet, iRowIndex, 2);
 | 
				
			||||||
		policy.strCustomerName = readXlsxCell( pSheet, iRowIndex, 3 );
 | 
							policy.strCustomerName   = readXlsxCell(pSheet, iRowIndex, 3);
 | 
				
			||||||
		policy.strSalerCode    = readXlsxCell( pSheet, iRowIndex, 4 );
 | 
							policy.strSalerCode      = readXlsxCell(pSheet, iRowIndex, 4);
 | 
				
			||||||
		policy.strAutoTraderName = readXlsxCell( pSheet, iRowIndex, 6 );
 | 
							policy.strAutoTraderName = readXlsxCell(pSheet, iRowIndex, 6);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		//补齐工号
 | 
							//补齐工号
 | 
				
			||||||
		if ( policy.strSalerCode.length() == 1 )
 | 
							if (policy.strSalerCode.length() == 1)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			policy.strSalerCode = string("00") + policy.strSalerCode;
 | 
								policy.strSalerCode = string("00") + policy.strSalerCode;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if ( policy.strSalerCode.length() == 2 )
 | 
							if (policy.strSalerCode.length() == 2)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			policy.strSalerCode = string("0") + policy.strSalerCode;
 | 
								policy.strSalerCode = string("0") + policy.strSalerCode;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@@ -589,14 +588,12 @@ void readTelsaleXlsxFile( const wstring & filePath, vector<SPolicyRecord> & list
 | 
				
			|||||||
		               policy.strSalerDeptCode,
 | 
							               policy.strSalerDeptCode,
 | 
				
			||||||
		               policy.strSalerDeptName,
 | 
							               policy.strSalerDeptName,
 | 
				
			||||||
		               policy.strSalerOfficeCode,
 | 
							               policy.strSalerOfficeCode,
 | 
				
			||||||
			policy.strSalerOfficeName );
 | 
							               policy.strSalerOfficeName);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		listPolicy.push_back( policy );
 | 
							listPolicy.push_back(policy);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		iRowIndex++;
 | 
							iRowIndex++;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	pBook->release();
 | 
						pBook->release();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,6 +17,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include <libxl.h>
 | 
					#include <libxl.h>
 | 
				
			||||||
#include <string>
 | 
					#include <string>
 | 
				
			||||||
 | 
					#include <QtCore/QString>
 | 
				
			||||||
#include <vector>
 | 
					#include <vector>
 | 
				
			||||||
#include <unordered_map>
 | 
					#include <unordered_map>
 | 
				
			||||||
#include "SystemData.h"
 | 
					#include "SystemData.h"
 | 
				
			||||||
@@ -24,6 +25,7 @@
 | 
				
			|||||||
using namespace std;
 | 
					using namespace std;
 | 
				
			||||||
using namespace libxl;
 | 
					using namespace libxl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//准备废弃
 | 
				
			||||||
typedef struct
 | 
					typedef struct
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	string strPolicySerial;
 | 
						string strPolicySerial;
 | 
				
			||||||
@@ -45,6 +47,29 @@ typedef struct
 | 
				
			|||||||
	bool   bIsAutotraderCall;
 | 
						bool   bIsAutotraderCall;
 | 
				
			||||||
}          SPolicyRecord;
 | 
					}          SPolicyRecord;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class PolicyRecord
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					private:
 | 
				
			||||||
 | 
						QString policySerial;
 | 
				
			||||||
 | 
						QString signDate;
 | 
				
			||||||
 | 
						QString salerCode;
 | 
				
			||||||
 | 
						QString salerName;
 | 
				
			||||||
 | 
						QString salerDeptCode;
 | 
				
			||||||
 | 
						QString salerDeptName;
 | 
				
			||||||
 | 
						QString salerOfficeCode;
 | 
				
			||||||
 | 
						QString salerOfficeName;
 | 
				
			||||||
 | 
						QString autoTraderCode;
 | 
				
			||||||
 | 
						QString autoTraderName;
 | 
				
			||||||
 | 
						QString customerName;
 | 
				
			||||||
 | 
						QString plateSerial;
 | 
				
			||||||
 | 
						QString frameSerial;
 | 
				
			||||||
 | 
						QString engineSerial;
 | 
				
			||||||
 | 
						QString operatorDate;
 | 
				
			||||||
 | 
						QString operatorCode;
 | 
				
			||||||
 | 
						bool    isAutotraderCall;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//准备废弃
 | 
				
			||||||
typedef struct
 | 
					typedef struct
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	string strPolicySerial;
 | 
						string strPolicySerial;
 | 
				
			||||||
@@ -62,8 +87,15 @@ typedef struct
 | 
				
			|||||||
class TelSalePolicyGift
 | 
					class TelSalePolicyGift
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
	TelSalePolicyGift() {};
 | 
						TelSalePolicyGift()
 | 
				
			||||||
	TelSalePolicyGift( int id, string & name, string & defaultPrice ) : m_id( id ), m_giftName( name ), m_giftDefaultPrice( defaultPrice ) {}
 | 
						{
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						TelSalePolicyGift(int id, const string & name, const string & defaultPrice) : m_id(id),
 | 
				
			||||||
 | 
						                                                                              m_giftName(name),
 | 
				
			||||||
 | 
						                                                                              m_giftDefaultPrice(defaultPrice)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	inline int Id() const { return m_id; }
 | 
						inline int Id() const { return m_id; }
 | 
				
			||||||
	void       Id(int val) { m_id = val; }
 | 
						void       Id(int val) { m_id = val; }
 | 
				
			||||||
@@ -81,7 +113,6 @@ private:
 | 
				
			|||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
//************************************
 | 
					//************************************
 | 
				
			||||||
// Method:    queryTelsalePolicyGifts
 | 
					// Method:    queryTelsalePolicyGifts
 | 
				
			||||||
// FullName:  queryTelsalePolicyGifts
 | 
					// FullName:  queryTelsalePolicyGifts
 | 
				
			||||||
@@ -90,7 +121,7 @@ private:
 | 
				
			|||||||
// Qualifier: 查询礼品信息
 | 
					// Qualifier: 查询礼品信息
 | 
				
			||||||
// Parameter: vector<TelSalePolicyGift> & giftList 礼品列表
 | 
					// Parameter: vector<TelSalePolicyGift> & giftList 礼品列表
 | 
				
			||||||
//************************************
 | 
					//************************************
 | 
				
			||||||
void queryTelsalePolicyGifts( vector<TelSalePolicyGift> &giftList );
 | 
					void queryTelsalePolicyGifts(vector<TelSalePolicyGift> & giftList);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//************************************
 | 
					//************************************
 | 
				
			||||||
// Method:    SaveTelSalePolicyInfo
 | 
					// Method:    SaveTelSalePolicyInfo
 | 
				
			||||||
@@ -101,7 +132,7 @@ void queryTelsalePolicyGifts( vector<TelSalePolicyGift> &giftList );
 | 
				
			|||||||
// Parameter: const SPolicyRecord & policy
 | 
					// Parameter: const SPolicyRecord & policy
 | 
				
			||||||
// Parameter: const vector<TelSalePolicyGift> & giftList
 | 
					// Parameter: const vector<TelSalePolicyGift> & giftList
 | 
				
			||||||
//************************************
 | 
					//************************************
 | 
				
			||||||
void SaveTelSalePolicyInfo( const SPolicyRecord & policy, const vector<TelSalePolicyGift> & giftList );
 | 
					void SaveTelSalePolicyInfo(const SPolicyRecord & policy, const vector<TelSalePolicyGift> & giftList);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//************************************
 | 
					//************************************
 | 
				
			||||||
// Method:    QueryTelSalePolicyInfo
 | 
					// Method:    QueryTelSalePolicyInfo
 | 
				
			||||||
@@ -115,11 +146,11 @@ void SaveTelSalePolicyInfo( const SPolicyRecord & policy, const vector<TelSalePo
 | 
				
			|||||||
// Parameter: const string & strEndDate
 | 
					// Parameter: const string & strEndDate
 | 
				
			||||||
// Parameter: vector<SPolicyQuery> & vPolicyInfo
 | 
					// Parameter: vector<SPolicyQuery> & vPolicyInfo
 | 
				
			||||||
//************************************
 | 
					//************************************
 | 
				
			||||||
void QueryTelSalePolicyInfo( const string & strPolicyNo,
 | 
					void QueryTelSalePolicyInfo(const string &         strPolicyNo,
 | 
				
			||||||
                            const string &         strOperatorCode,
 | 
					                            const string &         strOperatorCode,
 | 
				
			||||||
                            const string &         strStartDate,
 | 
					                            const string &         strStartDate,
 | 
				
			||||||
                            const string &         strEndDate,
 | 
					                            const string &         strEndDate,
 | 
				
			||||||
							 vector<SPolicyQuery> & vPolicyInfo );
 | 
					                            vector<SPolicyQuery> & vPolicyInfo);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//************************************
 | 
					//************************************
 | 
				
			||||||
// Method:    QueryPolicyGifts
 | 
					// Method:    QueryPolicyGifts
 | 
				
			||||||
@@ -130,15 +161,30 @@ void QueryTelSalePolicyInfo( const string & strPolicyNo,
 | 
				
			|||||||
// Parameter: const string & strPolicyNo
 | 
					// Parameter: const string & strPolicyNo
 | 
				
			||||||
// Parameter: string & strGifts
 | 
					// Parameter: string & strGifts
 | 
				
			||||||
//************************************
 | 
					//************************************
 | 
				
			||||||
void QueryPolicyGifts( const string & strPolicyNo,
 | 
					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( const wstring & filePath, 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 readXlsxCell( ISheetT<wchar_t> * pSheet, int iRowIndex, int iColIndex);
 | 
					* \brief 读取xls文件的单元格内容,返回std::string
 | 
				
			||||||
 | 
					* \param pSheet xls文件的sheet对象指针
 | 
				
			||||||
 | 
					* \param iRowIndex 行索引
 | 
				
			||||||
 | 
					* \param iColIndex 列索引
 | 
				
			||||||
 | 
					* \return 返回读取的单元格内容,以std::string为载体
 | 
				
			||||||
 | 
					************************************************/
 | 
				
			||||||
 | 
					string readXlsCell(ISheetT<char> * pSheet, int iRowIndex, int iColIndex);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/************************************************
 | 
				
			||||||
 | 
					* \brief 读取xlsx文件的单元格内容,返回std::string
 | 
				
			||||||
 | 
					* \param pSheet xlsx文件的sheet对象指针
 | 
				
			||||||
 | 
					* \param iRowIndex 行索引
 | 
				
			||||||
 | 
					* \param iColIndex 列索引
 | 
				
			||||||
 | 
					* \return 返回读取的单元格内容,以std::string为载体
 | 
				
			||||||
 | 
					************************************************/
 | 
				
			||||||
 | 
					string readXlsxCell(ISheetT<wchar_t> * pSheet, int iRowIndex, int iColIndex);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif // DataManipulation_h__
 | 
					#endif // DataManipulation_h__
 | 
				
			||||||
		Reference in New Issue
	
	Block a user