PhotoPrintFrom.cpp 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507
  1. // PhotoPrintFrom.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ylgl.h"
  5. #include "PhotoPrintFrom.h"
  6. #include "MyMdi.H"
  7. #include "outsourcingDlg2.h"
  8. #include "PhotoPrintFrom2.h"
  9. #ifdef _DEBUG
  10. #define new DEBUG_NEW
  11. #undef THIS_FILE
  12. static char THIS_FILE[] = __FILE__;
  13. #endif
  14. #pragma comment(lib, "Shlwapi.lib")
  15. /////////////////////////////////////////////////////////////////////////////
  16. // PhotoPrintFrom
  17. IMPLEMENT_DYNCREATE(PhotoPrintFrom, MyFormView)
  18. PhotoPrintFrom::PhotoPrintFrom()
  19. : MyFormView(PhotoPrintFrom::IDD)
  20. {
  21. //{{AFX_DATA_INIT(PhotoPrintFrom)
  22. m_filter = _T("");
  23. //}}AFX_DATA_INIT
  24. m_nAdd=0;
  25. if(g_bAllBranch)
  26. {
  27. m_nAdd=1;
  28. }
  29. }
  30. PhotoPrintFrom::~PhotoPrintFrom()
  31. {
  32. }
  33. void PhotoPrintFrom::DoDataExchange(CDataExchange* pDX)
  34. {
  35. MyFormView::DoDataExchange(pDX);
  36. //{{AFX_DATA_MAP(PhotoPrintFrom)
  37. DDX_Control(pDX, IDC_COMBO1, m_combo1);
  38. DDX_Control(pDX, IDC_LIST2, m_List1);
  39. DDX_Control(pDX, IDC_STATIC1, m_static1);
  40. DDX_CBString(pDX, IDC_COMBO1, m_filter);
  41. //}}AFX_DATA_MAP
  42. }
  43. BEGIN_MESSAGE_MAP(PhotoPrintFrom, MyFormView)
  44. //{{AFX_MSG_MAP(PhotoPrintFrom)
  45. ON_BN_CLICKED(IDC_BUTclose, OnBUTclose)
  46. ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
  47. ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)
  48. ON_WM_TIMER()
  49. ON_BN_CLICKED(IDC_BUTmodify2, OnBUTmodify2)
  50. ON_NOTIFY(NM_DBLCLK, IDC_LIST2, OnDblclkList2)
  51. ON_BN_CLICKED(IDC_BUTmodify3, OnBUTmodify3)
  52. ON_NOTIFY(NM_CLICK, IDC_LIST2, OnClickList2)
  53. //}}AFX_MSG_MAP
  54. END_MESSAGE_MAP()
  55. /////////////////////////////////////////////////////////////////////////////
  56. // PhotoPrintFrom diagnostics
  57. #ifdef _DEBUG
  58. void PhotoPrintFrom::AssertValid() const
  59. {
  60. MyFormView::AssertValid();
  61. }
  62. void PhotoPrintFrom::Dump(CDumpContext& dc) const
  63. {
  64. MyFormView::Dump(dc);
  65. }
  66. #endif //_DEBUG
  67. /////////////////////////////////////////////////////////////////////////////
  68. // PhotoPrintFrom message handlers
  69. void PhotoPrintFrom::OnInitialUpdate()
  70. {
  71. MyFormView::OnInitialUpdate();
  72. // TODO: Add your specialized code here and/or call the base class
  73. CMyMdi Mdi;
  74. Mdi.SetSubView((CWnd*)GetParent(), (CWnd*)this);
  75. GetDlgItem(IDC_BUTmodify2)->EnableWindow(IsHasRights2new(13));
  76. // Here we create the outbar control using the splitter as its parent
  77. // and setting its id to the first pane.
  78. CRect rc2;
  79. GetWindowRect(rc2);
  80. ::MoveWindow(m_hWnd,g_rc.left,g_rc.top,g_rc.Width(),g_rc.Height(),TRUE);
  81. EnumChildWindows(m_hWnd,(WNDENUMPROC)EnumChildProc,0);
  82. m_static1.SetFont (&g_titlefont);
  83. // Jeff.在设计前添加接单人、设计师;
  84. // Jeff.在发出日期后添加返工及返工日期;
  85. if(g_bAllBranch==0)
  86. {
  87. #ifdef CHILD_VERSION
  88. // 19 column;
  89. m_List1.SetHeadings("订单号,100;家长姓名,100;宝宝姓名,100;接单人,100;设计师,100;设计,100;加急,100;取件日期,100;相片名称,100;数量,100;面积m2,100;是否发出,100;发出日期,100;返工,100;返工日期,100;是否回来,100;回来日期,100;手机,100;固定电话,100" );
  90. #else
  91. // 19 column;
  92. m_List1.SetHeadings("订单号,100;男宾姓名,100;女宾姓名,100;接单人,100;设计师,100;设计,100;加急,100;取件日期,100;相片名称,100;数量,100;面积m2,100;是否发出,100;发出日期,100;返工,100;返工日期,100;是否回来,100;回来日期,100;男宾电话,100;女宾电话,100" );
  93. #endif
  94. m_List1.LoadColumnInfo (120);
  95. }
  96. else
  97. {
  98. #ifdef CHILD_VERSION
  99. m_List1.SetHeadings("店名,100;订单号,100;家长姓名,100;宝宝姓名,100;接单人,100;设计师,100;设计,100;加急,100;取件日期,100;相片名称,100;数量,100;面积m2,100;是否发出,100;发出日期,100;返工,100;返工日期,100;是否回来,100;回来日期,100;手机,100;固定电话,100" );
  100. #else
  101. m_List1.SetHeadings("店名,100;订单号,100;男宾姓名,100;女宾姓名,100;接单人,100;设计师,100;设计,100;加急,100;取件日期,100;相片名称,100;数量,100;面积m2,100;是否发出,100;发出日期,100;返工,100;返工日期,100;是否回来,100;回来日期,100;男宾电话,100;女宾电话,100" );
  102. #endif
  103. m_List1.LoadColumnInfo(306);
  104. }
  105. m_List1.m_bSortSupport=0;
  106. GetData();
  107. m_combo1.GetWindowRect(rc2);
  108. ScreenToClient(rc2);
  109. rc2.bottom +=200;
  110. m_combo1.MoveWindow(rc2);
  111. GetDlgItem(IDC_BUTclose)->GetWindowRect(rc2);
  112. SetComboHei(&m_combo1, rc2.Height());
  113. }
  114. void PhotoPrintFrom::FillGrid()
  115. {
  116. m_List1.DeleteAllItems2();
  117. int ii=0;
  118. m_List1.m_arLabels.SetSize( m_List1array.GetSize(), 1 );
  119. int count=0;
  120. // printf("Jeff:nSize=%d,nSubSize=%d\n\n",m_List1array.GetSize(),m_List1array.ElementAt(0).GetSize());
  121. // 1.没有查询关键字;
  122. if(m_filter.IsEmpty())
  123. {
  124. for(ii=0; ii<m_List1.m_arLabels.GetSize(); ii++)
  125. {
  126. m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii));
  127. }
  128. }
  129. else // 2.有查询关键字;
  130. {
  131. int type=GetType(m_filter);
  132. if(type==1)//电话
  133. {BOOL bFinded=0;
  134. for(ii=0; ii<m_List1.m_arLabels.GetSize(); ii++)
  135. {
  136. if(bFinded && m_List1array.ElementAt (ii).ElementAt(0).IsEmpty())
  137. {
  138. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  139. continue;
  140. }
  141. //if(m_List1array.ElementAt(ii).ElementAt(13+m_nAdd).Find(m_filter)!=-1 || m_List1array.ElementAt (ii).ElementAt (14+m_nAdd).Find (m_filter)!=-1 ) // Jeff.delete;
  142. if(m_List1array.ElementAt(ii).ElementAt(17+m_nAdd).Find(m_filter)!=-1 || m_List1array.ElementAt (ii).ElementAt (18+m_nAdd).Find (m_filter)!=-1 )
  143. {
  144. bFinded=1;
  145. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  146. }
  147. else
  148. {
  149. bFinded=0;
  150. }
  151. }
  152. }
  153. else if(type==2)//拼音
  154. {BOOL bFinded=0;
  155. m_filter.MakeUpper ();
  156. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  157. {
  158. if(bFinded && m_List1array.ElementAt (ii).ElementAt (0).IsEmpty ())
  159. {
  160. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  161. continue;
  162. }
  163. //if(m_List1array.ElementAt (ii).ElementAt (15+m_nAdd).Find (m_filter)!=-1 || m_List1array.ElementAt (ii).ElementAt (16+m_nAdd).Find (m_filter)!=-1 )// Jeff.delete;
  164. if(m_List1array.ElementAt (ii).ElementAt (19+m_nAdd).Find (m_filter)!=-1 || m_List1array.ElementAt (ii).ElementAt (20+m_nAdd).Find (m_filter)!=-1 )
  165. {
  166. bFinded=1;
  167. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  168. }
  169. else
  170. {
  171. bFinded=0;
  172. }
  173. }
  174. }
  175. else
  176. {
  177. BOOL bFinded=0;
  178. for(ii=0; ii<m_List1.m_arLabels.GetSize(); ii++)
  179. {
  180. if(bFinded && m_List1array.ElementAt(ii).ElementAt(0).IsEmpty ())
  181. {
  182. m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt (ii));
  183. continue;
  184. }
  185. if( m_List1array.ElementAt (ii).ElementAt (0).Find (m_filter)!=-1
  186. || m_List1array.ElementAt (ii).ElementAt (0+m_nAdd).Find (m_filter)!=-1
  187. || m_List1array.ElementAt (ii).ElementAt (1+m_nAdd).Find (m_filter)!=-1
  188. || m_List1array.ElementAt (ii).ElementAt (2+m_nAdd).Find (m_filter)!=-1
  189. || m_List1array.ElementAt (ii).ElementAt (3+m_nAdd).Find (m_filter)!=-1
  190. || m_List1array.ElementAt (ii).ElementAt (4+m_nAdd).Find (m_filter)!=-1
  191. || m_List1array.ElementAt (ii).ElementAt (17+m_nAdd).Find (m_filter)!=-1
  192. || m_List1array.ElementAt (ii).ElementAt (18+m_nAdd).Find (m_filter)!=-1
  193. || m_List1array.ElementAt (ii).ElementAt (19+m_nAdd).Find (m_filter)!=-1
  194. || m_List1array.ElementAt (ii).ElementAt (20+m_nAdd).Find (m_filter)!=-1)
  195. {
  196. bFinded=1;
  197. m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii));
  198. }
  199. else
  200. {
  201. bFinded=0;
  202. }
  203. }
  204. }
  205. }
  206. m_List1.m_arLabels.SetSize(count, 1);
  207. ii=count;
  208. m_List1.m_LabelCount=ii;
  209. m_List1.SetItemCountEx(ii);
  210. if(!g_id.IsEmpty())
  211. {
  212. for(int i=0; i<m_List1.GetItemCount(); i++)
  213. {
  214. if(g_id==m_List1.GetItemText(i, 0))
  215. {
  216. m_List1.SetItemState(i,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED);
  217. m_List1.EnsureVisible(i,FALSE);
  218. break;
  219. }
  220. }
  221. }
  222. }
  223. void PhotoPrintFrom::OnBUTclose()
  224. {
  225. // TODO: Add your control notification handler code here
  226. GetParent()->SendMessage(WM_CLOSE);
  227. }
  228. void PhotoPrintFrom::OnButton1()
  229. {
  230. // TODO: Add your control notification handler code here
  231. UpdateData();
  232. m_filter.TrimLeft ();
  233. m_filter.TrimRight ();
  234. FillGrid();
  235. }
  236. void PhotoPrintFrom::OnSelchangeCombo1()
  237. {
  238. // TODO: Add your control notification handler code here
  239. SetTimer(1, 100, NULL);
  240. }
  241. void PhotoPrintFrom::OnTimer(UINT nIDEvent)
  242. {
  243. // TODO: Add your message handler code here and/or call default
  244. KillTimer(nIDEvent);
  245. OnButton1();
  246. }
  247. BOOL PhotoPrintFrom::PreTranslateMessage(MSG* pMsg)
  248. {
  249. // TODO: Add your specialized code here and/or call the base class
  250. try
  251. {
  252. if(pMsg->message==WM_KEYDOWN)
  253. {
  254. switch (pMsg->wParam)
  255. {
  256. case VK_RETURN:
  257. OnButton1();
  258. return 1;
  259. case 0x43: // copy
  260. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  261. {
  262. GetFocus()->SendMessage(WM_COPY);
  263. return TRUE;
  264. }
  265. break;
  266. case 0x56: //Ctrl + V:
  267. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  268. {
  269. GetFocus()->SendMessage(WM_PASTE);
  270. return TRUE;
  271. }
  272. break;
  273. case 0x58: // cut
  274. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  275. {
  276. GetFocus()->SendMessage(WM_CUT);
  277. return TRUE;
  278. }
  279. break;
  280. case 0x5A: //undo
  281. case 0x59: //redo
  282. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  283. {
  284. GetFocus()->SendMessage(WM_UNDO);
  285. return TRUE;
  286. }
  287. break;
  288. }
  289. }
  290. /* else if(pMsg->message==WM_LBUTTONDOWN)
  291. {
  292. CPoint pt;
  293. CRect rc,rc2;
  294. ::GetCursorPos (&pt);
  295. m_List1.GetWindowRect (rc2);
  296. pt.x-=rc2.left ;
  297. pt.y-=rc2.top ;
  298. m_List1.GetHeaderCtrl()->GetItemRect (0, rc);
  299. rc.right =rc.left +rc2.Width ();
  300. if(rc.PtInRect (pt))
  301. return 1;
  302. }*/
  303. return MyFormView::PreTranslateMessage(pMsg);
  304. }
  305. catch(...)
  306. {
  307. }
  308. return TRUE;
  309. }
  310. void PhotoPrintFrom::GetData()
  311. {
  312. if(g_bAllBranch==0)
  313. {
  314. if(g_bShowOK==0)
  315. {
  316. #ifdef LKAY_VERSION
  317. CString filter="status3='未取' and (dindantype<>'意向客户' or dindantype is null)";
  318. #else
  319. CString filter="status3='未取'";
  320. #endif
  321. g_sendhead.bsql=0;
  322. g_sendhead.code[0]=37;
  323. g_sendhead.tabcount=1;
  324. g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return;
  325. }
  326. else
  327. {
  328. g_sendhead.bsql=0;
  329. g_sendhead.code[0]=37;
  330. g_sendhead.tabcount=1;
  331. #ifdef LKAY_VERSION
  332. CString filter="dindantype<>'意向客户' or dindantype is null";
  333. g_pMainWnd->ProcessChatMessageRequest2(filter);
  334. #else
  335. g_pMainWnd->ProcessChatMessageRequest2(1);
  336. #endif
  337. if(g_bSendOK==0)return;
  338. }
  339. DataToArray(&m_List1array);
  340. }
  341. else
  342. {
  343. //////////////数据汇总
  344. m_List1array.RemoveAll ();
  345. CString branch;
  346. for(int i=-1; i<g_brancharray.GetSize ()-1; i++)
  347. {
  348. if(i!=-1)
  349. {
  350. branch=g_brancharray.ElementAt (i).ElementAt (0);
  351. g_branchip=g_brancharray.ElementAt (i).ElementAt (1);
  352. g_pMainWnd->OnDisconnect();
  353. g_branchname=branch;
  354. g_bBranchModify=1;
  355. }
  356. else
  357. branch=g_brancharray.ElementAt (g_brancharray.GetSize()-1).ElementAt(0);
  358. if(g_bShowOK==0)
  359. {
  360. CString filter="status3='未取'";
  361. g_sendhead.bsql=0;
  362. g_sendhead.code[0]=37;
  363. g_sendhead.tabcount=1;
  364. g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)continue;
  365. }
  366. else
  367. {
  368. g_sendhead.bsql=0;
  369. g_sendhead.code[0]=37;
  370. g_sendhead.tabcount=1;
  371. g_pMainWnd->ProcessChatMessageRequest2(1);if(g_bSendOK==0)continue;
  372. }
  373. CArray<CStringArray, CStringArray>List1array;
  374. DataToArray(&List1array);
  375. int size=m_List1array.GetSize ();
  376. for(int j=0; j<List1array.GetSize (); j++)
  377. {
  378. size++;
  379. m_List1array.SetSize(size , 1 );
  380. size--;
  381. m_List1array.ElementAt(size).Copy(List1array.ElementAt(j));
  382. m_List1array.ElementAt(size).InsertAt(0, branch);
  383. size++;
  384. }
  385. }
  386. g_pMainWnd->OnDisconnect();
  387. g_bBranchModify=0;
  388. g_branchip=g_branchname="";
  389. }
  390. HidePrice();
  391. FillGrid();
  392. }
  393. void PhotoPrintFrom::OnBUTmodify2()
  394. {
  395. // TODO: Add your control notification handler code here
  396. if(IsHasRights2new(13)==0)return;
  397. // TODO: Add your control notification handler code here
  398. POSITION pos;
  399. pos=m_List1.GetFirstSelectedItemPosition();
  400. if(pos==NULL)
  401. {
  402. return;
  403. }
  404. int iItem=m_List1.GetNextSelectedItem(pos);
  405. CString branch;
  406. CString id=m_List1.GetItemText (iItem, 0+m_nAdd);
  407. if(g_bAllBranch)
  408. branch=m_List1.GetItemText (iItem, 0);
  409. while(id=="")
  410. {
  411. iItem--;
  412. id=m_List1.GetItemText (iItem, 0+m_nAdd);
  413. }
  414. outsourcingDlg2 dlg;
  415. dlg.m_branch =branch;
  416. dlg.m_id =id;
  417. dlg.m_name1 =m_List1.GetItemText (iItem, 1+m_nAdd);
  418. dlg.m_name2 =m_List1.GetItemText (iItem, 2+m_nAdd);
  419. if(dlg.DoModal ()!=IDOK)return;
  420. GetData();
  421. }
  422. void PhotoPrintFrom::OnDblclkList2(NMHDR* pNMHDR, LRESULT* pResult)
  423. {
  424. // TODO: Add your control notification handler code here
  425. OnBUTmodify2();
  426. *pResult = 0;
  427. }
  428. void PhotoPrintFrom::OnBUTmodify3()
  429. {
  430. // TODO: Add your control notification handler code here
  431. PhotoPrintFrom2 dlg;
  432. dlg.DoModal();
  433. }
  434. void PhotoPrintFrom::OnClickList2(NMHDR* pNMHDR, LRESULT* pResult)
  435. {
  436. // TODO: Add your control notification handler code here
  437. POSITION pos;
  438. pos=m_List1.GetFirstSelectedItemPosition();
  439. if(pos==NULL)
  440. {
  441. return;
  442. }
  443. int iItem=m_List1.GetNextSelectedItem(pos);
  444. g_id=m_List1.GetItemText (iItem, 0);
  445. while(g_id=="")
  446. {
  447. iItem--;
  448. g_id=m_List1.GetItemText (iItem, 0);
  449. }
  450. *pResult = 0;
  451. }
  452. void PhotoPrintFrom::HidePrice()
  453. {
  454. #if 0 // Jeff.delete
  455. if(IsHasRights2new(31))return;
  456. for(int i=0; i< m_List1array.GetSize (); i++)
  457. {
  458. if(!m_List1array.ElementAt (i).ElementAt (14+m_nAdd).IsEmpty())
  459. m_List1array.ElementAt (i).SetAt (14+m_nAdd, "***");
  460. if(!m_List1array.ElementAt (i).ElementAt (13+m_nAdd).IsEmpty())
  461. m_List1array.ElementAt (i).SetAt (13+m_nAdd, "***");
  462. }
  463. #else
  464. if(IsHasRights2new(31))return;
  465. for(int i=0; i< m_List1array.GetSize(); i++)
  466. {
  467. if(!m_List1array.ElementAt(i).ElementAt(18+m_nAdd).IsEmpty())
  468. m_List1array.ElementAt(i).SetAt(18+m_nAdd, "***");
  469. if(!m_List1array.ElementAt(i).ElementAt(17+m_nAdd).IsEmpty())
  470. m_List1array.ElementAt(i).SetAt(17+m_nAdd, "***");
  471. }
  472. #endif
  473. }