// PhoneRecord.cpp : implementation file // #include "stdafx.h" #include "ylgl.h" #include "PhoneRecord.h" #include "MyMdi.H" #include "SendMsgDlg.h" #include "AVIPlayerDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // PhoneRecord IMPLEMENT_DYNCREATE(PhoneRecord, MyFormView) PhoneRecord::PhoneRecord() : MyFormView(PhoneRecord::IDD) { //{{AFX_DATA_INIT(PhoneRecord) m_filter = _T(""); //}}AFX_DATA_INIT bLoad1=bLoad2=bLoad3=bLoad4=bLoad5=0; } PhoneRecord::~PhoneRecord() { } void PhoneRecord::DoDataExchange(CDataExchange* pDX) { MyFormView::DoDataExchange(pDX); //{{AFX_DATA_MAP(PhoneRecord) DDX_Control(pDX, IDC_LIST8, m_List5); DDX_Control(pDX, IDC_LIST7, m_List4); DDX_Control(pDX, IDC_LIST6, m_List3); DDX_Control(pDX, IDC_LIST4, m_List2); DDX_Control(pDX, IDC_COMBO1, m_combo1); DDX_Control(pDX, IDC_LIST2, m_List1); DDX_Control(pDX, IDC_STATIC1, m_static1); DDX_CBString(pDX, IDC_COMBO1, m_filter); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(PhoneRecord, MyFormView) //{{AFX_MSG_MAP(PhoneRecord) ON_BN_CLICKED(IDC_BUTclose, OnBUTclose) ON_BN_CLICKED(IDC_BUTTON1, OnButton1) ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1) ON_WM_TIMER() ON_BN_CLICKED(IDC_BUTTON2, OnButton2) ON_BN_CLICKED(IDC_BUTTON3, OnButton3) ON_BN_CLICKED(IDC_BUTTON4, OnButton4) ON_BN_CLICKED(IDC_BUTTON10, OnButton10) ON_BN_CLICKED(IDC_BUTdel2, OnBUTdel2) ON_BN_CLICKED(IDC_BUTTON6, OnButton6) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // PhoneRecord diagnostics #ifdef _DEBUG void PhoneRecord::AssertValid() const { MyFormView::AssertValid(); } void PhoneRecord::Dump(CDumpContext& dc) const { MyFormView::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // PhoneRecord message handlers void PhoneRecord::OnInitialUpdate() { MyFormView::OnInitialUpdate(); // TODO: Add your specialized code here and/or call the base class GetDlgItem(IDC_BUTTON4)->EnableWindow(IsHasRights2new(49)); CMyMdi Mdi; Mdi.SetSubView((CWnd*)GetParent(), (CWnd*)this); // Here we create the outbar control using the splitter as its parent // and setting its id to the first pane. CRect rc2; GetWindowRect(rc2); ::MoveWindow(m_hWnd,g_rc.left,g_rc.top,g_rc.Width(),g_rc.Height(),TRUE); EnumChildWindows(m_hWnd,(WNDENUMPROC)EnumChildProc,0); int idarray[]={IDC_BUTdel2,IDC_BUTTON4,IDC_BUTclose}; int idcount=3; int btnwid; CRect prerc; for(int a=idcount-2; a>=0; a--) { GetDlgItem(idarray[a+1])->GetWindowRect (prerc); ScreenToClient(prerc); GetDlgItem(idarray[a])->GetWindowRect (rc2); ScreenToClient(rc2); btnwid=rc2.Width (); rc2.right =prerc.left ; rc2.left =rc2.right -btnwid; GetDlgItem(idarray[a])->MoveWindow (rc2); } { int idarray[]={IDC_BUTTON1,IDC_BUTTON6,IDC_BUTTON2,IDC_BUTTON3,IDC_BUTTON10}; int idcount=5; int btnwid; CRect prerc; for(int a=1; aGetWindowRect (prerc); ScreenToClient(prerc); GetDlgItem(idarray[a])->GetWindowRect (rc2); ScreenToClient(rc2); btnwid=rc2.Width (); rc2.left =prerc.right ; rc2.right =rc2.left +btnwid; GetDlgItem(idarray[a])->MoveWindow (rc2); } } m_static1.SetFont (&g_titlefont); #ifdef CHILD_VERSION m_List1.SetHeadings("订单号,100;家长姓名,100;宝宝姓名,100;手机,100;固定电话,100;来电号码,100;来电时间,150" ); #else m_List1.SetHeadings("订单号,100;男宾姓名,100;女宾姓名,100;男宾电话,100;女宾电话,100;来电号码,100;来电时间,150" ); #endif m_List1.LoadColumnInfo (151); m_List2.SetHeadings("客人姓名,150;性别,100;电话,150;来电时间,200" ); m_List2.LoadColumnInfo (152); m_List3.SetHeadings("员工姓名,150;电话,100;来电时间,200" ); m_List3.LoadColumnInfo (153); m_List4.SetHeadings("电话,200;来电时间,200" ); m_List4.LoadColumnInfo (154); m_List5.SetHeadings("客人姓名,150;电话,100;来电时间,200" ); m_List5.LoadColumnInfo (153); m_combo1.GetWindowRect (rc2); ScreenToClient(rc2); rc2.bottom +=200; m_combo1.MoveWindow (rc2); GetDlgItem(IDC_BUTclose)->GetWindowRect(rc2); SetComboHei(&m_combo1, rc2.Height ()); OnButton1(); } void PhoneRecord::OnBUTclose() { // TODO: Add your control notification handler code here GetParent()->SendMessage(WM_CLOSE); } void PhoneRecord::OnSelchangeCombo1() { // TODO: Add your control notification handler code here SetTimer(1, 100, NULL); } void PhoneRecord::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default KillTimer(nIDEvent); // OnButton1(); } BOOL PhoneRecord::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class try { if(pMsg->message==WM_KEYDOWN) { switch (pMsg->wParam) { case VK_RETURN: OnButton1(); return 1; case 0x43: // copy if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) ) { GetFocus()->SendMessage(WM_COPY); return TRUE; } break; case 0x56: //Ctrl + V: if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) ) { GetFocus()->SendMessage(WM_PASTE); return TRUE; } break; case 0x58: // cut if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) ) { GetFocus()->SendMessage(WM_CUT); return TRUE; } break; case 0x5A: //undo case 0x59: //redo if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) ) { GetFocus()->SendMessage(WM_UNDO); return TRUE; } break; } } return MyFormView::PreTranslateMessage(pMsg); } catch(...) { } } void PhoneRecord::OnButton1() { // TODO: Add your control notification handler code here UpdateData(); m_filter.TrimLeft (); m_filter.TrimRight (); if(!bLoad1) { bLoad1=1; g_sendhead.bsql=0; g_sendhead.code[0]=109; g_sendhead.tabcount=1; g_pMainWnd->ProcessChatMessageRequest2(15);if(g_bSendOK==0)return; DataToArray(&m_List1array); } FillGrid(); } void PhoneRecord::OnButton2() { // TODO: Add your control notification handler code here UpdateData(); m_filter.TrimLeft (); m_filter.TrimRight (); if(!bLoad2) {bLoad2=1; g_sendhead.bsql=0; g_sendhead.code[0]=110; g_sendhead.tabcount=1; g_pMainWnd->ProcessChatMessageRequest2(15);if(g_bSendOK==0)return; DataToArray(&m_List2array); } FillGrid2(); } void PhoneRecord::OnButton3() { // TODO: Add your control notification handler code here UpdateData(); m_filter.TrimLeft (); m_filter.TrimRight (); if(!bLoad3) {bLoad3=1; g_sendhead.bsql=0; g_sendhead.code[0]=111; g_sendhead.tabcount=1; g_pMainWnd->ProcessChatMessageRequest2(15);if(g_bSendOK==0)return; DataToArray(&m_List3array); } FillGrid3(); } void PhoneRecord::OnButton10() { // TODO: Add your control notification handler code here UpdateData(); if(!bLoad4) {bLoad4=1; g_sendhead.bsql=0; g_sendhead.code[0]=112; g_sendhead.tabcount=1; g_pMainWnd->ProcessChatMessageRequest2(15);if(g_bSendOK==0)return; DataToArray(&m_List4array); } FillGrid4(); } void PhoneRecord::FillGrid(int mode) { m_List1.ShowWindow (SW_SHOW); m_List2.ShowWindow (SW_HIDE); m_List3.ShowWindow (SW_HIDE); m_List4.ShowWindow (SW_HIDE); m_List5.ShowWindow (SW_HIDE); m_List1.DeleteAllItems2 (); int ii=0; m_List1.m_arLabels.SetSize( m_List1array.GetSize (), 1 ); int count=0; if(m_filter.IsEmpty ()) { for(ii=0; iiProcessChatMessageRequest2(sql);if(g_bSendOK==0)return; datetime.Replace (":", ""); CString path=g_path6+"\\客户电话\\"+id+"\\"+datetime+".mp3"; ::DeleteFile (path); path=g_path6+"\\客户电话\\"+id+"\\"+datetime+".wav"; ::DeleteFile (path); bLoad1=0; OnButton1(); } if(m_List2.IsWindowVisible ()) { POSITION pos; pos=m_List2.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中您要删除的记录!", MB_ICONINFORMATION); return; } if(AfxMessageBox("删除后将无法恢复,是否继续?", MB_YESNO|MB_ICONINFORMATION)!=IDYES)return; int iItem=m_List2.GetNextSelectedItem(pos); CString datetime=m_List2.GetItemText (iItem, 3); CString phone=m_List2.GetItemText (iItem, 2); CString sql; sql.Format ("delete from client2phonerecord where datetime='%s' ", datetime); g_sendhead.bsql=1; g_pMainWnd->ProcessChatMessageRequest2(sql);if(g_bSendOK==0)return; datetime.Replace (":", ""); CString path=g_path6+"\\意向客户\\"+phone+"\\"+datetime+".mp3"; ::DeleteFile (path); path=g_path6+"\\意向客户\\"+phone+"\\"+datetime+".wav"; ::DeleteFile (path); bLoad2=0; OnButton2(); } if(m_List3.IsWindowVisible ()) { POSITION pos; pos=m_List3.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中您要删除的记录!", MB_ICONINFORMATION); return; } if(AfxMessageBox("删除后将无法恢复,是否继续?", MB_YESNO|MB_ICONINFORMATION)!=IDYES)return; int iItem=m_List3.GetNextSelectedItem(pos); CString datetime=m_List3.GetItemText (iItem, 2); CString name=m_List3.GetItemText (iItem, 0); CString sql; sql.Format ("delete from employeephonerecord where datetime='%s' ", datetime); g_sendhead.bsql=1; g_pMainWnd->ProcessChatMessageRequest2(sql);if(g_bSendOK==0)return; datetime.Replace (":", ""); CString path=g_path6+"\\员工电话\\"+name+"\\"+datetime+".mp3"; ::DeleteFile (path); path=g_path6+"\\员工电话\\"+name+"\\"+datetime+".wav"; ::DeleteFile (path); bLoad3=0; OnButton3(); } if(m_List4.IsWindowVisible ()) { POSITION pos; pos=m_List4.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中您要删除的记录!", MB_ICONINFORMATION); return; } if(AfxMessageBox("删除后将无法恢复,是否继续?", MB_YESNO|MB_ICONINFORMATION)!=IDYES)return; int iItem=m_List4.GetNextSelectedItem(pos); CString datetime=m_List4.GetItemText (iItem, 1); CString phone=m_List4.GetItemText (iItem, 0); CString sql; sql.Format ("delete from unknownphonerecord where datetime='%s' ", datetime); g_sendhead.bsql=1; g_pMainWnd->ProcessChatMessageRequest2(sql);if(g_bSendOK==0)return; datetime.Replace (":", ""); CString path=g_path6+"\\未知电话\\"+phone+"\\"+datetime+".mp3"; ::DeleteFile (path); path=g_path6+"\\未知电话\\"+phone+"\\"+datetime+".wav"; ::DeleteFile (path); bLoad4=0; OnButton10(); } if(m_List5.IsWindowVisible ()) { POSITION pos; pos=m_List5.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中您要删除的记录!", MB_ICONINFORMATION); return; } if(AfxMessageBox("删除后将无法恢复,是否继续?", MB_YESNO|MB_ICONINFORMATION)!=IDYES)return; int iItem=m_List5.GetNextSelectedItem(pos); CString datetime=m_List5.GetItemText (iItem, 2); CString phone=m_List5.GetItemText (iItem, 1); CString sql; sql.Format ("delete from client3phonerecord where datetime='%s' ", datetime); g_sendhead.bsql=1; g_pMainWnd->ProcessChatMessageRequest2(sql);if(g_bSendOK==0)return; datetime.Replace (":", ""); CString path=g_path6+"\\老客户\\"+phone+"\\"+datetime+".mp3"; ::DeleteFile (path); path=g_path6+"\\老客户\\"+phone+"\\"+datetime+".wav"; ::DeleteFile (path); bLoad5=0; OnButton6(); } } void PhoneRecord::OnButton6() { // TODO: Add your control notification handler code here UpdateData(); m_filter.TrimLeft (); m_filter.TrimRight (); if(!bLoad5) {bLoad5=1; g_sendhead.bsql=0; g_sendhead.code[0]=175; g_sendhead.tabcount=1; g_pMainWnd->ProcessChatMessageRequest2(15);if(g_bSendOK==0)return; DataToArray(&m_List5array); } FillGrid5(); } void PhoneRecord::FillGrid5() { m_List5.ShowWindow (SW_SHOW); m_List1.ShowWindow (SW_HIDE); m_List2.ShowWindow (SW_HIDE); m_List4.ShowWindow (SW_HIDE); m_List3.ShowWindow (SW_HIDE); m_List5.DeleteAllItems2 (); int ii=0; m_List5.m_arLabels.SetSize( m_List5array.GetSize (), 1 ); int count=0; if(m_filter.IsEmpty ()) { for(ii=0; ii