DigitalWorkSet.cpp 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313
  1. // DigitalWorkSet.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ylgl.h"
  5. #include "DigitalWorkSet.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // DigitalWorkSet dialog
  13. DigitalWorkSet::DigitalWorkSet(CWnd* pParent /*=NULL*/)
  14. : CDialog(DigitalWorkSet::IDD, pParent)
  15. {
  16. //{{AFX_DATA_INIT(DigitalWorkSet)
  17. m_pArrayBranch=NULL;
  18. //}}AFX_DATA_INIT
  19. }
  20. void DigitalWorkSet::DoDataExchange(CDataExchange* pDX)
  21. {
  22. CDialog::DoDataExchange(pDX);
  23. //{{AFX_DATA_MAP(DigitalWorkSet)
  24. DDX_Control(pDX, IDC_COMBO1, m_combo1);
  25. DDX_Control(pDX, IDC_LIST2, m_List2);
  26. DDX_Control(pDX, IDC_LIST1, m_List1);
  27. //}}AFX_DATA_MAP
  28. }
  29. BEGIN_MESSAGE_MAP(DigitalWorkSet, CDialog)
  30. //{{AFX_MSG_MAP(DigitalWorkSet)
  31. //}}AFX_MSG_MAP
  32. END_MESSAGE_MAP()
  33. /////////////////////////////////////////////////////////////////////////////
  34. // DigitalWorkSet message handlers
  35. extern BOOL CALLBACK EnumChildProc2(HWND hwnd,LPARAM lParam);
  36. extern int __cdecl CompareByLabel2( const void *elem1, const void *elem2);
  37. BOOL DigitalWorkSet::OnInitDialog()
  38. {
  39. CDialog::OnInitDialog();
  40. // TODO: Add extra initialization here
  41. CRect rc2;
  42. GetWindowRect(rc2);
  43. ::MoveWindow(m_hWnd,g_rc.left,g_rc.top,g_rc.Width(),g_rc.Height(),TRUE);
  44. g_WidthScale2 = (float)g_rc.Width()/(float)rc2.Width(); // new/Old
  45. g_HeightScale2 = (float)g_rc.Height()/(float)rc2.Height();
  46. EnumChildWindows(m_hWnd,(WNDENUMPROC)EnumChildProc2,0);
  47. int i = 0;
  48. if(g_bAllBranch)
  49. {
  50. CStringArray idarray[100];
  51. CStringArray brancharray;
  52. int branchpos;
  53. CString branch;
  54. for( i=0; i<m_pArray->GetSize (); i++)
  55. {
  56. branch=m_pArrayBranch->ElementAt (i);
  57. branchpos=::FindArray(&brancharray, branch );if(branchpos>=100)continue;
  58. if(branchpos==-1)
  59. {
  60. branchpos=brancharray.GetSize();
  61. brancharray.Add(branch);
  62. }
  63. idarray[branchpos].Add (m_pArray->ElementAt (i));
  64. }
  65. for(int aa=0; aa<brancharray.GetSize(); aa++)
  66. {
  67. branch=brancharray.ElementAt(aa);
  68. CString filter;
  69. for(int i=0; i<idarray[aa].GetSize (); i++)
  70. {
  71. filter+="id='"+idarray[aa].ElementAt (i)+"' or ";
  72. }
  73. filter.TrimRight (" or ");
  74. g_sendhead.code[0]=136;
  75. g_sendhead.tabcount=1;
  76. g_sendhead.bsql=0;
  77. g_branchip=GetIP(branch);
  78. g_pMainWnd->OnDisconnect();
  79. g_branchname=branch;
  80. g_bBranchModify=1;
  81. g_pMainWnd->ProcessChatMessageRequest2(filter);
  82. g_pMainWnd->OnDisconnect();g_bBranchModify=0;g_branchip=g_branchname="";
  83. if(g_bSendOK==0)
  84. {
  85. CDialog::OnCancel ();return 0;
  86. }
  87. CArray<CStringArray, CStringArray>List1array;
  88. DataToArray(&List1array);
  89. int size=m_sparray.GetSize ();
  90. for(int j=0; j<List1array.GetSize (); j++)
  91. {
  92. size++;
  93. m_sparray.SetSize(size , 1 );
  94. size--;
  95. m_sparray.ElementAt (size).Copy (List1array.ElementAt (j));
  96. m_sparray.ElementAt (size).Add (branch);
  97. size++;
  98. }
  99. }
  100. }
  101. else
  102. {
  103. CString filter;
  104. for( i=0; i<m_pArray->GetSize (); i++)
  105. {
  106. filter+="id='"+m_pArray->ElementAt (i)+"' or ";
  107. }
  108. filter.TrimRight (" or ");
  109. g_sendhead.code[0]=136;
  110. g_sendhead.tabcount=1;
  111. g_sendhead.bsql=0;
  112. g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return false;
  113. DataToArray(&m_sparray);
  114. }
  115. g_List1array.RemoveAll ();
  116. int size=0;
  117. for( i=0; i<g_userarray.GetSize (); i++)
  118. {
  119. g_List1array.SetSize(size+1, 1);
  120. g_List1array.ElementAt (size).Add (g_userarray.ElementAt (i).ElementAt (1));
  121. size++;
  122. }
  123. qsort( static_cast<void*>(&g_List1array[0]), g_List1array.GetSize (), sizeof(g_List1array[0]), CompareByLabel2 );
  124. m_combo1.m_pMsgParent=&m_List1;
  125. m_List1.m_pComboBox=&m_combo1;
  126. m_List1.m_sparray=&m_sparray;
  127. m_List1.InitStyle();
  128. m_List1.InsertColumn(0,_T("订单号"),LVCFMT_LEFT,100);
  129. #ifdef CHILD_VERSION
  130. m_List1.InsertColumn(1,_T("家长姓名"),LVCFMT_LEFT,100);
  131. m_List1.InsertColumn(2,_T("宝宝姓名"),LVCFMT_LEFT,100);
  132. #else
  133. m_List1.InsertColumn(1,_T("男宾姓名"),LVCFMT_LEFT,100);
  134. m_List1.InsertColumn(2,_T("女宾姓名"),LVCFMT_LEFT,100);
  135. #endif
  136. m_List1.InsertColumn(3,_T("初修师"),LVCFMT_LEFT,100);
  137. m_List1.InsertColumn(4,_T("完成期限"),LVCFMT_LEFT,100);
  138. m_List1.InsertColumn(5,_T("精修师"),LVCFMT_LEFT,100);
  139. m_List1.InsertColumn(6,_T("完成期限"),LVCFMT_LEFT,100);
  140. m_List1.InsertColumn(7,_T("设计师"),LVCFMT_LEFT,100);
  141. m_List1.InsertColumn(8,_T("完成期限"),LVCFMT_LEFT,100);
  142. CString id,branch;
  143. if(g_bAllBranch)
  144. {
  145. for(i=0; i<m_pArrayName1->GetSize (); i++)
  146. {
  147. id=m_pArray->ElementAt (i);
  148. branch=m_pArrayBranch->ElementAt (i);
  149. m_List1.InsertItem(i, id);
  150. m_List1.SetItemText(i, 1, m_pArrayName1->ElementAt (i));
  151. m_List1.SetItemText(i, 2, m_pArrayName2->ElementAt (i));
  152. for(int j=0; j<m_sparray.GetSize (); j++)
  153. {
  154. int spsize=m_sparray.ElementAt (0).GetSize ();
  155. spsize--;
  156. if(m_sparray.ElementAt (j).ElementAt (0)==id && m_sparray.ElementAt (j).ElementAt (spsize)==branch)
  157. {
  158. m_List1.SetItemText(i, 3, m_sparray.ElementAt (j).ElementAt (1));
  159. m_List1.SetItemText(i, 4, m_sparray.ElementAt (j).ElementAt (2));
  160. m_List1.SetItemText(i, 5, m_sparray.ElementAt (j).ElementAt (3));
  161. m_List1.SetItemText(i, 6, m_sparray.ElementAt (j).ElementAt (4));
  162. m_List1.SetItemText(i, 7, m_sparray.ElementAt (j).ElementAt (5));
  163. m_List1.SetItemText(i, 8, m_sparray.ElementAt (j).ElementAt (6));
  164. break;
  165. }
  166. }
  167. }
  168. }
  169. else
  170. {
  171. for(i=0; i<m_pArrayName1->GetSize (); i++)
  172. {
  173. id=m_pArray->ElementAt (i);
  174. m_List1.InsertItem(i, id);
  175. m_List1.SetItemText(i, 1, m_pArrayName1->ElementAt (i));
  176. m_List1.SetItemText(i, 2, m_pArrayName2->ElementAt (i));
  177. for(int j=0; j<m_sparray.GetSize (); j++)
  178. {
  179. if(m_sparray.ElementAt (j).ElementAt (0)==id)
  180. {
  181. m_List1.SetItemText(i, 3, m_sparray.ElementAt (j).ElementAt (1));
  182. m_List1.SetItemText(i, 4, m_sparray.ElementAt (j).ElementAt (2));
  183. m_List1.SetItemText(i, 5, m_sparray.ElementAt (j).ElementAt (3));
  184. m_List1.SetItemText(i, 6, m_sparray.ElementAt (j).ElementAt (4));
  185. m_List1.SetItemText(i, 7, m_sparray.ElementAt (j).ElementAt (5));
  186. m_List1.SetItemText(i, 8, m_sparray.ElementAt (j).ElementAt (6));
  187. break;
  188. }
  189. }
  190. }
  191. }
  192. m_List2.SetHeadings("数码师,200;初修任务,100;精修任务,100;设计任务,100" );
  193. m_List2.LoadColumnInfo (183);
  194. m_List2.DeleteAllItems2 ();
  195. int ii=0;
  196. m_List2.m_arLabels.SetSize( m_pExistWorkArray->GetSize (), 1 );
  197. int count=0;
  198. for(ii=0; ii<m_List2.m_arLabels.GetSize (); ii++)
  199. {
  200. m_List2.m_arLabels.ElementAt (count++).Copy (m_pExistWorkArray->ElementAt (ii));
  201. }
  202. m_List2.m_arLabels.SetSize(count, 1);
  203. ii=count;
  204. m_List2.m_LabelCount=ii;
  205. m_List2.SetItemCountEx (ii);
  206. return TRUE; // return TRUE unless you set the focus to a control
  207. // EXCEPTION: OCX Property Pages should return FALSE
  208. }
  209. void DigitalWorkSet::OnOK()
  210. {
  211. // TODO: Add extra validation here
  212. m_List1.OnLButtonDown(0,0);
  213. CString sql;
  214. CString id,waiter1,waiter2,waiter3,date1,date2,date3;
  215. int i = 0;
  216. if(g_bAllBranch)
  217. {
  218. CStringArray brancharray;
  219. int branchpos;
  220. CString branch;
  221. for( i=0; i<m_pArrayBranch->GetSize (); i++)
  222. {
  223. branch=m_pArrayBranch->ElementAt (i);
  224. branchpos=::FindArray(&brancharray, branch );
  225. if(branchpos==-1)
  226. {
  227. brancharray.Add(branch);
  228. }
  229. }
  230. for(int aa=0; aa<brancharray.GetSize (); aa++)
  231. {
  232. branch=brancharray.ElementAt (aa);
  233. sql="";
  234. for( i=0; i<m_List1.GetItemCount (); i++)
  235. {
  236. if(m_pArrayBranch->ElementAt (i)!=branch)continue;
  237. id=m_List1.GetItemText (i, 0);
  238. sql+="delete from digitalwork where id='"+id+"'***";
  239. }
  240. for( i=0; i<m_List1.GetItemCount (); i++)
  241. {
  242. if(m_pArrayBranch->ElementAt (i)!=branch)continue;
  243. id=m_List1.GetItemText (i, 0);
  244. waiter1=m_List1.GetItemText (i, 3);
  245. date1=m_List1.GetItemText (i, 4);
  246. waiter2=m_List1.GetItemText (i, 5);
  247. date2=m_List1.GetItemText (i, 6);
  248. waiter3=m_List1.GetItemText (i, 7);
  249. date3=m_List1.GetItemText (i, 8);
  250. sql+="insert into digitalwork(id,waiter1,waiter2,waiter3,date1,date2,date3)values('"+id+"','"+waiter1+"','"+waiter2+"','"+waiter3+"','"+date1+"','"+date2+"','"+date3+"')***";
  251. }
  252. sql.TrimRight ("***");
  253. g_sendhead.bsql=1;
  254. g_branchip=GetIP(branch);
  255. g_pMainWnd->OnDisconnect();
  256. g_branchname=branch;
  257. g_bBranchModify=1;
  258. g_pMainWnd->ProcessChatMessageRequest2(sql);
  259. g_pMainWnd->OnDisconnect();g_bBranchModify=0;g_branchip=g_branchname="";
  260. if(g_bSendOK==0)return;
  261. }
  262. AfxMessageBox("保存成功!", MB_ICONINFORMATION);
  263. }
  264. else
  265. {
  266. for( i=0; i<m_List1.GetItemCount (); i++)
  267. {
  268. id=m_List1.GetItemText (i, 0);
  269. sql+="delete from digitalwork where id='"+id+"'***";
  270. }
  271. for( i=0; i<m_List1.GetItemCount (); i++)
  272. {
  273. id=m_List1.GetItemText (i, 0);
  274. waiter1=m_List1.GetItemText (i, 3);
  275. date1=m_List1.GetItemText (i, 4);
  276. waiter2=m_List1.GetItemText (i, 5);
  277. date2=m_List1.GetItemText (i, 6);
  278. waiter3=m_List1.GetItemText (i, 7);
  279. date3=m_List1.GetItemText (i, 8);
  280. sql+="insert into digitalwork(id,waiter1,waiter2,waiter3,date1,date2,date3)values('"+id+"','"+waiter1+"','"+waiter2+"','"+waiter3+"','"+date1+"','"+date2+"','"+date3+"')***";
  281. }
  282. sql.TrimRight ("***");
  283. g_sendhead.bsql=1;
  284. g_pMainWnd->ProcessChatMessageRequest2(sql);
  285. if(g_bSendOK==0)return;
  286. AfxMessageBox("保存成功!", MB_ICONINFORMATION);
  287. }
  288. CDialog::OnOK();
  289. }