AddMember.cpp 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381
  1. // ClientDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ylgl.h"
  5. #include "AddMember.h"
  6. #include "GetClientInfo.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. AddMember::AddMember(CWnd* pParent /*=NULL*/): CDialog(AddMember::IDD, pParent)
  13. {
  14. m_addr = _T("");
  15. m_name = _T("");
  16. m_occupation = _T("");
  17. m_phone = _T("");
  18. m_qq = _T("");
  19. m_birthday = _T("");
  20. m_memberno = _T("");
  21. m_jiage = _T("");
  22. m_check1 = FALSE;
  23. m_bAdd = 1;
  24. m_mode = 0;
  25. m_discount = _T("");
  26. }
  27. void AddMember::DoDataExchange(CDataExchange* pDX)
  28. {
  29. CDialog::DoDataExchange(pDX);
  30. DDX_Control(pDX, IDC_COMBOcardtype, m_combocardtype);
  31. DDX_Control(pDX, IDC_EDITjiage, m_editnum);
  32. DDX_Control(pDX, IDC_COMBO1, m_combosex);
  33. DDX_Control(pDX, IDC_EDITBirthday, m_datectrl1);
  34. DDX_Text(pDX, IDC_EDITaddr, m_addr);
  35. DDX_Text(pDX, IDC_EDITname, m_name);
  36. DDX_Text(pDX, IDC_EDITOccupation, m_occupation);
  37. DDX_Text(pDX, IDC_EDITphone, m_phone);
  38. DDX_Text(pDX, IDC_EDITqq, m_qq);
  39. DDX_Text(pDX, IDC_EDITBirthday, m_birthday);
  40. DDX_Text(pDX, IDC_EDITmemberno2, m_memberno);
  41. DDX_Text(pDX, IDC_EDITjiage, m_jiage);
  42. DDX_Check(pDX, IDC_CHECK1, m_check1);
  43. DDX_Text(pDX, IDC_EDITdiscount, m_discount);
  44. }
  45. BEGIN_MESSAGE_MAP(AddMember, CDialog)
  46. ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
  47. ON_CBN_CLOSEUP(IDC_COMBOcardtype, OnCloseupCOMBOcardtype)
  48. ON_CBN_SELCHANGE(IDC_COMBOcardtype, OnSelchangeCOMBOcardtype)
  49. ON_BN_CLICKED(BTN_GETPHONE1, OnBnClickedGetphone1)
  50. END_MESSAGE_MAP()
  51. // AddMember message handlers ]=59;
  52. BOOL AddMember::OnInitDialog()
  53. {
  54. CDialog::OnInitDialog();
  55. if ( IsHasRights2new(31) == TRUE || ( IsHasRights2new(31) == FALSE && IsHasRights2new(65) == FALSE ))
  56. {// 有查看客人号码权限 或 无查看客人号码权限且没有查看完整号码权限;
  57. GetDlgItem(BTN_GETPHONE1)->ShowWindow(SW_HIDE);
  58. }
  59. if (m_mode)
  60. {
  61. GetDlgItem(IDC_STATIC1)->ShowWindow(SW_SHOW);
  62. GetDlgItem(IDC_EDITjiage)->ShowWindow(SW_SHOW);
  63. m_combocardtype.ShowWindow(SW_HIDE);
  64. GetDlgItem(IDC_EDITdiscount)->ShowWindow(SW_HIDE);
  65. GetDlgItem(IDC_STATIC10)->ShowWindow(SW_HIDE);
  66. GetDlgItem(IDC_STATIC11)->ShowWindow(SW_HIDE);
  67. m_combocardtype.EnableWindow(0);
  68. GetDlgItem(IDC_EDITdiscount)->EnableWindow(0);
  69. }
  70. // TODO: Add extra initialization here
  71. m_combosex.AddString("女");
  72. m_combosex.AddString("男");
  73. m_combosex.SetCurSel(0);
  74. m_combocardtype.AddString("普通卡");
  75. m_combocardtype.AddString("活动卡");
  76. m_combocardtype.AddString("打折卡");
  77. m_combocardtype.SetCurSel(0);
  78. if (m_bAdd == 0)
  79. {
  80. CString filter = "memberno='" + m_memberno + "'";
  81. if (m_mode)
  82. g_sendhead.code[0] = 130;
  83. else
  84. g_sendhead.code[0] = 68;
  85. g_sendhead.tabcount = 1;
  86. g_sendhead.bsql = 0;
  87. g_pMainWnd->ProcessChatMessageRequest2(filter); if (g_bSendOK == 0)return 1;
  88. DataToArray(&g_List1array);
  89. if (g_List1array.GetSize())
  90. {
  91. m_name = g_List1array.ElementAt(0).ElementAt(2);
  92. CString sex = g_List1array.ElementAt(0).ElementAt(3);
  93. m_phone = g_List1array.ElementAt(0).ElementAt(4);
  94. if ( IsHasRights2new(31) == FALSE)
  95. {// 无权限查看客人电话,隐藏中间4位;
  96. if ( IsHasRights2new(65) == TRUE )
  97. {// 具有查看完整号码的权限;
  98. m_strPhone = m_phone;
  99. }
  100. if ( m_phone.GetLength() == 11 )
  101. m_phone.Replace(m_phone.Mid(3,4), _T("****"));
  102. }
  103. m_qq = g_List1array.ElementAt(0).ElementAt(5);
  104. m_addr = g_List1array.ElementAt(0).ElementAt(6);
  105. m_occupation = g_List1array.ElementAt(0).ElementAt(7);
  106. m_birthday = g_List1array.ElementAt(0).ElementAt(8);
  107. if (m_mode)
  108. m_jiage = g_List1array.ElementAt(0).ElementAt(9);
  109. else
  110. {
  111. m_cardtype = g_List1array.ElementAt(0).ElementAt(16);
  112. m_check1 = atoi(g_List1array.ElementAt(0).ElementAt(17));
  113. m_discount = g_List1array.ElementAt(0).ElementAt(18);
  114. }
  115. m_combocardtype.SetCurSel(m_combocardtype.FindString(0, m_cardtype));
  116. UpdateData(false);
  117. m_combosex.SetCurSel(m_combosex.FindString(0, sex));
  118. OnCloseupCOMBOcardtype();
  119. }
  120. GetDlgItem(IDC_EDITmemberno2)->EnableWindow(0);
  121. SetWindowText("修改会员资料");
  122. }
  123. this->CenterWindow(g_pMainWnd);
  124. return false;
  125. }
  126. void AddMember::OnOK()
  127. {
  128. UpdateData();
  129. m_name.TrimLeft();
  130. m_name.TrimRight();
  131. if (m_name.IsEmpty())
  132. {
  133. AfxMessageBox("姓名不能为空!", MB_ICONINFORMATION);
  134. return;
  135. }
  136. if (m_name.Find("*") != -1)
  137. {
  138. AfxMessageBox("客人名字非法!", MB_ICONINFORMATION);
  139. return;
  140. }
  141. if (m_memberno.IsEmpty())
  142. {
  143. AfxMessageBox("会员卡卡号不能为空!", MB_ICONINFORMATION);
  144. return;
  145. }
  146. m_phone.TrimLeft();
  147. m_phone.TrimRight();
  148. if (!m_phone.IsEmpty())
  149. {
  150. if (m_phone.Left(1) == "1")
  151. {
  152. if (CheckPhoneType(m_phone) == -1)
  153. {
  154. AfxMessageBox("手机号码:" + m_phone + "错误!", MB_ICONINFORMATION);
  155. return;
  156. }
  157. }
  158. }
  159. if (m_mode)
  160. {
  161. if (atof(m_jiage) < 1.0)
  162. {
  163. AfxMessageBox("请填写套系金额!", MB_ICONINFORMATION);
  164. return;
  165. }
  166. }
  167. if (atof(m_discount) < 0.0 || atof(m_discount) > 10.0)
  168. {
  169. AfxMessageBox("折扣错误,请填1-10", MB_ICONINFORMATION);
  170. return;
  171. }
  172. int pos = m_combosex.GetCurSel();
  173. CString sex;
  174. m_combosex.GetLBText(pos, sex);
  175. pos = m_combocardtype.GetCurSel();
  176. if (pos != -1)
  177. m_combocardtype.GetLBText(pos, m_cardtype);
  178. else
  179. m_cardtype = "普通卡";
  180. if (!CheckDateOK(m_birthday))return;
  181. CString strRes1;
  182. ChinesePinYin::GetFirstLetter(m_name, strRes1);
  183. CString sql, sql2;
  184. if (m_mode)
  185. {
  186. if (m_bAdd)
  187. {
  188. g_sendhead.bsql = 0;
  189. g_sendhead.code[0] = 130;
  190. g_sendhead.tabcount = 1;
  191. g_pMainWnd->ProcessChatMessageRequest2(1); if (g_bSendOK == 0)return;
  192. CArray<CStringArray, CStringArray>m_List1array;
  193. DataToArray(&m_List1array);
  194. for (int i = 0; i < m_List1array.GetSize(); i++)
  195. {
  196. if (m_memberno == m_List1array.ElementAt(i).ElementAt(1))
  197. {
  198. AfxMessageBox("此会员卡卡号已存在,请重新输入!", MB_ICONINFORMATION);
  199. m_memberno = "";
  200. UpdateData(false);
  201. GetDlgItem(IDC_EDITmemberno2)->SetFocus();
  202. return;
  203. }
  204. }
  205. sql.Format("insert into [membermanageblue]([memberno],[name],[sex],[phone],[qq],[addr],[occupation],[birthday],[date],[pinyin],[jiage])values('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')", m_memberno, m_name, sex, m_phone, m_qq, m_addr, m_occupation, m_birthday, g_date, strRes1, m_jiage);
  206. if (g_cominfoarray.ElementAt(0).ElementAt(54).IsEmpty() == 0 && atoi(g_cominfoarray.ElementAt(0).ElementAt(53))) // 53==msgcheck6
  207. {
  208. CString m_content6 = g_cominfoarray.ElementAt(0).ElementAt(54);
  209. CString content, timestamp;
  210. CString name2 = m_name;
  211. #ifndef CHILD_VERSION
  212. if(sex=="男")
  213. name2+="先生";
  214. else if(sex=="女")
  215. name2+="女士";
  216. #endif
  217. content.Format("%s您好,%s", name2, m_content6);
  218. timestamp = "msgtimestamp";
  219. if (CheckPhoneType(m_phone) != -1 && CheckBadWords(content, 0))
  220. {
  221. int count = GetLengthEx(content) / MSG_LENGTH;
  222. if (GetLengthEx(content) % MSG_LENGTH)
  223. count++;
  224. CString scount;
  225. scount.Format("%d", count);
  226. #if JEFF_TEST_ON
  227. CString sql2 = _T("");
  228. sql2.Format(INSERT_SENDREG, _T("6"), m_phone, content, timestamp, scount, _T("0"), _T("0"), _T("0"), _T("系统自动发送"));
  229. sql += _T("***") + sql2;
  230. #else
  231. CString sql2="***insert into [sendreg]([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('"+m_phone+"','"+content+"','"+timestamp+"','"+scount+"','0','0','0','系统自动发送')";
  232. sql+=sql2;
  233. #endif
  234. }
  235. }
  236. }
  237. else
  238. sql.Format("update [membermanageblue] set [name]='%s',[sex]='%s',[phone]='%s',[qq]='%s',[addr]='%s',[occupation]='%s',[birthday]='%s',[pinyin]='%s',[jiage]='%s' where [memberno]='%s' ", m_name, sex, m_phone, m_qq, m_addr, m_occupation, m_birthday, strRes1, m_jiage, m_memberno);
  239. }
  240. else
  241. {
  242. if (m_bAdd)
  243. {
  244. g_sendhead.bsql = 0;
  245. g_sendhead.code[0] = 68;
  246. g_sendhead.tabcount = 1;
  247. g_pMainWnd->ProcessChatMessageRequest2(1); if (g_bSendOK == 0)return;
  248. CArray<CStringArray, CStringArray>m_List1array;
  249. DataToArray(&m_List1array);
  250. for (int i = 0; i < m_List1array.GetSize(); i++)
  251. {
  252. if (m_memberno == m_List1array.ElementAt(i).ElementAt(1))
  253. {
  254. AfxMessageBox("此会员卡卡号已存在,请重新输入!", MB_ICONINFORMATION);
  255. m_memberno = "";
  256. UpdateData(false);
  257. GetDlgItem(IDC_EDITmemberno2)->SetFocus();
  258. return;
  259. }
  260. }
  261. sql.Format("insert into [membermanage]([memberno],[name],[sex],[phone],[qq],[addr],[occupation],[birthday],[date],[pinyin],[cardtype],[check1],[discount])values('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%d','%s')", m_memberno, m_name, sex, m_phone, m_qq, m_addr, m_occupation, m_birthday, g_date, strRes1, m_cardtype, m_check1, m_discount);
  262. if (g_cominfoarray.ElementAt(0).ElementAt(54).IsEmpty() == 0 && atoi(g_cominfoarray.ElementAt(0).ElementAt(53)))
  263. {
  264. CString m_content6 = g_cominfoarray.ElementAt(0).ElementAt(54);
  265. CString content, timestamp;
  266. CString name2 = m_name;
  267. #ifndef CHILD_VERSION
  268. if(sex=="男")
  269. name2+="先生";
  270. else if(sex=="女")
  271. name2+="女士";
  272. #endif
  273. content.Format("%s您好,%s", name2, m_content6);
  274. timestamp = "msgtimestamp";
  275. if (CheckPhoneType(m_phone) != -1 && CheckBadWords(content, 0))
  276. {
  277. int count = GetLengthEx(content) / MSG_LENGTH;
  278. if (GetLengthEx(content) % MSG_LENGTH)
  279. count++;
  280. CString scount;
  281. scount.Format("%d", count);
  282. #if JEFF_TEST_ON
  283. CString sql2 = _T("");
  284. sql2.Format(INSERT_SENDREG, _T("6"), m_phone, content, timestamp, scount, _T("0"), _T("0"), _T("0"), _T("系统自动发送"));
  285. sql += _T("***") + sql2;
  286. #else
  287. CString sql2="***insert into [sendreg]([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('"+m_phone+"','"+content+"','"+timestamp+"','"+scount+"','0','0','0','系统自动发送')";
  288. sql+=sql2;
  289. #endif
  290. }
  291. }
  292. }
  293. else
  294. sql.Format("update [membermanage] set [name]='%s',[sex]='%s',[phone]='%s',[qq]='%s',[addr]='%s',[occupation]='%s',[birthday]='%s',[pinyin]='%s',[cardtype]='%s',[check1]='%d',[discount]='%s' where [memberno]='%s' ", m_name, sex, m_phone, m_qq, m_addr, m_occupation, m_birthday, strRes1, m_cardtype, m_check1, m_discount, m_memberno);
  295. }
  296. g_sendhead.bsql = 1;
  297. g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
  298. AfxMessageBox("保存成功!", MB_ICONINFORMATION);
  299. CDialog::OnOK();
  300. }
  301. void AddMember::OnButton1()
  302. {
  303. UpdateData();
  304. GetClientInfo dlg;
  305. if (dlg.DoModal() == IDOK)
  306. {
  307. if (dlg.m_name2 != "")
  308. m_name = dlg.m_name2;
  309. else
  310. m_name = dlg.m_name1;
  311. m_phone = dlg.m_phone;
  312. m_qq = dlg.m_qq;
  313. m_addr = dlg.m_addr;
  314. m_birthday = dlg.m_birthday;
  315. m_combosex.SetCurSel(m_combosex.FindString(0, dlg.m_sex));
  316. if (m_mode)
  317. m_jiage = dlg.m_jiage;
  318. UpdateData(0);
  319. }
  320. }
  321. void AddMember::OnCloseupCOMBOcardtype()
  322. {
  323. UpdateData();
  324. int pos = m_combocardtype.GetCurSel();
  325. if (pos != 2)
  326. {
  327. GetDlgItem(IDC_EDITdiscount)->EnableWindow(0);
  328. }
  329. else
  330. GetDlgItem(IDC_EDITdiscount)->EnableWindow(1);
  331. }
  332. void AddMember::OnSelchangeCOMBOcardtype()
  333. {
  334. OnCloseupCOMBOcardtype();
  335. }
  336. void AddMember::OnBnClickedGetphone1() // 查看完整号码;
  337. {
  338. m_phone = m_strPhone;
  339. UpdateData(FALSE);
  340. WriteOptLog(_T("查看卡号[%s]客人手机"), m_memberno);
  341. }