ShowMember2.cpp 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866
  1. // ShowMember2.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ylgl.h"
  5. #include "ShowMember2.h"
  6. #include "MyMdi.H"
  7. #include "AddMember.h"
  8. #include "ShowMemberReg.h"
  9. #include "InputCard2Dlg.h"
  10. #include "ShowCard2Reg.h"
  11. #include "InputCard2Point.h"
  12. #include "UsePoint.h"
  13. #include "InputCard3Dlg.h"
  14. #include "ReCharge.h"
  15. #include "ReChargeReg.h"
  16. #include "MemberCardFunc2.h"
  17. #include "SelMemberCardFund.h"
  18. #include "SendMsgDlg.h"
  19. #ifdef _DEBUG
  20. #define new DEBUG_NEW
  21. #undef THIS_FILE
  22. static char THIS_FILE[] = __FILE__;
  23. #endif
  24. #pragma comment(lib, "Shlwapi.lib")
  25. /////////////////////////////////////////////////////////////////////////////
  26. // ShowMember2
  27. IMPLEMENT_DYNCREATE(ShowMember2, MyFormView)
  28. ShowMember2::ShowMember2()
  29. : MyFormView(ShowMember2::IDD)
  30. {
  31. //{{AFX_DATA_INIT(ShowMember2)
  32. m_filter = _T("");
  33. //}}AFX_DATA_INIT
  34. m_nAdd=0;
  35. if(g_bAllBranch)
  36. {
  37. m_nAdd=1;
  38. }
  39. }
  40. ShowMember2::~ShowMember2()
  41. {
  42. }
  43. void ShowMember2::DoDataExchange(CDataExchange* pDX)
  44. {
  45. MyFormView::DoDataExchange(pDX);
  46. //{{AFX_DATA_MAP(ShowMember2)
  47. DDX_Control(pDX, IDC_LIST2, m_List1);
  48. DDX_Control(pDX, IDC_STATIC1, m_static1);
  49. DDX_Text(pDX, IDC_EDIT15, m_filter);
  50. //}}AFX_DATA_MAP
  51. }
  52. BEGIN_MESSAGE_MAP(ShowMember2, MyFormView)
  53. //{{AFX_MSG_MAP(ShowMember2)
  54. ON_BN_CLICKED(IDC_BUTclose, OnBUTclose)
  55. ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
  56. ON_WM_TIMER()
  57. ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
  58. ON_NOTIFY(NM_DBLCLK, IDC_LIST2, OnDblclkList2)
  59. ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
  60. ON_BN_CLICKED(IDC_BUTTON4, OnButton4)
  61. ON_BN_CLICKED(IDC_BUTTON5, OnButton5)
  62. ON_BN_CLICKED(IDC_BUTTON6, OnButton6)
  63. ON_BN_CLICKED(IDC_BUTTON10, OnButton10)
  64. ON_BN_CLICKED(IDC_BUTTON11, OnButton11)
  65. ON_BN_CLICKED(IDC_BUTTON8, OnButton8)
  66. ON_BN_CLICKED(IDC_BUTTON15, OnButton15)
  67. ON_BN_CLICKED(IDC_BUTTON18, OnButton18)
  68. ON_BN_CLICKED(IDC_BUTTON19, OnButton19)
  69. ON_BN_CLICKED(IDC_BUTTON17, OnButton17)
  70. ON_BN_CLICKED(IDC_BUTTON20, OnButton20)
  71. ON_BN_CLICKED(IDC_BUTTON21, OnButton21)
  72. ON_BN_CLICKED(IDC_BUTTON16, OnButton16)
  73. ON_BN_CLICKED(IDC_BUTTON24, OnButton24)
  74. ON_BN_CLICKED(IDC_BtnExportXls,OnBtnExportXls)
  75. //}}AFX_MSG_MAP
  76. END_MESSAGE_MAP()
  77. /////////////////////////////////////////////////////////////////////////////
  78. // ShowMember2 diagnostics
  79. #ifdef _DEBUG
  80. void ShowMember2::AssertValid() const
  81. {
  82. MyFormView::AssertValid();
  83. }
  84. void ShowMember2::Dump(CDumpContext& dc) const
  85. {
  86. MyFormView::Dump(dc);
  87. }
  88. #endif //_DEBUG
  89. /////////////////////////////////////////////////////////////////////////////
  90. // ShowMember2 message handlers
  91. void ShowMember2::OnInitialUpdate()
  92. {
  93. MyFormView::OnInitialUpdate();
  94. // TODO: Add your specialized code here and/or call the base class
  95. CMyMdi Mdi;
  96. Mdi.SetSubView((CWnd*)GetParent(), (CWnd*)this);
  97. GetDlgItem(IDC_BUTTON5)->EnableWindow(IsHasRights2new(49));
  98. // Here we create the outbar control using the splitter as its parent
  99. // and setting its id to the first pane.
  100. CRect rc2;
  101. GetWindowRect(rc2);
  102. ::MoveWindow(m_hWnd,g_rc.left,g_rc.top,g_rc.Width(),g_rc.Height(),TRUE);
  103. EnumChildWindows(m_hWnd,(WNDENUMPROC)EnumChildProc,0);
  104. m_static1.SetFont (&g_titlefont);
  105. if (g_bAllBranch == 0)
  106. {
  107. m_List1.SetHeadings("卡号,100;姓名,100;性别,100;电话,100;余额,100;卡类别,100;办卡日期,100;子卡号,100;子卡金额,100;开卡日期,100");
  108. m_List1.LoadColumnInfo(231);
  109. }
  110. else
  111. {
  112. m_List1.SetHeadings("店名,100;卡号,100;姓名,100;性别,100;电话,100;余额,100;卡类别,100;办卡日期,100;子卡号,100;子卡金额,100;开卡日期,100");
  113. m_List1.LoadColumnInfo(232);
  114. }
  115. m_List1.m_bSortSupport =0;
  116. GetData();
  117. }
  118. void ShowMember2::FillGrid()
  119. {
  120. m_List1.DeleteAllItems2();
  121. int ii = 0;
  122. m_List1.m_arLabels.SetSize(m_List1array.GetSize(), 1);
  123. int count = 0;
  124. if (m_filter.IsEmpty())
  125. {
  126. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  127. {
  128. m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii));
  129. }
  130. }
  131. else
  132. {
  133. int type = GetType(m_filter);
  134. if (type == 2)//拼音
  135. {
  136. m_filter.MakeUpper(); BOOL bFinded = 0;
  137. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  138. {
  139. if (bFinded && m_List1array.ElementAt(ii).ElementAt(0 + m_nAdd).IsEmpty())
  140. {
  141. m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii));
  142. continue;
  143. }
  144. if (m_List1array.ElementAt(ii).ElementAt(10 + m_nAdd).Find(m_filter) != -1)
  145. {
  146. bFinded = 1;
  147. m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii));
  148. }
  149. else
  150. {
  151. bFinded = 0;
  152. }
  153. }
  154. }
  155. else
  156. {
  157. BOOL bFinded = 0;
  158. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  159. {
  160. if (bFinded && m_List1array.ElementAt(ii).ElementAt(0 + m_nAdd).IsEmpty())
  161. {
  162. m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii));
  163. continue;
  164. }
  165. if (m_List1array.ElementAt(ii).ElementAt(0).Find(m_filter) != -1 || \
  166. m_List1array.ElementAt(ii).ElementAt(1).Find(m_filter) != -1 || \
  167. m_List1array.ElementAt(ii).ElementAt(2).Find(m_filter) != -1 || \
  168. m_List1array.ElementAt(ii).ElementAt(3).Find(m_filter) != -1 || \
  169. m_List1array.ElementAt(ii).ElementAt(4).Find(m_filter) != -1 || \
  170. m_List1array.ElementAt(ii).ElementAt(5).Find(m_filter) != -1 || \
  171. m_List1array.ElementAt(ii).ElementAt(6).Find(m_filter) != -1 || \
  172. m_List1array.ElementAt(ii).ElementAt(7).Find(m_filter) != -1 || \
  173. m_List1array.ElementAt(ii).ElementAt(8).Find(m_filter) != -1 || \
  174. m_List1array.ElementAt(ii).ElementAt(8 + m_nAdd).Find(m_filter) != -1)
  175. {
  176. bFinded = 1;
  177. m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii));
  178. }
  179. else
  180. {
  181. bFinded = 0;
  182. }
  183. }
  184. }
  185. }
  186. m_List1.m_arLabels.SetSize(count, 1);
  187. ii = count;
  188. m_List1.m_LabelCount = ii;
  189. m_List1.SetItemCountEx(ii);
  190. CString str;
  191. str.Format("项目:%d", ii);
  192. SetDlgItemText(IDC_STATIC2, str);
  193. }
  194. void ShowMember2::OnBUTclose()
  195. {
  196. // TODO: Add your control notification handler code here
  197. GetParent()->SendMessage(WM_CLOSE);
  198. }
  199. void ShowMember2::OnTimer(UINT nIDEvent)
  200. {
  201. // TODO: Add your message handler code here and/or call default
  202. KillTimer(nIDEvent);
  203. OnButton1();
  204. }
  205. BOOL ShowMember2::PreTranslateMessage(MSG* pMsg)
  206. {
  207. // TODO: Add your specialized code here and/or call the base class
  208. try
  209. {
  210. if(pMsg->message==WM_KEYDOWN)
  211. {
  212. switch (pMsg->wParam)
  213. {
  214. case VK_RETURN:
  215. InputOK();
  216. OnButton1();
  217. return 1;
  218. case 0x43: // copy
  219. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  220. {
  221. GetFocus()->SendMessage(WM_COPY);
  222. return TRUE;
  223. }
  224. break;
  225. case 0x56: //Ctrl + V:
  226. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  227. {
  228. GetFocus()->SendMessage(WM_PASTE);
  229. return TRUE;
  230. }
  231. break;
  232. case 0x58: // cut
  233. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  234. {
  235. GetFocus()->SendMessage(WM_CUT);
  236. return TRUE;
  237. }
  238. break;
  239. case 0x5A: //undo
  240. case 0x59: //redo
  241. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  242. {
  243. GetFocus()->SendMessage(WM_UNDO);
  244. return TRUE;
  245. }
  246. break;
  247. case '0':
  248. case VK_NUMPAD0:
  249. m_no+="0";
  250. break;
  251. case '1':
  252. case VK_NUMPAD1:
  253. m_no+="1";
  254. break;
  255. case '2':
  256. case VK_NUMPAD2:
  257. m_no+="2";
  258. break;
  259. case '3':
  260. case VK_NUMPAD3:
  261. m_no+="3";
  262. break;
  263. case '4':
  264. case VK_NUMPAD4:
  265. m_no+="4";
  266. break;
  267. case '5':
  268. case VK_NUMPAD5:
  269. m_no+="5";
  270. break;
  271. case '6':
  272. case VK_NUMPAD6:
  273. m_no+="6";
  274. break;
  275. case '7':
  276. case VK_NUMPAD7:
  277. m_no+="7";
  278. break;
  279. case '8':
  280. case VK_NUMPAD8:
  281. m_no+="8";
  282. break;
  283. case '9':
  284. case VK_NUMPAD9:
  285. m_no+="9";
  286. break;
  287. case 187:
  288. m_no+="=";
  289. break;
  290. case VK_BACK:
  291. if(m_no.GetLength ())
  292. {
  293. m_no.Delete (m_no.GetLength ()-1);
  294. }
  295. break;
  296. }
  297. }
  298. return MyFormView::PreTranslateMessage(pMsg);
  299. }
  300. catch(...)
  301. {
  302. }
  303. return true;
  304. }
  305. void ShowMember2::OnButton1()
  306. {
  307. // TODO: Add your control notification handler code here
  308. UpdateData();
  309. m_filter.TrimLeft ();
  310. m_filter.TrimRight ();
  311. FillGrid();
  312. }
  313. void ShowMember2::OnButton2() //加会员
  314. {
  315. // TODO: Add your control notification handler code here
  316. AddMember dlg;
  317. if(dlg.DoModal ()==IDOK)
  318. {
  319. GetData();
  320. }
  321. }
  322. void ShowMember2::OnButton3()
  323. {
  324. // TODO: Add your control notification handler code here
  325. POSITION pos;
  326. pos=m_List1.GetFirstSelectedItemPosition();
  327. if(pos==NULL)
  328. {
  329. AfxMessageBox("请先选中要查看的会员!");
  330. return;
  331. }
  332. int iItem=m_List1.GetNextSelectedItem(pos);
  333. CString memberno=m_List1.GetItemText (iItem, 1);
  334. ShowMemberReg dlg;
  335. dlg.m_memberno=memberno;
  336. dlg.DoModal ();
  337. }
  338. void ShowMember2::OnButton4()
  339. {
  340. // TODO: Add your control notification handler code here
  341. POSITION pos;
  342. pos=m_List1.GetFirstSelectedItemPosition();
  343. if(pos==NULL)
  344. {
  345. AfxMessageBox("请先选中要查看的会员!");
  346. return;
  347. }
  348. int iItem=m_List1.GetNextSelectedItem(pos);
  349. CString memberno=m_List1.GetItemText (iItem, 1);
  350. ShowMemberReg dlg;
  351. dlg.m_mode=1;
  352. dlg.m_memberno=memberno;
  353. dlg.DoModal ();
  354. if(dlg.m_bNeedRefsh==0)return;
  355. g_sendhead.bsql=0;
  356. g_sendhead.code[0]=68;
  357. g_sendhead.tabcount=1;
  358. g_pMainWnd->ProcessChatMessageRequest2(1);if(g_bSendOK==0)return;
  359. DataToArray(&m_List1array);HidePrice();
  360. FillGrid();
  361. }
  362. void ShowMember2::OnButton5()
  363. {
  364. }
  365. void ShowMember2::OnButton6()
  366. {
  367. // TODO: Add your control notification handler code handler
  368. if(IsHasRights2new(18)==0)return;
  369. // TODO: Add your control notification code
  370. POSITION pos;
  371. pos=m_List1.GetFirstSelectedItemPosition();
  372. if(pos==NULL)
  373. {
  374. AfxMessageBox("请先选中您要积分的会员!");
  375. return;
  376. }
  377. int iItem=m_List1.GetNextSelectedItem(pos);
  378. CString m_memberno=m_List1.GetItemText (iItem, 1);
  379. CString m_name=m_List1.GetItemText (iItem, 2);
  380. CString m_sex=m_List1.GetItemText (iItem, 3);
  381. CString m_phone=m_List1.GetItemText (iItem, 4);
  382. InputCard2Point dlg;
  383. dlg.m_memberno=m_memberno;
  384. dlg.m_name=m_name;
  385. dlg.m_sex=m_sex;
  386. dlg.m_phone=m_phone;
  387. if(dlg.DoModal ()!=IDOK)return;
  388. g_sendhead.bsql=0;
  389. g_sendhead.code[0]=68;
  390. g_sendhead.tabcount=1;
  391. g_pMainWnd->ProcessChatMessageRequest2(1);if(g_bSendOK==0)return;
  392. DataToArray(&m_List1array);HidePrice();
  393. FillGrid();
  394. }
  395. void ShowMember2::OnButton10()
  396. {
  397. // TODO: Add your control notification handler code here
  398. if(IsHasRights2new(18)==0)return;
  399. // TODO: Add your control notification handler code here
  400. POSITION pos;
  401. pos=m_List1.GetFirstSelectedItemPosition();
  402. if(pos==NULL)
  403. {
  404. AfxMessageBox("请先选中主卡!");
  405. return;
  406. }
  407. int iItem=m_List1.GetNextSelectedItem(pos);
  408. CString name=m_List1.GetItemText (iItem, 2);
  409. CString no=m_List1.GetItemText (iItem, 1);
  410. InputCard2Dlg dlg;
  411. dlg.m_name =name;
  412. dlg.m_no =no;
  413. dlg.DoModal ();
  414. }
  415. void ShowMember2::OnButton11()
  416. {
  417. // TODO: Add your control notification handler code here
  418. if(IsHasRights2new(18)==0)return;
  419. // TODO: Add your control notification handler code here
  420. POSITION pos;
  421. pos=m_List1.GetFirstSelectedItemPosition();
  422. if(pos==NULL)
  423. {
  424. AfxMessageBox("请先选中主卡!");
  425. return;
  426. }
  427. int iItem=m_List1.GetNextSelectedItem(pos);
  428. CString no=m_List1.GetItemText (iItem, 1);
  429. CString filter="[memberno]='"+no+"'";
  430. g_sendhead.bsql=0;
  431. g_sendhead.code[0]=127;
  432. g_sendhead.tabcount=1;
  433. g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return;
  434. DataToArray(&g_List1array);
  435. if(g_List1array.GetSize ()==0)
  436. {
  437. AfxMessageBox("此主卡未发放副卡!");
  438. }
  439. else
  440. {
  441. ShowCard2Reg dlg;
  442. dlg.DoModal ();
  443. }
  444. }
  445. void ShowMember2::OnButton8()
  446. {
  447. // TODO: Add your control notification handler code here
  448. POSITION pos;
  449. pos=m_List1.GetFirstSelectedItemPosition();
  450. if(pos==NULL)
  451. {
  452. AfxMessageBox("请先选中您要兑换积分的会员!");
  453. return;
  454. }
  455. int iItem=m_List1.GetNextSelectedItem(pos);
  456. CString m_memberno=m_List1.GetItemText (iItem, 1);
  457. CString m_name=m_List1.GetItemText (iItem, 2);
  458. CString m_sex=m_List1.GetItemText (iItem, 3);
  459. CString m_phone=m_List1.GetItemText (iItem, 4);
  460. UsePoint dlg;
  461. dlg.m_memberno=m_memberno;
  462. dlg.m_name=m_name;
  463. dlg.m_sex=m_sex;
  464. dlg.m_phone=m_phone;
  465. dlg.m_point =m_List1.GetItemText (iItem,10);
  466. if(dlg.DoModal ()!=IDOK)return;
  467. g_sendhead.bsql=0;
  468. g_sendhead.code[0]=68;
  469. g_sendhead.tabcount=1;
  470. g_pMainWnd->ProcessChatMessageRequest2(1);if(g_bSendOK==0)return;
  471. DataToArray(&m_List1array);HidePrice();
  472. FillGrid();
  473. }
  474. void ShowMember2::OnButton15()
  475. {
  476. // TODO: Add your control notification handler code here
  477. if(IsHasRights2new(18)==0)return;
  478. // TODO: Add your control notification handler code here
  479. POSITION pos;
  480. pos=m_List1.GetFirstSelectedItemPosition();
  481. if(pos==NULL)
  482. {
  483. AfxMessageBox("请先选中主卡!");
  484. return;
  485. }
  486. int iItem=m_List1.GetNextSelectedItem(pos);
  487. CString name=m_List1.GetItemText (iItem, 1);
  488. CString no=m_List1.GetItemText (iItem, 0);
  489. InputCard3Dlg dlg;
  490. dlg.m_name =name;
  491. dlg.m_no =no;
  492. dlg.DoModal ();
  493. }
  494. void ShowMember2::OnButton18()
  495. {
  496. // TODO: Add your control notification handler code here
  497. POSITION pos;
  498. pos=m_List1.GetFirstSelectedItemPosition();
  499. if(pos==NULL)
  500. {
  501. AfxMessageBox("请先选中主卡!");
  502. return;
  503. }
  504. int iItem=m_List1.GetNextSelectedItem(pos);
  505. CString no=m_List1.GetItemText (iItem, 0);
  506. while(no=="")
  507. {
  508. iItem--;
  509. no=m_List1.GetItemText (iItem, 0);
  510. }
  511. CString name=m_List1.GetItemText (iItem, 1);
  512. ReCharge dlg;
  513. dlg.m_name =name;
  514. dlg.m_no =no;
  515. if(dlg.DoModal ()!=IDOK)return;
  516. CString sql;
  517. sql="insert into [memberreg3]([memberno],[money],[date],[clerk])values('"+no+"','"+dlg.m_money+"','"+g_date+"','"+g_user.name+"')";
  518. sql+="***refresh balance memberreg3"+no;
  519. g_sendhead.bsql=1;
  520. g_pMainWnd->ProcessChatMessageRequest2(sql);
  521. if(g_bSendOK==0)
  522. return;
  523. GetData();
  524. }
  525. void ShowMember2::GetData()
  526. {
  527. if (g_bAllBranch == 0)
  528. {
  529. g_sendhead.bsql = 0;
  530. g_sendhead.code[0] = 161;
  531. g_sendhead.tabcount = 1;
  532. g_pMainWnd->ProcessChatMessageRequest2(1); if (g_bSendOK == 0)return;
  533. DataToArray(&m_List1array);
  534. }
  535. else
  536. {
  537. //////////////数据汇总
  538. m_List1array.RemoveAll();
  539. CString branch;
  540. for (int i = -1; i < g_brancharray.GetSize() - 1; i++)
  541. {
  542. if (i != -1)
  543. {
  544. branch = g_brancharray.ElementAt(i).ElementAt(0);
  545. g_branchip = g_brancharray.ElementAt(i).ElementAt(1);
  546. g_pMainWnd->OnDisconnect();
  547. g_branchname = branch;
  548. g_bBranchModify = 1;
  549. }
  550. else
  551. branch = g_brancharray.ElementAt(g_brancharray.GetSize() - 1).ElementAt(0);
  552. g_sendhead.bsql = 0;
  553. g_sendhead.code[0] = 161;
  554. g_sendhead.tabcount = 1;
  555. g_pMainWnd->ProcessChatMessageRequest2(1); if (g_bSendOK == 0)continue;
  556. CArray<CStringArray, CStringArray>List1array;
  557. DataToArray(&List1array);
  558. int size = m_List1array.GetSize();
  559. for (int j = 0; j < List1array.GetSize(); j++)
  560. {
  561. size++;
  562. m_List1array.SetSize(size, 1);
  563. size--;
  564. m_List1array.ElementAt(size).Copy(List1array.ElementAt(j));
  565. m_List1array.ElementAt(size).InsertAt(0, branch);
  566. size++;
  567. }
  568. }
  569. g_pMainWnd->OnDisconnect();
  570. g_bBranchModify = 0; g_branchip = g_branchname = "";
  571. }
  572. HidePrice();
  573. FillGrid();
  574. }
  575. void ShowMember2::OnButton19()
  576. {
  577. // TODO: Add your control notification handler code here
  578. POSITION pos;
  579. pos=m_List1.GetFirstSelectedItemPosition();
  580. if(pos==NULL)
  581. {
  582. AfxMessageBox("请先选中要查看的会员!");
  583. return;
  584. }
  585. int iItem=m_List1.GetNextSelectedItem(pos);
  586. CString no=m_List1.GetItemText (iItem, 0);
  587. while(no=="")
  588. {
  589. iItem--;
  590. no=m_List1.GetItemText (iItem, 0);
  591. }
  592. ReChargeReg dlg;
  593. dlg.m_mode=0;
  594. dlg.m_memberno=no;
  595. dlg.DoModal ();
  596. if(dlg.m_bNeedRefsh==0)return;
  597. GetData();
  598. }
  599. void ShowMember2::OnButton17()
  600. {
  601. // TODO: Add your control notification handler code here
  602. POSITION pos;
  603. pos=m_List1.GetFirstSelectedItemPosition();
  604. if(pos==NULL)
  605. {
  606. AfxMessageBox("请先选中您要充值的子卡!");
  607. return;
  608. }
  609. int iItem=m_List1.GetNextSelectedItem(pos);
  610. CString no=m_List1.GetItemText (iItem, 0);
  611. CString card2no=m_List1.GetItemText (iItem, 7);
  612. CString balance=m_List1.GetItemText (iItem, 4);
  613. while(no=="")
  614. {
  615. iItem--;
  616. no=m_List1.GetItemText (iItem, 0);
  617. }
  618. CString name=m_List1.GetItemText (iItem, 1);
  619. ReCharge dlg;
  620. dlg.m_mode=1;
  621. dlg.m_name =name;
  622. dlg.m_balance =balance;
  623. dlg.m_no =no;
  624. dlg.m_card2no =card2no;
  625. if(dlg.DoModal ()!=IDOK)return;
  626. CString sql;
  627. sql="insert into [memberreg4]([memberno],[card2no],[money],[date],[clerk])values('"+no+"','"+card2no+"','"+dlg.m_money+"','"+g_date+"','"+g_user.name+"')";
  628. sql+="***refresh balance memberreg4"+no+";"+card2no;
  629. g_sendhead.bsql=1;
  630. g_pMainWnd->ProcessChatMessageRequest2(sql);if(g_bSendOK==0)return;
  631. GetData();
  632. }
  633. void ShowMember2::OnButton20()
  634. {
  635. // TODO: Add your control notification handler code here
  636. POSITION pos;
  637. pos=m_List1.GetFirstSelectedItemPosition();
  638. if(pos==NULL)
  639. {
  640. AfxMessageBox("请先选中要查看的子卡!");
  641. return;
  642. }
  643. int iItem=m_List1.GetNextSelectedItem(pos);
  644. CString no=m_List1.GetItemText (iItem, 0);
  645. CString card2no=m_List1.GetItemText (iItem, 7);
  646. while(no=="")
  647. {
  648. iItem--;
  649. no=m_List1.GetItemText (iItem, 0);
  650. }
  651. ReChargeReg dlg;
  652. dlg.m_mode=1;
  653. dlg.m_memberno=no;
  654. dlg.m_card2no =card2no;
  655. dlg.DoModal ();
  656. if(dlg.m_bNeedRefsh==0)return;
  657. GetData();
  658. }
  659. void ShowMember2::OnButton21()
  660. {
  661. // TODO: Add your control notification handler code here
  662. POSITION pos;
  663. pos=m_List1.GetFirstSelectedItemPosition();
  664. if(pos==NULL)
  665. {
  666. AfxMessageBox("请先选中要查看的会员!");
  667. return;
  668. }
  669. int iItem=m_List1.GetNextSelectedItem(pos);
  670. CString no=m_List1.GetItemText (iItem, 0);
  671. while(no=="")
  672. {
  673. iItem--;
  674. no=m_List1.GetItemText (iItem, 0);
  675. }
  676. ReChargeReg dlg;
  677. dlg.m_mode=2;
  678. dlg.m_memberno=no;
  679. dlg.DoModal ();
  680. if(dlg.m_bNeedRefsh==0)return;
  681. GetData();
  682. }
  683. void ShowMember2::OnButton16()
  684. {
  685. // TODO: Add your control notification handler code here
  686. POSITION pos;
  687. pos=m_List1.GetFirstSelectedItemPosition();
  688. if(pos==NULL)
  689. {
  690. AfxMessageBox("请先选中要查看的会员!");
  691. return;
  692. }
  693. int iItem=m_List1.GetNextSelectedItem(pos);
  694. CString no=m_List1.GetItemText (iItem, 0);
  695. CString card2no=m_List1.GetItemText (iItem, 7);
  696. while(no=="")
  697. {
  698. iItem--;
  699. no=m_List1.GetItemText (iItem, 0);
  700. }
  701. ReChargeReg dlg;
  702. dlg.m_mode=3;
  703. dlg.m_memberno=no;
  704. dlg.m_card2no =card2no;
  705. dlg.DoModal ();
  706. if(dlg.m_bNeedRefsh==0)return;
  707. GetData();
  708. }
  709. void ShowMember2::InputOK()
  710. {
  711. if(m_no.IsEmpty ())return;
  712. m_filter=m_no;
  713. m_no.Empty ();
  714. UpdateData(0);
  715. MemberCardFunc2 dlg;
  716. dlg.m_memberno=m_filter;
  717. for(int ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  718. {
  719. if(m_List1.m_arLabels.ElementAt (ii).ElementAt (0)==m_filter)
  720. break;
  721. if(m_List1.m_arLabels.ElementAt (ii).ElementAt (6)==m_filter)
  722. {
  723. dlg.m_memberno=m_List1.m_arLabels.ElementAt (ii).ElementAt (0);
  724. dlg.m_card2no=m_filter;
  725. break;
  726. }
  727. }
  728. dlg.DoModal();
  729. GetData();
  730. }
  731. void ShowMember2::OnDblclkList2(NMHDR* pNMHDR, LRESULT* pResult)
  732. {
  733. // TODO: Add your control notification handler code here
  734. POSITION pos;
  735. pos=m_List1.GetFirstSelectedItemPosition();
  736. if(pos==NULL)
  737. {
  738. return;
  739. }
  740. MemberCardFunc2 dlg;
  741. int iItem=m_List1.GetNextSelectedItem(pos);
  742. CString branch;
  743. if(g_bAllBranch)
  744. branch=m_List1.GetItemText (iItem, 0);
  745. CString memberno=m_List1.GetItemText (iItem, 0+m_nAdd);
  746. CString m_card2no=m_List1.GetItemText (iItem, 7+m_nAdd);
  747. while(memberno=="")
  748. {
  749. iItem--;
  750. memberno=m_List1.GetItemText (iItem, 0+m_nAdd);
  751. }
  752. dlg.m_branch=branch;
  753. dlg.m_memberno=memberno;
  754. if(!m_card2no.IsEmpty ())
  755. {
  756. SelMemberCardFund seldlg;
  757. if (seldlg.DoModal() != IDOK)return;
  758. if (seldlg.m_radio1 == 1)
  759. {
  760. dlg.m_card2no = m_card2no;
  761. dlg.m_card2balance = m_List1.GetItemText(iItem, 8 + m_nAdd);
  762. }
  763. }
  764. dlg.DoModal();
  765. GetData();
  766. *pResult = 0;
  767. }
  768. void ShowMember2::OnButton24()
  769. {
  770. // TODO: Add your control notification handler code here
  771. POSITION pos;
  772. pos=m_List1.GetFirstSelectedItemPosition();
  773. if(pos==NULL)
  774. {
  775. AfxMessageBox("请先选中您要发送短信的会员!", MB_ICONINFORMATION);
  776. return;
  777. }
  778. int iItem;
  779. CStringArray array;
  780. while (pos)
  781. {
  782. iItem = m_List1.GetNextSelectedItem(pos);
  783. if(!m_List1.GetItemText (iItem, 3+m_nAdd).IsEmpty ())
  784. array.Add (m_List1.GetItemText (iItem, 3+m_nAdd));
  785. }
  786. SendMsgDlg dlg;
  787. dlg.m_mode=1;
  788. dlg.m_pArray=&array;
  789. dlg.DoModal ();
  790. }
  791. void ShowMember2::HidePrice()
  792. {
  793. #ifdef LKAY_VERSION
  794. if(IsHasRights2new(31))return;
  795. for(int i=0; i< m_List1array.GetSize (); i++)
  796. {
  797. m_List1array.ElementAt (i).SetAt (3, "***");
  798. }
  799. #endif
  800. }
  801. void ShowMember2::OnBtnExportXls()
  802. {
  803. ListToXLS(&m_List1, _T("C:\\现金子卡.xls"), 0);
  804. AfxMessageBox(_T("保存到C:\\现金子卡.xls"));
  805. }