outsourcing4.cpp 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705
  1. // outsourcing4.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ylgl.h"
  5. #include "outsourcing4.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // outsourcing4
  13. outsourcing4::outsourcing4(CWnd* pParent /*=NULL*/)
  14. : CDialog(outsourcing4::IDD)
  15. {
  16. //{{AFX_DATA_INIT(outsourcing4)
  17. m_year = atoi(g_date.Mid(0, 4));
  18. m_month = atoi(g_date.Mid(5, 2));
  19. m_day = atoi(g_date.Mid(8, 2));
  20. m_check1 = FALSE;
  21. m_bInit = 0;
  22. m_timestmap = 0;
  23. m_radio = 0;
  24. //}}AFX_DATA_INIT
  25. }
  26. void outsourcing4::DoDataExchange(CDataExchange* pDX)
  27. {
  28. CDialog::DoDataExchange(pDX);
  29. //{{AFX_DATA_MAP(outsourcing4)
  30. DDX_Control(pDX, IDC_COMBObranch, m_combobranch);
  31. DDX_Control(pDX, IDC_COMBOsplb3, m_waiter1);
  32. DDX_Control(pDX, IDC_COMBOsplb2, m_combosplb2);
  33. DDX_Control(pDX, IDC_COMBOsp2, m_combosp2);
  34. DDX_Control(pDX, IDC_COMBOsp, m_combosp);
  35. DDX_Control(pDX, IDC_COMBOsplb, m_combosplb);
  36. DDX_Control(pDX, IDC_SPIN3, m_spinday);
  37. DDX_Control(pDX, IDC_SPIN2, m_spinmonth);
  38. DDX_Control(pDX, IDC_SPIN1, m_spinyear);
  39. DDX_Control(pDX, IDC_LIST2, m_List1);
  40. DDX_Control(pDX, IDC_STATIC1, m_static1);
  41. DDX_Text(pDX, IDC_EDITyear, m_year);
  42. DDV_MinMaxUInt(pDX, m_year, 1900, 3000);
  43. DDX_Text(pDX, IDC_EDITmonth, m_month);
  44. DDV_MinMaxUInt(pDX, m_month, 1, 12);
  45. DDX_Text(pDX, IDC_EDITday, m_day);
  46. DDV_MinMaxUInt(pDX, m_day, 1, 31);
  47. DDX_Check(pDX, IDC_CHECK1, m_check1);
  48. DDX_Radio(pDX, IDC_RADIO3, m_radio);
  49. //}}AFX_DATA_MAP
  50. }
  51. BEGIN_MESSAGE_MAP(outsourcing4, CDialog)
  52. //{{AFX_MSG_MAP(outsourcing4)
  53. ON_BN_CLICKED(IDC_BUTclose, OnBUTclose)
  54. ON_EN_CHANGE(IDC_EDITyear, OnChangeEDITyear)
  55. ON_EN_CHANGE(IDC_EDITmonth, OnChangeEDITmonth)
  56. ON_EN_CHANGE(IDC_EDITday, OnChangeEDITday)
  57. ON_CBN_SELCHANGE(IDC_COMBOsplb, OnSelchangeCOMBOsplb)
  58. ON_BN_CLICKED(IDC_CHECK1, OnCheck1)
  59. ON_CBN_SELCHANGE(IDC_COMBOsplb2, OnSelchangeCOMBOsplb2)
  60. ON_CBN_SELCHANGE(IDC_COMBOsp2, OnSelchangeCOMBOsp2)
  61. ON_BN_CLICKED(IDC_RADIO3, OnRadio3)
  62. ON_BN_CLICKED(IDC_RADIO4, OnRadio4)
  63. ON_BN_CLICKED(IDC_BUTprint, OnBUTprint)
  64. ON_CBN_SELCHANGE(IDC_COMBOsplb3, OnSelchangeCOMBOsplb3)
  65. ON_BN_CLICKED(IDC_RADIO5, OnRadio5)
  66. ON_CBN_CLOSEUP(IDC_COMBOsplb3, OnCloseupCOMBOsplb3)
  67. ON_CBN_SELCHANGE(IDC_COMBObranch, OnSelchangeCOMBObranch)
  68. //}}AFX_MSG_MAP
  69. END_MESSAGE_MAP()
  70. /////////////////////////////////////////////////////////////////////////////
  71. // outsourcing4 diagnostics
  72. #ifdef _DEBUG
  73. void outsourcing4::AssertValid() const
  74. {
  75. CDialog::AssertValid();
  76. }
  77. void outsourcing4::Dump(CDumpContext& dc) const
  78. {
  79. CDialog::Dump(dc);
  80. }
  81. #endif //_DEBUG
  82. /////////////////////////////////////////////////////////////////////////////
  83. // outsourcing4 message handlers
  84. extern BOOL CALLBACK EnumChildProc2(HWND hwnd, LPARAM lParam);
  85. BOOL outsourcing4::OnInitDialog()
  86. {
  87. CDialog::OnInitDialog();
  88. // TODO: Add your specialized code here and/or call the base class
  89. if (g_bAllBranch)
  90. {
  91. GetDlgItem(IDC_STATIC3)->ShowWindow(SW_SHOW);
  92. GetDlgItem(IDC_COMBObranch)->ShowWindow(SW_SHOW);
  93. // m_combobranch.AddString ("");
  94. for (int i = 0; i < g_brancharray.GetSize(); i++)
  95. {
  96. m_combobranch.AddString(g_brancharray.ElementAt(i).ElementAt(0));
  97. }
  98. }
  99. CRect rc2;
  100. GetWindowRect(rc2);
  101. ::MoveWindow(m_hWnd, g_rc.left, g_rc.top, g_rc.Width(), g_rc.Height(), TRUE);
  102. g_WidthScale2 = (float)g_rc.Width() / (float)rc2.Width(); // new/Old
  103. g_HeightScale2 = (float)g_rc.Height() / (float)rc2.Height();
  104. EnumChildWindows(m_hWnd, (WNDENUMPROC)EnumChildProc2, 0);
  105. m_waiter1.RefDroppedWidth();
  106. m_combosplb.GetWindowRect(rc2);
  107. ScreenToClient(rc2);
  108. rc2.bottom += 200;
  109. m_combosplb.MoveWindow(rc2);
  110. m_combosp.GetWindowRect(rc2);
  111. ScreenToClient(rc2);
  112. rc2.bottom += 200;
  113. m_combosp.MoveWindow(rc2);
  114. m_combosplb2.GetWindowRect(rc2);
  115. ScreenToClient(rc2);
  116. rc2.bottom += 200;
  117. m_combosplb2.MoveWindow(rc2);
  118. m_combosp2.GetWindowRect(rc2);
  119. ScreenToClient(rc2);
  120. rc2.bottom += 200;
  121. m_combosp2.MoveWindow(rc2);
  122. m_static1.SetFont(&g_titlefont);
  123. #ifdef CHILD_VERSION // 2015-05-18 添加制作费;
  124. m_List1.SetHeadings("订单号,100;家长姓名,100;宝宝姓名,100;产品名称,100;制作费,100;数量,100;是否发出,100;是否返工,100;返工日期,100;是否完成,100;完成日期,100" );
  125. #else
  126. m_List1.SetHeadings("订单号,100;男宾姓名,100;女宾姓名,100;产品名称,100;制作费,100;数量,100;是否发出,100;是否返工,100;返工日期,100;是否完成,100;完成日期,100");
  127. #endif
  128. m_List1.m_bSortSupport = 0;
  129. m_List1.LoadColumnInfo(180);
  130. m_spinyear.SetRange(1900, 3000);
  131. m_spinmonth.SetRange(1, 12);
  132. m_spinday.SetRange(1, 31);
  133. m_bInit = 1;
  134. DateChange();
  135. g_sendhead.bsql = 0;
  136. g_sendhead.code[0] = 2; // 商品类别表;
  137. g_sendhead.code[1] = 4; // 商品表;
  138. g_sendhead.code[2] = 9; // 供应商表;
  139. g_sendhead.tabcount = 3;
  140. g_pMainWnd->ProcessChatMessageRequest2(1);
  141. if (g_bSendOK == 0)
  142. {
  143. CDialog::OnOK();
  144. return 0;
  145. }
  146. CArray<CStringArray, CStringArray>g_List2array;
  147. DataToArray(&g_List1array, &m_List3array, &g_List2array);
  148. m_combosplb2.ResetContent();
  149. m_combosplb2.AddString("全部");
  150. for (int i = 0; i < g_List1array.GetSize(); i++)
  151. m_combosplb2.AddString(g_List1array.ElementAt(i).ElementAt(0));
  152. m_combosplb.ResetContent();
  153. m_combosplb.AddString("全部");
  154. for (i = 0; i < g_List2array.GetSize(); i++)
  155. {
  156. m_combosplb.AddString(g_List2array.ElementAt(i).ElementAt(1));
  157. }
  158. m_combosplb.SetCurSel(0);
  159. return TRUE;
  160. }
  161. void outsourcing4::FillGrid()
  162. {
  163. UpdateData();
  164. if (m_radio == 1)
  165. {
  166. FillGrid2();
  167. return;
  168. }
  169. else if (m_radio == 2)
  170. {
  171. FillGrid3();
  172. return;
  173. }
  174. m_List1.DeleteAllItems2();
  175. int ii = 0;
  176. m_List1.m_arLabels.SetSize(m_List1array.GetSize(), 1);
  177. int count = 0;
  178. CString str;
  179. CString splb = "全部";
  180. int pos = m_combosplb.GetCurSel();
  181. if (pos != -1)
  182. {
  183. m_combosplb.GetLBText(pos, splb);
  184. }
  185. if (splb == "全部")
  186. {
  187. if (!m_check1)
  188. {
  189. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  190. {
  191. m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii));
  192. }
  193. }
  194. else
  195. {
  196. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  197. {
  198. //if (m_List1array.ElementAt(ii).ElementAt(7) == "OK")continue;
  199. if (m_List1array.ElementAt(ii).ElementAt(8) == "OK")continue;
  200. m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii));
  201. if (m_List1.m_arLabels.ElementAt(count - 1).ElementAt(0) == "")
  202. {
  203. int aa = ii;
  204. while (aa)
  205. {
  206. if (m_List1array.ElementAt(aa).ElementAt(0) != "")break;
  207. aa--;
  208. }
  209. m_List1.m_arLabels.ElementAt(count - 1).SetAt(0, m_List1array.ElementAt(aa).ElementAt(0));
  210. m_List1.m_arLabels.ElementAt(count - 1).SetAt(1, m_List1array.ElementAt(aa).ElementAt(1));
  211. m_List1.m_arLabels.ElementAt(count - 1).SetAt(2, m_List1array.ElementAt(aa).ElementAt(2));
  212. }
  213. }
  214. }
  215. }
  216. else
  217. {
  218. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  219. {
  220. if (m_List1array.ElementAt(ii).ElementAt(6).GetLength() < 4)continue;
  221. if (m_List1array.ElementAt(ii).ElementAt(6).Right(m_List1array.ElementAt(ii).ElementAt(6).GetLength() - 4) != splb)continue;
  222. if (m_List1array.ElementAt(ii).ElementAt(7).Find("工厂") == -1)continue;
  223. m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii));
  224. if (m_List1.m_arLabels.ElementAt(count - 1).ElementAt(0) == "")
  225. {
  226. int aa = ii;
  227. while (aa)
  228. {
  229. if (m_List1array.ElementAt(aa).ElementAt(0) != "")break;
  230. aa--;
  231. }
  232. m_List1.m_arLabels.ElementAt(count - 1).SetAt(0, m_List1array.ElementAt(aa).ElementAt(0));
  233. m_List1.m_arLabels.ElementAt(count - 1).SetAt(1, m_List1array.ElementAt(aa).ElementAt(1));
  234. m_List1.m_arLabels.ElementAt(count - 1).SetAt(2, m_List1array.ElementAt(aa).ElementAt(2));
  235. }
  236. }
  237. }
  238. m_List1.m_arLabels.SetSize(count, 1);
  239. ii = count;
  240. m_List1.m_LabelCount = ii;
  241. m_List1.SetItemCountEx(ii);
  242. str.Format("项目:%d", ii);
  243. SetDlgItemText(IDC_STATIC2, str);
  244. }
  245. void outsourcing4::OnBUTclose()
  246. {
  247. // TODO: Add your control notification handler code here
  248. CDialog::OnCancel();
  249. }
  250. void outsourcing4::OnChangeEDITyear()
  251. {
  252. DateChange();
  253. }
  254. void outsourcing4::OnChangeEDITmonth()
  255. {
  256. DateChange();
  257. }
  258. void outsourcing4::OnChangeEDITday()
  259. {
  260. }
  261. void outsourcing4::DateChange()
  262. {
  263. if (m_bInit == 0)return;
  264. m_spinyear.EnableWindow(0);
  265. m_spinmonth.EnableWindow(0);
  266. m_spinday.EnableWindow(0);
  267. UpdateData();
  268. if (m_branch != "")
  269. {
  270. g_pMainWnd->OnDisconnect();
  271. g_branchip = GetIP(m_branch);
  272. g_pMainWnd->OnDisconnect();
  273. g_branchname = m_branch;
  274. g_bBranchModify = 1;
  275. }
  276. int i;
  277. int g_nYearposTemp = g_nYearpos;
  278. BOOL bLastYear = 0;
  279. BOOL bThisYear = 0;
  280. #if JEFF_TEST_ON // 2015开始禁用跨年数据;
  281. int g_nYearposPre = -1;
  282. if (m_year >= 2014 && m_year <= atoi(g_date.Left(4)) && g_hisyeararray.GetSize())
  283. {
  284. g_nYearpos = -1;
  285. bThisYear = 1;
  286. if (m_year == 2014)
  287. {
  288. g_nYearposPre = GetYearPos(m_year - 1);
  289. }
  290. }
  291. else if (m_year <= 2013 && g_hisyeararray.GetSize())
  292. {
  293. g_nYearpos = GetYearPos(m_year);
  294. if (g_nYearpos != -1)
  295. g_nYearposPre = GetYearPos(m_year - 1);
  296. bLastYear = 1;
  297. }
  298. #else
  299. if(m_year==atoi(g_date.Left (4)) && g_hisyeararray.GetSize () )
  300. bThisYear=1;
  301. else if(m_year<=atoi(g_date.Left (4))-1 && g_hisyeararray.GetSize ())
  302. bLastYear=1;
  303. g_nYearpos=GetYearPos(m_year);
  304. int g_nYearposPre=GetYearPos(m_year-1);
  305. #endif
  306. g_sendhead.bsql = 0;
  307. g_sendhead.code[0] = 219;
  308. g_sendhead.tabcount = 1;
  309. CString sql, strdate, strdate2;
  310. strdate.Format("%04d-%02d-%02d", m_year, m_month, 1);
  311. strdate2.Format("%04d-%02d-%02d", m_year, m_month, 31);
  312. m_static1.SetWindowText(strdate.Left(7) + "返工资料");
  313. sql.Format("[date2]>='" + strdate + "' and [date2]<='" + strdate2 + "' and [status4] like '返';");
  314. g_pMainWnd->ProcessChatMessageRequest2(sql);
  315. if (g_bSendOK == 0)
  316. {
  317. m_spinyear.EnableWindow(1);
  318. m_spinmonth.EnableWindow(1);
  319. m_spinday.EnableWindow(1);
  320. g_nYearpos = g_nYearposTemp;
  321. return;
  322. }
  323. DataToArray(&m_List1array);
  324. if (bLastYear)//如果是去年, 则加今年的补款
  325. {
  326. g_nYearpos = -1;//今年
  327. g_sendhead.bsql = 0;
  328. g_sendhead.code[0] = 219;
  329. g_sendhead.tabcount = 1;
  330. g_pMainWnd->ProcessChatMessageRequest2(sql);
  331. if (g_bSendOK == 0)
  332. {
  333. m_spinyear.EnableWindow(1);
  334. m_spinmonth.EnableWindow(1);
  335. m_spinday.EnableWindow(1);
  336. g_nYearpos = g_nYearposTemp;
  337. return;
  338. }
  339. CArray<CStringArray, CStringArray>ThisYearList1array;
  340. DataToArray(&ThisYearList1array);
  341. int oldsize = m_List1array.GetSize();
  342. m_List1array.SetSize(oldsize + ThisYearList1array.GetSize());
  343. for (i = oldsize; i < oldsize + ThisYearList1array.GetSize(); i++)
  344. {
  345. m_List1array.ElementAt(i).Copy(ThisYearList1array.ElementAt(i - oldsize));
  346. }
  347. }
  348. if (g_nYearposPre != -1)//如果是今年, 则加去年的补款
  349. {
  350. g_nYearpos = g_nYearposPre;//去年
  351. g_sendhead.bsql = 0;
  352. g_sendhead.code[0] = 219;
  353. g_sendhead.tabcount = 1;
  354. g_pMainWnd->ProcessChatMessageRequest2(sql);
  355. if (g_bSendOK == 0)
  356. {
  357. m_spinyear.EnableWindow(1);
  358. m_spinmonth.EnableWindow(1);
  359. m_spinday.EnableWindow(1);
  360. g_nYearpos = g_nYearposTemp;
  361. return;
  362. }
  363. CArray<CStringArray, CStringArray>ThisYearList1array;
  364. DataToArray(&ThisYearList1array);
  365. int oldsize = m_List1array.GetSize();
  366. m_List1array.SetSize(oldsize + ThisYearList1array.GetSize());
  367. for (i = oldsize; i < oldsize + ThisYearList1array.GetSize(); i++)
  368. {
  369. m_List1array.ElementAt(i).Copy(ThisYearList1array.ElementAt(i - oldsize));
  370. }
  371. }
  372. g_nYearpos = g_nYearposTemp;
  373. FillGrid();
  374. m_spinyear.EnableWindow(1);
  375. m_spinmonth.EnableWindow(1);
  376. m_spinday.EnableWindow(1);
  377. }
  378. void outsourcing4::OnSelchangeCOMBOsplb()
  379. {
  380. // TODO: Add your control notification handler code here
  381. FillGrid();
  382. }
  383. void outsourcing4::OnCheck1()
  384. {
  385. // TODO: Add your control notification handler code here
  386. FillGrid();
  387. }
  388. void outsourcing4::OnSelchangeCOMBOsplb2()
  389. {
  390. // TODO: Add your control notification handler code here
  391. int pos = m_combosplb2.GetCurSel();
  392. if (pos == -1)return;
  393. CString str;
  394. m_combosplb2.GetLBText(pos, str);
  395. m_combosp2.ResetContent();
  396. m_combosp2.AddString("全部");
  397. for (int ii = 0; ii < m_List3array.GetSize(); ii++)
  398. {
  399. if (m_List3array.ElementAt(ii).ElementAt(6) == str)
  400. {
  401. m_combosp2.AddString(m_List3array.ElementAt(ii).ElementAt(1));
  402. }
  403. }
  404. m_combosp2.SetCurSel(0);
  405. FillGrid();
  406. }
  407. void outsourcing4::FillGrid2()
  408. {
  409. m_List1.DeleteAllItems2();
  410. int ii = 0;
  411. m_List1.m_arLabels.SetSize(m_List1array.GetSize(), 1);
  412. int count = 0;
  413. CString str;
  414. CString splb = "全部";
  415. CString sp = "全部";
  416. int pos = m_combosplb2.GetCurSel();
  417. if (pos != -1)
  418. {
  419. m_combosplb2.GetLBText(pos, splb);
  420. }
  421. pos = m_combosp2.GetCurSel();
  422. if (pos != -1)
  423. {
  424. m_combosp2.GetLBText(pos, sp);
  425. }
  426. if (splb == "全部")
  427. {
  428. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  429. {
  430. if (m_check1)
  431. {
  432. if (m_List1array.ElementAt(ii).ElementAt(8) == "OK")continue;
  433. }
  434. m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii));
  435. }
  436. }
  437. else
  438. {
  439. if (sp != "全部")
  440. {
  441. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  442. {
  443. if (sp != m_List1array.ElementAt(ii).ElementAt(3))continue;
  444. m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii));
  445. if (m_List1.m_arLabels.ElementAt(count - 1).ElementAt(0) == "")
  446. {
  447. int aa = ii;
  448. while (aa)
  449. {
  450. if (m_List1array.ElementAt(aa).ElementAt(0) != "")break;
  451. aa--;
  452. }
  453. m_List1.m_arLabels.ElementAt(count - 1).SetAt(0, m_List1array.ElementAt(aa).ElementAt(0));
  454. m_List1.m_arLabels.ElementAt(count - 1).SetAt(1, m_List1array.ElementAt(aa).ElementAt(1));
  455. m_List1.m_arLabels.ElementAt(count - 1).SetAt(2, m_List1array.ElementAt(aa).ElementAt(2));
  456. }
  457. }
  458. }
  459. else
  460. {
  461. CStringArray cursparray;
  462. for (int aa = 0; aa < m_combosp2.GetCount(); aa++)
  463. {
  464. m_combosp2.GetLBText(aa, str);
  465. cursparray.Add(str);
  466. }
  467. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  468. {
  469. BOOL bFind = 0;
  470. for (int aa = 0; aa < cursparray.GetSize(); aa++)
  471. {
  472. if (cursparray.ElementAt(aa) == m_List1array.ElementAt(ii).ElementAt(3))
  473. {
  474. bFind = 1; break;
  475. }
  476. }
  477. if (bFind == 0)continue;
  478. if (m_check1)
  479. {
  480. if (m_List1array.ElementAt(ii).ElementAt(8) == "OK")continue;
  481. }
  482. m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii));
  483. if (m_List1.m_arLabels.ElementAt(count - 1).ElementAt(0) == "")
  484. {
  485. int aa = ii;
  486. while (aa)
  487. {
  488. if (m_List1array.ElementAt(aa).ElementAt(0) != "")break;
  489. aa--;
  490. }
  491. m_List1.m_arLabels.ElementAt(count - 1).SetAt(0, m_List1array.ElementAt(aa).ElementAt(0));
  492. m_List1.m_arLabels.ElementAt(count - 1).SetAt(1, m_List1array.ElementAt(aa).ElementAt(1));
  493. m_List1.m_arLabels.ElementAt(count - 1).SetAt(2, m_List1array.ElementAt(aa).ElementAt(2));
  494. }
  495. }
  496. }
  497. }
  498. m_List1.m_arLabels.SetSize(count, 1);
  499. ii = count;
  500. m_List1.m_LabelCount = ii;
  501. m_List1.SetItemCountEx(ii);
  502. str.Format("项目:%d", ii);
  503. SetDlgItemText(IDC_STATIC2, str);
  504. }
  505. void outsourcing4::OnSelchangeCOMBOsp2()
  506. {
  507. // TODO: Add your control notification handler code here
  508. FillGrid();
  509. }
  510. void outsourcing4::OnRadio3()
  511. {
  512. // TODO: Add your control notification handler code here
  513. UpdateData();
  514. GetDlgItem(IDC_STATIC5)->ShowWindow(m_radio == 0);
  515. GetDlgItem(IDC_COMBOsplb)->ShowWindow(m_radio == 0);
  516. GetDlgItem(IDC_STATIC6)->ShowWindow(m_radio == 1);
  517. GetDlgItem(IDC_STATIC7)->ShowWindow(m_radio == 1);
  518. GetDlgItem(IDC_COMBOsplb2)->ShowWindow(m_radio == 1);
  519. GetDlgItem(IDC_COMBOsp2)->ShowWindow(m_radio == 1);
  520. GetDlgItem(IDC_STATIC8)->ShowWindow(m_radio == 2);
  521. GetDlgItem(IDC_COMBOsplb3)->ShowWindow(m_radio == 2);
  522. FillGrid();
  523. }
  524. void outsourcing4::OnRadio4()
  525. {
  526. // TODO: Add your control notification handler code here
  527. OnRadio3();
  528. }
  529. void outsourcing4::OnBUTprint()
  530. {
  531. // TODO: Add your control notification handler code here
  532. UpdateData();
  533. CString str;
  534. str.Format("c:\\%d%02d返工资料.xls", m_year, m_month);
  535. ListToXLS(&m_List1, str, 0);
  536. }
  537. void outsourcing4::OnSelchangeCOMBOsplb3()
  538. {
  539. // TODO: Add your control notification handler code here
  540. }
  541. void outsourcing4::OnCloseupCOMBOsplb3()
  542. {
  543. // TODO: Add your control notification handler code here
  544. FillGrid();
  545. }
  546. void outsourcing4::OnRadio5()
  547. {
  548. // TODO: Add your control notification handler code here
  549. OnRadio3();
  550. }
  551. void outsourcing4::FillGrid3()
  552. {
  553. UpdateData();
  554. m_List1.DeleteAllItems2();
  555. int ii = 0;
  556. m_List1.m_arLabels.SetSize(m_List1array.GetSize(), 1);
  557. int count = 0;
  558. CString str;
  559. CString splb = "全部";
  560. int pos = m_waiter1.GetCurSel();
  561. if (pos != -1)
  562. {
  563. m_waiter1.GetLBText(pos, splb);
  564. }
  565. if (splb == "全部" || splb == "")
  566. {
  567. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  568. {
  569. m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii));
  570. }
  571. }
  572. else
  573. {
  574. splb = "员工:" + splb;
  575. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  576. {
  577. // if(m_List1array.ElementAt (ii).ElementAt (5).GetLength ()<4)continue;
  578. // if(m_List1array.ElementAt (ii).ElementAt (5).Right (m_List1array.ElementAt (ii).ElementAt (5).GetLength ()-4)!=splb)continue;
  579. if (m_List1array.ElementAt(ii).ElementAt(7).Find(splb) == -1)continue;
  580. m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii));
  581. if (m_List1.m_arLabels.ElementAt(count - 1).ElementAt(0) == "")
  582. {
  583. int aa = ii;
  584. while (aa)
  585. {
  586. if (m_List1array.ElementAt(aa).ElementAt(0) != "")break;
  587. aa--;
  588. }
  589. m_List1.m_arLabels.ElementAt(count - 1).SetAt(0, m_List1array.ElementAt(aa).ElementAt(0));
  590. m_List1.m_arLabels.ElementAt(count - 1).SetAt(1, m_List1array.ElementAt(aa).ElementAt(1));
  591. m_List1.m_arLabels.ElementAt(count - 1).SetAt(2, m_List1array.ElementAt(aa).ElementAt(2));
  592. }
  593. }
  594. }
  595. m_List1.m_arLabels.SetSize(count, 1);
  596. ii = count;
  597. m_List1.m_LabelCount = ii;
  598. m_List1.SetItemCountEx(ii);
  599. str.Format("项目:%d", ii);
  600. SetDlgItemText(IDC_STATIC2, str);
  601. }
  602. void outsourcing4::OnSelchangeCOMBObranch()
  603. {
  604. int pos = m_combobranch.GetCurSel();
  605. if (pos == -1)return;
  606. m_combobranch.GetLBText(pos, m_branch);
  607. DateChange();
  608. g_sendhead.bsql = 0;
  609. g_sendhead.code[0] = 2;
  610. g_sendhead.code[1] = 4;
  611. g_sendhead.code[2] = 9;
  612. g_sendhead.tabcount = 3;
  613. g_pMainWnd->ProcessChatMessageRequest2(1);
  614. if (g_bSendOK == 0)
  615. {
  616. return;
  617. }
  618. CArray<CStringArray, CStringArray>g_List2array;
  619. DataToArray(&g_List1array, &m_List3array, &g_List2array);
  620. m_combosplb2.ResetContent();
  621. m_combosplb2.AddString("全部");
  622. for (int i = 0; i < g_List1array.GetSize(); i++)
  623. m_combosplb2.AddString(g_List1array.ElementAt(i).ElementAt(0));
  624. m_combosplb.ResetContent();
  625. m_combosplb.AddString("全部");
  626. for (i = 0; i < g_List2array.GetSize(); i++)
  627. {
  628. m_combosplb.AddString(g_List2array.ElementAt(i).ElementAt(1));
  629. }
  630. m_combosplb.SetCurSel(0);
  631. }