Client2FormLYFZ.cpp 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974
  1. // Client2FormLYFZ.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ylgl.h"
  5. #include "Client2FormLYFZ.h"
  6. #include "MyMdi.H"
  7. #include "ModifyDinDan.h"
  8. #include "InputPsw.h"
  9. #include "ImportPhoto.h"
  10. #include "TakeMoney2.h"
  11. #include "ImportPhoto.h"
  12. #include "NeroDlg.h"
  13. #include "ClientRequirement.h"
  14. #include "ChoosePhotoSkin2.h"
  15. #include "./helper/ffsco.h"
  16. #include "AddClientLYFZ.h"
  17. #include "SendMsgDlg.h"
  18. #include "SearchFilter5.h"
  19. #ifdef _DEBUG
  20. #define new DEBUG_NEW
  21. #undef THIS_FILE
  22. static char THIS_FILE[] = __FILE__;
  23. #endif
  24. #pragma comment(lib, "Shlwapi.lib")
  25. /////////////////////////////////////////////////////////////////////////////
  26. // Client2FormLYFZ
  27. IMPLEMENT_DYNCREATE(Client2FormLYFZ, MyFormView)
  28. Client2FormLYFZ::Client2FormLYFZ()
  29. : MyFormView(Client2FormLYFZ::IDD)
  30. {
  31. //{{AFX_DATA_INIT(Client2FormLYFZ)
  32. m_filter = _T("");
  33. //}}AFX_DATA_INIT
  34. }
  35. Client2FormLYFZ::~Client2FormLYFZ()
  36. {
  37. }
  38. void Client2FormLYFZ::DoDataExchange(CDataExchange* pDX)
  39. {
  40. MyFormView::DoDataExchange(pDX);
  41. //{{AFX_DATA_MAP(Client2FormLYFZ)
  42. DDX_Control(pDX, IDC_COMBO1, m_combo1);
  43. DDX_Control(pDX, IDC_LIST2, m_List1);
  44. DDX_Control(pDX, IDC_STATIC1, m_static1);
  45. DDX_CBString(pDX, IDC_COMBO1, m_filter);
  46. //}}AFX_DATA_MAP
  47. }
  48. BEGIN_MESSAGE_MAP(Client2FormLYFZ, MyFormView)
  49. //{{AFX_MSG_MAP(Client2FormLYFZ)
  50. ON_BN_CLICKED(IDC_BUTclose, OnBUTclose)
  51. ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
  52. ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)
  53. ON_WM_TIMER()
  54. ON_BN_CLICKED(IDC_BUTshowphoto, OnBUTshowphoto)
  55. ON_BN_CLICKED(IDC_BUTexportphoto, OnBUTexportphoto)
  56. ON_BN_CLICKED(IDC_BUTimportphoto, OnBUTimportphoto)
  57. ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
  58. ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST2, OnItemchangedList2)
  59. ON_BN_CLICKED(IDC_BUTburncd, OnBUTClient2FormLYFZ)
  60. ON_NOTIFY(NM_DBLCLK, IDC_LIST2, OnDblclkList2)
  61. ON_BN_CLICKED(IDC_BUTburncd2, OnBUTburncd2)
  62. ON_BN_CLICKED(IDC_BUTburncd3, OnBUTburncd3)
  63. ON_BN_CLICKED(IDC_BUTsendmsg, OnBUTsendmsg)
  64. ON_BN_CLICKED(IDC_BUTprint3, OnBUTprint3)
  65. //}}AFX_MSG_MAP
  66. END_MESSAGE_MAP()
  67. /////////////////////////////////////////////////////////////////////////////
  68. // Client2FormLYFZ diagnostics
  69. #ifdef _DEBUG
  70. void Client2FormLYFZ::AssertValid() const
  71. {
  72. MyFormView::AssertValid();
  73. }
  74. void Client2FormLYFZ::Dump(CDumpContext& dc) const
  75. {
  76. MyFormView::Dump(dc);
  77. }
  78. #endif //_DEBUG
  79. /////////////////////////////////////////////////////////////////////////////
  80. // Client2FormLYFZ message handlers
  81. void Client2FormLYFZ::OnInitialUpdate()
  82. {
  83. MyFormView::OnInitialUpdate();
  84. GetDlgItem(IDC_BUTburncd3)->EnableWindow(IsHasRights2new(49));
  85. GetDlgItem(IDC_BUTprint3)->EnableWindow(IsHasRights2new(49));
  86. // TODO: Add your specialized code here and/or call the base class
  87. CMyMdi Mdi;
  88. Mdi.SetSubView((CWnd*)GetParent(), (CWnd*)this);
  89. // Here we create the outbar control using the splitter as its parent
  90. // and setting its id to the first pane.
  91. CRect rc2;
  92. GetWindowRect(rc2);
  93. ::MoveWindow(m_hWnd,g_rc.left,g_rc.top,g_rc.Width(),g_rc.Height(),TRUE);
  94. EnumChildWindows(m_hWnd,(WNDENUMPROC)EnumChildProc,0);
  95. int idarray[]={IDC_BUTburncd,IDC_BUTburncd2,IDC_BUTburncd3,IDC_BUTsendmsg,IDC_BUTprint3,IDC_BUTclose};
  96. int idcount=6;
  97. int btnwid;
  98. CRect prerc;
  99. for(int a=idcount-2; a>=0; a--)
  100. {
  101. GetDlgItem(idarray[a+1])->GetWindowRect (prerc);
  102. ScreenToClient(prerc);
  103. GetDlgItem(idarray[a])->GetWindowRect (rc2);
  104. ScreenToClient(rc2);
  105. btnwid=rc2.Width ();
  106. rc2.right =prerc.left ;
  107. rc2.left =rc2.right -btnwid;
  108. GetDlgItem(idarray[a])->MoveWindow (rc2);
  109. }
  110. m_static1.SetFont (&g_titlefont);
  111. m_List1.SetHeadings("id,0;地区,100;老总姓名,100;影楼名称,100;业务员,100;电话,100;QQ,100;地址,100;来源,100;状态,100;备注,100;日期,100" );
  112. m_List1.LoadColumnInfo (144);
  113. GetData();
  114. m_combo1.GetWindowRect (rc2);
  115. ScreenToClient(rc2);
  116. rc2.bottom +=200;
  117. m_combo1.MoveWindow (rc2);
  118. GetDlgItem(IDC_BUTclose)->GetWindowRect(rc2);
  119. SetComboHei(&m_combo1, rc2.Height ());
  120. }
  121. void Client2FormLYFZ::FillGrid(BOOL bStatus)
  122. {
  123. if(g_bSearchFilter)
  124. {
  125. m_List1.DeleteAllItems2 ();
  126. int ii=0;
  127. m_List1.m_arLabels.SetSize( m_List1array.GetSize (), 1 );
  128. int count=0;
  129. {
  130. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  131. {
  132. if(g_filterdate1!="")
  133. {
  134. if(m_List1array.ElementAt (ii).ElementAt (11)<g_filterdate1 || m_List1array.ElementAt (ii).ElementAt (11)>g_filterdate2)
  135. continue;
  136. }
  137. if(g_waiter1!="")
  138. {
  139. if(m_List1array.ElementAt (ii).ElementAt (4)!=g_waiter1)
  140. continue;
  141. }
  142. if(g_waiter2!="")
  143. {
  144. if(m_List1array.ElementAt (ii).ElementAt (1)!=g_waiter2)
  145. continue;
  146. }
  147. if(g_waiter3!="")
  148. {
  149. if(m_List1array.ElementAt (ii).ElementAt (8)!=g_waiter3)
  150. continue;
  151. }
  152. if(g_waiter4!="")
  153. {
  154. if(m_List1array.ElementAt (ii).ElementAt (9)!=g_waiter4)
  155. continue;
  156. }
  157. if(1)
  158. {
  159. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  160. }
  161. }
  162. }
  163. m_List1.m_arLabels.SetSize(count, 1);
  164. ii=count;
  165. m_List1.m_LabelCount=ii;
  166. m_List1.SetItemCountEx (ii);
  167. CString str;
  168. str.Format ("单数:%d", ii);
  169. SetDlgItemText(IDC_STATIC2, str);
  170. }
  171. else
  172. {
  173. m_List1.DeleteAllItems2 ();
  174. int ii=0;
  175. m_List1.m_arLabels.SetSize( m_List1array.GetSize (), 1 );
  176. int count=0;
  177. if(m_filter.IsEmpty ())
  178. {
  179. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  180. {
  181. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  182. }
  183. }
  184. else
  185. {
  186. int type=GetType(m_filter);
  187. if(type==1)//电话
  188. {
  189. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  190. {
  191. if(m_List1array.ElementAt (ii).ElementAt (5).Find (m_filter)!=-1 )
  192. {
  193. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  194. }
  195. }
  196. }
  197. else if(type==2)//拼音
  198. {
  199. m_filter.MakeUpper ();
  200. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  201. {
  202. if(m_List1array.ElementAt (ii).ElementAt (12).Find (m_filter)!=-1 || m_List1array.ElementAt (ii).ElementAt (13).Find (m_filter)!=-1)
  203. {
  204. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  205. }
  206. }
  207. }
  208. else
  209. {
  210. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  211. {
  212. if(m_List1array.ElementAt (ii).ElementAt (0).Find (m_filter)!=-1 ||\
  213. m_List1array.ElementAt (ii).ElementAt (1).Find (m_filter)!=-1 || \
  214. m_List1array.ElementAt (ii).ElementAt (2).Find (m_filter)!=-1 || \
  215. m_List1array.ElementAt (ii).ElementAt (3).Find (m_filter)!=-1|| \
  216. m_List1array.ElementAt (ii).ElementAt (4).Find (m_filter)!=-1|| \
  217. m_List1array.ElementAt (ii).ElementAt (5).Find (m_filter)!=-1 || \
  218. m_List1array.ElementAt (ii).ElementAt (6).Find (m_filter)!=-1 || \
  219. m_List1array.ElementAt (ii).ElementAt (7).Find (m_filter)!=-1 || \
  220. m_List1array.ElementAt (ii).ElementAt (9).Find (m_filter)!=-1 || \
  221. m_List1array.ElementAt (ii).ElementAt (8).Find (m_filter)!=-1 )
  222. {
  223. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  224. }
  225. }
  226. }
  227. }
  228. m_List1.m_arLabels.SetSize(count, 1);
  229. ii=count;
  230. m_List1.m_LabelCount=ii;
  231. m_List1.SetItemCountEx (ii);
  232. CString str;
  233. str.Format ("客人:%d", ii);
  234. SetDlgItemText(IDC_STATIC2, str);
  235. }
  236. }
  237. void Client2FormLYFZ::OnBUTclose()
  238. {
  239. // TODO: Add your control notification handler code here
  240. GetParent()->SendMessage(WM_CLOSE);
  241. }
  242. void Client2FormLYFZ::OnSelchangeCombo1()
  243. {
  244. // TODO: Add your control notification handler code here
  245. SetTimer(1, 100, NULL);
  246. }
  247. void Client2FormLYFZ::OnTimer(UINT nIDEvent)
  248. {
  249. // TODO: Add your message handler code here and/or call default
  250. KillTimer(nIDEvent);
  251. OnButton1();
  252. }
  253. BOOL Client2FormLYFZ::PreTranslateMessage(MSG* pMsg)
  254. {
  255. // TODO: Add your specialized code here and/or call the base class
  256. try
  257. {
  258. if(pMsg->message==WM_KEYDOWN)
  259. {
  260. switch (pMsg->wParam)
  261. {
  262. case VK_RETURN:
  263. OnButton1();
  264. return 1;
  265. case 0x43: // copy
  266. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  267. {
  268. GetFocus()->SendMessage(WM_COPY);
  269. return TRUE;
  270. }
  271. break;
  272. case 0x56: //Ctrl + V:
  273. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  274. {
  275. GetFocus()->SendMessage(WM_PASTE);
  276. return TRUE;
  277. }
  278. break;
  279. case 0x58: // cut
  280. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  281. {
  282. GetFocus()->SendMessage(WM_CUT);
  283. return TRUE;
  284. }
  285. break;
  286. case 0x5A: //undo
  287. case 0x59: //redo
  288. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  289. {
  290. GetFocus()->SendMessage(WM_UNDO);
  291. return TRUE;
  292. }
  293. break;
  294. }
  295. }
  296. return MyFormView::PreTranslateMessage(pMsg);
  297. }
  298. catch(...)
  299. {
  300. }
  301. }
  302. extern int CALLBACK BrowseProc(HWND hwnd, UINT msg, LPARAM lParam, LPARAM lpData);
  303. /*{
  304. switch(msg)
  305. {
  306. case BFFM_INITIALIZED:
  307. SendMessage(hwnd, BFFM_SETSELECTION, TRUE, NULL);
  308. break;
  309. case BFFM_SELCHANGED:
  310. {
  311. char szFileName[MAX_PATH];
  312. LPITEMIDLIST pidlCurrent = (LPITEMIDLIST)lParam;
  313. SHGetPathFromIDList(pidlCurrent, szFileName);
  314. SendMessage(hwnd, BFFM_SETSTATUSTEXT, 0, (LPARAM)szFileName);
  315. }
  316. break;
  317. }
  318. return 0;
  319. }*/
  320. void Client2FormLYFZ::GetSavePath(CString &path)
  321. {
  322. char lpszDisplayName[MAX_PATH], szFileName[MAX_PATH];
  323. LPITEMIDLIST pidlDesktop, pidlCurrent;
  324. if(SHGetSpecialFolderLocation(NULL, CSIDL_DESKTOP, &pidlDesktop)
  325. == NOERROR)
  326. {
  327. BROWSEINFO bi;
  328. bi.hwndOwner = this->m_hWnd;
  329. bi.pidlRoot = pidlDesktop;
  330. bi.pszDisplayName = lpszDisplayName;
  331. bi.lpszTitle = "\n文档保存的目录:";
  332. bi.ulFlags = BIF_STATUSTEXT&BIF_RETURNONLYFSDIRS ;
  333. bi.lpfn = BrowseProc;
  334. bi.lParam = 0;
  335. bi.iImage = 0;
  336. pidlCurrent = SHBrowseForFolder(&bi);
  337. SHGetPathFromIDList(pidlCurrent, szFileName);
  338. path = szFileName;
  339. }
  340. }
  341. int Client2FormLYFZ::FindArray(CStringArray *pArray, CString Str)
  342. {
  343. for(int i=0; i<pArray->GetSize (); i++)
  344. {
  345. if(pArray->ElementAt (i)==Str)
  346. return i;
  347. }
  348. return -1;
  349. }
  350. void Client2FormLYFZ::GetNo(CString str, CStringArray &array)
  351. {
  352. if(!str.IsEmpty ())
  353. {
  354. int pos=str.Find (",");
  355. while(pos!=-1)
  356. {
  357. if(FindArray(&array, str.Left (pos))==-1)
  358. array.Add (str.Left (pos));
  359. str=str.Right (str.GetLength ()-pos-1);
  360. pos=str.Find (",");
  361. }
  362. if(FindArray(&array, str)==-1)
  363. array.Add(str);
  364. }
  365. }
  366. CString Client2FormLYFZ::GetSelName(CString name, CArray<CStringArray, CStringArray>&spnamearray)
  367. {
  368. CString ret;
  369. name=","+name+",";
  370. CString str;
  371. for(int i=0; i<spnamearray.GetSize (); i++)
  372. {
  373. str=","+spnamearray.ElementAt (i).ElementAt (6)+",";
  374. if(str.Find (name)!=-1)
  375. {
  376. ret+=spnamearray.ElementAt (i).ElementAt (5);
  377. ret+=";";
  378. }
  379. }
  380. ret.TrimRight (";");
  381. ret.Replace ("*", "x");
  382. return ret;
  383. }
  384. void Client2FormLYFZ::OnBUTexportphoto()
  385. {
  386. if(IsHasRights2new(11)==0)return;
  387. // TODO: Add your control notification handler code here
  388. POSITION pos;
  389. pos=m_List1.GetFirstSelectedItemPosition();
  390. if(pos==NULL)
  391. {
  392. AfxMessageBox("请先选中您要导出片的定单!", MB_ICONINFORMATION);
  393. return;
  394. }
  395. int iItem=m_List1.GetNextSelectedItem(pos);
  396. CString id=m_List1.GetItemText (iItem, 0);
  397. CString path;
  398. path=g_path4+"\\";
  399. path+=id;
  400. path +="\\";
  401. CString temp;
  402. CStringArray array;
  403. using namespace helper_coffs;
  404. ffsco o;
  405. o.dirs(0);
  406. o.find(LPCSTR(path), LPCSTR("*.jpg"));
  407. ffsco::typeT coo;
  408. ffsco::typeT::iterator it;
  409. coo = o.co_file();
  410. for (it = coo.begin();
  411. coo.end() != it;
  412. it ++)
  413. {
  414. temp=(*it).c_str();
  415. if(temp.GetAt (temp.ReverseFind ('\\')+1)!='s' && temp.GetAt (temp.ReverseFind ('\\')+1)!='m')
  416. {
  417. array.Add (temp);
  418. }
  419. }
  420. if(array.GetSize ()==0)
  421. {
  422. AfxMessageBox("此单未导片!", MB_ICONINFORMATION);
  423. return;
  424. }
  425. CString dir;
  426. GetSavePath(dir);
  427. if(dir.IsEmpty())
  428. {
  429. return;
  430. }
  431. CString name1=m_List1.GetItemText (iItem, 1);
  432. CString name2=m_List1.GetItemText (iItem, 2);
  433. dir.TrimRight ('\\');
  434. dir+="\\";
  435. dir+=id;
  436. dir+=name1;
  437. dir+=name2;
  438. dir+="精修好的片";
  439. dir+="\\";
  440. ::CreateDirectory (dir, NULL);
  441. ImportPhoto dlg;
  442. dlg.m_mode =1;
  443. dlg.m_pArray=&array;
  444. dlg.m_savepath =dir;
  445. dlg.DoModal (); AfxMessageBox("导片成功!", MB_ICONINFORMATION);
  446. }
  447. void Client2FormLYFZ::OnBUTimportphoto()
  448. {
  449. // TODO: Add your control notification handler code here
  450. POSITION pos;
  451. pos=m_List1.GetFirstSelectedItemPosition();
  452. if(pos==NULL)
  453. {
  454. AfxMessageBox("请先选中您要导片的定单!", MB_ICONINFORMATION);
  455. return;
  456. }
  457. int iItem=m_List1.GetNextSelectedItem(pos);
  458. CString id=m_List1.GetItemText (iItem, 0);
  459. CString oldstatus=m_List1.GetItemText (iItem, 4);
  460. CString name=m_List1.GetItemText (iItem, 1)+","+m_List1.GetItemText (iItem, 2);
  461. name.TrimLeft (",");
  462. name.TrimRight (",");
  463. name="客人:"+name;
  464. CString phone=m_List1.GetItemText (iItem, 13)+","+m_List1.GetItemText (iItem, 14);
  465. phone.TrimLeft (",");
  466. phone.TrimRight (",");
  467. phone="电话:"+phone;
  468. if(g_path3.IsEmpty ())
  469. {
  470. AfxMessageBox("未设置设计片保存机器, 请通知系统管理员!", MB_ICONINFORMATION);
  471. return;
  472. }
  473. if(!::CheckFolderFileExist (g_path3))
  474. {
  475. AfxMessageBox("设计片保存机器目录未设置, 请通知系统管理员!", MB_ICONINFORMATION);
  476. return;
  477. }
  478. CString savepath=g_path3+"\\";
  479. savepath+=id+"\\";
  480. if(::CheckFolderFileExist (savepath)==0)
  481. ::CreateDirectory (savepath, NULL);
  482. CString srcdir;CString str;
  483. GetSavePath(srcdir);
  484. if(srcdir.IsEmpty())
  485. {
  486. CString status5;
  487. if(AfxMessageBox("客照是否全部设计完毕?", MB_YESNO|MB_ICONINFORMATION)==IDYES)
  488. status5="OK";
  489. else
  490. status5="设计中";
  491. CString sql;
  492. sql="update dindan set status5='"+status5+"' where id='"+id+"'";
  493. sql+=DINDAN_REF;
  494. g_sendhead.bsql=1;
  495. g_pMainWnd->ProcessChatMessageRequest2(sql);if(g_bSendOK==0)return;
  496. for(int i=0; i<m_List1array.GetSize (); i++)
  497. {
  498. if(id==m_List1array.ElementAt (i).ElementAt (0))
  499. {
  500. m_List1array.ElementAt (i).SetAt (4, status5);
  501. FillGrid();
  502. break;
  503. }
  504. }
  505. return;
  506. }
  507. if(srcdir.GetLength ()<4)
  508. {
  509. AfxMessageBox("请选择正确的您文件所在的目录!", MB_ICONSTOP);
  510. return;
  511. }
  512. if(oldstatus!="未设计")
  513. {
  514. CString str;
  515. str.Format ("%s\r\n%s\r\n此单已导入过设计片, 确认您选中的照片没有导入过吗? 否则会覆盖原来的照片, 是否继续?", name, phone );
  516. if(AfxMessageBox(str, MB_YESNO|MB_ICONSTOP)!=IDYES)
  517. return;
  518. }
  519. else
  520. {
  521. CString str;
  522. str.Format ("%s\r\n%s\r\n确认您选中的照片与客户资料相符吗? 是否继续?", name, phone );
  523. if(AfxMessageBox(str, MB_YESNO|MB_ICONINFORMATION)!=IDYES)
  524. return;
  525. }
  526. CStringArray array;
  527. CStringArray desarray;
  528. CStringArray dirarray;
  529. if(1)
  530. {
  531. using namespace helper_coffs;
  532. ffsco o;
  533. o.dirs(1);
  534. o.find(LPCSTR(srcdir), LPCSTR("*.*"));
  535. ffsco::typeT coo;
  536. ffsco::typeT::iterator it;
  537. coo = o.co_dir();
  538. for (it = coo.begin();
  539. coo.end() != it;
  540. it ++)
  541. {
  542. str=(*it).c_str();
  543. if(FindArray(&dirarray, str)==-1)
  544. {
  545. dirarray.Add (str);
  546. if(str!=dirarray.ElementAt (0))
  547. {
  548. str=savepath+str.Right (str.GetLength ()-dirarray.ElementAt (0).GetLength ());
  549. if(::CheckFolderFileExist (str)==0)
  550. ::CreateDirectory (str, NULL);
  551. }
  552. }
  553. }
  554. }
  555. if(1)
  556. {
  557. for(int i=0; i<dirarray.GetSize (); i++)
  558. {
  559. using namespace helper_coffs;
  560. ffsco o;
  561. o.dirs(0);
  562. o.find(LPCSTR(dirarray.ElementAt (i)), LPCSTR("*.jpg"));
  563. ffsco::typeT coo;
  564. ffsco::typeT::iterator it;
  565. coo = o.co_file();
  566. for (it = coo.begin();
  567. coo.end() != it;
  568. it ++)
  569. {
  570. str=(*it).c_str();
  571. array.Add (str);
  572. desarray.Add (savepath+dirarray.ElementAt (i).Right (dirarray.ElementAt (i).GetLength ()-dirarray.ElementAt (0).GetLength ())+str.Right (str.GetLength ()-str.ReverseFind ('\\')-1));
  573. }
  574. }
  575. }
  576. if(array.GetSize ()==0)return;
  577. ImportPhoto dlg;
  578. dlg.m_pArray=&array;
  579. dlg.m_pDesArray=&desarray;
  580. dlg.m_savepath =savepath;
  581. dlg.DoModal ();
  582. CString status5;
  583. if(AfxMessageBox("客照是否全部设计完毕?", MB_YESNO|MB_ICONINFORMATION)==IDYES)
  584. status5="OK";
  585. else
  586. status5="设计中";
  587. CString sql;
  588. sql="update dindan set status5='"+status5+"',waiter4='"+g_user.name+"' where id='"+id+"'";
  589. sql+=DINDAN_REF;
  590. g_sendhead.bsql=1;
  591. g_pMainWnd->ProcessChatMessageRequest2(sql);if(g_bSendOK==0)return;
  592. savepath+="ok";
  593. ::DeleteFile (savepath);
  594. AfxMessageBox("导入客照成功!", MB_ICONINFORMATION);
  595. for(int i=0; i<m_List1array.GetSize (); i++)
  596. {
  597. if(id==m_List1array.ElementAt (i).ElementAt (0))
  598. {
  599. m_List1array.ElementAt (i).SetAt (4, status5);
  600. m_List1array.ElementAt (i).SetAt (10, g_user.name);
  601. FillGrid();
  602. break;
  603. }
  604. }
  605. }
  606. void Client2FormLYFZ::OnBUTshowphoto()
  607. {
  608. // TODO: Add your control notification handler code here
  609. POSITION pos;
  610. pos=m_List1.GetFirstSelectedItemPosition();
  611. if(pos==NULL)
  612. {
  613. AfxMessageBox("请先选中您要查看的定单!", MB_ICONINFORMATION);
  614. return;
  615. }
  616. int iItem=m_List1.GetNextSelectedItem(pos);
  617. CString status=m_List1.GetItemText (iItem, 4);
  618. CString id=m_List1.GetItemText (iItem, 0);
  619. if(status=="未设计")
  620. {
  621. AfxMessageBox("此单未导片!", MB_ICONINFORMATION);
  622. return;
  623. }
  624. /* ShowPic dlg;
  625. dlg.m_path=g_path3+"\\";
  626. dlg.m_path+=id;
  627. dlg.m_path +="\\";
  628. dlg.DoModal ();*/
  629. ChoosePhotoSkin2 dlg;
  630. dlg.m_mode2 =1;
  631. dlg.SetLiaPath ("3.lia");
  632. dlg.m_strOrderNumber=id;
  633. dlg.m_path=g_path3+"\\";
  634. dlg.m_path+=id;
  635. dlg.m_path +="\\";
  636. dlg.DoModal ();
  637. for(int i=0; i<m_List1array.GetSize (); i++)
  638. {
  639. if(id==m_List1array.ElementAt (i).ElementAt (0))
  640. {
  641. m_List1array.ElementAt (i).SetAt (7, dlg.m_bz2);
  642. // FillGrid();
  643. break;
  644. }
  645. }
  646. }
  647. void Client2FormLYFZ::OnButton1()
  648. {
  649. // TODO: Add your control notification handler code here
  650. UpdateData();
  651. m_filter.TrimLeft ();
  652. m_filter.TrimRight ();
  653. FillGrid();
  654. }
  655. void Client2FormLYFZ::OnButton2()
  656. {
  657. // TODO: Add your control notification handler code here
  658. SearchFilter5 dlg;
  659. CStringArray Array2;
  660. CStringArray Array3;
  661. CStringArray Array4;
  662. for(int i=0; i<m_List1array.GetSize (); i++)
  663. {
  664. if(-1==::FindArray (&Array2, m_List1array.ElementAt (i).ElementAt (1)))
  665. Array2.Add (m_List1array.ElementAt (i).ElementAt (1));
  666. if(-1==::FindArray (&Array3, m_List1array.ElementAt (i).ElementAt (8)))
  667. Array3.Add (m_List1array.ElementAt (i).ElementAt (8));
  668. if(-1==::FindArray (&Array4, m_List1array.ElementAt (i).ElementAt (9)))
  669. Array4.Add (m_List1array.ElementAt (i).ElementAt (9));
  670. }
  671. dlg.m_pArray2=&Array2;
  672. dlg.m_pArray3=&Array3;
  673. dlg.m_pArray4=&Array4;
  674. if(dlg.DoModal ()==IDOK)FillGrid();
  675. g_bSearchFilter=0;
  676. }
  677. void Client2FormLYFZ::OnItemchangedList2(NMHDR* pNMHDR, LRESULT* pResult)
  678. {
  679. NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
  680. // TODO: Add your control notification handler code here
  681. *pResult = 0;
  682. }
  683. void Client2FormLYFZ::OnBUTClient2FormLYFZ()
  684. {
  685. // TODO: Add your control notification handler code here
  686. AddClientLYFZ dlg;
  687. dlg.m_pList2array=&m_List2array;
  688. if(dlg.DoModal()==IDOK)
  689. {
  690. GetData();
  691. }
  692. }
  693. void Client2FormLYFZ::OnDblclkList2(NMHDR* pNMHDR, LRESULT* pResult)
  694. {
  695. // TODO: Add your control notification handler code here
  696. POSITION pos;
  697. pos=m_List1.GetFirstSelectedItemPosition();
  698. if(pos==NULL)return;
  699. OnBUTburncd2();
  700. *pResult = 0;
  701. }
  702. void Client2FormLYFZ::OnBUTburncd2()
  703. {
  704. // TODO: Add your control notification handler code here
  705. POSITION pos;
  706. pos=m_List1.GetFirstSelectedItemPosition();
  707. if(pos==NULL)
  708. {
  709. AfxMessageBox("请先选中您要修改的客户!", MB_ICONINFORMATION);
  710. return;
  711. }
  712. int iItem=m_List1.GetNextSelectedItem(pos);
  713. AddClientLYFZ dlg;
  714. dlg.m_pList2array=&m_List2array;
  715. dlg.m_bAdd =0;
  716. dlg.id=m_List1.GetItemText (iItem, 0);
  717. dlg.m_area=m_List1.GetItemText (iItem, 1);
  718. dlg.m_name1=m_List1.GetItemText (iItem, 2);
  719. dlg.m_name2=m_List1.GetItemText (iItem, 3);
  720. dlg.m_clerk=m_List1.GetItemText (iItem, 4);
  721. if(IsHasRights2new(49)==0 && dlg.m_clerk!=g_user.name && dlg.m_clerk!="")
  722. {
  723. AfxMessageBox("只能修改自己的客户!", MB_ICONINFORMATION);
  724. return;
  725. }
  726. dlg.m_phone1=m_List1.GetItemText (iItem, 5);
  727. dlg.m_qq1=m_List1.GetItemText (iItem, 6);
  728. dlg.m_addr1=m_List1.GetItemText (iItem,7);
  729. dlg.m_from=m_List1.GetItemText (iItem, 8);
  730. dlg.m_status=m_List1.GetItemText (iItem, 9);
  731. CString id=m_List1.GetItemText (iItem, 0);
  732. for(int ii=0; ii<m_List1array.GetSize (); ii++)
  733. {
  734. if(m_List1array.ElementAt (ii).ElementAt (0)==id)
  735. {
  736. dlg.m_bz=m_List1.m_arLabels.ElementAt(ii).ElementAt(10);
  737. break;
  738. }
  739. }
  740. if(dlg.DoModal()==IDOK)
  741. {
  742. GetData();
  743. }
  744. }
  745. void Client2FormLYFZ::OnBUTburncd3()
  746. {
  747. // TODO: Add your control notification handler code here
  748. POSITION pos;
  749. pos=m_List1.GetFirstSelectedItemPosition();
  750. if(pos==NULL)
  751. {
  752. AfxMessageBox("请先选中您要删除的客户!", MB_ICONINFORMATION);
  753. return;
  754. }
  755. int iItem=m_List1.GetNextSelectedItem(pos);
  756. CString id=m_List1.GetItemText (iItem, 0);
  757. if(AfxMessageBox("确认删除吗?", MB_YESNO|MB_ICONINFORMATION)!=IDYES)return;
  758. CString sql;
  759. sql.Format ("delete from client2 where id=%d ", atoi(id));
  760. g_sendhead.bsql=1;
  761. g_pMainWnd->ProcessChatMessageRequest2(sql);if(g_bSendOK==0)return;
  762. GetData();
  763. }
  764. void Client2FormLYFZ::OnBUTsendmsg()
  765. {
  766. // TODO: Add your control notification handler code here
  767. POSITION pos;
  768. pos=m_List1.GetFirstSelectedItemPosition();
  769. if(pos==NULL)
  770. {
  771. AfxMessageBox("请先选中您要发送短信的客人!", MB_ICONINFORMATION);
  772. return;
  773. }
  774. int iItem;
  775. CStringArray array;
  776. while (pos)
  777. {
  778. iItem = m_List1.GetNextSelectedItem(pos);
  779. if(!m_List1.GetItemText (iItem, 5).IsEmpty ())
  780. array.Add (m_List1.GetItemText (iItem, 5));
  781. }
  782. SendMsgDlg dlg;
  783. dlg.m_mode=2;
  784. dlg.m_pArray=&array;
  785. dlg.DoModal ();
  786. }
  787. void Client2FormLYFZ::OnBUTprint3()
  788. {
  789. CStdioFile fp;
  790. /* if(::PathFileExists ("c:\\clientphone.txt"))
  791. {
  792. fp.Open ("c:\\clientphone.txt", CFile::modeWrite);
  793. fp.SeekToEnd ();
  794. }
  795. else*/
  796. fp.Open ("c:\\clientphone.txt", CFile::modeCreate|CFile::modeWrite);
  797. CString str;
  798. CString str1,str2,str3,str4,str5,str6,str7;
  799. CString phone;
  800. CString txname,txprice,mensi;
  801. int leng1=30;
  802. int leng2=30;
  803. int leng3=15;
  804. int leng4=18;
  805. int leng5=15;
  806. int leng6=10;
  807. int leng7=10;
  808. str1="老总姓名";
  809. str2="影楼名称";
  810. str3="业务员";
  811. str4="电话";
  812. str5="QQ";
  813. str6="来源";
  814. str7="状态";
  815. FillLength(str1, leng1);
  816. FillLength(str2, leng2);
  817. FillLength(str3, leng3);
  818. FillLength(str4, leng4);
  819. FillLength(str5,leng5);
  820. FillLength(str6,leng6);
  821. FillLength(str7,leng7);
  822. str=str1+str2+str3+str4+str5+str6+str7+"\n";
  823. fp.WriteString (str);
  824. for(int i=0; i<m_List1.GetItemCount (); i++)
  825. {
  826. str1=str2=str3=str4=str5=str6=str7="";
  827. str1=m_List1.GetItemText (i, 2);
  828. str2=m_List1.GetItemText (i, 3);
  829. str3=m_List1.GetItemText (i, 4);
  830. str4=m_List1.GetItemText (i, 5);
  831. str5=m_List1.GetItemText (i, 6);
  832. str6=m_List1.GetItemText (i, 8);
  833. str7=m_List1.GetItemText (i, 9);
  834. FillLength(str1, leng1);
  835. FillLength(str2, leng2);
  836. FillLength(str3, leng3);
  837. FillLength(str4, leng4);
  838. FillLength(str5,leng5);
  839. FillLength(str6,leng6);
  840. FillLength(str7,leng7);
  841. str=str1+str2+str3+str4+str5+str6+str7+"\n";
  842. fp.WriteString (str);
  843. }
  844. fp.Close ();
  845. MessageBox("电话已保存到c:\\clientphone.txt");
  846. ShellExecute(NULL, _T("open"), _T("c:\\clientphone.txt"), NULL, NULL, SW_SHOWMAXIMIZED);
  847. }
  848. void Client2FormLYFZ::GetData()
  849. {
  850. g_sendhead.bsql=0;
  851. g_sendhead.code[0]=90;
  852. g_sendhead.tabcount=1;
  853. g_pMainWnd->ProcessChatMessageRequest2(1);if(g_bSendOK==0)return;
  854. DataToArray(&m_List2array);
  855. int size=0;
  856. for(int i=0; i<m_List2array.GetSize (); i++)
  857. {
  858. if(m_List2array.ElementAt (i).ElementAt (4)!=g_user.name && m_List2array.ElementAt (i).ElementAt (4)!="" && IsHasRights2new(49)==0)continue;
  859. m_List1array.SetSize(size+1, 1);
  860. m_List1array.ElementAt (size).Copy (m_List2array.ElementAt (i));
  861. size++;
  862. }
  863. m_List1arrayBak.SetSize(m_List1array.GetSize ());
  864. for( i=0; i<m_List1array.GetSize (); i++)
  865. {
  866. m_List1arrayBak.ElementAt (i).Copy (m_List1array.ElementAt (i));
  867. if(m_List1array.ElementAt (i).ElementAt (10).GetLength ()>256)
  868. m_List1array.ElementAt (i).SetAt (10, m_List1array.ElementAt (i).ElementAt (10).Left (256)+"..");
  869. }
  870. FillGrid();
  871. }