DigitalWorkSet.cpp 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314
  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. if(g_bAllBranch)
  48. {
  49. CStringArray idarray[100];
  50. CStringArray brancharray;
  51. int branchpos;
  52. CString branch;
  53. for(int i=0; i<m_pArray->GetSize (); i++)
  54. {
  55. branch=m_pArrayBranch->ElementAt (i);
  56. branchpos=::FindArray(&brancharray, branch );if(branchpos>=100)continue;
  57. if(branchpos==-1)
  58. {
  59. branchpos=brancharray.GetSize();
  60. brancharray.Add(branch);
  61. }
  62. idarray[branchpos].Add (m_pArray->ElementAt (i));
  63. }
  64. for(int aa=0; aa<brancharray.GetSize(); aa++)
  65. {
  66. branch=brancharray.ElementAt(aa);
  67. CString filter;
  68. for(int i=0; i<idarray[aa].GetSize (); i++)
  69. {
  70. filter+="id='"+idarray[aa].ElementAt (i)+"' or ";
  71. }
  72. filter.TrimRight (" or ");
  73. g_sendhead.code[0]=136;
  74. g_sendhead.tabcount=1;
  75. g_sendhead.bsql=0;
  76. g_branchip=GetIP(branch);
  77. g_pMainWnd->OnDisconnect();
  78. g_branchname=branch;
  79. g_bBranchModify=1;
  80. g_pMainWnd->ProcessChatMessageRequest2(filter);
  81. g_pMainWnd->OnDisconnect();g_bBranchModify=0;g_branchip=g_branchname="";
  82. if(g_bSendOK==0)
  83. {
  84. CDialog::OnCancel ();return 0;
  85. }
  86. CArray<CStringArray, CStringArray>List1array;
  87. DataToArray(&List1array);
  88. int size=m_sparray.GetSize ();
  89. for(int j=0; j<List1array.GetSize (); j++)
  90. {
  91. size++;
  92. m_sparray.SetSize(size , 1 );
  93. size--;
  94. m_sparray.ElementAt (size).Copy (List1array.ElementAt (j));
  95. m_sparray.ElementAt (size).Add (branch);
  96. size++;
  97. }
  98. }
  99. }
  100. else
  101. {
  102. CString filter;
  103. for(int i=0; i<m_pArray->GetSize (); i++)
  104. {
  105. filter+="id='"+m_pArray->ElementAt (i)+"' or ";
  106. }
  107. filter.TrimRight (" or ");
  108. g_sendhead.code[0]=136;
  109. g_sendhead.tabcount=1;
  110. g_sendhead.bsql=0;
  111. g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return false;
  112. DataToArray(&m_sparray);
  113. }
  114. g_List1array.RemoveAll ();
  115. int size=0;
  116. for(int i=0; i<g_userarray.GetSize (); i++)
  117. {
  118. g_List1array.SetSize(size+1, 1);
  119. g_List1array.ElementAt (size).Add (g_userarray.ElementAt (i).ElementAt (1));
  120. size++;
  121. }
  122. qsort( static_cast<void*>(&g_List1array[0]), g_List1array.GetSize (), sizeof(g_List1array[0]), CompareByLabel2 );
  123. m_combo1.m_pMsgParent=&m_List1;
  124. m_List1.m_pComboBox=&m_combo1;
  125. m_List1.m_sparray=&m_sparray;
  126. m_List1.InitStyle();
  127. m_List1.InsertColumn(0,_T("订单号"),LVCFMT_LEFT,100);
  128. #ifdef CHILD_VERSION
  129. m_List1.InsertColumn(1,_T("家长姓名"),LVCFMT_LEFT,100);
  130. m_List1.InsertColumn(2,_T("宝宝姓名"),LVCFMT_LEFT,100);
  131. #else
  132. m_List1.InsertColumn(1,_T("男宾姓名"),LVCFMT_LEFT,100);
  133. m_List1.InsertColumn(2,_T("女宾姓名"),LVCFMT_LEFT,100);
  134. #endif
  135. m_List1.InsertColumn(3,_T("初修师"),LVCFMT_LEFT,100);
  136. m_List1.InsertColumn(4,_T("完成期限"),LVCFMT_LEFT,100);
  137. m_List1.InsertColumn(5,_T("精修师"),LVCFMT_LEFT,100);
  138. m_List1.InsertColumn(6,_T("完成期限"),LVCFMT_LEFT,100);
  139. m_List1.InsertColumn(7,_T("设计师"),LVCFMT_LEFT,100);
  140. m_List1.InsertColumn(8,_T("完成期限"),LVCFMT_LEFT,100);
  141. CString id,branch;
  142. if(g_bAllBranch)
  143. {
  144. for(i=0; i<m_pArrayName1->GetSize (); i++)
  145. {
  146. id=m_pArray->ElementAt (i);
  147. branch=m_pArrayBranch->ElementAt (i);
  148. m_List1.InsertItem(i, id);
  149. m_List1.SetItemText(i, 1, m_pArrayName1->ElementAt (i));
  150. m_List1.SetItemText(i, 2, m_pArrayName2->ElementAt (i));
  151. for(int j=0; j<m_sparray.GetSize (); j++)
  152. {
  153. int spsize=m_sparray.ElementAt (0).GetSize ();
  154. spsize--;
  155. if(m_sparray.ElementAt (j).ElementAt (0)==id && m_sparray.ElementAt (j).ElementAt (spsize)==branch)
  156. {
  157. m_List1.SetItemText(i, 3, m_sparray.ElementAt (j).ElementAt (1));
  158. m_List1.SetItemText(i, 4, m_sparray.ElementAt (j).ElementAt (2));
  159. m_List1.SetItemText(i, 5, m_sparray.ElementAt (j).ElementAt (3));
  160. m_List1.SetItemText(i, 6, m_sparray.ElementAt (j).ElementAt (4));
  161. m_List1.SetItemText(i, 7, m_sparray.ElementAt (j).ElementAt (5));
  162. m_List1.SetItemText(i, 8, m_sparray.ElementAt (j).ElementAt (6));
  163. break;
  164. }
  165. }
  166. }
  167. }
  168. else
  169. {
  170. for(i=0; i<m_pArrayName1->GetSize (); i++)
  171. {
  172. id=m_pArray->ElementAt (i);
  173. m_List1.InsertItem(i, id);
  174. m_List1.SetItemText(i, 1, m_pArrayName1->ElementAt (i));
  175. m_List1.SetItemText(i, 2, m_pArrayName2->ElementAt (i));
  176. for(int j=0; j<m_sparray.GetSize (); j++)
  177. {
  178. if(m_sparray.ElementAt (j).ElementAt (0)==id)
  179. {
  180. m_List1.SetItemText(i, 3, m_sparray.ElementAt (j).ElementAt (1));
  181. m_List1.SetItemText(i, 4, m_sparray.ElementAt (j).ElementAt (2));
  182. m_List1.SetItemText(i, 5, m_sparray.ElementAt (j).ElementAt (3));
  183. m_List1.SetItemText(i, 6, m_sparray.ElementAt (j).ElementAt (4));
  184. m_List1.SetItemText(i, 7, m_sparray.ElementAt (j).ElementAt (5));
  185. m_List1.SetItemText(i, 8, m_sparray.ElementAt (j).ElementAt (6));
  186. break;
  187. }
  188. }
  189. }
  190. }
  191. m_List2.SetHeadings("数码师,200;初修任务,100;精修任务,100;设计任务,100" );
  192. m_List2.LoadColumnInfo (183);
  193. m_List2.DeleteAllItems2 ();
  194. int ii=0;
  195. m_List2.m_arLabels.SetSize( m_pExistWorkArray->GetSize (), 1 );
  196. int count=0;
  197. for(ii=0; ii<m_List2.m_arLabels.GetSize (); ii++)
  198. {
  199. m_List2.m_arLabels.ElementAt (count++).Copy (m_pExistWorkArray->ElementAt (ii));
  200. }
  201. m_List2.m_arLabels.SetSize(count, 1);
  202. ii=count;
  203. m_List2.m_LabelCount=ii;
  204. m_List2.SetItemCountEx (ii);
  205. return TRUE; // return TRUE unless you set the focus to a control
  206. // EXCEPTION: OCX Property Pages should return FALSE
  207. }
  208. void DigitalWorkSet::OnOK()
  209. {
  210. // TODO: Add extra validation here
  211. m_List1.OnLButtonDown(0,0);
  212. CString sql;
  213. CString id,waiter1,waiter2,waiter3,date1,date2,date3;
  214. if(g_bAllBranch)
  215. {
  216. CStringArray brancharray;
  217. int branchpos;
  218. CString branch;
  219. for(int i=0; i<m_pArrayBranch->GetSize (); i++)
  220. {
  221. branch=m_pArrayBranch->ElementAt (i);
  222. branchpos=::FindArray(&brancharray, branch );
  223. if(branchpos==-1)
  224. {
  225. brancharray.Add(branch);
  226. }
  227. }
  228. for(int aa=0; aa<brancharray.GetSize (); aa++)
  229. {
  230. branch=brancharray.ElementAt (aa);
  231. sql="";
  232. for(int i=0; i<m_List1.GetItemCount (); i++)
  233. {
  234. if(m_pArrayBranch->ElementAt (i)!=branch)continue;
  235. id=m_List1.GetItemText (i, 0);
  236. sql+="delete from digitalwork where id='"+id+"'***";
  237. }
  238. for( i=0; i<m_List1.GetItemCount (); i++)
  239. {
  240. if(m_pArrayBranch->ElementAt (i)!=branch)continue;
  241. id=m_List1.GetItemText (i, 0);
  242. waiter1=m_List1.GetItemText (i, 3);
  243. date1=m_List1.GetItemText (i, 4);
  244. waiter2=m_List1.GetItemText (i, 5);
  245. date2=m_List1.GetItemText (i, 6);
  246. waiter3=m_List1.GetItemText (i, 7);
  247. date3=m_List1.GetItemText (i, 8);
  248. sql+="insert into digitalwork(id,waiter1,waiter2,waiter3,date1,date2,date3)values('"+id+"','"+waiter1+"','"+waiter2+"','"+waiter3+"','"+date1+"','"+date2+"','"+date3+"')***";
  249. }
  250. sql.TrimRight ("***");
  251. g_sendhead.bsql=1;
  252. g_branchip=GetIP(branch);
  253. g_pMainWnd->OnDisconnect();
  254. g_branchname=branch;
  255. g_bBranchModify=1;
  256. g_pMainWnd->ProcessChatMessageRequest2(sql);
  257. g_pMainWnd->OnDisconnect();g_bBranchModify=0;g_branchip=g_branchname="";
  258. if(g_bSendOK==0)return;
  259. }
  260. AfxMessageBox("保存成功!", MB_ICONINFORMATION);
  261. }
  262. else
  263. {
  264. for(int i=0; i<m_List1.GetItemCount (); i++)
  265. {
  266. id=m_List1.GetItemText (i, 0);
  267. sql+="delete from digitalwork where id='"+id+"'***";
  268. }
  269. for( i=0; i<m_List1.GetItemCount (); i++)
  270. {
  271. id=m_List1.GetItemText (i, 0);
  272. waiter1=m_List1.GetItemText (i, 3);
  273. date1=m_List1.GetItemText (i, 4);
  274. waiter2=m_List1.GetItemText (i, 5);
  275. date2=m_List1.GetItemText (i, 6);
  276. waiter3=m_List1.GetItemText (i, 7);
  277. date3=m_List1.GetItemText (i, 8);
  278. sql+="insert into digitalwork(id,waiter1,waiter2,waiter3,date1,date2,date3)values('"+id+"','"+waiter1+"','"+waiter2+"','"+waiter3+"','"+date1+"','"+date2+"','"+date3+"')***";
  279. }
  280. sql.TrimRight ("***");
  281. g_sendhead.bsql=1;
  282. g_pMainWnd->ProcessChatMessageRequest2(sql);
  283. if(g_bSendOK==0)return;
  284. AfxMessageBox("保存成功!", MB_ICONINFORMATION);
  285. }
  286. CDialog::OnOK();
  287. }