BeautifySkinFrom2.cpp 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611
  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. for(int i=0; i<sparray.GetSize (); i++)
  866. {
  867. str=sparray.ElementAt (i).ElementAt (6);
  868. spname=sparray.ElementAt (i).ElementAt (5);
  869. GetNo(str, noarray);
  870. }
  871. if(noarray.GetSize ()==0)
  872. {
  873. AfxMessageBox("此单未选片!", MB_ICONINFORMATION);
  874. return;
  875. }
  876. spnamearray.SetSize(noarray.GetSize ());
  877. for( i=0; i<noarray.GetSize (); i++)
  878. {
  879. str=noarray.ElementAt (i);
  880. spnamearray.SetAt (i, GetSelName(str, sparray));//+"-"+str );
  881. }
  882. CString dir;
  883. GetSavePath(dir);
  884. if(dir.IsEmpty())return;
  885. dir.TrimRight ('\\');
  886. dir+="\\";
  887. dir+=id;
  888. dir+=g_branchname;
  889. if(g_bAllBranch)
  890. {
  891. if(GetBranchPhotoPath(branch)!="")
  892. dir+=branch;
  893. }
  894. dir+=name1;
  895. dir+=name2;
  896. dir+="选片";
  897. dir+="\\";
  898. CStringArray array;
  899. CStringArray spnamearray2;
  900. CString src,des;
  901. if(selectdlg.m_mode==0)
  902. {
  903. for(i=0; i<noarray.GetSize (); i++)
  904. {
  905. if( (m_seltxname!=""&&m_seltxname!="全部") || m_bGrowthTX==0)
  906. src.Format ("%s%s.jpg", path, noarray.ElementAt (i));
  907. else
  908. src=GetPathFromNo3(path, noarray.ElementAt (i));
  909. // AfxMessageBox(noarray.ElementAt (i));
  910. if(::CheckFileExist (src))
  911. {
  912. array.Add (src);
  913. if(1)//selectdlg.m_check1)
  914. spnamearray2.Add (spnamearray.ElementAt (i));
  915. else
  916. spnamearray2.Add (noarray.ElementAt (i));
  917. }
  918. else
  919. AfxMessageBox("未找到初修过的文件:"+src.Right (src.GetLength ()-src.ReverseFind ('\\')-1), MB_ICONINFORMATION);
  920. }
  921. }
  922. if(array.GetSize ()==0)
  923. {
  924. if(selectdlg.m_mode==0)
  925. AfxMessageBox("注意:此单未修片, 导出的是原片!", MB_ICONINFORMATION);
  926. if(g_bAllBranch)
  927. {
  928. CString branchpath=GetBranchPhotoPath(branch);
  929. path=g_path1+branchpath+"\\";
  930. }
  931. else
  932. path=g_path1+"\\";
  933. path+=id;
  934. path +="\\";
  935. dir.Delete (dir.GetLength ()-1, 1);
  936. dir+="(未修)\\";
  937. bOfmat=1;
  938. for(i=0; i<noarray.GetSize (); i++)
  939. {
  940. // src.Format ("%s%s.jpg", path, noarray.ElementAt (i));
  941. src=GetPathFromNo2(path, noarray.ElementAt (i));
  942. if(::CheckFileExist (src))
  943. {
  944. array.Add (src);
  945. if(1)//selectdlg.m_check1)
  946. spnamearray2.Add (spnamearray.ElementAt (i));
  947. else
  948. spnamearray2.Add (noarray.ElementAt (i));
  949. // AfxMessageBox(spnamearray.ElementAt (i));
  950. // AfxMessageBox(noarray.ElementAt (i));
  951. }
  952. else
  953. AfxMessageBox("未找到原片文件:"+src.Right (src.GetLength ()-src.ReverseFind ('\\')-1), MB_ICONINFORMATION);
  954. }
  955. }
  956. if(array.GetSize ()==0)
  957. {
  958. AfxMessageBox("此单未导入原片!", MB_ICONINFORMATION);
  959. return;
  960. }
  961. ::CreateDirectory (dir, NULL);
  962. ImportPhoto dlg;
  963. dlg.m_name=name1+name2;
  964. dlg.m_bAddname=selectdlg.m_check1;
  965. dlg.m_bOfmat=bOfmat;
  966. dlg.m_mode =1;
  967. dlg.m_bOrigin =1;
  968. dlg.m_pArray=&array;
  969. dlg.m_pArray2=&spnamearray2;
  970. dlg.m_savepath =dir;
  971. dlg.DoModal ();
  972. //////////////
  973. if(g_List1array.GetSize ())
  974. {
  975. CStdioFile fp;
  976. fp.Open (dir+"客户要求.txt", CFile::modeCreate|CFile::modeWrite);
  977. fp.WriteString ("选片要求:\n");
  978. fp.WriteString (g_List1array.ElementAt (0).ElementAt (39)+" "+g_List1array.ElementAt (0).ElementAt (75));
  979. fp.WriteString ("\n");
  980. fp.WriteString ("\n");
  981. fp.WriteString ("订单要求:\n");
  982. fp.WriteString (g_List1array.ElementAt (0).ElementAt (38));
  983. fp.WriteString ("\n");
  984. fp.WriteString ("\n");
  985. fp.WriteString ("客人产品:\n");
  986. CString str;
  987. str="产品名称";
  988. FillLength(str, 30);
  989. str+="数量";
  990. FillLength(str, 40);
  991. #ifdef LKAY_VERSION
  992. str+="P数";
  993. FillLength(str, 50);
  994. str+="加急";
  995. FillLength(str, 60);
  996. str+="取件日期";
  997. FillLength(str, 70);
  998. #else
  999. str+="加急";
  1000. FillLength(str, 50);
  1001. str+="取件日期";
  1002. FillLength(str, 60);
  1003. #endif
  1004. fp.WriteString (str);
  1005. fp.WriteString ("\n");
  1006. for(int i=0; i<sparray2.GetSize (); i++)
  1007. {
  1008. str.Empty ();
  1009. str=sparray2.ElementAt (i).ElementAt (0);
  1010. FillLength(str, 30);
  1011. str+=sparray2.ElementAt (i).ElementAt (1);
  1012. FillLength(str, 40);
  1013. #ifdef LKAY_VERSION
  1014. str+=sparray2.ElementAt (i).ElementAt (29);//p数
  1015. FillLength(str, 50);
  1016. str+=sparray2.ElementAt (i).ElementAt (18);
  1017. FillLength(str, 60);
  1018. str+=sparray2.ElementAt (i).ElementAt (19);
  1019. FillLength(str, 70);
  1020. #else
  1021. str+=sparray2.ElementAt (i).ElementAt (18);
  1022. FillLength(str, 50);
  1023. str+=sparray2.ElementAt (i).ElementAt (19);
  1024. FillLength(str, 60);
  1025. #endif
  1026. fp.WriteString (str); fp.WriteString ("\n");
  1027. }
  1028. fp.Close ();
  1029. }
  1030. //////////////
  1031. AfxMessageBox("导片成功!", MB_ICONINFORMATION);
  1032. {
  1033. ShowCut dlg;
  1034. dlg.m_branch=branch;
  1035. dlg.m_mode=1;
  1036. dlg.m_id =id;
  1037. dlg.DoModal ();
  1038. }
  1039. // CString str;
  1040. str=" 导出选片 ";
  1041. str+="客人:";
  1042. str+=name1+name2+id;
  1043. WriteLog(str);
  1044. }
  1045. void BeautifySkinFrom2::OnBUTexportphoto2()
  1046. {
  1047. if(IsHasRights2new(11)==0)return;
  1048. // TODO: Add your control notification handler code here
  1049. POSITION pos;
  1050. pos=m_List1.GetFirstSelectedItemPosition();
  1051. if(pos==NULL)
  1052. {
  1053. AfxMessageBox("请先选中您要导出片的定单!", MB_ICONINFORMATION);
  1054. return;
  1055. }
  1056. int iItem=m_List1.GetNextSelectedItem(pos);
  1057. CString id=m_List1.GetItemText (iItem, 0+m_nAdd);
  1058. CString branch;
  1059. if(g_bAllBranch)
  1060. branch=m_List1.GetItemText (iItem, 0);
  1061. CString path;
  1062. if(g_bAllBranch)
  1063. {
  1064. CString branchpath=GetBranchPhotoPath(branch);
  1065. path=g_path4+branchpath+"\\";
  1066. }
  1067. else
  1068. path=g_path4+"\\";
  1069. path+=id;
  1070. path +="\\";
  1071. CStringArray array;
  1072. CString dir;
  1073. GetSavePath(dir);
  1074. if(dir.IsEmpty())
  1075. {
  1076. return;
  1077. }
  1078. CString name1=m_List1.GetItemText (iItem, 1+m_nAdd);
  1079. CString name2=m_List1.GetItemText (iItem, 2+m_nAdd);
  1080. dir.TrimRight ('\\');
  1081. dir+="\\";
  1082. dir+=id;
  1083. dir+=g_branchname;
  1084. if(g_bAllBranch)
  1085. {
  1086. if(GetBranchPhotoPath(branch)!="")
  1087. dir+=branch;
  1088. }
  1089. dir+=name1;
  1090. dir+=name2;
  1091. dir+="精修好的片";
  1092. dir+="\\";
  1093. ::CreateDirectory (dir, NULL);
  1094. CStringArray desarray;
  1095. CStringArray dirarray;
  1096. CString savepath=dir;
  1097. CString str;
  1098. if(1)
  1099. {
  1100. using namespace helper_coffs;
  1101. ffsco o;
  1102. o.dirs(1);
  1103. o.find(LPCSTR(path), LPCSTR("*.*"));
  1104. ffsco::typeT coo;
  1105. ffsco::typeT::iterator it;
  1106. coo = o.co_dir();
  1107. for (it = coo.begin();
  1108. coo.end() != it;
  1109. it ++)
  1110. {
  1111. str=(*it).c_str();
  1112. if(FindArray(&dirarray, str)==-1)
  1113. {
  1114. dirarray.Add (str);
  1115. if(str!=dirarray.ElementAt (0))
  1116. {
  1117. str=savepath+str.Right (str.GetLength ()-dirarray.ElementAt (0).GetLength ());
  1118. if(::CheckFolderFileExist (str)==0)
  1119. ::CreateDirectory (str, NULL);
  1120. }
  1121. }
  1122. }
  1123. }
  1124. if(1)
  1125. {
  1126. for(int i=0; i<dirarray.GetSize (); i++)
  1127. {
  1128. using namespace helper_coffs;
  1129. ffsco o;
  1130. o.dirs(0);
  1131. o.find(LPCSTR(dirarray.ElementAt (i)), LPCSTR("*.jpg"));
  1132. ffsco::typeT coo;
  1133. ffsco::typeT::iterator it;
  1134. coo = o.co_file();
  1135. for (it = coo.begin();
  1136. coo.end() != it;
  1137. it ++)
  1138. {
  1139. str=(*it).c_str();
  1140. if(str.GetAt (str.ReverseFind ('\\')+1)=='s')continue;
  1141. if(str.GetAt (str.ReverseFind ('\\')+1)=='m')continue;
  1142. array.Add (str);
  1143. desarray.Add (savepath+dirarray.ElementAt (i).Right (dirarray.ElementAt (i).GetLength ()-dirarray.ElementAt (0).GetLength ())+str.Right (str.GetLength ()-str.ReverseFind ('\\')-1));
  1144. }
  1145. }
  1146. }
  1147. if(array.GetSize ()==0)
  1148. {
  1149. AfxMessageBox("此单未导片!", MB_ICONINFORMATION);
  1150. return;
  1151. }
  1152. CCompressOption comoptdlg;
  1153. comoptdlg.DoModal ();
  1154. ImportPhoto dlg;
  1155. dlg.m_nOutputSize=comoptdlg.m_nsize;
  1156. dlg.m_mode =1;
  1157. dlg.m_pArray=&array;
  1158. dlg.m_pDesArray=&desarray;
  1159. dlg.m_savepath =dir;
  1160. dlg.DoModal (); AfxMessageBox("导片成功!", MB_ICONINFORMATION);
  1161. // CString str;
  1162. str=" 导出精修片 ";
  1163. str+="客人:";
  1164. str+=name1+name2+id;
  1165. WriteLog(str);
  1166. }
  1167. void BeautifySkinFrom2::OnButton1()
  1168. {
  1169. // TODO: Add your control notification handler code here
  1170. UpdateData();
  1171. m_filter.TrimLeft ();
  1172. m_filter.TrimRight ();
  1173. FillGrid();
  1174. }
  1175. void BeautifySkinFrom2::OnButton2()
  1176. {
  1177. // TODO: Add your control notification handler code here
  1178. UpdateData();
  1179. m_filter.TrimLeft ();
  1180. m_filter.TrimRight ();
  1181. FillGrid(1);
  1182. }
  1183. void BeautifySkinFrom2::OnItemchangedList2(NMHDR* pNMHDR, LRESULT* pResult)
  1184. {
  1185. NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
  1186. // TODO: Add your control notification handler code here
  1187. POSITION pos;
  1188. pos=m_List1.GetFirstSelectedItemPosition();
  1189. if(pos==NULL)
  1190. {
  1191. return;
  1192. }
  1193. int iItem=m_List1.GetNextSelectedItem(pos);
  1194. if(IsHasRights2new(6) || IsHasRights2new(49))
  1195. {
  1196. GetDlgItem(IDC_BUTimportphoto)->EnableWindow(1);
  1197. }
  1198. else
  1199. GetDlgItem(IDC_BUTimportphoto)->EnableWindow(0);
  1200. /* if(waiter7.IsEmpty () && IsHasRights2new(6) || IsHasRights2new(49))
  1201. {
  1202. GetDlgItem(IDC_BUTimportphoto)->EnableWindow(1);
  1203. }
  1204. else if(waiter7==g_user.name && IsHasRights2new(6) )
  1205. {
  1206. GetDlgItem(IDC_BUTimportphoto)->EnableWindow(1);
  1207. }
  1208. else
  1209. GetDlgItem(IDC_BUTimportphoto)->EnableWindow(0);*/
  1210. *pResult = 0;
  1211. }
  1212. void BeautifySkinFrom2::OnClickList2(NMHDR* pNMHDR, LRESULT* pResult)
  1213. {
  1214. // TODO: Add your control notification handler code here
  1215. POSITION pos;
  1216. pos=m_List1.GetFirstSelectedItemPosition();
  1217. if(pos==NULL)return;
  1218. int iItem=m_List1.GetNextSelectedItem(pos);
  1219. g_id = m_List1.GetItemText (iItem, 0+m_nAdd);
  1220. *pResult = 0;
  1221. }
  1222. void BeautifySkinFrom2::HidePrice()
  1223. {
  1224. #ifdef LKAY_VERSION
  1225. if(IsHasRights2new(31))return;
  1226. for(int i=0; i< m_List1array.GetSize (); i++)
  1227. {
  1228. m_List1array.ElementAt (i).SetAt (14+m_nAdd, "***");
  1229. m_List1array.ElementAt (i).SetAt (15+m_nAdd, "***");
  1230. m_List1array.ElementAt (i).SetAt (16+m_nAdd, "***");
  1231. m_List1array.ElementAt (i).SetAt (13+m_nAdd, "***");
  1232. }
  1233. #else
  1234. if(IsHasRights2new(31))return;
  1235. for(int i=0; i< m_List1array.GetSize (); i++)
  1236. {
  1237. m_List1array.ElementAt (i).SetAt (16+m_nAdd, "***");
  1238. m_List1array.ElementAt (i).SetAt (15+m_nAdd, "***");
  1239. }
  1240. #endif
  1241. }
  1242. void BeautifySkinFrom2::OnBtnsearchfilter()
  1243. {
  1244. // TODO: Add your control notification handler code here
  1245. SearchFilter dlg;
  1246. dlg.m_mode =2;
  1247. if(dlg.DoModal ()==IDOK)FillGrid();
  1248. g_bSearchFilter=0;
  1249. }
  1250. void BeautifySkinFrom2::GetData()
  1251. {
  1252. if(g_bAllBranch==0)
  1253. {
  1254. if(g_bShowOK==0)
  1255. {
  1256. #ifdef LKAY_VERSION
  1257. CString filter="status3='未取' and (dindantype<>'意向客户' or dindantype is null)";
  1258. #else
  1259. CString filter="status3='未取'";
  1260. #endif
  1261. g_sendhead.bsql=0;
  1262. g_sendhead.code[0]=35;
  1263. g_sendhead.tabcount=1;
  1264. g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return;
  1265. }
  1266. else
  1267. {
  1268. g_sendhead.bsql=0;
  1269. g_sendhead.code[0]=35;
  1270. g_sendhead.tabcount=1;
  1271. #ifdef LKAY_VERSION
  1272. CString filter="dindantype<>'意向客户' or dindantype is null";
  1273. g_pMainWnd->ProcessChatMessageRequest2(filter);
  1274. #else
  1275. g_pMainWnd->ProcessChatMessageRequest2(1);
  1276. #endif
  1277. if(g_bSendOK==0)return;
  1278. }
  1279. DataToArray(&m_List1array);
  1280. }
  1281. else
  1282. {
  1283. //////////////数据汇总
  1284. m_List1array.RemoveAll ();
  1285. CString branch;
  1286. for(int i=-1; i<g_brancharray.GetSize ()-1; i++)
  1287. {
  1288. if(i!=-1)
  1289. {
  1290. branch=g_brancharray.ElementAt (i).ElementAt (0);
  1291. g_branchip=g_brancharray.ElementAt (i).ElementAt (1);
  1292. g_pMainWnd->OnDisconnect();
  1293. g_branchname=branch;
  1294. g_bBranchModify=1;
  1295. }
  1296. else
  1297. branch=g_brancharray.ElementAt (g_brancharray.GetSize ()-1).ElementAt (0);
  1298. if(g_bShowOK==0)
  1299. {
  1300. CString filter="status3='未取'";
  1301. g_sendhead.bsql=0;
  1302. g_sendhead.code[0]=35;
  1303. g_sendhead.tabcount=1;
  1304. g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)continue;
  1305. }
  1306. else
  1307. {
  1308. g_sendhead.bsql=0;
  1309. g_sendhead.code[0]=35;
  1310. g_sendhead.tabcount=1;
  1311. g_pMainWnd->ProcessChatMessageRequest2(1);if(g_bSendOK==0)continue;
  1312. }
  1313. CArray<CStringArray, CStringArray>List1array;
  1314. DataToArray(&List1array);
  1315. int size=m_List1array.GetSize ();
  1316. for(int j=0; j<List1array.GetSize (); j++)
  1317. {
  1318. size++;
  1319. m_List1array.SetSize(size , 1 );
  1320. size--;
  1321. m_List1array.ElementAt (size).Copy (List1array.ElementAt (j));
  1322. m_List1array.ElementAt (size).InsertAt (0, branch);
  1323. size++;
  1324. }
  1325. }
  1326. g_pMainWnd->OnDisconnect();
  1327. g_bBranchModify=0;g_branchip=g_branchname="";
  1328. }
  1329. HidePrice();
  1330. FillGrid();
  1331. }
  1332. void BeautifySkinFrom2::OnBUTprint3()
  1333. {
  1334. // TODO: Add your control notification handler code here
  1335. GetData();
  1336. }
  1337. void BeautifySkinFrom2::OnBUTexportphotoAddName()
  1338. {
  1339. if(IsHasRights2new(10)==0)return;
  1340. // TODO: Add your control notification handler code here
  1341. UpdateData();
  1342. POSITION pos;
  1343. pos=m_List1.GetFirstSelectedItemPosition();
  1344. if(pos==NULL)
  1345. {
  1346. AfxMessageBox("请先选中您要导片的定单!", MB_ICONINFORMATION);
  1347. return;
  1348. }
  1349. int iItem=m_List1.GetNextSelectedItem(pos);
  1350. CString status2=m_List1.GetItemText (iItem, 4);
  1351. if(status2!="OK")
  1352. {
  1353. AfxMessageBox("此单未选片!", MB_ICONINFORMATION);
  1354. return;
  1355. }
  1356. CString id=m_List1.GetItemText (iItem, 0);
  1357. CString name1=m_List1.GetItemText (iItem, 1);
  1358. CString name2=m_List1.GetItemText (iItem, 2);
  1359. CString filter="id='"+id+"';id='"+id+"'";
  1360. g_sendhead.bsql=0;
  1361. g_sendhead.code[0]=50;
  1362. g_sendhead.code[1]=11;
  1363. g_sendhead.tabcount=2;
  1364. g_pMainWnd->ProcessChatMessageRequest2(filter);if(g_bSendOK==0)return;
  1365. CArray<CStringArray, CStringArray>sparray;
  1366. DataToArray( &sparray, &g_List1array);
  1367. CString path=g_path2+"\\";
  1368. SelectPhotoDlg selectdlg;
  1369. selectdlg.DoModal ();
  1370. path+=id;
  1371. path +="\\";
  1372. ////////////////////////////////////////
  1373. CString str,spname;
  1374. CStringArray noarray;
  1375. CStringArray spnamearray;
  1376. for(int i=0; i<sparray.GetSize (); i++)
  1377. {
  1378. str=sparray.ElementAt (i).ElementAt (6);
  1379. spname=sparray.ElementAt (i).ElementAt (5);
  1380. GetNo(str, noarray);
  1381. }
  1382. if(noarray.GetSize ()==0)
  1383. {
  1384. AfxMessageBox("此单未选片!", MB_ICONINFORMATION);
  1385. return;
  1386. }
  1387. spnamearray.SetSize(noarray.GetSize ());
  1388. for( i=0; i<noarray.GetSize (); i++)
  1389. {
  1390. str=noarray.ElementAt (i);
  1391. spnamearray.SetAt (i, GetSelName(str, sparray)+"-"+str );
  1392. }
  1393. CString dir;
  1394. GetSavePath(dir);
  1395. if(dir.IsEmpty())return;
  1396. dir.TrimRight ('\\');
  1397. dir+="\\";
  1398. dir+=id;
  1399. dir+=name1;
  1400. dir+=name2;
  1401. dir+="选片";
  1402. dir+="\\";
  1403. CStringArray array;
  1404. CStringArray spnamearray2;
  1405. CString src,des;
  1406. if(selectdlg.m_mode==0)
  1407. {
  1408. for(i=0; i<noarray.GetSize (); i++)
  1409. {
  1410. src.Format ("%s%s.jpg", path, noarray.ElementAt (i));
  1411. if(::CheckFolderFileExist (src))
  1412. {
  1413. array.Add (src);
  1414. if(selectdlg.m_check1)
  1415. spnamearray2.Add (spnamearray.ElementAt (i));
  1416. else
  1417. spnamearray2.Add (noarray.ElementAt (i));
  1418. }
  1419. else
  1420. AfxMessageBox("未找到初修过的文件:"+src.Right (src.GetLength ()-src.ReverseFind ('\\')-1), MB_ICONINFORMATION);
  1421. }
  1422. }
  1423. if(array.GetSize ()==0)
  1424. {
  1425. if(selectdlg.m_mode==0)
  1426. AfxMessageBox("注意:此单未修片, 导出的是原片!", MB_ICONINFORMATION);
  1427. path=g_path1+"\\";
  1428. path+=id;
  1429. path +="\\";
  1430. dir.Delete (dir.GetLength ()-1, 1);
  1431. dir+="(未修)\\";
  1432. for(i=0; i<noarray.GetSize (); i++)
  1433. {
  1434. src=GetPathFromNo2(path, noarray.ElementAt (i));
  1435. if(::CheckFileExist (src))
  1436. {
  1437. array.Add (src);
  1438. if(selectdlg.m_check1)
  1439. spnamearray2.Add (spnamearray.ElementAt (i));
  1440. else
  1441. spnamearray2.Add (noarray.ElementAt (i));
  1442. }
  1443. }
  1444. }
  1445. if(array.GetSize ()==0)
  1446. {
  1447. AfxMessageBox("此单未导入原片!", MB_ICONINFORMATION);
  1448. return;
  1449. }
  1450. ::CreateDirectory (dir, NULL);
  1451. ImportPhoto dlg;
  1452. dlg.m_mode =1;
  1453. dlg.m_pArray=&array;
  1454. dlg.m_pArray2=&spnamearray2;
  1455. dlg.m_savepath =dir;
  1456. dlg.DoModal ();
  1457. //////////////
  1458. if(g_List1array.GetSize ())
  1459. {
  1460. CStdioFile fp;
  1461. fp.Open (dir+"客户要求.txt", CFile::modeCreate|CFile::modeWrite);
  1462. fp.WriteString (g_List1array.ElementAt (0).ElementAt (39));
  1463. fp.Close ();
  1464. }
  1465. //////////////
  1466. AfxMessageBox("导片成功!", MB_ICONINFORMATION);
  1467. }