SearchTake.cpp 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742
  1. // SearchTake.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ylgl.h"
  5. #include "SearchTake.h"
  6. #include "TakeControlDlg1.h"
  7. #include "SearchFilter2.h"
  8. #include "InputDate.h"
  9. #ifdef _DEBUG
  10. #define new DEBUG_NEW
  11. #undef THIS_FILE
  12. static char THIS_FILE[] = __FILE__;
  13. #endif
  14. /////////////////////////////////////////////////////////////////////////////
  15. // SearchTake dialog
  16. SearchTake::SearchTake(CWnd* pParent /*=NULL*/)
  17. : CDialog(SearchTake::IDD, pParent)
  18. {
  19. //{{AFX_DATA_INIT(SearchTake)
  20. m_filter = _T("");
  21. m_radio1 = 1;
  22. //}}AFX_DATA_INIT
  23. }
  24. void SearchTake::DoDataExchange(CDataExchange* pDX)
  25. {
  26. CDialog::DoDataExchange(pDX);
  27. //{{AFX_DATA_MAP(SearchTake)
  28. DDX_Control(pDX, IDC_COMBO1, m_combo1);
  29. DDX_Control(pDX, IDC_LIST2, m_List1);
  30. DDX_CBString(pDX, IDC_COMBO1, m_filter);
  31. DDX_Radio(pDX, IDC_RADIO1, m_radio1);
  32. //}}AFX_DATA_MAP
  33. }
  34. BEGIN_MESSAGE_MAP(SearchTake, CDialog)
  35. //{{AFX_MSG_MAP(SearchTake)
  36. ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
  37. ON_BN_CLICKED(IDC_RADIO1, OnRadio1)
  38. ON_BN_CLICKED(IDC_RADIO2, OnRadio2)
  39. ON_BN_CLICKED(IDC_RADIO9, OnRadio9)
  40. ON_CBN_CLOSEUP(IDC_COMBO1, OnCloseupCombo1)
  41. ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)
  42. ON_WM_TIMER()
  43. ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
  44. ON_BN_CLICKED(IDC_BTNSEARCHFILTER, OnBtnsearchfilter)
  45. ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
  46. //}}AFX_MSG_MAP
  47. END_MESSAGE_MAP()
  48. /////////////////////////////////////////////////////////////////////////////
  49. // SearchTake message handlers
  50. extern BOOL CALLBACK EnumChildProc2(HWND hwnd,LPARAM lParam);
  51. BOOL SearchTake::OnInitDialog()
  52. {
  53. CDialog::OnInitDialog();
  54. // TODO: Add extra initialization here
  55. CRect rc2;
  56. GetWindowRect(rc2);
  57. ::MoveWindow(m_hWnd,g_rc.left,g_rc.top,g_rc.Width(),g_rc.Height(),TRUE);
  58. g_WidthScale2 = (float)g_rc.Width()/(float)rc2.Width(); // new/Old
  59. g_HeightScale2 = (float)g_rc.Height()/(float)rc2.Height();
  60. EnumChildWindows(m_hWnd,(WNDENUMPROC)EnumChildProc2,0);
  61. m_combo1.GetWindowRect (rc2);
  62. ScreenToClient(rc2);
  63. rc2.bottom +=200;
  64. m_combo1.MoveWindow (rc2);
  65. if(g_bAllBranch==0)
  66. {
  67. m_nAdd=0;
  68. #ifdef CHILD_VERSION
  69. m_List1.SetHeadings("订单号,100;家长姓名,100;宝宝姓名,100;手机,100;固定电话,100;订单日期,100;取件日期,100;景点,100;拍照,100;拍照日期,100;时间,100;摄影师,100;化妆师,100;接单人,100;套系名称,100;套系价格,100" );
  70. #else
  71. m_List1.SetHeadings("订单号,100;男宾姓名,100;女宾姓名,100;男宾电话,100;女宾电话,100;订单日期,100;取件日期,100;婚期,100;景点,100;拍照,100;拍照日期,100;时间,100;摄影师,100;化妆师,100;接单人,100;套系名称,100;套系价格,100" );
  72. #endif
  73. m_List1.LoadColumnInfo (110);
  74. }
  75. else
  76. {
  77. m_nAdd=1;
  78. #ifdef CHILD_VERSION
  79. m_List1.SetHeadings("店名,100;订单号,100;家长姓名,100;宝宝姓名,100;手机,100;固定电话,100;订单日期,100;取件日期,100;景点,100;拍照,100;拍照日期,100;时间,100;摄影师,100;化妆师,100;接单人,100;套系名称,100;套系价格,100" );
  80. #else
  81. m_List1.SetHeadings("店名,100;订单号,100;男宾姓名,100;女宾姓名,100;男宾电话,100;女宾电话,100;订单日期,100;取件日期,100;婚期,100;景点,100;拍照,100;拍照日期,100;时间,100;摄影师,100;化妆师,100;接单人,100;套系名称,100;套系价格,100" );
  82. #endif
  83. m_List1.LoadColumnInfo (194);
  84. }
  85. GetData();
  86. int i = 0;
  87. for( i=0; i<m_List1array.GetSize (); i++)
  88. {
  89. #ifdef CHILD_VERSION
  90. if(::FindArray (&jdarray, m_List1array.ElementAt (i).ElementAt (7+m_nAdd))==-1)
  91. jdarray.Add (m_List1array.ElementAt (i).ElementAt (7+m_nAdd));
  92. #else
  93. if(::FindArray (&jdarray, m_List1array.ElementAt (i).ElementAt (8+m_nAdd))==-1)
  94. jdarray.Add (m_List1array.ElementAt (i).ElementAt (8+m_nAdd));
  95. #endif
  96. }
  97. m_combo1.AddString ("");
  98. for( i=0; i<jdarray.GetSize (); i++)
  99. {
  100. m_combo1.AddString (jdarray.ElementAt (i));
  101. }
  102. return TRUE; // return TRUE unless you set the focus to a control
  103. // EXCEPTION: OCX Property Pages should return FALSE
  104. }
  105. void SearchTake::OnButton1()
  106. {
  107. // TODO: Add your control notification handler code here
  108. UpdateData();
  109. m_filter.TrimLeft ();
  110. m_filter.TrimRight ();
  111. FillGrid();
  112. }
  113. void SearchTake::FillGrid()
  114. {
  115. UpdateData();
  116. if(g_bSearchFilter)
  117. {
  118. #ifdef CHILD_VERSION
  119. int aa=m_nAdd;
  120. int m_nAdd=aa-1;
  121. #endif
  122. m_List1.DeleteAllItems2 ();
  123. int ii=0;
  124. m_List1.m_arLabels.SetSize( m_List1array.GetSize (), 1 );
  125. int count=0;
  126. {
  127. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  128. {
  129. if(g_filterdate1!="")
  130. {
  131. if(m_List1array.ElementAt (ii).ElementAt (5+m_nAdd)<g_filterdate1 || m_List1array.ElementAt (ii).ElementAt (5+m_nAdd)>g_filterdate2)
  132. continue;
  133. }
  134. if(g_filterdate3!="")
  135. {
  136. if(m_List1array.ElementAt (ii).ElementAt (6+m_nAdd)<g_filterdate3 || m_List1array.ElementAt (ii).ElementAt (6+m_nAdd)>g_filterdate4)
  137. continue;
  138. }
  139. if(g_filterdate5!="")
  140. {
  141. if(m_List1array.ElementAt (ii).ElementAt (7+m_nAdd)<g_filterdate5 || m_List1array.ElementAt (ii).ElementAt (7+m_nAdd)>g_filterdate6)
  142. continue;
  143. }
  144. if(g_waiter1!="")
  145. {
  146. if(m_List1array.ElementAt (ii).ElementAt (8+m_nAdd)!=g_waiter1)
  147. continue;
  148. }
  149. if(g_bAllBranch && g_filterbranch!="")
  150. {
  151. if(m_List1array.ElementAt (ii).ElementAt (0)!=g_filterbranch)
  152. continue;
  153. }
  154. if(m_radio1==1)
  155. {
  156. if( !(m_List1array.ElementAt (ii).ElementAt (9+m_nAdd)!="OK"&&m_List1array.ElementAt (ii).ElementAt (9+m_nAdd)!="拍摄中") )
  157. continue;
  158. }
  159. else if(m_radio1==2)
  160. {
  161. if( !(m_List1array.ElementAt (ii).ElementAt (9+m_nAdd)=="OK"||m_List1array.ElementAt (ii).ElementAt (9+m_nAdd)=="拍摄中") )
  162. continue;
  163. }
  164. if(1)
  165. {
  166. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  167. }
  168. }
  169. }
  170. m_List1.m_arLabels.SetSize(count, 1);
  171. ii=count;
  172. m_List1.m_LabelCount=ii;
  173. m_List1.SetItemCountEx (ii);
  174. CString str;
  175. str.Format ("单数:%d", ii);
  176. SetDlgItemText(IDC_STATIC2, str);
  177. }
  178. else
  179. {
  180. int m_nAdd2=0;
  181. #ifdef CHILD_VERSION
  182. m_nAdd2=-1;
  183. #endif
  184. m_List1.DeleteAllItems2 ();
  185. int ii=0;
  186. m_List1.m_arLabels.SetSize( m_List1array.GetSize (), 1 );
  187. int count=0;
  188. if(m_filter.IsEmpty ())
  189. {
  190. if(m_radio1==1)
  191. {
  192. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  193. {
  194. if(m_List1array.ElementAt (ii).ElementAt (9+m_nAdd+m_nAdd2)!="OK"&&m_List1array.ElementAt (ii).ElementAt (9+m_nAdd+m_nAdd2)!="拍摄中")
  195. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  196. }
  197. }
  198. else if(m_radio1==2)
  199. {
  200. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  201. {
  202. if(m_List1array.ElementAt (ii).ElementAt (9+m_nAdd+m_nAdd2)=="OK"||m_List1array.ElementAt (ii).ElementAt (9+m_nAdd+m_nAdd2)=="拍摄中")
  203. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  204. }
  205. }
  206. else
  207. {
  208. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  209. {
  210. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  211. }
  212. }
  213. }
  214. else
  215. {
  216. if(m_radio1==1)
  217. {
  218. int type=GetType(m_filter);
  219. if(type==1)//电话
  220. {
  221. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  222. {
  223. if(m_List1array.ElementAt (ii).ElementAt (9+m_nAdd+m_nAdd2)!="OK"&&m_List1array.ElementAt (ii).ElementAt (9+m_nAdd+m_nAdd2)!="拍摄中" && (m_List1array.ElementAt (ii).ElementAt (3+m_nAdd).Find (m_filter)!=-1 || \
  224. m_List1array.ElementAt (ii).ElementAt (4+m_nAdd).Find (m_filter)!=-1) )
  225. {
  226. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  227. }
  228. }
  229. }
  230. else if(type==2)//拼音
  231. {
  232. m_filter.MakeUpper ();
  233. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  234. {
  235. if(m_List1array.ElementAt (ii).ElementAt (9+m_nAdd+m_nAdd2)!="OK"&&m_List1array.ElementAt (ii).ElementAt (9+m_nAdd+m_nAdd2)!="拍摄中" && (m_List1array.ElementAt (ii).ElementAt (18+m_nAdd+m_nAdd2).Find (m_filter)!=-1 || \
  236. m_List1array.ElementAt (ii).ElementAt (17+m_nAdd+m_nAdd2).Find (m_filter)!=-1) )
  237. {
  238. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  239. }
  240. }
  241. }
  242. else
  243. {
  244. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  245. {
  246. if(m_List1array.ElementAt (ii).ElementAt (9+m_nAdd+m_nAdd2)!="OK"&&m_List1array.ElementAt (ii).ElementAt (9+m_nAdd+m_nAdd2)!="拍摄中" &&(m_List1array.ElementAt (ii).ElementAt (0).Find (m_filter)!=-1 ||\
  247. m_List1array.ElementAt (ii).ElementAt (1).Find (m_filter)!=-1 || \
  248. m_List1array.ElementAt (ii).ElementAt (2).Find (m_filter)!=-1 || \
  249. m_List1array.ElementAt (ii).ElementAt (3).Find (m_filter)!=-1 || \
  250. m_List1array.ElementAt (ii).ElementAt (4).Find (m_filter)!=-1 || \
  251. m_List1array.ElementAt (ii).ElementAt (5).Find (m_filter)!=-1 || \
  252. m_List1array.ElementAt (ii).ElementAt (6).Find (m_filter)!=-1 || \
  253. m_List1array.ElementAt (ii).ElementAt (7).Find (m_filter)!=-1 || \
  254. m_List1array.ElementAt (ii).ElementAt (8).Find (m_filter)!=-1 || \
  255. m_List1array.ElementAt (ii).ElementAt (9).Find (m_filter)!=-1 || \
  256. m_List1array.ElementAt (ii).ElementAt (10).Find (m_filter)!=-1|| \
  257. m_List1array.ElementAt (ii).ElementAt (11).Find (m_filter)!=-1|| \
  258. m_List1array.ElementAt (ii).ElementAt (12).Find (m_filter)!=-1|| \
  259. m_List1array.ElementAt (ii).ElementAt (13).Find (m_filter)!=-1 || \
  260. m_List1array.ElementAt (ii).ElementAt (15).Find (m_filter)!=-1 || \
  261. m_List1array.ElementAt (ii).ElementAt (16).Find (m_filter)!=-1 || \
  262. m_List1array.ElementAt (ii).ElementAt (14).Find (m_filter)!=-1) )
  263. {
  264. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  265. }
  266. }
  267. }
  268. }
  269. else if(m_radio1==2)
  270. {
  271. int type=GetType(m_filter);
  272. if(type==1)//电话
  273. {
  274. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  275. {
  276. if(m_List1array.ElementAt (ii).ElementAt (9+m_nAdd+m_nAdd2)=="OK"||m_List1array.ElementAt (ii).ElementAt (9+m_nAdd+m_nAdd2)=="拍摄中" && (m_List1array.ElementAt (ii).ElementAt (3+m_nAdd).Find (m_filter)!=-1 || \
  277. m_List1array.ElementAt (ii).ElementAt (4+m_nAdd).Find (m_filter)!=-1) )
  278. {
  279. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  280. }
  281. }
  282. }
  283. else if(type==2)//拼音
  284. {
  285. m_filter.MakeUpper ();
  286. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  287. {
  288. if(m_List1array.ElementAt (ii).ElementAt (9+m_nAdd+m_nAdd2)=="OK"||m_List1array.ElementAt (ii).ElementAt (9+m_nAdd+m_nAdd2)=="拍摄中" && (m_List1array.ElementAt (ii).ElementAt (18+m_nAdd+m_nAdd2).Find (m_filter)!=-1 || \
  289. m_List1array.ElementAt (ii).ElementAt (17+m_nAdd+m_nAdd2).Find (m_filter)!=-1) )
  290. {
  291. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  292. }
  293. }
  294. }
  295. else
  296. {
  297. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  298. {
  299. if(m_List1array.ElementAt (ii).ElementAt (9+m_nAdd+m_nAdd2)=="OK"||m_List1array.ElementAt (ii).ElementAt (9+m_nAdd+m_nAdd2)=="拍摄中" &&(m_List1array.ElementAt (ii).ElementAt (0).Find (m_filter)!=-1 ||\
  300. m_List1array.ElementAt (ii).ElementAt (1).Find (m_filter)!=-1 || \
  301. m_List1array.ElementAt (ii).ElementAt (2).Find (m_filter)!=-1 || \
  302. m_List1array.ElementAt (ii).ElementAt (3).Find (m_filter)!=-1 || \
  303. m_List1array.ElementAt (ii).ElementAt (4).Find (m_filter)!=-1 || \
  304. m_List1array.ElementAt (ii).ElementAt (5).Find (m_filter)!=-1 || \
  305. m_List1array.ElementAt (ii).ElementAt (6).Find (m_filter)!=-1 || \
  306. m_List1array.ElementAt (ii).ElementAt (7).Find (m_filter)!=-1 || \
  307. m_List1array.ElementAt (ii).ElementAt (8).Find (m_filter)!=-1 || \
  308. m_List1array.ElementAt (ii).ElementAt (9).Find (m_filter)!=-1 || \
  309. m_List1array.ElementAt (ii).ElementAt (10).Find (m_filter)!=-1|| \
  310. m_List1array.ElementAt (ii).ElementAt (11).Find (m_filter)!=-1|| \
  311. m_List1array.ElementAt (ii).ElementAt (12).Find (m_filter)!=-1|| \
  312. m_List1array.ElementAt (ii).ElementAt (13).Find (m_filter)!=-1 || \
  313. m_List1array.ElementAt (ii).ElementAt (15).Find (m_filter)!=-1 || \
  314. m_List1array.ElementAt (ii).ElementAt (16).Find (m_filter)!=-1 || \
  315. m_List1array.ElementAt (ii).ElementAt (14).Find (m_filter)!=-1) )
  316. {
  317. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  318. }
  319. }
  320. }
  321. }
  322. else
  323. {
  324. int type=GetType(m_filter);
  325. if(type==1)//电话
  326. {
  327. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  328. {
  329. if( (m_List1array.ElementAt (ii).ElementAt (3+m_nAdd).Find (m_filter)!=-1 || \
  330. m_List1array.ElementAt (ii).ElementAt (4+m_nAdd).Find (m_filter)!=-1) )
  331. {
  332. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  333. }
  334. }
  335. }
  336. else if(type==2)//拼音
  337. {
  338. m_filter.MakeUpper ();
  339. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  340. {
  341. if( (m_List1array.ElementAt (ii).ElementAt (18+m_nAdd+m_nAdd2).Find (m_filter)!=-1 || \
  342. m_List1array.ElementAt (ii).ElementAt (17+m_nAdd+m_nAdd2).Find (m_filter)!=-1) )
  343. {
  344. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  345. }
  346. }
  347. }
  348. else
  349. {
  350. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  351. {
  352. if((m_List1array.ElementAt (ii).ElementAt (0).Find (m_filter)!=-1 ||\
  353. m_List1array.ElementAt (ii).ElementAt (1).Find (m_filter)!=-1 || \
  354. m_List1array.ElementAt (ii).ElementAt (2).Find (m_filter)!=-1 || \
  355. m_List1array.ElementAt (ii).ElementAt (3).Find (m_filter)!=-1 || \
  356. m_List1array.ElementAt (ii).ElementAt (4).Find (m_filter)!=-1 || \
  357. m_List1array.ElementAt (ii).ElementAt (5).Find (m_filter)!=-1 || \
  358. m_List1array.ElementAt (ii).ElementAt (6).Find (m_filter)!=-1 || \
  359. m_List1array.ElementAt (ii).ElementAt (7).Find (m_filter)!=-1 || \
  360. m_List1array.ElementAt (ii).ElementAt (8).Find (m_filter)!=-1 || \
  361. m_List1array.ElementAt (ii).ElementAt (9).Find (m_filter)!=-1 || \
  362. m_List1array.ElementAt (ii).ElementAt (10).Find (m_filter)!=-1|| \
  363. m_List1array.ElementAt (ii).ElementAt (11).Find (m_filter)!=-1|| \
  364. m_List1array.ElementAt (ii).ElementAt (12).Find (m_filter)!=-1|| \
  365. m_List1array.ElementAt (ii).ElementAt (13).Find (m_filter)!=-1 || \
  366. m_List1array.ElementAt (ii).ElementAt (15).Find (m_filter)!=-1 || \
  367. m_List1array.ElementAt (ii).ElementAt (16).Find (m_filter)!=-1 || \
  368. m_List1array.ElementAt (ii).ElementAt (14).Find (m_filter)!=-1) )
  369. {
  370. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  371. }
  372. }
  373. }
  374. }
  375. }
  376. m_List1.m_arLabels.SetSize(count, 1);
  377. ii=count;
  378. m_List1.m_LabelCount=ii;
  379. m_List1.SetItemCountEx (ii);
  380. CString str;
  381. str.Format ("单数:%d", ii);
  382. SetDlgItemText(IDC_STATIC2, str);
  383. }
  384. }
  385. void SearchTake::OnRadio1()
  386. {
  387. // TODO: Add your control notification handler code here
  388. FillGrid();
  389. }
  390. void SearchTake::OnRadio2()
  391. {
  392. // TODO: Add your control notification handler code here
  393. FillGrid();
  394. }
  395. void SearchTake::OnRadio9()
  396. {
  397. // TODO: Add your control notification handler code here
  398. FillGrid();
  399. }
  400. void SearchTake::OnCloseupCombo1()
  401. {
  402. // TODO: Add your control notification handler code here
  403. SetTimer(1, 100, NULL);
  404. }
  405. void SearchTake::OnSelchangeCombo1()
  406. {
  407. // TODO: Add your control notification handler code here
  408. SetTimer(1, 100, NULL);
  409. }
  410. void SearchTake::OnTimer(UINT nIDEvent)
  411. {
  412. // TODO: Add your message handler code here and/or call default
  413. KillTimer(nIDEvent);
  414. OnButton1();
  415. }
  416. void SearchTake::OnButton2()
  417. {
  418. // TODO: Add your control notification handler code here
  419. POSITION pos;
  420. pos=m_List1.GetFirstSelectedItemPosition();
  421. if(pos==NULL)
  422. {
  423. AfxMessageBox("请先选中您要安排的客人!", MB_ICONINFORMATION);
  424. return;
  425. }
  426. int iItem;
  427. CStringArray idarray;
  428. CStringArray brancharray;
  429. while (pos)
  430. {
  431. iItem = m_List1.GetNextSelectedItem(pos);
  432. idarray.Add (m_List1.GetItemText (iItem, 0+m_nAdd));
  433. if(g_bAllBranch)
  434. brancharray.Add (m_List1.GetItemText (iItem, 0));
  435. }
  436. if(idarray.GetSize ()==1)
  437. {
  438. CString id=idarray.ElementAt (0);
  439. TakeControlDlg1 dlg;
  440. if(g_bAllBranch)
  441. dlg.m_branch=brancharray.ElementAt (0);
  442. dlg.id=id;
  443. dlg.m_bModify=1;
  444. dlg.DoModal ();
  445. }
  446. else
  447. {
  448. TakeControlDlg1 dlg;
  449. dlg.m_pIdArray=&idarray;
  450. dlg.m_pBranchArray=&brancharray;
  451. dlg.m_bModify=1;
  452. dlg.DoModal ();
  453. }
  454. if(g_bAllBranch)
  455. {
  456. if(AfxMessageBox("是否实时更新数据?", MB_YESNO|MB_ICONINFORMATION)!=IDYES)return;
  457. }
  458. GetData();
  459. }
  460. void SearchTake::OnOK()
  461. {
  462. // TODO: Add extra validation here
  463. }
  464. BOOL SearchTake::PreTranslateMessage(MSG* pMsg)
  465. {
  466. // TODO: Add your specialized code here and/or call the base class
  467. if(pMsg->message==WM_KEYDOWN)
  468. {
  469. switch (pMsg->wParam)
  470. {
  471. case VK_RETURN:
  472. OnButton1();
  473. return 1;
  474. break;
  475. }
  476. }
  477. return CDialog::PreTranslateMessage(pMsg);
  478. }
  479. void SearchTake::HidePrice()
  480. {
  481. #ifdef LKAY_VERSION
  482. if(IsHasRights2new(31))return;
  483. for(int i=0; i< m_List1array.GetSize (); i++)
  484. {
  485. m_List1array.ElementAt (i).SetAt (3+m_nAdd, "***");
  486. m_List1array.ElementAt (i).SetAt (4+m_nAdd, "***");
  487. m_List1array.ElementAt (i).SetAt (13+m_nAdd, "***");
  488. m_List1array.ElementAt (i).SetAt (14+m_nAdd, "***");
  489. }
  490. #else
  491. if(IsHasRights2new(31))return;
  492. for(int i=0; i< m_List1array.GetSize (); i++)
  493. {
  494. m_List1array.ElementAt (i).SetAt (3+m_nAdd, "***");
  495. m_List1array.ElementAt (i).SetAt (4+m_nAdd, "***");
  496. }
  497. #endif
  498. }
  499. void SearchTake::OnBtnsearchfilter()
  500. {
  501. // TODO: Add your control notification handler code here
  502. SearchFilter2 dlg;
  503. dlg.m_pArray=&jdarray;
  504. if(dlg.DoModal ()==IDOK)
  505. {
  506. FillGrid();
  507. }
  508. g_bSearchFilter=0;
  509. }
  510. void SearchTake::OnButton3()
  511. {
  512. // TODO: Add your control notification handler code here
  513. POSITION pos;
  514. pos=m_List1.GetFirstSelectedItemPosition();
  515. if(pos==NULL)
  516. {
  517. AfxMessageBox("请选中多对客人!", MB_ICONINFORMATION);
  518. return;
  519. }
  520. int iItem;
  521. if(g_bAllBranch)
  522. {
  523. CStringArray idarray[100];
  524. CStringArray jdarray[100];
  525. CStringArray brancharray;
  526. int idcount=0;
  527. int branchpos;
  528. CString branch;
  529. while (pos)
  530. {
  531. iItem = m_List1.GetNextSelectedItem(pos);
  532. branchpos=::FindArray(&brancharray, m_List1.GetItemText (iItem, 0) );if(branchpos>=100)continue;
  533. if(branchpos==-1)
  534. {
  535. branchpos=brancharray.GetSize();
  536. brancharray.Add(m_List1.GetItemText (iItem, 0));
  537. }
  538. idarray[branchpos].Add (m_List1.GetItemText (iItem, 0+m_nAdd));
  539. #ifdef CHILD_VERSION
  540. jdarray[branchpos].Add (m_List1.GetItemText (iItem, 7+m_nAdd));
  541. #else
  542. jdarray[branchpos].Add (m_List1.GetItemText (iItem, 8+m_nAdd));
  543. #endif
  544. idcount++;
  545. }
  546. if(idcount==1)
  547. {
  548. AfxMessageBox("请选中多对客人,或者按预约按钮!", MB_ICONINFORMATION);
  549. return;
  550. }
  551. else
  552. {
  553. InputDate dlg;
  554. dlg.m_mode=1;
  555. if(dlg.DoModal ()!=IDOK)return;
  556. for(int aa=0; aa<brancharray.GetSize(); aa++)
  557. {
  558. branch=brancharray.ElementAt(aa);
  559. CString sql;
  560. sql.Format ("update dindanjd set [bookingdate]='%s',[clerk]='%s',[inputtime]='msgtimestamp2' where ", dlg.m_date, g_user.name);
  561. CString filter,temp;
  562. for(int i=0; i<idarray[aa].GetSize (); i++)
  563. {
  564. if(i==0)
  565. temp="[id]='"+idarray[aa].ElementAt (i)+"' and [name]='"+jdarray[aa].ElementAt (i)+"'";
  566. else
  567. temp=" or [id]='"+idarray[aa].ElementAt (i)+"' and [name]='"+jdarray[aa].ElementAt (i)+"'";
  568. filter+=temp;
  569. }
  570. sql+=filter;
  571. g_sendhead.bsql=1;
  572. g_branchip=GetIP(branch);
  573. g_pMainWnd->OnDisconnect();
  574. g_branchname=branch;
  575. g_bBranchModify=1;
  576. g_pMainWnd->ProcessChatMessageRequest2(sql);
  577. g_pMainWnd->OnDisconnect();g_bBranchModify=0;g_branchip=g_branchname="";
  578. if(g_bSendOK==0)
  579. {
  580. sql.Format("保存分店: %s 失败!", branch);
  581. AfxMessageBox(sql, MB_ICONINFORMATION);
  582. continue;
  583. }
  584. }
  585. }
  586. if(AfxMessageBox("是否实时更新数据?", MB_YESNO|MB_ICONINFORMATION)==IDYES)GetData();
  587. }
  588. else
  589. {
  590. CStringArray idarray;
  591. CStringArray jdarray;
  592. while (pos)
  593. {
  594. iItem = m_List1.GetNextSelectedItem(pos);
  595. idarray.Add (m_List1.GetItemText (iItem, 0+m_nAdd));
  596. #ifdef CHILD_VERSION
  597. jdarray.Add (m_List1.GetItemText (iItem, 7+m_nAdd));
  598. #else
  599. jdarray.Add (m_List1.GetItemText (iItem, 8+m_nAdd));
  600. #endif
  601. }
  602. if(idarray.GetSize ()==1)
  603. {
  604. AfxMessageBox("请选中多对客人,或者按预约按钮!", MB_ICONINFORMATION);
  605. return;
  606. }
  607. else
  608. {
  609. InputDate dlg;
  610. dlg.m_mode=1;
  611. if(dlg.DoModal ()!=IDOK)return;
  612. CString sql;
  613. sql.Format ("update dindanjd set [bookingdate]='%s',[clerk]='%s',[inputtime]='msgtimestamp2' where ", dlg.m_date, g_user.name);
  614. CString filter,temp;
  615. for(int i=0; i<idarray.GetSize (); i++)
  616. {
  617. if(i==0)
  618. temp="[id]='"+idarray.ElementAt (i)+"' and [name]='"+jdarray.ElementAt (i)+"'";
  619. else
  620. temp=" or [id]='"+idarray.ElementAt (i)+"' and [name]='"+jdarray.ElementAt (i)+"'";
  621. filter+=temp;
  622. }
  623. sql+=filter;
  624. g_sendhead.bsql=1;
  625. g_pMainWnd->ProcessChatMessageRequest2(sql);if(g_bSendOK==0)return;
  626. AfxMessageBox("保存成功!", MB_ICONINFORMATION);
  627. }
  628. GetData();
  629. }
  630. }
  631. void SearchTake::GetData()
  632. {
  633. if(g_bAllBranch==0)
  634. {
  635. g_sendhead.code[0]=189;
  636. g_sendhead.tabcount=1;
  637. g_sendhead.bsql=0;
  638. g_pMainWnd->ProcessChatMessageRequest2(1);if(g_bSendOK==0)return;
  639. DataToArray(&m_List1array);
  640. HidePrice();
  641. FillGrid();
  642. return;
  643. }
  644. //////////////数据汇总
  645. m_List1array.RemoveAll ();
  646. CStringArray failbrancharray;
  647. CString branch;
  648. int i = 0;
  649. for( i=-1; i<g_brancharray.GetSize ()-1; i++)
  650. {
  651. if(i!=-1)
  652. {
  653. branch=g_brancharray.ElementAt (i).ElementAt (0);
  654. g_branchip=g_brancharray.ElementAt (i).ElementAt (1);
  655. g_pMainWnd->OnDisconnect();
  656. g_branchname=branch;
  657. g_bBranchModify=1;
  658. }
  659. else
  660. branch=g_brancharray.ElementAt (g_brancharray.GetSize ()-1).ElementAt (0);
  661. g_sendhead.bsql=0;
  662. g_sendhead.code[0]=189;
  663. g_sendhead.tabcount=1;
  664. g_pMainWnd->ProcessChatMessageRequest2(1);
  665. if(g_bSendOK==0)
  666. {
  667. failbrancharray.Add (branch);
  668. continue;
  669. }
  670. CArray<CStringArray, CStringArray>List1array;
  671. DataToArray(&List1array);
  672. int size=m_List1array.GetSize ();
  673. for(int j=0; j<List1array.GetSize (); j++)
  674. {
  675. size++;
  676. m_List1array.SetSize(size , 1 );
  677. size--;
  678. m_List1array.ElementAt (size).Copy (List1array.ElementAt (j));
  679. m_List1array.ElementAt (size).InsertAt (0, branch);
  680. size++;
  681. }
  682. }
  683. for(i=0; i<failbrancharray.GetSize (); i++)
  684. {
  685. // AfxMessageBox("连接"+failbrancharray.ElementAt(i)+"服务器失败!", MB_ICONINFORMATION);
  686. }
  687. g_pMainWnd->OnDisconnect();
  688. g_bBranchModify=0;g_branchip=g_branchname="";
  689. HidePrice();
  690. FillGrid();
  691. }