TakeFrom.cpp 52 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789
  1. // TakeFrom.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ylgl.h"
  5. #include "TakeFrom.h"
  6. #include "MyMdi.H"
  7. #include "ModifyDinDan.h"
  8. #include "InputPsw.h"
  9. #include "ImportPhoto.h"
  10. #include "ShowPic.h"
  11. #include "TakeMoney2.h"
  12. #include "SelWaiter2.h"
  13. #include "TakeStautsSel.h"
  14. #include "SalaryRateSet2.h"
  15. #include "UploadPhoto.h"
  16. #ifdef _DEBUG
  17. #define new DEBUG_NEW
  18. #undef THIS_FILE
  19. static char THIS_FILE[] = __FILE__;
  20. #endif
  21. #pragma comment(lib, "Shlwapi.lib")
  22. /////////////////////////////////////////////////////////////////////////////
  23. // TakeFrom
  24. IMPLEMENT_DYNCREATE(TakeFrom, MyFormView)
  25. TakeFrom::TakeFrom()
  26. : MyFormView(TakeFrom::IDD)
  27. {
  28. //{{AFX_DATA_INIT(TakeFrom)
  29. m_filter = _T("");
  30. m_nAdd=0;
  31. //}}AFX_DATA_INIT
  32. if(g_bAllBranch)
  33. {
  34. m_nAdd=1;
  35. }
  36. }
  37. TakeFrom::~TakeFrom()
  38. {
  39. }
  40. void TakeFrom::DoDataExchange(CDataExchange* pDX)
  41. {
  42. MyFormView::DoDataExchange(pDX);
  43. //{{AFX_DATA_MAP(TakeFrom)
  44. DDX_Control(pDX, IDC_COMBO1, m_combo1);
  45. DDX_Control(pDX, IDC_LIST2, m_List1);
  46. DDX_Control(pDX, IDC_STATIC1, m_static1);
  47. DDX_CBString(pDX, IDC_COMBO1, m_filter);
  48. //}}AFX_DATA_MAP
  49. }
  50. BEGIN_MESSAGE_MAP(TakeFrom, MyFormView)
  51. //{{AFX_MSG_MAP(TakeFrom)
  52. ON_BN_CLICKED(IDC_BUTclose, OnBUTclose)
  53. ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
  54. ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)
  55. ON_WM_TIMER()
  56. ON_BN_CLICKED(IDC_BUTimportphoto, OnBUTimportphoto)
  57. ON_BN_CLICKED(IDC_BUTshowphoto, OnBUTshowphoto)
  58. ON_BN_CLICKED(IDC_BUTmoney, OnBUTmoney)
  59. ON_BN_CLICKED(IDC_BTNaddsp, OnBTNaddsp)
  60. ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST2, OnItemchangedList2)
  61. ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
  62. ON_NOTIFY(NM_CLICK, IDC_LIST2, OnClickList2)
  63. ON_NOTIFY(NM_DBLCLK, IDC_LIST2, OnDblclkList2)
  64. ON_BN_CLICKED(IDC_BTNSEARCHFILTER, OnBtnsearchfilter)
  65. ON_BN_CLICKED(IDC_BUTprint3, OnBUTprint3)
  66. //}}AFX_MSG_MAP
  67. END_MESSAGE_MAP()
  68. /////////////////////////////////////////////////////////////////////////////
  69. // TakeFrom diagnostics
  70. #ifdef _DEBUG
  71. void TakeFrom::AssertValid() const
  72. {
  73. MyFormView::AssertValid();
  74. }
  75. void TakeFrom::Dump(CDumpContext& dc) const
  76. {
  77. MyFormView::Dump(dc);
  78. }
  79. #endif //_DEBUG
  80. /////////////////////////////////////////////////////////////////////////////
  81. // TakeFrom message handlers
  82. void TakeFrom::OnInitialUpdate()
  83. {
  84. //AfxMessageBox("789");
  85. MyFormView::OnInitialUpdate();
  86. // TODO: Add your specialized code here and/or call the base class
  87. CMyMdi Mdi;
  88. Mdi.SetSubView((CWnd*)GetParent(), (CWnd*)this);
  89. #ifdef LYFZ_VERSION
  90. GetDlgItem(IDC_BUTimportphoto)->ShowWindow(0);
  91. #endif
  92. // Here we create the outbar control using the splitter as its parent
  93. // and setting its id to the first pane.
  94. CRect rc2;
  95. GetWindowRect(rc2);
  96. ::MoveWindow(m_hWnd,g_rc.left,g_rc.top,g_rc.Width(),g_rc.Height(),TRUE);
  97. EnumChildWindows(m_hWnd,(WNDENUMPROC)EnumChildProc,0);
  98. int idarray[]={IDC_BUTprint3,IDC_BUTimportphoto,IDC_BUTshowphoto,IDC_BUTTON2,IDC_BUTclose};
  99. int idcount=5;
  100. int btnwid;
  101. CRect prerc;
  102. for(int a=idcount-2; a>=0; a--)
  103. {
  104. GetDlgItem(idarray[a+1])->GetWindowRect (prerc);
  105. ScreenToClient(prerc);
  106. GetDlgItem(idarray[a])->GetWindowRect (rc2);
  107. ScreenToClient(rc2);
  108. btnwid=rc2.Width ();
  109. rc2.right =prerc.left ;
  110. rc2.left =rc2.right -btnwid;
  111. GetDlgItem(idarray[a])->MoveWindow (rc2);
  112. }
  113. m_static1.SetFont (&g_titlefont);
  114. if(g_bAllBranch==0)
  115. {
  116. #ifdef CHILD_VERSION
  117. #ifdef LKAY_VERSION
  118. m_List1.SetHeadings("订单号,100;家长姓名,100;宝宝姓名,100;起始编号,100;景点,100;拍照,100;导片日期,100;摄影师,100;助理,100;化妆师,100;助理,100;接单人,100;套系名称,100;套系价格,100;手机,100;固定电话,100" );
  119. #else
  120. m_List1.SetHeadings("订单号,100;家长姓名,100;宝宝姓名,100;起始编号,100;景点,100;拍照,100;拍照日期,100;摄影师,100;助理,100;化妆师,100;助理,100;接单人,100;套系名称,100;套系价格,100;手机,100;固定电话,100" );
  121. #endif
  122. #else
  123. m_List1.SetHeadings("订单号,100;男宾姓名,100;女宾姓名,100;起始编号,100;景点,100;拍照,100;拍照日期,100;摄影师,100;助理,100;化妆师,100;助理,100;接单人,100;套系名称,100;套系价格,100;男宾电话,100;女宾电话,100" );
  124. #endif
  125. m_List1.LoadColumnInfo (114);
  126. }
  127. else
  128. {
  129. #ifdef CHILD_VERSION
  130. m_List1.SetHeadings("店名,100;订单号,100;家长姓名,100;宝宝姓名,100;起始编号,100;景点,100;拍照,100;拍照日期,100;摄影师,100;助理,100;化妆师,100;助理,100;接单人,100;套系名称,100;套系价格,100;手机,100;固定电话,100" );
  131. #else
  132. m_List1.SetHeadings("店名,100;订单号,100;男宾姓名,100;女宾姓名,100;起始编号,100;景点,100;拍照,100;拍照日期,100;摄影师,100;助理,100;化妆师,100;助理,100;接单人,100;套系名称,100;套系价格,100;男宾电话,100;女宾电话,100" );
  133. #endif
  134. m_List1.LoadColumnInfo (196);
  135. GetDlgItem(IDC_BUTprint3)->ShowWindow (1);
  136. }
  137. m_List1.m_bSortSupport=0;
  138. GetData();
  139. m_combo1.AddString (g_user.name);
  140. m_combo1.GetWindowRect (rc2);
  141. ScreenToClient(rc2);
  142. rc2.bottom +=200;
  143. m_combo1.MoveWindow (rc2);
  144. GetDlgItem(IDC_BUTclose)->GetWindowRect(rc2);
  145. SetComboHei(&m_combo1, rc2.Height ());
  146. }
  147. void TakeFrom::FillGrid(BOOL bStatus/*=0*/)
  148. {
  149. if(g_bSearchFilter) //.按条件查询;
  150. {
  151. m_List1.DeleteAllItems2();
  152. int ii=0;
  153. m_List1.m_arLabels.SetSize( m_List1array.GetSize(), 1 );
  154. int count=0;
  155. {
  156. BOOL bFinded=0;
  157. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  158. {
  159. if(bFinded && m_List1array.ElementAt (ii).ElementAt(0+m_nAdd).IsEmpty())
  160. {
  161. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  162. continue;
  163. }
  164. if(g_filterdate1!="") // Jeff.查询过滤条件:日期;
  165. {
  166. if(m_List1array.ElementAt (ii).ElementAt (6+m_nAdd)<g_filterdate1 || m_List1array.ElementAt (ii).ElementAt (6+m_nAdd)>g_filterdate2)
  167. {
  168. bFinded=0;
  169. continue;
  170. }
  171. }
  172. if(g_waiter1!="") // Jeff.查询过滤条件:摄影师;
  173. {
  174. if(m_List1array.ElementAt (ii).ElementAt (11+m_nAdd)!=g_waiter1)
  175. {
  176. bFinded=0;
  177. continue;
  178. }
  179. }
  180. if(g_waiter2!="") // Jeff.查询过滤条件:选片人;
  181. {
  182. if(m_List1array.ElementAt (ii).ElementAt (7+m_nAdd)!=g_waiter2)
  183. {
  184. bFinded=0;
  185. continue;
  186. }
  187. }
  188. if(g_waiter3!="") // Jeff.查询过滤条件:化妆师;
  189. {
  190. if(m_List1array.ElementAt (ii).ElementAt (9+m_nAdd)!=g_waiter3)
  191. {
  192. bFinded=0;
  193. continue;
  194. }
  195. }
  196. if(g_bAllBranch && g_filterbranch!="") // Jeff.集团版查询过滤条件:分店名称;
  197. {
  198. if(m_List1array.ElementAt (ii).ElementAt (0)!= g_filterbranch)
  199. {
  200. bFinded=0;
  201. continue;
  202. }
  203. }
  204. if(1)
  205. {
  206. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  207. bFinded=1;
  208. }
  209. }
  210. }
  211. m_List1.m_arLabels.SetSize(count, 1);
  212. ii=count;
  213. m_List1.m_LabelCount=ii;
  214. m_List1.SetItemCountEx (ii);
  215. CString str;
  216. str.Format ("单数:%d", ii);
  217. SetDlgItemText(IDC_STATIC2, str);
  218. }
  219. else
  220. {
  221. m_List1.DeleteAllItems2();
  222. int ii=0;
  223. m_List1.m_arLabels.SetSize( m_List1array.GetSize(), 1 );
  224. int count=0;
  225. if(m_filter.IsEmpty())
  226. {
  227. if(bStatus==1)
  228. {
  229. BOOL bFinded=0;
  230. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  231. {
  232. if(bFinded && m_List1array.ElementAt(ii).ElementAt(0+m_nAdd).IsEmpty())
  233. {
  234. m_List1.m_arLabels.ElementAt(count++).Copy(m_List1array.ElementAt(ii));
  235. continue;
  236. }
  237. if(m_List1array.ElementAt (ii).ElementAt (5+m_nAdd)!="OK"&&m_List1array.ElementAt (ii).ElementAt (6+m_nAdd).IsEmpty ()==0)
  238. {
  239. bFinded=1;
  240. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  241. }
  242. else
  243. {
  244. bFinded=0;
  245. }
  246. }
  247. }
  248. else if(bStatus==2)
  249. {
  250. BOOL bFinded=0;
  251. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  252. {
  253. if(bFinded && m_List1array.ElementAt (ii).ElementAt (0+m_nAdd).IsEmpty ())
  254. {
  255. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  256. continue;
  257. }
  258. if(m_List1array.ElementAt (ii).ElementAt (5+m_nAdd)=="OK"&&m_List1array.ElementAt (ii).ElementAt (6+m_nAdd)==g_date)
  259. {
  260. bFinded=1;
  261. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  262. }
  263. else
  264. {
  265. bFinded=0;
  266. }
  267. }
  268. }
  269. else
  270. {
  271. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  272. {
  273. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  274. }
  275. }
  276. }
  277. else
  278. {
  279. if(bStatus==1)
  280. {
  281. BOOL bFinded=0;
  282. int type=GetType(m_filter);
  283. if(type==1)//电话
  284. {
  285. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  286. {
  287. if(bFinded && m_List1array.ElementAt (ii).ElementAt (0+m_nAdd).IsEmpty ())
  288. {
  289. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  290. continue;
  291. }
  292. if(m_List1array.ElementAt (ii).ElementAt (5+m_nAdd)!="OK"&&m_List1array.ElementAt (ii).ElementAt (6+m_nAdd).IsEmpty ()==0 &&(m_List1array.ElementAt (ii).ElementAt (15+m_nAdd).Find (m_filter)!=-1 || \
  293. m_List1array.ElementAt (ii).ElementAt (14+m_nAdd).Find (m_filter)!=-1))
  294. {
  295. bFinded=1;
  296. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  297. }
  298. else
  299. {
  300. bFinded=0;
  301. }
  302. }
  303. }
  304. else if(type==2)//拼音
  305. {
  306. BOOL bFinded=0;
  307. m_filter.MakeUpper ();
  308. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  309. {
  310. if(bFinded && m_List1array.ElementAt (ii).ElementAt (0+m_nAdd).IsEmpty ())
  311. {
  312. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  313. continue;
  314. }
  315. if(m_List1array.ElementAt (ii).ElementAt (5+m_nAdd)!="OK"&&m_List1array.ElementAt (ii).ElementAt (6+m_nAdd).IsEmpty ()==0 &&(m_List1array.ElementAt (ii).ElementAt (16+m_nAdd).Find (m_filter)!=-1 || \
  316. m_List1array.ElementAt (ii).ElementAt (17+m_nAdd).Find (m_filter)!=-1))
  317. {
  318. bFinded=1;
  319. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  320. }
  321. else
  322. {
  323. bFinded=0;
  324. }
  325. }
  326. }
  327. else
  328. {
  329. BOOL bFinded=0;
  330. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  331. {
  332. if(bFinded && m_List1array.ElementAt (ii).ElementAt (0+m_nAdd).IsEmpty ())
  333. {
  334. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  335. continue;
  336. }
  337. if(m_List1array.ElementAt (ii).ElementAt (5+m_nAdd)!="OK"&&\
  338. m_List1array.ElementAt (ii).ElementAt (6+m_nAdd).IsEmpty ()==0 &&\
  339. (m_List1array.ElementAt (ii).ElementAt (0).Find (m_filter)!=-1 ||\
  340. m_List1array.ElementAt (ii).ElementAt (1).Find (m_filter)!=-1 ||\
  341. m_List1array.ElementAt (ii).ElementAt (2).Find (m_filter)!=-1 || \
  342. m_List1array.ElementAt (ii).ElementAt (3).Find (m_filter)!=-1 || \
  343. m_List1array.ElementAt (ii).ElementAt (4).Find (m_filter)!=-1|| \
  344. m_List1array.ElementAt (ii).ElementAt (5).Find (m_filter)!=-1 || \
  345. m_List1array.ElementAt (ii).ElementAt (6).Find (m_filter)!=-1|| \
  346. m_List1array.ElementAt (ii).ElementAt (7).Find (m_filter)!=-1 || \
  347. m_List1array.ElementAt (ii).ElementAt (8).Find (m_filter)!=-1|| \
  348. m_List1array.ElementAt (ii).ElementAt (9).Find (m_filter)!=-1|| \
  349. m_List1array.ElementAt (ii).ElementAt (10).Find (m_filter)!=-1 || \
  350. m_List1array.ElementAt (ii).ElementAt (11).Find (m_filter)!=-1|| \
  351. m_List1array.ElementAt (ii).ElementAt (14).Find (m_filter)!=-1 || \
  352. m_List1array.ElementAt (ii).ElementAt (15).Find (m_filter)!=-1 || \
  353. m_List1array.ElementAt (ii).ElementAt (16).Find (m_filter)!=-1 || \
  354. m_List1array.ElementAt (ii).ElementAt (17).Find (m_filter)!=-1 || \
  355. m_List1array.ElementAt (ii).ElementAt (13).Find (m_filter)!=-1) )
  356. {
  357. bFinded=1;
  358. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  359. }
  360. else
  361. {
  362. bFinded=0;
  363. }
  364. }
  365. }
  366. }
  367. else if(bStatus==2)
  368. {
  369. BOOL bFinded=0;
  370. int type=GetType(m_filter);
  371. if(type==1)//电话
  372. {
  373. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  374. {
  375. if(bFinded && m_List1array.ElementAt (ii).ElementAt (0+m_nAdd).IsEmpty ())
  376. {
  377. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  378. continue;
  379. }
  380. if(m_List1array.ElementAt (ii).ElementAt (5+m_nAdd)=="OK"&&m_List1array.ElementAt (ii).ElementAt (6+m_nAdd)==g_date &&(m_List1array.ElementAt (ii).ElementAt (15+m_nAdd).Find (m_filter)!=-1 || \
  381. m_List1array.ElementAt (ii).ElementAt (14+m_nAdd).Find (m_filter)!=-1))
  382. {
  383. bFinded=1;
  384. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  385. }
  386. else
  387. {
  388. bFinded=0;
  389. }
  390. }
  391. }
  392. else if(type==2)//拼音
  393. {
  394. BOOL bFinded=0;
  395. m_filter.MakeUpper ();
  396. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  397. {
  398. if(bFinded && m_List1array.ElementAt (ii).ElementAt (0+m_nAdd).IsEmpty ())
  399. {
  400. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  401. continue;
  402. }
  403. if(m_List1array.ElementAt (ii).ElementAt (5+m_nAdd)=="OK"&&m_List1array.ElementAt (ii).ElementAt (6+m_nAdd)==g_date &&(m_List1array.ElementAt (ii).ElementAt (17+m_nAdd).Find (m_filter)!=-1 || \
  404. m_List1array.ElementAt (ii).ElementAt (16+m_nAdd).Find (m_filter)!=-1))
  405. {
  406. bFinded=1;
  407. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  408. }
  409. else
  410. {
  411. bFinded=0;
  412. }
  413. }
  414. }
  415. else
  416. {
  417. BOOL bFinded=0;
  418. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  419. {
  420. if(bFinded && m_List1array.ElementAt (ii).ElementAt (0+m_nAdd).IsEmpty ())
  421. {
  422. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  423. continue;
  424. }
  425. if(m_List1array.ElementAt (ii).ElementAt (5+m_nAdd)=="OK"&&m_List1array.ElementAt (ii).ElementAt (6+m_nAdd)==g_date &&\
  426. (m_List1array.ElementAt (ii).ElementAt (0).Find (m_filter)!=-1 ||\
  427. m_List1array.ElementAt (ii).ElementAt (1).Find (m_filter)!=-1 ||\
  428. m_List1array.ElementAt (ii).ElementAt (2).Find (m_filter)!=-1 || \
  429. m_List1array.ElementAt (ii).ElementAt (3).Find (m_filter)!=-1 || \
  430. m_List1array.ElementAt (ii).ElementAt (4).Find (m_filter)!=-1|| \
  431. m_List1array.ElementAt (ii).ElementAt (5).Find (m_filter)!=-1 || \
  432. m_List1array.ElementAt (ii).ElementAt (6).Find (m_filter)!=-1|| \
  433. m_List1array.ElementAt (ii).ElementAt (7).Find (m_filter)!=-1 || \
  434. m_List1array.ElementAt (ii).ElementAt (8).Find (m_filter)!=-1|| \
  435. m_List1array.ElementAt (ii).ElementAt (9).Find (m_filter)!=-1|| \
  436. m_List1array.ElementAt (ii).ElementAt (10).Find (m_filter)!=-1 || \
  437. m_List1array.ElementAt (ii).ElementAt (11).Find (m_filter)!=-1|| \
  438. m_List1array.ElementAt (ii).ElementAt (14).Find (m_filter)!=-1 || \
  439. m_List1array.ElementAt (ii).ElementAt (15).Find (m_filter)!=-1 || \
  440. m_List1array.ElementAt (ii).ElementAt (16).Find (m_filter)!=-1 || \
  441. m_List1array.ElementAt (ii).ElementAt (17).Find (m_filter)!=-1 || \
  442. m_List1array.ElementAt (ii).ElementAt (13).Find (m_filter)!=-1) )
  443. {
  444. bFinded=1;
  445. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  446. }
  447. else
  448. {
  449. bFinded=0;
  450. }
  451. }
  452. }
  453. }
  454. else
  455. {
  456. int type=GetType(m_filter);
  457. if(type==1)//电话
  458. {
  459. BOOL bFinded=0;
  460. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  461. {
  462. if(bFinded && m_List1array.ElementAt (ii).ElementAt (0+m_nAdd).IsEmpty ())
  463. {
  464. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  465. continue;
  466. }
  467. if(m_List1array.ElementAt (ii).ElementAt (14+m_nAdd).Find (m_filter)!=-1 || \
  468. m_List1array.ElementAt (ii).ElementAt (15+m_nAdd).Find (m_filter)!=-1)
  469. {
  470. bFinded=1;
  471. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  472. }
  473. else
  474. {
  475. bFinded=0;
  476. }
  477. }
  478. }
  479. else if(type==2)//拼音
  480. {
  481. BOOL bFinded=0;
  482. m_filter.MakeUpper ();
  483. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  484. {
  485. if(bFinded && m_List1array.ElementAt (ii).ElementAt (0+m_nAdd).IsEmpty ())
  486. {
  487. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  488. continue;
  489. }
  490. if(m_List1array.ElementAt (ii).ElementAt (16+m_nAdd).Find (m_filter)!=-1 || \
  491. m_List1array.ElementAt (ii).ElementAt (17+m_nAdd).Find (m_filter)!=-1)
  492. {
  493. bFinded=1;
  494. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  495. }
  496. else
  497. {
  498. bFinded=0;
  499. }
  500. }
  501. }
  502. else
  503. {
  504. BOOL bFinded=0;
  505. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  506. {
  507. if(bFinded && m_List1array.ElementAt (ii).ElementAt (0+m_nAdd).IsEmpty ())
  508. {
  509. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  510. continue;
  511. }
  512. if(m_List1array.ElementAt (ii).ElementAt (0).Find (m_filter)!=-1 ||\
  513. m_List1array.ElementAt (ii).ElementAt (1).Find (m_filter)!=-1 || \
  514. m_List1array.ElementAt (ii).ElementAt (2).Find (m_filter)!=-1 || \
  515. m_List1array.ElementAt (ii).ElementAt (3).Find (m_filter)!=-1 || \
  516. m_List1array.ElementAt (ii).ElementAt (4).Find (m_filter)!=-1|| \
  517. m_List1array.ElementAt (ii).ElementAt (5).Find (m_filter)!=-1 || \
  518. m_List1array.ElementAt (ii).ElementAt (6).Find (m_filter)!=-1|| \
  519. m_List1array.ElementAt (ii).ElementAt (7).Find (m_filter)!=-1 || \
  520. m_List1array.ElementAt (ii).ElementAt (8).Find (m_filter)!=-1|| \
  521. m_List1array.ElementAt (ii).ElementAt (9).Find (m_filter)!=-1|| \
  522. m_List1array.ElementAt (ii).ElementAt (10).Find (m_filter)!=-1 || \
  523. m_List1array.ElementAt (ii).ElementAt (11).Find (m_filter)!=-1|| \
  524. m_List1array.ElementAt (ii).ElementAt (14).Find (m_filter)!=-1 || \
  525. m_List1array.ElementAt (ii).ElementAt (15).Find (m_filter)!=-1 || \
  526. m_List1array.ElementAt (ii).ElementAt (16).Find (m_filter)!=-1 || \
  527. m_List1array.ElementAt (ii).ElementAt (17).Find (m_filter)!=-1 || \
  528. m_List1array.ElementAt (ii).ElementAt (13).Find (m_filter)!=-1 )
  529. {
  530. bFinded=1;
  531. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  532. }
  533. else
  534. {
  535. bFinded=0;
  536. }
  537. }
  538. }
  539. }
  540. }
  541. m_List1.m_arLabels.SetSize(count, 1);
  542. ii=count;
  543. m_List1.m_LabelCount=ii;
  544. m_List1.SetItemCountEx (ii);
  545. CString str;
  546. str.Format ("单数:%d", ii);
  547. SetDlgItemText(IDC_STATIC2, str);
  548. }
  549. if(!g_id.IsEmpty ())
  550. {
  551. for(int i=0; i<m_List1.GetItemCount (); i++)
  552. {
  553. if(g_id==m_List1.GetItemText (i, 0+m_nAdd))
  554. {
  555. m_List1.SetItemState(i,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED);
  556. m_List1.EnsureVisible(i,FALSE);
  557. break;
  558. }
  559. }
  560. }
  561. }
  562. void TakeFrom::OnBUTclose()
  563. {
  564. // TODO: Add your control notification handler code here
  565. GetParent()->SendMessage(WM_CLOSE);
  566. }
  567. void TakeFrom::OnSelchangeCombo1()
  568. {
  569. // TODO: Add your control notification handler code here
  570. SetTimer(1, 100, NULL);
  571. }
  572. void TakeFrom::OnTimer(UINT nIDEvent)
  573. {
  574. // TODO: Add your message handler code here and/or call default
  575. KillTimer(nIDEvent);
  576. OnButton1();
  577. }
  578. BOOL TakeFrom::PreTranslateMessage(MSG* pMsg)
  579. {
  580. // TODO: Add your specialized code here and/or call the base class
  581. try
  582. {
  583. if(pMsg->message==WM_KEYDOWN)
  584. {
  585. switch (pMsg->wParam)
  586. {
  587. case VK_RETURN:
  588. OnButton1();
  589. return 1;
  590. case 0x43: // copy
  591. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  592. {
  593. GetFocus()->SendMessage(WM_COPY);
  594. return TRUE;
  595. }
  596. break;
  597. case 0x56: //Ctrl + V:
  598. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  599. {
  600. GetFocus()->SendMessage(WM_PASTE);
  601. return TRUE;
  602. }
  603. break;
  604. case 0x58: // cut
  605. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  606. {
  607. GetFocus()->SendMessage(WM_CUT);
  608. return TRUE;
  609. }
  610. break;
  611. case 0x5A: //undo
  612. case 0x59: //redo
  613. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  614. {
  615. GetFocus()->SendMessage(WM_UNDO);
  616. return TRUE;
  617. }
  618. break;
  619. }
  620. }
  621. return MyFormView::PreTranslateMessage(pMsg);
  622. }
  623. catch(...)
  624. {
  625. }
  626. }
  627. // Jeff.remark.
  628. // 1.弹出"拍照状态确认"对话框前,需要获取订单的拍照状态,以此来确定是否需要禁用check状态框;
  629. //
  630. //
  631. void TakeFrom::OnBUTimportphoto() // 导入原片;
  632. {
  633. // TODO: Add your control notification handler code here
  634. POSITION pos;
  635. pos=m_List1.GetFirstSelectedItemPosition();
  636. if(pos==NULL)
  637. {
  638. AfxMessageBox("请先选中您要导片的定单!", MB_ICONINFORMATION);
  639. return;
  640. }
  641. // 1.选中的起始行号;
  642. int iItem=m_List1.GetNextSelectedItem(pos);
  643. // 2.选中的行数;
  644. int itemcount=m_List1.GetItemCount();
  645. int iItemBak=iItem;
  646. CString status2="OK";
  647. CString branch;
  648. CString id=m_List1.GetItemText(iItem, 0+m_nAdd); // .OrderNumber订单号;
  649. int beginno=atoi(m_List1.GetItemText(iItem, 3+m_nAdd)); // .Jeff.起始编号究竟有什么用?
  650. if(g_bAllBranch)
  651. branch=m_List1.GetItemText (iItem, 0);
  652. // Jeff.多景点时,选择了不是第一个景点,订单是空的;
  653. while(id=="")
  654. {
  655. iItem--;
  656. id=m_List1.GetItemText(iItem, 0+m_nAdd);
  657. beginno=atoi(m_List1.GetItemText(iItem, 3+m_nAdd));
  658. }
  659. int nTopItem = iItem;// Jeff add:记录第一个有订单号的项;
  660. //int nNotOkItem = -1; // Jeff add:第一个被记录未拍照ok的子景点项;如果是头景点呢?
  661. // .jdpos景点位置;并不能用来判断该订单是否多个景点,因为如果iItem是有订单号的话,无效;
  662. int jdpos = iItemBak-iItem;
  663. // .订单拍摄如果不是ok状态,设置为拍摄中;
  664. BOOL bOK = TRUE; //Jeff.add;
  665. #if 0
  666. if(iItemBak != iItem) // .多景点,头景点;
  667. {
  668. #if 0 // 有下面的while,就不需要这里的判断;
  669. if(m_List1.GetItemText(iItem, 5+m_nAdd) != "OK") // Jeff.why not:if(m_List1.GetItemText(iItemBak, 5+m_nAdd) != "OK") 下面处理了iItem++.
  670. status2 = "拍摄中";
  671. // .Jeff add:当有两个景点时,防止下面while循环出现少处理尾数的问题;
  672. if ( m_List1.GetItemText(iItemBak,5+m_nAdd) != "OK")
  673. status2 = "拍摄中";
  674. #endif
  675. //BOOL bOK = TRUE;//放到外面去;
  676. // Jeff.有订单号的第一个景点.
  677. if(m_List1.GetItemText(iItem, 5+m_nAdd) != "OK")
  678. {
  679. status2 = "拍摄中";
  680. bOK = FALSE;
  681. }
  682. // Jeff.无订单号的子景点处理;
  683. while( m_List1.GetItemText(++iItem, 0 + m_nAdd) == "" && iItem < itemcount)
  684. {
  685. if(m_List1.GetItemText (iItem, 5+m_nAdd) != "OK")
  686. {
  687. status2="拍摄中";
  688. bOK = FALSE;
  689. break;
  690. }
  691. }
  692. if ( bOK ) status2 = "OK";
  693. // printf("Jeff:多个景点,拍照状态=%s\n\n",status2);
  694. }
  695. else // Jeff add:当只有一个景点时,因为下面的while循环不处理只有一个景点的情况;
  696. {
  697. if ( m_List1.GetItemText(iItemBak,5+m_nAdd) != "OK")
  698. {
  699. status2 = "拍摄中";
  700. bOK = FALSE;
  701. }
  702. else
  703. status2 = "OK";
  704. // printf("Jeff:只有一个景点,拍照状态=%s\n\n",status2);
  705. }
  706. #endif
  707. #if 1 // Jeff.用于判断是否只剩下一个 未OK 状态时,拍照确认对话框的复选是否需要勾上;
  708. // 此时iItem为有订单号的头景点;
  709. if ( m_List1.GetItemText(iItem,5+m_nAdd) != "OK")
  710. {
  711. status2 = "拍摄中";
  712. //bOK = FALSE;
  713. }
  714. // .子景点(如果有的话);
  715. ++iItem;
  716. while(iItem<itemcount && m_List1.GetItemText(iItem, 0 + m_nAdd) == "" && status2 != "拍摄中")
  717. {
  718. if(m_List1.GetItemText(iItem, 5+m_nAdd) != "OK" && iItemBak != iItem ) // Jeff.如果只有两个景点这里出错:第一个ok,第二个未拍;这里会跳出;
  719. {
  720. status2="拍摄中";
  721. //bOK = FALSE;
  722. //nNotOkItem = iItem;
  723. break;
  724. }
  725. iItem++;
  726. }
  727. // printf("Jeff:对话框前的状态:%s\n\n",status2);
  728. #endif
  729. #if 0
  730. ++iItem;
  731. while(iItem<itemcount && m_List1.GetItemText(iItem, 0 + m_nAdd) == "" && status2 != "拍摄中")
  732. {
  733. if(m_List1.GetItemText (iItem, 5+m_nAdd) != "OK" && iItemBak != iItem ) // Jeff.如果只有两个景点这里出错:第一个ok,第二个未拍;这里会跳出;
  734. {
  735. status2="拍摄中";
  736. break;
  737. }
  738. iItem++;
  739. }
  740. #endif
  741. iItem=iItemBak;
  742. CString dindanjd=m_List1.GetItemText (iItem, 4+m_nAdd);
  743. CString waiter1=m_List1.GetItemText (iItem, 7+m_nAdd);
  744. CString waiter12=m_List1.GetItemText (iItem, 8+m_nAdd);
  745. CString waiter2=m_List1.GetItemText (iItem, 9+m_nAdd);
  746. CString waiter22=m_List1.GetItemText (iItem, 10+m_nAdd);
  747. id=m_List1.GetItemText (iItem, 0+m_nAdd);
  748. while(id=="")
  749. {
  750. iItem--;
  751. id=m_List1.GetItemText (iItem, 0+m_nAdd);
  752. }
  753. CString name=m_List1.GetItemText (iItem, 1+m_nAdd)+","+m_List1.GetItemText (iItem, 2+m_nAdd);
  754. name.TrimLeft (",");
  755. name.TrimRight (",");
  756. name="客人:"+name;
  757. CString phone=m_List1.GetItemText (iItem, 14+m_nAdd)+","+m_List1.GetItemText (iItem, 15+m_nAdd);
  758. phone.TrimLeft (",");
  759. phone.TrimRight (",");
  760. phone="电话:"+phone;
  761. //////////////////////////////////////////////////////////////////////////
  762. // 组合目录;
  763. //////////////////////////////////////////////////////////////////////////
  764. #ifdef _DEBUG
  765. AfxMessageBox(g_path1);
  766. #endif
  767. if(g_path1.IsEmpty ())
  768. {
  769. AfxMessageBox("未设置原片保存机器, 请通知系统管理员!", MB_ICONINFORMATION);
  770. return;
  771. }
  772. #ifdef ENTERPRISE_VERSION
  773. if(::CheckFolderFileExist (g_path1)==0)
  774. ::CreateDirectory (g_path1, NULL);
  775. #endif
  776. if(!::CheckFolderFileExist(g_path1))
  777. {
  778. //AfxMessageBox(g_path1);
  779. AfxMessageBox("原片保存机器目录未设置, 请通知系统管理员!", MB_ICONINFORMATION);
  780. return;
  781. }
  782. CString savepath;
  783. if(g_bAllBranch)
  784. {
  785. CString branchpath=GetBranchPhotoPath(branch);
  786. savepath=g_path1+branchpath+"\\";
  787. if(::CheckFolderFileExist (savepath)==0)
  788. ::CreateDirectory (savepath, NULL);
  789. }
  790. else
  791. savepath=g_path1+"\\";
  792. #ifdef _DEBUG
  793. AfxMessageBox(branch);
  794. TCHAR szSharePath[MAX_PATH];
  795. GetEnableShareDirectory(1,id,branch,szSharePath);
  796. savepath.Format("%s\\",szSharePath);
  797. AfxMessageBox(savepath);
  798. #endif
  799. savepath+=id+"\\";
  800. if(::CheckFolderFileExist (savepath)==0)
  801. ::CreateDirectory (savepath, NULL);
  802. CString calnopath=savepath;
  803. savepath+=dindanjd+"\\";
  804. if(::CheckFolderFileExist (savepath)==0)
  805. ::CreateDirectory (savepath, NULL);
  806. CString Filter="图片文件 (*.jpg)|*.jpg|\
  807. 原始格式RAW (*.raw)|*.raw|\
  808. 原始格式NEF (*.nef)|*.nef|\
  809. 原始格式CR2 (*.cr2)|*.cr2||";
  810. // .选择要导入的相片,可多选;
  811. CFileDialog fdlg(true, NULL,"openfile", OFN_ALLOWMULTISELECT, Filter );
  812. TCHAR szBuffer[60000]={0};
  813. fdlg.m_ofn.lpstrFile = szBuffer;
  814. fdlg.m_ofn.nMaxFile = 60000;
  815. if(fdlg.DoModal()!=IDOK)
  816. {
  817. // .拍摄人员确认 SelWaiter2;
  818. SelWaiter2 waiterdlg;
  819. waiterdlg.waiter1=waiter1;
  820. waiterdlg.waiter12=waiter12;
  821. waiterdlg.waiter2=waiter2;
  822. waiterdlg.waiter22=waiter22;
  823. waiterdlg.beginno=beginno;
  824. if(waiterdlg.DoModal()!=IDOK)return;
  825. waiter1=waiterdlg.waiter1;
  826. waiter12=waiterdlg.waiter12;
  827. waiter2=waiterdlg.waiter2;
  828. waiter22=waiterdlg.waiter22;
  829. beginno=waiterdlg.beginno;
  830. CString status;
  831. // .拍照状态确认.对话框.
  832. TakeStautsSel dlg2;
  833. if(status2=="OK") // .拍照状态为ok时;
  834. {
  835. dlg2.m_check1=1;
  836. // Jeff.add:已经是ok的拍照状态,禁用用户修改该状态;IDC_CHECK1
  837. //dlg2.DisEnableCheck();
  838. dlg2.m_bCheckEnalbe = FALSE;
  839. }
  840. dlg2.DoModal();
  841. if(dlg2.m_radio1==0)
  842. {
  843. status="OK";
  844. }
  845. else if(dlg2.m_radio1==1)
  846. {
  847. status="拍摄中";
  848. //dlg2.CheckChange();
  849. }
  850. else
  851. {
  852. status="未拍";
  853. //dlg2.CheckChange();
  854. }
  855. #if 1
  856. //本次选择ok时,需要再检查一下,看是否全部都已经ok;
  857. // 此时iItem为有订单号的头景点;
  858. // printf("Jeff:景点拍照完成,nTopItem=%d\n\n",nTopItem);
  859. bOK = TRUE;
  860. status2 = "OK";
  861. int nItem = nTopItem;
  862. if ( m_List1.GetItemText(nItem,5+m_nAdd) != "OK" )
  863. {
  864. if( nItem != iItemBak )
  865. {
  866. status2 = "拍摄中";
  867. // printf("Jeff:景点%d拍照完成\n\n",nItem);
  868. bOK = FALSE;
  869. }
  870. else if ( status != "OK" )
  871. {
  872. status2 = "拍摄中";
  873. // printf("Jeff:景点%d拍照完成\n\n",nItem);
  874. bOK = FALSE;
  875. }
  876. }
  877. // .子景点(如果有的话);
  878. ++nItem;
  879. while( nItem<itemcount && m_List1.GetItemText(nItem, 0 + m_nAdd) == "" && status2 != "拍摄中")
  880. {
  881. if( m_List1.GetItemText(nItem, 5+m_nAdd) != "OK" && iItemBak != nItem ) // Jeff.如果只有两个景点这里出错:第一个ok,第二个未拍;这里会跳出;
  882. {
  883. status2="拍摄中";
  884. bOK = FALSE;
  885. // printf("Jeff:景点%d拍照完成\n\n",nItem);
  886. break;
  887. }
  888. else
  889. {
  890. if ( status != "OK")
  891. {
  892. status2="拍摄中";
  893. bOK = FALSE;
  894. }
  895. }
  896. ++nItem;
  897. }
  898. if ( bOK ) status2 = "OK";
  899. #endif
  900. #if 0
  901. if(dlg2.m_check1) // .拍照景点全部ok状态;
  902. status2="OK";
  903. else
  904. status2="拍摄中";
  905. #else
  906. //if ( !bOK )
  907. // status2 = "拍摄中";
  908. //else if(dlg2.m_check1) // .拍照景点全部ok状态;
  909. // status2 = "OK";
  910. CString sql;
  911. if ( dlg2.m_check1)
  912. {
  913. status2 = "OK";
  914. // Jeff:如果有多个景点,全部设置为拍照ok;
  915. // 需要遍历处理;
  916. sql.Format("update dindanjd set [status]='OK' where id='%s'",id);
  917. // printf("Jeff:全部景点选择拍照OK,SQL=%s\n\n",sql);
  918. }
  919. #endif
  920. //CString sql;
  921. //sql="update dindanjd set [status]='"+status+"',[waiter1]='"+waiter1+"',[waiter12]='"+waiter12+"',[waiter2]='"+waiter2+"',[waiter22]='"+waiter22+"' where [id]='"+id+"' and [name]='"+dindanjd+"'";
  922. sql+="***update dindanjd set [status]='"+status+"',[waiter1]='"+waiter1+"',[waiter12]='"+waiter12+"',[waiter2]='"+waiter2+"',[waiter22]='"+waiter22+"' where [id]='"+id+"' and [name]='"+dindanjd+"'";
  923. #ifndef LYFZ_VERSION
  924. if(jdpos==0)
  925. sql+="***update dindan set [status]=case when [status]<>'OK' then '"+status2+"' else [status] end,[waiter1]='"+waiter1+"',[waiter2]='"+waiter2+"' where [id]='"+id+"'";
  926. else if(jdpos==1)
  927. sql+="***update dindan set [status]=case when [status]<>'OK' then '"+status2+"' else [status] end,[waiter12]='"+waiter1+"',[waiter22]='"+waiter2+"' where [id]='"+id+"'";
  928. else if(jdpos==2)
  929. sql+="***update dindan set [status]=case when [status]<>'OK' then '"+status2+"' else [status] end,[waiter13]='"+waiter1+"',[waiter23]='"+waiter2+"' where [id]='"+id+"'";
  930. else if(jdpos==3)
  931. sql+="***update dindan set [status]=case when [status]<>'OK' then '"+status2+"' else [status] end,[waiter14]='"+waiter1+"',[waiter24]='"+waiter2+"' where [id]='"+id+"'";
  932. else
  933. sql+="***update dindan set [status]=case when [status]<>'OK' then '"+status2+"' else [status] end where [id]='"+id+"'";
  934. #else
  935. sql+="***update dindan set [status]=case when [status]<>'OK' then '"+status2+"' else [status] end where [id]='"+id+"'";
  936. #endif
  937. CString sql2;
  938. if(1)
  939. {
  940. sql2="***gentakecontent:"+id;
  941. sql+=sql2;
  942. }
  943. g_sendhead.bsql=1;
  944. if(g_bAllBranch)
  945. {
  946. g_branchip=GetIP(branch);
  947. g_pMainWnd->OnDisconnect();
  948. g_branchname=branch;
  949. g_bBranchModify=1;
  950. g_pMainWnd->ProcessChatMessageRequest2(sql);
  951. g_pMainWnd->OnDisconnect();
  952. g_bBranchModify=0;
  953. g_branchip=g_branchname="";
  954. }
  955. else
  956. g_pMainWnd->ProcessChatMessageRequest2(sql);
  957. if(g_bSendOK==0)return;
  958. if(g_bAllBranch==0)
  959. {
  960. GetData();
  961. }
  962. else
  963. {
  964. BOOL bFind=0;
  965. for(int i=0; i<m_List1array.GetSize (); i++)
  966. {
  967. if(bFind && m_List1array.ElementAt (i).ElementAt (1)!="")break;
  968. if(id==m_List1array.ElementAt (i).ElementAt (1) && branch==m_List1array.ElementAt (i).ElementAt (0))
  969. {
  970. bFind=1;
  971. }
  972. if(bFind && dindanjd==m_List1array.ElementAt (i).ElementAt (4) )
  973. {
  974. m_List1array.ElementAt (i).SetAt (7+m_nAdd, waiter1);
  975. m_List1array.ElementAt (i).SetAt (8+m_nAdd, waiter12);
  976. m_List1array.ElementAt (i).SetAt (9+m_nAdd, waiter2);
  977. m_List1array.ElementAt (i).SetAt (10+m_nAdd, waiter22);
  978. m_List1array.ElementAt (i).SetAt (5+m_nAdd, status);
  979. FillGrid();
  980. break;
  981. }
  982. }
  983. }
  984. return;
  985. }
  986. pos=fdlg.GetStartPosition ();
  987. CStringArray array;
  988. while(pos!=NULL)
  989. {
  990. array.Add(fdlg.GetNextPathName(pos));
  991. }
  992. if(array.GetSize()==0)return;
  993. if(1)
  994. {
  995. CString str;
  996. str.Format ("%s\r\n%s\r\n景点:%s\r\n确认您选中的照片与客户资料相符吗? 是否继续?", name, phone, dindanjd );
  997. if(AfxMessageBox(str, MB_YESNO|MB_ICONINFORMATION)!=IDYES)
  998. return;
  999. }
  1000. SelWaiter2 waiterdlg;
  1001. waiterdlg.waiter1=waiter1;
  1002. waiterdlg.waiter12=waiter12;
  1003. waiterdlg.waiter2=waiter2;
  1004. waiterdlg.waiter22=waiter22;
  1005. waiterdlg.beginno=beginno;
  1006. if(waiterdlg.DoModal ()!=IDOK)return;
  1007. waiter1=waiterdlg.waiter1;
  1008. waiter12=waiterdlg.waiter12;
  1009. waiter2=waiterdlg.waiter2;
  1010. waiter22=waiterdlg.waiter22;
  1011. beginno=waiterdlg.beginno;
  1012. ImportPhoto dlg;
  1013. dlg.beginno=beginno;
  1014. dlg.m_bOfmat=1;
  1015. dlg.m_branch=branch;
  1016. dlg.m_nphototype=0;
  1017. dlg.m_calnopath=calnopath;
  1018. dlg.m_mode=2;
  1019. dlg.m_bOrigin=1;
  1020. dlg.m_pArray=&array;
  1021. dlg.m_savepath =savepath;
  1022. #ifdef ENTERPRISE_VERSION
  1023. // if(!g_branchname.IsEmpty())
  1024. {
  1025. dlg.m_id=id;
  1026. dlg.m_bSaveUploadTask=g_bSaveUploadTask1;
  1027. dlg.m_sel=g_cominfoarraylocal.ElementAt(0).ElementAt(78);
  1028. dlg.m_uploadtaskarray .Add (id+";"+name);
  1029. dlg.m_uploadtaskarray .Add ("");
  1030. dlg.m_uploadtaskarray .Add ("");
  1031. dlg.m_uploadtaskarray .Add ("");
  1032. dlg.m_uploadtaskarray .Add ("");
  1033. dlg.m_uploadtaskarray .Add ("");
  1034. dlg.m_uploadtaskarray .Add ("");
  1035. dlg.m_uploadtaskarray .Add ("");
  1036. dlg.m_uploadtaskarray .Add ("");
  1037. dlg.m_uploadtaskarray .Add ("");
  1038. }
  1039. #endif
  1040. dlg.DoModal ();
  1041. beginno=dlg.beginno;
  1042. savepath+="ok";
  1043. ::DeleteFile(savepath);
  1044. CString status;
  1045. TakeStautsSel dlg2;
  1046. if(status2=="OK")
  1047. {
  1048. dlg2.m_check1=1;
  1049. dlg2.m_bCheckEnalbe = FALSE;
  1050. }
  1051. dlg2.DoModal();
  1052. if(dlg2.m_radio1==0)
  1053. {
  1054. status="OK";
  1055. }
  1056. else if(dlg2.m_radio1==1)
  1057. {
  1058. status="拍摄中";
  1059. //dlg2.CheckChange();
  1060. }
  1061. else
  1062. {
  1063. status="未拍";
  1064. //dlg2.CheckChange();
  1065. }
  1066. #if 1
  1067. //本次选择ok时,需要再检查一下,看是否全部都已经ok;
  1068. // 此时iItem为有订单号的头景点;
  1069. // printf("Jeff:景点拍照完成,nTopItem=%d\n\n",nTopItem);
  1070. bOK = TRUE;
  1071. status2 = "OK";
  1072. int nItem = nTopItem;
  1073. if ( m_List1.GetItemText(nItem,5+m_nAdd) != "OK" )
  1074. {
  1075. if( nItem != iItemBak )
  1076. {
  1077. status2 = "拍摄中";
  1078. // printf("Jeff:景点%d拍照完成\n\n",nItem);
  1079. bOK = FALSE;
  1080. }
  1081. else if ( status != "OK" )
  1082. {
  1083. status2 = "拍摄中";
  1084. // printf("Jeff:景点%d拍照完成\n\n",nItem);
  1085. bOK = FALSE;
  1086. }
  1087. }
  1088. // .子景点(如果有的话);
  1089. ++nItem;
  1090. while( nItem<itemcount && m_List1.GetItemText(nItem, 0 + m_nAdd) == "" && status2 != "拍摄中")
  1091. {
  1092. if( m_List1.GetItemText(nItem, 5+m_nAdd) != "OK" && iItemBak != nItem ) // Jeff.如果只有两个景点这里出错:第一个ok,第二个未拍;这里会跳出;
  1093. {
  1094. status2="拍摄中";
  1095. bOK = FALSE;
  1096. // printf("Jeff:景点%d拍照完成\n\n",nItem);
  1097. break;
  1098. }
  1099. else
  1100. {
  1101. if ( status != "OK")
  1102. {
  1103. status2="拍摄中";
  1104. bOK = FALSE;
  1105. }
  1106. }
  1107. ++nItem;
  1108. }
  1109. if ( bOK ) status2 = "OK";
  1110. #endif
  1111. #if 0
  1112. if(dlg2.m_check1)
  1113. status2="OK";
  1114. else
  1115. status2="拍摄中";
  1116. #else
  1117. //if ( !bOK )
  1118. // status2 = "拍摄中";
  1119. //else if(dlg2.m_check1) // .拍照景点全部ok状态;
  1120. // status2 = "OK";
  1121. CString sql;
  1122. if ( dlg2.m_check1 )
  1123. {
  1124. status2 = "OK";
  1125. // Jeff:如果有多个景点,全部设置为拍照ok;
  1126. // 需要遍历处理?;
  1127. // 批量处理某个订单的就可以了;
  1128. // SQL:update dindanjd set [status]='OK' where id='';
  1129. // CString SQL;
  1130. sql.Format("update dindanjd set [status]='OK' where id='%s'",id);
  1131. // printf("Jeff:全部景点选择拍照OK,SQL=%s\n\n",sql);
  1132. }
  1133. #endif
  1134. //CString sql;
  1135. //sql="update dindanjd set [status]='"+status+"',[date]='"+g_date+"',[waiter1]='"+waiter1+"',[waiter12]='"+waiter12+"',[waiter2]='"+waiter2+"',[waiter22]='"+waiter22+"' where [id]='"+id+"' and [name]='"+dindanjd+"'";
  1136. sql+="***update dindanjd set [status]='"+status+"',[date]='"+g_date+"',[waiter1]='"+waiter1+"',[waiter12]='"+waiter12+"',[waiter2]='"+waiter2+"',[waiter22]='"+waiter22+"' where [id]='"+id+"' and [name]='"+dindanjd+"'";
  1137. CString sbeginno;
  1138. sbeginno.Format("%d", beginno);
  1139. #ifdef LYFZ_VERSION
  1140. //sql+="***update dindan set [status]='"+status2+"' where [id]='"+id+"'";//旧文;
  1141. sql+="***update dindan set [status]=case when [status]<>'OK' then '"+status2+"' else [status] end"+" where [id]='"+id+"'";
  1142. #else
  1143. // dindan time2为拍照时间,在第一次ok时,这个时间不能再修改;
  1144. // Jeff.SQL参考例子:
  1145. // update dindan set time2='2014-06-28' where id='20140628-007' and isnull(time2,'')=''
  1146. #if 0 // 原.
  1147. if(jdpos==0)
  1148. sql+="***update dindan set [status]='"+status2+"',[waiter1]='"+waiter1+"',[waiter2]='"+waiter2+"',[time2]='"+g_date+"',[curno]='"+sbeginno+"' where [id]='"+id+"'";
  1149. else if(jdpos==1)
  1150. sql+="***update dindan set [status]='"+status2+"',[waiter12]='"+waiter1+"',[waiter22]='"+waiter2+"',[time2]='"+g_date+"',[curno]='"+sbeginno+"' where [id]='"+id+"'";
  1151. else if(jdpos==2)
  1152. sql+="***update dindan set [status]='"+status2+"',[waiter13]='"+waiter1+"',[waiter23]='"+waiter2+"',[time2]='"+g_date+"',[curno]='"+sbeginno+"' where [id]='"+id+"'";
  1153. else if(jdpos==3)
  1154. sql+="***update dindan set [status]='"+status2+"',[waiter14]='"+waiter1+"',[waiter24]='"+waiter2+"',[time2]='"+g_date+"',[curno]='"+sbeginno+"' where [id]='"+id+"'";
  1155. else
  1156. sql+="***update dindan set [status]='"+status2+"',[time2]='"+g_date+"',[curno]='"+sbeginno+"' where [id]='"+id+"'";
  1157. #else
  1158. //--------------------------------------------------------------------------
  1159. // Jeff.SQL参考语句示例:
  1160. // update dindan set time2=case when isnull(time2,'')='' then '2014-07-28' else time2 end , name2='OK',time3='2015-01-01',time1='2014-05-30' where id='20140628-007'
  1161. //
  1162. //---------------------------------------------------------------------
  1163. // printf("Jeff:拍照状态=%s\n\n",status2);
  1164. if( status2 != "OK" ) // !=ok,不记录拍照时间;--这样是否合理?
  1165. {
  1166. // 当数据库原本status不为OK时,可以修改时间和状态;否则状态和时间都不能修改,保持原样;
  1167. if(jdpos==0)
  1168. sql+="***update dindan set [status]=case when [status]<>'OK' then '"+status2+"' else [status] end,[waiter1]='"+waiter1+"',[waiter2]='"+waiter2+"',[curno]='"+sbeginno+ "', [time2]=case when [status]<>'OK' then '" +g_date+"' else [time2] end" + " where [id]='"+id+"'";
  1169. else if(jdpos==1)
  1170. sql+="***update dindan set [status]=case when [status]<>'OK' then '"+status2+"' else [status] end,[waiter12]='"+waiter1+"',[waiter22]='"+waiter2+"',[curno]='"+sbeginno+ "', [time2]=case when [status]<>'OK' then '" +g_date+"' else [time2] end" + " where [id]='"+id+"'";
  1171. else if(jdpos==2)
  1172. sql+="***update dindan set [status]=case when [status]<>'OK' then '"+status2+"' else [status] end,[waiter13]='"+waiter1+"',[waiter23]='"+waiter2+"',[curno]='"+sbeginno+ "', [time2]=case when [status]<>'OK' then '" +g_date+"' else [time2] end" + " where [id]='"+id+"'";
  1173. else if(jdpos==3)
  1174. sql+="***update dindan set [status]=case when [status]<>'OK' then '"+status2+"' else [status] end,[waiter14]='"+waiter1+"',[waiter24]='"+waiter2+"',[curno]='"+sbeginno+ "', [time2]=case when [status]<>'OK' then '" +g_date+"' else [time2] end" + " where [id]='"+id+"'";
  1175. else
  1176. sql+="***update dindan set [status]=case when [status]<>'OK' then '"+status2+"' else [status] end,[curno]='"+sbeginno+"' where [id]='"+id+"'";
  1177. // printf("Jeff:拍照中,SQL=%s\n\n",sql);
  1178. }
  1179. else // ==ok时,才记录拍照时间;
  1180. {
  1181. /*if(jdpos==0)
  1182. sql+="***update dindan set [status]='"+status2+"',[waiter1]='"+waiter1+"',[waiter2]='"+waiter2+"',[curno]='"+sbeginno+ "', [time2]=case when isnull([time2],'')='' then '" +g_date+"' else [time2] end" + " where [id]='"+id+"'";
  1183. else if(jdpos==1)
  1184. sql+="***update dindan set [status]='"+status2+"',[waiter12]='"+waiter1+"',[waiter22]='"+waiter2+"',[curno]='"+sbeginno+ "', [time2]=case when isnull([time2],'')='' then '" +g_date+"' else [time2] end" +" where [id]='"+id+"'";
  1185. else if(jdpos==2)
  1186. sql+="***update dindan set [status]='"+status2+"',[waiter13]='"+waiter1+"',[waiter23]='"+waiter2+"',[curno]='"+sbeginno+ "', [time2]=case when isnull([time2],'')='' then '" +g_date+"' else [time2] end" + " where [id]='"+id+"'";
  1187. else if(jdpos==3)
  1188. sql+="***update dindan set [status]='"+status2+"',[waiter14]='"+waiter1+"',[waiter24]='"+waiter2+"',[curno]='"+sbeginno+ "', [time2]=case when isnull([time2],'')='' then '" +g_date+"' else [time2] end" + " where [id]='"+id+"'";
  1189. else
  1190. sql+="***update dindan set [status]='"+status2+"',[curno]='"+sbeginno+ "', [time2]=case when isnull([time2],'')='' then '" +g_date+"' else [time2] end" + " where [id]='"+id+"'";*/
  1191. // 当数据库原本status为OK时,不可修改时间;否则可以修改时间;
  1192. if(jdpos==0)
  1193. sql+="***update dindan set [status]='"+status2+"',[waiter1]='"+waiter1+"',[waiter2]='"+waiter2+"',[curno]='"+sbeginno+ "', [time2]=case when [status]<>'OK' then '" +g_date+"' else [time2] end" + " where [id]='"+id+"'";
  1194. else if(jdpos==1)
  1195. sql+="***update dindan set [status]='"+status2+"',[waiter12]='"+waiter1+"',[waiter22]='"+waiter2+"',[curno]='"+sbeginno+ "', [time2]=case when [status]<>'OK' then '" +g_date+"' else [time2] end" +" where [id]='"+id+"'";
  1196. else if(jdpos==2)
  1197. sql+="***update dindan set [status]='"+status2+"',[waiter13]='"+waiter1+"',[waiter23]='"+waiter2+"',[curno]='"+sbeginno+ "', [time2]=case when [status]<>'OK' then '" +g_date+"' else [time2] end" + " where [id]='"+id+"'";
  1198. else if(jdpos==3)
  1199. sql+="***update dindan set [status]='"+status2+"',[waiter14]='"+waiter1+"',[waiter24]='"+waiter2+"',[curno]='"+sbeginno+ "', [time2]=case when [status]<>'OK' then '" +g_date+"' else [time2] end" + " where [id]='"+id+"'";
  1200. else
  1201. sql+="***update dindan set [status]='"+status2+"',[curno]='"+sbeginno+ "', [time2]=case when isnull([time2],'')='' then '" +g_date+"' else [time2] end" + " where [id]='"+id+"'";
  1202. // printf("Jeff:拍照OK,SQL=%s\n\n",sql);
  1203. }
  1204. #endif
  1205. #endif
  1206. /////////////////////////
  1207. CString m_name1=m_List1.GetItemText (iItem, 1+m_nAdd);
  1208. CString m_name2=m_List1.GetItemText (iItem, 2+m_nAdd);
  1209. CString m_phone1=m_List1.GetItemText (iItem, 14+m_nAdd);
  1210. CString m_phone2=m_List1.GetItemText (iItem, 15+m_nAdd);
  1211. if(g_bAllBranch)
  1212. {
  1213. for(int i=0; i<m_List1arrayBak.GetSize (); i++)
  1214. {
  1215. if(id==m_List1arrayBak.ElementAt(i).ElementAt(1) && branch==m_List1arrayBak.ElementAt(i).ElementAt(0))
  1216. {
  1217. m_phone1=m_List1arrayBak.ElementAt (i).ElementAt(14+m_nAdd);
  1218. m_phone2=m_List1arrayBak.ElementAt (i).ElementAt(15+m_nAdd);
  1219. }
  1220. }
  1221. }
  1222. else
  1223. {
  1224. for(int i=0; i<m_List1arrayBak.GetSize (); i++)
  1225. {
  1226. if(id==m_List1arrayBak.ElementAt (i).ElementAt (0) )
  1227. {
  1228. m_phone1=m_List1arrayBak.ElementAt (i).ElementAt(14+m_nAdd);
  1229. m_phone2=m_List1arrayBak.ElementAt (i).ElementAt(15+m_nAdd);
  1230. }
  1231. }
  1232. }
  1233. CString sql2;
  1234. BOOL msgcheck = atoi(g_cominfoarray.ElementAt(0).ElementAt(101));
  1235. CString msgcontent = g_cominfoarray.ElementAt(0).ElementAt(105);
  1236. if(status!="OK")msgcheck=0;
  1237. #ifdef CHILD_VERSION
  1238. if(msgcheck )
  1239. {
  1240. CString m_content3 = msgcontent;
  1241. CString str,timestamp;
  1242. timestamp="msgtimestamp";
  1243. {
  1244. CString name;
  1245. if(!m_name1.IsEmpty ())
  1246. name=m_name1+",";
  1247. name+=m_name2;
  1248. name.TrimRight (",");
  1249. if(name.IsEmpty ()==0 && CheckPhoneType(m_phone1)!=-1 && CheckBadWords(name,0) && CheckBadWords2(name,0) )
  1250. {
  1251. str=name+m_content3;
  1252. str.Replace ("xxx小朋友", "");
  1253. int count=GetLengthEx(str)/MSG_LENGTH;
  1254. if(GetLengthEx(str)%MSG_LENGTH)
  1255. count++;
  1256. CString scount;
  1257. scount.Format ("%d", count);
  1258. sql2="***insert into sendreg([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('"+m_phone1+"','"+str+"','"+timestamp+"','"+scount+"','0','0','0','系统自动发送')";
  1259. sql+=sql2;
  1260. }
  1261. }
  1262. }
  1263. #else
  1264. if(msgcheck)
  1265. {
  1266. CString m_content3 = msgcontent;
  1267. CString str,timestamp;
  1268. timestamp="msgtimestamp";
  1269. int pos=m_content3.Find("xxx先生/女士");
  1270. if(pos!=-1)
  1271. {
  1272. if(m_name1.IsEmpty ()==0 && CheckPhoneType(m_phone1)!=-1 && CheckBadWords(m_name1,0)&& CheckBadWords2(m_name1,0) )
  1273. {
  1274. str=m_content3;
  1275. str.Replace ("xxx先生/女士", m_name1+"先生");
  1276. int count=GetLengthEx(str)/MSG_LENGTH;
  1277. if(GetLengthEx(str)%MSG_LENGTH)
  1278. count++;
  1279. CString scount;
  1280. scount.Format ("%d", count);
  1281. sql2="***insert into sendreg([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('"+m_phone1+"','"+str+"','"+timestamp+"','"+scount+"','0','0','0','系统自动发送')";
  1282. sql+=sql2;
  1283. }
  1284. if(m_name2.IsEmpty ()==0 && CheckPhoneType(m_phone2)!=-1 && CheckBadWords(m_name2,0) && CheckBadWords2(m_name2,0) )
  1285. {
  1286. str=m_content3;
  1287. str.Replace ("xxx先生/女士", m_name2+"女士");
  1288. int count=GetLengthEx(str)/MSG_LENGTH;
  1289. if(GetLengthEx(str)%MSG_LENGTH)
  1290. count++;
  1291. CString scount;
  1292. scount.Format ("%d", count);
  1293. CTime tm=CTime::GetCurrentTime ();
  1294. tm+=CTimeSpan(0,0,0,3);
  1295. timestamp=tm.Format ("%Y%m%d%H%M%S");
  1296. timestamp="msgtimexxstamp";
  1297. sql2="***insert into sendreg([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('"+m_phone2+"','"+str+"','"+timestamp+"','"+scount+"','0','0','0','系统自动发送')";
  1298. sql+=sql2;
  1299. }
  1300. }
  1301. }
  1302. #endif
  1303. /////////////////////////
  1304. if(1)//拍照OK时记录客人预定内容
  1305. {
  1306. sql2="***gentakecontent:"+id;
  1307. sql+=sql2;
  1308. }
  1309. g_sendhead.bsql=1;
  1310. if(g_bAllBranch)
  1311. {
  1312. g_branchip=GetIP(branch);
  1313. g_pMainWnd->OnDisconnect();
  1314. g_branchname=branch;
  1315. g_bBranchModify=1;
  1316. g_pMainWnd->ProcessChatMessageRequest2(sql);
  1317. g_pMainWnd->OnDisconnect();
  1318. g_bBranchModify=0;
  1319. g_branchip=g_branchname="";
  1320. }
  1321. else
  1322. g_pMainWnd->ProcessChatMessageRequest2(sql);
  1323. if(g_bSendOK==0)return;
  1324. AfxMessageBox("导入客照成功!", MB_ICONINFORMATION);
  1325. if(g_bAllBranch==0)
  1326. {
  1327. GetData();
  1328. }
  1329. else
  1330. {
  1331. BOOL bFind=0;
  1332. for(int i=0; i<m_List1array.GetSize (); i++)
  1333. {
  1334. if(bFind && m_List1array.ElementAt (i).ElementAt (1)!="")break;
  1335. if(id==m_List1array.ElementAt (i).ElementAt (1) && branch==m_List1array.ElementAt (i).ElementAt (0))
  1336. {
  1337. bFind=1;
  1338. }
  1339. if(bFind && dindanjd==m_List1array.ElementAt (i).ElementAt (4) )
  1340. {
  1341. m_List1array.ElementAt (i).SetAt (7+m_nAdd, waiter1);
  1342. m_List1array.ElementAt (i).SetAt (8+m_nAdd, waiter12);
  1343. m_List1array.ElementAt (i).SetAt (9+m_nAdd, waiter2);
  1344. m_List1array.ElementAt (i).SetAt (10+m_nAdd, waiter22);
  1345. m_List1array.ElementAt (i).SetAt (5+m_nAdd, status);
  1346. m_List1array.ElementAt (i).SetAt (6+m_nAdd, g_date);
  1347. m_List1array.ElementAt (i).SetAt (3+m_nAdd, sbeginno);
  1348. FillGrid();
  1349. break;
  1350. }
  1351. }
  1352. }
  1353. }
  1354. void TakeFrom::OnBUTshowphoto() // 查看原片
  1355. {
  1356. // TODO: Add your control notification handler code here yesno
  1357. POSITION pos;
  1358. pos=m_List1.GetFirstSelectedItemPosition();
  1359. if(pos==NULL)
  1360. {
  1361. AfxMessageBox("请先选中您要查看的定单!", MB_ICONINFORMATION);
  1362. return;
  1363. }
  1364. int iItem=m_List1.GetNextSelectedItem(pos);
  1365. CString dindanjd=m_List1.GetItemText (iItem, 3+m_nAdd);
  1366. CString branch;
  1367. CString id=m_List1.GetItemText (iItem, 0+m_nAdd);
  1368. if(g_bAllBranch)
  1369. branch=m_List1.GetItemText (iItem, 0);
  1370. while(id=="")
  1371. {
  1372. iItem--;
  1373. id=m_List1.GetItemText (iItem, 0+m_nAdd);
  1374. }
  1375. CString name=m_List1.GetItemText (iItem, 1+m_nAdd)+","+m_List1.GetItemText (iItem, 2+m_nAdd);
  1376. name.TrimLeft (",");
  1377. name.TrimRight (",");
  1378. name="客人:"+name;
  1379. ShowPic dlg;
  1380. dlg.m_id=id;
  1381. dlg.m_name=name;
  1382. dlg.m_mode=1;
  1383. if(g_bAllBranch)
  1384. {
  1385. dlg.m_branch=branch;
  1386. CString branchpath=GetBranchPhotoPath(branch);
  1387. dlg.m_path=g_path1+branchpath+"\\";
  1388. }
  1389. else
  1390. dlg.m_path=g_path1+"\\";
  1391. dlg.m_path+=id;
  1392. dlg.m_path +="\\";
  1393. if(g_pMainWnd->IsCtrlDown ()==0 && g_pMainWnd->IsShiftDown ()==0 && dindanjd!="")
  1394. {
  1395. if(AfxMessageBox("是否查看全部景点?", MB_YESNO|MB_ICONINFORMATION)!=IDYES)
  1396. {
  1397. if(dindanjd=="系统默认景点")
  1398. {
  1399. if(::PathFileExists (dlg.m_path+dindanjd))
  1400. {
  1401. dlg.m_path+=dindanjd;
  1402. dlg.m_path +="\\";
  1403. }
  1404. }
  1405. else
  1406. {
  1407. dlg.m_path+=dindanjd;
  1408. dlg.m_path +="\\";
  1409. }
  1410. }
  1411. }
  1412. else if(g_pMainWnd->IsCtrlDown ())
  1413. {
  1414. if(dindanjd=="系统默认景点")
  1415. {
  1416. if(::PathFileExists (dlg.m_path+dindanjd))
  1417. {
  1418. dlg.m_path+=dindanjd;
  1419. dlg.m_path +="\\";
  1420. }
  1421. }
  1422. else
  1423. {
  1424. dlg.m_path+=dindanjd;
  1425. dlg.m_path +="\\";
  1426. }
  1427. }
  1428. dlg.DoModal ();
  1429. if(dlg.m_bdelall)
  1430. {
  1431. for(int i=0; i<m_List1array.GetSize (); i++)
  1432. {
  1433. if(g_bAllBranch)
  1434. {
  1435. if(id==m_List1array.ElementAt (i).ElementAt (1) && branch==m_List1array.ElementAt (i).ElementAt (0))
  1436. {
  1437. m_List1array.ElementAt (i).SetAt (3+m_nAdd, "1");
  1438. FillGrid();
  1439. break;
  1440. }
  1441. }
  1442. else
  1443. {
  1444. if(id==m_List1array.ElementAt (i).ElementAt (0))
  1445. {
  1446. m_List1array.ElementAt (i).SetAt (3+m_nAdd, "1");
  1447. FillGrid();
  1448. break;
  1449. }
  1450. }
  1451. }
  1452. }
  1453. }
  1454. void TakeFrom::OnBUTmoney()
  1455. {
  1456. // TODO: Add your control notification handler code here
  1457. UpdateData();
  1458. m_filter.TrimLeft ();
  1459. m_filter.TrimRight ();
  1460. FillGrid(2);
  1461. }
  1462. void TakeFrom::OnBTNaddsp()
  1463. {
  1464. }
  1465. void TakeFrom::OnItemchangedList2(NMHDR* pNMHDR, LRESULT* pResult)
  1466. {
  1467. NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
  1468. // TODO: Add your control notification handler code here
  1469. POSITION pos;
  1470. pos=m_List1.GetFirstSelectedItemPosition();
  1471. if(pos==NULL)
  1472. {
  1473. return;
  1474. }
  1475. int iItem=m_List1.GetNextSelectedItem(pos);
  1476. if(IsHasRights2new(4) || IsHasRights2new(49))
  1477. {
  1478. GetDlgItem(IDC_BUTimportphoto)->EnableWindow(1);
  1479. }
  1480. else
  1481. GetDlgItem(IDC_BUTimportphoto)->EnableWindow(0);
  1482. *pResult = 0;
  1483. }
  1484. void TakeFrom::OnButton1()
  1485. {
  1486. // TODO: Add your control notification handler code here
  1487. UpdateData();
  1488. m_filter.TrimLeft ();
  1489. m_filter.TrimRight ();
  1490. FillGrid();
  1491. }
  1492. void TakeFrom::OnClickList2(NMHDR* pNMHDR, LRESULT* pResult)
  1493. {
  1494. // TODO: Add your control notification handler code here
  1495. POSITION pos;
  1496. pos=m_List1.GetFirstSelectedItemPosition();
  1497. if(pos==NULL)return;
  1498. int iItem=m_List1.GetNextSelectedItem(pos);
  1499. g_id = m_List1.GetItemText (iItem, 0+m_nAdd);
  1500. while(g_id=="")
  1501. {
  1502. iItem--;
  1503. g_id=m_List1.GetItemText (iItem, 0+m_nAdd);
  1504. }
  1505. *pResult = 0;
  1506. }
  1507. void TakeFrom::OnDblclkList2(NMHDR* pNMHDR, LRESULT* pResult)
  1508. {
  1509. // TODO: Add your control notification handler code here
  1510. OnBUTshowphoto();
  1511. *pResult = 0;
  1512. }
  1513. void TakeFrom::HidePrice()
  1514. {
  1515. int i = 0;
  1516. m_List1arrayBak.RemoveAll ();
  1517. m_List1arrayBak.SetSize(m_List1array.GetSize ());
  1518. for(/*int*/ i=0; i< m_List1array.GetSize (); i++)
  1519. {
  1520. m_List1arrayBak.ElementAt (i).Copy (m_List1array.ElementAt (i));
  1521. }
  1522. #ifdef LKAY_VERSION
  1523. if(IsHasRights2new(31))return;
  1524. for( i=0; i<m_List1array.GetSize (); i++)
  1525. {
  1526. m_List1array.ElementAt (i).SetAt (11+m_nAdd, "***");
  1527. m_List1array.ElementAt (i).SetAt (12+m_nAdd, "***");
  1528. m_List1array.ElementAt (i).SetAt (13+m_nAdd, "***");
  1529. m_List1array.ElementAt (i).SetAt (14+m_nAdd, "***");
  1530. }
  1531. #else
  1532. if(IsHasRights2new(31))return;
  1533. for( i=0; i<m_List1array.GetSize (); i++)
  1534. {
  1535. m_List1array.ElementAt (i).SetAt (13+m_nAdd, "***");
  1536. m_List1array.ElementAt (i).SetAt (14+m_nAdd, "***");
  1537. }
  1538. #endif
  1539. }
  1540. void TakeFrom::OnBtnsearchfilter()
  1541. {
  1542. // TODO: Add your control notification handler code here
  1543. SearchFilter dlg;
  1544. dlg.m_mode =0;
  1545. if(dlg.DoModal ()==IDOK)FillGrid();
  1546. g_bSearchFilter=0;
  1547. }
  1548. void TakeFrom::OnBUTprint3()
  1549. {
  1550. // TODO: Add your control notification handler code here
  1551. GetData();
  1552. }
  1553. void TakeFrom::OnButton2() // 客人头像按钮;
  1554. {
  1555. // TODO: Add your control notification handler code here
  1556. POSITION pos;
  1557. pos=m_List1.GetFirstSelectedItemPosition();
  1558. if(pos==NULL)
  1559. {
  1560. AfxMessageBox("请先选中您要拍头像的客人!", MB_ICONINFORMATION);
  1561. return;
  1562. }
  1563. int iItem=m_List1.GetNextSelectedItem(pos);
  1564. CString branch;
  1565. CString id=m_List1.GetItemText (iItem, 0+m_nAdd);
  1566. if(g_bAllBranch)
  1567. branch=m_List1.GetItemText (iItem, 0);
  1568. while(id=="")
  1569. {
  1570. iItem--;
  1571. id=m_List1.GetItemText (iItem, 0+m_nAdd);
  1572. }
  1573. UploadPhoto dlg;
  1574. if(g_bAllBranch)
  1575. {
  1576. CString branchpath=GetBranchPhotoPath(branch);
  1577. dlg.m_path=g_path1+branchpath+"\\";
  1578. if(::CheckFolderFileExist (dlg.m_path)==0)
  1579. ::CreateDirectory (dlg.m_path, NULL);
  1580. }
  1581. else
  1582. dlg.m_path=g_path1+"\\";
  1583. dlg.m_path +="客人头像\\";
  1584. if(::CheckFolderFileExist (dlg.m_path)==0)
  1585. ::CreateDirectory (dlg.m_path, NULL);
  1586. dlg.m_path+=id+"\\";
  1587. if(::CheckFolderFileExist (dlg.m_path)==0)
  1588. ::CreateDirectory (dlg.m_path, NULL);
  1589. dlg.DoModal();
  1590. }
  1591. void TakeFrom::GetData()
  1592. {
  1593. if(g_bAllBranch==0)
  1594. {
  1595. if(g_bShowOK==0)
  1596. {
  1597. #ifdef LKAY_VERSION
  1598. CString filter="status3='未取' and (dindantype<>'意向客户' or dindantype is null)";
  1599. #else
  1600. CString filter="status3='未取'";
  1601. #endif
  1602. g_sendhead.bsql=0;
  1603. g_sendhead.code[0]=25; // Jeff.case 25对应的表为takeview视图:订单景点表;
  1604. g_sendhead.tabcount=1;
  1605. g_pMainWnd->ProcessChatMessageRequest2(filter);
  1606. if(g_bSendOK==0)return;
  1607. }
  1608. else
  1609. {
  1610. g_sendhead.bsql=0;
  1611. g_sendhead.code[0]=25; // Jeff.case 25对应的表为takeview视图:订单景点表;
  1612. g_sendhead.tabcount=1;
  1613. #ifdef LKAY_VERSION
  1614. CString filter="dindantype<>'意向客户' or dindantype is null";
  1615. g_pMainWnd->ProcessChatMessageRequest2(filter);
  1616. #else
  1617. g_pMainWnd->ProcessChatMessageRequest2(1);
  1618. #endif
  1619. if(g_bSendOK==0)return;
  1620. }
  1621. DataToArray(&m_List1array);
  1622. }
  1623. else
  1624. {
  1625. //////////////数据汇总
  1626. m_List1array.RemoveAll();
  1627. CString branch;
  1628. for(int i=-1; i<g_brancharray.GetSize()-1; i++)
  1629. {
  1630. if(i!=-1)
  1631. {
  1632. branch=g_brancharray.ElementAt(i).ElementAt(0);
  1633. g_branchip=g_brancharray.ElementAt(i).ElementAt(1);
  1634. g_pMainWnd->OnDisconnect();
  1635. g_branchname=branch;
  1636. g_bBranchModify=1;
  1637. }
  1638. else
  1639. branch=g_brancharray.ElementAt(g_brancharray.GetSize()-1).ElementAt(0);
  1640. if(g_bShowOK==0)
  1641. {
  1642. CString filter="status3='未取'";
  1643. g_sendhead.bsql=0;
  1644. g_sendhead.code[0]=25; // Jeff.case 25对应的表为takeview视图:订单景点表;
  1645. g_sendhead.tabcount=1;
  1646. g_pMainWnd->ProcessChatMessageRequest2(filter);
  1647. if(g_bSendOK==0) continue;
  1648. }
  1649. else
  1650. {
  1651. g_sendhead.bsql=0;
  1652. g_sendhead.code[0]=25; // Jeff.case 25对应的表为takeview视图:订单景点表;
  1653. g_sendhead.tabcount=1;
  1654. g_pMainWnd->ProcessChatMessageRequest2(1);
  1655. if(g_bSendOK==0) continue;
  1656. }
  1657. CArray<CStringArray, CStringArray>List1array;
  1658. DataToArray(&List1array);
  1659. int size=m_List1array.GetSize ();
  1660. for(int j=0; j<List1array.GetSize (); j++)
  1661. {
  1662. size++;
  1663. m_List1array.SetSize(size , 1 );
  1664. size--;
  1665. m_List1array.ElementAt (size).Copy(List1array.ElementAt (j));
  1666. m_List1array.ElementAt (size).InsertAt(0, branch);
  1667. size++;
  1668. }
  1669. }
  1670. g_pMainWnd->OnDisconnect();
  1671. g_bBranchModify=0;
  1672. g_branchip=g_branchname="";
  1673. }
  1674. HidePrice();
  1675. FillGrid();
  1676. }