DigitalWorkSet.cpp 9.0 KB

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