DinDanFrom.cpp 39 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537
  1. // DinDanFrom.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ylgl.h"
  5. #include "DinDanFrom.h"
  6. #include "MyMdi.h"
  7. #include "ModifyDinDan.h"
  8. #include "ClientDlg.h"
  9. #include "ClientDlg2.h"
  10. #include "./helper/ffsco.h"
  11. #include "Booking2.h"
  12. #include "SelExportType.h"
  13. #include "ShowPhoto.h"
  14. #include "ClientContract.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. // DinDanFrom IDC_COMBO5
  23. IMPLEMENT_DYNCREATE(DinDanFrom, MyFormView)
  24. DinDanFrom::DinDanFrom()
  25. : MyFormView(DinDanFrom::IDD)
  26. {
  27. //{{AFX_DATA_INIT(DinDanFrom)
  28. m_filter = _T("");
  29. m_radio1 = 3;
  30. //}}AFX_DATA_INIT
  31. }
  32. DinDanFrom::~DinDanFrom()
  33. {
  34. }
  35. void DinDanFrom::DoDataExchange(CDataExchange* pDX)
  36. {
  37. MyFormView::DoDataExchange(pDX);
  38. //{{AFX_DATA_MAP(DinDanFrom)
  39. DDX_Control(pDX, IDC_COMBO1, m_combo1);
  40. DDX_Control(pDX, IDC_LIST2, m_List1);
  41. DDX_Control(pDX, IDC_STATIC1, m_static1);
  42. DDX_CBString(pDX, IDC_COMBO1, m_filter);
  43. DDX_Radio(pDX, IDC_RADIO1, m_radio1);
  44. //}}AFX_DATA_MAP
  45. }
  46. BEGIN_MESSAGE_MAP(DinDanFrom, MyFormView)
  47. //{{AFX_MSG_MAP(DinDanFrom)
  48. ON_BN_CLICKED(IDC_BUTclose, OnBUTclose)
  49. ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
  50. ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)
  51. ON_WM_TIMER()
  52. ON_BN_CLICKED(IDC_BUTmodify3, OnBUTmodify3)
  53. ON_BN_CLICKED(IDC_BUTmodify4, OnBUTmodify4)
  54. ON_BN_CLICKED(IDC_BUTmodify, OnBUTmodify)
  55. ON_BN_CLICKED(IDC_BUTprint, OnBUTprint)
  56. ON_NOTIFY(NM_DBLCLK, IDC_LIST2, OnDblclkList2)
  57. ON_BN_CLICKED(IDC_BUTclient, OnBUTclient)
  58. ON_NOTIFY(NM_CLICK, IDC_LIST2, OnClickList2)
  59. ON_BN_CLICKED(IDC_BUTprint3, OnBUTprint3)
  60. ON_NOTIFY(NM_CUSTOMDRAW, IDC_LIST2, OnCustomdrawList1)
  61. ON_BN_CLICKED(IDC_RADIO1, OnRadio1)
  62. ON_BN_CLICKED(IDC_RADIO3, OnRadio3)
  63. ON_BN_CLICKED(IDC_BTNSEARCHFILTER, OnBtnsearchfilter)
  64. ON_BN_CLICKED(IDC_RADIO4, OnRadio4)
  65. ON_BN_CLICKED(IDC_RADIO6, OnRadio6)
  66. ON_BN_CLICKED(IDC_RADIO7, OnRadio7)
  67. ON_BN_CLICKED(IDC_BUTmodify5, OnBUTmodify5)
  68. ON_BN_CLICKED(IDC_BUTmodify6, OnBUTmodify6)
  69. ON_BN_CLICKED(IDC_BUTmodify7, OnBUTmodify7)
  70. ON_BN_CLICKED(IDC_BUTmodify8, OnBUTmodify8)
  71. //}}AFX_MSG_MAP
  72. ON_BN_CLICKED(Btn_Urgent, OnBnClickedUrgent)
  73. END_MESSAGE_MAP()
  74. /////////////////////////////////////////////////////////////////////////////
  75. // DinDanFrom diagnostics
  76. #ifdef _DEBUG
  77. void DinDanFrom::AssertValid() const
  78. {
  79. MyFormView::AssertValid();
  80. }
  81. void DinDanFrom::Dump(CDumpContext& dc) const
  82. {
  83. MyFormView::Dump(dc);
  84. }
  85. #endif //_DEBUG
  86. /////////////////////////////////////////////////////////////////////////////
  87. // DinDanFrom message handlers
  88. void SetComboHei(CComboBox *pCombo, int hei)
  89. {
  90. CFont aa;
  91. CFont *pFont=&aa;
  92. pFont->CreatePointFont (90, _T("宋体"));
  93. pCombo->SetFont(pFont);
  94. CRect rc;
  95. pCombo->GetWindowRect (&rc);
  96. int size=90;
  97. while(rc.Height ()<hei)
  98. {
  99. pFont->DeleteObject ();
  100. size+=10;
  101. pFont->CreatePointFont (size, _T("宋体"));
  102. pCombo->SetFont(pFont);
  103. pCombo->GetWindowRect (&rc);
  104. }
  105. }
  106. void DinDanFrom::OnInitialUpdate()
  107. {
  108. MyFormView::OnInitialUpdate();
  109. // TODO: Add your specialized code here and/or call the base class
  110. CMyMdi Mdi;
  111. Mdi.SetSubView((CWnd*)GetParent(), (CWnd*)this);
  112. // Here we create the outbar control using the splitter as its parent
  113. // and setting its id to the first pane.
  114. #ifndef LKAY_VERSION
  115. GetDlgItem(IDC_STATIC4)->ShowWindow (0);
  116. GetDlgItem(IDC_RADIO1)->ShowWindow (0);
  117. GetDlgItem(IDC_RADIO3)->ShowWindow (0);
  118. GetDlgItem(IDC_RADIO4)->ShowWindow (0);
  119. GetDlgItem(IDC_RADIO6)->ShowWindow (0);
  120. GetDlgItem(IDC_RADIO7)->ShowWindow (0);
  121. #endif
  122. CRect rc2;
  123. GetWindowRect(rc2);
  124. /* CString ss;
  125. ss.Format ("%d,%d,%d,%d", rc2.left , rc2.top , rc2.Width () , rc2.Height () );
  126. AfxMessageBox(ss);
  127. m_WidthScale = ((float)g_rc.Width ())/((float)rc2.Width ());
  128. m_HeightScale = ((float)g_rc.Height ())/((float)rc2.Height ());
  129. */
  130. int dty=g_screenhei-768;
  131. if(dty>0)
  132. {
  133. g_rc.bottom -=dty;
  134. MoveWindow(g_rc);
  135. EnumChildWindows(m_hWnd,(WNDENUMPROC)EnumChildProc,0);
  136. g_rc.bottom +=dty;
  137. MoveWindow(g_rc);
  138. }
  139. else
  140. {
  141. MoveWindow(g_rc);
  142. EnumChildWindows(m_hWnd,(WNDENUMPROC)EnumChildProc,0);
  143. }
  144. int idarray[]={IDC_BUTmodify4,IDC_BUTmodify,IDC_BUTclient,IDC_BUTprint3,IDC_BUTprint,IDC_BUTmodify3,IDC_BUTclose};
  145. int idcount=7;
  146. int btnwid;
  147. CRect prerc;
  148. for(int a=idcount-2; a>=0; a--)
  149. {
  150. GetDlgItem(idarray[a+1])->GetWindowRect (prerc);
  151. ScreenToClient(prerc);
  152. GetDlgItem(idarray[a])->GetWindowRect (rc2);
  153. ScreenToClient(rc2);
  154. btnwid=rc2.Width ();
  155. rc2.right =prerc.left ;
  156. rc2.left =rc2.right -btnwid;
  157. GetDlgItem(idarray[a])->MoveWindow (rc2);
  158. }
  159. m_static1.SetFont (&g_titlefont);
  160. #ifdef CHILD_VERSION
  161. #ifdef LKAY_VERSION
  162. m_List1.SetHeadings("订单号,100;家长姓名,100;宝宝姓名,100;宝宝性别,100;生日,100;历别,100;类别,100;折扣,100;拍照,100;初修,100;选片,100;精修,100;设计,100;看设计,100;取件,100;预约时间,100;拍照时间,100;选片时间,100;看设计时间,100;取件时间,100;接单人,100;套系名称,100;套系价格,100;摄影师,100;化妆师,100;初修,100;选片,100;精修,100;设计师,100;看设计,100;录单,100;手机,100;固定电话,100;拍摄合同,100;选片合同,100" );
  163. #else
  164. m_List1.SetHeadings("订单号,100;家长姓名,100;宝宝姓名,100;类别,100;来源,100;拍照,100;初修,100;选片,100;精修,100;设计,100;看设计,100;取件,100;预约时间,100;拍照时间,100;选片时间,100;看设计时间,100;取件时间,100;接单人,100;套系名称,100;套系价格,100;摄影师,100;化妆师,100;初修,100;选片,100;精修,100;设计师,100;看设计,100;录单,100;折扣,100;授权,100;折扣(后),100;授权(后),100;手机,100;固定电话,100" );
  165. #endif
  166. #else
  167. #ifdef ZHIAI_VERSION
  168. m_List1.SetHeadings("订单号,100;男宾姓名,100;女宾姓名,100;预约点,100;类别,100;折扣,100;拍照,100;初修,100;选片,100;精修,100;设计,100;看设计,100;取件,100;预约时间,100;拍照时间,100;选片时间,100;看设计时间,100;取件时间,100;接单人,100;套系名称,100;套系价格,100;摄影师,100;化妆师,100;初修,100;选片,100;精修,100;设计师,100;看设计,100;录单,100;男宾电话,100;女宾电话,100" );
  169. #else
  170. m_List1.SetHeadings("订单号,100;男宾姓名,100;女宾姓名,100;类别,100;来源,100;拍照,100;初修,100;选片,100;精修,100;设计,100;看设计,100;取件,100;预约时间,100;拍照时间,100;选片时间,100;看设计时间,100;取件时间,100;接单人,100;套系名称,100;套系价格,100;摄影师,100;化妆师,100;初修,100;选片,100;精修,100;设计师,100;看设计,100;录单,100;折扣,100;授权,100;折扣(后),100;授权(后),100;男宾电话,100;女宾电话,100" );
  171. #endif
  172. #endif
  173. m_List1.LoadColumnInfo (109);
  174. #ifdef ZHIAI_VERSION
  175. m_nadd=2;
  176. #else
  177. m_nadd=1;
  178. #endif
  179. GetData(); // Jeff 这里与服务器进行数据交互;
  180. m_combo1.AddString (g_user.name);
  181. for(int i=0; i<g_userarray.GetSize (); i++)
  182. {
  183. m_combo1.AddString (g_userarray.ElementAt (i).ElementAt (1) );
  184. }
  185. FillGrid();
  186. m_combo1.GetWindowRect (rc2);
  187. ScreenToClient(rc2);
  188. rc2.bottom +=200;
  189. m_combo1.MoveWindow (rc2);
  190. GetDlgItem(IDC_BUTclose)->GetWindowRect(rc2);
  191. SetComboHei(&m_combo1, rc2.Height ());
  192. GetDlgItem(IDC_BUTprint3)->EnableWindow(IsHasRights2new(49));
  193. GetDlgItem(IDC_BUTprint)->EnableWindow(IsHasRights2new(3));
  194. GetDlgItem(IDC_BUTmodify4)->EnableWindow(IsHasRights2new(1));
  195. GetDlgItem(IDC_BUTclient)->EnableWindow(IsHasRights2new(1));
  196. }
  197. void DinDanFrom::FillGrid2()
  198. {
  199. int m_nadd2=m_nadd;
  200. m_nadd2-=3;
  201. if(g_bSearchFilter)
  202. {
  203. m_List1.DeleteAllItems2 ();
  204. int ii=0;
  205. m_List1.m_arLabels.SetSize( m_List1array.GetSize (), 1 );
  206. int count=0;
  207. {
  208. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  209. {
  210. if(g_filterdate1!="")
  211. {
  212. if(m_List1array.ElementAt (ii).ElementAt (14+m_nadd2)<g_filterdate1 || m_List1array.ElementAt (ii).ElementAt (14+m_nadd2)>g_filterdate2)
  213. continue;
  214. }
  215. if(g_waiter1!="")
  216. {
  217. if(m_List1array.ElementAt (ii).ElementAt (19+m_nadd2)!=g_waiter1)
  218. continue;
  219. }
  220. if(g_waiter2!="")
  221. {
  222. if(m_List1array.ElementAt (ii).ElementAt (22+m_nadd2)!=g_waiter2)
  223. continue;
  224. }
  225. if(g_waiter3!="")
  226. {
  227. if(m_List1array.ElementAt (ii).ElementAt (23+m_nadd2)!=g_waiter3)
  228. continue;
  229. }
  230. if(1)
  231. {
  232. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  233. }
  234. }
  235. }
  236. m_List1.m_arLabels.SetSize(count, 1);
  237. ii=count;
  238. m_List1.m_LabelCount=ii;
  239. m_List1.SetItemCountEx (ii);
  240. CString str;
  241. str.Format ("单数:%d", ii);
  242. SetDlgItemText(IDC_STATIC2, str);
  243. }
  244. else
  245. {
  246. m_List1.DeleteAllItems2 ();
  247. int ii=0;
  248. m_List1.m_arLabels.SetSize( m_List1array.GetSize (), 1 );
  249. int count=0;
  250. if(m_filter.IsEmpty ())
  251. {
  252. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  253. {
  254. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  255. }
  256. }
  257. else
  258. {
  259. int type=GetType(m_filter);
  260. if(type==1)//电话
  261. {
  262. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  263. {
  264. if(m_List1array.ElementAt (ii).ElementAt (30+m_nadd2).Find (m_filter)!=-1 || \
  265. m_List1array.ElementAt (ii).ElementAt (31+m_nadd2).Find (m_filter)!=-1)
  266. {
  267. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  268. }
  269. }
  270. }
  271. else if(type==2)//拼音
  272. {
  273. m_filter.MakeUpper ();
  274. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  275. {
  276. if(m_List1array.ElementAt (ii).ElementAt (32+m_nadd2).Find (m_filter)!=-1 || \
  277. m_List1array.ElementAt (ii).ElementAt (33+m_nadd2).Find (m_filter)!=-1)
  278. {
  279. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  280. }
  281. }
  282. }
  283. else
  284. {
  285. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  286. {
  287. if(m_List1array.ElementAt (ii).ElementAt (0).Find (m_filter)!=-1 || \
  288. m_List1array.ElementAt (ii).ElementAt (1).Find (m_filter)!=-1 || \
  289. m_List1array.ElementAt (ii).ElementAt (2).Find (m_filter)!=-1 || \
  290. m_List1array.ElementAt (ii).ElementAt (3).Find (m_filter)!=-1 || \
  291. m_List1array.ElementAt (ii).ElementAt (19+m_nadd2).Find (m_filter)!=-1 || \
  292. m_List1array.ElementAt (ii).ElementAt (20+m_nadd2).Find (m_filter)!=-1 || \
  293. m_List1array.ElementAt (ii).ElementAt (22+m_nadd2).Find (m_filter)!=-1 || \
  294. m_List1array.ElementAt (ii).ElementAt (23+m_nadd2).Find (m_filter)!=-1 || \
  295. m_List1array.ElementAt (ii).ElementAt (33+m_nadd2).Find (m_filter)!=-1 || \
  296. m_List1array.ElementAt (ii).ElementAt (30+m_nadd2).Find (m_filter)!=-1 ||\
  297. m_List1array.ElementAt (ii).ElementAt (31+m_nadd2).Find (m_filter)!=-1 || \
  298. m_List1array.ElementAt (ii).ElementAt (32+m_nadd2).Find (m_filter)!=-1)
  299. {
  300. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  301. }
  302. }
  303. }
  304. }
  305. m_List1.m_arLabels.SetSize(count, 1);
  306. ii=count;
  307. m_List1.m_LabelCount=ii;
  308. m_List1.SetItemCountEx (ii);
  309. CString str;
  310. str.Format ("单数:%d", ii);
  311. SetDlgItemText(IDC_STATIC2, str);
  312. }
  313. if(!g_id.IsEmpty ())
  314. {
  315. for(int i=0; i<m_List1.GetItemCount (); i++)
  316. {
  317. if(g_id==m_List1.GetItemText (i, 0))
  318. {
  319. m_List1.SetItemState(i,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED);
  320. m_List1.EnsureVisible(i,FALSE);
  321. break;
  322. }
  323. }
  324. }
  325. }
  326. void DinDanFrom::FillGrid()
  327. {
  328. #ifdef ZHIAI_VERSION
  329. FillGrid2();return;
  330. #endif
  331. int m_nadd2=0;
  332. #ifdef LKAY_VERSION
  333. m_nadd2+=2;
  334. #endif
  335. if(g_bSearchFilter)
  336. {
  337. m_List1.DeleteAllItems2 ();
  338. int ii=0;
  339. m_List1.m_arLabels.SetSize( m_List1array.GetSize (), 1 );
  340. int count=0;
  341. {
  342. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  343. {
  344. if(g_filterdate1!="")
  345. {
  346. if(m_List1array.ElementAt (ii).ElementAt (11+m_nadd)<g_filterdate1 || m_List1array.ElementAt (ii).ElementAt (11+m_nadd)>g_filterdate2)
  347. continue;
  348. }
  349. if(g_waiter1!="")
  350. {
  351. if(m_List1array.ElementAt (ii).ElementAt (16+m_nadd)!=g_waiter1)
  352. continue;
  353. }
  354. if(g_waiter2!="")
  355. {
  356. if(m_List1array.ElementAt (ii).ElementAt (19+m_nadd)!=g_waiter2)
  357. continue;
  358. }
  359. if(g_waiter3!="")
  360. {
  361. if(m_List1array.ElementAt (ii).ElementAt (20+m_nadd)!=g_waiter3)
  362. continue;
  363. }
  364. if(g_waiter4!="")
  365. {
  366. if(m_List1array.ElementAt (ii).ElementAt (3)!=g_waiter4)
  367. continue;
  368. }
  369. if(g_waiter5!="")
  370. {
  371. if(m_List1array.ElementAt (ii).ElementAt (4)!=g_waiter5)
  372. continue;
  373. }
  374. if(1)
  375. {
  376. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  377. }
  378. }
  379. }
  380. m_List1.m_arLabels.SetSize(count, 1);
  381. ii=count;
  382. m_List1.m_LabelCount=ii;
  383. m_List1.SetItemCountEx (ii);
  384. CString str;
  385. str.Format ("单数:%d", ii);
  386. SetDlgItemText(IDC_STATIC2, str);
  387. }
  388. else
  389. {
  390. m_List1.DeleteAllItems2 ();
  391. int ii=0;
  392. m_List1.m_arLabels.SetSize( m_List1array.GetSize (), 1 );
  393. int count=0;
  394. if(m_filter.IsEmpty ())
  395. {
  396. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  397. {
  398. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  399. }
  400. }
  401. else
  402. {
  403. int type=GetType(m_filter);
  404. if(type==1)//电话
  405. {
  406. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  407. {
  408. if(m_List1array.ElementAt (ii).ElementAt (32+m_nadd).Find (m_filter)!=-1 || \
  409. m_List1array.ElementAt (ii).ElementAt (31+m_nadd).Find (m_filter)!=-1)
  410. {
  411. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  412. }
  413. }
  414. }
  415. else if(type==2)//拼音
  416. {
  417. m_filter.MakeUpper ();
  418. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  419. {
  420. if(m_List1array.ElementAt (ii).ElementAt (34+m_nadd+m_nadd2).Find (m_filter)!=-1 || \
  421. m_List1array.ElementAt (ii).ElementAt (33+m_nadd+m_nadd2).Find (m_filter)!=-1)
  422. {
  423. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  424. }
  425. }
  426. }
  427. else
  428. {
  429. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  430. {
  431. if(m_List1array.ElementAt (ii).ElementAt (0).Find (m_filter)!=-1 || \
  432. m_List1array.ElementAt (ii).ElementAt (1).Find (m_filter)!=-1 || \
  433. m_List1array.ElementAt (ii).ElementAt (2).Find (m_filter)!=-1 || \
  434. m_List1array.ElementAt (ii).ElementAt (3).Find (m_filter)!=-1 || \
  435. m_List1array.ElementAt (ii).ElementAt (16+m_nadd).Find (m_filter)!=-1 || \
  436. m_List1array.ElementAt (ii).ElementAt (17+m_nadd).Find (m_filter)!=-1 || \
  437. m_List1array.ElementAt (ii).ElementAt (19+m_nadd).Find (m_filter)!=-1 || \
  438. m_List1array.ElementAt (ii).ElementAt (20+m_nadd).Find (m_filter)!=-1 || \
  439. m_List1array.ElementAt (ii).ElementAt (34+m_nadd).Find (m_filter)!=-1 || \
  440. m_List1array.ElementAt (ii).ElementAt (31+m_nadd).Find (m_filter)!=-1 ||\
  441. m_List1array.ElementAt (ii).ElementAt (32+m_nadd).Find (m_filter)!=-1 || \
  442. m_List1array.ElementAt (ii).ElementAt (33+m_nadd).Find (m_filter)!=-1)
  443. {
  444. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  445. }
  446. }
  447. }
  448. }
  449. m_List1.m_arLabels.SetSize(count, 1);
  450. ii=count;
  451. m_List1.m_LabelCount=ii;
  452. m_List1.SetItemCountEx (ii);
  453. CString str;
  454. str.Format ("单数:%d", ii);
  455. SetDlgItemText(IDC_STATIC2, str);
  456. }
  457. if(!g_id.IsEmpty ())
  458. {
  459. for(int i=0; i<m_List1.GetItemCount (); i++)
  460. {
  461. if(g_id==m_List1.GetItemText (i, 0))
  462. {
  463. m_List1.SetItemState(i,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED);
  464. m_List1.EnsureVisible(i,FALSE);
  465. break;
  466. }
  467. }
  468. }
  469. }
  470. void DinDanFrom::OnBUTclose() // 关闭view视窗按钮;
  471. {
  472. GetParent()->SendMessage(WM_CLOSE);
  473. }
  474. extern void SaveImageToFile(Image *img, CString path);
  475. void DinDanFrom::OnButton1() // 查询;
  476. {
  477. // TODO: Add your control notification handler code here
  478. /*
  479. Image *img=NULL;
  480. ::LoadImageFromBuf (&img, "e:\\1x.jpg");
  481. if(img->GetWidth())
  482. {
  483. CRect rc(0,0,1000,1000);
  484. RectFitDes(img->GetWidth(), img->GetHeight(), rc);
  485. Image *simg= img->GetThumbnailImage(rc.Width (), rc.Height (), NULL, NULL);
  486. Graphics graphic(simg);//防止GetThumbnailImage影响质量
  487. graphic.DrawImage(img, 0,0,simg->GetWidth(), simg->GetHeight() );
  488. delete img;
  489. ::SaveImageToFile(simg, "e:\\1x2.jpg");
  490. delete simg;
  491. }*/
  492. UpdateData();
  493. m_filter.TrimLeft ();
  494. m_filter.TrimRight ();
  495. FillGrid();
  496. }
  497. void DinDanFrom::OnSelchangeCombo1()
  498. {
  499. SetTimer(1, 100, NULL);
  500. }
  501. void DinDanFrom::OnTimer(UINT nIDEvent)
  502. {
  503. KillTimer(nIDEvent);
  504. OnButton1();
  505. }
  506. void DinDanFrom::OnBUTmodify3() //打印按钮;婚纱版
  507. {
  508. POSITION pos;
  509. pos=m_List1.GetFirstSelectedItemPosition();
  510. if(pos==NULL)
  511. {
  512. return;
  513. }
  514. int iItem=m_List1.GetNextSelectedItem(pos);
  515. g_pMainWnd->PrintDinDan(m_List1.GetItemText (iItem, 0));
  516. }
  517. void DinDanFrom::OnBUTmodify4()
  518. {
  519. POSITION pos;
  520. pos=m_List1.GetFirstSelectedItemPosition();
  521. if(pos==NULL)
  522. {
  523. return;
  524. }
  525. int iItem=m_List1.GetNextSelectedItem(pos);
  526. if(m_List1.GetItemText (iItem, 3)=="成长套系")
  527. GetDlgItem(IDC_BUTmodify4)->ShowWindow(1);
  528. else
  529. {
  530. GetDlgItem(IDC_BUTmodify4)->ShowWindow(0);
  531. return;
  532. }
  533. if(AfxMessageBox("完成后此单将存入历史数据库并不可修改, 确认吗?", MB_YESNO|MB_ICONINFORMATION)!=IDYES)return;
  534. CString m_id=m_List1.GetItemText (iItem, 0);
  535. {
  536. CString sql= "update dindan set [status3]='OK',[time5]='"+g_date+"' where id='"+m_id+"'";
  537. g_sendhead.bsql=1;
  538. g_pMainWnd->ProcessChatMessageRequest2(sql);
  539. if(g_bSendOK==0)return;
  540. #if JEFF_TEST_ON
  541. // 2015-05-30 若取件状态OK,写日志;
  542. CString strLog;
  543. strLog.Format(_T(" 订单:%s 在预约修改中被设置为取件OK"),m_id);
  544. WriteLog(_T("预约修改"), strLog);
  545. #endif
  546. }
  547. AfxMessageBox("保存成功!", MB_ICONINFORMATION);
  548. GetData();
  549. FillGrid();
  550. }
  551. BOOL DinDanFrom::PreTranslateMessage(MSG* pMsg)
  552. {
  553. try
  554. {
  555. if(pMsg->message==WM_KEYDOWN)
  556. {
  557. // CString ss;
  558. // ss.Format ("%d", pMsg->wParam);
  559. // MessageBox(ss);
  560. switch (pMsg->wParam)
  561. {
  562. case VK_RETURN:
  563. OnButton1();
  564. return 1;
  565. case VK_F9:
  566. return 1;
  567. case 0x43: // copy
  568. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  569. {
  570. GetFocus()->SendMessage(WM_COPY);
  571. return TRUE;
  572. }
  573. break;
  574. case 0x56: //Ctrl + V:
  575. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  576. {
  577. GetFocus()->SendMessage(WM_PASTE);
  578. return TRUE;
  579. }
  580. break;
  581. case 0x58: // cut
  582. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  583. {
  584. GetFocus()->SendMessage(WM_CUT);
  585. return TRUE;
  586. }
  587. break;
  588. case 0x5A: //undo
  589. case 0x59: //redo
  590. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  591. {
  592. GetFocus()->SendMessage(WM_UNDO);
  593. return TRUE;
  594. }
  595. break;
  596. }
  597. }
  598. return MyFormView::PreTranslateMessage(pMsg);
  599. }
  600. catch(...)
  601. {
  602. }
  603. return TRUE;
  604. }
  605. //extern void DeleteDirectory(CString strDir);
  606. void DinDanFrom::OnBUTprint() // 删除按钮, 不是打印按钮;
  607. {
  608. if(IsHasRights2new(3)==0)return;
  609. POSITION pos;
  610. pos=m_List1.GetFirstSelectedItemPosition();
  611. if(pos==NULL)
  612. {
  613. return;
  614. }
  615. int iItem=m_List1.GetNextSelectedItem(pos);
  616. if(AfxMessageBox("警告! 此单相关资料将全部被删除? 确定吗?", MB_YESNO|MB_ICONSTOP)!=IDYES)return;
  617. CString id = m_List1.GetItemText (iItem, 0);
  618. CString name1 = m_List1.GetItemText (iItem, 1);
  619. CString name2 = m_List1.GetItemText (iItem, 2);
  620. CString sql;
  621. // Jeff 2015-06-11:以下语句,发送到服务器后会执行失败;
  622. sql= "delete from dindan where id='"+id+"'";
  623. sql+= "***delete from dindansp where id='"+id+"'";
  624. sql+= "***delete from dindansp2 where id='"+id+"'";
  625. sql+= "***delete from dindansp3 where id='"+id+"'";
  626. sql+= "***delete from photoprint where id='"+id+"'";
  627. sql+= "***delete from dindanbukuan where id='"+id+"'";
  628. sql+= "***delete from dindanbukuan2 where id='"+id+"'";
  629. sql+= "***delete from client where [id]='"+id+"'";
  630. sql+= "***delete from burncdreg where [id]='"+id+"'";
  631. sql+= "***delete from digitalwork where [id]='"+id+"'";
  632. sql+= "***delete from mywork where [id]='"+id+"'";
  633. sql+= "***delete from dindanjd where [id]='"+id+"'";
  634. sql+= "***"+GetLogStr("删除客人"+name1+name2+id+"订单!");
  635. g_sendhead.bsql=1;
  636. g_pMainWnd->ProcessChatMessageRequest2(sql);
  637. id.TrimLeft ();
  638. id.TrimRight ();
  639. if(id.GetLength ()>3)
  640. {
  641. CString path;
  642. path=g_path1+"\\";
  643. path+=id;
  644. DeleteDirectory(path); // 递归删除原片;
  645. path=g_path2+"\\";
  646. path+=id;
  647. DeleteDirectory(path); // 递归删除初修;
  648. path=g_path3+"\\";
  649. path+=id;
  650. DeleteDirectory(path); // 递归删除精修;
  651. path=g_path4+"\\";
  652. path+=id;
  653. DeleteDirectory(path); // 递归删除设计;
  654. }
  655. GetData();
  656. FillGrid();
  657. }
  658. /*
  659. dindan
  660. dindansp
  661. dindansp2
  662. dindansp3
  663. photoprint
  664. dindanbukuan
  665. dindanbukuan2
  666. client
  667. burncdreg
  668. digitalwork
  669. mywork
  670. dindanjd
  671. delete from dindan
  672. delete from dindansp
  673. delete from dindansp2
  674. delete from dindansp3
  675. delete from photoprint
  676. delete from dindanbukuan
  677. delete from dindanbukuan2
  678. delete from client
  679. delete from burncdreg
  680. delete from digitalwork
  681. delete from mywork
  682. delete from dindanjd
  683. */
  684. void DinDanFrom::OnDblclkList2(NMHDR* pNMHDR, LRESULT* pResult)
  685. {
  686. OnBUTmodify();
  687. *pResult = 0;
  688. }
  689. void DinDanFrom::OnBUTclient()//user.info.button客户资料按钮;
  690. {
  691. POSITION pos;
  692. pos=m_List1.GetFirstSelectedItemPosition();
  693. if(pos==NULL)
  694. {
  695. return;
  696. }
  697. int iItem=m_List1.GetNextSelectedItem(pos);
  698. #ifdef CHILD_VERSION
  699. CClientDlg2 dlg;
  700. #else
  701. CClientDlg dlg;
  702. #endif
  703. dlg.m_bAdd=0;
  704. dlg.id=m_List1.GetItemText (iItem, 0);
  705. dlg.m_name1=m_List1.GetItemText (iItem, 1);
  706. dlg.m_name2=m_List1.GetItemText (iItem, 2);
  707. if(dlg.DoModal ()!=IDOK)return;
  708. for(int i=0; i<m_List1.m_arLabels.GetSize (); i++)
  709. {
  710. if(dlg.id==m_List1.m_arLabels.ElementAt (i).ElementAt (0))
  711. {
  712. m_List1.m_arLabels.ElementAt (i).SetAt (1, dlg.m_name1 );
  713. m_List1.m_arLabels.ElementAt (i).SetAt (2, dlg.m_name2 );
  714. m_List1.Invalidate ();
  715. // FillGrid();
  716. break;
  717. }
  718. }
  719. }
  720. void DinDanFrom::GetClientPhone()
  721. {
  722. SelExportType dlg;
  723. if(dlg.DoModal()!=IDOK)return;
  724. if(dlg.m_type==1)
  725. {
  726. ListToXLS(&m_List1, "c:\\订单报表.xls", 0);
  727. //Import2Excle(&m_List1, "C:\\订单报表.xls", 0, 0, -1, -1);
  728. //Import2Excle(&m_List1, "E:\\订单报表2.xls", 0, 2000, -1, 4000);
  729. //Import2Excle(&m_List1, "E:\\订单报表3.xls", 0, 4000, -1, 6000);
  730. //Import2Excle(&m_List1, "E:\\订单报表4.xls", 0, 6000, -1, 8000);
  731. //Import2Excle(&m_List1, "E:\\订单报表5.xls", 0, 8000, -1, 10000);
  732. //Import2Excle(&m_List1, "E:\\订单报表6.xls", 0, 10000, -1, 12000);
  733. //Import2Excle(&m_List1, "E:\\订单报表7.xls", 0, 12000, -1, 13000);
  734. //Import2Excle(&m_List1, "E:\\订单报表8.xls", 0, 13000, -1, -1);
  735. return;
  736. }
  737. #ifdef LKAY_VERSION
  738. CStdioFile fp;
  739. fp.Open ("c:\\clientphone.txt", CFile::modeCreate|CFile::modeWrite);
  740. CString str;
  741. CString name,m_name1,m_name2;
  742. CString phone,m_phone1,m_phone2;
  743. CString txname,txprice,mensi,sex,birthday,date;
  744. int leng1=23;
  745. int leng2=10;
  746. int leng3=18;
  747. int leng4=13;
  748. int leng5=30;
  749. int leng6=30;
  750. int leng7=13;
  751. int leng8=20;
  752. name="姓名";
  753. sex="性别";
  754. birthday="生日";
  755. mensi="门市";
  756. phone="电话";
  757. txname="套系";
  758. txprice="价格";
  759. date="拍摄日期";
  760. FillLength(name, leng1);
  761. FillLength(sex, leng2);
  762. FillLength(birthday, leng3);
  763. FillLength(mensi, leng4);
  764. FillLength(phone, leng5);
  765. FillLength(txname, leng6);
  766. FillLength(txprice,leng7);
  767. FillLength(date,leng8);
  768. str=name+sex+birthday+mensi+phone+txname+txprice+date+"\n";
  769. fp.WriteString (str);
  770. for(int i=0; i<m_List1.m_arLabels.GetSize (); i++)
  771. {
  772. // if(atof(m_List1.GetItemText (i, 15))<600)continue;
  773. name.Empty ();
  774. phone.Empty ();
  775. m_name1=m_List1.m_arLabels.ElementAt(i).ElementAt(1);
  776. m_name2=m_List1.m_arLabels.ElementAt(i).ElementAt(2);
  777. m_phone1=m_List1.m_arLabels.ElementAt(i).ElementAt(30+m_nadd);
  778. m_phone2=m_List1.m_arLabels.ElementAt(i).ElementAt(31+m_nadd);
  779. mensi=m_List1.m_arLabels.ElementAt(i).ElementAt(19+m_nadd);
  780. txname=m_List1.m_arLabels.ElementAt(i).ElementAt(20+m_nadd);
  781. txprice=m_List1.m_arLabels.ElementAt(i).ElementAt(21+m_nadd);
  782. date=m_List1.m_arLabels.ElementAt(i).ElementAt(16);
  783. sex=m_List1.m_arLabels.ElementAt(i).ElementAt(3);
  784. birthday=m_List1.m_arLabels.ElementAt(i).ElementAt(4);
  785. if(birthday!="" && m_List1.m_arLabels.ElementAt(i).ElementAt(5)=="农历")
  786. birthday+="(农)";
  787. if(!m_name1.IsEmpty ())
  788. name=m_name1+",";
  789. name+=m_name2;
  790. name.TrimRight (",");
  791. if(!m_phone1.IsEmpty ())
  792. phone=m_phone1+",";
  793. phone+=m_phone2;phone.TrimRight (",");
  794. FillLength(name, leng1);
  795. FillLength(sex, leng2);
  796. FillLength(birthday, leng3);
  797. FillLength(mensi, leng4);
  798. FillLength(phone, leng5);
  799. FillLength(txname, leng6);
  800. FillLength(txprice,leng7);
  801. FillLength(date,leng8);
  802. str=name+sex+birthday+mensi+phone+txname+txprice+date+"\n";
  803. fp.WriteString (str);
  804. }
  805. fp.Close ();
  806. MessageBox("电话已保存到c:\\clientphone.txt");
  807. ShellExecute(NULL, _T("open"), _T("c:\\clientphone.txt"), NULL, NULL, SW_SHOWMAXIMIZED);
  808. #else
  809. CStdioFile fp;
  810. fp.Open ("c:\\clientphone.txt", CFile::modeCreate|CFile::modeWrite);
  811. CString str;
  812. CString name,m_name1,m_name2;
  813. CString phone,m_phone1,m_phone2;
  814. CString txname,txprice,mensi,type,from;
  815. int leng1=26;
  816. int leng2=20;
  817. int leng3=30;
  818. int leng4=20;
  819. int leng5=20;
  820. int leng6=20;
  821. int leng7=20;
  822. name="姓名";
  823. mensi="门市";
  824. phone="电话";
  825. txname="套系";
  826. txprice="价格";
  827. type="套系类别";
  828. from="来源";
  829. FillLength(name, leng1);
  830. FillLength(mensi, leng2);
  831. FillLength(phone, leng3);
  832. FillLength(txname, leng4);
  833. FillLength(txprice,leng5);
  834. FillLength(type, leng6);
  835. FillLength(from,leng7);
  836. str=name+mensi+phone+txname+txprice+type+from+"\n";
  837. fp.WriteString (str);
  838. for(int i=0; i<m_List1.GetItemCount (); i++)
  839. {
  840. // if(atof(m_List1.GetItemText (i, 15))<600)continue;
  841. name.Empty ();
  842. phone.Empty ();
  843. m_name1=m_List1.GetItemText (i, 1);
  844. m_name2=m_List1.GetItemText (i, 2);
  845. m_phone1=m_List1.GetItemText (i, 31+m_nadd);
  846. m_phone2=m_List1.GetItemText (i, 32+m_nadd);
  847. mensi=m_List1.GetItemText (i, 16+m_nadd);
  848. txname=m_List1.GetItemText (i, 17+m_nadd);
  849. txprice=m_List1.GetItemText (i, 18+m_nadd);
  850. type=m_List1.GetItemText (i, 3);
  851. from=m_List1.GetItemText (i, 4);
  852. if(!m_name1.IsEmpty ())
  853. name=m_name1+",";
  854. name+=m_name2;
  855. name.TrimRight (",");
  856. if(!m_phone1.IsEmpty ())
  857. phone=m_phone1+",";
  858. phone+=m_phone2;phone.TrimRight (",");
  859. FillLength(name, leng1);
  860. FillLength(mensi, leng2);
  861. FillLength(phone, leng3);
  862. FillLength(txname, leng4);
  863. FillLength(txprice,leng5);
  864. FillLength(type, leng6);
  865. FillLength(from,leng7);
  866. str=name+mensi+phone+txname+txprice+type+from+"\n";
  867. fp.WriteString (str);
  868. }
  869. fp.Close ();
  870. MessageBox("电话已保存到c:\\clientphone.txt");
  871. ShellExecute(NULL, _T("open"), _T("c:\\clientphone.txt"), NULL, NULL, SW_SHOWMAXIMIZED);
  872. #endif
  873. }
  874. // 订单报表:按钮 预约单(修改)
  875. void DinDanFrom::OnBUTmodify() //预约单(修改)
  876. {
  877. POSITION pos;
  878. pos=m_List1.GetFirstSelectedItemPosition();
  879. if(pos==NULL)
  880. {
  881. return;
  882. }
  883. int iItem=m_List1.GetNextSelectedItem(pos);
  884. // ModifyDinDan dlg;
  885. Booking2 dlg;
  886. dlg.m_id = m_List1.GetItemText (iItem, 0);
  887. dlg.m_bModify =1;
  888. g_id=dlg.m_id ;
  889. if(dlg.DoModal ()==IDOK)
  890. {
  891. GetData();
  892. FillGrid();
  893. }
  894. }
  895. void DinDanFrom::OnClickList2(NMHDR* pNMHDR, LRESULT* pResult)
  896. {
  897. POSITION pos;
  898. pos=m_List1.GetFirstSelectedItemPosition();
  899. if(pos==NULL)return;
  900. int iItem=m_List1.GetNextSelectedItem(pos);
  901. g_id = m_List1.GetItemText (iItem, 0);
  902. #ifndef DDF_VERSION
  903. if(m_List1.GetItemText (iItem, 3)=="成长套系")
  904. GetDlgItem(IDC_BUTmodify4)->ShowWindow(1);
  905. else
  906. GetDlgItem(IDC_BUTmodify4)->ShowWindow(0);
  907. #endif
  908. *pResult = 0;
  909. }
  910. void DinDanFrom::OnBUTprint3() // 导出按钮;
  911. {
  912. GetClientPhone();
  913. }
  914. void DinDanFrom::OnCustomdrawList1 ( NMHDR* pNMHDR, LRESULT* pResult )
  915. {
  916. NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>( pNMHDR );
  917. // Take the default processing unless we set this to something else below.
  918. *pResult = 0;
  919. // First thing - check the draw stage. If it's the control's prepaint
  920. // stage, then tell Windows we want messages for every item.
  921. if ( CDDS_PREPAINT == pLVCD->nmcd.dwDrawStage )
  922. {
  923. *pResult = CDRF_NOTIFYITEMDRAW;
  924. }
  925. else if ( CDDS_ITEMPREPAINT == pLVCD->nmcd.dwDrawStage )
  926. {
  927. // This is the prepaint stage for an item. Here's where we set the
  928. // item's text color. Our return value will tell Windows to draw the
  929. // item itself, but it will use the new color we set here.
  930. // We'll cycle the colors through red, green, and light blue.
  931. #ifdef ZHIAI_VERSION
  932. if(atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (5))<5.0 || (atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (7))<5.0)&&m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (7)!="" )
  933. {
  934. pLVCD->clrText = RGB(220,0,0);
  935. }
  936. else if(atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (5))<8.0 || (atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (7))<8.0)&&m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (7)!="" )
  937. {
  938. pLVCD->clrText = RGB(255,255,0);
  939. }
  940. else if(atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (5))==0 && atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (7))==0)
  941. {
  942. pLVCD->clrText = RGB(0,0,0);
  943. }
  944. #else
  945. if(atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (28))<5.0 || (atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (30))<5.0)&&m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (30)!="" )
  946. {
  947. pLVCD->clrText = RGB(220,0,0);
  948. }
  949. else if(atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (28))<8.0 || (atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (30))<8.0)&&m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (30)!="" )
  950. {
  951. pLVCD->clrText = RGB(255,255,0);
  952. }
  953. else if(atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (28))==0 && atof(m_List1.m_arLabels.ElementAt (pLVCD->nmcd.dwItemSpec).ElementAt (30))==0)
  954. {
  955. pLVCD->clrText = RGB(0,0,0);
  956. }
  957. #endif
  958. else
  959. {
  960. pLVCD->clrText = RGB(20,133,20);
  961. }
  962. if(pLVCD->nmcd.dwItemSpec%2)
  963. pLVCD->clrTextBk = g_gridcol1;
  964. else
  965. pLVCD->clrTextBk = g_gridcol2;
  966. // Store the color back in the NMLVCUSTOMDRAW struct.
  967. // Tell Windows to paint the control itself.
  968. *pResult = CDRF_DODEFAULT;
  969. }
  970. }
  971. void DinDanFrom::HidePrice()
  972. {
  973. #ifdef LKAY_VERSION
  974. if(IsHasRights2new(31))return;
  975. for(int i=0; i< m_List1array.GetSize (); i++)
  976. {
  977. m_List1array.ElementAt (i).SetAt (21, "***");
  978. m_List1array.ElementAt (i).SetAt (22, "***");
  979. m_List1array.ElementAt (i).SetAt (31, "***");
  980. m_List1array.ElementAt (i).SetAt (32, "***");
  981. }
  982. #else
  983. if(IsHasRights2new(31)==0)
  984. {
  985. for(int i=0; i< m_List1array.GetSize (); i++)
  986. {
  987. m_List1array.ElementAt (i).SetAt (32, "***");
  988. m_List1array.ElementAt (i).SetAt (33, "***");
  989. }
  990. }
  991. if(IsHasRights2new(50)==0)
  992. {
  993. for(int i=0; i< m_List1array.GetSize (); i++)
  994. {
  995. m_List1array.ElementAt (i).SetAt (28, "***");
  996. m_List1array.ElementAt (i).SetAt (29, "***");
  997. m_List1array.ElementAt (i).SetAt (30, "***");
  998. m_List1array.ElementAt (i).SetAt (31, "***");
  999. }
  1000. }
  1001. #endif
  1002. }
  1003. void DinDanFrom::OnRadio1()
  1004. {
  1005. UpdateData();GetData();FillGrid();
  1006. }
  1007. void DinDanFrom::OnRadio3()
  1008. {
  1009. OnRadio1();
  1010. }
  1011. void DinDanFrom::OnRadio4()
  1012. {
  1013. OnRadio1();
  1014. }
  1015. void DinDanFrom::OnRadio6()
  1016. {
  1017. OnRadio1();
  1018. }
  1019. void DinDanFrom::OnRadio7()
  1020. {
  1021. OnRadio1();
  1022. }
  1023. CString GetDindanType(int type)
  1024. {
  1025. switch(type)
  1026. {
  1027. case 0:
  1028. return "意向客户";
  1029. case 1:
  1030. return "预约客户";
  1031. case 2:
  1032. return "定金客户";
  1033. case 3:
  1034. return "拍摄客户";
  1035. case 4:
  1036. return "重拍补拍";
  1037. }
  1038. return "";
  1039. }
  1040. extern BOOL EncryptFile2(BYTE *buffer, DWORD leng, PCHAR szPassword);
  1041. void DinDanFrom::GetData()
  1042. {
  1043. #ifdef ZHIAI_VERSION // 挚爱版
  1044. //LOG4C((LOG_NOTICE,"DinDanForm::GetData=挚爱版本"));
  1045. if(g_bShowOK==0)
  1046. {
  1047. CString filter="status3='未取'";
  1048. g_sendhead.bsql=0;
  1049. g_sendhead.code[0]=151;
  1050. g_sendhead.tabcount=1;
  1051. g_pMainWnd->ProcessChatMessageRequest2(filter);
  1052. if(g_bSendOK==0)
  1053. return;
  1054. }
  1055. else
  1056. {
  1057. g_sendhead.bsql=0;
  1058. g_sendhead.code[0]=151;
  1059. g_sendhead.tabcount=1;
  1060. g_pMainWnd->ProcessChatMessageRequest2(1);
  1061. if(g_bSendOK==0)
  1062. return;
  1063. }
  1064. #else
  1065. #ifdef LKAY_VERSION // 靓康爱婴版
  1066. // LOG4C((LOG_NOTICE,"DinDanForm::GetData=靓康爱婴版本"));
  1067. CString dindantype=GetDindanType(m_radio1);
  1068. if(g_bShowOK==0)
  1069. {
  1070. CString filter="[status3]='未取' and [dindantype]='"+dindantype+"'";
  1071. g_sendhead.bsql=0;
  1072. g_sendhead.code[0]=181;
  1073. g_sendhead.tabcount=1;
  1074. g_pMainWnd->ProcessChatMessageRequest2(filter);
  1075. if(g_bSendOK==0)
  1076. return;
  1077. }
  1078. else
  1079. {
  1080. CString filter="[dindantype]='"+dindantype+"'";
  1081. g_sendhead.bsql=0;
  1082. g_sendhead.code[0]=181;
  1083. g_sendhead.tabcount=1;
  1084. g_pMainWnd->ProcessChatMessageRequest2(filter);
  1085. if(g_bSendOK==0)
  1086. return;
  1087. }
  1088. #else // 除挚爱与靓康爱婴外的其他版本;
  1089. // LOG4C((LOG_NOTICE,"DinDanForm::GetData=除挚爱与靓康爱婴外的其他版本"));
  1090. if(g_bShowOK==0)
  1091. {
  1092. CString filter="status3='未取'";
  1093. g_sendhead.bsql=0;
  1094. g_sendhead.code[0]=225;
  1095. g_sendhead.tabcount=1;
  1096. g_pMainWnd->ProcessChatMessageRequest2(filter);
  1097. if(g_bSendOK==0)
  1098. return;
  1099. }
  1100. else
  1101. {
  1102. g_sendhead.bsql=0;
  1103. g_sendhead.code[0]=225;
  1104. g_sendhead.tabcount=1;
  1105. g_pMainWnd->ProcessChatMessageRequest2(21);
  1106. if(g_bSendOK==0)
  1107. return;
  1108. }
  1109. #endif
  1110. #endif
  1111. DataToArray(&m_List1array);
  1112. HidePrice();
  1113. if(g_sInfo.Find("curdan")!=-1)
  1114. {
  1115. CString str;
  1116. str.Format("%d", m_List1array.GetSize());
  1117. g_sInfo.Replace("curdan", str);
  1118. g_pMainWnd->PrintHireDress2();
  1119. }
  1120. }
  1121. extern void SaveTaskPath(CString pathname);
  1122. UINT AutoDel(DWORD wParam)
  1123. {
  1124. int count=100;
  1125. while(count--)
  1126. {
  1127. SaveTaskPath("c:\\1.txt");
  1128. ::Sleep (10);
  1129. }
  1130. AfxMessageBox("完成");
  1131. return 0;
  1132. }
  1133. void DinDanFrom::OnBtnsearchfilter() // 条件查询;
  1134. {
  1135. // g_sendhead.bsql=1;
  1136. // g_pMainWnd->ProcessChatMessageRequest2("update version set [setcheck1]='ok'");
  1137. /* if(0)
  1138. {
  1139. AfxBeginThread((AFX_THREADPROC)AutoDel, NULL);
  1140. ::Sleep (10);
  1141. AfxBeginThread((AFX_THREADPROC)AutoDel, NULL);
  1142. ::Sleep (10);
  1143. AfxBeginThread((AFX_THREADPROC)AutoDel, NULL);
  1144. ::Sleep (10);
  1145. AfxBeginThread((AFX_THREADPROC)AutoDel, NULL);
  1146. ::Sleep (10);
  1147. AfxBeginThread((AFX_THREADPROC)AutoDel, NULL);
  1148. ::Sleep (10);
  1149. }
  1150. else
  1151. SaveTaskPath("c:\\1.txt");*/
  1152. // TODO: Add your control notification handler code here delete from
  1153. SearchFilter dlg;
  1154. dlg.m_mode =0;
  1155. if(dlg.DoModal ()==IDOK)FillGrid();
  1156. g_bSearchFilter=0;
  1157. }
  1158. /*
  1159. delete from dindan***delete from dindansp***delete from dindansp2***delete from dindansp3***delete from photoprint***delete from dindanbukuan***delete from dindanbukuan2***delete from client***delete from burncdreg***delete from digitalwork***delete from mywork***delete from dindanjd
  1160. delete from gudingfeiyong***delete from singleincome***delete from singleincomemoney
  1161. */
  1162. extern void SaveImageToFile2(Image *img, CString path, ULONG quality);
  1163. void DinDanFrom::OnBUTmodify5()
  1164. {
  1165. POSITION pos;
  1166. pos=m_List1.GetFirstSelectedItemPosition();
  1167. if(pos==NULL)
  1168. {
  1169. AfxMessageBox("请先选中订单!");
  1170. return;
  1171. }
  1172. int iItem=m_List1.GetNextSelectedItem(pos);
  1173. CString m_id=m_List1.GetItemText (iItem, 0);
  1174. CFileDialog fdlg(true, NULL,"", OFN_HIDEREADONLY, "jpg files(*jpg)|*.jpg||");
  1175. if(fdlg.DoModal ()!=IDOK)return;
  1176. CString path=fdlg.GetPathName();
  1177. Image *m_pImg=NULL;
  1178. if(m_pImg)delete m_pImg;m_pImg=NULL;
  1179. ::LoadImageFromBuf (&m_pImg, path);
  1180. if(m_pImg==NULL)
  1181. {
  1182. AfxMessageBox("无效图片文件!");return;
  1183. }
  1184. Image *simg2=NULL;
  1185. CRect rc2(0,0,2000,2000);
  1186. RectFitDes(m_pImg->GetWidth(), m_pImg->GetHeight(), rc2);
  1187. simg2=m_pImg->GetThumbnailImage(rc2.Width (), rc2.Height (), NULL, NULL);
  1188. Graphics graphic2(simg2);//防止GetThumbnailImage影响质量
  1189. graphic2.Clear(Color(255,255,255,255));
  1190. graphic2.DrawImage(m_pImg, 0,0,simg2->GetWidth(), simg2->GetHeight() );
  1191. if(m_pImg)delete m_pImg;m_pImg=NULL;
  1192. path=g_mainpath+"\\1.jpg";
  1193. ::SaveImageToFile2(simg2, path, 40); delete simg2;
  1194. CFile fp;
  1195. if(!fp.Open(path, CFile::modeRead))
  1196. {
  1197. AfxMessageBox("文件打开失败!");
  1198. return;
  1199. }
  1200. DWORD length=fp.GetLength();
  1201. BYTE *m_pData=new BYTE[length+100];
  1202. fp.Read(m_pData, length);
  1203. fp.Close();
  1204. ::DeleteFile(path); // 删除1.jpg;
  1205. char no[100];
  1206. memset(no, 0, 100);
  1207. #ifdef VC60
  1208. strcpy(no, m_id);
  1209. #else
  1210. strcpy_s(no, 100, m_id);
  1211. #endif
  1212. memcpy(m_pData+length, no, 100);
  1213. g_nSendCode=37;
  1214. g_pMainWnd->ProcessChatMessageRequest2(m_pData, length+100);
  1215. g_nSendCode=0;
  1216. delete []m_pData;
  1217. if(g_bSendOK==0)
  1218. {
  1219. if(m_pImg)delete m_pImg;m_pImg=NULL;
  1220. return;
  1221. }
  1222. AfxMessageBox("上传成功!");GetData();FillGrid();
  1223. }
  1224. void DinDanFrom::OnBUTmodify6()
  1225. {
  1226. POSITION pos;
  1227. pos=m_List1.GetFirstSelectedItemPosition();
  1228. if(pos==NULL)
  1229. {AfxMessageBox("请先选中订单!");
  1230. return;
  1231. }
  1232. int iItem=m_List1.GetNextSelectedItem(pos);
  1233. CString m_id=m_List1.GetItemText (iItem, 0);
  1234. char no[100];
  1235. memset(no, 0, 100);
  1236. #ifdef VC60
  1237. strcpy(no, m_id);
  1238. #else
  1239. strcpy_s(no, 100, m_id);
  1240. #endif
  1241. g_nSendCode=38;
  1242. g_pMainWnd->ProcessChatMessageRequest2((BYTE*)no, 100);
  1243. g_nSendCode=0;
  1244. if(g_bSendOK==0)
  1245. {
  1246. return;
  1247. }
  1248. // Image *m_pImg=NULL;
  1249. // if(m_pImg)delete m_pImg;m_pImg=NULL;
  1250. // ::LoadImageFromBuf (&m_pImg, g_pData, g_nLeng);
  1251. CString path=g_mainpath+"\\1.jpg";
  1252. ::DeleteFile(path); // 删除1.jpg;
  1253. CFile fp;
  1254. fp.Open(path, CFile::modeCreate|CFile::modeWrite);
  1255. fp.Write(g_pData, g_nLeng);
  1256. fp.Close();
  1257. ShellExecute(NULL, _T("open"), path, NULL, NULL, SW_SHOWMAXIMIZED);
  1258. // ::SaveImageToFile2 (simg2, path, 50); delete simg2;
  1259. // if(m_pImg==NULL)
  1260. // //{
  1261. // AfxMessageBox("无效图片文件!");return;
  1262. // }
  1263. // ShowPhoto dlg;
  1264. // dlg.m_pImg=m_pImg;
  1265. // dlg.DoModal(); if(m_pImg)delete m_pImg;m_pImg=NULL;
  1266. }
  1267. void DinDanFrom::AutoImportPhoto()
  1268. {
  1269. if(AfxMessageBox("是否自动转存合同图片, 确认吗?", MB_YESNO|MB_ICONINFORMATION)!=IDYES)return;
  1270. CString str;
  1271. if(1)
  1272. {
  1273. using namespace helper_coffs;
  1274. ffsco o;
  1275. o.dirs(0);
  1276. o.find(LPCSTR(g_path1), LPCSTR("*.*"));
  1277. ffsco::typeT coo;
  1278. ffsco::typeT::iterator it;
  1279. coo = o.co_dir();
  1280. for (it = coo.begin();
  1281. coo.end() != it;
  1282. it ++)
  1283. {
  1284. str=(*it).c_str();
  1285. if(str==g_path1+"\\")continue;
  1286. str.TrimRight ("\\");
  1287. str=str.Right (str.GetLength ()-str.ReverseFind ('\\')-1);
  1288. AutoImportPhoto (str);::Sleep(100);
  1289. }
  1290. }
  1291. AfxMessageBox("全部上传完成!");
  1292. }
  1293. void DinDanFrom::AutoImportPhoto(CString m_id)
  1294. {
  1295. CString path;
  1296. CString str;
  1297. CString m_path=g_path1+"\\"+m_id+"\\";
  1298. if(1)
  1299. {
  1300. using namespace helper_coffs;
  1301. ffsco o;
  1302. o.dirs(1);
  1303. o.find(LPCSTR(m_path), LPCSTR("*.jpg"));
  1304. ffsco::typeT coo;
  1305. ffsco::typeT::iterator it;
  1306. coo = o.co_file();
  1307. for (it = coo.begin();coo.end() != it;it ++)
  1308. {
  1309. str=(*it).c_str();
  1310. if(str.GetAt (str.ReverseFind ('\\')+1)=='s')continue;
  1311. if(str.GetAt (str.ReverseFind ('\\')+1)=='m')continue;
  1312. path=str;break;
  1313. }
  1314. }
  1315. Image *m_pImg=NULL;
  1316. if(m_pImg)delete m_pImg;m_pImg=NULL;
  1317. ::LoadImageFromBuf (&m_pImg, path);
  1318. if(m_pImg==NULL)
  1319. {
  1320. AfxMessageBox("无效图片文件!");return;
  1321. }
  1322. Image *simg2=NULL;
  1323. CRect rc2(0,0,2000,2000);
  1324. RectFitDes(m_pImg->GetWidth(), m_pImg->GetHeight(), rc2);
  1325. simg2=m_pImg->GetThumbnailImage(rc2.Width (), rc2.Height (), NULL, NULL);
  1326. Graphics graphic2(simg2);//防止GetThumbnailImage影响质量
  1327. graphic2.Clear(Color(255,255,255,255));
  1328. graphic2.DrawImage(m_pImg, 0,0,simg2->GetWidth(), simg2->GetHeight() );
  1329. if(m_pImg)delete m_pImg;m_pImg=NULL;
  1330. path=g_mainpath+"\\1.jpg";
  1331. ::SaveImageToFile2 (simg2, path, 40); delete simg2;
  1332. CFile fp;
  1333. if(!fp.Open(path, CFile::modeRead))
  1334. {
  1335. AfxMessageBox("文件打开失败!");
  1336. return;
  1337. }
  1338. DWORD length=fp.GetLength();
  1339. BYTE *m_pData=new BYTE[length+100];
  1340. fp.Read(m_pData, length);
  1341. fp.Close();
  1342. ::DeleteFile(path); // 删除1.jpg;
  1343. char no[100];
  1344. memset(no, 0, 100);
  1345. #ifdef VC60
  1346. strcpy(no, m_id);
  1347. #else
  1348. strcpy_s(no, 100, m_id);
  1349. #endif
  1350. memcpy(m_pData+length, no, 100);
  1351. g_nSendCode=37;
  1352. g_pMainWnd->ProcessChatMessageRequest2(m_pData, length+100);
  1353. g_nSendCode=0;
  1354. delete []m_pData;
  1355. if(g_bSendOK==0)
  1356. {
  1357. return;
  1358. }
  1359. }
  1360. void DinDanFrom::OnBUTmodify7()
  1361. {
  1362. POSITION pos;
  1363. pos=m_List1.GetFirstSelectedItemPosition();
  1364. if(pos==NULL)
  1365. {AfxMessageBox("请先选中订单!");
  1366. return;
  1367. }
  1368. if(AfxMessageBox("是否删除合同, 确认吗?", MB_YESNO|MB_ICONINFORMATION)!=IDYES)return;
  1369. int iItem=m_List1.GetNextSelectedItem(pos);
  1370. CString m_id=m_List1.GetItemText (iItem, 0);
  1371. BYTE *m_pData=new BYTE[100];
  1372. char no[100];
  1373. memset(no, 0, 100);
  1374. #ifdef VC60
  1375. strcpy(no, m_id);
  1376. #else
  1377. strcpy_s(no, 100, m_id);
  1378. #endif
  1379. memcpy(m_pData, no, 100);
  1380. g_nSendCode=37;
  1381. g_pMainWnd->ProcessChatMessageRequest2(m_pData, 100);
  1382. g_nSendCode=0;
  1383. delete []m_pData;
  1384. if(g_bSendOK==0)
  1385. {
  1386. return;
  1387. }
  1388. AfxMessageBox("删除成功!");
  1389. GetData();FillGrid();
  1390. }
  1391. void DinDanFrom::OnBUTmodify8()
  1392. {
  1393. POSITION pos;
  1394. pos=m_List1.GetFirstSelectedItemPosition();
  1395. if(pos==NULL)
  1396. {
  1397. AfxMessageBox("请先选中订单!");
  1398. return;
  1399. }
  1400. int iItem=m_List1.GetNextSelectedItem(pos);
  1401. CString m_id=m_List1.GetItemText (iItem, 0);
  1402. ClientContract dlg;
  1403. dlg.m_id=m_id;
  1404. dlg.DoModal();
  1405. }
  1406. void DinDanFrom::OnBnClickedUrgent() // 订单加急按钮;
  1407. {
  1408. // TODO: 在此添加控件通知处理程序代码
  1409. }