// ShowMember2.cpp : implementation file // #include "stdafx.h" #include "ylgl.h" #include "ShowMember2.h" #include "MyMdi.H" #include "AddMember.h" #include "ShowMemberReg.h" #include "InputCard2Dlg.h" #include "ShowCard2Reg.h" #include "InputCard2Point.h" #include "UsePoint.h" #include "InputCard3Dlg.h" #include "ReCharge.h" #include "ReChargeReg.h" #include "MemberCardFunc2.h" #include "SelMemberCardFund.h" #include "SendMsgDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif #pragma comment(lib, "Shlwapi.lib") ///////////////////////////////////////////////////////////////////////////// // ShowMember2 IMPLEMENT_DYNCREATE(ShowMember2, MyFormView) ShowMember2::ShowMember2() : MyFormView(ShowMember2::IDD) { //{{AFX_DATA_INIT(ShowMember2) m_filter = _T(""); //}}AFX_DATA_INIT m_nAdd=0; if(g_bAllBranch) { m_nAdd=1; } } ShowMember2::~ShowMember2() { } void ShowMember2::DoDataExchange(CDataExchange* pDX) { MyFormView::DoDataExchange(pDX); //{{AFX_DATA_MAP(ShowMember2) DDX_Control(pDX, IDC_LIST2, m_List1); DDX_Control(pDX, IDC_STATIC1, m_static1); DDX_Text(pDX, IDC_EDIT15, m_filter); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(ShowMember2, MyFormView) //{{AFX_MSG_MAP(ShowMember2) ON_BN_CLICKED(IDC_BUTclose, OnBUTclose) ON_BN_CLICKED(IDC_BUTTON1, OnButton1) ON_WM_TIMER() ON_BN_CLICKED(IDC_BUTTON2, OnButton2) ON_NOTIFY(NM_DBLCLK, IDC_LIST2, OnDblclkList2) ON_BN_CLICKED(IDC_BUTTON3, OnButton3) ON_BN_CLICKED(IDC_BUTTON4, OnButton4) ON_BN_CLICKED(IDC_BUTTON5, OnButton5) ON_BN_CLICKED(IDC_BUTTON6, OnButton6) ON_BN_CLICKED(IDC_BUTTON10, OnButton10) ON_BN_CLICKED(IDC_BUTTON11, OnButton11) ON_BN_CLICKED(IDC_BUTTON8, OnButton8) ON_BN_CLICKED(IDC_BUTTON15, OnButton15) ON_BN_CLICKED(IDC_BUTTON18, OnButton18) ON_BN_CLICKED(IDC_BUTTON19, OnButton19) ON_BN_CLICKED(IDC_BUTTON17, OnButton17) ON_BN_CLICKED(IDC_BUTTON20, OnButton20) ON_BN_CLICKED(IDC_BUTTON21, OnButton21) ON_BN_CLICKED(IDC_BUTTON16, OnButton16) ON_BN_CLICKED(IDC_BUTTON24, OnButton24) ON_BN_CLICKED(IDC_BtnExportXls,OnBtnExportXls) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // ShowMember2 diagnostics #ifdef _DEBUG void ShowMember2::AssertValid() const { MyFormView::AssertValid(); } void ShowMember2::Dump(CDumpContext& dc) const { MyFormView::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // ShowMember2 message handlers void ShowMember2::OnInitialUpdate() { MyFormView::OnInitialUpdate(); // TODO: Add your specialized code here and/or call the base class CMyMdi Mdi; Mdi.SetSubView((CWnd*)GetParent(), (CWnd*)this); GetDlgItem(IDC_BUTTON5)->EnableWindow(IsHasRights2new(49)); // 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); m_static1.SetFont (&g_titlefont); if (g_bAllBranch == 0) { m_List1.SetHeadings("卡号,100;姓名,100;性别,100;电话,100;余额,100;卡类别,100;办卡日期,100;子卡号,100;子卡金额,100;开卡日期,100"); m_List1.LoadColumnInfo(231); } else { m_List1.SetHeadings("店名,100;卡号,100;姓名,100;性别,100;电话,100;余额,100;卡类别,100;办卡日期,100;子卡号,100;子卡金额,100;开卡日期,100"); m_List1.LoadColumnInfo(232); } m_List1.m_bSortSupport =0; GetData(); } void ShowMember2::FillGrid() { 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; ii < m_List1.m_arLabels.GetSize(); ii++) { m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii)); } } else { int type = GetType(m_filter); if (type == 2)//拼音 { m_filter.MakeUpper(); BOOL bFinded = 0; for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++) { if (bFinded && m_List1array.ElementAt(ii).ElementAt(0 + m_nAdd).IsEmpty()) { m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii)); continue; } if (m_List1array.ElementAt(ii).ElementAt(10 + m_nAdd).Find(m_filter) != -1) { bFinded = 1; m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii)); } else { bFinded = 0; } } } else { BOOL bFinded = 0; for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++) { if (bFinded && m_List1array.ElementAt(ii).ElementAt(0 + m_nAdd).IsEmpty()) { m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii)); continue; } if (m_List1array.ElementAt(ii).ElementAt(0).Find(m_filter) != -1 || \ m_List1array.ElementAt(ii).ElementAt(1).Find(m_filter) != -1 || \ m_List1array.ElementAt(ii).ElementAt(2).Find(m_filter) != -1 || \ m_List1array.ElementAt(ii).ElementAt(3).Find(m_filter) != -1 || \ m_List1array.ElementAt(ii).ElementAt(4).Find(m_filter) != -1 || \ m_List1array.ElementAt(ii).ElementAt(5).Find(m_filter) != -1 || \ m_List1array.ElementAt(ii).ElementAt(6).Find(m_filter) != -1 || \ m_List1array.ElementAt(ii).ElementAt(7).Find(m_filter) != -1 || \ m_List1array.ElementAt(ii).ElementAt(8).Find(m_filter) != -1 || \ m_List1array.ElementAt(ii).ElementAt(8 + m_nAdd).Find(m_filter) != -1) { bFinded = 1; m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii)); } else { bFinded = 0; } } } } m_List1.m_arLabels.SetSize(count, 1); ii = count; m_List1.m_LabelCount = ii; m_List1.SetItemCountEx(ii); CString str; str.Format("项目:%d", ii); SetDlgItemText(IDC_STATIC2, str); } void ShowMember2::OnBUTclose() { // TODO: Add your control notification handler code here GetParent()->SendMessage(WM_CLOSE); } void ShowMember2::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default KillTimer(nIDEvent); OnButton1(); } BOOL ShowMember2::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: InputOK(); 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; case '0': case VK_NUMPAD0: m_no+="0"; break; case '1': case VK_NUMPAD1: m_no+="1"; break; case '2': case VK_NUMPAD2: m_no+="2"; break; case '3': case VK_NUMPAD3: m_no+="3"; break; case '4': case VK_NUMPAD4: m_no+="4"; break; case '5': case VK_NUMPAD5: m_no+="5"; break; case '6': case VK_NUMPAD6: m_no+="6"; break; case '7': case VK_NUMPAD7: m_no+="7"; break; case '8': case VK_NUMPAD8: m_no+="8"; break; case '9': case VK_NUMPAD9: m_no+="9"; break; case 187: m_no+="="; break; case VK_BACK: if(m_no.GetLength ()) { m_no.Delete (m_no.GetLength ()-1); } break; } } return MyFormView::PreTranslateMessage(pMsg); } catch(...) { } return true; } void ShowMember2::OnButton1() { // TODO: Add your control notification handler code here UpdateData(); m_filter.TrimLeft (); m_filter.TrimRight (); FillGrid(); } void ShowMember2::OnButton2() //加会员 { // TODO: Add your control notification handler code here AddMember dlg; if(dlg.DoModal ()==IDOK) { GetData(); } } void ShowMember2::OnButton3() { // TODO: Add your control notification handler code here POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中要查看的会员!"); return; } int iItem=m_List1.GetNextSelectedItem(pos); CString memberno=m_List1.GetItemText (iItem, 1); ShowMemberReg dlg; dlg.m_memberno=memberno; dlg.DoModal (); } void ShowMember2::OnButton4() { // TODO: Add your control notification handler code here POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中要查看的会员!"); return; } int iItem=m_List1.GetNextSelectedItem(pos); CString memberno=m_List1.GetItemText (iItem, 1); ShowMemberReg dlg; dlg.m_mode=1; dlg.m_memberno=memberno; dlg.DoModal (); if(dlg.m_bNeedRefsh==0)return; g_sendhead.bsql=0; g_sendhead.code[0]=68; g_sendhead.tabcount=1; g_pMainWnd->ProcessChatMessageRequest2(1);if(g_bSendOK==0)return; DataToArray(&m_List1array);HidePrice(); FillGrid(); } void ShowMember2::OnButton5() { } void ShowMember2::OnButton6() { // TODO: Add your control notification handler code handler if(IsHasRights2new(18)==0)return; // TODO: Add your control notification code POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中您要积分的会员!"); return; } int iItem=m_List1.GetNextSelectedItem(pos); CString m_memberno=m_List1.GetItemText (iItem, 1); CString m_name=m_List1.GetItemText (iItem, 2); CString m_sex=m_List1.GetItemText (iItem, 3); CString m_phone=m_List1.GetItemText (iItem, 4); InputCard2Point dlg; dlg.m_memberno=m_memberno; dlg.m_name=m_name; dlg.m_sex=m_sex; dlg.m_phone=m_phone; if(dlg.DoModal ()!=IDOK)return; g_sendhead.bsql=0; g_sendhead.code[0]=68; g_sendhead.tabcount=1; g_pMainWnd->ProcessChatMessageRequest2(1);if(g_bSendOK==0)return; DataToArray(&m_List1array);HidePrice(); FillGrid(); } void ShowMember2::OnButton10() { // TODO: Add your control notification handler code here if(IsHasRights2new(18)==0)return; // TODO: Add your control notification handler code here POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中主卡!"); return; } int iItem=m_List1.GetNextSelectedItem(pos); CString name=m_List1.GetItemText (iItem, 2); CString no=m_List1.GetItemText (iItem, 1); InputCard2Dlg dlg; dlg.m_name =name; dlg.m_no =no; dlg.DoModal (); } void ShowMember2::OnButton11() { // TODO: Add your control notification handler code here if(IsHasRights2new(18)==0)return; // TODO: Add your control notification handler code here POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中主卡!"); return; } int iItem=m_List1.GetNextSelectedItem(pos); CString no=m_List1.GetItemText (iItem, 1); CString filter="[memberno]='"+no+"'"; g_sendhead.bsql=0; g_sendhead.code[0]=127; g_sendhead.tabcount=1; g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return; DataToArray(&g_List1array); if(g_List1array.GetSize ()==0) { AfxMessageBox("此主卡未发放副卡!"); } else { ShowCard2Reg dlg; dlg.DoModal (); } } void ShowMember2::OnButton8() { // TODO: Add your control notification handler code here POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中您要兑换积分的会员!"); return; } int iItem=m_List1.GetNextSelectedItem(pos); CString m_memberno=m_List1.GetItemText (iItem, 1); CString m_name=m_List1.GetItemText (iItem, 2); CString m_sex=m_List1.GetItemText (iItem, 3); CString m_phone=m_List1.GetItemText (iItem, 4); UsePoint dlg; dlg.m_memberno=m_memberno; dlg.m_name=m_name; dlg.m_sex=m_sex; dlg.m_phone=m_phone; dlg.m_point =m_List1.GetItemText (iItem,10); if(dlg.DoModal ()!=IDOK)return; g_sendhead.bsql=0; g_sendhead.code[0]=68; g_sendhead.tabcount=1; g_pMainWnd->ProcessChatMessageRequest2(1);if(g_bSendOK==0)return; DataToArray(&m_List1array);HidePrice(); FillGrid(); } void ShowMember2::OnButton15() { // TODO: Add your control notification handler code here if(IsHasRights2new(18)==0)return; // TODO: Add your control notification handler code here POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中主卡!"); return; } int iItem=m_List1.GetNextSelectedItem(pos); CString name=m_List1.GetItemText (iItem, 1); CString no=m_List1.GetItemText (iItem, 0); InputCard3Dlg dlg; dlg.m_name =name; dlg.m_no =no; dlg.DoModal (); } void ShowMember2::OnButton18() { // TODO: Add your control notification handler code here POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中主卡!"); return; } int iItem=m_List1.GetNextSelectedItem(pos); CString no=m_List1.GetItemText (iItem, 0); while(no=="") { iItem--; no=m_List1.GetItemText (iItem, 0); } CString name=m_List1.GetItemText (iItem, 1); ReCharge dlg; dlg.m_name =name; dlg.m_no =no; if(dlg.DoModal ()!=IDOK)return; CString sql; sql="insert into [memberreg3]([memberno],[money],[date],[clerk])values('"+no+"','"+dlg.m_money+"','"+g_date+"','"+g_user.name+"')"; sql+="***refresh balance memberreg3"+no; g_sendhead.bsql=1; g_pMainWnd->ProcessChatMessageRequest2(sql); if(g_bSendOK==0) return; GetData(); } void ShowMember2::GetData() { if (g_bAllBranch == 0) { g_sendhead.bsql = 0; g_sendhead.code[0] = 161; g_sendhead.tabcount = 1; g_pMainWnd->ProcessChatMessageRequest2(1); if (g_bSendOK == 0)return; DataToArray(&m_List1array); } else { //////////////数据汇总 m_List1array.RemoveAll(); CString branch; for (int i = -1; i < g_brancharray.GetSize() - 1; i++) { if (i != -1) { branch = g_brancharray.ElementAt(i).ElementAt(0); g_branchip = g_brancharray.ElementAt(i).ElementAt(1); g_pMainWnd->OnDisconnect(); g_branchname = branch; g_bBranchModify = 1; } else branch = g_brancharray.ElementAt(g_brancharray.GetSize() - 1).ElementAt(0); g_sendhead.bsql = 0; g_sendhead.code[0] = 161; g_sendhead.tabcount = 1; g_pMainWnd->ProcessChatMessageRequest2(1); if (g_bSendOK == 0)continue; CArrayList1array; DataToArray(&List1array); int size = m_List1array.GetSize(); for (int j = 0; j < List1array.GetSize(); j++) { size++; m_List1array.SetSize(size, 1); size--; m_List1array.ElementAt(size).Copy(List1array.ElementAt(j)); m_List1array.ElementAt(size).InsertAt(0, branch); size++; } } g_pMainWnd->OnDisconnect(); g_bBranchModify = 0; g_branchip = g_branchname = ""; } HidePrice(); FillGrid(); } void ShowMember2::OnButton19() { // TODO: Add your control notification handler code here POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中要查看的会员!"); return; } int iItem=m_List1.GetNextSelectedItem(pos); CString no=m_List1.GetItemText (iItem, 0); while(no=="") { iItem--; no=m_List1.GetItemText (iItem, 0); } ReChargeReg dlg; dlg.m_mode=0; dlg.m_memberno=no; dlg.DoModal (); if(dlg.m_bNeedRefsh==0)return; GetData(); } void ShowMember2::OnButton17() { // TODO: Add your control notification handler code here POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中您要充值的子卡!"); return; } int iItem=m_List1.GetNextSelectedItem(pos); CString no=m_List1.GetItemText (iItem, 0); CString card2no=m_List1.GetItemText (iItem, 7); CString balance=m_List1.GetItemText (iItem, 4); while(no=="") { iItem--; no=m_List1.GetItemText (iItem, 0); } CString name=m_List1.GetItemText (iItem, 1); ReCharge dlg; dlg.m_mode=1; dlg.m_name =name; dlg.m_balance =balance; dlg.m_no =no; dlg.m_card2no =card2no; if(dlg.DoModal ()!=IDOK)return; CString sql; sql="insert into [memberreg4]([memberno],[card2no],[money],[date],[clerk])values('"+no+"','"+card2no+"','"+dlg.m_money+"','"+g_date+"','"+g_user.name+"')"; sql+="***refresh balance memberreg4"+no+";"+card2no; g_sendhead.bsql=1; g_pMainWnd->ProcessChatMessageRequest2(sql);if(g_bSendOK==0)return; GetData(); } void ShowMember2::OnButton20() { // TODO: Add your control notification handler code here POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中要查看的子卡!"); return; } int iItem=m_List1.GetNextSelectedItem(pos); CString no=m_List1.GetItemText (iItem, 0); CString card2no=m_List1.GetItemText (iItem, 7); while(no=="") { iItem--; no=m_List1.GetItemText (iItem, 0); } ReChargeReg dlg; dlg.m_mode=1; dlg.m_memberno=no; dlg.m_card2no =card2no; dlg.DoModal (); if(dlg.m_bNeedRefsh==0)return; GetData(); } void ShowMember2::OnButton21() { // TODO: Add your control notification handler code here POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中要查看的会员!"); return; } int iItem=m_List1.GetNextSelectedItem(pos); CString no=m_List1.GetItemText (iItem, 0); while(no=="") { iItem--; no=m_List1.GetItemText (iItem, 0); } ReChargeReg dlg; dlg.m_mode=2; dlg.m_memberno=no; dlg.DoModal (); if(dlg.m_bNeedRefsh==0)return; GetData(); } void ShowMember2::OnButton16() { // TODO: Add your control notification handler code here POSITION pos; pos=m_List1.GetFirstSelectedItemPosition(); if(pos==NULL) { AfxMessageBox("请先选中要查看的会员!"); return; } int iItem=m_List1.GetNextSelectedItem(pos); CString no=m_List1.GetItemText (iItem, 0); CString card2no=m_List1.GetItemText (iItem, 7); while(no=="") { iItem--; no=m_List1.GetItemText (iItem, 0); } ReChargeReg dlg; dlg.m_mode=3; dlg.m_memberno=no; dlg.m_card2no =card2no; dlg.DoModal (); if(dlg.m_bNeedRefsh==0)return; GetData(); } void ShowMember2::InputOK() { if(m_no.IsEmpty ())return; m_filter=m_no; m_no.Empty (); UpdateData(0); MemberCardFunc2 dlg; dlg.m_memberno=m_filter; for(int ii=0; ii