// OldClient.cpp : implementation file // #include "stdafx.h" #include "ylgl.h" #include "OldClient.h" #include "MyMdi.H" #include "ModifyDinDan.h" #include "InputPsw.h" #include "ImportPhoto.h" #include "TakeMoney2.h" #include "ImportPhoto.h" #include "NeroDlg.h" #include "ClientRequirement.h" #include "ChoosePhotoSkin2.h" #include "./helper/ffsco.h" #include "AddOldClient.h" #include "AddOldClient2.h" #include "SendMsgDlg.h" #include "BasicExcelVC6.h" #include "Lzari.h" #include "SelExportType.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // OldClient IMPLEMENT_DYNCREATE(OldClient, MyFormView) OldClient::OldClient() : MyFormView(OldClient::IDD) { //{{AFX_DATA_INIT(OldClient) m_filter = _T(""); //}}AFX_DATA_INIT } OldClient::~OldClient() { } void OldClient::DoDataExchange(CDataExchange* pDX) { MyFormView::DoDataExchange(pDX); //{{AFX_DATA_MAP(OldClient) 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(OldClient, MyFormView) //{{AFX_MSG_MAP(OldClient) 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_BUTburncd, OnBUTOldClient) ON_NOTIFY(NM_DBLCLK, IDC_LIST2, OnDblclkList2) ON_BN_CLICKED(IDC_BUTburncd2, OnBUTburncd2) ON_BN_CLICKED(IDC_BUTburncd3, OnBUTburncd3) ON_BN_CLICKED(IDC_BUTsendmsg, OnBUTsendmsg) ON_BN_CLICKED(IDC_BUTprint3, OnBUTprint3) ON_BN_CLICKED(IDC_BUTimport, OnBUTimport) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // OldClient diagnostics #ifdef _DEBUG void OldClient::AssertValid() const { MyFormView::AssertValid(); } void OldClient::Dump(CDumpContext& dc) const { MyFormView::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // OldClient message handlers void OldClient::OnInitialUpdate() { MyFormView::OnInitialUpdate(); GetDlgItem(IDC_BUTburncd3)->EnableWindow(IsHasRights2new(49)); GetDlgItem(IDC_BUTprint3)->EnableWindow(IsHasRights2new(49)); // TODO: Add your specialized code here and/or call the base class 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_BUTburncd,IDC_BUTburncd2,IDC_BUTburncd3,IDC_BUTimport,IDC_BUTsendmsg,IDC_BUTprint3,IDC_BUTclose}; int idcount=7; 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); } m_static1.SetFont (&g_titlefont); #ifdef CHILD_VERSION m_List1.SetHeadings("id,0;家长姓名,100;宝宝姓名,100;宝宝性别,100;电话,100;QQ,100;宝宝生日,100;套系,100;金额,100;订单日期,100;录入日期,100;录单,100" ); #else m_List1.SetHeadings("id,0;男宾姓名,100;女宾姓名,100;男宾电话,100;女宾电话,100;男宾QQ,100;女宾QQ,100;男宾生日,100;女宾生日,100;婚期,100;套系,100;金额,100;订单日期,100;录入日期,100;录单,100" ); #endif m_List1.LoadColumnInfo (171); GetData(); m_combo1.GetWindowRect (rc2); ScreenToClient(rc2); rc2.bottom +=200; m_combo1.MoveWindow (rc2); GetDlgItem(IDC_BUTclose)->GetWindowRect(rc2); SetComboHei(&m_combo1, rc2.Height ()); } void OldClient::FillGrid() { m_List1.DeleteAllItems2 (); int ii=0; m_List1.m_arLabels.SetSize( m_List1array.GetSize (), 1 ); int count=0; #ifdef CHILD_VERSION if(m_filter.IsEmpty ()) { for(ii=0; iiGetWindowRect (rc); ScreenToClient(rc); InvalidateRect(rc); } void OldClient::OnBUTclose() { // TODO: Add your control notification handler code here GetParent()->SendMessage(WM_CLOSE); } void OldClient::OnSelchangeCombo1() { // TODO: Add your control notification handler code here SetTimer(1, 100, NULL); } void OldClient::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default KillTimer(nIDEvent); OnButton1(); } BOOL OldClient::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 OldClient::OnButton1() { // TODO: Add your control notification handler code here UpdateData(); m_filter.TrimLeft (); m_filter.TrimRight (); FillGrid(); } void OldClient::OnBUTOldClient() { // TODO: Add your control notification handler code here #ifdef CHILD_VERSION AddOldClient2 dlg; #else AddOldClient dlg; #endif if(dlg.DoModal()==IDOK)GetData(); } void OldClient::OnDblclkList2(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control notification handler code here POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL)return; OnBUTburncd2(); *pResult = 0; } void OldClient::OnBUTburncd2() { // TODO: Add your control notification handler code here POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中您要修改的客户!", MB_ICONINFORMATION); return; } int iItem=m_List1.GetNextSelectedItem(pos); #ifdef CHILD_VERSION AddOldClient2 dlg; #else AddOldClient dlg; #endif dlg.m_bAdd =0; dlg.id=m_List1.GetItemText (iItem, 0); if(dlg.DoModal()==IDOK)GetData(); } void OldClient::OnBUTburncd3() { // TODO: Add your control notification handler code here POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中您要删除的客户!", MB_ICONINFORMATION); return; } int iItem=m_List1.GetNextSelectedItem(pos); CString id=m_List1.GetItemText (iItem, 0); if(AfxMessageBox("确认删除吗?", MB_YESNO|MB_ICONINFORMATION)!=IDYES)return; CString sql; sql.Format ("delete from client3 where id=%d ", atoi(id)); g_sendhead.bsql=1; g_pMainWnd->ProcessChatMessageRequest2(sql);if(g_bSendOK==0)return; GetData(); } void OldClient::OnBUTsendmsg() { // TODO: Add your control notification handler code here POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中您要发送短信的客人!", MB_ICONINFORMATION); return; } int iItem; CStringArray array; while (pos) { iItem = m_List1.GetNextSelectedItem(pos); #ifndef CHILD_VERSION if(!m_List1.GetItemText (iItem, 3).IsEmpty ()) array.Add (m_List1.GetItemText (iItem, 3)); #endif if(!m_List1.GetItemText (iItem, 4).IsEmpty ()) array.Add (m_List1.GetItemText (iItem, 4)); } SendMsgDlg dlg; dlg.m_mode=2; dlg.m_pArray=&array; dlg.DoModal (); } void OldClient::OnBUTprint3() { // TODO: Add your control notification handler code here SelExportType dlg; if(dlg.DoModal()!=IDOK)return; if(dlg.m_type==1) { ListToXLS(&m_List1, "c:\\客户资料.xls", 0); return; } #ifdef CHILD_VERSION CStdioFile fp; fp.Open ("c:\\clientphone.txt", CFile::modeCreate|CFile::modeWrite); CString str; CString str1,str2,str3,str4,str5,str6,str7,str8,str9,str10,str11; CString phone; CString txname,txprice,mensi; int leng1=15; int leng2=15; int leng3=15; int leng4=18; int leng5=15; int leng6=15; int leng7=15; int leng8=15; int leng9=15; int leng10=15; int leng11=15; str1="家长姓名"; str2="宝宝姓名"; str3="宝宝性别"; str4="电话"; str5="QQ"; str6="宝宝生日"; str7="套系"; str8="金额"; str9="订单日期"; FillLength(str1, leng1); FillLength(str2, leng2); FillLength(str3, leng3); FillLength(str4, leng4); FillLength(str5, leng5); FillLength(str6, leng6); FillLength(str7, leng7); FillLength(str8, leng8); FillLength(str9, leng9); str=str1+str2+str3+str4+str5+str6+str7+str8+str9+"\n"; fp.WriteString (str); for(int i=0; iProcessChatMessageRequest2(1);if(g_bSendOK==0)return; DataToArray(&m_List1array); HidePrice(); FillGrid(); } void CheckDate(CString &date) { date.Replace ("\\", "-"); date.Replace ("/", "-"); int pos=date.Find ("-"); if(pos==-1) { date=""; return; } if(pos<4) { date=""; return; } CString year=date.Left (4); date=date.Right (date.GetLength ()-pos-1); pos=date.Find ("-"); if(pos==-1) { date=""; return; } CString month=date.Left (pos); CString day=date.Right (date.GetLength ()-pos-1); date.Format ("%d-%02d-%02d", atoi(year), atoi(month), atoi(day)); } void OldClient::OnBUTimport() { #ifdef CHILD_VERSION OnBUTimport2() ; return; #endif using namespace YExcel; // TODO: Add your control notification handler code here BasicExcel e; CFileDialog fdlg(true, NULL,"", OFN_HIDEREADONLY, "Excel files(*.xls)|*.xls||"); if(fdlg.DoModal ()!=IDOK)return; CString path=fdlg.GetPathName(); e.Load(path); BasicExcelWorksheet* sheet1 = e.GetWorksheet("Sheet1"); if (sheet1) { size_t maxRows = sheet1->GetTotalRows(); size_t maxCols = sheet1->GetTotalCols(); if(maxCols>12)maxCols=12; if(maxCols<12) { AfxMessageBox("格式不对:缺少项目!");return; } if(maxRows<2) { AfxMessageBox("没有资料!");return; } CStringArray array; for (size_t r=0; rCell(r,c); switch (cell->Type()) { case BasicExcelCell::STRING: array.Add(cell->GetString()); break; case BasicExcelCell::WSTRING: { int leng = wcslen(cell->GetWString()); char* ppszA=new char[2*leng+1]; memset(ppszA, 0, 2*leng+1); WideCharToMultiByte(CP_ACP,0,cell->GetWString(),-1,ppszA,leng*2,NULL,NULL); CString str=ppszA;str.TrimLeft();str.TrimRight(); array.Add (str); delete []ppszA; } break; default: array.Add (""); } } if(r==0) { if(array.GetSize ()!=maxCols) { AfxMessageBox("资料读取错误");return; } if(array.ElementAt (0)!="订单日期") { AfxMessageBox("格式错误2");return; } array.RemoveAll (); } } /////////////////////// CString sql,temp; CString m_name1,m_name2,strRes1,strRes2; CString m_date,m_phone1,m_phone2,m_qq1,m_qq2,m_taoxiname,m_taoxijiage,m_time3,m_birthday1,m_birthday2; int count=0; for(int i=0; iProcessChatMessageRequest2(sql); if(g_bSendOK==0) { AfxMessageBox("保存过程中出现错误!"); return; } sql.Empty ();count=0;GetData(); } } ///////////////////////////////////// if(!sql.IsEmpty ()) { sql.TrimRight ("***"); g_sendhead.bsql=1; g_pMainWnd->ProcessChatMessageRequest2(sql); if(g_bSendOK==0) { AfxMessageBox("保存过程中出现错误!"); return; } sql.Empty ();count=0;GetData(); } /////////////////////// } else AfxMessageBox("格式错误,或文件未关闭!!"); } BOOL OldClient::CheckExist(CString m_name1, CString m_name2, CString m_phone1, CString m_phone2) { #ifdef CHILD_VERSION for(int i=0; iGetTotalRows(); size_t maxCols = sheet1->GetTotalCols(); if(maxCols>9)maxCols=9; if(maxCols<9) { AfxMessageBox("格式不对:缺少项目!");return; } if(maxRows<2) { AfxMessageBox("没有资料!");return; } CStringArray array; for (size_t r=0; rCell(r,c); switch (cell->Type()) { case BasicExcelCell::STRING: array.Add(cell->GetString()); break; case BasicExcelCell::WSTRING: { int leng = wcslen(cell->GetWString()); char* ppszA=new char[2*leng+1]; memset(ppszA, 0, 2*leng+1); WideCharToMultiByte(CP_ACP,0,cell->GetWString(),-1,ppszA,leng*2,NULL,NULL); CString str=ppszA;str.TrimLeft();str.TrimRight(); array.Add (str); delete []ppszA; } break; default: array.Add (""); } } if(r==0) { if(array.GetSize ()!=maxCols) { AfxMessageBox("资料读取错误");return; } if(array.ElementAt (0)!="订单日期") { AfxMessageBox("格式错误2");return; } array.RemoveAll (); } } /////////////////////// CString sql,temp; CString m_name1,m_name2,strRes1,strRes2; CString m_date,m_phone1,m_qq1,m_taoxiname,m_taoxijiage,m_birthday1,m_sex; int count=0; for(int i=0; iProcessChatMessageRequest2(sql); if(g_bSendOK==0) { AfxMessageBox("保存过程中出现错误!"); return; } sql.Empty ();count=0;GetData(); } ::Sleep(1000); } ///////////////////////////////////// if(!sql.IsEmpty ()) { sql.TrimRight ("***"); g_sendhead.bsql=1; g_pMainWnd->ProcessChatMessageRequest2(sql); if(g_bSendOK==0) { AfxMessageBox("保存过程中出现错误!"); return; } sql.Empty ();count=0;GetData(); } /////////////////////// } else AfxMessageBox("格式错误,或文件未关闭!!"); } void OldClient::HidePrice() { #ifdef LKAY_VERSION if(IsHasRights2new(31))return; for(int i=0; i< m_List1array.GetSize (); i++) { m_List1array.ElementAt (i).SetAt (5, "***"); m_List1array.ElementAt (i).SetAt (4, "***"); m_List1array.ElementAt (i).SetAt (8, "***"); m_List1array.ElementAt (i).SetAt (7, "***"); } #else if(IsHasRights2new(31))return; #ifdef CHILD_VERSION for(int i=0; i< m_List1array.GetSize (); i++) { m_List1array.ElementAt (i).SetAt (4, "***"); m_List1array.ElementAt (i).SetAt (5, "***"); } #else for(int i=0; i< m_List1array.GetSize (); i++) { m_List1array.ElementAt (i).SetAt (3, "***"); m_List1array.ElementAt (i).SetAt (4, "***"); m_List1array.ElementAt (i).SetAt (5, "***"); m_List1array.ElementAt (i).SetAt (6, "***"); } #endif #endif }