InputMemberno.cpp 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340
  1. // InputMemberno.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ylgl.h"
  5. #include "InputMemberno.h"
  6. #include "AddMember.h"
  7. #include "SelCardType.h"
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13. /////////////////////////////////////////////////////////////////////////////
  14. // InputMemberno dialog
  15. InputMemberno::InputMemberno(CWnd* pParent /*=NULL*/)
  16. : CDialog(InputMemberno::IDD, pParent)
  17. {
  18. //{{AFX_DATA_INIT(InputMemberno)
  19. m_memberno = _T("");
  20. m_cardtype = _T("");
  21. m_type=0;
  22. m_name = _T("");
  23. m_mode=0;
  24. m_bNoAdd=0;
  25. //}}AFX_DATA_INIT
  26. m_cardleng=atol(g_cominfoarray.ElementAt (0).ElementAt (55));
  27. }
  28. void InputMemberno::DoDataExchange(CDataExchange* pDX)
  29. {
  30. CDialog::DoDataExchange(pDX);
  31. //{{AFX_DATA_MAP(InputMemberno)
  32. DDX_Text(pDX, IDC_EDIT1, m_memberno);
  33. DDX_Text(pDX, IDC_EDIT2, m_cardtype);
  34. DDX_Text(pDX, IDC_EDIT3, m_name);
  35. //}}AFX_DATA_MAP
  36. }
  37. BEGIN_MESSAGE_MAP(InputMemberno, CDialog)
  38. //{{AFX_MSG_MAP(InputMemberno)
  39. ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
  40. ON_EN_CHANGE(IDC_EDIT1, OnChangeEdit1)
  41. ON_EN_SETFOCUS(IDC_EDIT1, OnSetfocusEdit1)
  42. //}}AFX_MSG_MAP
  43. END_MESSAGE_MAP()
  44. /////////////////////////////////////////////////////////////////////////////
  45. // InputMemberno message handlers 6
  46. void InputMemberno::OnOK()
  47. {
  48. // TODO: Add extra validation here
  49. if(GetDlgItem(IDOK)->IsWindowEnabled()==0)return;
  50. if(m_type==1 || m_type==3)//副卡
  51. {
  52. CString temp=m_memberno2;
  53. m_memberno2=m_memberno;
  54. m_memberno=temp;
  55. UpdateData(false);
  56. }
  57. CDialog::OnOK();
  58. }
  59. BOOL InputMemberno::OnInitDialog()
  60. {
  61. CDialog::OnInitDialog();
  62. if(m_cardleng==0)m_cardleng=6;
  63. if(m_bNoAdd)
  64. {
  65. GetDlgItem(IDC_BUTTON1)->EnableWindow(0);
  66. }
  67. // TODO: Add extra initialization here
  68. g_sendhead.bsql=0;
  69. g_sendhead.code[0]=68;
  70. g_sendhead.code[1]=127;
  71. g_sendhead.code[2]=130;
  72. g_sendhead.code[3]=131;
  73. g_sendhead.tabcount=4;
  74. g_pMainWnd->ProcessChatMessageRequest2(0);if(g_bSendOK==0)return 0;
  75. DataToArray( &m_List1array,&m_List2array,&m_List3array,&m_List4array);
  76. CenterWindow();
  77. return TRUE; // return TRUE unless you set the focus to a control
  78. // EXCEPTION: OCX Property Pages should return FALSE
  79. }
  80. void InputMemberno::OnButton1()
  81. {
  82. // TODO: Add your control notification handler code here
  83. AddMember dlg;
  84. if(dlg.DoModal ()==IDOK)
  85. {
  86. m_memberno=dlg.m_memberno;
  87. UpdateData(false);
  88. g_sendhead.bsql=0;
  89. g_sendhead.code[0]=68;
  90. g_sendhead.code[1]=127;
  91. g_sendhead.code[2]=130;
  92. g_sendhead.code[3]=131;
  93. g_sendhead.tabcount=4;
  94. g_pMainWnd->ProcessChatMessageRequest2(0);if(g_bSendOK==0)return;
  95. DataToArray( &m_List1array,&m_List2array,&m_List3array,&m_List4array);
  96. CheckType();
  97. // CDialog::OnOK ();
  98. }
  99. }
  100. BOOL InputMemberno::PreTranslateMessage(MSG* pMsg)
  101. {
  102. // TODO: Add your specialized code here and/or call the base class
  103. if(pMsg->message==WM_KEYDOWN)
  104. {
  105. switch (pMsg->wParam)
  106. {
  107. case '0':
  108. case VK_NUMPAD0:
  109. m_input+="0";
  110. CheckInput();
  111. break;
  112. case '1':
  113. case VK_NUMPAD1:
  114. m_input+="1";
  115. CheckInput();
  116. break;
  117. case '2':
  118. case VK_NUMPAD2:
  119. m_input+="2";
  120. CheckInput();
  121. break;
  122. case '3':
  123. case VK_NUMPAD3:
  124. m_input+="3";
  125. CheckInput();
  126. break;
  127. case '4':
  128. case VK_NUMPAD4:
  129. m_input+="4";
  130. CheckInput();
  131. break;
  132. case '5':
  133. case VK_NUMPAD5:
  134. m_input+="5";
  135. CheckInput();
  136. break;
  137. case '6':
  138. case VK_NUMPAD6:
  139. m_input+="6";
  140. CheckInput();
  141. break;
  142. case '7':
  143. case VK_NUMPAD7:
  144. m_input+="7";
  145. CheckInput();
  146. break;
  147. case '8':
  148. case VK_NUMPAD8:
  149. m_input+="8";
  150. CheckInput();
  151. break;
  152. case '9':
  153. case VK_NUMPAD9:
  154. m_input+="9";
  155. CheckInput();
  156. break;
  157. case VK_BACK:
  158. if(m_input.GetLength ())
  159. {
  160. m_input.Delete (m_input.GetLength ()-1);
  161. CheckInput();
  162. }
  163. break;
  164. }
  165. }
  166. return CDialog::PreTranslateMessage(pMsg);
  167. }
  168. void InputMemberno::CheckInput()
  169. {
  170. /* if(m_input.GetLength ()>=m_cardleng)
  171. {
  172. m_input=m_input.Right (m_cardleng);
  173. } */
  174. m_memberno=m_input;
  175. UpdateData(false);
  176. CheckType();
  177. }
  178. void InputMemberno::OnChangeEdit1()
  179. {
  180. // TODO: If this is a RICHEDIT control, the control will not
  181. // send this notification unless you override the CDialog::OnInitDialog()
  182. // function and call CRichEditCtrl().SetEventMask()
  183. // with the ENM_CHANGE flag ORed into the mask.
  184. // UpdateData();
  185. // m_input=m_memberno;
  186. // if(m_memberno.GetLength ()>=6)
  187. // OnOK();
  188. // CheckType();
  189. // TODO: Add your control notification handler code here
  190. }
  191. void InputMemberno::OnSetfocusEdit1()
  192. {
  193. // TODO: Add your control notification handler code here
  194. GetDlgItem(IDC_EDIT7)->SetFocus ();
  195. }
  196. void InputMemberno::CheckType(int type)
  197. {
  198. GetDlgItem(IDOK)->EnableWindow(0);
  199. UpdateData();
  200. m_memberno.TrimLeft ();
  201. m_memberno.TrimRight ();
  202. SetDlgItemText(IDC_STATIC1,"");
  203. if( m_memberno.IsEmpty ())
  204. {
  205. return;
  206. }
  207. int i = 0;
  208. CStringArray namearray;
  209. for( i=0; i<m_List1array.GetSize (); i++)
  210. {
  211. if(m_List1array.ElementAt (i).ElementAt (1)==m_memberno)
  212. {
  213. m_type=0;
  214. GetDlgItem(IDOK)->EnableWindow(1);
  215. m_cardtype="金卡会员";
  216. m_name=m_List1array.ElementAt (i).ElementAt (2);
  217. UpdateData(false);
  218. if(type!=-1 && type==m_type)
  219. return;
  220. if(m_mode)return;
  221. namearray.Add (m_cardtype);
  222. }
  223. }
  224. if(m_mode==0)
  225. {
  226. for( i=0; i<m_List2array.GetSize (); i++)
  227. {
  228. if(m_List2array.ElementAt (i).ElementAt (1)==m_memberno)
  229. {
  230. m_type=1;
  231. m_memberno2=m_List2array.ElementAt (i).ElementAt (0);
  232. m_memberno2date=m_List2array.ElementAt (i).ElementAt (2);
  233. GetDlgItem(IDOK)->EnableWindow(1);
  234. m_cardtype="金卡副卡";
  235. GetNameFromNo(m_memberno2,m_membernoname,m_membernosex,m_membernophone);
  236. m_name=m_membernoname;
  237. UpdateData(false);
  238. if(type!=-1 && type==m_type)
  239. return;
  240. namearray.Add (m_cardtype);
  241. }
  242. }
  243. for( i=0; i<m_List3array.GetSize (); i++)
  244. {
  245. if(m_List3array.ElementAt (i).ElementAt (1)==m_memberno)
  246. {
  247. m_type=2;
  248. GetDlgItem(IDOK)->EnableWindow(1);
  249. m_cardtype="蓝钻卡会员";
  250. m_name=m_List3array.ElementAt (i).ElementAt (2);
  251. UpdateData(false);
  252. if(type!=-1 && type==m_type)
  253. return;
  254. namearray.Add (m_cardtype);
  255. }
  256. }
  257. for( i=0; i<m_List4array.GetSize (); i++)
  258. {
  259. if(m_List4array.ElementAt (i).ElementAt (1)==m_memberno)
  260. {
  261. m_type=3;
  262. m_memberno2=m_List4array.ElementAt (i).ElementAt (0);
  263. m_memberno2date=m_List4array.ElementAt (i).ElementAt (2);
  264. GetDlgItem(IDOK)->EnableWindow(1);
  265. m_cardtype="蓝钻卡副卡";
  266. GetNameFromNo2(m_memberno2,m_membernoname,m_membernosex,m_membernophone,m_membernojiage);
  267. m_name=m_membernoname;
  268. UpdateData(false);
  269. if(type!=-1 && type==m_type)
  270. return;
  271. namearray.Add (m_cardtype);
  272. }
  273. }
  274. }
  275. if(namearray.GetSize ()==1)return;
  276. if(type==-1 && namearray.GetSize ()>1)
  277. {
  278. SelCardType dlg;
  279. dlg.m_pArray =&namearray;
  280. dlg.DoModal ();
  281. CheckType(dlg.m_type);
  282. return;
  283. }
  284. m_cardtype="";
  285. m_name="";
  286. UpdateData(false);
  287. SetDlgItemText(IDC_STATIC1,"没有这个会员卡号!");
  288. }
  289. void InputMemberno::GetNameFromNo(CString no, CString &name, CString &sex, CString &phone)
  290. {
  291. CString filter="[memberno]='"+no+"'";
  292. g_sendhead.bsql=0;
  293. g_sendhead.code[0]=68;
  294. g_sendhead.tabcount=1;
  295. g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return;
  296. DataToArray(&g_List1array);
  297. if(g_List1array.GetSize ())
  298. {
  299. name=g_List1array.ElementAt (0).ElementAt (2);
  300. sex=g_List1array.ElementAt (0).ElementAt (3);
  301. phone=g_List1array.ElementAt (0).ElementAt (4);
  302. return;
  303. }
  304. }
  305. void InputMemberno::GetNameFromNo2(CString no, CString &name, CString &sex, CString &phone, CString &price)
  306. {
  307. CString filter="[memberno]='"+no+"'";
  308. g_sendhead.bsql=0;
  309. g_sendhead.code[0]=130;
  310. g_sendhead.tabcount=1;
  311. g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return;
  312. DataToArray(&g_List1array);
  313. if(g_List1array.GetSize ())
  314. {
  315. name=g_List1array.ElementAt (0).ElementAt (2);
  316. sex=g_List1array.ElementAt (0).ElementAt (3);
  317. phone=g_List1array.ElementAt (0).ElementAt (4);
  318. price=g_List1array.ElementAt (0).ElementAt (9);
  319. return;
  320. }
  321. }