MemberCardFunc2.cpp 26 KB

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