BeautifySkinFrom2.cpp 39 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613
  1. // BeautifySkinFrom2.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ylgl.h"
  5. #include "BeautifySkinFrom2.h"
  6. #include "MyMdi.H"
  7. #include "ModifyDinDan.h"
  8. #include "InputPsw.h"
  9. #include "ImportPhoto.h"
  10. #include "ShowPic.h"
  11. #include "SelectPhotoDlg.h"
  12. #include "./helper/ffsco.h"
  13. #include "ShowCut.h"
  14. #include "CompressOption.h"
  15. #ifdef _DEBUG
  16. #define new DEBUG_NEW
  17. #undef THIS_FILE
  18. static char THIS_FILE[] = __FILE__;
  19. #endif
  20. //#pragma comment(lib, "Shlwapi.lib")
  21. /////////////////////////////////////////////////////////////////////////////
  22. // BeautifySkinFrom2
  23. IMPLEMENT_DYNCREATE(BeautifySkinFrom2, MyFormView)
  24. BeautifySkinFrom2::BeautifySkinFrom2()
  25. : MyFormView(BeautifySkinFrom2::IDD)
  26. {
  27. //{{AFX_DATA_INIT(BeautifySkinFrom2)
  28. m_filter = _T("");
  29. m_nAdd=0;
  30. //}}AFX_DATA_INIT
  31. if(g_bAllBranch)
  32. {
  33. m_nAdd=1;
  34. }
  35. }
  36. BeautifySkinFrom2::~BeautifySkinFrom2()
  37. {
  38. }
  39. void BeautifySkinFrom2::DoDataExchange(CDataExchange* pDX)
  40. {
  41. MyFormView::DoDataExchange(pDX);
  42. //{{AFX_DATA_MAP(BeautifySkinFrom2)
  43. DDX_Control(pDX, IDC_COMBO1, m_combo1);
  44. DDX_Control(pDX, IDC_LIST2, m_List1);
  45. DDX_Control(pDX, IDC_STATIC1, m_static1);
  46. DDX_CBString(pDX, IDC_COMBO1, m_filter);
  47. //}}AFX_DATA_MAP
  48. }
  49. BEGIN_MESSAGE_MAP(BeautifySkinFrom2, MyFormView)
  50. //{{AFX_MSG_MAP(BeautifySkinFrom2)
  51. ON_BN_CLICKED(IDC_BUTclose, OnBUTclose)
  52. ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
  53. ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)
  54. ON_WM_TIMER()
  55. ON_BN_CLICKED(IDC_BUTimportphoto, OnBUTimportphoto)
  56. ON_BN_CLICKED(IDC_BUTshowphoto, OnBUTshowphoto)
  57. ON_BN_CLICKED(IDC_BUTexportphoto, OnBUTexportphoto)
  58. ON_BN_CLICKED(IDC_BUTexportphoto2, OnBUTexportphoto2)
  59. ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
  60. ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST2, OnItemchangedList2)
  61. ON_NOTIFY(NM_CLICK, IDC_LIST2, OnClickList2)
  62. ON_BN_CLICKED(IDC_BTNSEARCHFILTER, OnBtnsearchfilter)
  63. ON_BN_CLICKED(IDC_BUTprint3, OnBUTprint3)
  64. //}}AFX_MSG_MAP
  65. END_MESSAGE_MAP()
  66. /////////////////////////////////////////////////////////////////////////////
  67. // BeautifySkinFrom2 diagnostics
  68. #ifdef _DEBUG
  69. void BeautifySkinFrom2::AssertValid() const
  70. {
  71. MyFormView::AssertValid();
  72. }
  73. void BeautifySkinFrom2::Dump(CDumpContext& dc) const
  74. {
  75. MyFormView::Dump(dc);
  76. }
  77. #endif //_DEBUG
  78. /////////////////////////////////////////////////////////////////////////////
  79. // BeautifySkinFrom2 message handlers
  80. void BeautifySkinFrom2::OnInitialUpdate()
  81. {
  82. MyFormView::OnInitialUpdate();
  83. // TODO: Add your specialized code here and/or call the base class
  84. CMyMdi Mdi;
  85. Mdi.SetSubView((CWnd*)GetParent(), (CWnd*)this);
  86. // Here we create the outbar control using the splitter as its parent
  87. // and setting its id to the first pane.
  88. CRect rc2;
  89. GetWindowRect(rc2);
  90. ::MoveWindow(m_hWnd,g_rc.left,g_rc.top,g_rc.Width(),g_rc.Height(),TRUE);
  91. EnumChildWindows(m_hWnd,(WNDENUMPROC)EnumChildProc,0);
  92. int idarray[]={IDC_BUTprint3,IDC_BUTexportphoto,IDC_BUTimportphoto,IDC_BUTshowphoto,IDC_BUTexportphoto2,IDC_BUTclose};
  93. int idcount=6;
  94. int btnwid;
  95. CRect prerc;
  96. for(int a=idcount-2; a>=0; a--)
  97. {
  98. GetDlgItem(idarray[a+1])->GetWindowRect (prerc);
  99. ScreenToClient(prerc);
  100. GetDlgItem(idarray[a])->GetWindowRect (rc2);
  101. ScreenToClient(rc2);
  102. btnwid=rc2.Width ();
  103. rc2.right =prerc.left ;
  104. rc2.left =rc2.right -btnwid;
  105. GetDlgItem(idarray[a])->MoveWindow (rc2);
  106. }
  107. m_static1.SetFont (&g_titlefont);
  108. if(g_bAllBranch==0)
  109. {
  110. #ifdef CHILD_VERSION
  111. m_List1.SetHeadings("订单号,100;家长姓名,100;宝宝姓名,100;修片,100;选片,100;选片日期,100;精修,100;精修日期,100;加急,100;取件日期,100;修片人,100;精修人,100;接单人,100;套系名称,100;套系价格,100;手机,100;固定电话,100" );
  112. #else
  113. m_List1.SetHeadings("订单号,100;男宾姓名,100;女宾姓名,100;修片,100;选片,100;选片日期,100;精修,100;精修日期,100;加急,100;取件日期,100;修片人,100;精修人,100;接单人,100;套系名称,100;套系价格,100;男宾电话,100;女宾电话,100" );
  114. #endif
  115. m_List1.LoadColumnInfo (122);
  116. }
  117. else
  118. {
  119. #ifdef CHILD_VERSION
  120. m_List1.SetHeadings("店名,100;订单号,100;家长姓名,100;宝宝姓名,100;修片,100;选片,100;选片日期,100;精修,100;精修日期,100;加急,100;取件日期,100;修片人,100;精修人,100;接单人,100;套系名称,100;套系价格,100;手机,100;固定电话,100" );
  121. #else
  122. m_List1.SetHeadings("店名,100;订单号,100;男宾姓名,100;女宾姓名,100;修片,100;选片,100;选片日期,100;精修,100;精修日期,100;加急,100;取件日期,100;修片人,100;精修人,100;接单人,100;套系名称,100;套系价格,100;男宾电话,100;女宾电话,100" );
  123. #endif
  124. m_List1.LoadColumnInfo (198);
  125. GetDlgItem(IDC_BUTprint3)->ShowWindow (1);
  126. }
  127. GetData();
  128. m_combo1.AddString (g_user.name);
  129. m_combo1.GetWindowRect (rc2);
  130. ScreenToClient(rc2);
  131. rc2.bottom +=200;
  132. m_combo1.MoveWindow (rc2);
  133. GetDlgItem(IDC_BUTclose)->GetWindowRect(rc2);
  134. SetComboHei(&m_combo1, rc2.Height ());
  135. GetDlgItem(IDC_BUTexportphoto)->EnableWindow(IsHasRights2new(10));
  136. GetDlgItem(IDC_BUTexportphoto2)->EnableWindow(IsHasRights2new(11));
  137. }
  138. void BeautifySkinFrom2::FillGrid(BOOL bStatus)
  139. {
  140. if(g_bSearchFilter)
  141. {
  142. m_List1.DeleteAllItems2 ();
  143. int ii=0;
  144. m_List1.m_arLabels.SetSize( m_List1array.GetSize (), 1 );
  145. int count=0;
  146. {
  147. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  148. {
  149. if(g_filterdate1!="")
  150. {
  151. if(m_List1array.ElementAt (ii).ElementAt (7+m_nAdd)<g_filterdate1 || m_List1array.ElementAt (ii).ElementAt (7+m_nAdd)>g_filterdate2)
  152. continue;
  153. }
  154. if(g_waiter1!="")
  155. {
  156. if(m_List1array.ElementAt (ii).ElementAt (11+m_nAdd)!=g_waiter1)
  157. continue;
  158. }
  159. if(g_bAllBranch && g_filterbranch!="")
  160. {
  161. if(m_List1array.ElementAt (ii).ElementAt (0)!= g_filterbranch)
  162. continue;
  163. }
  164. if(1)
  165. {
  166. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  167. }
  168. }
  169. }
  170. m_List1.m_arLabels.SetSize(count, 1);
  171. ii=count;
  172. m_List1.m_LabelCount=ii;
  173. m_List1.SetItemCountEx (ii);
  174. CString str;
  175. str.Format ("单数:%d", ii);
  176. SetDlgItemText(IDC_STATIC2, str);
  177. }
  178. else
  179. {
  180. m_List1.DeleteAllItems2 ();
  181. int ii=0;
  182. m_List1.m_arLabels.SetSize( m_List1array.GetSize (), 1 );
  183. int count=0;
  184. if(m_filter.IsEmpty ())
  185. {
  186. if(bStatus)
  187. {
  188. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  189. {
  190. if(m_List1array.ElementAt (ii).ElementAt (4+m_nAdd)=="OK"&&m_List1array.ElementAt (ii).ElementAt (6+m_nAdd)!="OK")
  191. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  192. }
  193. }
  194. else
  195. {
  196. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  197. {
  198. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  199. }
  200. }
  201. }
  202. else
  203. {
  204. if(bStatus)
  205. {
  206. int type=GetType(m_filter);
  207. if(type==1)//电话
  208. {
  209. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  210. {
  211. if(m_List1array.ElementAt (ii).ElementAt (4+m_nAdd)=="OK"&&m_List1array.ElementAt (ii).ElementAt (6+m_nAdd)!="OK" && (m_List1array.ElementAt (ii).ElementAt (15+m_nAdd).Find (m_filter)!=-1 || \
  212. m_List1array.ElementAt (ii).ElementAt (15+m_nAdd).Find (m_filter)!=-1) )
  213. {
  214. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  215. }
  216. }
  217. }
  218. else if(type==2)//拼音
  219. {
  220. m_filter.MakeUpper ();
  221. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  222. {
  223. if(m_List1array.ElementAt (ii).ElementAt (4+m_nAdd)=="OK"&&m_List1array.ElementAt (ii).ElementAt (6+m_nAdd)!="OK" &&(m_List1array.ElementAt (ii).ElementAt (17+m_nAdd).Find (m_filter)!=-1 || \
  224. m_List1array.ElementAt (ii).ElementAt (17+m_nAdd).Find (m_filter)!=-1))
  225. {
  226. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  227. }
  228. }
  229. }
  230. else
  231. {
  232. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  233. {
  234. if(m_List1array.ElementAt (ii).ElementAt (4+m_nAdd)=="OK"&&m_List1array.ElementAt (ii).ElementAt (6+m_nAdd)!="OK" &&(m_List1array.ElementAt (ii).ElementAt (0).Find (m_filter)!=-1 ||\
  235. m_List1array.ElementAt (ii).ElementAt (1).Find (m_filter)!=-1 || \
  236. m_List1array.ElementAt (ii).ElementAt (2).Find (m_filter)!=-1 || \
  237. m_List1array.ElementAt (ii).ElementAt (3).Find (m_filter)!=-1 || \
  238. m_List1array.ElementAt (ii).ElementAt (9).Find (m_filter)!=-1 || \
  239. m_List1array.ElementAt (ii).ElementAt (10).Find (m_filter)!=-1 || \
  240. m_List1array.ElementAt (ii).ElementAt (11).Find (m_filter)!=-1|| \
  241. m_List1array.ElementAt (ii).ElementAt (12).Find (m_filter)!=-1|| \
  242. m_List1array.ElementAt (ii).ElementAt (14).Find (m_filter)!=-1 || \
  243. m_List1array.ElementAt (ii).ElementAt (15).Find (m_filter)!=-1 || \
  244. m_List1array.ElementAt (ii).ElementAt (16).Find (m_filter)!=-1 || \
  245. m_List1array.ElementAt (ii).ElementAt (17).Find (m_filter)!=-1) )
  246. {
  247. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  248. }
  249. }
  250. }
  251. }
  252. else
  253. {
  254. int type=GetType(m_filter);
  255. if(type==1)//电话
  256. {
  257. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  258. {
  259. if(m_List1array.ElementAt (ii).ElementAt (15+m_nAdd).Find (m_filter)!=-1 || \
  260. m_List1array.ElementAt (ii).ElementAt (16+m_nAdd).Find (m_filter)!=-1)
  261. {
  262. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  263. }
  264. }
  265. }
  266. else if(type==2)//拼音
  267. {
  268. m_filter.MakeUpper ();
  269. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  270. {
  271. if(m_List1array.ElementAt (ii).ElementAt (17+m_nAdd).Find (m_filter)!=-1 || \
  272. m_List1array.ElementAt (ii).ElementAt (18+m_nAdd).Find (m_filter)!=-1)
  273. {
  274. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  275. }
  276. }
  277. }
  278. else
  279. {
  280. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  281. {
  282. if(m_List1array.ElementAt (ii).ElementAt (0).Find (m_filter)!=-1 ||\
  283. m_List1array.ElementAt (ii).ElementAt (1).Find (m_filter)!=-1 || \
  284. m_List1array.ElementAt (ii).ElementAt (2).Find (m_filter)!=-1 || \
  285. m_List1array.ElementAt (ii).ElementAt (3).Find (m_filter)!=-1 || \
  286. m_List1array.ElementAt (ii).ElementAt (9).Find (m_filter)!=-1 || \
  287. m_List1array.ElementAt (ii).ElementAt (10).Find (m_filter)!=-1 || \
  288. m_List1array.ElementAt (ii).ElementAt (11).Find (m_filter)!=-1|| \
  289. m_List1array.ElementAt (ii).ElementAt (12).Find (m_filter)!=-1|| \
  290. m_List1array.ElementAt (ii).ElementAt (14).Find (m_filter)!=-1 || \
  291. m_List1array.ElementAt (ii).ElementAt (15).Find (m_filter)!=-1 || \
  292. m_List1array.ElementAt (ii).ElementAt (16).Find (m_filter)!=-1 || \
  293. m_List1array.ElementAt (ii).ElementAt (17).Find (m_filter)!=-1)
  294. {
  295. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  296. }
  297. }
  298. }
  299. }
  300. }
  301. m_List1.m_arLabels.SetSize(count, 1);
  302. ii=count;
  303. m_List1.m_LabelCount=ii;
  304. m_List1.SetItemCountEx (ii);
  305. CString str;
  306. str.Format ("单数:%d", ii);
  307. SetDlgItemText(IDC_STATIC2, str);
  308. }
  309. if(!g_id.IsEmpty ())
  310. {
  311. for(int i=0; i<m_List1.GetItemCount (); i++)
  312. {
  313. if(g_id==m_List1.GetItemText (i, 0+m_nAdd))
  314. {
  315. m_List1.SetItemState(i,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED);
  316. m_List1.EnsureVisible(i,FALSE);
  317. break;
  318. }
  319. }
  320. }
  321. }
  322. void BeautifySkinFrom2::OnBUTclose()
  323. {
  324. // TODO: Add your control notification handler code here
  325. GetParent()->SendMessage(WM_CLOSE);
  326. }
  327. void BeautifySkinFrom2::OnSelchangeCombo1()
  328. {
  329. // TODO: Add your control notification handler code here
  330. SetTimer(1, 100, NULL);
  331. }
  332. void BeautifySkinFrom2::OnTimer(UINT nIDEvent)
  333. {
  334. // TODO: Add your message handler code here and/or call default
  335. KillTimer(nIDEvent);
  336. OnButton1();
  337. }
  338. BOOL BeautifySkinFrom2::PreTranslateMessage(MSG* pMsg)
  339. {
  340. // TODO: Add your specialized code here and/or call the base class
  341. try
  342. {
  343. if(pMsg->message==WM_KEYDOWN)
  344. {
  345. switch (pMsg->wParam)
  346. {
  347. case VK_RETURN:
  348. OnButton1();
  349. return 1;
  350. case 0x43: // copy
  351. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  352. {
  353. GetFocus()->SendMessage(WM_COPY);
  354. return TRUE;
  355. }
  356. break;
  357. case 0x56: //Ctrl + V:
  358. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  359. {
  360. GetFocus()->SendMessage(WM_PASTE);
  361. return TRUE;
  362. }
  363. break;
  364. case 0x58: // cut
  365. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  366. {
  367. GetFocus()->SendMessage(WM_CUT);
  368. return TRUE;
  369. }
  370. break;
  371. case 0x5A: //undo
  372. case 0x59: //redo
  373. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  374. {
  375. GetFocus()->SendMessage(WM_UNDO);
  376. return TRUE;
  377. }
  378. break;
  379. }
  380. }
  381. return MyFormView::PreTranslateMessage(pMsg);
  382. }
  383. catch(...)
  384. {
  385. }
  386. }
  387. void BeautifySkinFrom2::OnBUTimportphoto()
  388. {
  389. // TODO: Add your control notification handler code here
  390. POSITION pos;
  391. pos=m_List1.GetFirstSelectedItemPosition();
  392. if(pos==NULL)
  393. {
  394. AfxMessageBox("请先选中您要导片的定单!", MB_ICONINFORMATION);
  395. return;
  396. }
  397. int iItem=m_List1.GetNextSelectedItem(pos);
  398. CString branch;
  399. CString id=m_List1.GetItemText (iItem, 0+m_nAdd);
  400. if(g_bAllBranch)
  401. branch=m_List1.GetItemText (iItem, 0);
  402. CString oldstatus=m_List1.GetItemText (iItem, 6+m_nAdd);
  403. CString time9=m_List1.GetItemText (iItem, 7+m_nAdd);
  404. CString name=m_List1.GetItemText (iItem, 1+m_nAdd)+","+m_List1.GetItemText (iItem, 2+m_nAdd);
  405. name.TrimLeft (",");
  406. name.TrimRight (",");
  407. name="客人:"+name;
  408. CString phone=m_List1.GetItemText (iItem, 15+m_nAdd)+","+m_List1.GetItemText (iItem, 16+m_nAdd);
  409. phone.TrimLeft (",");
  410. phone.TrimRight (",");
  411. phone="电话:"+phone;
  412. #ifdef ENTERPRISE_VERSION
  413. if(::CheckFolderFileExist (g_path4)==0)
  414. ::CreateDirectory (g_path4, NULL);
  415. #endif
  416. if(!::CheckFolderFileExist (g_path4))
  417. {
  418. AfxMessageBox("精修片保存机器目录未设置, 请通知系统管理员!", MB_ICONINFORMATION);
  419. return;
  420. }
  421. CString savepath;
  422. if(g_bAllBranch)
  423. {
  424. CString branchpath=GetBranchPhotoPath(branch);
  425. savepath=g_path4+branchpath+"\\";
  426. if(::CheckFolderFileExist (savepath)==0)
  427. ::CreateDirectory (savepath, NULL);
  428. }
  429. else
  430. savepath=g_path4+"\\";
  431. savepath+=id+"\\";
  432. if(::CheckFolderFileExist (savepath)==0)
  433. ::CreateDirectory (savepath, NULL);
  434. /* IsGrowthTx growthtxdlg;
  435. growthtxdlg.m_id=id;
  436. growthtxdlg.DoModal ();
  437. if(growthtxdlg.m_bReturnOK==0)
  438. return;
  439. if(growthtxdlg.m_bGrowthTx && growthtxdlg.m_seltxname.IsEmpty ())
  440. return;
  441. if(!growthtxdlg.m_seltxname.IsEmpty ())
  442. {
  443. savepath+=growthtxdlg.m_seltxname+"\\";
  444. if(::CheckFolderFileExist (savepath)==0)
  445. ::CreateDirectory (savepath, NULL);
  446. }*/
  447. CString srcdir;CString str;
  448. GetSavePath(srcdir);
  449. if(srcdir.IsEmpty())
  450. {
  451. CString status6;
  452. if(AfxMessageBox("客照是否全部精修完毕?", MB_YESNO|MB_ICONINFORMATION)==IDYES)
  453. status6="OK";
  454. else
  455. status6="修片中";
  456. CString sql;
  457. if(time9.IsEmpty ())
  458. sql="update dindan set status6='"+status6+"',time9='"+g_date+"' where id='"+id+"'";
  459. else
  460. sql="update dindan set status6='"+status6+"' where id='"+id+"'";
  461. g_sendhead.bsql=1;
  462. if(g_bAllBranch)
  463. {
  464. g_branchip=GetIP(branch);
  465. g_pMainWnd->OnDisconnect();
  466. g_branchname=branch;
  467. g_bBranchModify=1;
  468. g_pMainWnd->ProcessChatMessageRequest2(sql);
  469. g_pMainWnd->OnDisconnect();g_bBranchModify=0;g_branchip=g_branchname="";
  470. }
  471. else
  472. g_pMainWnd->ProcessChatMessageRequest2(sql);
  473. if(g_bSendOK==0)return;
  474. if(g_bAllBranch==0)
  475. {
  476. GetData();
  477. }
  478. else
  479. {
  480. for(int i=0; i<m_List1array.GetSize (); i++)
  481. {
  482. if(id==m_List1array.ElementAt (i).ElementAt (1) && branch==m_List1array.ElementAt (i).ElementAt (0))
  483. {
  484. m_List1array.ElementAt (i).SetAt (6+m_nAdd, status6);
  485. if(time9.IsEmpty ())
  486. m_List1array.ElementAt (i).SetAt (7+m_nAdd, g_date);
  487. FillGrid();
  488. break;
  489. }
  490. }
  491. }
  492. return;
  493. }
  494. if(srcdir.GetLength ()<4)
  495. {
  496. AfxMessageBox("请选择正确的您文件所在的目录!", MB_ICONSTOP);
  497. return;
  498. }
  499. if(oldstatus!="未修")
  500. {
  501. str.Format ("%s\r\n%s\r\n此单已导入过修片,确认您选中的照片没有导入过吗? 否则会覆盖原来的照片, 是否继续?", name, phone );
  502. if(AfxMessageBox(str, MB_YESNO|MB_ICONSTOP)!=IDYES)
  503. return;
  504. }
  505. else
  506. {
  507. str.Format ("%s\r\n%s\r\n确认您选中的照片与客户资料相符吗? 是否继续?", name, phone );
  508. if(AfxMessageBox(str, MB_YESNO|MB_ICONINFORMATION)!=IDYES)
  509. return;
  510. }
  511. CStringArray array;
  512. CStringArray desarray;
  513. CStringArray dirarray;
  514. if(1)
  515. {
  516. using namespace helper_coffs;
  517. ffsco o;
  518. o.dirs(1);
  519. o.find(LPCSTR(srcdir), LPCSTR("*.*"));
  520. ffsco::typeT coo;
  521. ffsco::typeT::iterator it;
  522. coo = o.co_dir();
  523. for (it = coo.begin();
  524. coo.end() != it;
  525. it ++)
  526. {
  527. str=(*it).c_str();
  528. if(FindArray(&dirarray, str)==-1)
  529. {
  530. dirarray.Add (str);
  531. if(str!=dirarray.ElementAt (0))
  532. {
  533. str=savepath+str.Right (str.GetLength ()-dirarray.ElementAt (0).GetLength ());
  534. if(::CheckFolderFileExist (str)==0)
  535. ::CreateDirectory (str, NULL);
  536. }
  537. }
  538. }
  539. }
  540. if(1)
  541. {
  542. for(int i=0; i<dirarray.GetSize (); i++)
  543. {
  544. using namespace helper_coffs;
  545. ffsco o;
  546. o.dirs(0);
  547. o.find(LPCSTR(dirarray.ElementAt (i)), LPCSTR("*.jpg"));
  548. ffsco::typeT coo;
  549. ffsco::typeT::iterator it;
  550. coo = o.co_file();
  551. for (it = coo.begin();
  552. coo.end() != it;
  553. it ++)
  554. {
  555. str=(*it).c_str();
  556. array.Add (str);
  557. desarray.Add (savepath+dirarray.ElementAt (i).Right (dirarray.ElementAt (i).GetLength ()-dirarray.ElementAt (0).GetLength ())+str.Right (str.GetLength ()-str.ReverseFind ('\\')-1));
  558. }
  559. }
  560. }
  561. if(array.GetSize ()==0)return;
  562. ImportPhoto dlg;
  563. dlg.m_branch=branch;
  564. dlg.m_nphototype=2;
  565. dlg.m_bOverWrite=1;
  566. dlg.m_pArray=&array;
  567. dlg.m_pDesArray=&desarray;
  568. dlg.m_savepath =savepath;
  569. #ifdef ENTERPRISE_VERSION
  570. // if(!g_branchname.IsEmpty ())
  571. {
  572. dlg.m_bSaveUploadTask=g_bSaveUploadTask3;
  573. dlg.m_sel=g_cominfoarraylocal.ElementAt(0).ElementAt(80);
  574. dlg.m_uploadtaskarray .Add (id+";"+name);
  575. dlg.m_uploadtaskarray .Add ("");
  576. dlg.m_uploadtaskarray .Add ("");
  577. dlg.m_uploadtaskarray .Add ("");
  578. dlg.m_uploadtaskarray .Add ("");
  579. dlg.m_uploadtaskarray .Add ("");
  580. dlg.m_uploadtaskarray .Add ("");
  581. dlg.m_uploadtaskarray .Add ("");
  582. dlg.m_uploadtaskarray .Add ("");
  583. dlg.m_uploadtaskarray .Add ("");
  584. }
  585. #endif
  586. dlg.DoModal ();
  587. CString status6;
  588. if(AfxMessageBox("客照是否全部精修完毕?", MB_YESNO|MB_ICONINFORMATION)==IDYES)
  589. status6="OK";
  590. else
  591. status6="修片中";
  592. CString sql;
  593. if(time9.IsEmpty ())
  594. sql="update dindan set status6='"+status6+"',waiter7='"+g_user.name+"',time9='"+g_date+"' where id='"+id+"'";
  595. else
  596. sql="update dindan set status6='"+status6+"',waiter7='"+g_user.name+"' where id='"+id+"'";
  597. g_sendhead.bsql=1;
  598. if(g_bAllBranch)
  599. {
  600. g_branchip=GetIP(branch);
  601. g_pMainWnd->OnDisconnect();
  602. g_branchname=branch;
  603. g_bBranchModify=1;
  604. g_pMainWnd->ProcessChatMessageRequest2(sql);
  605. g_pMainWnd->OnDisconnect();g_bBranchModify=0;g_branchip=g_branchname="";
  606. }
  607. else
  608. g_pMainWnd->ProcessChatMessageRequest2(sql);
  609. if(g_bSendOK==0)return;
  610. savepath+="ok";
  611. ::DeleteFile (savepath);
  612. AfxMessageBox("导入客照成功!", MB_ICONINFORMATION);
  613. if(g_bAllBranch==0)
  614. {
  615. GetData();
  616. }
  617. else
  618. {
  619. for(int i=0; i<m_List1array.GetSize (); i++)
  620. {
  621. if(id==m_List1array.ElementAt (i).ElementAt (1) && branch==m_List1array.ElementAt (i).ElementAt (0))
  622. {
  623. m_List1array.ElementAt (i).SetAt (6+m_nAdd, status6);
  624. if(time9.IsEmpty ())
  625. m_List1array.ElementAt (i).SetAt (7+m_nAdd, g_date);
  626. m_List1array.ElementAt (i).SetAt (11+m_nAdd, g_user.name);
  627. FillGrid();
  628. break;
  629. }
  630. }
  631. }
  632. }
  633. void BeautifySkinFrom2::OnBUTshowphoto()
  634. {
  635. // TODO: Add your control notification handler code here
  636. POSITION pos;
  637. pos=m_List1.GetFirstSelectedItemPosition();
  638. if(pos==NULL)
  639. {
  640. AfxMessageBox("请先选中您要查看的定单!", MB_ICONINFORMATION);
  641. return;
  642. }
  643. int iItem=m_List1.GetNextSelectedItem(pos);
  644. CString branch;
  645. CString id=m_List1.GetItemText (iItem, 0+m_nAdd);
  646. if(g_bAllBranch)
  647. branch=m_List1.GetItemText (iItem, 0);
  648. CString name=m_List1.GetItemText (iItem, 1+m_nAdd)+","+m_List1.GetItemText (iItem, 2+m_nAdd);
  649. name.TrimLeft (",");
  650. name.TrimRight (",");
  651. name="客人:"+name;
  652. ShowPic dlg;
  653. dlg.m_id=id;
  654. dlg.m_name=name;
  655. dlg.m_mode=3;
  656. if(g_bAllBranch)
  657. {
  658. dlg.m_branch=branch;
  659. CString branchpath=GetBranchPhotoPath(branch);
  660. dlg.m_path=g_path4+branchpath+"\\";
  661. }
  662. else
  663. dlg.m_path=g_path4+"\\";
  664. dlg.m_path+=id;
  665. dlg.m_path +="\\";
  666. dlg.DoModal ();
  667. }
  668. int FindArray(CStringArray *pArray, CString Str)
  669. {
  670. for(int i=0; i<pArray->GetSize(); i++)
  671. {
  672. if(pArray->ElementAt(i)==Str)
  673. return i;
  674. }
  675. return -1;
  676. }
  677. void BeautifySkinFrom2::GetNo(CString str, CStringArray &array)
  678. {
  679. if(!str.IsEmpty ())
  680. {
  681. int pos=str.Find (",");
  682. while(pos!=-1)
  683. {
  684. if(FindArray(&array, str.Left (pos))==-1)
  685. array.Add (str.Left (pos));
  686. str=str.Right (str.GetLength ()-pos-1);
  687. pos=str.Find (",");
  688. }
  689. if(FindArray(&array, str)==-1)
  690. array.Add(str);
  691. }
  692. }
  693. CString BeautifySkinFrom2::GetSelName(CString name, CArray<CStringArray, CStringArray>&spnamearray)
  694. {
  695. CString ret;
  696. name=","+name+",";
  697. CString str;
  698. for(int i=0; i<spnamearray.GetSize (); i++)
  699. {
  700. str=","+spnamearray.ElementAt (i).ElementAt (6)+",";
  701. if(str.Find (name)!=-1)
  702. {
  703. ret+=spnamearray.ElementAt (i).ElementAt (5);
  704. ret+=";";
  705. }
  706. }
  707. ret.TrimRight (";");
  708. ret.Replace ("*", "x");
  709. return ret;
  710. }
  711. CString GetPathFromNo2(CString dir, CString no)
  712. {
  713. CString sRet;
  714. dir.TrimRight('\\');
  715. dir+="\\";
  716. CStringArray dirarray;
  717. CString temp;
  718. using namespace helper_coffs;
  719. ffsco o;
  720. o.dirs(1);
  721. o.find(LPCSTR(dir), LPCSTR("*.*"));
  722. ffsco::typeT coo;
  723. ffsco::typeT::iterator it;
  724. coo = o.co_dir();
  725. for (it = coo.begin();
  726. coo.end() != it;
  727. it ++)
  728. {
  729. temp=(*it).c_str();
  730. if(::FindArray (&dirarray, temp)==-1 && temp!=dir)
  731. {
  732. dirarray.Add (temp);
  733. }
  734. }
  735. for(int i=0; i<dirarray.GetSize(); i++)
  736. {
  737. temp=dirarray.ElementAt(i);
  738. sRet.Format("%s%s.jpg", temp, no);
  739. if(::PathFileExists (sRet))return sRet;
  740. sRet.Replace(".jpg", ".raw");
  741. if(::PathFileExists (sRet))return sRet;
  742. sRet.Replace(".raw", ".nef");
  743. if(::PathFileExists (sRet))return sRet;
  744. sRet.Replace(".nef", ".cr2");
  745. if(::PathFileExists (sRet))return sRet;
  746. sRet.Replace(".cr2", ".jpg");
  747. if(::PathFileExists (sRet))return sRet;
  748. }
  749. return dir+no+".jpg";
  750. }
  751. CString GetPathFromNo3(CString dir, CString no)
  752. {
  753. CString sRet;
  754. dir.TrimRight('\\');
  755. dir+="\\";
  756. CStringArray dirarray;
  757. CString temp;
  758. using namespace helper_coffs;
  759. ffsco o;
  760. o.dirs(1);
  761. o.find(LPCSTR(dir), LPCSTR("*.*"));
  762. ffsco::typeT coo;
  763. ffsco::typeT::iterator it;
  764. coo = o.co_dir();
  765. for (it = coo.begin();
  766. coo.end() != it;
  767. it ++)
  768. {
  769. temp=(*it).c_str();
  770. if(::FindArray (&dirarray, temp)==-1 && temp!=dir)
  771. {
  772. dirarray.Add (temp);
  773. }
  774. }
  775. for(int i=0; i<dirarray.GetSize(); i++)
  776. {
  777. temp=dirarray.ElementAt(i);
  778. sRet.Format("%s%s.jpg", temp, no);
  779. if(::PathFileExists (sRet))return sRet;
  780. }
  781. return dir+no+".jpg";
  782. }
  783. void BeautifySkinFrom2::OnBUTexportphoto()
  784. {
  785. // OnBUTexportphotoAddName();return;
  786. if(IsHasRights2new(10)==0)return;
  787. // TODO: Add your control notification handler code here GetSelName
  788. UpdateData();
  789. POSITION pos;
  790. pos=m_List1.GetFirstSelectedItemPosition();
  791. if(pos==NULL)
  792. {
  793. AfxMessageBox("请先选中您要导片的定单!", MB_ICONINFORMATION);
  794. return;
  795. }
  796. int iItem=m_List1.GetNextSelectedItem(pos);
  797. CString status2=m_List1.GetItemText (iItem, 4+m_nAdd);
  798. if(status2!="OK")
  799. {
  800. AfxMessageBox("此单未选片!", MB_ICONINFORMATION);
  801. return;
  802. }
  803. BOOL bOfmat=0;
  804. CString id=m_List1.GetItemText (iItem, 0+m_nAdd);
  805. CString branch;
  806. if(g_bAllBranch)
  807. branch=m_List1.GetItemText (iItem, 0);
  808. CString name1=m_List1.GetItemText (iItem, 1+m_nAdd);
  809. CString name2=m_List1.GetItemText (iItem, 2+m_nAdd);
  810. IsGrowthTx growthtxdlg;
  811. growthtxdlg.m_mode=1;
  812. growthtxdlg.m_strOrderNumber=id;
  813. growthtxdlg.DoModal ();
  814. BOOL m_bGrowthTX=growthtxdlg.m_bGrowthTx;
  815. CString m_seltxname=growthtxdlg.m_seltxname;
  816. #ifdef CHILD_VERSION
  817. CString filter="id='"+id+"';id='"+id+"';id='"+id+"' and name<>'入册' and name<>'入底'";
  818. if(m_seltxname!="" && m_seltxname!="全部")
  819. {
  820. filter="id='"+id+"' and growthtxname='"+m_seltxname+"';id='"+id+"';id='"+id+"' and name<>'入册' and name<>'入底'";
  821. }
  822. #else
  823. CString filter="id='"+id+"';id='"+id+"';id='"+id+"' and kind<>'2' and name<>'入册' and name<>'入底'";
  824. #endif
  825. g_sendhead.bsql=0;
  826. g_sendhead.code[0]=50;
  827. g_sendhead.code[1]=11;
  828. g_sendhead.code[2]=56;
  829. g_sendhead.tabcount=3;
  830. if(g_bAllBranch)
  831. {
  832. g_branchip=GetIP(branch);
  833. g_pMainWnd->OnDisconnect();
  834. g_branchname=branch;
  835. g_bBranchModify=1;
  836. g_pMainWnd->ProcessChatMessageRequest2(filter);
  837. g_pMainWnd->OnDisconnect();g_bBranchModify=0;g_branchip=g_branchname="";
  838. }
  839. else
  840. g_pMainWnd->ProcessChatMessageRequest2(filter);
  841. if(g_bSendOK==0)return;
  842. CArray<CStringArray, CStringArray>sparray;
  843. CArray<CStringArray, CStringArray>sparray2;
  844. DataToArray( &sparray, &g_List1array, &sparray2);
  845. CString path;
  846. if(g_bAllBranch)
  847. {
  848. CString branchpath=GetBranchPhotoPath(branch);
  849. path=g_path2+branchpath+"\\";
  850. }
  851. else
  852. path=g_path2+"\\";
  853. SelectPhotoDlg selectdlg;
  854. selectdlg.DoModal ();
  855. path+=id;
  856. path +="\\";
  857. if(m_seltxname!="" && m_seltxname!="全部")
  858. {
  859. path+=m_seltxname; path +="\\";
  860. }
  861. ////////////////////////////////////////
  862. CString str,spname;
  863. CStringArray noarray;
  864. CStringArray spnamearray;
  865. int i = 0;
  866. for(/*int*/ i=0; i<sparray.GetSize (); i++)
  867. {
  868. str=sparray.ElementAt (i).ElementAt (6);
  869. spname=sparray.ElementAt (i).ElementAt (5);
  870. GetNo(str, noarray);
  871. }
  872. if(noarray.GetSize ()==0)
  873. {
  874. AfxMessageBox("此单未选片!", MB_ICONINFORMATION);
  875. return;
  876. }
  877. spnamearray.SetSize(noarray.GetSize ());
  878. for( i=0; i<noarray.GetSize (); i++)
  879. {
  880. str=noarray.ElementAt (i);
  881. spnamearray.SetAt (i, GetSelName(str, sparray));//+"-"+str );
  882. }
  883. CString dir;
  884. GetSavePath(dir);
  885. if(dir.IsEmpty())return;
  886. dir.TrimRight ('\\');
  887. dir+="\\";
  888. dir+=id;
  889. dir+=g_branchname;
  890. if(g_bAllBranch)
  891. {
  892. if(GetBranchPhotoPath(branch)!="")
  893. dir+=branch;
  894. }
  895. dir+=name1;
  896. dir+=name2;
  897. dir+="选片";
  898. dir+="\\";
  899. CStringArray array;
  900. CStringArray spnamearray2;
  901. CString src,des;
  902. if(selectdlg.m_mode==0)
  903. {
  904. for(i=0; i<noarray.GetSize (); i++)
  905. {
  906. if( (m_seltxname!=""&&m_seltxname!="全部") || m_bGrowthTX==0)
  907. src.Format ("%s%s.jpg", path, noarray.ElementAt (i));
  908. else
  909. src=GetPathFromNo3(path, noarray.ElementAt (i));
  910. // AfxMessageBox(noarray.ElementAt (i));
  911. if(::CheckFileExist (src))
  912. {
  913. array.Add (src);
  914. if(1)//selectdlg.m_check1)
  915. spnamearray2.Add (spnamearray.ElementAt (i));
  916. else
  917. spnamearray2.Add (noarray.ElementAt (i));
  918. }
  919. else
  920. AfxMessageBox("未找到初修过的文件:"+src.Right (src.GetLength ()-src.ReverseFind ('\\')-1), MB_ICONINFORMATION);
  921. }
  922. }
  923. if(array.GetSize ()==0)
  924. {
  925. if(selectdlg.m_mode==0)
  926. AfxMessageBox("注意:此单未修片, 导出的是原片!", MB_ICONINFORMATION);
  927. if(g_bAllBranch)
  928. {
  929. CString branchpath=GetBranchPhotoPath(branch);
  930. path=g_path1+branchpath+"\\";
  931. }
  932. else
  933. path=g_path1+"\\";
  934. path+=id;
  935. path +="\\";
  936. dir.Delete (dir.GetLength ()-1, 1);
  937. dir+="(未修)\\";
  938. bOfmat=1;
  939. for(i=0; i<noarray.GetSize (); i++)
  940. {
  941. // src.Format ("%s%s.jpg", path, noarray.ElementAt (i));
  942. src=GetPathFromNo2(path, noarray.ElementAt (i));
  943. if(::CheckFileExist (src))
  944. {
  945. array.Add (src);
  946. if(1)//selectdlg.m_check1)
  947. spnamearray2.Add (spnamearray.ElementAt (i));
  948. else
  949. spnamearray2.Add (noarray.ElementAt (i));
  950. // AfxMessageBox(spnamearray.ElementAt (i));
  951. // AfxMessageBox(noarray.ElementAt (i));
  952. }
  953. else
  954. AfxMessageBox("未找到原片文件:"+src.Right (src.GetLength ()-src.ReverseFind ('\\')-1), MB_ICONINFORMATION);
  955. }
  956. }
  957. if(array.GetSize ()==0)
  958. {
  959. AfxMessageBox("此单未导入原片!", MB_ICONINFORMATION);
  960. return;
  961. }
  962. ::CreateDirectory (dir, NULL);
  963. ImportPhoto dlg;
  964. dlg.m_name=name1+name2;
  965. dlg.m_bAddname=selectdlg.m_check1;
  966. dlg.m_bOfmat=bOfmat;
  967. dlg.m_mode =1;
  968. dlg.m_bOrigin =1;
  969. dlg.m_pArray=&array;
  970. dlg.m_pArray2=&spnamearray2;
  971. dlg.m_savepath =dir;
  972. dlg.DoModal ();
  973. //////////////
  974. if(g_List1array.GetSize ())
  975. {
  976. CStdioFile fp;
  977. fp.Open (dir+"客户要求.txt", CFile::modeCreate|CFile::modeWrite);
  978. fp.WriteString ("选片要求:\n");
  979. fp.WriteString (g_List1array.ElementAt (0).ElementAt (39)+" "+g_List1array.ElementAt (0).ElementAt (75));
  980. fp.WriteString ("\n");
  981. fp.WriteString ("\n");
  982. fp.WriteString ("订单要求:\n");
  983. fp.WriteString (g_List1array.ElementAt (0).ElementAt (38));
  984. fp.WriteString ("\n");
  985. fp.WriteString ("\n");
  986. fp.WriteString ("客人产品:\n");
  987. CString str;
  988. str="产品名称";
  989. FillLength(str, 30);
  990. str+="数量";
  991. FillLength(str, 40);
  992. #ifdef LKAY_VERSION
  993. str+="P数";
  994. FillLength(str, 50);
  995. str+="加急";
  996. FillLength(str, 60);
  997. str+="取件日期";
  998. FillLength(str, 70);
  999. #else
  1000. str+="加急";
  1001. FillLength(str, 50);
  1002. str+="取件日期";
  1003. FillLength(str, 60);
  1004. #endif
  1005. fp.WriteString (str);
  1006. fp.WriteString ("\n");
  1007. for(int i=0; i<sparray2.GetSize (); i++)
  1008. {
  1009. str.Empty ();
  1010. str=sparray2.ElementAt (i).ElementAt (0);
  1011. FillLength(str, 30);
  1012. str+=sparray2.ElementAt (i).ElementAt (1);
  1013. FillLength(str, 40);
  1014. #ifdef LKAY_VERSION
  1015. str+=sparray2.ElementAt (i).ElementAt (29);//p数
  1016. FillLength(str, 50);
  1017. str+=sparray2.ElementAt (i).ElementAt (18);
  1018. FillLength(str, 60);
  1019. str+=sparray2.ElementAt (i).ElementAt (19);
  1020. FillLength(str, 70);
  1021. #else
  1022. str+=sparray2.ElementAt (i).ElementAt (18);
  1023. FillLength(str, 50);
  1024. str+=sparray2.ElementAt (i).ElementAt (19);
  1025. FillLength(str, 60);
  1026. #endif
  1027. fp.WriteString (str); fp.WriteString ("\n");
  1028. }
  1029. fp.Close ();
  1030. }
  1031. //////////////
  1032. AfxMessageBox("导片成功!", MB_ICONINFORMATION);
  1033. {
  1034. ShowCut dlg;
  1035. dlg.m_branch=branch;
  1036. dlg.m_mode=1;
  1037. dlg.m_id =id;
  1038. dlg.DoModal ();
  1039. }
  1040. // CString str;
  1041. str=" 导出选片 ";
  1042. str+="客人:";
  1043. str+=name1+name2+id;
  1044. WriteLog(str);
  1045. }
  1046. void BeautifySkinFrom2::OnBUTexportphoto2()
  1047. {
  1048. if(IsHasRights2new(11)==0)return;
  1049. // TODO: Add your control notification handler code here
  1050. POSITION pos;
  1051. pos=m_List1.GetFirstSelectedItemPosition();
  1052. if(pos==NULL)
  1053. {
  1054. AfxMessageBox("请先选中您要导出片的定单!", MB_ICONINFORMATION);
  1055. return;
  1056. }
  1057. int iItem=m_List1.GetNextSelectedItem(pos);
  1058. CString id=m_List1.GetItemText (iItem, 0+m_nAdd);
  1059. CString branch;
  1060. if(g_bAllBranch)
  1061. branch=m_List1.GetItemText (iItem, 0);
  1062. CString path;
  1063. if(g_bAllBranch)
  1064. {
  1065. CString branchpath=GetBranchPhotoPath(branch);
  1066. path=g_path4+branchpath+"\\";
  1067. }
  1068. else
  1069. path=g_path4+"\\";
  1070. path+=id;
  1071. path +="\\";
  1072. CStringArray array;
  1073. CString dir;
  1074. GetSavePath(dir);
  1075. if(dir.IsEmpty())
  1076. {
  1077. return;
  1078. }
  1079. CString name1=m_List1.GetItemText (iItem, 1+m_nAdd);
  1080. CString name2=m_List1.GetItemText (iItem, 2+m_nAdd);
  1081. dir.TrimRight ('\\');
  1082. dir+="\\";
  1083. dir+=id;
  1084. dir+=g_branchname;
  1085. if(g_bAllBranch)
  1086. {
  1087. if(GetBranchPhotoPath(branch)!="")
  1088. dir+=branch;
  1089. }
  1090. dir+=name1;
  1091. dir+=name2;
  1092. dir+="精修好的片";
  1093. dir+="\\";
  1094. ::CreateDirectory (dir, NULL);
  1095. CStringArray desarray;
  1096. CStringArray dirarray;
  1097. CString savepath=dir;
  1098. CString str;
  1099. if(1)
  1100. {
  1101. using namespace helper_coffs;
  1102. ffsco o;
  1103. o.dirs(1);
  1104. o.find(LPCSTR(path), LPCSTR("*.*"));
  1105. ffsco::typeT coo;
  1106. ffsco::typeT::iterator it;
  1107. coo = o.co_dir();
  1108. for (it = coo.begin();
  1109. coo.end() != it;
  1110. it ++)
  1111. {
  1112. str=(*it).c_str();
  1113. if(FindArray(&dirarray, str)==-1)
  1114. {
  1115. dirarray.Add (str);
  1116. if(str!=dirarray.ElementAt (0))
  1117. {
  1118. str=savepath+str.Right (str.GetLength ()-dirarray.ElementAt (0).GetLength ());
  1119. if(::CheckFolderFileExist (str)==0)
  1120. ::CreateDirectory (str, NULL);
  1121. }
  1122. }
  1123. }
  1124. }
  1125. if(1)
  1126. {
  1127. for(int i=0; i<dirarray.GetSize (); i++)
  1128. {
  1129. using namespace helper_coffs;
  1130. ffsco o;
  1131. o.dirs(0);
  1132. o.find(LPCSTR(dirarray.ElementAt (i)), LPCSTR("*.jpg"));
  1133. ffsco::typeT coo;
  1134. ffsco::typeT::iterator it;
  1135. coo = o.co_file();
  1136. for (it = coo.begin();
  1137. coo.end() != it;
  1138. it ++)
  1139. {
  1140. str=(*it).c_str();
  1141. if(str.GetAt (str.ReverseFind ('\\')+1)=='s')continue;
  1142. if(str.GetAt (str.ReverseFind ('\\')+1)=='m')continue;
  1143. array.Add (str);
  1144. desarray.Add (savepath+dirarray.ElementAt (i).Right (dirarray.ElementAt (i).GetLength ()-dirarray.ElementAt (0).GetLength ())+str.Right (str.GetLength ()-str.ReverseFind ('\\')-1));
  1145. }
  1146. }
  1147. }
  1148. if(array.GetSize ()==0)
  1149. {
  1150. AfxMessageBox("此单未导片!", MB_ICONINFORMATION);
  1151. return;
  1152. }
  1153. CCompressOption comoptdlg;
  1154. comoptdlg.DoModal ();
  1155. ImportPhoto dlg;
  1156. dlg.m_nOutputSize=comoptdlg.m_nsize;
  1157. dlg.m_mode =1;
  1158. dlg.m_pArray=&array;
  1159. dlg.m_pDesArray=&desarray;
  1160. dlg.m_savepath =dir;
  1161. dlg.DoModal (); AfxMessageBox("导片成功!", MB_ICONINFORMATION);
  1162. // CString str;
  1163. str=" 导出精修片 ";
  1164. str+="客人:";
  1165. str+=name1+name2+id;
  1166. WriteLog(str);
  1167. }
  1168. void BeautifySkinFrom2::OnButton1()
  1169. {
  1170. // TODO: Add your control notification handler code here
  1171. UpdateData();
  1172. m_filter.TrimLeft ();
  1173. m_filter.TrimRight ();
  1174. FillGrid();
  1175. }
  1176. void BeautifySkinFrom2::OnButton2()
  1177. {
  1178. // TODO: Add your control notification handler code here
  1179. UpdateData();
  1180. m_filter.TrimLeft ();
  1181. m_filter.TrimRight ();
  1182. FillGrid(1);
  1183. }
  1184. void BeautifySkinFrom2::OnItemchangedList2(NMHDR* pNMHDR, LRESULT* pResult)
  1185. {
  1186. NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
  1187. // TODO: Add your control notification handler code here
  1188. POSITION pos;
  1189. pos=m_List1.GetFirstSelectedItemPosition();
  1190. if(pos==NULL)
  1191. {
  1192. return;
  1193. }
  1194. int iItem=m_List1.GetNextSelectedItem(pos);
  1195. if(IsHasRights2new(6) || IsHasRights2new(49))
  1196. {
  1197. GetDlgItem(IDC_BUTimportphoto)->EnableWindow(1);
  1198. }
  1199. else
  1200. GetDlgItem(IDC_BUTimportphoto)->EnableWindow(0);
  1201. /* if(waiter7.IsEmpty () && IsHasRights2new(6) || IsHasRights2new(49))
  1202. {
  1203. GetDlgItem(IDC_BUTimportphoto)->EnableWindow(1);
  1204. }
  1205. else if(waiter7==g_user.name && IsHasRights2new(6) )
  1206. {
  1207. GetDlgItem(IDC_BUTimportphoto)->EnableWindow(1);
  1208. }
  1209. else
  1210. GetDlgItem(IDC_BUTimportphoto)->EnableWindow(0);*/
  1211. *pResult = 0;
  1212. }
  1213. void BeautifySkinFrom2::OnClickList2(NMHDR* pNMHDR, LRESULT* pResult)
  1214. {
  1215. // TODO: Add your control notification handler code here
  1216. POSITION pos;
  1217. pos=m_List1.GetFirstSelectedItemPosition();
  1218. if(pos==NULL)return;
  1219. int iItem=m_List1.GetNextSelectedItem(pos);
  1220. g_id = m_List1.GetItemText (iItem, 0+m_nAdd);
  1221. *pResult = 0;
  1222. }
  1223. void BeautifySkinFrom2::HidePrice()
  1224. {
  1225. #ifdef LKAY_VERSION
  1226. if(IsHasRights2new(31))return;
  1227. for(int i=0; i< m_List1array.GetSize (); i++)
  1228. {
  1229. m_List1array.ElementAt (i).SetAt (14+m_nAdd, "***");
  1230. m_List1array.ElementAt (i).SetAt (15+m_nAdd, "***");
  1231. m_List1array.ElementAt (i).SetAt (16+m_nAdd, "***");
  1232. m_List1array.ElementAt (i).SetAt (13+m_nAdd, "***");
  1233. }
  1234. #else
  1235. if(IsHasRights2new(31))return;
  1236. for(int i=0; i< m_List1array.GetSize (); i++)
  1237. {
  1238. m_List1array.ElementAt (i).SetAt (16+m_nAdd, "***");
  1239. m_List1array.ElementAt (i).SetAt (15+m_nAdd, "***");
  1240. }
  1241. #endif
  1242. }
  1243. void BeautifySkinFrom2::OnBtnsearchfilter()
  1244. {
  1245. // TODO: Add your control notification handler code here
  1246. SearchFilter dlg;
  1247. dlg.m_mode =2;
  1248. if(dlg.DoModal ()==IDOK)FillGrid();
  1249. g_bSearchFilter=0;
  1250. }
  1251. void BeautifySkinFrom2::GetData()
  1252. {
  1253. if(g_bAllBranch==0)
  1254. {
  1255. if(g_bShowOK==0)
  1256. {
  1257. #ifdef LKAY_VERSION
  1258. CString filter="status3='未取' and (dindantype<>'意向客户' or dindantype is null)";
  1259. #else
  1260. CString filter="status3='未取'";
  1261. #endif
  1262. g_sendhead.bsql=0;
  1263. g_sendhead.code[0]=35;
  1264. g_sendhead.tabcount=1;
  1265. g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return;
  1266. }
  1267. else
  1268. {
  1269. g_sendhead.bsql=0;
  1270. g_sendhead.code[0]=35;
  1271. g_sendhead.tabcount=1;
  1272. #ifdef LKAY_VERSION
  1273. CString filter="dindantype<>'意向客户' or dindantype is null";
  1274. g_pMainWnd->ProcessChatMessageRequest2(filter);
  1275. #else
  1276. g_pMainWnd->ProcessChatMessageRequest2(1);
  1277. #endif
  1278. if(g_bSendOK==0)return;
  1279. }
  1280. DataToArray(&m_List1array);
  1281. }
  1282. else
  1283. {
  1284. //////////////数据汇总
  1285. m_List1array.RemoveAll ();
  1286. CString branch;
  1287. for(int i=-1; i<g_brancharray.GetSize ()-1; i++)
  1288. {
  1289. if(i!=-1)
  1290. {
  1291. branch=g_brancharray.ElementAt (i).ElementAt (0);
  1292. g_branchip=g_brancharray.ElementAt (i).ElementAt (1);
  1293. g_pMainWnd->OnDisconnect();
  1294. g_branchname=branch;
  1295. g_bBranchModify=1;
  1296. }
  1297. else
  1298. branch=g_brancharray.ElementAt (g_brancharray.GetSize ()-1).ElementAt (0);
  1299. if(g_bShowOK==0)
  1300. {
  1301. CString filter="status3='未取'";
  1302. g_sendhead.bsql=0;
  1303. g_sendhead.code[0]=35;
  1304. g_sendhead.tabcount=1;
  1305. g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)continue;
  1306. }
  1307. else
  1308. {
  1309. g_sendhead.bsql=0;
  1310. g_sendhead.code[0]=35;
  1311. g_sendhead.tabcount=1;
  1312. g_pMainWnd->ProcessChatMessageRequest2(1);if(g_bSendOK==0)continue;
  1313. }
  1314. CArray<CStringArray, CStringArray>List1array;
  1315. DataToArray(&List1array);
  1316. int size=m_List1array.GetSize ();
  1317. for(int j=0; j<List1array.GetSize (); j++)
  1318. {
  1319. size++;
  1320. m_List1array.SetSize(size , 1 );
  1321. size--;
  1322. m_List1array.ElementAt (size).Copy (List1array.ElementAt (j));
  1323. m_List1array.ElementAt (size).InsertAt (0, branch);
  1324. size++;
  1325. }
  1326. }
  1327. g_pMainWnd->OnDisconnect();
  1328. g_bBranchModify=0;g_branchip=g_branchname="";
  1329. }
  1330. HidePrice();
  1331. FillGrid();
  1332. }
  1333. void BeautifySkinFrom2::OnBUTprint3()
  1334. {
  1335. // TODO: Add your control notification handler code here
  1336. GetData();
  1337. }
  1338. void BeautifySkinFrom2::OnBUTexportphotoAddName()
  1339. {
  1340. if(IsHasRights2new(10)==0)return;
  1341. // TODO: Add your control notification handler code here
  1342. UpdateData();
  1343. POSITION pos;
  1344. pos=m_List1.GetFirstSelectedItemPosition();
  1345. if(pos==NULL)
  1346. {
  1347. AfxMessageBox("请先选中您要导片的定单!", MB_ICONINFORMATION);
  1348. return;
  1349. }
  1350. int iItem=m_List1.GetNextSelectedItem(pos);
  1351. CString status2=m_List1.GetItemText (iItem, 4);
  1352. if(status2!="OK")
  1353. {
  1354. AfxMessageBox("此单未选片!", MB_ICONINFORMATION);
  1355. return;
  1356. }
  1357. CString id=m_List1.GetItemText (iItem, 0);
  1358. CString name1=m_List1.GetItemText (iItem, 1);
  1359. CString name2=m_List1.GetItemText (iItem, 2);
  1360. CString filter="id='"+id+"';id='"+id+"'";
  1361. g_sendhead.bsql=0;
  1362. g_sendhead.code[0]=50;
  1363. g_sendhead.code[1]=11;
  1364. g_sendhead.tabcount=2;
  1365. g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return;
  1366. CArray<CStringArray, CStringArray>sparray;
  1367. DataToArray( &sparray, &g_List1array);
  1368. CString path=g_path2+"\\";
  1369. SelectPhotoDlg selectdlg;
  1370. selectdlg.DoModal ();
  1371. path+=id;
  1372. path +="\\";
  1373. ////////////////////////////////////////
  1374. CString str,spname;
  1375. CStringArray noarray;
  1376. CStringArray spnamearray;
  1377. int i = 0;
  1378. for(/*int*/ i=0; i<sparray.GetSize (); i++)
  1379. {
  1380. str=sparray.ElementAt (i).ElementAt (6);
  1381. spname=sparray.ElementAt (i).ElementAt (5);
  1382. GetNo(str, noarray);
  1383. }
  1384. if(noarray.GetSize ()==0)
  1385. {
  1386. AfxMessageBox("此单未选片!", MB_ICONINFORMATION);
  1387. return;
  1388. }
  1389. spnamearray.SetSize(noarray.GetSize ());
  1390. for( i=0; i<noarray.GetSize (); i++)
  1391. {
  1392. str=noarray.ElementAt (i);
  1393. spnamearray.SetAt (i, GetSelName(str, sparray)+"-"+str );
  1394. }
  1395. CString dir;
  1396. GetSavePath(dir);
  1397. if(dir.IsEmpty())return;
  1398. dir.TrimRight ('\\');
  1399. dir+="\\";
  1400. dir+=id;
  1401. dir+=name1;
  1402. dir+=name2;
  1403. dir+="选片";
  1404. dir+="\\";
  1405. CStringArray array;
  1406. CStringArray spnamearray2;
  1407. CString src,des;
  1408. if(selectdlg.m_mode==0)
  1409. {
  1410. for(i=0; i<noarray.GetSize (); i++)
  1411. {
  1412. src.Format ("%s%s.jpg", path, noarray.ElementAt (i));
  1413. if(::CheckFolderFileExist (src))
  1414. {
  1415. array.Add (src);
  1416. if(selectdlg.m_check1)
  1417. spnamearray2.Add (spnamearray.ElementAt (i));
  1418. else
  1419. spnamearray2.Add (noarray.ElementAt (i));
  1420. }
  1421. else
  1422. AfxMessageBox("未找到初修过的文件:"+src.Right (src.GetLength ()-src.ReverseFind ('\\')-1), MB_ICONINFORMATION);
  1423. }
  1424. }
  1425. if(array.GetSize ()==0)
  1426. {
  1427. if(selectdlg.m_mode==0)
  1428. AfxMessageBox("注意:此单未修片, 导出的是原片!", MB_ICONINFORMATION);
  1429. path=g_path1+"\\";
  1430. path+=id;
  1431. path +="\\";
  1432. dir.Delete (dir.GetLength ()-1, 1);
  1433. dir+="(未修)\\";
  1434. for(i=0; i<noarray.GetSize (); i++)
  1435. {
  1436. src=GetPathFromNo2(path, noarray.ElementAt (i));
  1437. if(::CheckFileExist (src))
  1438. {
  1439. array.Add (src);
  1440. if(selectdlg.m_check1)
  1441. spnamearray2.Add (spnamearray.ElementAt (i));
  1442. else
  1443. spnamearray2.Add (noarray.ElementAt (i));
  1444. }
  1445. }
  1446. }
  1447. if(array.GetSize ()==0)
  1448. {
  1449. AfxMessageBox("此单未导入原片!", MB_ICONINFORMATION);
  1450. return;
  1451. }
  1452. ::CreateDirectory (dir, NULL);
  1453. ImportPhoto dlg;
  1454. dlg.m_mode =1;
  1455. dlg.m_pArray=&array;
  1456. dlg.m_pArray2=&spnamearray2;
  1457. dlg.m_savepath =dir;
  1458. dlg.DoModal ();
  1459. //////////////
  1460. if(g_List1array.GetSize ())
  1461. {
  1462. CStdioFile fp;
  1463. fp.Open (dir+"客户要求.txt", CFile::modeCreate|CFile::modeWrite);
  1464. fp.WriteString (g_List1array.ElementAt (0).ElementAt (39));
  1465. fp.Close ();
  1466. }
  1467. //////////////
  1468. AfxMessageBox("导片成功!", MB_ICONINFORMATION);
  1469. }