AddMember.cpp 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391
  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 1 // 只判断手机长度;
  151. if (m_phone.GetLength() != 11 || m_phone.Left(1) != _T("1"))
  152. {
  153. if ( IDNO == MessageBox(_T("手机号码格式不正确,是否继续录入?"), _T("手机号码格式不正确"), MB_ICONWARNING|MB_YESNO) )
  154. {
  155. return;
  156. }
  157. }
  158. #else
  159. if (m_phone.Left(1) == "1")
  160. {
  161. if (CheckPhoneType(m_phone) == -1)
  162. {
  163. AfxMessageBox("手机号码:" + m_phone + "错误!", MB_ICONINFORMATION);
  164. return;
  165. }
  166. }
  167. #endif
  168. }
  169. if (m_mode)
  170. {
  171. if (atof(m_jiage) < 1.0)
  172. {
  173. AfxMessageBox("请填写套系金额!", MB_ICONINFORMATION);
  174. return;
  175. }
  176. }
  177. if (atof(m_discount) < 0.0 || atof(m_discount) > 10.0)
  178. {
  179. AfxMessageBox("折扣错误,请填1-10", MB_ICONINFORMATION);
  180. return;
  181. }
  182. int pos = m_combosex.GetCurSel();
  183. CString sex;
  184. m_combosex.GetLBText(pos, sex);
  185. pos = m_combocardtype.GetCurSel();
  186. if (pos != -1)
  187. m_combocardtype.GetLBText(pos, m_cardtype);
  188. else
  189. m_cardtype = "普通卡";
  190. if (!CheckDateOK(m_birthday))return;
  191. CString strRes1;
  192. ChinesePinYin::GetFirstLetter(m_name, strRes1);
  193. CString sql, sql2;
  194. if (m_mode)
  195. {
  196. if (m_bAdd)
  197. {
  198. g_sendhead.bsql = 0;
  199. g_sendhead.code[0] = 130;
  200. g_sendhead.tabcount = 1;
  201. g_pMainWnd->ProcessChatMessageRequest2(1); if (g_bSendOK == 0)return;
  202. CArray<CStringArray, CStringArray>m_List1array;
  203. DataToArray(&m_List1array);
  204. for (int i = 0; i < m_List1array.GetSize(); i++)
  205. {
  206. if (m_memberno == m_List1array.ElementAt(i).ElementAt(1))
  207. {
  208. AfxMessageBox("此会员卡卡号已存在,请重新输入!", MB_ICONINFORMATION);
  209. m_memberno = "";
  210. UpdateData(false);
  211. GetDlgItem(IDC_EDITmemberno2)->SetFocus();
  212. return;
  213. }
  214. }
  215. 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);
  216. if (g_cominfoarray.ElementAt(0).ElementAt(54).IsEmpty() == 0 && atoi(g_cominfoarray.ElementAt(0).ElementAt(53))) // 53==msgcheck6
  217. {
  218. CString m_content6 = g_cominfoarray.ElementAt(0).ElementAt(54);
  219. CString content, timestamp;
  220. CString name2 = m_name;
  221. #ifndef CHILD_VERSION
  222. if(sex=="男")
  223. name2+="先生";
  224. else if(sex=="女")
  225. name2+="女士";
  226. #endif
  227. content.Format("%s您好,%s", name2, m_content6);
  228. timestamp = "msgtimestamp";
  229. if (CheckPhoneType(m_phone) != -1 && CheckBadWords(content, 0))
  230. {
  231. int count = GetLengthEx(content) / MSG_LENGTH;
  232. if (GetLengthEx(content) % MSG_LENGTH)
  233. count++;
  234. CString scount;
  235. scount.Format("%d", count);
  236. #if JEFF_TEST_ON
  237. CString sql2 = _T("");
  238. sql2.Format(INSERT_SENDREG, _T("6"), m_phone, content, timestamp, scount, _T("0"), _T("0"), _T("0"), _T("系统自动发送"));
  239. sql += _T("***") + sql2;
  240. #else
  241. CString sql2="***insert into [sendreg]([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('"+m_phone+"','"+content+"','"+timestamp+"','"+scount+"','0','0','0','系统自动发送')";
  242. sql+=sql2;
  243. #endif
  244. }
  245. }
  246. }
  247. else
  248. 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);
  249. }
  250. else
  251. {
  252. if (m_bAdd)
  253. {
  254. g_sendhead.bsql = 0;
  255. g_sendhead.code[0] = 68;
  256. g_sendhead.tabcount = 1;
  257. g_pMainWnd->ProcessChatMessageRequest2(1); if (g_bSendOK == 0)return;
  258. CArray<CStringArray, CStringArray>m_List1array;
  259. DataToArray(&m_List1array);
  260. for (int i = 0; i < m_List1array.GetSize(); i++)
  261. {
  262. if (m_memberno == m_List1array.ElementAt(i).ElementAt(1))
  263. {
  264. AfxMessageBox("此会员卡卡号已存在,请重新输入!", MB_ICONINFORMATION);
  265. m_memberno = "";
  266. UpdateData(false);
  267. GetDlgItem(IDC_EDITmemberno2)->SetFocus();
  268. return;
  269. }
  270. }
  271. 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);
  272. if (g_cominfoarray.ElementAt(0).ElementAt(54).IsEmpty() == 0 && atoi(g_cominfoarray.ElementAt(0).ElementAt(53)))
  273. {
  274. CString m_content6 = g_cominfoarray.ElementAt(0).ElementAt(54);
  275. CString content, timestamp;
  276. CString name2 = m_name;
  277. #ifndef CHILD_VERSION
  278. if(sex=="男")
  279. name2+="先生";
  280. else if(sex=="女")
  281. name2+="女士";
  282. #endif
  283. content.Format("%s您好,%s", name2, m_content6);
  284. timestamp = "msgtimestamp";
  285. if (CheckPhoneType(m_phone) != -1 && CheckBadWords(content, 0))
  286. {
  287. int count = GetLengthEx(content) / MSG_LENGTH;
  288. if (GetLengthEx(content) % MSG_LENGTH)
  289. count++;
  290. CString scount;
  291. scount.Format("%d", count);
  292. #if JEFF_TEST_ON
  293. CString sql2 = _T("");
  294. sql2.Format(INSERT_SENDREG, _T("6"), m_phone, content, timestamp, scount, _T("0"), _T("0"), _T("0"), _T("系统自动发送"));
  295. sql += _T("***") + sql2;
  296. #else
  297. CString sql2="***insert into [sendreg]([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('"+m_phone+"','"+content+"','"+timestamp+"','"+scount+"','0','0','0','系统自动发送')";
  298. sql+=sql2;
  299. #endif
  300. }
  301. }
  302. }
  303. else
  304. 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);
  305. }
  306. g_sendhead.bsql = 1;
  307. g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
  308. AfxMessageBox("保存成功!", MB_ICONINFORMATION);
  309. CDialog::OnOK();
  310. }
  311. void AddMember::OnButton1()
  312. {
  313. UpdateData();
  314. GetClientInfo dlg;
  315. if (dlg.DoModal() == IDOK)
  316. {
  317. if (dlg.m_name2 != "")
  318. m_name = dlg.m_name2;
  319. else
  320. m_name = dlg.m_name1;
  321. m_phone = dlg.m_phone;
  322. m_qq = dlg.m_qq;
  323. m_addr = dlg.m_addr;
  324. m_birthday = dlg.m_birthday;
  325. m_combosex.SetCurSel(m_combosex.FindString(0, dlg.m_sex));
  326. if (m_mode)
  327. m_jiage = dlg.m_jiage;
  328. UpdateData(0);
  329. }
  330. }
  331. void AddMember::OnCloseupCOMBOcardtype()
  332. {
  333. UpdateData();
  334. int pos = m_combocardtype.GetCurSel();
  335. if (pos != 2)
  336. {
  337. GetDlgItem(IDC_EDITdiscount)->EnableWindow(0);
  338. }
  339. else
  340. GetDlgItem(IDC_EDITdiscount)->EnableWindow(1);
  341. }
  342. void AddMember::OnSelchangeCOMBOcardtype()
  343. {
  344. OnCloseupCOMBOcardtype();
  345. }
  346. void AddMember::OnBnClickedGetphone1() // 查看完整号码;
  347. {
  348. m_phone = m_strPhone;
  349. UpdateData(FALSE);
  350. WriteOptLog(_T("查看卡号[%s]客人手机"), m_memberno);
  351. }