Page1.cpp
上传用户:sunh8215
上传日期:2010-02-13
资源大小:1616k
文件大小:24k
源码类别:

酒店行业

开发平台:

Visual C++

  1. // Page1.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "qq.h"
  5. #include "Page1.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. //#define WM_SETPOS WM_USER+2//自定义消息
  12. #include "QQView.h"
  13. #include "InfoLookDialog.h"//消息显示对话框
  14. /////////////////////////////////////////////////////////////////////////////
  15. // CPage1 dialog
  16. IMPLEMENT_DYNCREATE(CPage1, CDialog)
  17. int CPage1::nTablesItems[nTables]={0,0,0,0,0,0};
  18. CString CPage1::pszText[nTables][nLines][nCols]=
  19. {
  20. ""
  21. };
  22. CPage1::CPage1(CWnd* pParent /*=NULL*/)
  23. : CDialog(CPage1::IDD, pParent)
  24. {
  25. //{{AFX_DATA_INIT(CPage1)
  26. m_bBill = FALSE;
  27. m_bEmployer = FALSE;
  28. m_bFood = FALSE;
  29. m_bGuest = FALSE;
  30. m_bRoom = FALSE;
  31. m_bServer = FALSE;
  32. m_SearchType = 1;
  33. //}}AFX_DATA_INIT
  34. bSearch=false;//初始状态为不搜索状态
  35. }
  36. void CPage1::DoDataExchange(CDataExchange* pDX)
  37. {
  38. CDialog::DoDataExchange(pDX);
  39. //{{AFX_DATA_MAP(CPage1)
  40. DDX_Control(pDX, IDC_SEARCHTEXT, m_SearchText);
  41. DDX_Control(pDX, IDC_COOLPROGRESS, m_CoolProgress);
  42. DDX_Check(pDX, IDC_CHECK_BILL, m_bBill);
  43. DDX_Check(pDX, IDC_CHECK_EMPLOYER, m_bEmployer);
  44. DDX_Check(pDX, IDC_CHECK_FOOD, m_bFood);
  45. DDX_Check(pDX, IDC_CHECK_GUEST, m_bGuest);
  46. DDX_Check(pDX, IDC_CHECK_ROOM, m_bRoom);
  47. DDX_Check(pDX, IDC_CHECK_SERVER, m_bServer);
  48. DDX_Radio(pDX, IDC_RADIO1, m_SearchType);
  49. //}}AFX_DATA_MAP
  50. }
  51. BEGIN_MESSAGE_MAP(CPage1, CDialog)
  52. //{{AFX_MSG_MAP(CPage1)
  53. ON_BN_CLICKED(IDC_CHECK_BILL, OnCheckBill)
  54. ON_BN_CLICKED(IDC_CHECK_EMPLOYER, OnCheckEmployer)
  55. ON_BN_CLICKED(IDC_CHECK_FOOD, OnCheckFood)
  56. ON_BN_CLICKED(IDC_CHECK_GUEST, OnCheckGuest)
  57. ON_BN_CLICKED(IDC_CHECK_ROOM, OnCheckRoom)
  58. ON_BN_CLICKED(IDC_CHECK_SERVER, OnCheckServer)
  59. ON_EN_CHANGE(IDC_SEARCHTEXT, OnChangeSearchtext)
  60. ON_BN_CLICKED(IDC_RADIO1, OnRadio)
  61. ON_BN_CLICKED(IDOK, OnSearch)
  62. ON_WM_DESTROY()
  63. ON_COMMAND(WM_SETPOS,OnSetCoolProcessPos)
  64. ON_BN_CLICKED(IDC_RADIO2, OnRadio)
  65. //}}AFX_MSG_MAP
  66. END_MESSAGE_MAP()
  67. /////////////////////////////////////////////////////////////////////////////
  68. // CPage1 message handlers
  69. BOOL CPage1::OnInitDialog() 
  70. {
  71. CDialog::OnInitDialog();
  72. // TODO: Add extra initialization here
  73. //初始化数据成员
  74. m_CoolProgress.SetRange(0,100);
  75. m_CoolProgress.SetColor(RGB(64,0,0));
  76. m_CoolProgress.SetStep(1);
  77. m_CoolProgress.SetPos(0);
  78. //初始化静态数据成员
  79. InitDate();//初始化数据成员
  80. return TRUE;  // return TRUE unless you set the focus to a control
  81.               // EXCEPTION: OCX Property Pages should return FALSE
  82. }
  83. void CPage1::OnCheckBill() 
  84. {
  85. // TODO: Add your control notification handler code here
  86. this->UpdateData(true);
  87. if(m_bBill==TRUE)
  88. {
  89. m_bBill=FALSE;
  90. }
  91. else{m_bBill=TRUE;}
  92. }
  93. void CPage1::OnCheckEmployer() 
  94. {
  95. // TODO: Add your control notification handler code here
  96. this->UpdateData(TRUE);
  97. if(m_bEmployer==TRUE)
  98. {
  99. m_bEmployer=FALSE;
  100. }
  101. else{m_bEmployer=TRUE;}
  102. }
  103. void CPage1::OnCheckFood() 
  104. {
  105. // TODO: Add your control notification handler code here
  106. this->UpdateData(TRUE);
  107. if(m_bFood==TRUE){m_bFood=FALSE;}
  108. else{m_bFood=TRUE;}
  109. }
  110. void CPage1::OnCheckGuest() 
  111. {
  112. // TODO: Add your control notification handler code here
  113. this->UpdateData(TRUE);
  114. if(m_bGuest==TRUE){m_bGuest=FALSE;}
  115. else{m_bGuest=TRUE;}
  116. }
  117. void CPage1::OnCheckRoom() 
  118. {
  119. // TODO: Add your control notification handler code here
  120. this->UpdateData(TRUE);
  121. if(m_bRoom==TRUE){m_bRoom=FALSE;}
  122. else{m_bRoom=TRUE;}
  123. }
  124. void CPage1::OnCheckServer() 
  125. {
  126. // TODO: Add your control notification handler code here
  127. this->UpdateData(TRUE);
  128. if(m_bServer==TRUE){m_bServer=FALSE;}
  129. else{m_bServer=TRUE;}
  130. }
  131. void CPage1::OnChangeSearchtext() 
  132. {
  133. // TODO: If this is a RICHEDIT control, the control will not
  134. // send this notification unless you override the CDialog::OnInitDialog()
  135. // function and call CRichEditCtrl().SetEventMask()
  136. // with the ENM_CHANGE flag ORed into the mask.
  137. // TODO: Add your control notification handler code here
  138. CString strSearchText;
  139. m_SearchText.GetWindowText(strSearchText);
  140. if(!m_SearchMethod.CheckString(strSearchText))
  141. {//检查输入的语法的正确性
  142. AfxMessageBox("你输入的字符不合法!");
  143. }
  144. }
  145. void CPage1::OnRadio() 
  146. {
  147. // TODO: Add your control notification handler code here
  148. this->UpdateData(TRUE);//更新数据
  149. }
  150. void CPage1::OnSearch() 
  151. {//按照制定的设置查询数据库
  152. // TODO: Add your control notification handler code here
  153. /*
  154.     CQQView* pView=CQQView::GetView();
  155. CDC* pDC=pView->GetDC();//得到视图类DC*/
  156. //获得搜索类型,根据类型进行不同的搜索
  157. this->UpdateData(TRUE);//数据更新
  158. this->InitDate();//数据初始化,清除上次保留的数据 
  159. bSearch=true;
  160. m_CoolProgress.SetPos(0);//初始位置
  161. /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  162.                        一些特殊情况的处理
  163. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
  164. CString strSearchText;
  165. m_SearchText.GetWindowText(strSearchText);
  166. if(strSearchText=="")
  167. {//查询文本为空
  168. AfxMessageBox("请输入查询文本!");
  169. return;
  170. }
  171. bool bunusualchar=false;//是否含有"?"或者"*"字符
  172. int i=0;
  173. while (i<strSearchText.GetLength()&&strSearchText[i]!=NULL)
  174. {
  175.          if(strSearchText[i]=='?'||strSearchText[i]=='*')
  176.  {
  177.  bunusualchar=true;
  178.  break;
  179.  }
  180.  i++;
  181. }
  182.     if(bunusualchar&&m_SearchType==0)
  183. {//含有特殊的查询文本但是选择的是"完全匹配”查询模式
  184. AfxMessageBox("你输入的查询文本中含有通配符n但是你选的是'完全匹配'模式!Error!");
  185. return;
  186. }
  187. if(m_bGuest==FALSE&&m_bRoom==FALSE&&m_bBill==FALSE&&m_bServer==FALSE
  188. &&m_bFood==FALSE&&m_bEmployer==FALSE)
  189. {//没有选择一种输出项目
  190. AfxMessageBox("你应该至少选择一种输出项目");
  191. return;
  192. }
  193.       /*                  特殊处理完毕!!!!                 */
  194. /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  195.                          完全匹配查询模块
  196. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
  197. if(m_bGuest)
  198. {
  199. SearchGuestInfoSet(strSearchText);
  200. }
  201.      if(m_bRoom)
  202.  {
  203.          SearchRoomInfoSet(strSearchText);
  204.  }
  205.  if(m_bBill)
  206.  {
  207.          SearchBillInfoSet(strSearchText);
  208.  }
  209.      if(m_bServer)
  210.  {
  211.          SearchServerInfoSet(strSearchText);
  212.  }
  213.  if(m_bFood)
  214.  {
  215.         SearchFoodInfoSet(strSearchText);
  216.  }
  217.  if(m_bEmployer)
  218.  {
  219.         SearchEmployerInfoSet(strSearchText);
  220.  }
  221.  
  222.  if(bSearch)
  223.  {
  224.  for(i=0;i<100;i++)
  225.  {
  226.  m_CoolProgress.SetPos(i);
  227.  }
  228.  bSearch=false;
  229.  }
  230.  
  231. /*************************相似查询模块结束*************************/
  232. ////////////////////////////////////////////////////////////////////
  233.    CInfoLookDialog m_InfoLookDialog;
  234.    m_InfoLookDialog.DoModal();//显示查询得到的结果
  235. }
  236. void CPage1::InitDate()
  237. {//初始化静态数据成员
  238. for(int i=0;i<nTables;i++)
  239. {
  240. for(int j=0;j<nLines;j++)
  241. {
  242. for(int k=0;k<nCols;k++)
  243. {
  244. pszText[i][j][k]="";//初始化字符数组 
  245. }
  246. }
  247. }
  248. for(i=0;i<nTables;i++)
  249. {
  250. nTablesItems[i]=0;//每张表的项目的数目设置为0
  251. }
  252. }
  253. void CPage1::OnDestroy() 
  254. {
  255. CDialog::OnDestroy();
  256. // TODO: Add your message handler code here
  257. // InitDate();
  258. }
  259. void CPage1::SearchGuestInfoSet(CString strSearchText)
  260. {//搜索GuestInfoSet数据库表
  261.     this->UpdateData(TRUE);//数据更新
  262.     int nTablesItemNum=nTablesItems[0];//表搜索到的项目数目
  263. // CString strTempText[100];
  264. // for(int i=0;i<100;i++)
  265. // {
  266. // strTempText[i]="";
  267. // }
  268. //     int strTempTextItems=0;//记录保存到临时记录数组中的个数
  269. if(!m_GuestInfoSet.Open())
  270. {
  271. AfxMessageBox("打开数据库失败!");
  272. return;
  273. }
  274. m_GuestInfoSet.MoveFirst();//移动到第一条记录
  275. while (!m_GuestInfoSet.IsEOF())
  276. {
  277. bool bhas=true;
  278. if(bhas)
  279. {
  280.        if(m_SearchMethod.MatchingString(m_GuestInfoSet.m_HandCode,strSearchText))
  281.    {//与手牌号码匹配
  282.    FillGuestInfo(nTablesItemNum);//填充记录
  283.    nTablesItemNum++;//记录加1
  284. //              if(m_bBill)
  285. //    {
  286. //    strTempText[strTempTextItems]=m_GuestInfoSet.m_HandCode;
  287. //    strTempTextItems++;//Add 1
  288. //    }
  289.    bhas=false;
  290.    }
  291. }
  292. if(bhas)//若前面已经找到了这个记录
  293. {
  294. if(m_SearchMethod.MatchingString(m_GuestInfoSet.m_Name,strSearchText))
  295. {//与名字匹配
  296. FillGuestInfo(nTablesItemNum);//填充记录
  297. nTablesItemNum++;//记录加1
  298. // if(m_bBill)
  299. // {
  300. //    strTempText[strTempTextItems]=m_GuestInfoSet.m_HandCode;
  301. //    strTempTextItems++;//Add 1
  302. // }
  303. bhas=false;
  304. }
  305. }
  306.         if(bhas)
  307. {
  308. if(m_SearchMethod.MatchingString(m_GuestInfoSet.m_GuestType,strSearchText))
  309. {//与客人类型匹配
  310. FillGuestInfo(nTablesItemNum);//填充记录
  311. nTablesItemNum++;//记录加1
  312. // if(m_bBill)
  313. // {
  314. // strTempText[strTempTextItems]=m_GuestInfoSet.m_HandCode;
  315. // strTempTextItems++;//Add 1
  316. // }
  317. bhas=false;
  318. }
  319. }
  320.         if(bhas)
  321. {
  322. if(m_SearchMethod.MatchingString(m_GuestInfoSet.m_Sex,strSearchText))
  323. {//与客人性别匹配
  324. FillGuestInfo(nTablesItemNum);//填充记录
  325. nTablesItemNum++;//记录加1
  326. // if(m_bBill)
  327. // {
  328. // strTempText[strTempTextItems]=m_GuestInfoSet.m_HandCode;
  329. // strTempTextItems++;//Add 1
  330. // }
  331. bhas=false;
  332. }
  333. }
  334.         if(bhas)
  335. {
  336. if(m_SearchMethod.MatchingString(m_GuestInfoSet.m_Certificate,strSearchText))
  337. {//与客人证件类型匹配
  338. FillGuestInfo(nTablesItemNum);//填充记录
  339. nTablesItemNum++;//记录加1
  340. // if(m_bBill)
  341. // {
  342. // strTempText[strTempTextItems]=m_GuestInfoSet.m_HandCode;
  343. // strTempTextItems++;//Add 1
  344. // }
  345. bhas=false;
  346. }
  347. }
  348.         if(bhas)
  349. {
  350. if(m_SearchMethod.MatchingString(m_GuestInfoSet.m_CertifyCode,strSearchText))
  351. {//与客人证件号码匹配
  352. FillGuestInfo(nTablesItemNum);//填充记录
  353. nTablesItemNum++;//记录加1
  354. // if(m_bBill)
  355. // {
  356. // strTempText[strTempTextItems]=m_GuestInfoSet.m_HandCode;
  357. // strTempTextItems++;//Add 1
  358. // }
  359. bhas=false;
  360. }
  361. }
  362. CString str;
  363. if(m_GuestInfoSet.m_IsMember){str="是";}
  364. else{str="否";}
  365. if(bhas)
  366. {
  367. if(m_SearchMethod.MatchingString(str,strSearchText))
  368. {//与客人是否团队成员匹配
  369. FillGuestInfo(nTablesItemNum);//填充记录
  370. nTablesItemNum++;//记录加1
  371. // if(m_bBill)
  372. // {
  373. // strTempText[strTempTextItems]=m_GuestInfoSet.m_HandCode;
  374. // strTempTextItems++;//Add 1
  375. // }
  376. bhas=false;
  377. }
  378. }
  379. if(m_GuestInfoSet.m_IsMaster){str="是";}
  380. else{str="否";}
  381. if(bhas)
  382. {
  383. if(m_SearchMethod.MatchingString(str,strSearchText))
  384. {//与客人是否团队主客匹配
  385. FillGuestInfo(nTablesItemNum);//填充记录
  386. nTablesItemNum++;//记录加1
  387. // if(m_bBill)
  388. // {
  389. // strTempText[strTempTextItems]=m_GuestInfoSet.m_HandCode;
  390. // strTempTextItems++;//Add 1
  391. // }
  392. bhas=false;
  393. }
  394. }
  395.         if(bhas)
  396. {
  397.     if(m_SearchMethod.MatchingString(m_GuestInfoSet.m_GroupID,strSearchText))
  398. {//与客人证件号码匹配
  399.    FillGuestInfo(nTablesItemNum);//填充记录
  400.    nTablesItemNum++;//记录加1
  401. //    if(m_bBill)
  402. //    {
  403. //    strTempText[strTempTextItems]=m_GuestInfoSet.m_HandCode;
  404. //    strTempTextItems++;//Add 1
  405. // }
  406.    bhas=false;
  407. }
  408. }
  409.         str.Format("%ld",m_GuestInfoSet.m_GuestNum);
  410. if(bhas)
  411. {
  412. if(m_SearchMethod.MatchingString(str,strSearchText))
  413. {//与客人数目匹配
  414. FillGuestInfo(nTablesItemNum);//填充记录
  415. nTablesItemNum++;//记录加1
  416. // if(m_bBill)
  417. // {
  418. // strTempText[strTempTextItems]=m_GuestInfoSet.m_HandCode;
  419. // strTempTextItems++;//Add 1
  420. // }
  421. bhas=false;
  422. }
  423. }
  424.         if(bhas)
  425. {
  426. if(m_SearchMethod.MatchingString(m_GuestInfoSet.m_RoomNum,strSearchText))
  427. {//与房间数目号码匹配
  428. FillGuestInfo(nTablesItemNum);//填充记录
  429. nTablesItemNum++;//记录加1
  430. // if(m_bBill)
  431. // {
  432. // strTempText[strTempTextItems]=m_GuestInfoSet.m_HandCode;
  433. // strTempTextItems++;//Add 1
  434. // }
  435.     bhas=false;
  436. }
  437. }
  438.         if(bhas)
  439. {
  440. if(m_SearchMethod.MatchingString(m_GuestInfoSet.m_RoomCode,strSearchText))
  441. {//与房间号码匹配
  442. FillGuestInfo(nTablesItemNum);//填充记录
  443. nTablesItemNum++;//记录加1
  444. // if(m_bRoom)
  445. // {
  446. // char* s=m_GuestInfoSet.m_RoomCode.GetBuffer(m_GuestInfoSet.m_RoomCode.GetLength());
  447. // char* strtake=strtok(s,",");
  448. // while (strtake!=NULL)
  449. // {
  450. // strTempText[strTempTextItems]=strtake;
  451. // strTempTextItems++;
  452. // strtake=strtok(NULL,",");
  453. // }
  454. // }
  455. bhas=false;
  456. }
  457. }
  458.         m_GuestInfoSet.MoveNext();//移动到下一条记录
  459. }
  460. m_GuestInfoSet.Close();//关闭数据库
  461. // for(i=0;i<strTempTextItems;i++)
  462. // {
  463. // SearchBillInfoSet(strTempText[i]);
  464. // SearchRoomInfoSet(strTempText[i]);
  465. // }
  466. // for(i=0;i<100;i++)
  467. // {
  468. // strTempText[i].Delete(0,strTempText[i].GetLength());
  469. // }
  470. nTablesItems[0]=nTablesItemNum;//获得客人信息查询到的总数
  471. }
  472. void CPage1::FillGuestInfo(int nCurLines)
  473. {//填充客人信息的一条记录
  474.     pszText[0][nCurLines][0]=m_GuestInfoSet.m_HandCode;
  475. pszText[0][nCurLines][1]=m_GuestInfoSet.m_Name;
  476. pszText[0][nCurLines][2]=m_GuestInfoSet.m_GuestType;
  477. pszText[0][nCurLines][3]=m_GuestInfoSet.m_Sex;
  478. pszText[0][nCurLines][4]=m_GuestInfoSet.m_Certificate;
  479. pszText[0][nCurLines][5]=m_GuestInfoSet.m_CertifyCode;
  480. if(m_GuestInfoSet.m_IsMember){pszText[0][nCurLines][6]="是";}
  481. else{pszText[0][nCurLines][6]="否";}
  482. if(m_GuestInfoSet.m_IsMaster){pszText[0][nCurLines][7]="是";}
  483. else{pszText[0][nCurLines][7]="否";}
  484. pszText[0][nCurLines][8]=m_GuestInfoSet.m_GroupID;
  485. CString str;
  486. str.Format("%ld",m_GuestInfoSet.m_GuestNum);
  487. pszText[0][nCurLines][9]=str;
  488. pszText[0][nCurLines][10]=m_GuestInfoSet.m_RoomNum;
  489. pszText[0][nCurLines][11]=m_GuestInfoSet.m_RoomCode;
  490. }
  491. void CPage1::SearchRoomInfoSet(CString strSearchText)
  492. {
  493.     this->UpdateData(TRUE);
  494.     int nTablesItemNum=nTablesItems[1];//表搜索到的项目数目
  495. if(!m_RoomInfoSet.Open())
  496. {
  497. AfxMessageBox("打开数据库失败!");
  498. return;
  499. }
  500. m_RoomInfoSet.MoveFirst();//move to the first
  501. while (!m_RoomInfoSet.IsEOF())
  502. {
  503. bool bhas=true;
  504. if(bhas)
  505. {
  506. if(m_SearchMethod.IsMatchString(strSearchText,m_RoomInfoSet.m_RoomCode))
  507. {
  508. FillRoomInfo(nTablesItemNum);//,m_RoomInfoSet);
  509. nTablesItemNum++;
  510. // if(m_bGuest)
  511. // {//允许查询客人信息
  512. // if(!m_GuestInfoSet.Open())
  513. // {
  514. // AfxMessageBox("打开数据库失败!");
  515. // return ;
  516. // }
  517. // m_GuestInfoSet.MoveFirst();
  518. // while(!m_GuestInfoSet.IsEOF())
  519. // {
  520. // char* s=m_GuestInfoSet.m_RoomCode.GetBuffer(m_GuestInfoSet.m_RoomCode.GetLength());
  521. // char* strtake=strtok(s,",");
  522. // while(strtake!=NULL)
  523. // {
  524. // if(*strtake==m_RoomInfoSet.m_RoomCode)
  525. // {
  526. // FillGuestInfo(nTablesItems[0]);
  527. // nTablesItems[0]++;
  528. // }
  529. // strtake=strtok(NULL,",");
  530. // }
  531. // m_GuestInfoSet.MoveNext();
  532. // }
  533. // m_GuestInfoSet.Close();
  534. // }
  535.                 bhas=false;
  536. }
  537. }
  538. if(bhas)
  539. {
  540. if(m_SearchMethod.IsMatchString(strSearchText,m_RoomInfoSet.m_RoomType))
  541. {
  542. FillRoomInfo(nTablesItemNum);//,m_RoomInfoSet);
  543. nTablesItemNum++;
  544. bhas=false;
  545. }
  546. }
  547. if(bhas)
  548. {
  549. if(m_SearchMethod.IsMatchString(strSearchText,m_RoomInfoSet.m_Phone))
  550. {
  551. FillRoomInfo(nTablesItemNum);//,m_RoomInfoSet);
  552. nTablesItemNum++;
  553. bhas=false;
  554. }
  555. }
  556. if(bhas)
  557. {
  558. if(m_SearchMethod.IsMatchString(strSearchText,m_RoomInfoSet.m_RoomStatus))
  559. {
  560. FillRoomInfo(nTablesItemNum);//,m_RoomInfoSet);
  561. nTablesItemNum++;
  562. bhas=false;
  563. }
  564. }
  565. CString str;
  566.     str.Format("%d",m_RoomInfoSet.m_Floor);
  567. if(bhas)
  568. {
  569. if(m_SearchMethod.IsMatchString(strSearchText,str))
  570. {
  571. FillRoomInfo(nTablesItemNum);//,m_RoomInfoSet);
  572. nTablesItemNum++;
  573. bhas=false;
  574. }
  575. }
  576.         if(m_RoomInfoSet.m_PriceType){str="是";}
  577.     else{str="否";}
  578. if(bhas)
  579. {
  580. if(m_SearchMethod.IsMatchString(strSearchText,str))
  581. {
  582. FillRoomInfo(nTablesItemNum);//,m_RoomInfoSet);
  583. nTablesItemNum++;
  584. bhas=false;
  585. }
  586. }
  587. str.Format("%f",m_RoomInfoSet.m_Price);
  588. if(bhas)
  589. {
  590. if(m_SearchMethod.IsMatchString(strSearchText,str))
  591. {
  592. FillRoomInfo(nTablesItemNum);//,m_RoomInfoSet);
  593. nTablesItemNum++;
  594. bhas=false;
  595. }
  596. }
  597. m_RoomInfoSet.MoveNext();//move to the next
  598. }
  599. m_RoomInfoSet.Close();
  600. nTablesItems[1]=nTablesItemNum;
  601. }
  602. void CPage1::FillRoomInfo(int nCurLines)//, CRoomInfoSet& m_RoomInfoSet)
  603. {//填充房间信息
  604.     pszText[1][nCurLines][0]=m_RoomInfoSet.m_RoomCode;
  605. pszText[1][nCurLines][1]=m_RoomInfoSet.m_RoomType;
  606. CString str="";
  607. int nFloor=m_RoomInfoSet.m_Floor;
  608. str.Format("%d",nFloor);//there is a bug!!!!!
  609. pszText[1][nCurLines][2]=str;//层数
  610. pszText[1][nCurLines][3]=m_RoomInfoSet.m_Phone;
  611. pszText[1][nCurLines][4]=m_RoomInfoSet.m_RoomStatus;
  612. if(m_RoomInfoSet.m_PriceType){str="是";}
  613. else{str="否";}
  614. pszText[1][nCurLines][5]=str;
  615. str.Format("%f",m_RoomInfoSet.m_Price);
  616. pszText[1][nCurLines][6]=str;
  617. }
  618. void CPage1::SearchBillInfoSet(CString strSearchText)
  619. {
  620.     int nTablesItemNum=nTablesItems[2];//搜索到的表的项目数目
  621. // CString strTempText[100];//这种写法导致stack over!!!!分配了大量的空间
  622. // for(int i=0;i<100;i++)
  623. // {
  624. // strTempText[i]="";
  625. // }
  626. //    int strTempTextItems=0;//记录保存到临时记录数组中的个数
  627. if(!m_BillInfoSet.Open())
  628. {
  629. AfxMessageBox("打开数据库失败!");
  630. return;
  631. }
  632. m_BillInfoSet.MoveFirst();//移动到第一条记录
  633. while (!m_BillInfoSet.IsEOF())
  634. {
  635. bool bhas=true;
  636. if(bhas)
  637. {
  638.        if(m_SearchMethod.MatchingString(m_BillInfoSet.m_BillCode,strSearchText))
  639.    {//与手牌号码匹配
  640.   FillBillInfo(nTablesItemNum);//填充记录
  641.   nTablesItemNum++;//记录加1
  642. //   if(m_bGuest)
  643. //   {
  644. //   strTempText[strTempTextItems]=m_BillInfoSet.m_HandCode;
  645. //   strTempTextItems++;
  646. //   }
  647.   bhas=false;
  648.    }
  649. }
  650. if(bhas)//若前面已经找到了这个记录
  651. {
  652. if(m_SearchMethod.MatchingString(m_BillInfoSet.m_HandCode,strSearchText))
  653. {//与名字匹配
  654. FillBillInfo(nTablesItemNum);//填充记录
  655. nTablesItemNum++;//记录加1
  656. // if(m_bGuest)
  657. // {
  658. // strTempText[strTempTextItems]=m_BillInfoSet.m_HandCode;
  659. // strTempTextItems++;
  660. // }
  661. // if(m_bGuest)
  662. // {
  663. // SearchGuestInfoSet(m_BillInfoSet.m_HandCode);
  664. // }
  665. bhas=false;
  666. }
  667. }
  668.         if(bhas)
  669. {
  670. long Paid=m_BillInfoSet.m_Paid;
  671. CString str;
  672. str.Format("%ld",Paid);
  673. if(m_SearchMethod.MatchingString(str,strSearchText))
  674. {//与客人类型匹配
  675. FillBillInfo(nTablesItemNum);//填充记录
  676. nTablesItemNum++;//记录加1
  677. // if(m_bGuest)
  678. // {
  679. // strTempText[strTempTextItems]=m_BillInfoSet.m_HandCode;
  680. // strTempTextItems++;
  681. // }
  682. bhas=false;
  683. }
  684. }
  685.         if(bhas)
  686. {
  687. if(m_SearchMethod.MatchingString(m_BillInfoSet.m_Rebate,strSearchText))
  688. {//与客人性别匹配
  689. FillBillInfo(nTablesItemNum);//填充记录
  690. nTablesItemNum++;//记录加1
  691. // if(m_bGuest)
  692. // {
  693. // strTempText[strTempTextItems]=m_BillInfoSet.m_HandCode;
  694. // strTempTextItems++;
  695. // }
  696. bhas=false;
  697. }
  698. }
  699.         if(bhas)
  700. {
  701. BOOL bStriked=m_BillInfoSet.m_Striked;
  702. CString str;
  703. if(bStriked){str="是";}
  704. else{str="否";}
  705. if(m_SearchMethod.MatchingString(str,strSearchText))
  706. {//与客人证件类型匹配
  707. FillBillInfo(nTablesItemNum);//填充记录
  708. nTablesItemNum++;//记录加1
  709. // if(m_bGuest)
  710. // {
  711. // strTempText[strTempTextItems]=m_BillInfoSet.m_HandCode;
  712. // strTempTextItems++;
  713. // }
  714. bhas=false;
  715. }
  716. }
  717.         if(bhas)
  718. {
  719. long Sum=m_BillInfoSet.m_Sum;
  720. CString str;
  721. str.Format("%ld",Sum);
  722. if(m_SearchMethod.MatchingString(str,strSearchText))
  723. {//与客人证件号码匹配
  724. FillBillInfo(nTablesItemNum);//填充记录
  725. nTablesItemNum++;//记录加1
  726. // if(m_bGuest)
  727. // {
  728. // strTempText[strTempTextItems]=m_BillInfoSet.m_HandCode;
  729. // strTempTextItems++;
  730. // }
  731. bhas=false;
  732. }
  733. }
  734.         m_BillInfoSet.MoveNext();//移动到下一条记录
  735. }
  736. m_BillInfoSet.Close();//关闭数据库
  737. // for(i=0;i<strTempTextItems;i++)
  738. // {
  739. // SearchGuestInfoSet(strTempText[i]);
  740. // }
  741. // for(i=0;i<100;i++)
  742. // {
  743. // strTempText[i].Delete(0,strTempText[i].GetLength());
  744. // }
  745. nTablesItems[2]=nTablesItemNum;//获得客人信息查询到的总数
  746. }
  747. void CPage1::FillBillInfo(int nCurLines)
  748. {
  749. pszText[2][nCurLines][0]=m_BillInfoSet.m_BillCode;
  750. pszText[2][nCurLines][1]=m_BillInfoSet.m_HandCode;
  751. CString str="";
  752. long Sum=m_BillInfoSet.m_Sum;
  753. str.Format("%ld",Sum);//there is a bug!!!!!
  754. pszText[2][nCurLines][2]=str;//
  755. long Paid=m_BillInfoSet.m_Paid;
  756. str.Format("%ld",Paid);
  757. pszText[2][nCurLines][3]=str;
  758. pszText[2][nCurLines][4]=m_BillInfoSet.m_Rebate;
  759. if(m_BillInfoSet.m_Striked){str="是";}
  760. else{str="否";}
  761. pszText[1][nCurLines][5]=str;
  762. }
  763. void CPage1::SearchServerInfoSet(CString strSearchText)
  764. {
  765. int nTablesItemNum=nTablesItems[3];//搜索到的表的项目数目
  766. if(!m_ServerInfoSet.Open())
  767. {
  768. AfxMessageBox("打开数据库失败!");
  769. return;
  770. }
  771. m_ServerInfoSet.MoveFirst();//移动到第一条记录
  772. while (!m_ServerInfoSet.IsEOF())
  773. {
  774. bool bhas=true;
  775. if(bhas)
  776. {
  777. if(m_SearchMethod.MatchingString(m_ServerInfoSet.m_ServerName,strSearchText))
  778. {//与手牌号码匹配
  779. FillServerInfo(nTablesItemNum);//填充记录
  780. nTablesItemNum++;//记录加1
  781. bhas=false;
  782. }
  783. }
  784. if(bhas)//若前面已经找到了这个记录
  785. {
  786. float price=m_ServerInfoSet.m_ServerPrice;
  787. CString str;
  788. str.Format("%lf",price);
  789. if(m_SearchMethod.MatchingString(str,strSearchText))
  790. {//与名字匹配
  791. FillServerInfo(nTablesItemNum);//填充记录
  792. nTablesItemNum++;//记录加1
  793. bhas=false;
  794. }
  795. }
  796.         m_ServerInfoSet.MoveNext();//移动到下一条记录
  797. }
  798. m_ServerInfoSet.Close();//关闭数据库
  799. nTablesItems[3]=nTablesItemNum;//获得客人信息查询到的总数
  800. }
  801. void CPage1::FillServerInfo(int nCurLines)
  802. {
  803.     pszText[3][nCurLines][0]=m_ServerInfoSet.m_ServerName;
  804. CString str;
  805. float price=m_ServerInfoSet.m_ServerPrice;
  806. str.Format("%lf",price);
  807. pszText[3][nCurLines][1]=str;
  808. }
  809. void CPage1::SearchFoodInfoSet(CString strSearchText)
  810. {
  811.     int nTablesItemNum=nTablesItems[4];//搜索到的表的项目数目
  812. if(!m_FoodInfoSet.Open())
  813. {
  814. AfxMessageBox("打开数据库失败!");
  815. return;
  816. }
  817. m_FoodInfoSet.MoveFirst();//移动到第一条记录
  818. while (!m_FoodInfoSet.IsEOF())
  819. {
  820. bool bhas=true;
  821. if(bhas)
  822. {
  823. if(m_SearchMethod.MatchingString(m_FoodInfoSet.m_FoodName,strSearchText))
  824. {//与手牌号码匹配
  825. FillFoodInfo(nTablesItemNum);//填充记录
  826. nTablesItemNum++;//记录加1
  827. bhas=false;
  828. }
  829. }
  830. if(bhas)//若前面已经找到了这个记录
  831. {
  832. float price=m_FoodInfoSet.m_FoodPrice;
  833. CString str;
  834. str.Format("%lf",price);
  835. if(m_SearchMethod.MatchingString(str,strSearchText))
  836. {//与名字匹配
  837. FillFoodInfo(nTablesItemNum);//填充记录
  838. nTablesItemNum++;//记录加1
  839. bhas=false;
  840. }
  841. }
  842.         m_FoodInfoSet.MoveNext();//移动到下一条记录
  843. }
  844. m_FoodInfoSet.Close();//关闭数据库
  845. nTablesItems[4]=nTablesItemNum;//获得客人信息查询到的总数
  846. }
  847. void CPage1::FillFoodInfo(int nCurLines)
  848. {
  849. pszText[4][nCurLines][0]=m_FoodInfoSet.m_FoodName;
  850. CString str;
  851. float price=m_FoodInfoSet.m_FoodPrice;
  852. str.Format("%lf",price);
  853. pszText[4][nCurLines][1]=str;
  854. }
  855. void CPage1::SearchEmployerInfoSet(CString strSearchText)
  856. {
  857. int nTablesItemNum=nTablesItems[5];//搜索到的表的项目数目
  858. if(!m_EmployerInfoSet.Open())
  859. {
  860. AfxMessageBox("打开数据库失败!");
  861. return;
  862. }
  863. m_EmployerInfoSet.MoveFirst();//移动到第一条记录
  864. while (!m_EmployerInfoSet.IsEOF())
  865. {
  866. bool bhas=true;
  867. if(bhas)
  868. {
  869. if(m_SearchMethod.MatchingString(m_EmployerInfoSet.m_EmployerCode,strSearchText))
  870. {//与手牌号码匹配
  871. FillEmployerInfo(nTablesItemNum);//填充记录
  872. nTablesItemNum++;//记录加1
  873. bhas=false;
  874. }
  875. }
  876. if(bhas)//若前面已经找到了这个记录
  877. {
  878. if(m_SearchMethod.MatchingString(m_EmployerInfoSet.m_Name,strSearchText))
  879. {//与名字匹配
  880. FillEmployerInfo(nTablesItemNum);//填充记录
  881. nTablesItemNum++;//记录加1
  882. bhas=false;
  883. }
  884. }
  885. if(bhas)
  886. {
  887. if(m_SearchMethod.MatchingString(m_EmployerInfoSet.m_Depart,strSearchText))
  888. {
  889. FillEmployerInfo(nTablesItemNum);
  890. nTablesItemNum++;
  891. bhas=false;
  892. }
  893. }
  894.         m_EmployerInfoSet.MoveNext();//移动到下一条记录
  895. }
  896. m_EmployerInfoSet.Close();//关闭数据库
  897. nTablesItems[5]=nTablesItemNum;//获得客人信息查询到的总数
  898. }
  899. void CPage1::FillEmployerInfo(int nCurLines)
  900. {
  901.    pszText[5][nCurLines][0]=m_EmployerInfoSet.m_EmployerCode;
  902.    pszText[5][nCurLines][1]=m_EmployerInfoSet.m_Name;
  903.    pszText[5][nCurLines][2]=m_EmployerInfoSet.m_Depart;
  904. }
  905. void CPage1::OnSetCoolProcessPos()
  906. {
  907. m_CoolProgress.SetPos(0);
  908. }