CorpSms/DLG_User_InportC.cpp

956 lines
24 KiB
C++
Raw Normal View History

2025-02-27 16:58:16 +08:00
// DLG_User_InportC.cpp : implementation file
//
#include "stdafx.h"
#include "corpsms.h"
#include "DLG_User_InportC.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// DLG_User_InportC dialog
#include "MainFrm.h"
#include "FCAddress.h"
#include "DLG_User_ModifyK.h"
#include "DLG_AddWarning.h"
DLG_User_InportC::DLG_User_InportC(CWnd* pParent /*=NULL*/)
: CDialog(DLG_User_InportC::IDD, pParent)
{
//{{AFX_DATA_INIT(DLG_User_InportC)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_pParent = pParent;
m_bInport = true;
m_pList = NULL;
m_bReMobile = false;
m_lExportType = 0;
m_pFCAddress = NULL;
m_pFSAddress = NULL;
}
void DLG_User_InportC::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DLG_User_InportC)
DDX_Control(pDX, IDC_USER_INPORTC_S1, m_B_Tips);
DDX_Control(pDX, IDC_USER_INPORTC_LIST, m_L_List);
DDX_Control(pDX, IDC_USER_INPORTC_FILENAME, m_E_FileName);
DDX_Control(pDX, IDC_USER_INPORTC_REMOBILE, m_B_ReMobile);
DDX_Control(pDX, IDC_USER_INPORTC_RECORD_SPLIT, m_C_RecordSplit);
DDX_Control(pDX, IDC_USER_INPORTC_FIELD_SPLIT, m_C_FieldSplit);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(DLG_User_InportC, CDialog)
//{{AFX_MSG_MAP(DLG_User_InportC)
ON_BN_CLICKED(IDC_USER_INPORTC_GETFILE, OnUserInportkGetfile)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DLG_User_InportC message handlers
BOOL DLG_User_InportC::OnInitDialog()
{
CDialog::OnInitDialog();
if ( !m_bInport )
{
this->SetWindowText(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(*.txt , *.csv)"));
CWnd * pWnd = (CWnd*)GetDlgItem(IDOK);
pWnd->SetWindowText(_T("<EFBFBD><EFBFBD> <20><>"));
pWnd = (CWnd*)GetDlgItem(IDC_USER_INPORTC_S2);
pWnd->SetWindowText(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD>(<28>϶<EFBFBD>ѡ<EFBFBD><D1A1>,<2C><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>)"));
pWnd = (CWnd*)GetDlgItem(IDC_USER_INPORTC_S1);
pWnd->SetWindowText(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>txt/csv<73>ļ<EFBFBD><C4BC><EFBFBD>"));
m_C_FieldSplit.EnableWindow(false);
m_C_RecordSplit.EnableWindow(false);
}
m_C_FieldSplit.SetCurSel(0);
m_C_RecordSplit.SetCurSel(0);
InitList();
if ( !m_bInport)
{
m_B_ReMobile.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_InportC::OnOK()
{
m_bReMobile = m_B_ReMobile.GetCheck();
BOOL b= false;
if ( m_bInport )
{
b=User_Inport();
}
else
{
b=User_Export();
}
if (b)
CDialog::OnOK();
}
void DLG_User_InportC::SetInport(CListCtrl *pList, BOOL bInport , long lType)
{
m_pList = pList;
m_bInport = bInport;
m_lExportType = lType;
switch ( lType )
{
case 1:
m_pFSAddress = (CFSAddress *)m_pParent;
m_AdoRS.SetAdoConnection( &m_pFSAddress->m_pMainFrame->m_adoConnection );
break;
case 0:
default:
m_pFCAddress = (CFCAddress *)m_pParent;
m_AdoRS.SetAdoConnection( &m_pFCAddress->m_pMainFrame->m_adoConnection );
break;
}
}
void DLG_User_InportC::InitList()
{
m_L_List.Init(true,-1,-1,-1);
m_L_List.InsertColumn( 0 , _T("˳<EFBFBD><EFBFBD>") , LVCFMT_LEFT , 40 , 0);
m_L_List.InsertColumn( 1 , _T(" <20>ֶ<EFBFBD><D6B6><EFBFBD>") , LVCFMT_LEFT , 120 , 1);
m_L_List.SetTextColor( RGB(0,0,255) );
switch ( m_lExportType )
{
case 1:
{
TCHAR * pItem[] =
{
_T("<EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
_T("<EFBFBD><EFBFBD> <20><>"),
_T("<EFBFBD><EFBFBD> <20><>"),
_T("<EFBFBD><EFBFBD> <20><>"),
_T("<EFBFBD><EFBFBD> <20><>"),
_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
_T("<EFBFBD><EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
_T("<EFBFBD><EFBFBD>ϵ<EFBFBD>"),
_T("<EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
_T("Email"),
_T("<EFBFBD><EFBFBD>ַ"),
_T("ҵ<EFBFBD><EFBFBD>Ա"),
_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
_T("<EFBFBD><EFBFBD>ע"),
};
TCHAR Buf[256];
for ( int i = 0 ; i<14 ; i++ )
{
m_L_List.InsertItem( i , _itot(i+1,Buf,10) );
m_L_List.SetItemText(i , 1 , pItem[i] );
m_L_List.SetItemData(i , i ); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>
}
}
break;
case 0:
default:
{
TCHAR * pItem[] =
{
_T("<EFBFBD><EFBFBD> <20><>"),
_T("<EFBFBD><EFBFBD> <20><>"),
_T("<EFBFBD><EFBFBD> <20><>"),
_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
_T("<EFBFBD><EFBFBD><EFBFBD>̺<EFBFBD>"),
_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
_T("<EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>1"),
_T("<EFBFBD>ֻ<EFBFBD>1"),
_T("<EFBFBD>绰1"),
_T("<EFBFBD><EFBFBD>ַ1"),
_T("<EFBFBD>ʱ<EFBFBD>1"),
_T("<EFBFBD><EFBFBD>λ1"),
_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1"),
_T("<EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>2"),
_T("<EFBFBD>ֻ<EFBFBD>2"),
_T("<EFBFBD>绰2"),
_T("<EFBFBD><EFBFBD>ַ2"),
_T("<EFBFBD>ʱ<EFBFBD>2"),
_T("<EFBFBD><EFBFBD>λ2"),
_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2"),
_T("<EFBFBD><EFBFBD> ע"),
};
TCHAR Buf[256];
for ( int i = 0 ; i<22 ; i++ )
{
m_L_List.InsertItem( i , _itot(i+1,Buf,10) );
m_L_List.SetItemText(i , 1 , pItem[i] );
m_L_List.SetItemData(i , i ); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>
}
}
break;
}
m_L_List.CheckAll();
m_L_List.NoverCheck();
m_L_List.ReShowSort();
}
BOOL DLG_User_InportC::User_Export()
{
long lItemCount = m_L_List.GetItemCount();
long lExPortItem[50];memset(&lExPortItem,0,sizeof(lExPortItem));
for ( int j=0 ; j < 50 ; j++ ) lExPortItem[j] = -1;
long lCheckCount = 0;
for ( int i=0 ; i<lItemCount ; i++ )
{
if ( m_L_List.GetCheck(i) )
{
lExPortItem[lCheckCount] = m_L_List.GetItemData(i) ;
lCheckCount ++;
}
}
if ( lCheckCount <=0 )
{
if ( m_bInport )
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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶΡ<EFBFBD>") , _T("ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_OK|MB_ICONWARNING );
else
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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶΡ<EFBFBD>") , _T("ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_OK|MB_ICONWARNING );
return false;
}
TCHAR szFileName[512];
m_E_FileName.GetWindowText( szFileName , sizeof(szFileName) );
if ( _tcslen(AllTrim(szFileName)) <=0 )
{
if ( m_bInport )
MessageBox( _T("<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_OK|MB_ICONWARNING );
else
MessageBox( _T("<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_OK|MB_ICONWARNING );
m_E_FileName.SetFocus();
return false;
}
CFile fTalk;
if ( !fTalk.Open( szFileName , CFile::modeReadWrite|CFile::modeCreate ) )
{
TCHAR Buf[512];
_stprintf( Buf , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>:%s\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , szFileName );
MessageBox( Buf , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING|MB_OK );
return false;
}
long lAdrCount = m_pList->GetItemCount();
TCHAR Buf[1024];
TCHAR Buf2[256];
long lRecnCount= 0; //<2F>ܼ<EFBFBD>¼<EFBFBD><C2BC>
long lFileSize = 0; //<2F>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
long lBufLen = 0;
#ifdef UNICODE
char szTempA[4096];
#endif
CString strSelect;
switch ( m_lExportType )
{
case 1:
if ( _tcslen(m_pFSAddress->m_szGroupID)<=0 ) //<2F><><EFBFBD><EFBFBD><EFBFBD>Ǹ<EFBFBD><C7B8><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ΪNULL
strSelect.Format( _T("select * from saddress where GroupID is null or len(GroupID)=0 and UserType='1' ") ); //<2F><><EFBFBD>Ҵ<EFBFBD><D2B4><EFBFBD><EFBFBD>µ<EFBFBD><C2B5>û<EFBFBD>
else
strSelect.Format( _T("Select * from saddress where GroupID='%s' AND UserType='1' ") , m_pFSAddress->m_szGroupID ); //<2F><><EFBFBD>Ҵ<EFBFBD><D2B4><EFBFBD><EFBFBD>µ<EFBFBD><C2B5>û<EFBFBD>
break;
case 0:
default:
if ( _tcslen(m_pFCAddress->m_szGroupID)<=0 ) //<2F><><EFBFBD><EFBFBD><EFBFBD>Ǹ<EFBFBD><C7B8><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ΪNULL
strSelect.Format( _T("select * from caddress where GroupID is null or len(GroupID)=0 and UserType='1' ") ); //<2F><><EFBFBD>Ҵ<EFBFBD><D2B4><EFBFBD><EFBFBD>µ<EFBFBD><C2B5>û<EFBFBD>
else
strSelect.Format( _T("Select * from caddress where GroupID='%s' AND UserType='1' ") , m_pFCAddress->m_szGroupID ); //<2F><><EFBFBD>Ҵ<EFBFBD><D2B4><EFBFBD><EFBFBD>µ<EFBFBD><C2B5>û<EFBFBD>
break;
}
BOOL b = m_AdoRS.Open( strSelect );
long lCount = m_AdoRS.GetRecordCount();
if ( b && lCount )
{
COleDateTime t;
m_AdoRS.MoveFirst();
while(!m_AdoRS.IsEOF() )
{
memset(Buf , 0 , sizeof(Buf) );
for( int j = 0 ; j< lCheckCount ; j++ ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD>е<EFBFBD><D0B5>ֶΣ<D6B6>ȡͨѶ¼<D1B6><C2BC><EFBFBD>ݽ<EFBFBD><DDBD>б<EFBFBD><D0B1>
{
memset(Buf2 , 0 , sizeof(Buf2) );
switch( lExPortItem[j] )
{
case 0:
switch ( m_lExportType )
{
case 1://<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>
m_AdoRS.GetCollect( _T("BH") , Buf2 );
break;
case 0://<2F><><EFBFBD><EFBFBD>
default:
m_AdoRS.GetCollect( _T("Name") , Buf2 );
break;
}
break;
case 1:
switch ( m_lExportType )
{
case 1://<2F><> <20><>
m_AdoRS.GetCollect( _T("Name") , Buf2 );
break;
case 0://<2F><><EFBFBD><EFBFBD>
default:
m_AdoRS.GetCollect( _T("CarNum") , Buf2 );
break;
}
break;
case 2:
switch ( m_lExportType )
{
case 1://<2F><> <20><>
m_AdoRS.GetCollect( _T("NickName") , Buf2 );
break;
case 0://<2F><> <20><>
default:
m_AdoRS.GetCollect( _T("CarType") , Buf2 );
break;
}
break;
case 3:
switch ( m_lExportType )
{
case 1://<2F><> <20><>
m_AdoRS.GetCollect( _T("Sex") , Buf2 );
break;
case 0://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
default:
m_AdoRS.GetCollect( _T("FDJNum") , Buf2 );
break;
}
break;
case 4:
switch ( m_lExportType )
{
case 1://<2F><> <20><>
m_AdoRS.GetCollect( _T("Birthday") , t );
if ( t.GetStatus() == COleDateTime::valid )
_stprintf( Buf2 , _T("%04d-%02d-%02d") , t.GetYear(),t.GetMonth(),t.GetDay() );
else
memset(Buf2 , 0 , sizeof(Buf2));
break;
case 0://<2F><><EFBFBD>̺<EFBFBD>
default:
m_AdoRS.GetCollect( _T("DPNum") , Buf2 );
break;
}
break;
case 5:
switch ( m_lExportType )
{
case 1://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_AdoRS.GetCollect( _T("InDate") , t );
if ( t.GetStatus() == COleDateTime::valid )
_stprintf( Buf2 , _T("%04d-%02d-%02d") , t.GetYear(),t.GetMonth(),t.GetDay() );
else
memset(Buf2 , 0 , sizeof(Buf2));
break;
case 0://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
default:
m_AdoRS.GetCollect( _T("BuyDate") , t );
if ( t.GetStatus() == COleDateTime::valid )
_stprintf( Buf2 , _T("%04d-%02d-%02d") , t.GetYear(),t.GetMonth(),t.GetDay() );
else
memset(Buf2 , 0 , sizeof(Buf2));
break;
}
break;
case 6:
switch ( m_lExportType )
{
case 1://<2F><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>
m_AdoRS.GetCollect( _T("OutDate") , t );
if ( t.GetStatus() == COleDateTime::valid )
_stprintf( Buf2 , _T("%04d-%02d-%02d") , t.GetYear(),t.GetMonth(),t.GetDay() );
else
memset(Buf2 , 0 , sizeof(Buf2));
break;
case 0://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
default:
m_AdoRS.GetCollect( _T("BXDate") , t );
if ( t.GetStatus() == COleDateTime::valid )
_stprintf( Buf2 , _T("%04d-%02d-%02d") , t.GetYear(),t.GetMonth(),t.GetDay() );
else
memset(Buf2 , 0 , sizeof(Buf2));
break;
}
break;
case 7:
switch ( m_lExportType )
{
case 1://<2F><>ϵ<EFBFBD>
m_AdoRS.GetCollect( _T("Tel") , Buf2 );
break;
case 0://<2F><>ϵ<EFBFBD><CFB5>1
default:
m_AdoRS.GetCollect( _T("LXR") , Buf2 );
break;
}
break;
case 8:
switch ( m_lExportType )
{
case 1://<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>
m_AdoRS.GetCollect( _T("Mobile") , Buf2 );
break;
case 0://<2F>ֻ<EFBFBD>1
default:
m_AdoRS.GetCollect( _T("Mobile") , Buf2 );
break;
}
break;
case 9:
switch ( m_lExportType )
{
case 1://Email
m_AdoRS.GetCollect( _T("Email") , Buf2 );
break;
case 0://<2F>绰1
default:
m_AdoRS.GetCollect( _T("Tel") , Buf2 );
break;
}
break;
case 10:
switch ( m_lExportType )
{
case 1://<2F><>ַ
m_AdoRS.GetCollect( _T("Addr") , Buf2 );
break;
case 0://<2F><>ַ1
default:
m_AdoRS.GetCollect( _T("Addr") , Buf2 );
break;
}
break;
case 11:
switch ( m_lExportType )
{
case 1://ҵ<><D2B5>Ա
m_AdoRS.GetCollect( _T("YWY") , Buf2 );
break;
case 0://<2F>ʱ<EFBFBD>1
default:
m_AdoRS.GetCollect( _T("Postcode") , Buf2 );
break;
}
break;
case 12:
switch ( m_lExportType )
{
case 1://<2F><><EFBFBD><EFBFBD>
m_AdoRS.GetCollect( _T("Price") , Buf2 );
break;
case 0://<2F><>λ1
default:
m_AdoRS.GetCollect( _T("Corp") , Buf2 );
break;
}
break;
case 13:
switch ( m_lExportType )
{
case 1://<2F><>ע
m_AdoRS.GetCollect( _T("BZ") , Buf2 );
break;
case 0://<2F><><EFBFBD><EFBFBD>1
default:
m_AdoRS.GetCollect( _T("Birthday") , t );
if ( t.GetStatus() == COleDateTime::valid )
_stprintf( Buf2 , _T("%04d-%02d-%02d") , t.GetYear(),t.GetMonth(),t.GetDay() );
else
memset(Buf2 , 0 , sizeof(Buf2));
break;
}
break;
case 14: //<2F><>ϵ<EFBFBD><CFB5>2
m_AdoRS.GetCollect( _T("LXR2") , Buf2 );
break;
case 15: //<2F>ֻ<EFBFBD>2
m_AdoRS.GetCollect( _T("Mobile2") , Buf2 );
break;
case 16: //<2F>绰2
m_AdoRS.GetCollect( _T("Tel2") , Buf2 );
break;
case 17: //<2F><>ַ2
m_AdoRS.GetCollect( _T("Addr2") , Buf2 );
break;
case 18: //<2F>ʱ<EFBFBD>2
m_AdoRS.GetCollect( _T("Postcode2") , Buf2 );
break;
case 19: //<2F><>λ2
m_AdoRS.GetCollect( _T("Corp2") , Buf2 );
break;
case 20: //<2F><><EFBFBD><EFBFBD>2
m_AdoRS.GetCollect( _T("Birthday2") , t );
if ( t.GetStatus() == COleDateTime::valid )
_stprintf( Buf2 , _T("%04d-%02d-%02d") , t.GetYear(),t.GetMonth(),t.GetDay() );
else
memset(Buf2 , 0 , sizeof(Buf2));
break;
case 21: //<2F><>ע
m_AdoRS.GetCollect( _T("BZ") , Buf2 );
break;
}
_tcscat(Buf , Buf2 );
if ( j < lCheckCount-1 ) //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD>","<22><>
_tcscat(Buf , _T(",") );
}
_tcscat(Buf , _T("\r\n") ); //<2F><><EFBFBD><EFBFBD>
#ifdef UNICODE
CAdoRecordSet::Ado_W2A(Buf,szTempA);
lBufLen = strlen(szTempA);
fTalk.Write( szTempA , lBufLen );
#else
lBufLen = _tcslen(Buf);
fTalk.Write( Buf , lBufLen );
#endif
lRecnCount++; //ȡ<><C8A1><EFBFBD>ܼ<EFBFBD>¼<EFBFBD><C2BC>
lFileSize = lFileSize + lBufLen ; //ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
m_AdoRS.MoveNext();
}
}
fTalk.Close();
this->EndWaitCursor();
_stprintf(Buf , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:TXT\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>:%d\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><EFBFBD><EFBFBD>:%d\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>:%s") , lRecnCount , lFileSize , szFileName);
MessageBox( Buf , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>"),MB_OK|MB_ICONINFORMATION );
return true;
}
BOOL DLG_User_InportC::User_Inport()
{
long lItemCount = m_L_List.GetItemCount();
long lExPortItem[50];memset(&lExPortItem,0,sizeof(lExPortItem));
for ( int j=0 ; j < 50 ; j++ ) lExPortItem[j] = -1;
long lCheckCount = 0;
for ( int i=0 ; i<lItemCount ; i++ )
{
if ( m_L_List.GetCheck(i) )
{
lExPortItem[lCheckCount] = m_L_List.GetItemData(i) ;
lCheckCount ++;
}
}
if ( lCheckCount <=0 )
{
if ( m_bInport )
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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶΡ<EFBFBD>") , _T("ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_OK|MB_ICONWARNING );
else
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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶΡ<EFBFBD>") , _T("ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_OK|MB_ICONWARNING );
return false;
}
//ȡ<>ָ<EFBFBD>
TCHAR szFieldSplit[8]={0};
TCHAR szRecordSplit[8]={0};
m_C_FieldSplit.GetWindowText( szFieldSplit , sizeof(szFieldSplit));
m_C_RecordSplit.GetWindowText( szRecordSplit , sizeof(szRecordSplit));
if ( _tcslen( szRecordSplit )<=0 )
{
MessageBox( _T("<EFBFBD><EFBFBD>¼<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
m_C_RecordSplit.SetFocus();
return false;
}
if ( !_tcsncmp(szRecordSplit,_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),4) )
{
_tcscpy( szRecordSplit,_T("\n") );
}
if ( _tcslen( szFieldSplit )<=0 )
{
MessageBox( _T("<EFBFBD>ֶηָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
m_C_FieldSplit.SetFocus();
return false;
}
szFieldSplit[1]=0; //<2F>ֶηָ<CEB7>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD>
TCHAR szFileName[512];
m_E_FileName.GetWindowText( szFileName , sizeof(szFileName) );
if ( _tcslen(AllTrim(szFileName)) <=0 )
{
if ( m_bInport )
MessageBox( _T("<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_OK|MB_ICONWARNING );
else
MessageBox( _T("<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_OK|MB_ICONWARNING );
m_E_FileName.SetFocus();
return false;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
CFile fTalk;
if ( !fTalk.Open( szFileName , CFile::modeRead ) )
{
TCHAR Buf[512];
_stprintf( Buf , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>:%s\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , szFileName );
MessageBox( Buf , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING|MB_OK );
return false;
}
TCHAR szPNBuf[512];
TCHAR szName[512];
long lLineCount = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
long lNameCount = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>
BOOL bShowReMobile = true;
long lReMobileType = 0;;
CString str;
CKAddress user;
#ifdef UNICODE
TCHAR szTemp[512]={0};
char szTempA[512]={0};
char szPNBuf2[512]={0};
char szRecordSplit2[512]={0};
strcpy(szRecordSplit2,CAdoRecordSet::Ado_W2A(szRecordSplit,szTempA));
#endif
while ( true )
{
memset( szPNBuf , 0 , sizeof( szPNBuf ) );
#ifdef UNICODE
if ( ReadLine( &fTalk , szRecordSplit2, szPNBuf2 , sizeof( szPNBuf2 )-5 ) )
{
_tcscpy(szPNBuf,CAdoRecordSet::Ado_A2W(szPNBuf2,szTemp));
#else
if ( ReadLine( &fTalk , szRecordSplit, szPNBuf , sizeof( szPNBuf )-5 ) )
{
#endif
ExChar( szPNBuf , _T("\r") );
ExChar( szPNBuf , _T("\n") );
ExChar( szPNBuf , szRecordSplit );
for ( i=0;i<25;i++ )
{
_tcscat( szPNBuf , szFieldSplit );
}
memset( &user , 0 , sizeof(user) );
_tcscpy( user.szUserType,_T("1") ); //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
_tcscpy( user.szGroupID , m_pFCAddress->m_szGroupID); //<2F>û<EFBFBD><C3BB><EFBFBD>
for ( i=0 ; i<lCheckCount ; i++ )
{
memset(szName , 0 , sizeof(szName) );
GetReqMess( szPNBuf , szName , i , szFieldSplit[0] );
AllTrim(szName);
ExChar(szName,_T("\r"));
ExChar(szName,_T("\n"));
ExChar(szName,_T("\t"));
switch (lExPortItem[i])
{
case 0: //<2F><><EFBFBD><EFBFBD>
BreakChar(szName,sizeof(user.szName)-1);
_tcscpy(user.szName , szName );
break;
case 1: //<2F><> <20><>
BreakChar(szName,sizeof(user.szCarNum)-1);
_tcscpy(user.szCarNum , szName );
break;
case 2: //<2F><> <20><>
BreakChar(szName,sizeof(user.szCarType)-1);
_tcscpy(user.szCarType , szName );
break;
case 3: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BreakChar(szName,sizeof(user.szFDJNum)-1);
_tcscpy(user.szFDJNum , szName );
break;
case 4: //<2F><><EFBFBD>̺<EFBFBD>
BreakChar(szName,sizeof(user.szDPNum)-1);
_tcscpy(user.szDPNum , szName );
break;
case 5: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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.tBuyDate);
}
}
catch(...)
{
memset(&user.tBuyDate,0,sizeof(user.tBuyDate));
}
break;
case 6: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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.tBXDate);
}
}
catch(...)
{
memset(&user.tBXDate,0,sizeof(user.tBXDate));
}
break;
case 7: //<2F><>ϵ<EFBFBD><CFB5>1
BreakChar(szName,sizeof(user.szLXR)-1);
_tcscpy(user.szLXR , szName );
break;
case 8: //<2F>ֻ<EFBFBD>1
BreakChar(szName,sizeof(user.szMobile)-1);
_tcscpy(user.szMobile , szName );
break;
case 9: //<2F>绰1
BreakChar(szName,sizeof(user.szTel)-1);
_tcscpy( user.szTel , szName );
break;
case 10: //<2F><>ַ1
BreakChar(szName,sizeof(user.szAddr)-1);
_tcscpy( user.szAddr , szName );
break;
case 11: //<2F>ʱ<EFBFBD>1
BreakChar(szName,sizeof(user.szPostcode)-1);
_tcscpy(user.szPostcode , szName );
break;
case 12: //<2F><> λ
BreakChar(szName,sizeof(user.szCorp)-1);
_tcscpy(user.szCorp , szName );
break;
case 13: //<2F><><EFBFBD><EFBFBD>1
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 14: //<2F><>ϵ<EFBFBD><CFB5>2
BreakChar(szName,sizeof(user.szLXR2)-1);
_tcscpy(user.szLXR2 , szName );
break;
case 15: //<2F>ֻ<EFBFBD>2
BreakChar(szName,sizeof(user.szMobile2)-1);
_tcscpy(user.szMobile2 , szName );
break;
case 16: //<2F>绰2
BreakChar(szName,sizeof(user.szTel2)-1);
_tcscpy( user.szTel2 , szName );
break;
case 17: //<2F><>ַ2
BreakChar(szName,sizeof(user.szAddr2)-1);
_tcscpy( user.szAddr2 , szName );
break;
case 18: //<2F>ʱ<EFBFBD>2
BreakChar(szName,sizeof(user.szPostcode2)-1);
_tcscpy(user.szPostcode2 , szName );
break;
case 19: //<2F><> λ2
BreakChar(szName,sizeof(user.szCorp2)-1);
_tcscpy(user.szCorp2 , szName );
break;
case 20: //<2F><><EFBFBD><EFBFBD>1
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.tBirthday2);
}
}
catch(...)
{
memset(&user.tBirthday2,0,sizeof(user.tBirthday2));
}
break;
case 21: //<2F><> ע
BreakChar(szName,sizeof(user.szBZ)-1);
_tcscpy( user.szBZ , szName );
break;
}
}
if (_tcslen(user.szName) >0 || _tcslen(user.szTel) >0 ||
_tcslen(user.szMobile) >0)
{
if ( _tcslen(user.szName) <= 0 )
_stprintf( user.szName , _T("IP%d") , lNameCount );
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
_stprintf( szName , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>->%d") , lLineCount );
m_B_Tips.SetWindowText( szName );
//<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_pFCAddress->m_szGroupID)<=0)
str.Format( _T("select * from caddress where Mobile='%s' and (GroupID is null or len(GroupID)=0)") , user.szMobile );
else
str.Format( _T("select * from caddress where Mobile='%s' and GroupID='%s'") , user.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") , 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;
}
}
}
if ( bAdd )
{
lNameCount ++;
m_pFCAddress->AddUser(user,false);
}
}
lLineCount ++;
}
else
{
break;
}
}
fTalk.Close();
_stprintf(szName , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:TXT\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>:%d\n<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%d\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>:%s") , lNameCount , lLineCount, szFileName);
MessageBox( szName , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>"),MB_OK|MB_ICONINFORMATION );
m_pFCAddress->On_User_Refresh();
return true;
}
long DLG_User_InportC::ReadLine(CFile *file, char *pSplit, char *szBuf, long lLen)
{
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;
}
void DLG_User_InportC::OnUserInportkGetfile()
{
#define FILE_FILTER_TEXT \
TEXT("txt<EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD> (*.txt)\0*.txt\0")\
TEXT("Excel csv <20>ļ<EFBFBD> (*.csv)\0*.csv\0")\
TEXT("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD> (*.*)\0*.*;\0\0")
if ( m_bInport )
{
TCHAR szFile[ 256 ];
TCHAR szFileB[ 256 ];
*szFileB = NULL;
_stprintf( szFile , _T("*.txt") );
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><EFBFBD><EFBFBD>ļ<EFBFBD>");
if ( ::GetOpenFileName( &sOpen ) )
{
m_E_FileName.SetWindowText(sOpen.lpstrFile);
return ;
}
}
else
{
TCHAR szFile[ 256 ];
TCHAR szFileB[ 256 ];
*szFileB = NULL;
_stprintf( szFile , _T("Address") );
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><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>");
if ( ::GetSaveFileName( &sOpen ) )
{
m_E_FileName.SetWindowText(sOpen.lpstrFile);
}
}
}