2740 lines
67 KiB
C++
2740 lines
67 KiB
C++
// DLG_User_InportP2.cpp : implementation file
|
||
//
|
||
|
||
#include "stdafx.h"
|
||
#include "corpsms.h"
|
||
#include "DLG_User_InportP2.h"
|
||
|
||
#ifdef _DEBUG
|
||
#define new DEBUG_NEW
|
||
#undef THIS_FILE
|
||
static char THIS_FILE[] = __FILE__;
|
||
#endif
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// DLG_User_InportP2 dialog
|
||
#include "FGAddress.h"
|
||
#include "FPAddress.h"
|
||
#include "FSAddress.h"
|
||
#include "MainFrm.h"
|
||
#include "DLG_AddWarning.h"
|
||
#include "DLG_Send.h"
|
||
#include "DLG_SendFax.h"
|
||
#include "DLG_User_ModifyC.h"
|
||
//#include <odbcinst.h>
|
||
//#include <afxdb.h>
|
||
#include "DLG_SelSheet.h"
|
||
#include "FBack.h"
|
||
#include "FTDSet.h"
|
||
#include "DLG_PLFile_Add.h"
|
||
#include "DLG_QXBox_Group_Modify.h"
|
||
#include "DLG_White2.h"
|
||
|
||
#include "..\public\Excel\LuExcel.h"
|
||
|
||
DLG_User_InportP2::DLG_User_InportP2(CWnd* pParent /*=NULL*/)
|
||
: CDialog(DLG_User_InportP2::IDD, pParent)
|
||
{
|
||
//{{AFX_DATA_INIT(DLG_User_InportP2)
|
||
// NOTE: the ClassWizard will add member initialization here
|
||
//}}AFX_DATA_INIT
|
||
|
||
memset(&m_Field , 0 , sizeof(m_Field) );
|
||
m_lField = 0;
|
||
m_lInportType = 0;
|
||
m_lColCount = 0;
|
||
m_lCurCol = 0;
|
||
|
||
m_pFGAddress = NULL;
|
||
m_pFPAddress = NULL;
|
||
m_pDlgSend = NULL;
|
||
m_pTDSet = NULL;
|
||
m_pPLFile = NULL;
|
||
m_pWhite2 = NULL;
|
||
|
||
m_pParent = pParent;
|
||
|
||
m_bShowProcess = false;
|
||
|
||
|
||
}
|
||
|
||
|
||
void DLG_User_InportP2::DoDataExchange(CDataExchange* pDX)
|
||
{
|
||
CDialog::DoDataExchange(pDX);
|
||
//{{AFX_DATA_MAP(DLG_User_InportP2)
|
||
DDX_Control(pDX, IDC_USER_INPORT_ADD0, m_B_Add0);
|
||
DDX_Control(pDX, IDC_USER_INPORT_BIRTHDAY, m_B_Birthday);
|
||
DDX_Control(pDX, IDC_USER_INPORT_S1, m_B_Tips);
|
||
DDX_Control(pDX, IDC_USER_INPORT_REMOBILE, m_B_ReMobile);
|
||
DDX_Control(pDX, IDC_USER_INPORT_LIST, m_wndList);
|
||
DDX_Control(pDX, IDC_USER_INPORT_FILENAME, m_E_FileName);
|
||
//}}AFX_DATA_MAP
|
||
}
|
||
|
||
|
||
BEGIN_MESSAGE_MAP(DLG_User_InportP2, CDialog)
|
||
//{{AFX_MSG_MAP(DLG_User_InportP2)
|
||
ON_BN_CLICKED(IDC_USER_INPORT_GETFILE, OnUserInportGetfile)
|
||
ON_NOTIFY(LVN_COLUMNCLICK, IDC_USER_INPORT_LIST, OnColumnclickUserInportList)
|
||
//}}AFX_MSG_MAP
|
||
ON_COMMAND(MENU_INPORTP_ALL,On_User_All)
|
||
ON_COMMAND_RANGE(MENU_INPORTP_FIRST,MENU_INPORTP_FIRST+60,On_User_SelField)
|
||
ON_BN_CLICKED(IDOK, &DLG_User_InportP2::OnBnClickedOk)
|
||
END_MESSAGE_MAP()
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// DLG_User_InportP2 message handlers
|
||
|
||
void DLG_User_InportP2::SetParam(Inport_Field *pField, long lFieldCount, long lInportType)
|
||
{
|
||
memcpy( &m_Field , pField , sizeof(Inport_Field)*lFieldCount );
|
||
m_lField = lFieldCount;
|
||
m_lInportType = lInportType;
|
||
|
||
/*
|
||
3 FCAddress
|
||
2 DLG_Send
|
||
1 FGAddress
|
||
0 FPAddress
|
||
*/
|
||
switch ( lInportType )
|
||
{
|
||
case 0:
|
||
m_pFPAddress = (CFPAddress *)m_pParent;
|
||
m_AdoRS.SetAdoConnection( &m_pFPAddress->m_pMainFrame->m_adoConnection );
|
||
m_strDefName = m_pFPAddress->m_pMainFrame->m_Setup.szDEF_Name;
|
||
break;
|
||
case 1:
|
||
break;
|
||
case 2:
|
||
m_pDlgSend = (DLG_Send *)m_pParent;
|
||
break;
|
||
case 3:
|
||
m_pFCAddress = (CFCAddress *)m_pParent;
|
||
m_AdoRS.SetAdoConnection( &m_pFCAddress->m_pMainFrame->m_adoConnection );
|
||
m_strDefName = m_pFCAddress->m_pMainFrame->m_Setup.szDEF_Name;
|
||
break;
|
||
case 4:
|
||
m_pFSAddress = (CFSAddress *)m_pParent;
|
||
m_AdoRS.SetAdoConnection( &m_pFSAddress->m_pMainFrame->m_adoConnection );
|
||
m_strDefName = m_pFSAddress->m_pMainFrame->m_Setup.szDEF_Name;
|
||
break;
|
||
case 5:
|
||
m_pFGAddress = (CFGAddress2 *)m_pParent;
|
||
m_strDefName = m_pFGAddress->m_pMainFrame->m_Setup.szDEF_Name;
|
||
break;
|
||
case 6:
|
||
m_pFBack = (CFBack *)m_pParent;
|
||
break;
|
||
case 7:
|
||
m_pDlgSendFax = (DLG_SendFax *)m_pParent;
|
||
break;
|
||
case 8:
|
||
m_pDlgSendMms = (DLG_SendMms *)m_pParent;
|
||
break;
|
||
case 9:
|
||
m_pTDSet = (CFTDSet *)m_pParent;
|
||
break;
|
||
case 10:
|
||
m_pPLFile = (DLG_PLFile_Add *)m_pParent;
|
||
break;
|
||
case 11:
|
||
m_pQXBox_GroupDlg = (DLG_QXBox_Group_Modify *)m_pParent;
|
||
break;
|
||
case 12:
|
||
m_pWhite2 = (DLG_White2 *)m_pParent;
|
||
break;
|
||
}
|
||
}
|
||
|
||
void DLG_User_InportP2::OnUserInportGetfile()
|
||
{
|
||
#define FILE_FILTER_TEXT \
|
||
TEXT("Excel xls <20>ļ<EFBFBD> (*.xls,*.xlsx)\0*.xls\0*.xlsx\0")\
|
||
TEXT("Excel csv <20>ļ<EFBFBD> (*.csv)\0*.csv\0")\
|
||
TEXT("txt<78>ı<EFBFBD><C4B1>ļ<EFBFBD> (*.txt)\0*.txt\0")\
|
||
TEXT("<22><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD> (*.*)\0*.*;\0\0")
|
||
|
||
TCHAR szFile[ 256 ];
|
||
TCHAR szFileB[ 256 ];
|
||
*szFileB = NULL;
|
||
_stprintf( szFile , _T("*.xls") );
|
||
|
||
OPENFILENAME sOpen;
|
||
sOpen.lStructSize = sizeof( sOpen );
|
||
sOpen.hwndOwner = this->m_hWnd ;
|
||
sOpen.Flags = OFN_EXPLORER|OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY;
|
||
sOpen.lpstrFilter = FILE_FILTER_TEXT;
|
||
sOpen.lpstrDefExt = _T("txt");
|
||
sOpen.lpstrCustomFilter = NULL;
|
||
sOpen.nMaxCustFilter = 0;
|
||
sOpen.lpstrFile = szFile;
|
||
sOpen.nMaxFile = sizeof( szFile );
|
||
sOpen.lpstrFileTitle = szFileB;
|
||
sOpen.nMaxFileTitle = sizeof( szFileB );
|
||
sOpen.lpstrInitialDir = NULL;
|
||
sOpen.lpstrTitle = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>");
|
||
if ( ::GetOpenFileName( &sOpen ) )
|
||
{
|
||
CString strName = sOpen.lpstrFile;
|
||
CString strTemp = strName;
|
||
CString strTemp2;
|
||
strTemp.MakeUpper();
|
||
//<2F><><EFBFBD><EFBFBD>ǰ10<31><30>
|
||
if ( strTemp.Find(_T(".XLS"))>0 || strTemp.Find(_T(".XLSX"))>0 ) //ΪExcel<65><6C>ʽ<EFBFBD><CABD><EFBFBD>ļ<EFBFBD>
|
||
{
|
||
CStringArray strAllTable;
|
||
long lTabCount=0;
|
||
CString strTable;
|
||
|
||
CAdoConnection adoConnect;
|
||
CAdoRecordSet adoRS;
|
||
CAdoRecordSet rset;
|
||
|
||
|
||
CLuExcel excel;
|
||
long lExcelOpenType=0; //0-ʹ<><CAB9>Excel<65>ؼ<EFBFBD><D8BC><EFBFBD>1-ʹ<><CAB9>ado<64><6F><EFBFBD><EFBFBD>
|
||
if ( excel.Open(strName ) ) //<2F><>ʹ<EFBFBD><CAB9>Excel<65><EFBFBD><F2BFAAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>٣<EFBFBD><D9A3>ٲ<EFBFBD><D9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿⷽʽ<E2B7BD><CABD><EFBFBD><EFBFBD>
|
||
{
|
||
lTabCount = excel.GetSheets(strAllTable);
|
||
lExcelOpenType = 0;
|
||
}
|
||
else
|
||
{
|
||
//<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>Excel<65><6C><EFBFBD>ݿ<EFBFBD>
|
||
if ( !adoConnect.ConnectExcel(strName) )
|
||
{
|
||
strTemp.Format(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>:%s\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , strName );
|
||
MessageBox( strTemp , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING|MB_OK );
|
||
return ;
|
||
}
|
||
//<2F><><EFBFBD>ҵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
//<2F><><EFBFBD><EFBFBD>QueryLog<6F><67>
|
||
rset = adoConnect.OpenSchema(adSchemaColumns);
|
||
while(!rset.IsEOF() && lTabCount<100)
|
||
{
|
||
rset.GetCollect( _T("TABLE_NAME") , strTable );
|
||
strTable.Replace( _T("$") , _T(""));
|
||
strTable.Replace( _T("'") , _T("") );
|
||
if ( lTabCount>0 )
|
||
{
|
||
strTemp = strAllTable.GetAt(lTabCount-1);
|
||
if ( _tcscmp(strTable,strTemp) )\
|
||
{
|
||
lTabCount++;
|
||
strAllTable.Add(strTable);
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
lTabCount++;
|
||
strAllTable.Add(strTable);
|
||
}
|
||
rset.MoveNext();
|
||
}
|
||
rset.Close();
|
||
lExcelOpenType = 1; //ʹ<><CAB9>ado<64><6F><EFBFBD><EFBFBD>
|
||
}
|
||
|
||
strTable = strAllTable.GetAt(0);
|
||
if ( strAllTable.GetSize()>1 ) //ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
{
|
||
DLG_SelSheet dlg(this);
|
||
dlg.SetParam(&strAllTable);
|
||
if ( dlg.DoModal()==IDOK )
|
||
{
|
||
strTable = dlg.m_strTable;
|
||
}
|
||
else
|
||
{
|
||
return ;
|
||
}
|
||
|
||
}
|
||
m_strTable = strTable;
|
||
|
||
//ȡ<><C8A1>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
|
||
long lCountA = 0;
|
||
if ( lExcelOpenType ==0 )
|
||
{
|
||
excel.SelectSheet(m_strTable);
|
||
lCountA = excel.GetRowCount();
|
||
m_lColCount = excel.GetColCount();
|
||
}
|
||
else
|
||
{
|
||
adoRS.SetAdoConnection(&adoConnect);
|
||
strTemp.Format( _T("SELECT * FROM [%s$A1:IV65536]") , strTable );
|
||
if ( !adoRS.Open(strTemp) )
|
||
{
|
||
strTemp.Format(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>:%s\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , strName );
|
||
MessageBox( strTemp , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING|MB_OK );
|
||
return ;
|
||
}
|
||
lCountA = adoRS.GetRecordCount();
|
||
m_lColCount=adoRS.GetFieldsCount(); //<2F><><EFBFBD><EFBFBD>
|
||
adoRS.MoveFirst();
|
||
}
|
||
if ( lCountA<=0 || m_lColCount<=0)
|
||
{
|
||
strTemp=_T("û<EFBFBD>ҵ<EFBFBD><EFBFBD>κμ<EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!");
|
||
MessageBox( strTemp , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING|MB_OK );
|
||
return ;
|
||
}
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
||
m_wndList.DeleteAllItems();
|
||
for ( int i=0 ; i<60 ; i++ )
|
||
m_wndList.DeleteColumn(60-i);
|
||
long lLineCount=0;
|
||
long lCount2 = 0;
|
||
while (lCount2<lCountA)
|
||
{
|
||
for ( i=0 ; i<m_lColCount ; i++ ) //<2F><>ʼ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>
|
||
{
|
||
strTemp = _T("");
|
||
if (lExcelOpenType ==0) //excel<65><EFBFBD>ʽ
|
||
{
|
||
strTemp = excel.GetCell(lLineCount+1 , i+1 );
|
||
}
|
||
else
|
||
{
|
||
//aod <20><>ʽ
|
||
adoRS.GetCollect( i , strTemp );
|
||
}
|
||
if ( true )
|
||
{
|
||
strTemp.Replace( _T("\r") , _T("") );
|
||
strTemp.Replace( _T("\n") , _T("") );
|
||
strTemp.Replace( _T("\t") , _T("") );
|
||
strTemp.Replace( _T(".00000000") , _T("") ); //ȥ<><C8A5>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
||
if ( lLineCount == 0 ) //<2F><>һ<EFBFBD>У<EFBFBD><D0A3><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ͷ
|
||
{
|
||
strTemp2.Format( _T(" %c") , 'A'+i );
|
||
m_wndList.InsertColumn(i,strTemp2,LVCFMT_LEFT,100);
|
||
}
|
||
if ( i==0 ) //<2F><>һ<EFBFBD>У<EFBFBD><D0A3><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
{
|
||
m_wndList.InsertItem(lLineCount,strTemp,0);
|
||
}
|
||
else
|
||
{
|
||
m_wndList.SetItemText(lLineCount,i,strTemp);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
m_lColCount = i;
|
||
}
|
||
}
|
||
lLineCount ++;
|
||
lCount2 ++;
|
||
|
||
if (lLineCount>10)
|
||
break;
|
||
|
||
if (lExcelOpenType ==1) //ado<64><EFBFBD>ʽ
|
||
{
|
||
adoRS.MoveNext();
|
||
if ( adoRS.IsEOF() )
|
||
break;
|
||
}
|
||
}
|
||
if (lExcelOpenType ==1) //ado<64><EFBFBD>ʽ
|
||
{
|
||
adoRS.Close();
|
||
adoConnect.Close();
|
||
}
|
||
m_E_FileName.SetWindowText(sOpen.lpstrFile);
|
||
//<2F><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>
|
||
for ( i=0 ; i< m_lField ; i++ )
|
||
{
|
||
m_Field[i].lDesIndex = -1;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
||
CFile fTalk;
|
||
if ( !fTalk.Open( strName , CFile::modeRead ) )
|
||
{
|
||
strTemp.Format(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>:%s\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , strName );
|
||
MessageBox( strTemp , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING|MB_OK );
|
||
return ;
|
||
}
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
||
m_wndList.DeleteAllItems();
|
||
for ( int i=0 ; i<60 ; i++ )
|
||
m_wndList.DeleteColumn(i);
|
||
TCHAR szPNBuf[512];
|
||
TCHAR szName[512];
|
||
long lLineCount=0;
|
||
m_lColCount=60; //Ĭ<><C4AC><EFBFBD><EFBFBD>60<36><30>
|
||
BYTE * pFileReadBuf = new BYTE[1024]; //2M<32><4D><EFBFBD><EFBFBD>
|
||
long lFileReadBufLen=0;
|
||
|
||
#ifdef UNICODE
|
||
TCHAR szTemp[512]={0};
|
||
char szTempA[512]={0};
|
||
char szPNBuf2[512]={0};
|
||
#endif
|
||
while (true)
|
||
{
|
||
memset( szPNBuf , 0 , sizeof( szPNBuf ) );
|
||
#ifdef UNICODE
|
||
if ( ReadLine( &fTalk , "\n", szPNBuf2 , sizeof( szPNBuf2 )-5, pFileReadBuf,lFileReadBufLen) )
|
||
{
|
||
_tcscpy(szPNBuf,CAdoRecordSet::Ado_A2W(szPNBuf2,szTemp));
|
||
|
||
#else
|
||
if ( ReadLine( &fTalk , "\n" , szPNBuf , sizeof( szPNBuf )-5, pFileReadBuf,lFileReadBufLen ) ) //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
||
{
|
||
#endif
|
||
ExChar( szPNBuf , _T("\r") );
|
||
ExChar( szPNBuf , _T("\n") );
|
||
_tcscat(szPNBuf,_T(","));
|
||
|
||
for ( i=0 ; i<m_lColCount ; i++ ) //<2F><>ʼ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>
|
||
{
|
||
memset(szName , 0 , sizeof(szName) );
|
||
if ( GetReqMess( szPNBuf , szName , i , ',' ) )
|
||
{
|
||
AllTrim(szName);
|
||
ExChar(szName,_T("\r"));
|
||
ExChar(szName,_T("\n"));
|
||
ExChar(szName,_T("\t"));
|
||
|
||
if ( lLineCount == 0 ) //<2F><>һ<EFBFBD>У<EFBFBD><D0A3><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ͷ
|
||
{
|
||
m_wndList.InsertColumn(i,_T(" "),LVCFMT_LEFT,100);
|
||
}
|
||
if ( i==0 ) //<2F><>һ<EFBFBD>У<EFBFBD><D0A3><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
{
|
||
m_wndList.InsertItem(lLineCount,szName,0);
|
||
}
|
||
else
|
||
{
|
||
m_wndList.SetItemText(lLineCount,i,szName);
|
||
}
|
||
}
|
||
}
|
||
|
||
lLineCount ++;
|
||
}
|
||
else
|
||
{
|
||
break;
|
||
}
|
||
|
||
|
||
if (lLineCount>10)
|
||
break;
|
||
}
|
||
fTalk.Close();
|
||
delete pFileReadBuf;
|
||
}
|
||
m_E_FileName.SetWindowText(sOpen.lpstrFile);
|
||
//<2F><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>
|
||
for ( int i=0 ; i< m_lField ; i++ )
|
||
{
|
||
m_Field[i].lDesIndex = -1;
|
||
}
|
||
|
||
return ;
|
||
}
|
||
}
|
||
|
||
long DLG_User_InportP2::ReadLine(CFile *file, char *pSplit, char *szBuf, long lLen , BYTE * pFileBuf , long & lFileBufLen)
|
||
{
|
||
int i,j;
|
||
int lLineCount = 0;
|
||
int lSplitLen = strlen(pSplit);
|
||
char c;
|
||
i = 0;
|
||
while ( true )
|
||
{
|
||
j = file->Read( &c , 1 );
|
||
if ( j < 1 )
|
||
{
|
||
szBuf[i]=0;
|
||
return i;
|
||
}
|
||
if ( i >= lLen-1 )
|
||
{
|
||
szBuf[i] = 0;
|
||
return i;
|
||
}
|
||
szBuf[i] = c;
|
||
i++;
|
||
if ( !memcmp( szBuf+i-lSplitLen , pSplit , lSplitLen ) ) //<2F><><EFBFBD>б<EFBFBD>־
|
||
{
|
||
szBuf[i] = 0;
|
||
return i;
|
||
}
|
||
}
|
||
return 0;
|
||
}
|
||
|
||
BOOL DLG_User_InportP2::OnInitDialog()
|
||
{
|
||
CDialog::OnInitDialog();
|
||
|
||
//<2F><><EFBFBD>ó<EFBFBD><C3B3>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>ʽ
|
||
m_wndList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
|
||
|
||
//if ( m_lInportType != 0 && m_lInportType != 3) //<2F><><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>ѡ<EFBFBD><D1A1>
|
||
if ( m_lInportType==0 || m_lInportType==3 ||m_lInportType==4 )
|
||
{
|
||
;
|
||
}
|
||
else
|
||
{
|
||
m_B_ReMobile.ShowWindow(SW_HIDE);
|
||
m_B_Birthday.ShowWindow(SW_HIDE);
|
||
}
|
||
|
||
return TRUE; // return TRUE unless you set the focus to a control
|
||
// EXCEPTION: OCX Property Pages should return FALSE
|
||
}
|
||
|
||
void DLG_User_InportP2::OnColumnclickUserInportList(NMHDR* pNMHDR, LRESULT* pResult)
|
||
{
|
||
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
|
||
*pResult = 0;
|
||
|
||
m_lCurCol = pNMListView->iSubItem;
|
||
|
||
CMenu menu;
|
||
menu.CreatePopupMenu();
|
||
menu.AppendMenu(MF_STRING , MENU_INPORTP_FIRST , _T(" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ") );
|
||
menu.AppendMenu(MF_SEPARATOR );
|
||
for ( int i=0 ;i<m_lField ; i++ )
|
||
{
|
||
if ( m_Field[i].lDesIndex < 0 )
|
||
menu.AppendMenu(MF_STRING , MENU_INPORTP_FIRST+i+1, m_Field[i].szName );
|
||
}
|
||
menu.AppendMenu(MF_SEPARATOR );
|
||
menu.AppendMenu(MF_STRING , MENU_INPORTP_ALL , _T(" ˳<><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ") );
|
||
|
||
//<2F><>ʾ<EFBFBD>˵<EFBFBD>
|
||
POINT pt ;
|
||
::GetCursorPos( &pt );
|
||
//this->ClientToScreen( &pt);
|
||
menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL);
|
||
menu.DestroyMenu();
|
||
}
|
||
|
||
void DLG_User_InportP2::On_User_SelField(UINT nID)
|
||
{
|
||
UINT nID2=MENU_INPORTP_FIRST;
|
||
|
||
//<2F><><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD>Colʹ<6C>õ<EFBFBD><C3B5><EFBFBD>Ŀ
|
||
for ( int i=0 ; i< m_lField ; i++ )
|
||
{
|
||
if ( m_Field[i].lDesIndex == m_lCurCol )
|
||
{
|
||
m_Field[i].lDesIndex = -1;
|
||
break;
|
||
}
|
||
}
|
||
|
||
if ( nID == nID2 )
|
||
{
|
||
LVCOLUMN lvcol;
|
||
lvcol.mask = LVCF_TEXT;
|
||
lvcol.pszText =_T(" ");
|
||
m_wndList.SetColumn(m_lCurCol , &lvcol );
|
||
return ;
|
||
}
|
||
UINT lIndex = (nID - nID2)-1;
|
||
|
||
m_Field[lIndex].lDesIndex = m_lCurCol;
|
||
LVCOLUMN lvcol;
|
||
lvcol.mask = LVCF_TEXT;
|
||
lvcol.pszText = m_Field[lIndex].szName;
|
||
m_wndList.SetColumn(m_lCurCol , &lvcol );
|
||
|
||
}
|
||
void DLG_User_InportP2::On_User_All()
|
||
{
|
||
for ( int i=0 ; i<m_lField && i<m_lColCount; i++ )
|
||
{
|
||
m_Field[i].lDesIndex = i;
|
||
LVCOLUMN lvcol;
|
||
lvcol.mask = LVCF_TEXT;
|
||
lvcol.pszText = m_Field[i].szName;
|
||
m_wndList.SetColumn(i , &lvcol );
|
||
}
|
||
|
||
}
|
||
|
||
void DLG_User_InportP2::Close()
|
||
{
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
|
||
while (!m_User.IsEmpty())
|
||
{
|
||
PAddress * pData = m_User.GetHead();
|
||
m_User.RemoveHead();
|
||
delete pData;
|
||
}
|
||
}
|
||
|
||
CString DLG_User_InportP2::GetExcelDriver()
|
||
{
|
||
CString strDsn;
|
||
/*
|
||
TCHAR szBuf[2001];
|
||
WORD cbBufMax = 2000;
|
||
WORD cbBufOut;
|
||
TCHAR *pszBuf = szBuf;
|
||
|
||
// <20><>ȡ<EFBFBD>Ѱ<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>"odbcinst.h")
|
||
if(!SQLGetInstalledDrivers(szBuf,cbBufMax,& cbBufOut))
|
||
{
|
||
strDsn = _T("");
|
||
}
|
||
|
||
// Ѱ<><D1B0>Excel<65><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...
|
||
do
|
||
{
|
||
if( NULL != strstr( pszBuf, _T("Excel") ) )
|
||
{
|
||
// <20>ҵ<EFBFBD>!
|
||
strDsn = CString( pszBuf );
|
||
break;
|
||
}
|
||
if( NULL != strstr( pszBuf, _T("EXCEL") ) )
|
||
{
|
||
// <20>ҵ<EFBFBD>!
|
||
strDsn = CString( pszBuf );
|
||
break;
|
||
}
|
||
if( NULL != strstr( pszBuf, _T("excel") ) )
|
||
{
|
||
// <20>ҵ<EFBFBD>!
|
||
strDsn = CString( pszBuf );
|
||
break;
|
||
}
|
||
pszBuf = strchr( pszBuf, '\0' ) + 1;
|
||
}
|
||
while( '\0' != pszBuf[1] );
|
||
*/
|
||
return strDsn;
|
||
}
|
||
|
||
UINT DLG_User_InportP2::Process_T(void *pParam)
|
||
{
|
||
try
|
||
{
|
||
DLG_User_InportP2 * pDlg = (DLG_User_InportP2 *)pParam;
|
||
|
||
Sleep(200);
|
||
pDlg->Inport();
|
||
}
|
||
catch(...)
|
||
{
|
||
}
|
||
return 0;
|
||
}
|
||
|
||
void DLG_User_InportP2::Inport()
|
||
{
|
||
|
||
CString strFileName;
|
||
BOOL m_bReMobile = m_B_ReMobile.GetCheck();
|
||
BOOL m_bBirthday = m_B_Birthday.GetCheck();
|
||
BOOL m_bAdd0 = m_B_Add0.GetCheck();
|
||
m_E_FileName.GetWindowText(strFileName);
|
||
if ( strFileName.GetLength() <=0 )
|
||
{
|
||
MessageBox( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONWARNING );
|
||
return ;
|
||
}
|
||
for ( int i=0 ; i< m_lField ; i++ )
|
||
{
|
||
if ( m_Field[i].lDesIndex>=0 )
|
||
{
|
||
break;
|
||
}
|
||
}
|
||
if ( i>=m_lField )
|
||
{
|
||
MessageBox( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶΣ<EFBFBD>"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONWARNING );
|
||
return ;
|
||
}
|
||
|
||
|
||
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶζ<D6B6>Ӧ<EFBFBD><D3A6>
|
||
long lDYField[60]={0};
|
||
for ( int j= 0 ; j<60 ; j++ )
|
||
{
|
||
lDYField[j]=-1;
|
||
for ( int i=0 ; i<m_lField ; i++ )
|
||
{
|
||
if ( m_Field[i].lDesIndex == j )
|
||
{
|
||
lDYField[j]=m_Field[i].lIndex;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
DWORD dwBeginTime = GetTickCount();
|
||
CString strTemp = strFileName;
|
||
strTemp.MakeUpper();
|
||
//<2F><><EFBFBD><EFBFBD>ǰ10<31><30>
|
||
if ( strTemp.Find(_T(".XLS"))>0 || strTemp.Find(_T(".XLSX"))>0) //ΪExcel<65><6C>ʽ<EFBFBD><CABD><EFBFBD>ļ<EFBFBD>
|
||
{
|
||
//<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>Excel<65><6C><EFBFBD>ݿ<EFBFBD>
|
||
CAdoConnection adoConnect;
|
||
CAdoRecordSet adoRS;
|
||
|
||
CLuExcel excel;
|
||
long lExcelOpenType=0; //0-ʹ<><CAB9>Excel<65>ؼ<EFBFBD><D8BC><EFBFBD>1-ʹ<><CAB9>ado<64><6F><EFBFBD><EFBFBD>
|
||
long lCountA=0;
|
||
if ( excel.Open(strFileName ) && excel.SelectSheet(m_strTable)) //<2F><>ʹ<EFBFBD><CAB9>Excel<65><EFBFBD><F2BFAAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>٣<EFBFBD><D9A3>ٲ<EFBFBD><D9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿⷽʽ<E2B7BD><CABD><EFBFBD><EFBFBD>
|
||
{
|
||
lCountA = excel.GetRowCount();
|
||
m_lColCount = excel.GetColCount();
|
||
|
||
lExcelOpenType = 0;
|
||
}
|
||
else
|
||
{
|
||
|
||
if ( !adoConnect.ConnectExcel(strFileName) )
|
||
{
|
||
strTemp.Format(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>:%s\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , strFileName );
|
||
MessageBox( strTemp , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING|MB_OK );
|
||
m_DlgProcess.SetProcess( 100 , 100 );
|
||
m_bShowProcess = false;
|
||
return ;
|
||
}
|
||
|
||
|
||
adoRS.SetAdoConnection(&adoConnect);
|
||
strTemp.Format( _T("SELECT * FROM [%s$A1:IV65536]") , m_strTable );
|
||
if ( !adoRS.Open(strTemp) )
|
||
{
|
||
strTemp.Format(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>:%s\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , strFileName );
|
||
MessageBox( strTemp , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING|MB_OK );
|
||
m_DlgProcess.SetProcess( 100 , 100 );
|
||
m_bShowProcess = false;
|
||
return ;
|
||
}
|
||
lCountA = adoRS.GetRecordCount();
|
||
m_lColCount=adoRS.GetFieldsCount(); //<2F><><EFBFBD><EFBFBD>
|
||
adoRS.MoveFirst();
|
||
|
||
lExcelOpenType = 1;
|
||
}
|
||
if ( lCountA<=0 || m_lColCount<=0)
|
||
{
|
||
strTemp=_T("û<EFBFBD>ҵ<EFBFBD><EFBFBD>κμ<EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!");
|
||
MessageBox( strTemp , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING|MB_OK );
|
||
m_DlgProcess.SetProcess( 100 , 100 );
|
||
m_bShowProcess = false;
|
||
return ;
|
||
}
|
||
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
||
m_wndList.DeleteAllItems();
|
||
for ( int i=0 ; i<60 ; i++ )
|
||
m_wndList.DeleteColumn(60-i);
|
||
|
||
long lLineCount=0;
|
||
long lCount2 = 0;
|
||
|
||
TCHAR szName[1024]={0};
|
||
long lNameCount=0;
|
||
BOOL bShowReMobile = true;
|
||
long lReMobileType = 0;
|
||
CString str;
|
||
PAddress user={0};
|
||
CKAddress Cuser={0};
|
||
CSAddress Suser={0};
|
||
Send_User Luser={0};
|
||
PLUser PLuser={0};
|
||
|
||
while (lCount2<lCountA && m_bShowProcess)
|
||
{
|
||
memset(&user,0,sizeof(user));
|
||
memset(&Cuser,0,sizeof(Cuser));
|
||
memset(&Suser,0,sizeof(Suser));
|
||
memset(&Luser,0,sizeof(Luser));
|
||
memset(&PLuser,0,sizeof(PLuser));
|
||
for ( i=0 ; i<m_lColCount ; i++ ) //<2F><>ʼ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>
|
||
{
|
||
strTemp = _T("");
|
||
if (lExcelOpenType ==0) //excel<65><EFBFBD>ʽ
|
||
{
|
||
strTemp = excel.GetCell(lLineCount+1 , i+1 );
|
||
}
|
||
else
|
||
{
|
||
//aod <20><>ʽ
|
||
adoRS.GetCollect( i , strTemp );
|
||
}
|
||
if ( strTemp.GetLength()>0 )
|
||
{
|
||
// AfxMessageBox(strTemp);
|
||
strTemp.TrimLeft();
|
||
strTemp.TrimRight();
|
||
//strTemp.Replace( _T("\r") , _T("") );
|
||
//strTemp.Replace( _T("\n") , _T("") );
|
||
//strTemp.Replace( _T("\t") , _T("") );
|
||
strTemp.Replace( _T(".00000000") , _T("") ); //ȥ<><C8A5>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
||
//strTemp.Replace( _T("'") , _T("''" ));
|
||
|
||
memset(&szName,0,sizeof(szName));
|
||
_tcscpy(szName , strTemp);
|
||
switch (lDYField[i])
|
||
{
|
||
case 0: //<2F><><EFBFBD><EFBFBD>
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 5:
|
||
BreakChar(szName,sizeof(user.szName)-1);
|
||
_tcscpy(user.szName , szName );
|
||
break;
|
||
case 2:
|
||
case 7:
|
||
case 8:
|
||
case 11:
|
||
BreakChar(szName,sizeof(Luser.szName)-1);
|
||
_tcscpy(Luser.szName , szName );
|
||
break;
|
||
case 3: //<2F><><EFBFBD><EFBFBD>
|
||
BreakChar(szName,sizeof(Cuser.szName)-1);
|
||
_tcscpy(Cuser.szName , szName );
|
||
break;
|
||
case 4: //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>
|
||
BreakChar(szName,sizeof(Suser.szBH)-1);
|
||
_tcscpy(Suser.szBH , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 1: //<2F>dz<EFBFBD>
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 5:
|
||
BreakChar(szName,sizeof(user.szNickName)-1);
|
||
_tcscpy(user.szNickName , szName );
|
||
break;
|
||
case 2:
|
||
BreakChar(szName,sizeof(Luser.szNickName)-1);
|
||
_tcscpy(Luser.szNickName , szName );
|
||
break;
|
||
case 3: //<2F><><EFBFBD><EFBFBD>
|
||
BreakChar(szName,sizeof(Cuser.szCarNum)-1);
|
||
_tcscpy(Cuser.szCarNum , szName );
|
||
break;
|
||
case 4: //<2F><> <20><>
|
||
BreakChar(szName,sizeof(Suser.szName)-1);
|
||
_tcscpy(Suser.szName , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 2: //<2F>Ա<EFBFBD>
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 2:
|
||
case 5:
|
||
//BreakChar(szName,sizeof(user.szSex)-1);
|
||
BreakChar(szName,2);
|
||
_tcscpy(user.szSex , szName );
|
||
break;
|
||
case 3: //<2F><><EFBFBD><EFBFBD>
|
||
BreakChar(szName,sizeof(Cuser.szCarType)-1);
|
||
_tcscpy(Cuser.szCarType , szName );
|
||
break;
|
||
case 4: //<2F><> <20><>
|
||
BreakChar(szName,sizeof(Suser.szNickName)-1);
|
||
_tcscpy(Suser.szNickName , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 3: //<2F><><EFBFBD><EFBFBD>
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 2:
|
||
case 5:
|
||
BreakChar(szName,sizeof(user.szNickName)-1);
|
||
if ( m_bBirthday )
|
||
{
|
||
CString strSFZ=szName;
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
CString strBir1;
|
||
CString strBir2;
|
||
if ( strSFZ.GetLength() == 15 )
|
||
{
|
||
strBir1 = strSFZ.Mid(6,6);
|
||
strBir1 = CString(_T("19"))+strBir1;
|
||
}
|
||
if ( strSFZ.GetLength() == 18 )
|
||
{
|
||
strBir1 = strSFZ.Mid(6,8);
|
||
}
|
||
if ( strBir1.GetLength()>0 )
|
||
{
|
||
strBir2 = strBir1.Left(4)+CString(_T("-"))+strBir1.Mid(4,2)+CString(_T("-"))+strBir1.Right(2);
|
||
_tcscpy(szName,strBir2);
|
||
}
|
||
}
|
||
try
|
||
{
|
||
|
||
COleDateTime abc;
|
||
CString str = szName;
|
||
str.Replace( _T(".") , _T("-") );
|
||
BOOL btime = abc.ParseDateTime(str,VAR_DATEVALUEONLY);
|
||
if ( abc.GetStatus() == COleDateTime::valid )
|
||
{
|
||
abc.GetAsSystemTime(user.tBirthday);
|
||
}
|
||
}
|
||
catch(...)
|
||
{
|
||
memset(&user.tBirthday,0,sizeof(user.tBirthday));
|
||
}
|
||
break;
|
||
case 3: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
BreakChar(szName,sizeof(Cuser.szFDJNum)-1);
|
||
_tcscpy(Cuser.szFDJNum , szName );
|
||
break;
|
||
case 4: //<2F><> <20><>
|
||
BreakChar(szName,sizeof(Suser.szSex)-1);
|
||
_tcscpy(Suser.szSex , szName );
|
||
break;
|
||
}
|
||
break;
|
||
|
||
case 4: //<2F><>˾
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 2:
|
||
case 5:
|
||
BreakChar(szName,sizeof(user.szLtd)-1);
|
||
_tcscpy( user.szLtd , szName );
|
||
break;
|
||
case 3: //<2F><><EFBFBD>̺<EFBFBD>
|
||
BreakChar(szName,sizeof(Cuser.szDPNum)-1);
|
||
_tcscpy(Cuser.szDPNum , szName );
|
||
break;
|
||
case 4: //<2F><> <20><>
|
||
BreakChar(szName,sizeof(user.szNickName)-1);
|
||
if ( m_bBirthday )
|
||
{
|
||
CString strSFZ=szName;
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
CString strBir1;
|
||
CString strBir2;
|
||
if ( strSFZ.GetLength() == 15 )
|
||
{
|
||
strBir1 = strSFZ.Mid(6,6);
|
||
strBir1 = CString(_T("19"))+strBir1;
|
||
}
|
||
if ( strSFZ.GetLength() == 18 )
|
||
{
|
||
strBir1 = strSFZ.Mid(6,8);
|
||
}
|
||
if ( strBir1.GetLength()>0 )
|
||
{
|
||
strBir2 = strBir1.Left(4)+CString(_T("-"))+strBir1.Mid(4,2)+CString(_T("-"))+strBir1.Right(2);
|
||
_tcscpy(szName,strBir2);
|
||
}
|
||
}
|
||
try
|
||
{
|
||
|
||
COleDateTime abc;
|
||
CString str = szName;
|
||
str.Replace( _T(".") , _T("-") );
|
||
BOOL btime = abc.ParseDateTime(str,VAR_DATEVALUEONLY);
|
||
if ( abc.GetStatus() == COleDateTime::valid )
|
||
{
|
||
abc.GetAsSystemTime(Suser.tBirthday);
|
||
}
|
||
}
|
||
catch(...)
|
||
{
|
||
memset(&Suser.tBirthday,0,sizeof(Suser.tBirthday));
|
||
}
|
||
break;
|
||
}
|
||
break;
|
||
case 5: //ְ<><D6B0>
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 2:
|
||
case 5:
|
||
BreakChar(szName,sizeof(user.szJob)-1);
|
||
_tcscpy( user.szJob , szName );
|
||
break;
|
||
case 3: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
try
|
||
{
|
||
BreakChar(szName,sizeof(user.szNickName)-1);
|
||
COleDateTime abc;
|
||
CString str = szName;
|
||
str.Replace( _T(".") , _T("-") );
|
||
BOOL btime = abc.ParseDateTime(str,VAR_DATEVALUEONLY);
|
||
if ( abc.GetStatus() == COleDateTime::valid )
|
||
{
|
||
abc.GetAsSystemTime(Cuser.tBuyDate);
|
||
}
|
||
}
|
||
catch(...)
|
||
{
|
||
memset(&Cuser.tBuyDate,0,sizeof(Cuser.tBuyDate));
|
||
}
|
||
break;
|
||
case 4: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
try
|
||
{
|
||
BreakChar(szName,sizeof(user.szNickName)-1);
|
||
COleDateTime abc;
|
||
CString str = szName;
|
||
str.Replace( _T(".") , _T("-") );
|
||
BOOL btime = abc.ParseDateTime(str,VAR_DATEVALUEONLY);
|
||
if ( abc.GetStatus() == COleDateTime::valid )
|
||
{
|
||
abc.GetAsSystemTime(Suser.tInDate);
|
||
}
|
||
}
|
||
catch(...)
|
||
{
|
||
memset(&Suser.tInDate,0,sizeof(Suser.tInDate));
|
||
}
|
||
break;
|
||
}
|
||
break;
|
||
case 6: //<2F><>ַ
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 2:
|
||
case 5:
|
||
BreakChar(szName,sizeof(user.szAddress)-1);
|
||
_tcscpy( user.szAddress , szName );
|
||
break;
|
||
case 3: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
try
|
||
{
|
||
BreakChar(szName,sizeof(user.szNickName)-1);
|
||
COleDateTime abc;
|
||
CString str = szName;
|
||
str.Replace( _T(".") , _T("-") );
|
||
BOOL btime = abc.ParseDateTime(str,VAR_DATEVALUEONLY);
|
||
if ( abc.GetStatus() == COleDateTime::valid )
|
||
{
|
||
abc.GetAsSystemTime(Cuser.tBXDate);
|
||
}
|
||
}
|
||
catch(...)
|
||
{
|
||
memset(&Cuser.tBXDate,0,sizeof(Cuser.tBXDate));
|
||
}
|
||
break;
|
||
case 4: //<2F><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>
|
||
try
|
||
{
|
||
BreakChar(szName,sizeof(user.szNickName)-1);
|
||
COleDateTime abc;
|
||
CString str = szName;
|
||
str.Replace( _T(".") , _T("-") );
|
||
BOOL btime = abc.ParseDateTime(str,VAR_DATEVALUEONLY);
|
||
if ( abc.GetStatus() == COleDateTime::valid )
|
||
{
|
||
abc.GetAsSystemTime(Suser.tOutDate);
|
||
}
|
||
}
|
||
catch(...)
|
||
{
|
||
memset(&Suser.tOutDate,0,sizeof(Suser.tOutDate));
|
||
}
|
||
break;
|
||
}
|
||
break;
|
||
case 7: //<2F>ֻ<EFBFBD>
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 5:
|
||
case 6:
|
||
case 9:
|
||
case 12:
|
||
{
|
||
BreakChar(szName,sizeof(user.szMobile)-1);
|
||
ExMobileGZM(szName); //ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
CString strTemp,str,str1;
|
||
strTemp=szName;
|
||
str = strTemp.Left(2);
|
||
str1= strTemp.Left(1);
|
||
if (!m_bAdd0 || str1==_T("0") || str == _T("12") || str == _T("13") || str == _T("14") || str==_T("15") ||str==_T("16") || str==_T("17") || str==_T("18") || str==_T("19") )
|
||
{
|
||
_tcscpy( user.szMobile , szName );
|
||
}
|
||
else
|
||
{
|
||
_stprintf(user.szMobile , _T("0%s") , szName );
|
||
}
|
||
}
|
||
break;
|
||
case 2:
|
||
case 7:
|
||
{
|
||
BreakChar(szName,sizeof(Luser.szMobile)-1);
|
||
ExMobileGZM(szName); //ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
CString strTemp,str,str1;
|
||
strTemp=szName;
|
||
str = strTemp.Left(2);
|
||
str1= strTemp.Left(1);
|
||
if (!m_bAdd0 || str1==_T("0") )
|
||
{
|
||
_tcscpy( Luser.szMobile , szName );
|
||
}
|
||
else
|
||
{
|
||
_stprintf(Luser.szMobile , _T("0%s") , szName );
|
||
}
|
||
}
|
||
break;
|
||
case 8:
|
||
case 11:
|
||
{
|
||
BreakChar(szName,sizeof(Luser.szMobile)-1);
|
||
ExMobileGZM(szName); //ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
CString strTemp,str,str1;
|
||
strTemp=szName;
|
||
str = strTemp.Left(2);
|
||
str1= strTemp.Left(1);
|
||
if (str == _T("12") || str == _T("13") || str == _T("14") || str==_T("15") ||str==_T("16") ||str==_T("17") || str==_T("18") || str==_T("19") )
|
||
{
|
||
_tcscpy( Luser.szMobile , szName );
|
||
}
|
||
}
|
||
break;
|
||
case 3: //<2F><>ϵ<EFBFBD><CFB5>1
|
||
BreakChar(szName,sizeof(Cuser.szLXR)-1);
|
||
_tcscpy(Cuser.szLXR , szName );
|
||
break;
|
||
case 4: //<2F><>ϵ<EFBFBD>绰
|
||
BreakChar(szName,sizeof(Suser.szTel)-1);
|
||
_tcscpy(Suser.szTel , szName );
|
||
break;
|
||
case 10:
|
||
BreakChar(szName,sizeof(PLuser.szMobile)-1);
|
||
ExMobileGZM(szName); //ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
CString strTemp,str,str1;
|
||
strTemp=szName;
|
||
str = strTemp.Left(2);
|
||
str1= strTemp.Left(1);
|
||
if (!m_bAdd0 || str1==_T("0") || str == _T("12") || str == _T("13") || str == _T("14") || str==_T("15") ||str==_T("16") || str==_T("17") || str==_T("18") || str==_T("19") )
|
||
{
|
||
_tcscpy( PLuser.szMobile , szName );
|
||
}
|
||
else
|
||
{
|
||
_stprintf(PLuser.szMobile , _T("0%s") , szName );
|
||
}
|
||
break;
|
||
|
||
}
|
||
break;
|
||
case 8: //<2F>绰
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 2:
|
||
case 5:
|
||
BreakChar(szName,sizeof(user.szTel)-1);
|
||
_tcscpy( user.szTel , szName );
|
||
break;
|
||
case 3: //<2F>ֻ<EFBFBD>1
|
||
BreakChar(szName,sizeof(Cuser.szMobile)-1);
|
||
_tcscpy(Cuser.szMobile , szName );
|
||
break;
|
||
case 4: //<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>
|
||
BreakChar(szName,sizeof(Suser.szMobile)-1);
|
||
_tcscpy(Suser.szMobile , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 9: //<2F>绰
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 2:
|
||
case 5:
|
||
BreakChar(szName,sizeof(user.szFax)-1);
|
||
_tcscpy( user.szFax , szName );
|
||
break;
|
||
case 3: //<2F>绰1
|
||
BreakChar(szName,sizeof(Cuser.szTel)-1);
|
||
_tcscpy(Cuser.szTel , szName );
|
||
break;
|
||
case 4: //Email
|
||
BreakChar(szName,sizeof(Suser.szEmail)-1);
|
||
_tcscpy(Suser.szEmail , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 10: //Email
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 2:
|
||
case 5:
|
||
BreakChar(szName,sizeof(user.szEmail)-1);
|
||
_tcscpy( user.szEmail , szName );
|
||
break;
|
||
case 3: //<2F><>ַ1
|
||
BreakChar(szName,sizeof(Cuser.szAddr)-1);
|
||
_tcscpy(Cuser.szAddr , szName );
|
||
break;
|
||
case 4: //<2F><>ַ
|
||
BreakChar(szName,sizeof(Suser.szAddr)-1);
|
||
_tcscpy(Suser.szAddr , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 11: //QQ
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 2:
|
||
case 5:
|
||
BreakChar(szName,sizeof(user.szQQ)-1);
|
||
_tcscpy( user.szQQ , szName );
|
||
break;
|
||
case 3: //<2F>ʱ<EFBFBD>1
|
||
BreakChar(szName,sizeof(Cuser.szPostcode)-1);
|
||
_tcscpy(Cuser.szPostcode , szName );
|
||
break;
|
||
case 4: //ҵ<><D2B5>Ա
|
||
BreakChar(szName,sizeof(Suser.szYWY)-1);
|
||
_tcscpy(Suser.szYWY , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 12: //BZ
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 5:
|
||
case 6:
|
||
case 9:
|
||
BreakChar(szName,sizeof(user.szBZ)-1);
|
||
_tcscpy( user.szBZ , szName );
|
||
break;
|
||
case 2:
|
||
BreakChar(szName,sizeof(Luser.szBZ)-1);
|
||
_tcscpy( Luser.szBZ , szName );
|
||
break;
|
||
case 3: //<2F><>λ1
|
||
BreakChar(szName,sizeof(Cuser.szCorp)-1);
|
||
_tcscpy(Cuser.szCorp , szName );
|
||
break;
|
||
case 4: //<2F><><EFBFBD><EFBFBD>
|
||
BreakChar(szName,sizeof(Suser.szPrice)-1);
|
||
_tcscpy(Suser.szPrice , szName );
|
||
break;
|
||
case 10:
|
||
BreakChar(szName,sizeof(PLuser.szBZ)-1);
|
||
_tcscpy( PLuser.szBZ , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 13:
|
||
switch ( m_lInportType )
|
||
{
|
||
case 3: //<2F><><EFBFBD><EFBFBD>1
|
||
BreakChar(szName,sizeof(user.szNickName)-1);
|
||
if ( m_bBirthday )
|
||
{
|
||
CString strSFZ=szName;
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
CString strBir1;
|
||
CString strBir2;
|
||
if ( strSFZ.GetLength() == 15 )
|
||
{
|
||
strBir1 = strSFZ.Mid(6,6);
|
||
strBir1 = CString(_T("19"))+strBir1;
|
||
}
|
||
if ( strSFZ.GetLength() == 18 )
|
||
{
|
||
strBir1 = strSFZ.Mid(6,8);
|
||
}
|
||
if ( strBir1.GetLength()>0 )
|
||
{
|
||
strBir2 = strBir1.Left(4)+CString(_T("-"))+strBir1.Mid(4,2)+CString(_T("-"))+strBir1.Right(2);
|
||
_tcscpy(szName,strBir2);
|
||
}
|
||
}
|
||
try
|
||
{
|
||
|
||
COleDateTime abc;
|
||
CString str = szName;
|
||
str.Replace( _T(".") , _T("-") );
|
||
BOOL btime = abc.ParseDateTime(str,VAR_DATEVALUEONLY);
|
||
if ( abc.GetStatus() == COleDateTime::valid )
|
||
{
|
||
abc.GetAsSystemTime(Cuser.tBirthday);
|
||
}
|
||
}
|
||
catch(...)
|
||
{
|
||
memset(&Cuser.tBirthday,0,sizeof(Cuser.tBirthday));
|
||
}
|
||
break;
|
||
case 4: //<2F><>ע
|
||
BreakChar(szName,sizeof(Suser.szBZ)-1);
|
||
_tcscpy(Suser.szBZ , szName );
|
||
break;
|
||
case 6:
|
||
BreakChar(szName,sizeof(user.szTel)-1);
|
||
_tcscpy( user.szTel , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 14:
|
||
switch ( m_lInportType )
|
||
{
|
||
case 3: //<2F><>ϵ<EFBFBD><CFB5>2
|
||
BreakChar(szName,sizeof(Cuser.szLXR2)-1);
|
||
_tcscpy(Cuser.szLXR2 , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 15:
|
||
switch ( m_lInportType )
|
||
{
|
||
case 3: //<2F>ֻ<EFBFBD>2
|
||
BreakChar(szName,sizeof(Cuser.szMobile2)-1);
|
||
_tcscpy(Cuser.szMobile2 , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 16:
|
||
switch ( m_lInportType )
|
||
{
|
||
case 3: //<2F>绰2
|
||
BreakChar(szName,sizeof(Cuser.szTel2)-1);
|
||
_tcscpy(Cuser.szTel2 , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 17:
|
||
switch ( m_lInportType )
|
||
{
|
||
case 3: //<2F><>ַ2
|
||
BreakChar(szName,sizeof(Cuser.szAddr2)-1);
|
||
_tcscpy(Cuser.szAddr2 , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 18:
|
||
switch ( m_lInportType )
|
||
{
|
||
case 3: //<2F>ʱ<EFBFBD>2
|
||
BreakChar(szName,sizeof(Cuser.szPostcode2)-1);
|
||
_tcscpy(Cuser.szPostcode2 , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 19:
|
||
switch ( m_lInportType )
|
||
{
|
||
case 3: //<2F><>λ2
|
||
BreakChar(szName,sizeof(Cuser.szCorp2)-1);
|
||
_tcscpy(Cuser.szCorp2 , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 20:
|
||
switch ( m_lInportType )
|
||
{
|
||
case 3: //<2F><><EFBFBD><EFBFBD>2
|
||
BreakChar(szName,sizeof(user.szNickName)-1);
|
||
if ( m_bBirthday )
|
||
{
|
||
CString strSFZ=szName;
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
CString strBir1;
|
||
CString strBir2;
|
||
if ( strSFZ.GetLength() == 15 )
|
||
{
|
||
strBir1 = strSFZ.Mid(6,6);
|
||
strBir1 = CString(_T("19"))+strBir1;
|
||
}
|
||
if ( strSFZ.GetLength() == 18 )
|
||
{
|
||
strBir1 = strSFZ.Mid(6,8);
|
||
}
|
||
if ( strBir1.GetLength()>0 )
|
||
{
|
||
strBir2 = strBir1.Left(4)+CString(_T("-"))+strBir1.Mid(4,2)+CString(_T("-"))+strBir1.Right(2);
|
||
_tcscpy(szName,strBir2);
|
||
}
|
||
}
|
||
try
|
||
{
|
||
|
||
COleDateTime abc;
|
||
CString str = szName;
|
||
str.Replace( _T(".") , _T("-") );
|
||
BOOL btime = abc.ParseDateTime(str,VAR_DATEVALUEONLY);
|
||
if ( abc.GetStatus() == COleDateTime::valid )
|
||
{
|
||
abc.GetAsSystemTime(Cuser.tBirthday2);
|
||
}
|
||
}
|
||
catch(...)
|
||
{
|
||
memset(&Cuser.tBirthday2,0,sizeof(Cuser.tBirthday2));
|
||
}
|
||
break;
|
||
}
|
||
break;
|
||
case 21:
|
||
switch ( m_lInportType )
|
||
{
|
||
case 3: //<2F><>ϵ<EFBFBD><CFB5>2
|
||
BreakChar(szName,sizeof(Cuser.szBZ)-1);
|
||
_tcscpy(Cuser.szBZ , szName );
|
||
break;
|
||
}
|
||
break;
|
||
|
||
}
|
||
}
|
||
}
|
||
BOOL bInvolid=false;
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 5:
|
||
if (_tcslen(user.szName) >0 || _tcslen(user.szTel) >0 ||
|
||
_tcslen(user.szMobile) >0)
|
||
bInvolid = true;
|
||
break;
|
||
case 6:
|
||
case 9:
|
||
case 12:
|
||
ExMobileGZM(user.szMobile); //ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
bInvolid = isMobileNum( user.szMobile ); //<2F>ҵ<EFBFBD><D2B5>º<EFBFBD><C2BA><EFBFBD>
|
||
break;
|
||
case 2:
|
||
case 7:
|
||
case 8:
|
||
case 11:
|
||
if ( _tcslen(Luser.szMobile) >0)
|
||
bInvolid = true;
|
||
break;
|
||
case 3: //<2F><>ϵ<EFBFBD><CFB5>2
|
||
if (_tcslen(Cuser.szName) >0 || _tcslen(Cuser.szCarNum) >0 ||
|
||
_tcslen(Cuser.szMobile) >0 || _tcslen(Cuser.szMobile2) >0 )
|
||
bInvolid = true;
|
||
break;
|
||
case 4: //<2F><>ϵ<EFBFBD><CFB5>2
|
||
if (_tcslen(Suser.szName) >0 || _tcslen(Suser.szTel) >0 ||
|
||
_tcslen(Suser.szMobile) >0 )
|
||
bInvolid = true;
|
||
break;
|
||
case 10:
|
||
ExMobileGZM(PLuser.szMobile); //ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
bInvolid = isMobileNum( PLuser.szMobile ); //<2F>ҵ<EFBFBD><D2B5>º<EFBFBD><C2BA><EFBFBD>
|
||
break;
|
||
|
||
}
|
||
|
||
|
||
if ( bInvolid )
|
||
{
|
||
if (_tcslen(user.szName) <= 0)
|
||
{
|
||
if (m_strDefName.GetLength() <= 0)
|
||
_stprintf(user.szName, _T("IP%d"), lNameCount);
|
||
else
|
||
_stprintf(user.szName, m_strDefName);
|
||
}
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
||
lNameCount ++;
|
||
//_stprintf( szName , _T("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>->%d") , lNameCount );
|
||
//m_B_Tips.SetWindowText( szName );
|
||
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0: //˽<>˵绰<CBB5><E7BBB0>
|
||
{
|
||
//<2F>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD>ʾ
|
||
BOOL bAdd = true;
|
||
if ( m_bReMobile && _tcslen( user.szMobile ) > 0 )
|
||
{
|
||
if ( _tcslen(m_pFPAddress->m_szGroupID)<=0)
|
||
str.Format( _T("select * from paddress where Mobile='%s' and (GroupID is null or len(GroupID)=0) order by mobile ") , user.szMobile );
|
||
else
|
||
str.Format( _T("select * from paddress where Mobile='%s' and GroupID='%s' order by mobile ") , user.szMobile,m_pFPAddress->m_szGroupID );
|
||
if ( m_AdoRS.Open(str) && !m_AdoRS.IsEOF() )
|
||
{
|
||
//<2F>ҵ<EFBFBD><D2B5><EFBFBD>¼<EFBFBD><C2BC>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8>ĺ<EFBFBD><C4BA><EFBFBD>
|
||
m_AdoRS.Close();
|
||
if ( bShowReMobile )
|
||
{
|
||
str.Format( _T("%s,%s") , user.szName , user.szMobile );
|
||
DLG_AddWarning dlg(str,this); //<2F><>ʾ<EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>
|
||
dlg.DoModal();
|
||
bShowReMobile = dlg.m_bShowReMobile;
|
||
lReMobileType = dlg.m_lReMobileType;
|
||
}
|
||
if ( lReMobileType == 0 ) //<2F><><EFBFBD><EFBFBD>
|
||
{
|
||
bAdd = false;
|
||
}
|
||
}
|
||
}
|
||
|
||
#ifdef MOBSET_OEM_SNLD
|
||
if ( _tcslen(user.szMobile)<=0 ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ר<EFBFBD>棬<EFBFBD>Զ<EFBFBD><D4B6>Ӹ<EFBFBD>Ŀ¼<C4BF><C2BC>ȡ<EFBFBD>û<EFBFBD><C3BB>ֻ<EFBFBD><D6BB><EFBFBD>
|
||
{
|
||
str.Format( _T("select * from paddress where Name='%s' and (GroupID is null or len(GroupID)=0)") , user.szName );
|
||
if ( m_AdoRS.Open(str) && m_AdoRS.GetRecordCount()>0 )
|
||
{
|
||
m_AdoRS.MoveFirst();
|
||
m_AdoRS.GetCollect( _T("Mobile") , user.szMobile );
|
||
m_AdoRS.Close();
|
||
}
|
||
}
|
||
#endif
|
||
if ( bAdd )
|
||
{
|
||
_tcscpy( user.szUserType,_T("1") ); //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||
_tcscpy( user.szGroupID , m_pFPAddress->m_szGroupID); //<2F>û<EFBFBD><C3BB><EFBFBD>
|
||
|
||
m_pFPAddress->AddUser(user,false);
|
||
}
|
||
}
|
||
break;
|
||
case 1: //<2F><><EFBFBD><EFBFBD>ͨѶ¼
|
||
case 5:
|
||
{
|
||
PAddress * pUser = new PAddress;
|
||
*pUser = user;
|
||
m_User.AddTail( pUser );
|
||
}
|
||
break;
|
||
case 2: //<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
||
{
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
||
m_pDlgSend->AddUser(Luser , -1);
|
||
}
|
||
break;
|
||
case 7: //<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
||
{
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
||
m_pDlgSendFax->AddUser(Luser , -1);
|
||
}
|
||
break;
|
||
case 8: //<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
||
{
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
||
m_pDlgSendMms->AddUser(Luser , -1);
|
||
}
|
||
break;
|
||
case 11: //<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
||
{
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
||
m_pQXBox_GroupDlg->AddUser(Luser , -1);
|
||
}
|
||
break;
|
||
case 3: //<2F><><EFBFBD><EFBFBD>ͨѶ¼
|
||
{
|
||
//<2F>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD>ʾ
|
||
BOOL bAdd = true;
|
||
if ( m_bReMobile && _tcslen( Cuser.szMobile ) > 0 )
|
||
{
|
||
if ( _tcslen(m_pFCAddress->m_szGroupID)<=0)
|
||
str.Format( _T("select * from caddress where Mobile='%s' and (GroupID is null or len(GroupID)=0)") , Cuser.szMobile );
|
||
else
|
||
str.Format( _T("select * from caddress where Mobile='%s' and GroupID='%s'") , Cuser.szMobile,m_pFCAddress->m_szGroupID );
|
||
if ( m_AdoRS.Open(str) && m_AdoRS.GetRecordCount()>0 )
|
||
{
|
||
//<2F>ҵ<EFBFBD><D2B5><EFBFBD>¼<EFBFBD><C2BC>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8>ĺ<EFBFBD><C4BA><EFBFBD>
|
||
m_AdoRS.Close();
|
||
if ( bShowReMobile )
|
||
{
|
||
str.Format( _T("%s,%s") , Cuser.szName , Cuser.szMobile );
|
||
DLG_AddWarning dlg(str,this); //<2F><>ʾ<EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>
|
||
dlg.DoModal();
|
||
bShowReMobile = dlg.m_bShowReMobile;
|
||
lReMobileType = dlg.m_lReMobileType;
|
||
}
|
||
|
||
if ( lReMobileType == 0 ) //<2F><><EFBFBD><EFBFBD>
|
||
{
|
||
bAdd = false;
|
||
}
|
||
}
|
||
}
|
||
if ( bAdd )
|
||
{
|
||
_tcscpy( Cuser.szUserType,_T("1") ); //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||
_tcscpy( Cuser.szGroupID , m_pFCAddress->m_szGroupID); //<2F>û<EFBFBD><C3BB><EFBFBD>
|
||
|
||
m_pFCAddress->AddUser(Cuser,false);
|
||
}
|
||
}
|
||
break;
|
||
case 4: //֤ȯͨѶ¼
|
||
{
|
||
//<2F>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD>ʾ
|
||
BOOL bAdd = true;
|
||
if ( m_bReMobile && _tcslen( Suser.szMobile ) > 0 )
|
||
{
|
||
if ( _tcslen(m_pFSAddress->m_szGroupID)<=0)
|
||
str.Format( _T("select * from saddress where Mobile='%s' and (GroupID is null or len(GroupID)=0)") , Suser.szMobile );
|
||
else
|
||
str.Format( _T("select * from saddress where Mobile='%s' and GroupID='%s'") , Suser.szMobile,m_pFSAddress->m_szGroupID );
|
||
if ( m_AdoRS.Open(str) && m_AdoRS.GetRecordCount()>0 )
|
||
{
|
||
//<2F>ҵ<EFBFBD><D2B5><EFBFBD>¼<EFBFBD><C2BC>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8>ĺ<EFBFBD><C4BA><EFBFBD>
|
||
m_AdoRS.Close();
|
||
if ( bShowReMobile )
|
||
{
|
||
str.Format( _T("%s,%s") , Suser.szName , Suser.szMobile );
|
||
DLG_AddWarning dlg(str,this); //<2F><>ʾ<EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>
|
||
dlg.DoModal();
|
||
bShowReMobile = dlg.m_bShowReMobile;
|
||
lReMobileType = dlg.m_lReMobileType;
|
||
}
|
||
|
||
if ( lReMobileType == 0 ) //<2F><><EFBFBD><EFBFBD>
|
||
{
|
||
bAdd = false;
|
||
}
|
||
}
|
||
}
|
||
if ( bAdd )
|
||
{
|
||
_tcscpy( Suser.szUserType,_T("1") ); //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||
_tcscpy( Suser.szGroupID , m_pFSAddress->m_szGroupID); //<2F>û<EFBFBD><C3BB><EFBFBD>
|
||
|
||
m_pFSAddress->AddUser(Suser,false);
|
||
}
|
||
}
|
||
break;
|
||
|
||
case 6: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
{
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
||
m_pFBack->AddUser(user , -1);
|
||
}
|
||
break;
|
||
case 9: //ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
{
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
||
m_pTDSet->AddUser(user , -1);
|
||
}
|
||
break;
|
||
case 10: //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||
{
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
||
m_pPLFile->AddUser(PLuser , -1);
|
||
}
|
||
break;
|
||
case 12: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
{
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
||
m_pWhite2->AddUser(user , -1);
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
|
||
lLineCount ++;
|
||
lCount2 ++;
|
||
|
||
if ( m_bShowProcess )
|
||
{
|
||
m_DlgProcess.SetProcess( lCountA+1,lCount2 );
|
||
if ( lCountA+1 <= lCount2 ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ⱦ<EFBFBD><C8BE><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD>
|
||
{
|
||
m_bShowProcess = false;
|
||
}
|
||
}
|
||
|
||
if (lExcelOpenType == 1 ) //ado<64><6F>ʽ
|
||
{
|
||
adoRS.MoveNext();
|
||
if (adoRS.IsEOF() )
|
||
break;
|
||
}
|
||
}
|
||
if (lExcelOpenType == 1 ) //ado<64><6F>ʽ
|
||
{
|
||
adoRS.Close();
|
||
adoConnect.Close();
|
||
}
|
||
}
|
||
else
|
||
{
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
||
CFile fTalk;
|
||
if ( !fTalk.Open( strFileName , CFile::modeRead ) )
|
||
{
|
||
strTemp.Format(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>:%s\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , strFileName );
|
||
MessageBox( strTemp , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING|MB_OK );
|
||
m_DlgProcess.SetProcess( 100 , 100 );
|
||
m_bShowProcess = false;
|
||
return ;
|
||
}
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
||
TCHAR szPNBuf[1024];
|
||
TCHAR szName[1024];
|
||
long lLineCount=0;
|
||
long lNameCount=0;
|
||
BOOL bShowReMobile = true;
|
||
long lReMobileType = 0;
|
||
CString str;
|
||
|
||
#ifdef UNICODE
|
||
TCHAR szTemp[512]={0};
|
||
char szTempA[512]={0};
|
||
char szPNBuf2[512]={0};
|
||
#endif
|
||
PAddress user;
|
||
CKAddress Cuser;
|
||
CSAddress Suser;
|
||
Send_User Luser;
|
||
PLUser PLuser;
|
||
//BYTE * pFileReadBuf = new BYTE[2*1024*1024]; //2M<32><4D><EFBFBD><EFBFBD>
|
||
BYTE * pFileReadBuf = new BYTE[1024]; //2M<32><4D><EFBFBD><EFBFBD>
|
||
long lFileReadBufLen=0;
|
||
|
||
while (m_bShowProcess)
|
||
{
|
||
memset( szPNBuf , 0 , sizeof( szPNBuf ) );
|
||
#ifdef UNICODE
|
||
if ( ReadLine( &fTalk , "\n", szPNBuf2 , sizeof( szPNBuf2 )-5 , pFileReadBuf,lFileReadBufLen ) )
|
||
{
|
||
_tcscpy(szPNBuf,CAdoRecordSet::Ado_A2W(szPNBuf2,szTemp));
|
||
|
||
#else
|
||
if ( ReadLine( &fTalk , "\n" , szPNBuf , sizeof( szPNBuf )-5 , pFileReadBuf,lFileReadBufLen ) ) //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
||
{
|
||
#endif
|
||
|
||
ExChar( szPNBuf , _T("\r") );
|
||
ExChar( szPNBuf , _T("\n") );
|
||
_tcscat(szPNBuf,_T(",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"));
|
||
memset(&user,0,sizeof(user));
|
||
memset(&Cuser,0,sizeof(Cuser));
|
||
memset(&Suser,0,sizeof(Suser));
|
||
memset(&Luser,0,sizeof(Luser));
|
||
memset(&PLuser,0,sizeof(PLuser));
|
||
|
||
for ( i=0 ; i<m_lColCount ; i++ ) //<2F><>ʼ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>
|
||
{
|
||
memset(szName , 0 , sizeof(szName) );
|
||
if ( GetReqMess( szPNBuf , szName , i , ',' ) )
|
||
{
|
||
AllTrim(szName);
|
||
ExChar(szName,_T("\r"));
|
||
ExChar(szName,_T("\n"));
|
||
ExChar(szName,_T("\t"));
|
||
//CString strTemp = szName;
|
||
//strTemp.Replace( _T("'") , _T("''" ));
|
||
//_tcscpy(szName , strTemp );
|
||
|
||
switch (lDYField[i])
|
||
{
|
||
case 0: //<2F><><EFBFBD><EFBFBD>
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 5:
|
||
BreakChar(szName,sizeof(user.szName)-1);
|
||
_tcscpy(user.szName , szName );
|
||
break;
|
||
case 2:
|
||
case 7:
|
||
BreakChar(szName,sizeof(Luser.szName)-1);
|
||
_tcscpy(Luser.szName , szName );
|
||
break;
|
||
case 3: //<2F><><EFBFBD><EFBFBD>
|
||
BreakChar(szName,sizeof(Cuser.szName)-1);
|
||
_tcscpy(Cuser.szName , szName );
|
||
break;
|
||
case 4: //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>
|
||
BreakChar(szName,sizeof(Suser.szBH)-1);
|
||
_tcscpy(Suser.szBH , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 1: //<2F>dz<EFBFBD>
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 5:
|
||
BreakChar(szName,sizeof(user.szNickName)-1);
|
||
_tcscpy(user.szNickName , szName );
|
||
break;
|
||
case 2:
|
||
BreakChar(szName,sizeof(Luser.szNickName)-1);
|
||
_tcscpy(Luser.szNickName , szName );
|
||
break;
|
||
case 3: //<2F><><EFBFBD><EFBFBD>
|
||
BreakChar(szName,sizeof(Cuser.szCarNum)-1);
|
||
_tcscpy(Cuser.szCarNum , szName );
|
||
break;
|
||
case 4: //<2F><> <20><>
|
||
BreakChar(szName,sizeof(Suser.szName)-1);
|
||
_tcscpy(Suser.szName , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 2: //<2F>Ա<EFBFBD>
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 2:
|
||
case 5:
|
||
BreakChar(szName,sizeof(user.szSex)-1);
|
||
_tcscpy(user.szSex , szName );
|
||
break;
|
||
case 3: //<2F><><EFBFBD><EFBFBD>
|
||
BreakChar(szName,sizeof(Cuser.szCarType)-1);
|
||
_tcscpy(Cuser.szCarType , szName );
|
||
break;
|
||
case 4: //<2F><> <20><>
|
||
BreakChar(szName,sizeof(Suser.szNickName)-1);
|
||
_tcscpy(Suser.szNickName , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 3: //<2F><><EFBFBD><EFBFBD>
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 2:
|
||
case 5:
|
||
BreakChar(szName,sizeof(user.szNickName)-1);
|
||
if ( m_bBirthday )
|
||
{
|
||
CString strSFZ=szName;
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
CString strBir1;
|
||
CString strBir2;
|
||
if ( strSFZ.GetLength() == 15 )
|
||
{
|
||
strBir1 = strSFZ.Mid(6,6);
|
||
strBir1 = CString(_T("19"))+strBir1;
|
||
}
|
||
if ( strSFZ.GetLength() == 18 )
|
||
{
|
||
strBir1 = strSFZ.Mid(6,8);
|
||
}
|
||
if ( strBir1.GetLength()>0 )
|
||
{
|
||
strBir2 = strBir1.Left(4)+CString(_T("-"))+strBir1.Mid(4,2)+CString(_T("-"))+strBir1.Right(2);
|
||
_tcscpy(szName,strBir2);
|
||
}
|
||
}
|
||
try
|
||
{
|
||
|
||
COleDateTime abc;
|
||
CString str = szName;
|
||
str.Replace( _T(".") , _T("-") );
|
||
BOOL btime = abc.ParseDateTime(str,VAR_DATEVALUEONLY);
|
||
if ( abc.GetStatus() == COleDateTime::valid )
|
||
{
|
||
abc.GetAsSystemTime(user.tBirthday);
|
||
}
|
||
}
|
||
catch(...)
|
||
{
|
||
memset(&user.tBirthday,0,sizeof(user.tBirthday));
|
||
}
|
||
break;
|
||
case 3: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
BreakChar(szName,sizeof(Cuser.szFDJNum)-1);
|
||
_tcscpy(Cuser.szFDJNum , szName );
|
||
break;
|
||
case 4: //<2F><> <20><>
|
||
BreakChar(szName,sizeof(Suser.szSex)-1);
|
||
_tcscpy(Suser.szSex , szName );
|
||
break;
|
||
}
|
||
break;
|
||
|
||
case 4: //<2F><>˾
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 2:
|
||
case 5:
|
||
BreakChar(szName,sizeof(user.szLtd)-1);
|
||
_tcscpy( user.szLtd , szName );
|
||
break;
|
||
case 3: //<2F><><EFBFBD>̺<EFBFBD>
|
||
BreakChar(szName,sizeof(Cuser.szDPNum)-1);
|
||
_tcscpy(Cuser.szDPNum , szName );
|
||
break;
|
||
case 4: //<2F><> <20><>
|
||
BreakChar(szName,sizeof(user.szNickName)-1);
|
||
if ( m_bBirthday )
|
||
{
|
||
CString strSFZ=szName;
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
CString strBir1;
|
||
CString strBir2;
|
||
if ( strSFZ.GetLength() == 15 )
|
||
{
|
||
strBir1 = strSFZ.Mid(6,6);
|
||
strBir1 = CString(_T("19"))+strBir1;
|
||
}
|
||
if ( strSFZ.GetLength() == 18 )
|
||
{
|
||
strBir1 = strSFZ.Mid(6,8);
|
||
}
|
||
if ( strBir1.GetLength()>0 )
|
||
{
|
||
strBir2 = strBir1.Left(4)+CString(_T("-"))+strBir1.Mid(4,2)+CString(_T("-"))+strBir1.Right(2);
|
||
_tcscpy(szName,strBir2);
|
||
}
|
||
}
|
||
try
|
||
{
|
||
|
||
COleDateTime abc;
|
||
CString str = szName;
|
||
str.Replace( _T(".") , _T("-") );
|
||
BOOL btime = abc.ParseDateTime(str,VAR_DATEVALUEONLY);
|
||
if ( abc.GetStatus() == COleDateTime::valid )
|
||
{
|
||
abc.GetAsSystemTime(Suser.tBirthday);
|
||
}
|
||
}
|
||
catch(...)
|
||
{
|
||
memset(&Suser.tBirthday,0,sizeof(Suser.tBirthday));
|
||
}
|
||
break;
|
||
}
|
||
break;
|
||
case 5: //ְ<><D6B0>
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 2:
|
||
case 5:
|
||
BreakChar(szName,sizeof(user.szJob)-1);
|
||
_tcscpy( user.szJob , szName );
|
||
break;
|
||
case 3: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
try
|
||
{
|
||
BreakChar(szName,sizeof(user.szNickName)-1);
|
||
COleDateTime abc;
|
||
CString str = szName;
|
||
str.Replace( _T(".") , _T("-") );
|
||
BOOL btime = abc.ParseDateTime(str,VAR_DATEVALUEONLY);
|
||
if ( abc.GetStatus() == COleDateTime::valid )
|
||
{
|
||
abc.GetAsSystemTime(Cuser.tBuyDate);
|
||
}
|
||
}
|
||
catch(...)
|
||
{
|
||
memset(&Cuser.tBuyDate,0,sizeof(Cuser.tBuyDate));
|
||
}
|
||
break;
|
||
case 4: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
try
|
||
{
|
||
BreakChar(szName,sizeof(user.szNickName)-1);
|
||
COleDateTime abc;
|
||
CString str = szName;
|
||
str.Replace( _T(".") ,_T("-") );
|
||
BOOL btime = abc.ParseDateTime(str,VAR_DATEVALUEONLY);
|
||
if ( abc.GetStatus() == COleDateTime::valid )
|
||
{
|
||
abc.GetAsSystemTime(Suser.tInDate);
|
||
}
|
||
}
|
||
catch(...)
|
||
{
|
||
memset(&Suser.tInDate,0,sizeof(Suser.tInDate));
|
||
}
|
||
break;
|
||
}
|
||
break;
|
||
case 6: //<2F><>ַ
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 2:
|
||
case 5:
|
||
BreakChar(szName,sizeof(user.szAddress)-1);
|
||
_tcscpy( user.szAddress , szName );
|
||
break;
|
||
case 3: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
try
|
||
{
|
||
BreakChar(szName,sizeof(user.szNickName)-1);
|
||
COleDateTime abc;
|
||
CString str = szName;
|
||
str.Replace( _T(".") , _T("-") );
|
||
BOOL btime = abc.ParseDateTime(str,VAR_DATEVALUEONLY);
|
||
if ( abc.GetStatus() == COleDateTime::valid )
|
||
{
|
||
abc.GetAsSystemTime(Cuser.tBXDate);
|
||
}
|
||
}
|
||
catch(...)
|
||
{
|
||
memset(&Cuser.tBXDate,0,sizeof(Cuser.tBXDate));
|
||
}
|
||
break;
|
||
case 4: //<2F><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>
|
||
try
|
||
{
|
||
BreakChar(szName,sizeof(user.szNickName)-1);
|
||
COleDateTime abc;
|
||
CString str = szName;
|
||
str.Replace( _T(".") , _T("-") );
|
||
BOOL btime = abc.ParseDateTime(str,VAR_DATEVALUEONLY);
|
||
if ( abc.GetStatus() == COleDateTime::valid )
|
||
{
|
||
abc.GetAsSystemTime(Suser.tOutDate);
|
||
}
|
||
}
|
||
catch(...)
|
||
{
|
||
memset(&Suser.tOutDate,0,sizeof(Suser.tOutDate));
|
||
}
|
||
break;
|
||
}
|
||
break;
|
||
case 7: //<2F>ֻ<EFBFBD>
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 5:
|
||
case 6:
|
||
case 9:
|
||
case 12:
|
||
{
|
||
BreakChar(szName,sizeof(user.szMobile)-1);
|
||
ExMobileGZM(szName); //ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
CString strTemp,str,str1;
|
||
strTemp=szName;
|
||
str = strTemp.Left(2);
|
||
str1= strTemp.Left(1);
|
||
if (!m_bAdd0 || str1==_T("0") || str == _T("12") || str == _T("13") || str == _T("14") || str==_T("15") || str==_T("16") ||str==_T("17") || str==_T("18") || str==_T("19") )
|
||
{
|
||
_tcscpy( user.szMobile , szName );
|
||
}
|
||
else
|
||
{
|
||
_stprintf(user.szMobile , _T("0%s") , szName );
|
||
}
|
||
}
|
||
break;
|
||
case 2:
|
||
case 7:
|
||
{
|
||
BreakChar(szName,sizeof(Luser.szMobile)-1);
|
||
ExMobileGZM(szName); //ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
CString strTemp,str,str1;
|
||
strTemp=szName;
|
||
str = strTemp.Left(2);
|
||
str1= strTemp.Left(1);
|
||
if (!m_bAdd0 || str1==_T("0") )
|
||
{
|
||
_tcscpy( Luser.szMobile , szName );
|
||
}
|
||
else
|
||
{
|
||
_stprintf(Luser.szMobile , _T("0%s") , szName );
|
||
}
|
||
}
|
||
case 8:
|
||
case 11:
|
||
{
|
||
BreakChar(szName,sizeof(Luser.szMobile)-1);
|
||
ExMobileGZM(szName); //ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
CString strTemp,str,str1;
|
||
strTemp=szName;
|
||
str = strTemp.Left(2);
|
||
str1= strTemp.Left(1);
|
||
if (str == _T("12") || str == _T("13") || str == _T("14") || str==_T("15") ||str==_T("16") ||str==_T("17") || str==_T("18") || str==_T("19") )
|
||
{
|
||
_tcscpy( Luser.szMobile , szName );
|
||
}
|
||
}
|
||
break;
|
||
case 3: //<2F><>ϵ<EFBFBD><CFB5>1
|
||
BreakChar(szName,sizeof(Cuser.szLXR)-1);
|
||
_tcscpy(Cuser.szLXR , szName );
|
||
break;
|
||
case 4: //<2F><>ϵ<EFBFBD>绰
|
||
BreakChar(szName,sizeof(Suser.szTel)-1);
|
||
_tcscpy(Suser.szTel , szName );
|
||
break;
|
||
case 10:
|
||
{
|
||
BreakChar(szName,sizeof(PLuser.szMobile)-1);
|
||
ExMobileGZM(szName); //ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
CString strTemp,str,str1;
|
||
strTemp=szName;
|
||
str = strTemp.Left(2);
|
||
str1= strTemp.Left(1);
|
||
if (!m_bAdd0 || str1==_T("0") || str == _T("12") || str == _T("13") || str == _T("14") || str==_T("15") || str==_T("16") ||str==_T("17") || str==_T("18") || str==_T("19") )
|
||
{
|
||
_tcscpy( PLuser.szMobile , szName );
|
||
}
|
||
else
|
||
{
|
||
_stprintf(PLuser.szMobile , _T("0%s") , szName );
|
||
}
|
||
}
|
||
break;
|
||
}
|
||
break;
|
||
case 8: //<2F>绰
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 2:
|
||
case 5:
|
||
BreakChar(szName,sizeof(user.szTel)-1);
|
||
_tcscpy( user.szTel , szName );
|
||
break;
|
||
case 3: //<2F>ֻ<EFBFBD>1
|
||
BreakChar(szName,sizeof(Cuser.szMobile)-1);
|
||
_tcscpy(Cuser.szMobile , szName );
|
||
break;
|
||
case 4: //<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>
|
||
BreakChar(szName,sizeof(Suser.szMobile)-1);
|
||
_tcscpy(Suser.szMobile , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 9: //<2F>绰
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 2:
|
||
case 5:
|
||
BreakChar(szName,sizeof(user.szFax)-1);
|
||
_tcscpy( user.szFax , szName );
|
||
break;
|
||
case 3: //<2F>绰1
|
||
BreakChar(szName,sizeof(Cuser.szTel)-1);
|
||
_tcscpy(Cuser.szTel , szName );
|
||
break;
|
||
case 4: //Email
|
||
BreakChar(szName,sizeof(Suser.szEmail)-1);
|
||
_tcscpy(Suser.szEmail , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 10: //Email
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 2:
|
||
case 5:
|
||
BreakChar(szName,sizeof(user.szEmail)-1);
|
||
_tcscpy( user.szEmail , szName );
|
||
break;
|
||
case 3: //<2F><>ַ1
|
||
BreakChar(szName,sizeof(Cuser.szAddr)-1);
|
||
_tcscpy(Cuser.szAddr , szName );
|
||
break;
|
||
case 4: //<2F><>ַ
|
||
BreakChar(szName,sizeof(Suser.szAddr)-1);
|
||
_tcscpy(Suser.szAddr , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 11: //QQ
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 2:
|
||
case 5:
|
||
BreakChar(szName,sizeof(user.szQQ)-1);
|
||
_tcscpy( user.szQQ , szName );
|
||
break;
|
||
case 3: //<2F>ʱ<EFBFBD>1
|
||
BreakChar(szName,sizeof(Cuser.szPostcode)-1);
|
||
_tcscpy(Cuser.szPostcode , szName );
|
||
break;
|
||
case 4: //ҵ<><D2B5>Ա
|
||
BreakChar(szName,sizeof(Suser.szYWY)-1);
|
||
_tcscpy(Suser.szYWY , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 12: //BZ
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 5:
|
||
case 6:
|
||
case 9:
|
||
BreakChar(szName,sizeof(user.szBZ)-1);
|
||
_tcscpy( user.szBZ , szName );
|
||
break;
|
||
case 2:
|
||
BreakChar(szName,sizeof(Luser.szBZ)-1);
|
||
_tcscpy( Luser.szBZ , szName );
|
||
break;
|
||
case 3: //<2F><>λ1
|
||
BreakChar(szName,sizeof(Cuser.szCorp)-1);
|
||
_tcscpy(Cuser.szCorp , szName );
|
||
break;
|
||
case 4: //<2F><><EFBFBD><EFBFBD>
|
||
BreakChar(szName,sizeof(Suser.szPrice)-1);
|
||
_tcscpy(Suser.szPrice , szName );
|
||
break;
|
||
case 10:
|
||
BreakChar(szName,sizeof(PLuser.szBZ)-1);
|
||
_tcscpy( PLuser.szBZ , szName );
|
||
break;
|
||
|
||
}
|
||
break;
|
||
case 13:
|
||
switch ( m_lInportType )
|
||
{
|
||
case 3: //<2F><><EFBFBD><EFBFBD>1
|
||
BreakChar(szName,sizeof(user.szNickName)-1);
|
||
if ( m_bBirthday )
|
||
{
|
||
CString strSFZ=szName;
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
CString strBir1;
|
||
CString strBir2;
|
||
if ( strSFZ.GetLength() == 15 )
|
||
{
|
||
strBir1 = strSFZ.Mid(6,6);
|
||
strBir1 = CString(_T("19"))+strBir1;
|
||
}
|
||
if ( strSFZ.GetLength() == 18 )
|
||
{
|
||
strBir1 = strSFZ.Mid(6,8);
|
||
}
|
||
if ( strBir1.GetLength()>0 )
|
||
{
|
||
strBir2 = strBir1.Left(4)+CString(_T("-"))+strBir1.Mid(4,2)+CString(_T("-"))+strBir1.Right(2);
|
||
_tcscpy(szName,strBir2);
|
||
}
|
||
}
|
||
try
|
||
{
|
||
|
||
COleDateTime abc;
|
||
CString str = szName;
|
||
str.Replace( _T(".") , _T("-") );
|
||
BOOL btime = abc.ParseDateTime(str,VAR_DATEVALUEONLY);
|
||
if ( abc.GetStatus() == COleDateTime::valid )
|
||
{
|
||
abc.GetAsSystemTime(Cuser.tBirthday);
|
||
}
|
||
}
|
||
catch(...)
|
||
{
|
||
memset(&Cuser.tBirthday,0,sizeof(Cuser.tBirthday));
|
||
}
|
||
break;
|
||
case 4: //<2F><>ע
|
||
BreakChar(szName,sizeof(Suser.szBZ)-1);
|
||
_tcscpy(Suser.szBZ , szName );
|
||
break;
|
||
case 6:
|
||
BreakChar(szName,sizeof(user.szTel)-1);
|
||
_tcscpy( user.szTel , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 14:
|
||
switch ( m_lInportType )
|
||
{
|
||
case 3: //<2F><>ϵ<EFBFBD><CFB5>2
|
||
BreakChar(szName,sizeof(Cuser.szLXR2)-1);
|
||
_tcscpy(Cuser.szLXR2 , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 15:
|
||
switch ( m_lInportType )
|
||
{
|
||
case 3: //<2F>ֻ<EFBFBD>2
|
||
BreakChar(szName,sizeof(Cuser.szMobile2)-1);
|
||
_tcscpy(Cuser.szMobile2 , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 16:
|
||
switch ( m_lInportType )
|
||
{
|
||
case 3: //<2F>绰2
|
||
BreakChar(szName,sizeof(Cuser.szTel2)-1);
|
||
_tcscpy(Cuser.szTel2 , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 17:
|
||
switch ( m_lInportType )
|
||
{
|
||
case 3: //<2F><>ַ2
|
||
BreakChar(szName,sizeof(Cuser.szAddr2)-1);
|
||
_tcscpy(Cuser.szAddr2 , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 18:
|
||
switch ( m_lInportType )
|
||
{
|
||
case 3: //<2F>ʱ<EFBFBD>2
|
||
BreakChar(szName,sizeof(Cuser.szPostcode2)-1);
|
||
_tcscpy(Cuser.szPostcode2 , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 19:
|
||
switch ( m_lInportType )
|
||
{
|
||
case 3: //<2F><>λ2
|
||
BreakChar(szName,sizeof(Cuser.szCorp2)-1);
|
||
_tcscpy(Cuser.szCorp2 , szName );
|
||
break;
|
||
}
|
||
break;
|
||
case 20:
|
||
switch ( m_lInportType )
|
||
{
|
||
case 3: //<2F><><EFBFBD><EFBFBD>2
|
||
BreakChar(szName,sizeof(user.szNickName)-1);
|
||
if ( m_bBirthday )
|
||
{
|
||
CString strSFZ=szName;
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
CString strBir1;
|
||
CString strBir2;
|
||
if ( strSFZ.GetLength() == 15 )
|
||
{
|
||
strBir1 = strSFZ.Mid(6,6);
|
||
strBir1 = CString(_T("19"))+strBir1;
|
||
}
|
||
if ( strSFZ.GetLength() == 18 )
|
||
{
|
||
strBir1 = strSFZ.Mid(6,8);
|
||
}
|
||
if ( strBir1.GetLength()>0 )
|
||
{
|
||
strBir2 = strBir1.Left(4)+CString(_T("-"))+strBir1.Mid(4,2)+CString(_T("-"))+strBir1.Right(2);
|
||
_tcscpy(szName,strBir2);
|
||
}
|
||
}
|
||
try
|
||
{
|
||
|
||
COleDateTime abc;
|
||
CString str = szName;
|
||
str.Replace( _T(".") , _T("-") );
|
||
BOOL btime = abc.ParseDateTime(str,VAR_DATEVALUEONLY);
|
||
if ( abc.GetStatus() == COleDateTime::valid )
|
||
{
|
||
abc.GetAsSystemTime(Cuser.tBirthday2);
|
||
}
|
||
}
|
||
catch(...)
|
||
{
|
||
memset(&Cuser.tBirthday2,0,sizeof(Cuser.tBirthday2));
|
||
}
|
||
break;
|
||
}
|
||
break;
|
||
case 21:
|
||
switch ( m_lInportType )
|
||
{
|
||
case 3: //<2F><>ϵ<EFBFBD><CFB5>2
|
||
BreakChar(szName,sizeof(Cuser.szBZ)-1);
|
||
_tcscpy(Cuser.szBZ , szName );
|
||
break;
|
||
}
|
||
break;
|
||
|
||
}
|
||
}
|
||
else
|
||
{
|
||
break;
|
||
}
|
||
}
|
||
|
||
BOOL bInvolid=false;
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0:
|
||
case 1:
|
||
case 5:
|
||
if (_tcslen(user.szName) >0 || _tcslen(user.szTel) >0 ||
|
||
_tcslen(user.szMobile) >0)
|
||
bInvolid = true;
|
||
break;
|
||
case 6:
|
||
case 9:
|
||
case 12:
|
||
ExMobileGZM(user.szMobile); //ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
bInvolid = isMobileNum( user.szMobile ); //<2F>ҵ<EFBFBD><D2B5>º<EFBFBD><C2BA><EFBFBD>
|
||
break;
|
||
case 2:
|
||
case 7:
|
||
case 8:
|
||
case 11:
|
||
if ( _tcslen(Luser.szMobile) >0)
|
||
bInvolid = true;
|
||
break;
|
||
case 3: //<2F><>ϵ<EFBFBD><CFB5>2
|
||
if (_tcslen(Cuser.szName) >0 || _tcslen(Cuser.szCarNum) >0 ||
|
||
_tcslen(Cuser.szMobile) >0 || _tcslen(Cuser.szMobile2) >0 )
|
||
bInvolid = true;
|
||
break;
|
||
case 4: //<2F><>ϵ<EFBFBD><CFB5>2
|
||
if (_tcslen(Suser.szName) >0 || _tcslen(Suser.szTel) >0 ||
|
||
_tcslen(Suser.szMobile) >0 )
|
||
bInvolid = true;
|
||
break;
|
||
case 10:
|
||
ExMobileGZM(PLuser.szMobile); //ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
bInvolid = isMobileNum( PLuser.szMobile ); //<2F>ҵ<EFBFBD><D2B5>º<EFBFBD><C2BA><EFBFBD>
|
||
break;
|
||
}
|
||
|
||
|
||
if ( bInvolid )
|
||
{
|
||
if (_tcslen(user.szName) <= 0)
|
||
{
|
||
if (m_strDefName.GetLength() <= 0)
|
||
_stprintf(user.szName, _T("IP%d"), lNameCount);
|
||
else
|
||
_stprintf(user.szName, m_strDefName);
|
||
}
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
||
lNameCount ++;
|
||
//_stprintf( szName , _T("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>->%d") , lNameCount );
|
||
//m_B_Tips.SetWindowText( szName );
|
||
|
||
switch ( m_lInportType )
|
||
{
|
||
case 0: //˽<>˵绰<CBB5><E7BBB0>
|
||
{
|
||
//<2F>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD>ʾ
|
||
BOOL bAdd = true;
|
||
if ( m_bReMobile && _tcslen( user.szMobile ) > 0 )
|
||
{
|
||
if ( _tcslen(m_pFPAddress->m_szGroupID)<=0)
|
||
str.Format( _T("select * from paddress where Mobile='%s' and (GroupID is null or len(GroupID)=0) order by Mobile") , user.szMobile );
|
||
else
|
||
str.Format( _T("select * from paddress where Mobile='%s' and GroupID='%s' order by Mobile") , user.szMobile,m_pFPAddress->m_szGroupID );
|
||
if ( m_AdoRS.Open(str) && !m_AdoRS.IsEOF() )
|
||
{
|
||
//<2F>ҵ<EFBFBD><D2B5><EFBFBD>¼<EFBFBD><C2BC>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8>ĺ<EFBFBD><C4BA><EFBFBD>
|
||
m_AdoRS.Close();
|
||
if ( bShowReMobile )
|
||
{
|
||
str.Format( _T("%s,%s") , user.szName , user.szMobile );
|
||
DLG_AddWarning dlg(str,this); //<2F><>ʾ<EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>
|
||
dlg.DoModal();
|
||
bShowReMobile = dlg.m_bShowReMobile;
|
||
lReMobileType = dlg.m_lReMobileType;
|
||
}
|
||
if ( lReMobileType == 0 ) //<2F><><EFBFBD><EFBFBD>
|
||
{
|
||
bAdd = false;
|
||
}
|
||
}
|
||
}
|
||
|
||
#ifdef MOBSET_OEM_SNLD
|
||
if ( _tcslen(user.szMobile)<=0 ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ר<EFBFBD>棬<EFBFBD>Զ<EFBFBD><D4B6>Ӹ<EFBFBD>Ŀ¼<C4BF><C2BC>ȡ<EFBFBD>û<EFBFBD><C3BB>ֻ<EFBFBD><D6BB><EFBFBD>
|
||
{
|
||
str.Format( _T("select * from paddress where Name='%s' and (GroupID is null or len(GroupID)=0)") , user.szName );
|
||
if ( m_AdoRS.Open(str) && m_AdoRS.GetRecordCount()>0 )
|
||
{
|
||
m_AdoRS.MoveFirst();
|
||
m_AdoRS.GetCollect( _T("Mobile") , user.szMobile );
|
||
m_AdoRS.Close();
|
||
}
|
||
}
|
||
#endif
|
||
if ( bAdd )
|
||
{
|
||
_tcscpy( user.szUserType,_T("1") ); //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||
_tcscpy( user.szGroupID , m_pFPAddress->m_szGroupID); //<2F>û<EFBFBD><C3BB><EFBFBD>
|
||
|
||
m_pFPAddress->AddUser(user,false);
|
||
}
|
||
}
|
||
break;
|
||
case 1: //<2F><><EFBFBD><EFBFBD>ͨѶ¼
|
||
case 5:
|
||
{
|
||
PAddress * pUser = new PAddress;
|
||
*pUser = user;
|
||
m_User.AddTail( pUser );
|
||
}
|
||
break;
|
||
case 2: //<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
||
{
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
||
m_pDlgSend->AddUser(Luser , -1);
|
||
}
|
||
break;
|
||
case 7: //<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
||
{
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
||
m_pDlgSendFax->AddUser(Luser , -1);
|
||
}
|
||
break;
|
||
case 8: //<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
||
{
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
||
m_pDlgSendMms->AddUser(Luser , -1);
|
||
}
|
||
break;
|
||
case 11: //<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
||
{
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
||
m_pQXBox_GroupDlg->AddUser(Luser , -1);
|
||
}
|
||
break;
|
||
case 3: //<2F><><EFBFBD><EFBFBD>ͨѶ¼
|
||
{
|
||
//<2F>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD>ʾ
|
||
BOOL bAdd = true;
|
||
if ( m_bReMobile && _tcslen( Cuser.szMobile ) > 0 )
|
||
{
|
||
if ( _tcslen(m_pFCAddress->m_szGroupID)<=0)
|
||
str.Format( _T("select * from caddress where Mobile='%s' and (GroupID is null or len(GroupID)=0)") , Cuser.szMobile );
|
||
else
|
||
str.Format( _T("select * from caddress where Mobile='%s' and GroupID='%s'") , Cuser.szMobile,m_pFCAddress->m_szGroupID );
|
||
if ( m_AdoRS.Open(str) && m_AdoRS.GetRecordCount()>0 )
|
||
{
|
||
//<2F>ҵ<EFBFBD><D2B5><EFBFBD>¼<EFBFBD><C2BC>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8>ĺ<EFBFBD><C4BA><EFBFBD>
|
||
m_AdoRS.Close();
|
||
if ( bShowReMobile )
|
||
{
|
||
str.Format( _T("%s,%s") , Cuser.szName , Cuser.szMobile );
|
||
DLG_AddWarning dlg(str,this); //<2F><>ʾ<EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>
|
||
dlg.DoModal();
|
||
bShowReMobile = dlg.m_bShowReMobile;
|
||
lReMobileType = dlg.m_lReMobileType;
|
||
}
|
||
|
||
if ( lReMobileType == 0 ) //<2F><><EFBFBD><EFBFBD>
|
||
{
|
||
bAdd = false;
|
||
}
|
||
}
|
||
}
|
||
if ( bAdd )
|
||
{
|
||
_tcscpy( Cuser.szUserType,_T("1") ); //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||
_tcscpy( Cuser.szGroupID , m_pFCAddress->m_szGroupID); //<2F>û<EFBFBD><C3BB><EFBFBD>
|
||
|
||
m_pFCAddress->AddUser(Cuser,false);
|
||
}
|
||
}
|
||
break;
|
||
case 4: //֤ȯͨѶ¼
|
||
{
|
||
//<2F>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD>ʾ
|
||
BOOL bAdd = true;
|
||
if ( m_bReMobile && _tcslen( Suser.szMobile ) > 0 )
|
||
{
|
||
if ( _tcslen(m_pFSAddress->m_szGroupID)<=0)
|
||
str.Format( _T("select * from saddress where Mobile='%s' and (GroupID is null or len(GroupID)=0)") , Suser.szMobile );
|
||
else
|
||
str.Format( _T("select * from saddress where Mobile='%s' and GroupID='%s'") , Suser.szMobile,m_pFSAddress->m_szGroupID );
|
||
if ( m_AdoRS.Open(str) && m_AdoRS.GetRecordCount()>0 )
|
||
{
|
||
//<2F>ҵ<EFBFBD><D2B5><EFBFBD>¼<EFBFBD><C2BC>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8>ĺ<EFBFBD><C4BA><EFBFBD>
|
||
m_AdoRS.Close();
|
||
if ( bShowReMobile )
|
||
{
|
||
str.Format( _T("%s,%s") , Suser.szName , Suser.szMobile );
|
||
DLG_AddWarning dlg(str,this); //<2F><>ʾ<EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>
|
||
dlg.DoModal();
|
||
bShowReMobile = dlg.m_bShowReMobile;
|
||
lReMobileType = dlg.m_lReMobileType;
|
||
}
|
||
|
||
if ( lReMobileType == 0 ) //<2F><><EFBFBD><EFBFBD>
|
||
{
|
||
bAdd = false;
|
||
}
|
||
}
|
||
}
|
||
if ( bAdd )
|
||
{
|
||
_tcscpy( Suser.szUserType,_T("1") ); //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
||
_tcscpy( Suser.szGroupID , m_pFSAddress->m_szGroupID); //<2F>û<EFBFBD><C3BB><EFBFBD>
|
||
|
||
m_pFSAddress->AddUser(Suser,false);
|
||
}
|
||
}
|
||
break;
|
||
case 6: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
{
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
||
m_pFBack->AddUser(user , -1);
|
||
}
|
||
break;
|
||
case 9: //ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
{
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
||
m_pTDSet->AddUser(user , -1);
|
||
}
|
||
break;
|
||
case 10: //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||
{
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
||
m_pPLFile->AddUser(PLuser , -1);
|
||
}
|
||
break;
|
||
case 12: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
{
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
||
m_pWhite2->AddUser(user , -1);
|
||
}
|
||
break;
|
||
|
||
}
|
||
}
|
||
|
||
lLineCount ++;
|
||
if ( m_bShowProcess )
|
||
m_DlgProcess.SetProcess( 99999999,lLineCount );
|
||
}
|
||
else
|
||
{
|
||
break;
|
||
}
|
||
}
|
||
fTalk.Close();
|
||
delete pFileReadBuf;
|
||
}
|
||
|
||
|
||
if ( m_bShowProcess ) //<2F><><EFBFBD>˹<EFBFBD>ֹͣ<CDA3><D6B9>
|
||
{
|
||
CString str;
|
||
str.Format( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ%d<><64>!") , (GetTickCount()-dwBeginTime)/1000 );
|
||
m_DlgProcess.MessageBox( str , _T("<EFBFBD><EFBFBD>ʾ") , MB_ICONINFORMATION );
|
||
|
||
try
|
||
{
|
||
//m_DlgProcess.SetTimer(1,100,NULL);
|
||
//m_DlgProcess.EndDialog(IDOK);
|
||
m_DlgProcess.SetProcess( 100 , 100 );
|
||
m_bShowProcess = false;
|
||
}
|
||
catch(...)
|
||
{
|
||
} }
|
||
}
|
||
|
||
|
||
void DLG_User_InportP2::OnBnClickedOk()
|
||
{
|
||
try
|
||
{
|
||
CString strFileName;
|
||
BOOL m_bReMobile = m_B_ReMobile.GetCheck();
|
||
BOOL m_bBirthday = m_B_Birthday.GetCheck();
|
||
m_E_FileName.GetWindowText(strFileName);
|
||
if ( strFileName.GetLength() <=0 )
|
||
{
|
||
MessageBox( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONWARNING );
|
||
return ;
|
||
}
|
||
for ( int i=0 ; i< m_lField ; i++ )
|
||
{
|
||
if ( m_Field[i].lDesIndex>=0 )
|
||
{
|
||
break;
|
||
}
|
||
}
|
||
if ( i>=m_lField )
|
||
{
|
||
MessageBox( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶΣ<EFBFBD>"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONWARNING );
|
||
return ;
|
||
}
|
||
|
||
|
||
m_bShowProcess = true;
|
||
::AfxBeginThread((AFX_THREADPROC)Process_T,(LPVOID)this,THREAD_PRIORITY_NORMAL/*THREAD_PRIORITY_BELOW_NORMAL*/);
|
||
m_DlgProcess.SetProcessTitle( _T("<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>..."));
|
||
m_DlgProcess.SetShowCount(true);
|
||
if ( m_DlgProcess.DoModal() != IDOK ) //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
{
|
||
m_bShowProcess = false;
|
||
//<2F><><EFBFBD>벻<EFBFBD>ɹ<EFBFBD>
|
||
return ;
|
||
}
|
||
m_bShowProcess = false;
|
||
|
||
|
||
this->EndDialog(IDOK);
|
||
}
|
||
catch(...)
|
||
{
|
||
}
|
||
//CDialog::OnOK();
|
||
}
|