CorpSms/FCAddress.cpp

1245 lines
38 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// FKAddress.cpp : implementation file
//
#include "stdafx.h"
#include "corpsms.h"
#include "FCAddress.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CFCAddress dialog
#include "MainFrm.h"
#include "ProcessSocket.h"
#include "DLG_Group_Modify.h"
#include "FuncView.h"
#include "DLG_User_ModifyC.h"
#include "DLG_User_InportC.h"
#include "DLG_User_InportP2.h"
#include "DLG_User_Log.h"
#include "..\public\StringSort\StringSort.h"
CFCAddress::CFCAddress(CWnd* pParent /*=NULL*/)
: CDialog(CFCAddress::IDD, pParent)
{
//{{AFX_DATA_INIT(CFCAddress)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_bInit = false;
m_bRefresh = false;
m_lUserID = 0;
m_bFind2 = false;
memset(m_szGroupID,0,sizeof(m_szGroupID));
memset(m_szLocal,0,sizeof(m_szLocal));
m_Copy_UserID = 0;
memset(m_Copy_GroupID,0,sizeof(m_Copy_GroupID));
m_Copy_Count = 0;
m_Copy_Type = 0;
m_Copy_Data = NULL;
}
void CFCAddress::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CFCAddress)
DDX_Control(pDX, IDC_CADDRESS_LIST, m_wndList);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CFCAddress, CDialog)
//{{AFX_MSG_MAP(CFCAddress)
ON_WM_SIZE()
ON_WM_TIMER()
ON_NOTIFY(NM_DBLCLK, IDC_CADDRESS_LIST, OnDblclkKaddressList)
ON_NOTIFY(NM_RCLICK, IDC_CADDRESS_LIST, OnRclickKaddressList)
ON_NOTIFY(LVN_KEYDOWN, IDC_CADDRESS_LIST, OnKeydownKaddressList)
ON_WM_DESTROY()
//}}AFX_MSG_MAP
ON_MESSAGE( LIST_DROP_BEGIN , On_List_DropBegin )
ON_COMMAND( MENU_CADDRESS_ADD , On_User_Add)
ON_COMMAND( MENU_CADDRESS_ADDGROUP , On_User_AddGroup)
ON_COMMAND( MENU_CADDRESS_MODIFY , On_User_Modify)
ON_COMMAND( MENU_CADDRESS_DEL , On_User_Del)
ON_COMMAND( MENU_CADDRESS_FIND , On_User_Find)
ON_COMMAND( MENU_CADDRESS_ADDTOLIST , On_User_AddToList)
ON_COMMAND( MENU_CADDRESS_INPORT , On_User_Inport)
ON_COMMAND( MENU_CADDRESS_EXPORT , On_User_Export)
ON_COMMAND( MENU_CADDRESS_REFRESH, On_User_Refresh)
ON_COMMAND( MENU_CADDRESS_COPY , On_User_Copy)
ON_COMMAND( MENU_CADDRESS_CUT , On_User_Cut)
ON_COMMAND( MENU_CADDRESS_PASTE , On_User_Paste)
ON_COMMAND( MENU_CADDRESS_LOG , On_User_Log)
ON_COMMAND( MENU_CADDRESS_LOG2 , On_User_Log2)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CFCAddress message handlers
BOOL CFCAddress::ReHide()
{
ShowWindow( SW_HIDE );
return true;
}
BOOL CFCAddress::ReShow(BOOL bRefresh)
{
ShowWindow( SW_SHOW );
if ( bRefresh || !m_bRefresh )
{
RefreshInfo();
}
return true;
}
BOOL CFCAddress::RefreshInfo()
{
return true;
}
long CFCAddress::GetCurrentSelected()
{
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
if ( pos )
{
return m_wndList.GetNextSelectedItem(pos);
}
return -1;
}
void CFCAddress::OnOK()
{
//CDialog::OnOK();
}
void CFCAddress::OnCancel()
{
//CDialog::OnCancel();
}
BOOL CFCAddress::OnInitDialog()
{
CDialog::OnInitDialog();
//ȡ<>ù<EFBFBD><C3B9>ò<EFBFBD><C3B2><EFBFBD>
//CMainFrame * pFrame = static_cast <CMainFrame *>((CMainFrame *)AfxGetMainWnd());
this->GetParent()->GetParentFrame();
m_pMainFrame = (CMainFrame *)this->GetParent()->GetParentFrame();
m_pSocket = &m_pMainFrame->m_Socket;
m_AdoRS.SetAdoConnection( &m_pMainFrame->m_adoConnection );
SetTimer( 1 , 200 , NULL ); //Ϊ<><CEAA>ȡ<EFBFBD><C8A1>m_pFuncView;
//<2F><>ʼ<EFBFBD><CABC>List
m_Image.Create(16,16,ILC_COLOR32|ILC_MASK,5,5);
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_ADDRESSM) );
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_LOCK) );
m_wndList.SubClassWindow2();
m_wndList.SetHeadings(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,50; <20><><EFBFBD><EFBFBD>,80; <20><><EFBFBD><EFBFBD>,180; <20><><EFBFBD><EFBFBD>,100; <20><>ϵ<EFBFBD><CFB5>1,100; <20>ֻ<EFBFBD>,100; <20><>ϵ<EFBFBD><CFB5>2,100; <20>ֻ<EFBFBD>,100;"));
m_wndList.SetGridLines(true);
m_wndList.SetImageList(&m_Image,LVSIL_SMALL);
//m_wndList.SetBkColor( RGB(237,191,175) );
//m_wndList.SetTextBkColor( RGB(237,191,175) );
m_bInit = true;
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CFCAddress::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
if ( m_bInit )
{
m_wndList.MoveWindow( 0 , 0 , cx,cy);
}
}
void CFCAddress::OnTimer(UINT_PTR nIDEvent)
{
CDialog::OnTimer(nIDEvent);
if ( nIDEvent == 1 )
{
KillTimer( 1 );
m_pFuncView = m_pMainFrame->m_pFuncView;
return ;
}
}
long CFCAddress::ShowUser(long lUserID,const TCHAR * pWhere,BOOL bGroupAll)
{
if ( bGroupAll )
m_bFind2 = true;
else
m_bFind2 = false;
m_wndList.ShowWindow( SW_HIDE ); //Ϊ<>˼ӿ<CBBC><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
m_wndList.DeleteAllItems();
CString strWhere;
if ( pWhere )
strWhere = pWhere;
TCHAR szSelect[1024]={0};
CString str;
m_lUserID = lUserID;
memset( m_szGroupID , 0 , sizeof(m_szGroupID) );
if ( bGroupAll )
{
_stprintf( szSelect , _T("Select * from caddress where UserType='1' %s ") , strWhere ); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
}
else
{
if ( lUserID != -1 ) //<2F><><EFBFBD><EFBFBD>-1<>Ǵ<EFBFBD><C7B4><EFBFBD><EFBFBD><EFBFBD>
{
_stprintf( szSelect , _T("select GroupID from caddress where UserID=%d AND UserType='0'") , lUserID); //<2F><>ѯ<EFBFBD>û<EFBFBD>ID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>Ϊ<EFBFBD><CEAA>
BOOL b = m_AdoRS.Open( szSelect );
long lCount = m_AdoRS.GetRecordCount();
if ( b && lCount )
{
m_AdoRS.MoveFirst();
m_AdoRS.GetCollect( _T("GroupID") , m_szGroupID );
}
else
{
m_wndList.ShowWindow( SW_SHOW ); //Ϊ<>˼ӿ<CBBC><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
return 0;
}
}
GetLocal( m_szLocal , m_szGroupID ); //ȡ<>û<EFBFBD>·<EFBFBD><C2B7>
if ( lUserID == -1 ) //<2F><><EFBFBD><EFBFBD><EFBFBD>Ǹ<EFBFBD><C7B8><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ΪNULL
_stprintf( szSelect , _T("select * from caddress where (GroupID is null or len(GroupID)=0) and UserType='1' %s order by CreateTime "),strWhere ); //<2F><><EFBFBD>Ҵ<EFBFBD><D2B4><EFBFBD><EFBFBD>µ<EFBFBD><C2B5>û<EFBFBD>
else
_stprintf( szSelect , _T("Select * from caddress where GroupID='%s' AND UserType='1' %s order by CreateTime ") , m_szGroupID,strWhere ); //<2F><><EFBFBD>Ҵ<EFBFBD><D2B4><EFBFBD><EFBFBD>µ<EFBFBD><C2B5>û<EFBFBD>
}
BOOL b = m_AdoRS.Open( szSelect );
long lCount = m_AdoRS.GetRecordCount();
if ( b && lCount )
{
COleDateTime t;
m_AdoRS.MoveFirst();
for ( int i = 0 ; i< lCount ; i++ )
{
CKAddress user={0};
COleDateTime t;
m_AdoRS.GetCollect( _T("UserID") , user.lUserID);
m_AdoRS.GetCollect( _T("UserType") , user.szUserType);
m_AdoRS.GetCollect( _T("GroupID") , user.szGroupID);
m_AdoRS.GetCollect( _T("Name") , user.szName);
m_AdoRS.GetCollect( _T("CarNum") , user.szCarNum);
m_AdoRS.GetCollect( _T("CarType") , user.szCarType);
m_AdoRS.GetCollect( _T("FDJNum") , user.szFDJNum);
m_AdoRS.GetCollect( _T("DPNum") , user.szDPNum);
m_AdoRS.GetCollect( _T("BuyDate"), t); t.GetAsSystemTime(user.tBuyDate);
m_AdoRS.GetCollect( _T("BXDate"), t); t.GetAsSystemTime(user.tBXDate);
m_AdoRS.GetCollect( _T("CreateTime") , t); t.GetAsSystemTime(user.tCreateTime);
m_AdoRS.GetCollect( _T("BZ") , user.szBZ);
m_AdoRS.GetCollect( _T("LXR") , user.szLXR);
m_AdoRS.GetCollect( _T("Addr") , user.szAddr);
m_AdoRS.GetCollect( _T("Postcode") , user.szPostcode);
m_AdoRS.GetCollect( _T("Tel") , user.szTel);
m_AdoRS.GetCollect( _T("Mobile") , user.szMobile);
m_AdoRS.GetCollect( _T("Birthday"), t); t.GetAsSystemTime(user.tBirthday);
m_AdoRS.GetCollect( _T("LXR2") , user.szLXR2);
m_AdoRS.GetCollect( _T("Addr2") , user.szAddr2);
m_AdoRS.GetCollect( _T("Postcode2") , user.szPostcode2);
m_AdoRS.GetCollect( _T("Tel2") , user.szTel2);
m_AdoRS.GetCollect( _T("Mobile2") , user.szMobile2);
m_AdoRS.GetCollect( _T("Birthday2"), t); t.GetAsSystemTime(user.tBirthday2);
m_AdoRS.MoveNext();
//m_wndList.SetHeadings(_T("<22><><EFBFBD><EFBFBD>,50; <20><><EFBFBD><EFBFBD>,80; <20><><EFBFBD><EFBFBD>,180; <20><><EFBFBD><EFBFBD>,100; <20><>ϵ<EFBFBD><CFB5>1,100; <20>ֻ<EFBFBD>,100; <20><>ϵ<EFBFBD><CFB5>2,100; <20>ֻ<EFBFBD>,100;"));
m_wndList.InsertItem( i , _itot(i+1,szSelect,10) ); //<2F><><EFBFBD><EFBFBD>
m_wndList.SetItemData( i , user.lUserID );
m_wndList.SetItemText(i,1, user.szCarNum );
m_wndList.SetItemText(i,2, user.szName );
m_wndList.SetItemText(i,3, user.szCarType );
m_wndList.SetItemText(i,4, user.szLXR );
m_wndList.SetItemText(i,5, user.szMobile );
m_wndList.SetItemText(i,6, user.szLXR2 );
m_wndList.SetItemText(i,7, user.szMobile2 );
}
// return lCount;
}
m_wndList.ShowWindow( SW_SHOW ); //Ϊ<>˼ӿ<CBBC><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
return 0;
}
void CFCAddress::GetLocal(TCHAR *pLocal, TCHAR *pGroupID)
{
long lLen = _tcslen( pGroupID );
TCHAR szGroup[16]={0};
TCHAR szTemp[16]={0};
TCHAR szSelect[128]={0};
_stprintf( pLocal , _T("<EFBFBD>ͻ<EFBFBD>ͨѶ¼") );
for ( int i = 1 ; i<= lLen ; i++ )
{
_tcsncpy( szGroup , pGroupID , i );
_stprintf( szSelect , _T("select Name from caddress where GroupID='%s' AND UserType='0' ") , szGroup );
BOOL b = m_AdoRS.Open( szSelect );
if (b && !m_AdoRS.IsEOF())
{
m_AdoRS.GetCollect( _T("Name") , szTemp );
_tcscat( pLocal , _T("\\") );
_tcscat( pLocal , szTemp );
}
}
}
void CFCAddress::OnDblclkKaddressList(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
On_User_Modify();
}
void CFCAddress::OnRclickKaddressList(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
ShowRMenu();
}
void CFCAddress::OnKeydownKaddressList(NMHDR* pNMHDR, LRESULT* pResult)
{
LV_KEYDOWN* pLVKeyDow = (LV_KEYDOWN*)pNMHDR;
*pResult = 0;
if ( pLVKeyDow->wVKey == VK_DELETE )
{
On_User_Del();
}
if ( pLVKeyDow->wVKey == VK_INSERT)
{
On_User_Add();
}
if ( pLVKeyDow->wVKey == VK_SPACE)
{
On_User_Modify();
}
if ( pLVKeyDow->wVKey == 'S' || pLVKeyDow->wVKey == 's')
{
On_User_AddToList();
}
if ( pLVKeyDow->wVKey == 'G' || pLVKeyDow->wVKey == 'g')
{
On_User_AddGroup();
}
if ( pLVKeyDow->wVKey == 'F' || pLVKeyDow->wVKey == 'f')
{
On_User_Find();
}
if ( pLVKeyDow->wVKey == 'R' || pLVKeyDow->wVKey == 'r')
{
On_User_Refresh();
}
if ( pLVKeyDow->wVKey == 'C' || pLVKeyDow->wVKey == 'c')
{
On_User_Copy();
}
if ( pLVKeyDow->wVKey == 'X' || pLVKeyDow->wVKey == 'x')
{
On_User_Cut();
}
if ( pLVKeyDow->wVKey == 'V' || pLVKeyDow->wVKey == 'v')
{
On_User_Paste();
}
if ( pLVKeyDow->wVKey == 'A' || pLVKeyDow->wVKey == 'a')
{
m_wndList.SelectAllItems();
}
}
void CFCAddress::ShowRMenu()
{
if (!m_pMainFrame->GetUserPurview(PURVIEW_PADDRESS,false)) //û<>в鿴Ȩ<E9BFB4><C8A8>
return ;
CMenu menu;
menu.CreatePopupMenu();
BOOL bLock = false;
long lItem = this->GetCurrentSelected();
if (!m_bFind2)
{
menu.AppendMenu(MF_STRING , MENU_CADDRESS_ADD, _T(" <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD> ") );
menu.AppendMenu(MF_STRING , MENU_CADDRESS_ADDGROUP, _T(" <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD> ") );
}
else
{
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CADDRESS_ADD, _T(" <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD> ") );
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CADDRESS_ADDGROUP, _T(" <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD> ") );
}
menu.AppendMenu(MF_SEPARATOR );
//<2F>޸<EFBFBD>
if ( lItem >=0)
{
menu.AppendMenu(MF_STRING , MENU_CADDRESS_MODIFY, _T(" <20><> <20><> ") );
}
else
{
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CADDRESS_MODIFY , _T(" <20><> <20><> ") );
}
//ɾ<><C9BE>
if ( lItem >=0 )
{
menu.AppendMenu(MF_STRING , MENU_CADDRESS_DEL, _T(" ɾ <20><> ") );
}
else
{
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CADDRESS_DEL , _T(" ɾ <20><> ") );
}
//<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
if ( m_pMainFrame->GetUserPurview(PURVIEW_SENDP,false) && lItem >=0 )
{
menu.AppendMenu(MF_STRING , MENU_CADDRESS_ADDTOLIST, _T(" <20><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD> ") );
}
else
{
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CADDRESS_ADDTOLIST , _T(" <20><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD> ") );
}
menu.AppendMenu(MF_SEPARATOR );
if ( lItem >=0 && !m_bFind2 )
{
menu.AppendMenu(MF_STRING , MENU_CADDRESS_COPY , _T(" <20><> <20><> ") );
menu.AppendMenu(MF_STRING , MENU_CADDRESS_CUT , _T(" <20><> <20><> ") );
}
else
{
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CADDRESS_COPY , _T(" <20><> <20><> ") );
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CADDRESS_CUT , _T(" <20><> <20><> ") );
}
if (!m_bFind2 && m_Copy_Count>0 && !(m_lUserID==m_Copy_UserID && m_Copy_Type==PADDRESS_COPYTYPE_CUT))
menu.AppendMenu(MF_STRING , MENU_CADDRESS_PASTE , _T(" ճ <20><> ") );
else
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CADDRESS_PASTE , _T(" ճ <20><> ") );
menu.AppendMenu(MF_SEPARATOR );
menu.AppendMenu(MF_STRING , MENU_CADDRESS_FIND, _T(" <20><><EFBFBD><EFBFBD>... ") );
menu.AppendMenu(MF_SEPARATOR );
if ( lItem >=0 )
{
menu.AppendMenu(MF_STRING , MENU_CADDRESS_LOG, _T(" <20>շ<EFBFBD><D5B7><EFBFBD>־... ") );
menu.AppendMenu(MF_STRING , MENU_CADDRESS_LOG2, _T(" <20>շ<EFBFBD><D5B7><EFBFBD>־2... ") );
}
else
{
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CADDRESS_LOG, _T(" <20>շ<EFBFBD><D5B7><EFBFBD>־... ") );
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CADDRESS_LOG2, _T(" <20>շ<EFBFBD><D5B7><EFBFBD>־... ") );
}
menu.AppendMenu(MF_SEPARATOR );
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
if (!m_bFind2)
menu.AppendMenu(MF_STRING , MENU_CADDRESS_INPORT, _T(" <20><><EFBFBD><EFBFBD>ͨѶ¼ ") );
else
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_CADDRESS_INPORT, _T(" <20><><EFBFBD><EFBFBD>ͨѶ¼ ") );
menu.AppendMenu(MF_STRING , MENU_CADDRESS_EXPORT, _T(" <20><><EFBFBD><EFBFBD>ͨѶ¼ ") );
menu.AppendMenu(MF_SEPARATOR );
//ˢ<><CBA2>
menu.AppendMenu(MF_STRING , MENU_CADDRESS_REFRESH, _T(" ˢ <20><> ") );
//<2F><>ʾ<EFBFBD>˵<EFBFBD>
POINT pt ;
::GetCursorPos( &pt );
//this->ClientToScreen( &pt);
menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL);
menu.DestroyMenu();
}
LRESULT CFCAddress::On_List_DropBegin( WPARAM wParam , LPARAM lParam )
{
//<2F><><EFBFBD><EFBFBD>û<EFBFBD>з<EFBFBD><D0B7><EFBFBD>˽<EFBFBD>˵<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8>
if ( !m_pMainFrame->GetUserPurview( PURVIEW_SENDP , false ) )
return false;
long lCount = m_wndList.GetSelectedCount();
if ( lCount <= 0 )
return false;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
long lSize = sizeof(Send_User)*lCount+sizeof(long);
HGLOBAL hData = GlobalAlloc(GHND|GMEM_SHARE, lSize );
BYTE *pS = (BYTE *)GlobalLock( hData );
memset( pS , 0 , lSize );
long * plCount = (long *)pS;
Send_User * pUser = (Send_User * )(pS+sizeof(long));
*plCount = lCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TCHAR szSelect[128]={0};
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
while ( pos )
{
long lItem = m_wndList.GetNextSelectedItem( pos );
long lUserID = m_wndList.GetItemData( lItem );
if ( lUserID > 0 )
{
_stprintf( szSelect , _T("select * from caddress where UserID=%d"), lUserID );
BOOL b = m_AdoRS.Open( szSelect );
if ( b && m_AdoRS.GetRecordCount() )
{
m_AdoRS.MoveFirst();
m_AdoRS.GetCollect( _T("Name") , pUser->szName);
//m_AdoRS.GetCollect( _T("NickName") , pUser->szNickName);
m_AdoRS.GetCollect( _T("Mobile") , pUser->szMobile);
m_AdoRS.GetCollect( _T("BZ") , pUser->szBZ);
}
}
pUser ++;
}
GlobalUnlock( hData );
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
COleDataSource data ;
UINT iCF = ::RegisterClipboardFormat( _T("CORPSMS_USER") );
data.CacheGlobalData( iCF , hData );
// Begin Drag operation
CUserDropTarget::m_shWndTreeCtrl = NULL;
CUserDropTarget::m_lAddressType = -1;
DROPEFFECT dropeffect = data.DoDragDrop();
GlobalFree( hData );
return true;
}
void CFCAddress::On_User_Add()
{
if ( m_bFind2 ) //<2F><><EFBFBD>ڲ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD>Ч
return ;
CKAddress Address={0};
_tcscpy(Address.szGroupID,m_szGroupID);
Address.szUserType[0]='1'; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
DLG_User_ModifyC dlg(this);
dlg.SetParam( Address,m_szLocal,true);
dlg.DoModal();
}
void CFCAddress::On_User_AddGroup()
{
if ( m_bFind2 ) //<2F><><EFBFBD>ڲ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD>Ч
return ;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܽ<EFBFBD>12<31><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if ( _tcslen(m_szGroupID) >12 )
{
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>") , MB_ICONWARNING );
return ;
}
ANS_GAddress_Group_AddData GAdd={0};
//<2F><><EFBFBD>ҿ<EFBFBD><D2BF>е<EFBFBD><D0B5><EFBFBD>ID
long lGroupLen = _tcslen( m_szGroupID );
TCHAR szSelect[128]={0};
_stprintf( szSelect , _T("select GroupID from caddress where GroupID like '%s_' AND UserType='0' ") , m_szGroupID); //<2F><><EFBFBD>ҵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>µĵ<C2B5>һ<EFBFBD><D2BB>
BOOL b = m_AdoRS.Open( szSelect );
CStringSort sort;
CString strTemp;
while(!m_AdoRS.IsEOF() )
{
m_AdoRS.GetCollect( _T("GroupID") , strTemp );
sort.Add(strTemp);
m_AdoRS.MoveNext();
}
long lCount = sort.GetCount();
long lAllCount=GROUPID_END-GROUPID_BEGIN;
if ( lCount >= GROUPID_END-GROUPID_BEGIN )
{
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>") , MB_ICONWARNING );
return ;
}
TCHAR szGroupID[16]={0};
_tcscpy( szGroupID , m_szGroupID );
//<2F><>ס<EFBFBD><D7A1><EFBFBD>е<EFBFBD><D0B5><EFBFBD>ID
TCHAR szAllID[200][24]={0};
for ( int i = 0 ; i< lCount ;i++ )
{
_tcscpy(szAllID[i],sort.GetAt(i));
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
for ( i=0 ; i< lCount ; i++ )
{
BOOL bFound = false;
for ( int j= 0 ; j<lCount ; j++ )
{
if ( szAllID[j][lGroupLen] == GROUPID_BEGIN+i )
{
bFound = true;
}
}
if ( !bFound )
break;
}
szGroupID[lGroupLen] = GROUPID_BEGIN+i; //<2F>µ<EFBFBD><C2B5><EFBFBD>ID
_tcscpy( GAdd.szGroupID , szGroupID );
::GetLocalTime( &GAdd.tCreateTime );
DLG_Group_Modify dlg(this);
dlg.SetParam( GAdd,m_szLocal,_T("caddress") );
if ( dlg.DoModal() == IDOK )
{
GAdd = dlg.GetParam();
//<2F><><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>
BOOL b = m_AdoRS.Open( _T("caddress") , adCmdTable );
if ( b )
{
m_AdoRS.AddNew();
m_AdoRS.PutCollect(_T("UserType") ,_T("0") ); //<2F>û<EFBFBD><C3BB><EFBFBD>
m_AdoRS.PutCollect(_T("GroupID") ,GAdd.szGroupID);
m_AdoRS.PutCollect(_T("Name") ,GAdd.szGroupName );
m_AdoRS.PutCollect(_T("CreateTime") ,COleDateTime::GetCurrentTime() );
m_AdoRS.PutCollect(_T("BZ") ,GAdd.szBZ);
m_AdoRS.Update();
m_AdoRS.GetCollect(_T("UserID") , GAdd.lUserID );
}
//<2F><><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>
m_pFuncView->AddKGroup( GAdd.szGroupName , m_lUserID , GAdd.lUserID );
}
}
void CFCAddress::On_User_Modify()
{
long lItem = GetCurrentSelected();
if ( lItem < 0 )
return ;
long lUserID = m_wndList.GetItemData( lItem );
CString str;
CKAddress Address = GetUserData(lUserID);
if (_tcslen(Address.szName)>0)
{
DLG_User_ModifyC dlg(this);
dlg.SetParam(Address,m_szLocal,false);
if ( dlg.DoModal() == IDOK )
{
Address = dlg.GetParam();
//m_wndList.SetHeadings(_T("<22><><EFBFBD><EFBFBD>,50; <20><><EFBFBD><EFBFBD>,80; <20><><EFBFBD><EFBFBD>,180; <20><><EFBFBD><EFBFBD>,100; <20><>ϵ<EFBFBD><CFB5>1,100; <20>ֻ<EFBFBD>,100; <20><>ϵ<EFBFBD><CFB5>2,100; <20>ֻ<EFBFBD>,100;"));
//<2F><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>
m_wndList.SetItemText(lItem,1, Address.szCarNum );
m_wndList.SetItemText(lItem,2, Address.szName );
m_wndList.SetItemText(lItem,3, Address.szCarType );
m_wndList.SetItemText(lItem,4, Address.szLXR );
m_wndList.SetItemText(lItem,5, Address.szMobile );
m_wndList.SetItemText(lItem,6, Address.szLXR2 );
m_wndList.SetItemText(lItem,7, Address.szMobile2 );
//<2F><><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EBB1BE><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
TCHAR szSelect[128]={0};
_stprintf( szSelect , _T("select * from caddress where UserID=%d ") , Address.lUserID );
BOOL b = m_AdoRS.Open( szSelect );
if ( b && m_AdoRS.GetRecordCount() )
{
Address.tBuyDate.wHour=0;Address.tBuyDate.wMinute=0;Address.tBuyDate.wMinute=0;Address.tBuyDate.wSecond=0;Address.tBuyDate.wMilliseconds=0;
Address.tBXDate.wHour=0;Address.tBXDate.wMinute=0;Address.tBXDate.wMinute=0;Address.tBXDate.wSecond=0;Address.tBXDate.wMilliseconds=0;
Address.tBirthday.wHour=0;Address.tBirthday.wMinute=0;Address.tBirthday.wMinute=0;Address.tBirthday.wSecond=0;Address.tBirthday.wMilliseconds=0;
Address.tBirthday2.wHour=0;Address.tBirthday2.wMinute=0;Address.tBirthday2.wMinute=0;Address.tBirthday2.wSecond=0;Address.tBirthday2.wMilliseconds=0;
m_AdoRS.MoveFirst();
m_AdoRS.PutCollect(_T("UserType") ,Address.szUserType);
m_AdoRS.PutCollect(_T("GroupID") ,Address.szGroupID);
m_AdoRS.PutCollect(_T("Name") ,Address.szName );
m_AdoRS.PutCollect(_T("CarNum") ,Address.szCarNum );
m_AdoRS.PutCollect(_T("CarType") ,Address.szCarType );
m_AdoRS.PutCollect(_T("FDJNum") ,Address.szFDJNum );
m_AdoRS.PutCollect(_T("DPNum") ,Address.szDPNum );
m_AdoRS.PutCollect(_T("BuyDate") ,Address.tBuyDate );
m_AdoRS.PutCollect(_T("BXDate") ,Address.tBXDate );
m_AdoRS.PutCollect(_T("BZ") ,Address.szBZ);
m_AdoRS.PutCollect(_T("LXR") ,Address.szLXR );
m_AdoRS.PutCollect(_T("Addr") ,Address.szAddr );
m_AdoRS.PutCollect(_T("Corp") ,Address.szCorp );
m_AdoRS.PutCollect(_T("Postcode") ,Address.szPostcode );
m_AdoRS.PutCollect(_T("Tel") ,Address.szTel );
m_AdoRS.PutCollect(_T("Mobile") ,Address.szMobile );
m_AdoRS.PutCollect(_T("Birthday") ,Address.tBirthday );
m_AdoRS.PutCollect(_T("LXR2") ,Address.szLXR2 );
m_AdoRS.PutCollect(_T("Addr2") ,Address.szAddr2 );
m_AdoRS.PutCollect(_T("Corp2") ,Address.szCorp2 );
m_AdoRS.PutCollect(_T("Postcode2") ,Address.szPostcode2 );
m_AdoRS.PutCollect(_T("Tel2") ,Address.szTel2 );
m_AdoRS.PutCollect(_T("Mobile2") ,Address.szMobile2 );
m_AdoRS.PutCollect(_T("Birthday2") ,Address.tBirthday2 );
m_AdoRS.Update();
m_AdoRS.Close();
}
}
}
}
void CFCAddress::On_User_Del()
{
long lRet = MessageBox( _T("ȷʵҪɾ<EFBFBD><EFBFBD>ѡ<EFBFBD>е<EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2);
if ( lRet != IDYES )
return ;
long lCount = m_wndList.GetSelectedCount();
long *lDel = new long[lCount+2];
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
long i = 0;
while(pos)
{
lDel[i]= m_wndList.GetNextSelectedItem(pos);
i ++;
}
long lUserID = 0;
TCHAR szSelect[128];
//<2F><>תɾ<D7AA><C9BE>
m_wndList.ShowWindow( SW_HIDE ); //<2F>ӿ<EFBFBD><D3BF><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>ٶ<EFBFBD>
for ( i = lCount ; i>0 ; i-- )
{
lUserID = m_wndList.GetItemData( lDel[i-1] );
_stprintf( szSelect ,_T("delete from caddress where UserID=%d ") , lUserID );
BOOL b = m_AdoRS.Open( szSelect );
if ( b && m_AdoRS.GetRecordCount() )
{
m_wndList.DeleteItem(lDel[i-1]); //<2F><><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ɾ<EFBFBD><C9BE>
}
}
m_wndList.ShowWindow( SW_SHOW ); //<2F>ӿ<EFBFBD><D3BF><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>ٶ<EFBFBD>
delete lDel;
}
void CFCAddress::On_User_Find()
{
CKAddress Address={0};
_tcscpy(Address.szGroupID,m_szGroupID);
Address.szUserType[0]='1'; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
DLG_User_ModifyC dlg(this);
dlg.SetParam( Address,m_szLocal,true,true);
if ( dlg.DoModal()==IDOK )
{
CString strFind;
CString strTemp;
Address = dlg.GetParam();
if ( _tcslen(Address.szName)>0 )//<2F><> <20><>
{
strTemp.Format( _T(" and Name like '%%%s%%' ") , Address.szName );
strFind += strTemp;
}
if ( _tcslen(Address.szCarNum)>0 )//<2F><> <20><>
{
strTemp.Format( _T(" and CarNum like '%%%s%%' ") , Address.szCarNum );
strFind += strTemp;
}
if ( _tcslen(Address.szCarType)>0 )//<2F><> <20><>
{
strTemp.Format( _T(" and CarType like '%%%s%%' ") , Address.szCarType );
strFind += strTemp;
}
if ( _tcslen(Address.szFDJNum)>0 )//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
strTemp.Format( _T(" and FDJNum like '%%%s%%' ") , Address.szFDJNum );
strFind += strTemp;
}
if ( _tcslen(Address.szDPNum)>0 )//<2F><><EFBFBD>̺<EFBFBD>
{
strTemp.Format( _T(" and DPNum like '%%%s%%' ") , Address.szDPNum );
strFind += strTemp;
}
if ( COleDateTime(Address.tBuyDate).GetStatus()==COleDateTime::valid )
{
if ( m_pMainFrame->m_Setup.bSQLUse )
strTemp.Format( _T(" and BuyDate='%04d%02d%02d' ") , Address.tBuyDate.wYear,Address.tBuyDate.wMonth,Address.tBuyDate.wDay );
else
strTemp.Format( _T(" and BuyDate=#%04d-%02d-%02d# ") , Address.tBuyDate.wYear,Address.tBuyDate.wMonth,Address.tBuyDate.wDay );
strFind += strTemp;
}
if ( COleDateTime(Address.tBXDate).GetStatus()==COleDateTime::valid )
{
if ( m_pMainFrame->m_Setup.bSQLUse )
strTemp.Format( _T(" and BXDate='%04d%02d%02d' ") , Address.tBXDate.wYear,Address.tBXDate.wMonth,Address.tBXDate.wDay );
else
strTemp.Format( _T(" and BXDate=#%04d-%02d-%02d# ") , Address.tBXDate.wYear,Address.tBXDate.wMonth,Address.tBXDate.wDay );
strFind += strTemp;
}
if ( _tcslen(Address.szBZ)>0 )//<2F><> ע
{
strTemp.Format( _T(" and BZ like '%%%s%%' ") , Address.szBZ );
strFind += strTemp;
}
if ( _tcslen(Address.szLXR)>0 )//<2F><>ϵ<EFBFBD><CFB5>
{
strTemp.Format( _T(" and LXR like '%%%s%%' ") , Address.szLXR );
strFind += strTemp;
}
if ( _tcslen(Address.szAddr)>0 )//<2F><> ַ
{
strTemp.Format( _T(" and Addr like '%%%s%%' ") , Address.szAddr );
strFind += strTemp;
}
if ( _tcslen(Address.szCorp)>0 )//<2F><> ַ
{
strTemp.Format( _T(" and Corp like '%%%s%%' ") , Address.szCorp );
strFind += strTemp;
}
if ( _tcslen(Address.szPostcode)>0 )//<2F><> <20><>
{
strTemp.Format( _T(" and Postcode like '%%%s%%' ") , Address.szPostcode );
strFind += strTemp;
}
if ( _tcslen(Address.szTel)>0 )//<2F><> <20><>
{
strTemp.Format( _T(" and Tel like '%%%s%%' ") , Address.szTel );
strFind += strTemp;
}
if ( _tcslen(Address.szMobile)>0 )//<2F><> <20><>
{
strTemp.Format( _T(" and Mobile like '%%%s%%' ") , Address.szMobile );
strFind += strTemp;
}
if ( COleDateTime(Address.tBirthday).GetStatus()==COleDateTime::valid )
{
if ( m_pMainFrame->m_Setup.bSQLUse )
strTemp.Format( _T(" and Birthday='%04d%02d%02d' ") , Address.tBirthday.wYear,Address.tBirthday.wMonth,Address.tBirthday.wDay );
else
strTemp.Format( _T(" and Birthday=#%04d-%02d-%02d# ") , Address.tBirthday.wYear,Address.tBirthday.wMonth,Address.tBirthday.wDay );
strFind += strTemp;
}
if ( _tcslen(Address.szLXR2)>0 )//<2F><>ϵ<EFBFBD><CFB5>
{
strTemp.Format( _T(" and LXR2 like '%%%s%%' ") , Address.szLXR2 );
strFind += strTemp;
}
if ( _tcslen(Address.szAddr2)>0 )//<2F><> ַ
{
strTemp.Format( _T(" and Addr2 like '%%%s%%' ") , Address.szAddr2 );
strFind += strTemp;
}
if ( _tcslen(Address.szCorp2)>0 )//<2F><> ַ
{
strTemp.Format( _T(" and Corp2 like '%%%s%%' ") , Address.szCorp2 );
strFind += strTemp;
}
if ( _tcslen(Address.szPostcode2)>0 )//<2F><> <20><>
{
strTemp.Format( _T(" and Postcode2 like '%%%s%%' ") , Address.szPostcode2 );
strFind += strTemp;
}
if ( _tcslen(Address.szTel2)>0 )//<2F><> <20><>
{
strTemp.Format( _T(" and Tel2 like '%%%s%%' ") , Address.szTel2 );
strFind += strTemp;
}
if ( _tcslen(Address.szMobile2)>0 )//<2F><> <20><>
{
strTemp.Format( _T(" and Mobile2 like '%%%s%%' ") , Address.szMobile2 );
strFind += strTemp;
}
if ( COleDateTime(Address.tBirthday2).GetStatus()==COleDateTime::valid )
{
if ( m_pMainFrame->m_Setup.bSQLUse )
strTemp.Format( _T(" and Birthday='%04d%02d%02d' ") , Address.tBirthday2.wYear,Address.tBirthday2.wMonth,Address.tBirthday2.wDay );
else
strTemp.Format( _T(" and Birthday=#%04d-%02d-%02d# ") , Address.tBirthday2.wYear,Address.tBirthday2.wMonth,Address.tBirthday2.wDay );
strFind += strTemp;
}
ShowUser(m_lUserID,strFind,Address.bGroupAll );
if ( m_wndList.GetItemCount()<= 0 )
{
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>Ϣ"),MB_ICONINFORMATION);
}
}
}
void CFCAddress::On_User_AddToList()
{
if ( !m_pMainFrame->GetUserPurview( PURVIEW_SENDP,true) )
return ;
long lCount = m_wndList.GetSelectedCount();
if ( lCount <= 0 )
return ;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
long lSize = sizeof(Send_User)*lCount*2;
BYTE *pS = new BYTE[lSize];
memset( pS , 0 , lSize );
Send_User * pUser = (Send_User * )pS;
TCHAR szSelect[128]={0};
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
while ( pos )
{
long lItem = m_wndList.GetNextSelectedItem( pos );
long lUserID = m_wndList.GetItemData( lItem );
if ( lUserID > 0 )
{
_stprintf( szSelect , _T("select * from caddress where UserID=%d"), lUserID );
BOOL b = m_AdoRS.Open( szSelect );
if ( b && m_AdoRS.GetRecordCount() )
{
m_AdoRS.MoveFirst();
m_AdoRS.GetCollect( _T("LXR") , pUser->szName);
//m_AdoRS.GetCollect( _T("NickName") , pUser->szNickName);
m_AdoRS.GetCollect( _T("Mobile") , pUser->szMobile);
m_AdoRS.GetCollect( _T("BZ") , pUser->szBZ);
pUser ++;
m_AdoRS.GetCollect( _T("LXR2") , pUser->szName);
//m_AdoRS.GetCollect( _T("NickName") , pUser->szNickName);
m_AdoRS.GetCollect( _T("Mobile2") , pUser->szMobile);
m_AdoRS.GetCollect( _T("BZ") , pUser->szBZ);
pUser ++;
}
}
}
m_pFuncView->On_User_List_AddUser(lCount*2,(Send_User*)pS);
delete pS;
}
void CFCAddress::On_User_Inport()
{
if ( m_bFind2 ) //<2F><><EFBFBD>ڲ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD>Ч
return ;
Inport_Field Field[] =
{
{_T("<EFBFBD><EFBFBD> <20><>"),0,0,-1},
{_T("<EFBFBD><EFBFBD> <20><>"),0,1,-1},
{_T("<EFBFBD><EFBFBD> <20><>"),0,2,-1},
{_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),0,3,-1},
{_T("<EFBFBD><EFBFBD><EFBFBD>̺<EFBFBD>"),0,4,-1},
{_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),0,5,-1},
{_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),0,6,-1},
{_T("<EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>1"),0,7,-1},
{_T("<EFBFBD>ֻ<EFBFBD>1"),0,8,-1},
{_T("<EFBFBD>绰1"),0,9,-1},
{_T("<EFBFBD><EFBFBD>ַ1"),0,10,-1},
{_T("<EFBFBD>ʱ<EFBFBD>1"),0,11,-1},
{_T("<EFBFBD><EFBFBD>λ1"),0,12,-1},
{_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1"),0,13,-1},
{_T("<EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>2"),0,14,-1},
{_T("<EFBFBD>ֻ<EFBFBD>2"),0,15,-1},
{_T("<EFBFBD>绰2"),0,16,-1},
{_T("<EFBFBD><EFBFBD>ַ2"),0,17,-1},
{_T("<EFBFBD>ʱ<EFBFBD>2"),0,18,-1},
{_T("<EFBFBD><EFBFBD>λ2"),0,19,-1},
{_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2"),0,20,-1},
{_T("<EFBFBD><EFBFBD>ע"),0,21,-1},
}; DLG_User_InportP2 dlg(this);
dlg.SetParam(&Field[0],sizeof(Field)/sizeof(Inport_Field),3);
if ( dlg.DoModal()==IDOK )
{
this->On_User_Refresh();
}
return ;
/*
DLG_User_InportC dlg(this);
dlg.SetInport(this,&m_wndList,true);
if ( dlg.DoModal() == IDOK )
{
}
*/
}
void CFCAddress::On_User_Export()
{
DLG_User_InportC dlg(this);
dlg.SetInport(&m_wndList,false,0);
dlg.DoModal();
}
void CFCAddress::On_User_Refresh()
{
ShowUser( m_lUserID ); //ˢ<><CBA2>
}
void CFCAddress::On_User_Copy()
{
if ( m_bFind2 ) //<2F><><EFBFBD>ڲ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD>Ч
return ;
long lCount = m_wndList.GetSelectedCount();
if ( lCount<=0 )
return ;
m_Copy_UserID = m_lUserID;
_tcscpy(m_Copy_GroupID,m_szGroupID);
m_Copy_Count = lCount;
if ( m_Copy_Data )
{
delete m_Copy_Data;
m_Copy_Data = NULL;
}
m_Copy_Data = new CKAddress[lCount];
memset(m_Copy_Data,0,sizeof(PAddress)*lCount);
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
long i = 0;
long lItem=0;
long lUserID=0;
while(pos)
{
lItem = m_wndList.GetNextSelectedItem(pos);
lUserID = m_wndList.GetItemData(lItem);
m_Copy_Data[i] = GetUserData(lUserID);
i ++;
}
m_Copy_Count = i;
m_Copy_Type = CADDRESS_COPYTYPE_COPY;
}
void CFCAddress::On_User_Cut()
{
On_User_Copy();
m_Copy_Type = CADDRESS_COPYTYPE_CUT;
}
void CFCAddress::On_User_Paste()
{
if (m_bFind2 || m_lUserID==m_Copy_UserID || m_Copy_Count<=0) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
return ;
CString str;
if ( m_Copy_Type == CADDRESS_COPYTYPE_CUT ) //<2F><><EFBFBD><EFBFBD><>Ӹ<EFBFBD><D3B8><EFBFBD><EFBFBD><EFBFBD>ID<49><44><EFBFBD><EFBFBD>
{
for ( int i=0 ; i<m_Copy_Count;i++ )
{
str.Format( _T("Update caddress set GroupID='%s' where UserID=%d"),m_szGroupID,m_Copy_Data[i].lUserID );
m_AdoRS.Open(str);
m_AdoRS.Close();
}
}
else
{
if ( m_AdoRS.Open(_T("caddress"),adCmdTable) )
{
for ( int i=0 ; i<m_Copy_Count;i++ )
{
m_AdoRS.AddNew();
m_AdoRS.PutCollect(_T("UserType") ,m_Copy_Data[i].szUserType);
m_AdoRS.PutCollect(_T("GroupID") ,m_szGroupID);
m_AdoRS.PutCollect(_T("Name") ,m_Copy_Data[i].szName );
m_AdoRS.PutCollect(_T("CarNum") ,m_Copy_Data[i].szCarNum );
m_AdoRS.PutCollect(_T("CarType") ,m_Copy_Data[i].szCarType );
m_AdoRS.PutCollect(_T("FDJNum") ,m_Copy_Data[i].szFDJNum );
m_AdoRS.PutCollect(_T("DPNum") ,m_Copy_Data[i].szDPNum );
m_AdoRS.PutCollect(_T("BuyDate") ,m_Copy_Data[i].tBuyDate );
m_AdoRS.PutCollect(_T("BXDate") ,m_Copy_Data[i].tBXDate );
m_AdoRS.PutCollect(_T("BZ") ,m_Copy_Data[i].szBZ);
m_AdoRS.PutCollect(_T("LXR") ,m_Copy_Data[i].szLXR );
m_AdoRS.PutCollect(_T("Addr") ,m_Copy_Data[i].szAddr );
m_AdoRS.PutCollect(_T("Corp") ,m_Copy_Data[i].szCorp );
m_AdoRS.PutCollect(_T("Postcode") ,m_Copy_Data[i].szPostcode );
m_AdoRS.PutCollect(_T("Tel") ,m_Copy_Data[i].szTel );
m_AdoRS.PutCollect(_T("Mobile") ,m_Copy_Data[i].szMobile );
m_AdoRS.PutCollect(_T("Birthday") ,m_Copy_Data[i].tBirthday );
m_AdoRS.PutCollect(_T("LXR2") ,m_Copy_Data[i].szLXR2 );
m_AdoRS.PutCollect(_T("Addr2") ,m_Copy_Data[i].szAddr2 );
m_AdoRS.PutCollect(_T("Corp2") ,m_Copy_Data[i].szCorp2 );
m_AdoRS.PutCollect(_T("Postcode2") ,m_Copy_Data[i].szPostcode2 );
m_AdoRS.PutCollect(_T("Tel2") ,m_Copy_Data[i].szTel2 );
m_AdoRS.PutCollect(_T("Mobile2") ,m_Copy_Data[i].szMobile2 );
m_AdoRS.PutCollect(_T("Birthday2") ,m_Copy_Data[i].tBirthday2 );
m_AdoRS.PutCollect(_T("CreateTime") ,COleDateTime::GetCurrentTime() );
m_AdoRS.Update();
m_AdoRS.GetCollect(_T("UserID") ,m_Copy_Data[i].lUserID ); //ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>UserID
}
m_AdoRS.Close();
}
}
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
for ( int i=0 ; i<m_Copy_Count;i++ )
{
long lCount = m_wndList.GetItemCount();
TCHAR Buf[32];
//<2F><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>
//m_wndList.SetHeadings(_T("<22><><EFBFBD><EFBFBD>,50; <20><><EFBFBD><EFBFBD>,80; <20><><EFBFBD><EFBFBD>,180; <20><><EFBFBD><EFBFBD>,100; <20><>ϵ<EFBFBD><CFB5>1,100; <20>ֻ<EFBFBD>,100; <20><>ϵ<EFBFBD><CFB5>2,100; <20>ֻ<EFBFBD>,100;"));
m_wndList.InsertItem( lCount , _itot(lCount+1,Buf,10) ); //<2F><><EFBFBD><EFBFBD>
m_wndList.SetItemText(lCount,1, m_Copy_Data[i].szCarNum );
m_wndList.SetItemText(lCount,2, m_Copy_Data[i].szName );
m_wndList.SetItemText(lCount,3, m_Copy_Data[i].szCarType );
m_wndList.SetItemText(lCount,4, m_Copy_Data[i].szLXR );
m_wndList.SetItemText(lCount,5, m_Copy_Data[i].szMobile );
m_wndList.SetItemText(lCount,6, m_Copy_Data[i].szLXR2 );
m_wndList.SetItemText(lCount,7, m_Copy_Data[i].szMobile2 );
m_wndList.SetItemData(lCount,m_Copy_Data[i].lUserID );
}
if ( m_Copy_Type == PADDRESS_COPYTYPE_CUT )
{
//ÿ<><C3BF>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>һ<EFBFBD>β<EFBFBD><CEB2><EFBFBD>
m_Copy_UserID = 0;
memset(m_Copy_GroupID,0,sizeof(m_Copy_GroupID));
m_Copy_Count = 0;
m_Copy_Type = 0;
m_Copy_Data = NULL;
}
}
BOOL CFCAddress::AddUser(CKAddress user,BOOL bShow)
{
CKAddress Address = user;
long lCount = 0;
if ( bShow )
{
lCount = m_wndList.GetItemCount();
TCHAR Buf[32];
CString str;
//<2F><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>
//m_wndList.SetHeadings(_T("<22><><EFBFBD><EFBFBD>,50; <20><><EFBFBD><EFBFBD>,80; <20><><EFBFBD><EFBFBD>,180; <20><><EFBFBD><EFBFBD>,100; <20><>ϵ<EFBFBD><CFB5>1,100; <20>ֻ<EFBFBD>,100; <20><>ϵ<EFBFBD><CFB5>2,100; <20>ֻ<EFBFBD>,100;"));
m_wndList.InsertItem( lCount , _itot(lCount+1,Buf,10) ); //<2F><><EFBFBD><EFBFBD>
m_wndList.SetItemText(lCount,1, Address.szCarNum );
m_wndList.SetItemText(lCount,2, Address.szName );
m_wndList.SetItemText(lCount,3, Address.szCarType );
m_wndList.SetItemText(lCount,4, Address.szLXR );
m_wndList.SetItemText(lCount,5, Address.szMobile );
m_wndList.SetItemText(lCount,6, Address.szLXR2 );
m_wndList.SetItemText(lCount,7, Address.szMobile2 );
}
//<2F><><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>
BOOL b = m_AdoRS.Open( _T("caddress") , adCmdTable );
if ( b )
{
m_AdoRS.AddNew();
m_AdoRS.PutCollect(_T("UserType") ,Address.szUserType);
m_AdoRS.PutCollect(_T("GroupID") ,Address.szGroupID);
m_AdoRS.PutCollect(_T("Name") ,Address.szName );
m_AdoRS.PutCollect(_T("CarNum") ,Address.szCarNum );
m_AdoRS.PutCollect(_T("CarType") ,Address.szCarType );
m_AdoRS.PutCollect(_T("FDJNum") ,Address.szFDJNum );
m_AdoRS.PutCollect(_T("DPNum") ,Address.szDPNum );
Address.tBuyDate.wHour=0;Address.tBuyDate.wMinute=0;Address.tBuyDate.wMinute=0;Address.tBuyDate.wSecond=0;Address.tBuyDate.wMilliseconds=0;
m_AdoRS.PutCollect(_T("BuyDate") ,Address.tBuyDate );
Address.tBXDate.wHour=0;Address.tBXDate.wMinute=0;Address.tBXDate.wMinute=0;Address.tBXDate.wSecond=0;Address.tBXDate.wMilliseconds=0;
m_AdoRS.PutCollect(_T("BXDate") ,Address.tBXDate );
m_AdoRS.PutCollect(_T("BZ") ,Address.szBZ);
m_AdoRS.PutCollect(_T("LXR") ,Address.szLXR );
m_AdoRS.PutCollect(_T("Addr") ,Address.szAddr );
m_AdoRS.PutCollect(_T("Corp") ,Address.szCorp );
m_AdoRS.PutCollect(_T("Postcode") ,Address.szPostcode );
m_AdoRS.PutCollect(_T("Tel") ,Address.szTel );
m_AdoRS.PutCollect(_T("Mobile") ,Address.szMobile );
Address.tBirthday.wHour=0;Address.tBirthday.wMinute=0;Address.tBirthday.wMinute=0;Address.tBirthday.wSecond=0;Address.tBirthday.wMilliseconds=0;
m_AdoRS.PutCollect(_T("Birthday") ,Address.tBirthday );
m_AdoRS.PutCollect(_T("LXR2") ,Address.szLXR2 );
m_AdoRS.PutCollect(_T("Addr2") ,Address.szAddr2 );
m_AdoRS.PutCollect(_T("Corp2") ,Address.szCorp2 );
m_AdoRS.PutCollect(_T("Postcode2") ,Address.szPostcode2 );
m_AdoRS.PutCollect(_T("Tel2") ,Address.szTel2 );
m_AdoRS.PutCollect(_T("Mobile2") ,Address.szMobile2 );
Address.tBirthday2.wHour=0;Address.tBirthday2.wMinute=0;Address.tBirthday2.wMinute=0;Address.tBirthday2.wSecond=0;Address.tBirthday2.wMilliseconds=0;
m_AdoRS.PutCollect(_T("Birthday2") ,Address.tBirthday2 );
m_AdoRS.PutCollect(_T("CreateTime") ,COleDateTime::GetCurrentTime() );
m_AdoRS.Update();
m_AdoRS.GetCollect(_T("UserID") ,Address.lUserID ); //ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>UserID
if ( bShow )
m_wndList.SetItemData( lCount ,Address.lUserID );
}
m_AdoRS.Close();
return true;
}
CKAddress CFCAddress::GetUserData(long lUserID)
{
CKAddress Address={0};
TCHAR szSelect[128]={0};
_stprintf( szSelect , _T("Select * from caddress where UserID=%d AND UserType='1' ") , lUserID );
BOOL b = m_AdoRS.Open( szSelect );
if ( b && m_AdoRS.GetRecordCount() )
{
COleDateTime t;
m_AdoRS.MoveFirst();
m_AdoRS.GetCollect( _T("UserID") , Address.lUserID);
m_AdoRS.GetCollect( _T("UserType") , Address.szUserType);
m_AdoRS.GetCollect( _T("GroupID") , Address.szGroupID);
m_AdoRS.GetCollect( _T("Name") , Address.szName);
m_AdoRS.GetCollect( _T("CarNum") , Address.szCarNum);
m_AdoRS.GetCollect( _T("CarType") , Address.szCarType);
m_AdoRS.GetCollect( _T("FDJNum") , Address.szFDJNum);
m_AdoRS.GetCollect( _T("DPNum") , Address.szDPNum);
m_AdoRS.GetCollect( _T("BuyDate") , t); t.GetAsSystemTime(Address.tBuyDate);
m_AdoRS.GetCollect( _T("BXDate") , t); t.GetAsSystemTime(Address.tBXDate);
m_AdoRS.GetCollect( _T("CreateTime") , t); t.GetAsSystemTime(Address.tCreateTime);
m_AdoRS.GetCollect( _T("BZ") , Address.szBZ);
m_AdoRS.GetCollect( _T("LXR") , Address.szLXR);
m_AdoRS.GetCollect( _T("Addr") , Address.szAddr);
m_AdoRS.GetCollect( _T("Corp") , Address.szCorp);
m_AdoRS.GetCollect( _T("Postcode") , Address.szPostcode);
m_AdoRS.GetCollect( _T("Tel") , Address.szTel);
m_AdoRS.GetCollect( _T("Mobile") , Address.szMobile);
m_AdoRS.GetCollect( _T("Birthday"), t); t.GetAsSystemTime(Address.tBirthday);
m_AdoRS.GetCollect( _T("LXR2") , Address.szLXR2);
m_AdoRS.GetCollect( _T("Addr2") , Address.szAddr2);
m_AdoRS.GetCollect( _T("Corp2") , Address.szCorp2);
m_AdoRS.GetCollect( _T("Postcode2") , Address.szPostcode2);
m_AdoRS.GetCollect( _T("Tel2") , Address.szTel2);
m_AdoRS.GetCollect( _T("Mobile2") , Address.szMobile2);
m_AdoRS.GetCollect( _T("Birthday2"), t); t.GetAsSystemTime(Address.tBirthday2);
}
return Address;
}
void CFCAddress::OnDestroy()
{
if ( m_Copy_Data )
{
delete m_Copy_Data;
m_Copy_Data = NULL;
}
CDialog::OnDestroy();
}
void CFCAddress::On_User_Log()
{
long lItem = GetCurrentSelected();
if ( lItem < 0 )
return ;
CString strMobile = m_wndList.GetItemText(lItem,5);
DLG_User_Log dlg(this);
dlg.SetParam(&m_AdoRS,strMobile);
dlg.DoModal();
}
void CFCAddress::On_User_Log2()
{
long lItem = GetCurrentSelected();
if ( lItem < 0 )
return ;
CString strMobile = m_wndList.GetItemText(lItem,7);
DLG_User_Log dlg(this);
dlg.SetParam(&m_AdoRS,strMobile);
dlg.DoModal();
}