MemberCardFunc2.cpp 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911
  1. // MemberCardFunc2.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ylgl.h"
  5. #include "MemberCardFunc2.h"
  6. #include "AddMember.h"
  7. #include "ShowMemberReg.h"
  8. #include "InputCard2Dlg.h"
  9. #include "ShowCard2Reg.h"
  10. #include "InputCard2Point.h"
  11. #include "UsePoint.h"
  12. #include "InputCard3Dlg.h"
  13. #include "ReCharge.h"
  14. #include "ReChargeReg.h"
  15. #include "InputPsw2.h"
  16. #ifdef _DEBUG
  17. #define new DEBUG_NEW
  18. #undef THIS_FILE
  19. static char THIS_FILE[] = __FILE__;
  20. #endif
  21. /////////////////////////////////////////////////////////////////////////////
  22. // MemberCardFunc2 dialog IDC_EDIT4
  23. MemberCardFunc2::MemberCardFunc2(CWnd* pParent /*=NULL*/)
  24. : CDialog(MemberCardFunc2::IDD, pParent)
  25. {
  26. m_memberno = _T("");
  27. m_point = _T("");
  28. m_balance = _T("");
  29. m_name = _T("");
  30. m_phone = _T("");
  31. //}}AFX_DATA_INIT
  32. }
  33. void MemberCardFunc2::DoDataExchange(CDataExchange* pDX)
  34. {
  35. CDialog::DoDataExchange(pDX);
  36. DDX_Text(pDX, IDC_EDIT1, m_memberno);
  37. DDX_Text(pDX, IDC_EDIT2, m_point);
  38. DDX_Text(pDX, IDC_EDIT3, m_balance);
  39. DDX_Text(pDX, IDC_EDIT4, m_name);
  40. DDX_Text(pDX, IDC_EDIT5, m_phone);
  41. //}}AFX_DATA_MAP
  42. }
  43. BEGIN_MESSAGE_MAP(MemberCardFunc2, CDialog)
  44. ON_BN_CLICKED(IDC_BUTTON15, OnButton15)
  45. ON_BN_CLICKED(IDC_BUTTON16, OnButton16)
  46. ON_BN_CLICKED(IDC_BUTTON22, OnButton22)
  47. ON_BN_CLICKED(IDC_BUTTON17, OnButton17)
  48. ON_BN_CLICKED(IDC_BUTTON23, OnButton23)
  49. ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
  50. ON_BN_CLICKED(IDC_BUTTON10, OnButton10)
  51. ON_BN_CLICKED(IDC_BUTTON7, OnButton7)
  52. ON_BN_CLICKED(IDC_BUTTON19, OnButton19)
  53. ON_BN_CLICKED(IDC_BUTTON18, OnButton18)
  54. ON_BN_CLICKED(IDC_BUTTON20, OnButton20)
  55. ON_BN_CLICKED(IDC_BUTTON21, OnButton21)
  56. ON_BN_CLICKED(IDC_BUTTON24, OnButton24)
  57. ON_BN_CLICKED(IDC_BUTTON25, OnButton25)
  58. ON_BN_CLICKED(IDC_BUTTON27, OnButton27)
  59. ON_BN_CLICKED(IDC_BUTTON28, OnButton28)
  60. ON_BN_CLICKED(IDC_BUTTON26, OnButton26)
  61. ON_BN_CLICKED(IDC_BUTTON29, OnButton29)
  62. ON_BN_CLICKED(IDC_BUTTON30, OnButton30)
  63. ON_BN_CLICKED(IDC_BUTTON31, OnButton31)
  64. ON_BN_CLICKED(IDC_BUTTON33, OnButton33)
  65. ON_WM_DESTROY()
  66. //}}AFX_MSG_MAP
  67. ON_BN_CLICKED(BTN_GETPHONE1, OnBnClickedGetphone1)
  68. END_MESSAGE_MAP()
  69. BOOL MemberCardFunc2::OnInitDialog()
  70. {
  71. CDialog::OnInitDialog();
  72. if ( IsHasRights2new(31) == TRUE || ( IsHasRights2new(31) == FALSE && IsHasRights2new(65) == FALSE ))
  73. {// 有查看客人号码权限 或 无查看客人号码权限且没有查看完整号码权限;
  74. GetDlgItem(BTN_GETPHONE1)->ShowWindow(SW_HIDE);
  75. }
  76. if (g_bAllBranch)
  77. {
  78. g_pMainWnd->OnDisconnect();
  79. g_branchip = GetIP(m_branch);
  80. g_pMainWnd->OnDisconnect();
  81. g_branchname = m_branch;
  82. g_bBranchModify = 1;
  83. }
  84. CArray<CStringArray, CStringArray>m_List1array;
  85. CArray<CStringArray, CStringArray>m_List2array;
  86. if (!m_card2no.IsEmpty())
  87. {
  88. GetDlgItem(IDC_BUTTON20)->EnableWindow(0);
  89. GetDlgItem(IDC_BUTTON30)->EnableWindow(0);
  90. GetDlgItem(IDC_BUTTON21)->EnableWindow(0);
  91. GetDlgItem(IDC_BUTTON24)->EnableWindow(0);
  92. GetDlgItem(IDC_BUTTON25)->EnableWindow(0);
  93. SetWindowText("子卡管理-当前子卡:" + m_card2no);
  94. CString filter = "[memberno]='" + m_memberno + "';[memberno]='" + m_memberno + "' and [card2no]='" + m_card2no + "'";
  95. g_sendhead.bsql = 0;
  96. g_sendhead.code[0] = 68;
  97. g_sendhead.code[1] = 164;
  98. g_sendhead.tabcount = 2;
  99. g_pMainWnd->ProcessChatMessageRequest2(filter);
  100. if (g_bSendOK == 0)
  101. {
  102. CDialog::OnCancel();
  103. return 0;
  104. }
  105. DataToArray(&m_List1array, &m_List2array);
  106. m_psw = m_List2array.ElementAt(0).ElementAt(4);
  107. }
  108. else
  109. {
  110. GetDlgItem(IDC_BUTTON26)->EnableWindow(0);
  111. GetDlgItem(IDC_BUTTON29)->EnableWindow(0);
  112. GetDlgItem(IDC_BUTTON27)->EnableWindow(0);
  113. GetDlgItem(IDC_BUTTON31)->EnableWindow(0);
  114. GetDlgItem(IDC_BUTTON28)->EnableWindow(0);
  115. CString filter = "[memberno]='" + m_memberno + "'";
  116. g_sendhead.bsql = 0;
  117. g_sendhead.code[0] = 68;
  118. g_sendhead.tabcount = 1;
  119. g_pMainWnd->ProcessChatMessageRequest2(filter);
  120. if (g_bSendOK == 0)
  121. {
  122. CDialog::OnCancel();
  123. return 0;
  124. }
  125. DataToArray(&m_List1array);
  126. m_psw = m_List1array.ElementAt(0).ElementAt(15);
  127. }
  128. CenterWindow();
  129. if (m_List1array.GetSize() == 0)
  130. {
  131. AfxMessageBox("没有找到此卡 " + m_memberno + " 的记录");
  132. GetDlgItem(IDC_BUTTON20)->EnableWindow(0);
  133. GetDlgItem(IDC_BUTTON30)->EnableWindow(0);
  134. GetDlgItem(IDC_BUTTON21)->EnableWindow(0);
  135. GetDlgItem(IDC_BUTTON24)->EnableWindow(0);
  136. GetDlgItem(IDC_BUTTON25)->EnableWindow(0);
  137. GetDlgItem(IDC_BUTTON29)->EnableWindow(0);
  138. GetDlgItem(IDC_BUTTON26)->EnableWindow(0);
  139. GetDlgItem(IDC_BUTTON27)->EnableWindow(0);
  140. GetDlgItem(IDC_BUTTON31)->EnableWindow(0);
  141. GetDlgItem(IDC_BUTTON28)->EnableWindow(0);
  142. return 0;
  143. }
  144. m_memberno = m_List1array.ElementAt(0).ElementAt(1);
  145. m_point = m_List1array.ElementAt(0).ElementAt(9);
  146. m_balance = m_List1array.ElementAt(0).ElementAt(12);
  147. m_name = m_List1array.ElementAt(0).ElementAt(2);
  148. m_phone = m_List1array.ElementAt(0).ElementAt(4);
  149. if ( IsHasRights2new(31) == FALSE)
  150. {// 无权限查看客人电话,隐藏中间4位;
  151. if ( IsHasRights2new(65) == TRUE )
  152. {// 具有查看完整号码的权限;
  153. m_strPhone = m_phone;
  154. }
  155. if ( m_phone.GetLength() == 11 )
  156. m_phone.Replace(m_phone.Mid(3,4), _T("****"));
  157. }
  158. UpdateData(0);
  159. return TRUE;
  160. }
  161. void MemberCardFunc2::OnButton15()
  162. {
  163. if (IsHasRights2new(18) == 0)return;
  164. InputCard2Dlg dlg;
  165. dlg.m_name = m_name;
  166. dlg.m_no = m_memberno;
  167. dlg.DoModal();
  168. }
  169. void MemberCardFunc2::OnButton16()
  170. {
  171. if (IsHasRights2new(18) == 0)return;
  172. CString filter = "[memberno]='" + m_memberno + "'";
  173. g_sendhead.bsql = 0;
  174. g_sendhead.code[0] = 127;
  175. g_sendhead.tabcount = 1;
  176. g_pMainWnd->ProcessChatMessageRequest2(filter); if (g_bSendOK == 0)return;
  177. DataToArray(&g_List1array);
  178. if (g_List1array.GetSize() == 0)
  179. {
  180. AfxMessageBox("此主卡未发放副卡!");
  181. }
  182. else
  183. {
  184. ShowCard2Reg dlg;
  185. dlg.DoModal();
  186. }
  187. }
  188. void MemberCardFunc2::OnButton22()
  189. {
  190. if (IsHasRights2new(18) == 0)return;
  191. InputCard2Point dlg;
  192. dlg.m_memberno = m_memberno;
  193. dlg.m_name = m_name;
  194. dlg.m_phone = m_phone;
  195. if (dlg.DoModal() != IDOK)return;
  196. }
  197. void MemberCardFunc2::OnButton17()
  198. {
  199. UsePoint dlg;
  200. dlg.m_mode = 1;
  201. dlg.m_memberno = m_memberno;
  202. dlg.m_name = m_name;
  203. dlg.m_phone = m_phone;
  204. dlg.m_point = m_point;
  205. if (dlg.DoModal() != IDOK)return;
  206. }
  207. void MemberCardFunc2::OnButton23()
  208. {
  209. UsePoint dlg;
  210. dlg.m_memberno = m_memberno;
  211. dlg.m_name = m_name;
  212. dlg.m_phone = m_phone;
  213. dlg.m_point = m_point;
  214. if (dlg.DoModal() != IDOK)return;
  215. }
  216. void MemberCardFunc2::OnButton3()
  217. {
  218. ShowMemberReg dlg;
  219. dlg.m_memberno = m_memberno;
  220. dlg.DoModal();
  221. }
  222. void MemberCardFunc2::OnButton10()
  223. {
  224. ShowMemberReg dlg;
  225. dlg.m_mode = 1;
  226. dlg.m_memberno = m_memberno;
  227. dlg.DoModal();
  228. }
  229. void MemberCardFunc2::OnButton7()
  230. {
  231. if (IsHasRights2new(49) == 0)return;
  232. if (AfxMessageBox("删除后将不可恢复, 确认吗?", MB_YESNO | MB_ICONINFORMATION) != IDYES)return;
  233. CString sql;
  234. sql = "delete from membermanage where [memberno]='" + m_memberno + "'";
  235. sql += "***delete from memberreg where [memberno]='" + m_memberno + "'";
  236. sql += "***delete from memberreg2 where [memberno]='" + m_memberno + "'";
  237. sql += "***delete from memberreg3 where [memberno]='" + m_memberno + "'";
  238. sql += "***delete from memberreg4 where [memberno]='" + m_memberno + "'";
  239. sql += "***delete from membercard3usereg where [memberno]='" + m_memberno + "'";
  240. sql += "***delete from membercard2 where [memberno]='" + m_memberno + "'";
  241. sql += "***delete from membercard3 where [memberno]='" + m_memberno + "'";
  242. g_sendhead.bsql = 1;
  243. g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
  244. AfxMessageBox("删除成功!"); CDialog::OnCancel();
  245. }
  246. void MemberCardFunc2::OnButton19()
  247. {
  248. UsePoint dlg;
  249. dlg.m_mode = 2;
  250. dlg.m_memberno = m_memberno;
  251. dlg.m_name = m_name;
  252. dlg.m_phone = m_phone;
  253. dlg.m_point = m_point;
  254. if (dlg.DoModal() != IDOK)return;
  255. AfxMessageBox("更新卡号成功!");
  256. CDialog::OnCancel();
  257. }
  258. void MemberCardFunc2::OnButton18()
  259. {
  260. AddMember dlg;
  261. dlg.m_memberno = m_memberno;
  262. dlg.m_bAdd = 0;
  263. dlg.DoModal(); CDialog::OnCancel();
  264. }
  265. //****************************************************************//
  266. // 提现按钮 - 重新实现,将提现当作支出的一种,要记录到财务报表中;
  267. // case 13
  268. //****************************************************************//
  269. void MemberCardFunc2::OnButton30() // 提现按钮;
  270. {
  271. if (m_psw != "")
  272. {
  273. AfxMessageBox("此卡已设置密码,请输入密码?", MB_ICONINFORMATION);
  274. InputPsw2 dlg;
  275. if (dlg.DoModal() != IDOK)return;
  276. if (m_psw != dlg.m_psw)
  277. {
  278. AfxMessageBox("密码错误! ", MB_ICONINFORMATION);
  279. return;
  280. }
  281. }
  282. UpdateData();
  283. ReCharge dlg;
  284. dlg.m_name = m_name; // *用户名;
  285. dlg.m_no = m_memberno; // 卡号;
  286. dlg.m_balance = m_balance; // 余额;
  287. dlg.m_bout = 1; // 提现;
  288. if (dlg.DoModal() != IDOK)
  289. return;
  290. CString sql;
  291. sql = "insert into [memberreg3]([memberno],[money],[date],[clerk])values('" + m_memberno + "','-" + dlg.m_money + "','" + g_date + "','" + g_user.name + "')";
  292. // sql这句没有执行,直接被下面的membercard3usereg覆盖;
  293. // AfxMessageBox(sql);//Jeff Box;
  294. #if 1
  295. CString strDescription = "提现(" + g_user.name + ")";
  296. sql = "insert into [membercard3usereg]([memberno],[dindanid],[money],[date])values('" + m_memberno + "','" + strDescription + "','" + dlg.m_money + "','" + g_date + "')";
  297. sql += "***refresh balance memberreg3" + m_memberno;
  298. #else // Jeff.添加新字段;
  299. CString strDescription = "提现(" + g_user.name+ ")" ;
  300. sql="insert into [membercard3usereg]([memberno],[dindanid],[money],[date],[ModeOfPayment],[Cashier])values('"+m_memberno+"','"+strDescription+"','"+dlg.m_money+"','"+g_date+ "','"+ "现金" + "','" + g_user.name + "')";
  301. sql+="***refresh balance memberreg3"+m_memberno;
  302. #endif
  303. //printf("Jeff:sql=%s\n\n",sql);//JeffDebug
  304. g_sendhead.bsql = 1;
  305. g_pMainWnd->ProcessChatMessageRequest2(sql);
  306. if (g_bSendOK == 0)
  307. return;
  308. AfxMessageBox("提现成功!");
  309. CString filter = "[memberno]='" + m_memberno + "'";
  310. g_sendhead.bsql = 0;
  311. g_sendhead.code[0] = 68;
  312. g_sendhead.tabcount = 1;
  313. g_pMainWnd->ProcessChatMessageRequest2(filter);
  314. if (g_bSendOK == 0)
  315. {
  316. CDialog::OnCancel();
  317. return;
  318. }
  319. CArray<CStringArray, CStringArray>m_List1array;
  320. DataToArray(&m_List1array);
  321. CenterWindow();
  322. if (m_List1array.GetSize() == 0)
  323. {
  324. AfxMessageBox("没有找到此卡 " + m_memberno + " 的记录");
  325. GetDlgItem(IDC_BUTTON20)->EnableWindow(0);
  326. GetDlgItem(IDC_BUTTON30)->EnableWindow(0);
  327. GetDlgItem(IDC_BUTTON21)->EnableWindow(0);
  328. GetDlgItem(IDC_BUTTON24)->EnableWindow(0);
  329. GetDlgItem(IDC_BUTTON25)->EnableWindow(0);
  330. GetDlgItem(IDC_BUTTON26)->EnableWindow(0);
  331. GetDlgItem(IDC_BUTTON29)->EnableWindow(0);
  332. GetDlgItem(IDC_BUTTON27)->EnableWindow(0);
  333. GetDlgItem(IDC_BUTTON31)->EnableWindow(0);
  334. GetDlgItem(IDC_BUTTON28)->EnableWindow(0);
  335. return;
  336. }
  337. m_memberno = m_List1array.ElementAt(0).ElementAt(1);
  338. m_point = m_List1array.ElementAt(0).ElementAt(9);
  339. m_balance = m_List1array.ElementAt(0).ElementAt(12);
  340. m_name = m_List1array.ElementAt(0).ElementAt(2);
  341. m_phone = m_List1array.ElementAt(0).ElementAt(4);
  342. UpdateData(0);
  343. if (atoi(g_cominfoarray.ElementAt(0).ElementAt(122))) // msgcheck16
  344. {
  345. CString sql, str, timestamp;
  346. timestamp = "msgtimestamp";
  347. {
  348. if (m_name.IsEmpty() == 0 && CheckPhoneType(m_phone) != -1)
  349. {
  350. str.Format("%s您好,您本次提现%d元,现余额:%d元。感谢您的支持!", m_name, atoi(dlg.m_money), atoi(m_balance));
  351. int count = GetLengthEx(str) / MSG_LENGTH;
  352. if (GetLengthEx(str) % MSG_LENGTH)
  353. count++;
  354. CString scount;
  355. scount.Format("%d", count);
  356. #if JEFF_TEST_ON
  357. sql.Format(INSERT_SENDREG, _T("16"), m_phone, str, timestamp, scount, _T("0"), _T("0"), _T("0"), _T("系统自动发送"));
  358. #else
  359. sql = "insert into sendreg([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('" + m_phone + "','" + str + "','" + timestamp + "','" + scount + "','0','0','0','系统自动发送')";
  360. #endif
  361. }
  362. }
  363. g_sendhead.bsql = 1;
  364. g_pMainWnd->ProcessChatMessageRequest2(sql);
  365. }
  366. }
  367. void MemberCardFunc2::OnButton20() // 充值按钮;
  368. {
  369. UpdateData();
  370. ReCharge dlg;
  371. dlg.m_name = m_name; // 会员;
  372. dlg.m_no = m_memberno; // 卡号;
  373. dlg.m_balance = m_balance; // 充值金额;
  374. if (dlg.DoModal() != IDOK)return;
  375. CString sql;
  376. #if JEFF_TEST_ON
  377. CSQLStatementImpl::GetInstancePtr()->ReSetKind(_T("[memberreg3]"), NULL, KIND_INSERT, 10);
  378. CSQLStatementImpl::GetInstancePtr()->AddElement(_T("[memberno]"), m_memberno);
  379. CSQLStatementImpl::GetInstancePtr()->AddElement(_T("[money]"), dlg.m_money);
  380. CSQLStatementImpl::GetInstancePtr()->AddElement(_T("[money2]"), dlg.m_money2);
  381. CSQLStatementImpl::GetInstancePtr()->AddElement(_T("[date]"), g_date);
  382. CSQLStatementImpl::GetInstancePtr()->AddElement(_T("[time]"), _T("curtimereplace"));
  383. CSQLStatementImpl::GetInstancePtr()->AddElement(_T("[clerk]"), g_user.name);
  384. CSQLStatementImpl::GetInstancePtr()->AddElement(_T("[moneytype]"), dlg.paytype);
  385. CSQLStatementImpl::GetInstancePtr()->AddElement(_T("[bz]"), dlg.m_strRechargeRemark); // 充值备注;
  386. CSQLStatementImpl::GetInstancePtr()->ReturnSQL(sql);
  387. #else
  388. sql = "insert into [memberreg3]([memberno],[money],[money2],[date],[time],[clerk],[moneytype])values('" + m_memberno + "','" + dlg.m_money + "','" + dlg.m_money2 + "','" + g_date + "','curtimereplace','" + g_user.name + "','" + dlg.paytype + "')";
  389. #endif
  390. sql += _T("***refresh balance memberreg3") + m_memberno;
  391. g_sendhead.bsql = 1;
  392. g_pMainWnd->ProcessChatMessageRequest2(sql);
  393. if (g_bSendOK == 0)
  394. return;
  395. AfxMessageBox(_T("充值成功!"));
  396. CString filter = _T("[memberno]='") + m_memberno + _T("'");
  397. g_sendhead.bsql = 0;
  398. g_sendhead.code[0] = 68;
  399. g_sendhead.tabcount = 1;
  400. g_pMainWnd->ProcessChatMessageRequest2(filter);
  401. if (g_bSendOK == 0)
  402. {
  403. CDialog::OnCancel();
  404. return;
  405. }
  406. CArray<CStringArray, CStringArray>m_List1array;
  407. DataToArray(&m_List1array);
  408. CenterWindow();
  409. if (m_List1array.GetSize() == 0)
  410. {
  411. AfxMessageBox(_T("没有找到此卡 ") + m_memberno + _T(" 的记录"));
  412. GetDlgItem(IDC_BUTTON20)->EnableWindow(0);
  413. GetDlgItem(IDC_BUTTON30)->EnableWindow(0);
  414. GetDlgItem(IDC_BUTTON21)->EnableWindow(0);
  415. GetDlgItem(IDC_BUTTON24)->EnableWindow(0);
  416. GetDlgItem(IDC_BUTTON25)->EnableWindow(0);
  417. GetDlgItem(IDC_BUTTON26)->EnableWindow(0);
  418. GetDlgItem(IDC_BUTTON29)->EnableWindow(0);
  419. GetDlgItem(IDC_BUTTON27)->EnableWindow(0);
  420. GetDlgItem(IDC_BUTTON31)->EnableWindow(0);
  421. GetDlgItem(IDC_BUTTON28)->EnableWindow(0);
  422. return;
  423. }
  424. m_memberno = m_List1array.ElementAt(0).ElementAt(1);
  425. m_point = m_List1array.ElementAt(0).ElementAt(9);
  426. m_balance = m_List1array.ElementAt(0).ElementAt(12);
  427. m_name = m_List1array.ElementAt(0).ElementAt(2);
  428. m_phone = m_List1array.ElementAt(0).ElementAt(4);
  429. UpdateData(0);
  430. if (atoi(g_cominfoarray.ElementAt(0).ElementAt(122)))
  431. {
  432. CString sql, str, timestamp;
  433. timestamp = _T("msgtimestamp");
  434. {
  435. if (m_name.IsEmpty() == 0 && CheckPhoneType(m_phone) != -1)
  436. {
  437. str.Format(_T("%s您好,您成功充值%d元,现余额:%d元。感谢您的支持!"), m_name, atoi(dlg.m_money) + atoi(dlg.m_money2), atoi(m_balance));
  438. int count = GetLengthEx(str) / MSG_LENGTH;
  439. if (GetLengthEx(str) % MSG_LENGTH)
  440. count++;
  441. CString scount;
  442. scount.Format(_T("%d"), count);
  443. #if JEFF_TEST_ON
  444. sql.Format(INSERT_SENDREG, _T("16"), m_phone, str, timestamp, scount, _T("0"), _T("0"), _T("0"), _T("系统自动发送"));
  445. #else
  446. sql = "insert into sendreg([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('" + m_phone + "','" + str + "','" + timestamp + "','" + scount + "','0','0','0','系统自动发送')";
  447. #endif
  448. }
  449. }
  450. g_sendhead.bsql = 1;
  451. g_pMainWnd->ProcessChatMessageRequest2(sql);
  452. }
  453. }
  454. void MemberCardFunc2::OnButton21() // 充值记录;
  455. {
  456. ReChargeReg dlg;
  457. dlg.m_mode = 0;
  458. dlg.m_name = m_name;
  459. dlg.m_phone = m_phone;
  460. dlg.m_no = m_memberno;
  461. dlg.m_memberno = m_memberno;
  462. dlg.DoModal();
  463. CString filter = _T("[memberno]='") + m_memberno + _T("'");
  464. g_sendhead.bsql = 0;
  465. g_sendhead.code[0] = 68;
  466. g_sendhead.tabcount = 1;
  467. g_pMainWnd->ProcessChatMessageRequest2(filter);
  468. if (g_bSendOK == 0)
  469. {
  470. CDialog::OnCancel();
  471. return;
  472. }
  473. CArray<CStringArray, CStringArray>m_List1array;
  474. DataToArray(&m_List1array);
  475. CenterWindow();
  476. if (m_List1array.GetSize() == 0)
  477. {
  478. AfxMessageBox(_T("没有找到此卡 ") + m_memberno + _T(" 的记录"));
  479. GetDlgItem(IDC_BUTTON20)->EnableWindow(0);
  480. GetDlgItem(IDC_BUTTON30)->EnableWindow(0);
  481. GetDlgItem(IDC_BUTTON21)->EnableWindow(0);
  482. GetDlgItem(IDC_BUTTON24)->EnableWindow(0);
  483. GetDlgItem(IDC_BUTTON25)->EnableWindow(0);
  484. GetDlgItem(IDC_BUTTON26)->EnableWindow(0);
  485. GetDlgItem(IDC_BUTTON27)->EnableWindow(0);
  486. GetDlgItem(IDC_BUTTON31)->EnableWindow(0);
  487. GetDlgItem(IDC_BUTTON28)->EnableWindow(0);
  488. return;
  489. }
  490. m_memberno = m_List1array.ElementAt(0).ElementAt(1);
  491. m_point = m_List1array.ElementAt(0).ElementAt(9);
  492. m_balance = m_List1array.ElementAt(0).ElementAt(12);
  493. m_name = m_List1array.ElementAt(0).ElementAt(2);
  494. m_phone = m_List1array.ElementAt(0).ElementAt(4);
  495. UpdateData(0);
  496. }
  497. void MemberCardFunc2::OnButton24() // 使用记录;
  498. {
  499. // TODO: Add your control notification handler code here
  500. ReChargeReg dlg;
  501. dlg.m_mode = 2;
  502. dlg.m_memberno = m_memberno;
  503. dlg.DoModal();
  504. CString filter = "[memberno]='" + m_memberno + "'";
  505. g_sendhead.bsql = 0;
  506. g_sendhead.code[0] = 68;
  507. g_sendhead.tabcount = 1;
  508. g_pMainWnd->ProcessChatMessageRequest2(filter);
  509. if (g_bSendOK == 0)
  510. {
  511. CDialog::OnCancel();
  512. return;
  513. }
  514. CArray<CStringArray, CStringArray>m_List1array;
  515. DataToArray(&m_List1array);
  516. CenterWindow();
  517. if (m_List1array.GetSize() == 0)
  518. {
  519. AfxMessageBox("没有找到此卡 " + m_memberno + " 的记录");
  520. GetDlgItem(IDC_BUTTON20)->EnableWindow(0);
  521. GetDlgItem(IDC_BUTTON30)->EnableWindow(0);
  522. GetDlgItem(IDC_BUTTON21)->EnableWindow(0);
  523. GetDlgItem(IDC_BUTTON24)->EnableWindow(0);
  524. GetDlgItem(IDC_BUTTON25)->EnableWindow(0);
  525. GetDlgItem(IDC_BUTTON26)->EnableWindow(0);
  526. GetDlgItem(IDC_BUTTON27)->EnableWindow(0);
  527. GetDlgItem(IDC_BUTTON31)->EnableWindow(0);
  528. GetDlgItem(IDC_BUTTON28)->EnableWindow(0);
  529. return;
  530. }
  531. m_memberno = m_List1array.ElementAt(0).ElementAt(1);
  532. m_point = m_List1array.ElementAt(0).ElementAt(9);
  533. m_balance = m_List1array.ElementAt(0).ElementAt(12);
  534. m_name = m_List1array.ElementAt(0).ElementAt(2);
  535. m_phone = m_List1array.ElementAt(0).ElementAt(4);
  536. UpdateData(0);
  537. }
  538. void MemberCardFunc2::OnButton25() // 发放现金子卡;
  539. {
  540. // TODO: Add your control notification handler code here
  541. if (IsHasRights2new(18) == 0)return;
  542. // TODO: Add your control notification handler code here
  543. InputCard3Dlg dlg;
  544. dlg.m_name = m_name;
  545. dlg.m_no = m_memberno;
  546. dlg.DoModal();
  547. }
  548. void MemberCardFunc2::OnButton27() // 为子卡充值;
  549. {
  550. ReCharge dlg;
  551. dlg.m_mode = 1;
  552. dlg.m_name = m_name;
  553. dlg.m_balance = m_balance;
  554. dlg.m_no = m_memberno;
  555. dlg.m_card2no = m_card2no;
  556. if (dlg.DoModal() != IDOK)return;
  557. CString sql;
  558. sql = "insert into [memberreg4]([memberno],[card2no],[money],[date],[clerk])values('" + m_memberno + "','" + m_card2no + "','" + dlg.m_money + "','" + g_date + "','" + g_user.name + "')";
  559. sql += "***refresh balance memberreg4" + m_memberno + ";" + m_card2no;
  560. g_sendhead.bsql = 1;
  561. g_pMainWnd->ProcessChatMessageRequest2(sql);
  562. if (g_bSendOK == 0)
  563. return;
  564. CString filter = "[memberno]='" + m_memberno + "'";
  565. g_sendhead.bsql = 0;
  566. g_sendhead.code[0] = 68;
  567. g_sendhead.tabcount = 1;
  568. g_pMainWnd->ProcessChatMessageRequest2(filter);
  569. if (g_bSendOK == 0)
  570. {
  571. CDialog::OnCancel();
  572. return;
  573. }
  574. CArray<CStringArray, CStringArray>m_List1array;
  575. DataToArray(&m_List1array);
  576. CenterWindow();
  577. if (m_List1array.GetSize() == 0)
  578. {
  579. AfxMessageBox("没有找到此卡 " + m_memberno + " 的记录");
  580. GetDlgItem(IDC_BUTTON20)->EnableWindow(0);
  581. GetDlgItem(IDC_BUTTON30)->EnableWindow(0);
  582. GetDlgItem(IDC_BUTTON21)->EnableWindow(0);
  583. GetDlgItem(IDC_BUTTON24)->EnableWindow(0);
  584. GetDlgItem(IDC_BUTTON25)->EnableWindow(0);
  585. GetDlgItem(IDC_BUTTON26)->EnableWindow(0);
  586. GetDlgItem(IDC_BUTTON27)->EnableWindow(0);
  587. GetDlgItem(IDC_BUTTON31)->EnableWindow(0);
  588. GetDlgItem(IDC_BUTTON28)->EnableWindow(0);
  589. return;
  590. }
  591. m_memberno = m_List1array.ElementAt(0).ElementAt(1);
  592. m_point = m_List1array.ElementAt(0).ElementAt(9);
  593. m_balance = m_List1array.ElementAt(0).ElementAt(12);
  594. m_name = m_List1array.ElementAt(0).ElementAt(2);
  595. m_phone = m_List1array.ElementAt(0).ElementAt(4);
  596. UpdateData(0);
  597. if (atoi(g_cominfoarray.ElementAt(0).ElementAt(122)))
  598. {
  599. CString sql, str, timestamp;
  600. timestamp = "msgtimestamp";
  601. {
  602. if (m_name.IsEmpty() == 0 && CheckPhoneType(m_phone) != -1)
  603. {
  604. str.Format("%s您好,您为卡号为%s的子卡充值%d元,现余额:%d元。感谢您的支持!", m_name, m_card2no, atoi(dlg.m_money), atoi(m_balance));
  605. int count = GetLengthEx(str) / MSG_LENGTH;
  606. if (GetLengthEx(str) % MSG_LENGTH)
  607. count++;
  608. CString scount;
  609. scount.Format("%d", count);
  610. #if JEFF_TEST_ON
  611. sql.Format(INSERT_SENDREG, _T("16"), m_phone, str, timestamp, scount, _T("0"), _T("0"), _T("0"), _T("系统自动发送"));
  612. #else
  613. sql = "insert into sendreg([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('" + m_phone + "','" + str + "','" + timestamp + "','" + scount + "','0','0','0','系统自动发送')";
  614. #endif
  615. }
  616. }
  617. g_sendhead.bsql = 1;
  618. g_pMainWnd->ProcessChatMessageRequest2(sql);
  619. }
  620. }
  621. void MemberCardFunc2::OnButton28() // 子卡充值记录;
  622. {
  623. ReChargeReg dlg;
  624. dlg.m_mode = 1;
  625. dlg.m_memberno = m_memberno;
  626. dlg.m_card2no = m_card2no;
  627. dlg.DoModal();
  628. if (dlg.m_bNeedRefsh == 0)return;
  629. CString filter = "[memberno]='" + m_memberno + "'";
  630. g_sendhead.bsql = 0;
  631. g_sendhead.code[0] = 68;
  632. g_sendhead.tabcount = 1;
  633. g_pMainWnd->ProcessChatMessageRequest2(filter);
  634. if (g_bSendOK == 0)
  635. {
  636. CDialog::OnCancel();
  637. return;
  638. }
  639. CArray<CStringArray, CStringArray>m_List1array;
  640. DataToArray(&m_List1array);
  641. CenterWindow();
  642. if (m_List1array.GetSize() == 0)
  643. {
  644. AfxMessageBox("没有找到此卡 " + m_memberno + " 的记录");
  645. GetDlgItem(IDC_BUTTON20)->EnableWindow(0);
  646. GetDlgItem(IDC_BUTTON30)->EnableWindow(0);
  647. GetDlgItem(IDC_BUTTON21)->EnableWindow(0);
  648. GetDlgItem(IDC_BUTTON24)->EnableWindow(0);
  649. GetDlgItem(IDC_BUTTON25)->EnableWindow(0);
  650. GetDlgItem(IDC_BUTTON26)->EnableWindow(0);
  651. GetDlgItem(IDC_BUTTON27)->EnableWindow(0);
  652. GetDlgItem(IDC_BUTTON31)->EnableWindow(0);
  653. GetDlgItem(IDC_BUTTON28)->EnableWindow(0);
  654. return;
  655. }
  656. m_memberno = m_List1array.ElementAt(0).ElementAt(1);
  657. m_point = m_List1array.ElementAt(0).ElementAt(9);
  658. m_balance = m_List1array.ElementAt(0).ElementAt(12);
  659. m_name = m_List1array.ElementAt(0).ElementAt(2);
  660. m_phone = m_List1array.ElementAt(0).ElementAt(4);
  661. UpdateData(0);
  662. }
  663. void MemberCardFunc2::OnButton26() // 子卡使用记录;
  664. {
  665. ReChargeReg dlg;
  666. dlg.m_mode = 3;
  667. dlg.m_memberno = m_memberno;
  668. dlg.m_card2no = m_card2no;
  669. dlg.DoModal();
  670. }
  671. void MemberCardFunc2::OnButton29() // 注销此卡;
  672. {
  673. if (IsHasRights2new(49) == 0)return;
  674. if (AfxMessageBox("注销后将不可恢复, 确认吗?", MB_YESNO | MB_ICONINFORMATION) != IDYES)return;
  675. CString filter;
  676. g_sendhead.bsql = 0;
  677. filter = "[memberno]='" + m_card2no + "'";
  678. g_sendhead.code[0] = 166;
  679. g_sendhead.tabcount = 1;
  680. g_pMainWnd->ProcessChatMessageRequest2(filter); if (g_bSendOK == 0)return;
  681. DataToArray(&g_List1array);
  682. int usedmoney = 0;
  683. for (int i = 0; i < g_List1array.GetSize(); i++)
  684. {
  685. usedmoney += atoi(g_List1array.ElementAt(i).ElementAt(3));
  686. }
  687. CString sql;
  688. sql = "delete from membercard3 where [memberno]='" + m_memberno + "' and [card2no]='" + m_card2no + "'";
  689. sql += "***delete from memberreg4 where [memberno]='" + m_memberno + "' and [card2no]='" + m_card2no + "'";
  690. sql += "***delete from membercard3childusereg where [memberno]='" + m_card2no + "'";
  691. if (usedmoney)
  692. {
  693. CString remark, money;
  694. money.Format("%d", usedmoney);
  695. remark.Format("注销子卡%s扣费", m_card2no);
  696. sql += "***insert into [membercard3usereg]([memberno],[dindanid],[money],[date])values('" + m_memberno + "','" + remark + "','" + money + "','" + g_date + "')";
  697. sql += "***refresh balance memberreg3"; sql += m_memberno;
  698. }
  699. g_sendhead.bsql = 1;
  700. g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
  701. AfxMessageBox("注销成功!"); CDialog::OnCancel();
  702. }
  703. void MemberCardFunc2::OnButton31() // 为子卡提现;
  704. {
  705. if (m_psw != "")
  706. {
  707. AfxMessageBox("此卡已设置密码,请输入密码?", MB_ICONINFORMATION);
  708. InputPsw2 dlg;
  709. if (dlg.DoModal() != IDOK)return;
  710. if (m_psw != dlg.m_psw)
  711. {
  712. AfxMessageBox("密码错误! ", MB_ICONINFORMATION);
  713. return;
  714. }
  715. }
  716. ReCharge dlg;
  717. dlg.m_mode = 1;
  718. dlg.m_bout = 1;
  719. dlg.m_name = m_name;
  720. dlg.m_balance = m_card2balance;
  721. dlg.m_no = m_memberno;
  722. dlg.m_card2no = m_card2no;
  723. if (dlg.DoModal() != IDOK)return;
  724. CString sql;
  725. CString m_id = "提现(" + g_user.name + ")";
  726. sql = "insert into [membercard3childusereg]([memberno],[dindanid],[money],[date])values('" + m_card2no + "','" + m_id + "','" + dlg.m_money + "','" + g_date + "')";
  727. sql += "***refresh balance memberreg4" + m_memberno + ";" + m_card2no;
  728. g_sendhead.bsql = 1;
  729. g_pMainWnd->ProcessChatMessageRequest2(sql);
  730. if (g_bSendOK == 0)
  731. return;
  732. sql.Format("%d", atoi(m_card2balance) - atoi(dlg.m_money));
  733. m_card2balance = sql;
  734. CString filter = "[memberno]='" + m_memberno + "'";
  735. g_sendhead.bsql = 0;
  736. g_sendhead.code[0] = 68;
  737. g_sendhead.tabcount = 1;
  738. g_pMainWnd->ProcessChatMessageRequest2(filter);
  739. if (g_bSendOK == 0)
  740. {
  741. CDialog::OnCancel();
  742. return;
  743. }
  744. CArray<CStringArray, CStringArray>m_List1array;
  745. DataToArray(&m_List1array);
  746. CenterWindow();
  747. if (m_List1array.GetSize() == 0)
  748. {
  749. AfxMessageBox("没有找到此卡 " + m_memberno + " 的记录");
  750. GetDlgItem(IDC_BUTTON20)->EnableWindow(0);
  751. GetDlgItem(IDC_BUTTON30)->EnableWindow(0);
  752. GetDlgItem(IDC_BUTTON21)->EnableWindow(0);
  753. GetDlgItem(IDC_BUTTON24)->EnableWindow(0);
  754. GetDlgItem(IDC_BUTTON25)->EnableWindow(0);
  755. GetDlgItem(IDC_BUTTON26)->EnableWindow(0);
  756. GetDlgItem(IDC_BUTTON27)->EnableWindow(0);
  757. GetDlgItem(IDC_BUTTON31)->EnableWindow(0);
  758. GetDlgItem(IDC_BUTTON28)->EnableWindow(0);
  759. return;
  760. }
  761. m_memberno = m_List1array.ElementAt(0).ElementAt(1);
  762. m_point = m_List1array.ElementAt(0).ElementAt(9);
  763. m_balance = m_List1array.ElementAt(0).ElementAt(12);
  764. m_name = m_List1array.ElementAt(0).ElementAt(2);
  765. m_phone = m_List1array.ElementAt(0).ElementAt(4);
  766. UpdateData(0);
  767. }
  768. void MemberCardFunc2::OnButton33() // 消费密码;
  769. {
  770. if (m_psw != "")
  771. {
  772. if (AfxMessageBox("此卡已设置密码,是否修改密码?", MB_ICONINFORMATION | MB_YESNO) != IDYES)return;
  773. InputPsw2 dlg;
  774. dlg.m_mode = 1;
  775. if (dlg.DoModal() != IDOK)return;
  776. if (m_psw != dlg.m_psw)
  777. {
  778. if (IsHasRights2new(49))
  779. {
  780. if (AfxMessageBox("密码错误! 是否重置密码?", MB_ICONINFORMATION | MB_YESNO) != IDYES)return;
  781. }
  782. else
  783. {
  784. AfxMessageBox("密码错误! 请重新输入或通知管理员重置密码。");
  785. return;
  786. }
  787. }
  788. }
  789. ll: InputPsw2 dlg;
  790. if (dlg.DoModal() != IDOK)return;
  791. CString psw1 = dlg.m_psw;
  792. dlg.m_psw = "";
  793. if (dlg.DoModal() != IDOK)return;
  794. if (dlg.m_psw != psw1)
  795. {
  796. AfxMessageBox("前后密码不一致,请重新输入!");
  797. goto ll;
  798. }
  799. CString sql;
  800. if (!m_card2no.IsEmpty())//子卡
  801. {
  802. sql = "update membercard3 set psw='" + psw1 + "' where [memberno]='" + m_memberno + "' and [card2no]='" + m_card2no + "'";
  803. }
  804. else
  805. {
  806. sql = "update membermanage set psw='" + psw1 + "' where [memberno]='" + m_memberno + "' ";
  807. }
  808. g_sendhead.bsql = 1;
  809. g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
  810. AfxMessageBox("设置密码成功!");
  811. m_psw = psw1;
  812. }
  813. void MemberCardFunc2::OnDestroy()
  814. {
  815. CDialog::OnDestroy();
  816. // TODO: Add your message handler code here
  817. if (g_bAllBranch)
  818. {
  819. g_pMainWnd->OnDisconnect(); g_bBranchModify = 0; g_branchip = g_branchname = "";
  820. }
  821. }
  822. void MemberCardFunc2::OnBnClickedGetphone1()
  823. {
  824. m_phone = m_strPhone;
  825. UpdateData(FALSE);
  826. WriteOptLog(_T("查看卡号[%s]客人手机"), m_memberno);
  827. }