DigitalWorkSet.cpp 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  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 float m_WidthScale2;
  37. extern float m_HeightScale2;
  38. extern int __cdecl CompareByLabel2( const void *elem1, const void *elem2);
  39. BOOL DigitalWorkSet::OnInitDialog()
  40. {
  41. CDialog::OnInitDialog();
  42. // TODO: Add extra initialization here
  43. CRect rc2;
  44. GetWindowRect(rc2);
  45. ::MoveWindow(m_hWnd,g_rc.left,g_rc.top,g_rc.Width(),g_rc.Height(),TRUE);
  46. m_WidthScale2 = (float)g_rc.Width()/(float)rc2.Width(); // new/Old
  47. m_HeightScale2 = (float)g_rc.Height()/(float)rc2.Height();
  48. EnumChildWindows(m_hWnd,(WNDENUMPROC)EnumChildProc2,0);
  49. if(g_bAllBranch)
  50. {
  51. CStringArray idarray[100];
  52. CStringArray brancharray;
  53. int branchpos;
  54. CString branch;
  55. for(int i=0; i<m_pArray->GetSize (); i++)
  56. {
  57. branch=m_pArrayBranch->ElementAt (i);
  58. branchpos=::FindArray(&brancharray, branch );if(branchpos>=100)continue;
  59. if(branchpos==-1)
  60. {
  61. branchpos=brancharray.GetSize();
  62. brancharray.Add(branch);
  63. }
  64. idarray[branchpos].Add (m_pArray->ElementAt (i));
  65. }
  66. for(int aa=0; aa<brancharray.GetSize(); aa++)
  67. {
  68. branch=brancharray.ElementAt(aa);
  69. CString filter;
  70. for(int i=0; i<idarray[aa].GetSize (); i++)
  71. {
  72. filter+="id='"+idarray[aa].ElementAt (i)+"' or ";
  73. }
  74. filter.TrimRight (" or ");
  75. g_sendhead.code[0]=136;
  76. g_sendhead.tabcount=1;
  77. g_sendhead.bsql=0;
  78. g_branchip=GetIP(branch);
  79. g_pMainWnd->OnDisconnect();
  80. g_branchname=branch;
  81. g_bBranchModify=1;
  82. g_pMainWnd->ProcessChatMessageRequest2(filter);
  83. g_pMainWnd->OnDisconnect();g_bBranchModify=0;g_branchip=g_branchname="";
  84. if(g_bSendOK==0)
  85. {
  86. CDialog::OnCancel ();return 0;
  87. }
  88. CArray<CStringArray, CStringArray>List1array;
  89. DataToArray(&List1array);
  90. int size=m_sparray.GetSize ();
  91. for(int j=0; j<List1array.GetSize (); j++)
  92. {
  93. size++;
  94. m_sparray.SetSize(size , 1 );
  95. size--;
  96. m_sparray.ElementAt (size).Copy (List1array.ElementAt (j));
  97. m_sparray.ElementAt (size).Add (branch);
  98. size++;
  99. }
  100. }
  101. }
  102. else
  103. {
  104. CString filter;
  105. for(int i=0; i<m_pArray->GetSize (); i++)
  106. {
  107. filter+="id='"+m_pArray->ElementAt (i)+"' or ";
  108. }
  109. filter.TrimRight (" or ");
  110. g_sendhead.code[0]=136;
  111. g_sendhead.tabcount=1;
  112. g_sendhead.bsql=0;
  113. g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return false;
  114. DataToArray(&m_sparray);
  115. }
  116. g_List1array.RemoveAll ();
  117. int size=0;
  118. for(int i=0; i<g_userarray.GetSize (); i++)
  119. {
  120. g_List1array.SetSize(size+1, 1);
  121. g_List1array.ElementAt (size).Add (g_userarray.ElementAt (i).ElementAt (1));
  122. size++;
  123. }
  124. qsort( static_cast<void*>(&g_List1array[0]), g_List1array.GetSize (), sizeof(g_List1array[0]), CompareByLabel2 );
  125. m_combo1.m_pMsgParent=&m_List1;
  126. m_List1.m_pComboBox=&m_combo1;
  127. m_List1.m_sparray=&m_sparray;
  128. m_List1.InitStyle();
  129. m_List1.InsertColumn(0,_T("订单号"),LVCFMT_LEFT,100);
  130. #ifdef CHILD_VERSION
  131. m_List1.InsertColumn(1,_T("家长姓名"),LVCFMT_LEFT,100);
  132. m_List1.InsertColumn(2,_T("宝宝姓名"),LVCFMT_LEFT,100);
  133. #else
  134. m_List1.InsertColumn(1,_T("男宾姓名"),LVCFMT_LEFT,100);
  135. m_List1.InsertColumn(2,_T("女宾姓名"),LVCFMT_LEFT,100);
  136. #endif
  137. m_List1.InsertColumn(3,_T("初修师"),LVCFMT_LEFT,100);
  138. m_List1.InsertColumn(4,_T("完成期限"),LVCFMT_LEFT,100);
  139. m_List1.InsertColumn(5,_T("精修师"),LVCFMT_LEFT,100);
  140. m_List1.InsertColumn(6,_T("完成期限"),LVCFMT_LEFT,100);
  141. m_List1.InsertColumn(7,_T("设计师"),LVCFMT_LEFT,100);
  142. m_List1.InsertColumn(8,_T("完成期限"),LVCFMT_LEFT,100);
  143. CString id,branch;
  144. if(g_bAllBranch)
  145. {
  146. for(i=0; i<m_pArrayName1->GetSize (); i++)
  147. {
  148. id=m_pArray->ElementAt (i);
  149. branch=m_pArrayBranch->ElementAt (i);
  150. m_List1.InsertItem(i, id);
  151. m_List1.SetItemText(i, 1, m_pArrayName1->ElementAt (i));
  152. m_List1.SetItemText(i, 2, m_pArrayName2->ElementAt (i));
  153. for(int j=0; j<m_sparray.GetSize (); j++)
  154. {
  155. int spsize=m_sparray.ElementAt (0).GetSize ();
  156. spsize--;
  157. if(m_sparray.ElementAt (j).ElementAt (0)==id && m_sparray.ElementAt (j).ElementAt (spsize)==branch)
  158. {
  159. m_List1.SetItemText(i, 3, m_sparray.ElementAt (j).ElementAt (1));
  160. m_List1.SetItemText(i, 4, m_sparray.ElementAt (j).ElementAt (2));
  161. m_List1.SetItemText(i, 5, m_sparray.ElementAt (j).ElementAt (3));
  162. m_List1.SetItemText(i, 6, m_sparray.ElementAt (j).ElementAt (4));
  163. m_List1.SetItemText(i, 7, m_sparray.ElementAt (j).ElementAt (5));
  164. m_List1.SetItemText(i, 8, m_sparray.ElementAt (j).ElementAt (6));
  165. break;
  166. }
  167. }
  168. }
  169. }
  170. else
  171. {
  172. for(i=0; i<m_pArrayName1->GetSize (); i++)
  173. {
  174. id=m_pArray->ElementAt (i);
  175. m_List1.InsertItem(i, id);
  176. m_List1.SetItemText(i, 1, m_pArrayName1->ElementAt (i));
  177. m_List1.SetItemText(i, 2, m_pArrayName2->ElementAt (i));
  178. for(int j=0; j<m_sparray.GetSize (); j++)
  179. {
  180. if(m_sparray.ElementAt (j).ElementAt (0)==id)
  181. {
  182. m_List1.SetItemText(i, 3, m_sparray.ElementAt (j).ElementAt (1));
  183. m_List1.SetItemText(i, 4, m_sparray.ElementAt (j).ElementAt (2));
  184. m_List1.SetItemText(i, 5, m_sparray.ElementAt (j).ElementAt (3));
  185. m_List1.SetItemText(i, 6, m_sparray.ElementAt (j).ElementAt (4));
  186. m_List1.SetItemText(i, 7, m_sparray.ElementAt (j).ElementAt (5));
  187. m_List1.SetItemText(i, 8, m_sparray.ElementAt (j).ElementAt (6));
  188. break;
  189. }
  190. }
  191. }
  192. }
  193. m_List2.SetHeadings("数码师,200;初修任务,100;精修任务,100;设计任务,100" );
  194. m_List2.LoadColumnInfo (183);
  195. m_List2.DeleteAllItems2 ();
  196. int ii=0;
  197. m_List2.m_arLabels.SetSize( m_pExistWorkArray->GetSize (), 1 );
  198. int count=0;
  199. for(ii=0; ii<m_List2.m_arLabels.GetSize (); ii++)
  200. {
  201. m_List2.m_arLabels.ElementAt (count++).Copy (m_pExistWorkArray->ElementAt (ii));
  202. }
  203. m_List2.m_arLabels.SetSize(count, 1);
  204. ii=count;
  205. m_List2.m_LabelCount=ii;
  206. m_List2.SetItemCountEx (ii);
  207. return TRUE; // return TRUE unless you set the focus to a control
  208. // EXCEPTION: OCX Property Pages should return FALSE
  209. }
  210. void DigitalWorkSet::OnOK()
  211. {
  212. // TODO: Add extra validation here
  213. m_List1.OnLButtonDown(0,0);
  214. CString sql;
  215. CString id,waiter1,waiter2,waiter3,date1,date2,date3;
  216. if(g_bAllBranch)
  217. {
  218. CStringArray brancharray;
  219. int branchpos;
  220. CString branch;
  221. for(int 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(int 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(int 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. }