MemberCardFunc2.cpp 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887
  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. // sql="insert into [memberreg3]([memberno],[money],[money2],[date],[clerk],[moneytype])values('"+m_memberno+"','"+dlg.m_money+"','"+dlg.m_money2+"','"+g_date+"','"+g_user.name+"','"+dlg.paytype+"')";
  363. #if JEFF_TEST_ON
  364. CSQLStatementImpl::GetInstancePtr()->ReSetKind(_T("[memberreg3]"), NULL, KIND_INSERT, 10);
  365. CSQLStatementImpl::GetInstancePtr()->AddElement(_T("[memberno]"), m_memberno);
  366. CSQLStatementImpl::GetInstancePtr()->AddElement(_T("[money]"), dlg.m_money);
  367. CSQLStatementImpl::GetInstancePtr()->AddElement(_T("[money2]"), dlg.m_money2);
  368. CSQLStatementImpl::GetInstancePtr()->AddElement(_T("[date]"), g_date);
  369. CSQLStatementImpl::GetInstancePtr()->AddElement(_T("[time]"), _T("curtimereplace"));
  370. CSQLStatementImpl::GetInstancePtr()->AddElement(_T("[clerk]"), g_user.name);
  371. CSQLStatementImpl::GetInstancePtr()->AddElement(_T("[moneytype]"), dlg.paytype);
  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 += "***refresh balance memberreg3" + m_memberno;
  377. g_sendhead.bsql = 1;
  378. g_pMainWnd->ProcessChatMessageRequest2(sql);
  379. if (g_bSendOK == 0)return;
  380. AfxMessageBox("充值成功!");
  381. CString filter = "[memberno]='" + m_memberno + "'";
  382. g_sendhead.bsql = 0;
  383. g_sendhead.code[0] = 68;
  384. g_sendhead.tabcount = 1;
  385. g_pMainWnd->ProcessChatMessageRequest2(filter);
  386. if (g_bSendOK == 0)
  387. {
  388. CDialog::OnCancel();
  389. return;
  390. }
  391. CArray<CStringArray, CStringArray>m_List1array;
  392. DataToArray(&m_List1array);
  393. CenterWindow();
  394. if (m_List1array.GetSize() == 0)
  395. {
  396. AfxMessageBox("没有找到此卡 " + m_memberno + " 的记录");
  397. GetDlgItem(IDC_BUTTON20)->EnableWindow(0);
  398. GetDlgItem(IDC_BUTTON30)->EnableWindow(0);
  399. GetDlgItem(IDC_BUTTON21)->EnableWindow(0);
  400. GetDlgItem(IDC_BUTTON24)->EnableWindow(0);
  401. GetDlgItem(IDC_BUTTON25)->EnableWindow(0);
  402. GetDlgItem(IDC_BUTTON26)->EnableWindow(0);
  403. GetDlgItem(IDC_BUTTON29)->EnableWindow(0);
  404. GetDlgItem(IDC_BUTTON27)->EnableWindow(0);
  405. GetDlgItem(IDC_BUTTON31)->EnableWindow(0);
  406. GetDlgItem(IDC_BUTTON28)->EnableWindow(0);
  407. return;
  408. }
  409. m_memberno = m_List1array.ElementAt(0).ElementAt(1);
  410. m_point = m_List1array.ElementAt(0).ElementAt(9);
  411. m_balance = m_List1array.ElementAt(0).ElementAt(12);
  412. m_name = m_List1array.ElementAt(0).ElementAt(2);
  413. m_phone = m_List1array.ElementAt(0).ElementAt(4);
  414. UpdateData(0);
  415. if (atoi(g_cominfoarray.ElementAt(0).ElementAt(122)))
  416. {
  417. CString sql, str, timestamp;
  418. timestamp = "msgtimestamp";
  419. {
  420. if (m_name.IsEmpty() == 0 && CheckPhoneType(m_phone) != -1)
  421. {
  422. str.Format("%s您好,您成功充值%d元,现余额:%d元。感谢您的支持!", m_name, atoi(dlg.m_money) + atoi(dlg.m_money2), atoi(m_balance));
  423. int count = GetLengthEx(str) / MSG_LENGTH;
  424. if (GetLengthEx(str) % MSG_LENGTH)
  425. count++;
  426. CString scount;
  427. scount.Format("%d", count);
  428. #if JEFF_TEST_ON
  429. sql.Format(INSERT_SENDREG, _T("16"), m_phone, str, timestamp, scount, _T("0"), _T("0"), _T("0"), _T("系统自动发送"));
  430. #else
  431. sql = "insert into sendreg([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('" + m_phone + "','" + str + "','" + timestamp + "','" + scount + "','0','0','0','系统自动发送')";
  432. #endif
  433. }
  434. }
  435. g_sendhead.bsql = 1;
  436. g_pMainWnd->ProcessChatMessageRequest2(sql);
  437. }
  438. }
  439. void MemberCardFunc2::OnButton21() // 充值记录;
  440. {
  441. ReChargeReg dlg;
  442. dlg.m_mode = 0;
  443. dlg.m_name = m_name;
  444. dlg.m_phone = m_phone;
  445. dlg.m_no = m_memberno;
  446. dlg.m_memberno = m_memberno;
  447. dlg.DoModal();
  448. CString filter = "[memberno]='" + m_memberno + "'";
  449. g_sendhead.bsql = 0;
  450. g_sendhead.code[0] = 68;
  451. g_sendhead.tabcount = 1;
  452. g_pMainWnd->ProcessChatMessageRequest2(filter);
  453. if (g_bSendOK == 0)
  454. {
  455. CDialog::OnCancel();
  456. return;
  457. }
  458. CArray<CStringArray, CStringArray>m_List1array;
  459. DataToArray(&m_List1array);
  460. CenterWindow();
  461. if (m_List1array.GetSize() == 0)
  462. {
  463. AfxMessageBox("没有找到此卡 " + m_memberno + " 的记录");
  464. GetDlgItem(IDC_BUTTON20)->EnableWindow(0);
  465. GetDlgItem(IDC_BUTTON30)->EnableWindow(0);
  466. GetDlgItem(IDC_BUTTON21)->EnableWindow(0);
  467. GetDlgItem(IDC_BUTTON24)->EnableWindow(0);
  468. GetDlgItem(IDC_BUTTON25)->EnableWindow(0);
  469. GetDlgItem(IDC_BUTTON26)->EnableWindow(0);
  470. GetDlgItem(IDC_BUTTON27)->EnableWindow(0);
  471. GetDlgItem(IDC_BUTTON31)->EnableWindow(0);
  472. GetDlgItem(IDC_BUTTON28)->EnableWindow(0);
  473. return;
  474. }
  475. m_memberno = m_List1array.ElementAt(0).ElementAt(1);
  476. m_point = m_List1array.ElementAt(0).ElementAt(9);
  477. m_balance = m_List1array.ElementAt(0).ElementAt(12);
  478. m_name = m_List1array.ElementAt(0).ElementAt(2);
  479. m_phone = m_List1array.ElementAt(0).ElementAt(4);
  480. UpdateData(0);
  481. }
  482. void MemberCardFunc2::OnButton24() // 使用记录;
  483. {
  484. // TODO: Add your control notification handler code here
  485. ReChargeReg dlg;
  486. dlg.m_mode = 2;
  487. dlg.m_memberno = m_memberno;
  488. dlg.DoModal();
  489. CString filter = "[memberno]='" + m_memberno + "'";
  490. g_sendhead.bsql = 0;
  491. g_sendhead.code[0] = 68;
  492. g_sendhead.tabcount = 1;
  493. g_pMainWnd->ProcessChatMessageRequest2(filter);
  494. if (g_bSendOK == 0)
  495. {
  496. CDialog::OnCancel();
  497. return;
  498. }
  499. CArray<CStringArray, CStringArray>m_List1array;
  500. DataToArray(&m_List1array);
  501. CenterWindow();
  502. if (m_List1array.GetSize() == 0)
  503. {
  504. AfxMessageBox("没有找到此卡 " + m_memberno + " 的记录");
  505. GetDlgItem(IDC_BUTTON20)->EnableWindow(0);
  506. GetDlgItem(IDC_BUTTON30)->EnableWindow(0);
  507. GetDlgItem(IDC_BUTTON21)->EnableWindow(0);
  508. GetDlgItem(IDC_BUTTON24)->EnableWindow(0);
  509. GetDlgItem(IDC_BUTTON25)->EnableWindow(0);
  510. GetDlgItem(IDC_BUTTON26)->EnableWindow(0);
  511. GetDlgItem(IDC_BUTTON27)->EnableWindow(0);
  512. GetDlgItem(IDC_BUTTON31)->EnableWindow(0);
  513. GetDlgItem(IDC_BUTTON28)->EnableWindow(0);
  514. return;
  515. }
  516. m_memberno = m_List1array.ElementAt(0).ElementAt(1);
  517. m_point = m_List1array.ElementAt(0).ElementAt(9);
  518. m_balance = m_List1array.ElementAt(0).ElementAt(12);
  519. m_name = m_List1array.ElementAt(0).ElementAt(2);
  520. m_phone = m_List1array.ElementAt(0).ElementAt(4);
  521. UpdateData(0);
  522. }
  523. void MemberCardFunc2::OnButton25() // 发放现金子卡;
  524. {
  525. // TODO: Add your control notification handler code here
  526. if (IsHasRights2new(18) == 0)return;
  527. // TODO: Add your control notification handler code here
  528. InputCard3Dlg dlg;
  529. dlg.m_name = m_name;
  530. dlg.m_no = m_memberno;
  531. dlg.DoModal();
  532. }
  533. void MemberCardFunc2::OnButton27() // 为子卡充值;
  534. {
  535. ReCharge dlg;
  536. dlg.m_mode = 1;
  537. dlg.m_name = m_name;
  538. dlg.m_balance = m_balance;
  539. dlg.m_no = m_memberno;
  540. dlg.m_card2no = m_card2no;
  541. if (dlg.DoModal() != IDOK)return;
  542. CString sql;
  543. sql = "insert into [memberreg4]([memberno],[card2no],[money],[date],[clerk])values('" + m_memberno + "','" + m_card2no + "','" + dlg.m_money + "','" + g_date + "','" + g_user.name + "')";
  544. sql += "***refresh balance memberreg4" + m_memberno + ";" + m_card2no;
  545. g_sendhead.bsql = 1;
  546. g_pMainWnd->ProcessChatMessageRequest2(sql);
  547. if (g_bSendOK == 0)
  548. return;
  549. CString filter = "[memberno]='" + m_memberno + "'";
  550. g_sendhead.bsql = 0;
  551. g_sendhead.code[0] = 68;
  552. g_sendhead.tabcount = 1;
  553. g_pMainWnd->ProcessChatMessageRequest2(filter);
  554. if (g_bSendOK == 0)
  555. {
  556. CDialog::OnCancel();
  557. return;
  558. }
  559. CArray<CStringArray, CStringArray>m_List1array;
  560. DataToArray(&m_List1array);
  561. CenterWindow();
  562. if (m_List1array.GetSize() == 0)
  563. {
  564. AfxMessageBox("没有找到此卡 " + m_memberno + " 的记录");
  565. GetDlgItem(IDC_BUTTON20)->EnableWindow(0);
  566. GetDlgItem(IDC_BUTTON30)->EnableWindow(0);
  567. GetDlgItem(IDC_BUTTON21)->EnableWindow(0);
  568. GetDlgItem(IDC_BUTTON24)->EnableWindow(0);
  569. GetDlgItem(IDC_BUTTON25)->EnableWindow(0);
  570. GetDlgItem(IDC_BUTTON26)->EnableWindow(0);
  571. GetDlgItem(IDC_BUTTON27)->EnableWindow(0);
  572. GetDlgItem(IDC_BUTTON31)->EnableWindow(0);
  573. GetDlgItem(IDC_BUTTON28)->EnableWindow(0);
  574. return;
  575. }
  576. m_memberno = m_List1array.ElementAt(0).ElementAt(1);
  577. m_point = m_List1array.ElementAt(0).ElementAt(9);
  578. m_balance = m_List1array.ElementAt(0).ElementAt(12);
  579. m_name = m_List1array.ElementAt(0).ElementAt(2);
  580. m_phone = m_List1array.ElementAt(0).ElementAt(4);
  581. UpdateData(0);
  582. if (atoi(g_cominfoarray.ElementAt(0).ElementAt(122)))
  583. {
  584. CString sql, str, timestamp;
  585. timestamp = "msgtimestamp";
  586. {
  587. if (m_name.IsEmpty() == 0 && CheckPhoneType(m_phone) != -1)
  588. {
  589. str.Format("%s您好,您为卡号为%s的子卡充值%d元,现余额:%d元。感谢您的支持!", m_name, m_card2no, atoi(dlg.m_money), atoi(m_balance));
  590. int count = GetLengthEx(str) / MSG_LENGTH;
  591. if (GetLengthEx(str) % MSG_LENGTH)
  592. count++;
  593. CString scount;
  594. scount.Format("%d", count);
  595. #if JEFF_TEST_ON
  596. sql.Format(INSERT_SENDREG, _T("16"), m_phone, str, timestamp, scount, _T("0"), _T("0"), _T("0"), _T("系统自动发送"));
  597. #else
  598. sql = "insert into sendreg([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('" + m_phone + "','" + str + "','" + timestamp + "','" + scount + "','0','0','0','系统自动发送')";
  599. #endif
  600. }
  601. }
  602. g_sendhead.bsql = 1;
  603. g_pMainWnd->ProcessChatMessageRequest2(sql);
  604. }
  605. }
  606. void MemberCardFunc2::OnButton28() // 子卡充值记录;
  607. {
  608. ReChargeReg dlg;
  609. dlg.m_mode = 1;
  610. dlg.m_memberno = m_memberno;
  611. dlg.m_card2no = m_card2no;
  612. dlg.DoModal();
  613. if (dlg.m_bNeedRefsh == 0)return;
  614. CString filter = "[memberno]='" + m_memberno + "'";
  615. g_sendhead.bsql = 0;
  616. g_sendhead.code[0] = 68;
  617. g_sendhead.tabcount = 1;
  618. g_pMainWnd->ProcessChatMessageRequest2(filter);
  619. if (g_bSendOK == 0)
  620. {
  621. CDialog::OnCancel();
  622. return;
  623. }
  624. CArray<CStringArray, CStringArray>m_List1array;
  625. DataToArray(&m_List1array);
  626. CenterWindow();
  627. if (m_List1array.GetSize() == 0)
  628. {
  629. AfxMessageBox("没有找到此卡 " + m_memberno + " 的记录");
  630. GetDlgItem(IDC_BUTTON20)->EnableWindow(0);
  631. GetDlgItem(IDC_BUTTON30)->EnableWindow(0);
  632. GetDlgItem(IDC_BUTTON21)->EnableWindow(0);
  633. GetDlgItem(IDC_BUTTON24)->EnableWindow(0);
  634. GetDlgItem(IDC_BUTTON25)->EnableWindow(0);
  635. GetDlgItem(IDC_BUTTON26)->EnableWindow(0);
  636. GetDlgItem(IDC_BUTTON27)->EnableWindow(0);
  637. GetDlgItem(IDC_BUTTON31)->EnableWindow(0);
  638. GetDlgItem(IDC_BUTTON28)->EnableWindow(0);
  639. return;
  640. }
  641. m_memberno = m_List1array.ElementAt(0).ElementAt(1);
  642. m_point = m_List1array.ElementAt(0).ElementAt(9);
  643. m_balance = m_List1array.ElementAt(0).ElementAt(12);
  644. m_name = m_List1array.ElementAt(0).ElementAt(2);
  645. m_phone = m_List1array.ElementAt(0).ElementAt(4);
  646. UpdateData(0);
  647. }
  648. void MemberCardFunc2::OnButton26() // 子卡使用记录;
  649. {
  650. ReChargeReg dlg;
  651. dlg.m_mode = 3;
  652. dlg.m_memberno = m_memberno;
  653. dlg.m_card2no = m_card2no;
  654. dlg.DoModal();
  655. }
  656. void MemberCardFunc2::OnButton29() // 注销此卡;
  657. {
  658. if (IsHasRights2new(49) == 0)return;
  659. if (AfxMessageBox("注销后将不可恢复, 确认吗?", MB_YESNO | MB_ICONINFORMATION) != IDYES)return;
  660. CString filter;
  661. g_sendhead.bsql = 0;
  662. filter = "[memberno]='" + m_card2no + "'";
  663. g_sendhead.code[0] = 166;
  664. g_sendhead.tabcount = 1;
  665. g_pMainWnd->ProcessChatMessageRequest2(filter); if (g_bSendOK == 0)return;
  666. DataToArray(&g_List1array);
  667. int usedmoney = 0;
  668. for (int i = 0; i < g_List1array.GetSize(); i++)
  669. {
  670. usedmoney += atoi(g_List1array.ElementAt(i).ElementAt(3));
  671. }
  672. CString sql;
  673. sql = "delete from membercard3 where [memberno]='" + m_memberno + "' and [card2no]='" + m_card2no + "'";
  674. sql += "***delete from memberreg4 where [memberno]='" + m_memberno + "' and [card2no]='" + m_card2no + "'";
  675. sql += "***delete from membercard3childusereg where [memberno]='" + m_card2no + "'";
  676. if (usedmoney)
  677. {
  678. CString remark, money;
  679. money.Format("%d", usedmoney);
  680. remark.Format("注销子卡%s扣费", m_card2no);
  681. sql += "***insert into [membercard3usereg]([memberno],[dindanid],[money],[date])values('" + m_memberno + "','" + remark + "','" + money + "','" + g_date + "')";
  682. sql += "***refresh balance memberreg3"; sql += m_memberno;
  683. }
  684. g_sendhead.bsql = 1;
  685. g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
  686. AfxMessageBox("注销成功!"); CDialog::OnCancel();
  687. }
  688. void MemberCardFunc2::OnButton31() // 为子卡提现;
  689. {
  690. if (m_psw != "")
  691. {
  692. AfxMessageBox("此卡已设置密码,请输入密码?", MB_ICONINFORMATION);
  693. InputPsw2 dlg;
  694. if (dlg.DoModal() != IDOK)return;
  695. if (m_psw != dlg.m_psw)
  696. {
  697. AfxMessageBox("密码错误! ", MB_ICONINFORMATION);
  698. return;
  699. }
  700. }
  701. ReCharge dlg;
  702. dlg.m_mode = 1;
  703. dlg.m_bout = 1;
  704. dlg.m_name = m_name;
  705. dlg.m_balance = m_card2balance;
  706. dlg.m_no = m_memberno;
  707. dlg.m_card2no = m_card2no;
  708. if (dlg.DoModal() != IDOK)return;
  709. CString sql;
  710. CString m_id = "提现(" + g_user.name + ")";
  711. sql = "insert into [membercard3childusereg]([memberno],[dindanid],[money],[date])values('" + m_card2no + "','" + m_id + "','" + dlg.m_money + "','" + g_date + "')";
  712. sql += "***refresh balance memberreg4" + m_memberno + ";" + m_card2no;
  713. g_sendhead.bsql = 1;
  714. g_pMainWnd->ProcessChatMessageRequest2(sql);
  715. if (g_bSendOK == 0)
  716. return;
  717. sql.Format("%d", atoi(m_card2balance) - atoi(dlg.m_money));
  718. m_card2balance = sql;
  719. CString filter = "[memberno]='" + m_memberno + "'";
  720. g_sendhead.bsql = 0;
  721. g_sendhead.code[0] = 68;
  722. g_sendhead.tabcount = 1;
  723. g_pMainWnd->ProcessChatMessageRequest2(filter);
  724. if (g_bSendOK == 0)
  725. {
  726. CDialog::OnCancel();
  727. return;
  728. }
  729. CArray<CStringArray, CStringArray>m_List1array;
  730. DataToArray(&m_List1array);
  731. CenterWindow();
  732. if (m_List1array.GetSize() == 0)
  733. {
  734. AfxMessageBox("没有找到此卡 " + m_memberno + " 的记录");
  735. GetDlgItem(IDC_BUTTON20)->EnableWindow(0);
  736. GetDlgItem(IDC_BUTTON30)->EnableWindow(0);
  737. GetDlgItem(IDC_BUTTON21)->EnableWindow(0);
  738. GetDlgItem(IDC_BUTTON24)->EnableWindow(0);
  739. GetDlgItem(IDC_BUTTON25)->EnableWindow(0);
  740. GetDlgItem(IDC_BUTTON26)->EnableWindow(0);
  741. GetDlgItem(IDC_BUTTON27)->EnableWindow(0);
  742. GetDlgItem(IDC_BUTTON31)->EnableWindow(0);
  743. GetDlgItem(IDC_BUTTON28)->EnableWindow(0);
  744. return;
  745. }
  746. m_memberno = m_List1array.ElementAt(0).ElementAt(1);
  747. m_point = m_List1array.ElementAt(0).ElementAt(9);
  748. m_balance = m_List1array.ElementAt(0).ElementAt(12);
  749. m_name = m_List1array.ElementAt(0).ElementAt(2);
  750. m_phone = m_List1array.ElementAt(0).ElementAt(4);
  751. UpdateData(0);
  752. }
  753. void MemberCardFunc2::OnButton33() // 消费密码;
  754. {
  755. if (m_psw != "")
  756. {
  757. if (AfxMessageBox("此卡已设置密码,是否修改密码?", MB_ICONINFORMATION | MB_YESNO) != IDYES)return;
  758. InputPsw2 dlg;
  759. dlg.m_mode = 1;
  760. if (dlg.DoModal() != IDOK)return;
  761. if (m_psw != dlg.m_psw)
  762. {
  763. if (IsHasRights2new(49))
  764. {
  765. if (AfxMessageBox("密码错误! 是否重置密码?", MB_ICONINFORMATION | MB_YESNO) != IDYES)return;
  766. }
  767. else
  768. {
  769. AfxMessageBox("密码错误! 请重新输入或通知管理员重置密码。");
  770. return;
  771. }
  772. }
  773. }
  774. ll: InputPsw2 dlg;
  775. if (dlg.DoModal() != IDOK)return;
  776. CString psw1 = dlg.m_psw;
  777. dlg.m_psw = "";
  778. if (dlg.DoModal() != IDOK)return;
  779. if (dlg.m_psw != psw1)
  780. {
  781. AfxMessageBox("前后密码不一致,请重新输入!");
  782. goto ll;
  783. }
  784. CString sql;
  785. if (!m_card2no.IsEmpty())//子卡
  786. {
  787. sql = "update membercard3 set psw='" + psw1 + "' where [memberno]='" + m_memberno + "' and [card2no]='" + m_card2no + "'";
  788. }
  789. else
  790. {
  791. sql = "update membermanage set psw='" + psw1 + "' where [memberno]='" + m_memberno + "' ";
  792. }
  793. g_sendhead.bsql = 1;
  794. g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
  795. AfxMessageBox("设置密码成功!");
  796. m_psw = psw1;
  797. }
  798. void MemberCardFunc2::OnDestroy()
  799. {
  800. CDialog::OnDestroy();
  801. // TODO: Add your message handler code here
  802. if (g_bAllBranch)
  803. {
  804. g_pMainWnd->OnDisconnect(); g_bBranchModify = 0; g_branchip = g_branchname = "";
  805. }
  806. }