TakeFrom.cpp 52 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787
  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. AfxMessageBox(g_path1);
  765. if(g_path1.IsEmpty ())
  766. {
  767. AfxMessageBox("未设置原片保存机器, 请通知系统管理员!", MB_ICONINFORMATION);
  768. return;
  769. }
  770. #ifdef ENTERPRISE_VERSION
  771. if(::CheckFolderFileExist (g_path1)==0)
  772. ::CreateDirectory (g_path1, NULL);
  773. #endif
  774. if(!::CheckFolderFileExist(g_path1))
  775. {
  776. //AfxMessageBox(g_path1);
  777. AfxMessageBox("原片保存机器目录未设置, 请通知系统管理员!", MB_ICONINFORMATION);
  778. return;
  779. }
  780. CString savepath;
  781. if(g_bAllBranch)
  782. {
  783. CString branchpath=GetBranchPhotoPath(branch);
  784. savepath=g_path1+branchpath+"\\";
  785. if(::CheckFolderFileExist (savepath)==0)
  786. ::CreateDirectory (savepath, NULL);
  787. }
  788. else
  789. savepath=g_path1+"\\";
  790. #if 1
  791. AfxMessageBox(branch);
  792. TCHAR szSharePath[MAX_PATH];
  793. GetEnableShareDirectory(1,id,branch,szSharePath);
  794. savepath.Format("%s\\",szSharePath);
  795. AfxMessageBox(savepath);
  796. #endif
  797. savepath+=id+"\\";
  798. if(::CheckFolderFileExist (savepath)==0)
  799. ::CreateDirectory (savepath, NULL);
  800. CString calnopath=savepath;
  801. savepath+=dindanjd+"\\";
  802. if(::CheckFolderFileExist (savepath)==0)
  803. ::CreateDirectory (savepath, NULL);
  804. CString Filter="图片文件 (*.jpg)|*.jpg|\
  805. 原始格式RAW (*.raw)|*.raw|\
  806. 原始格式NEF (*.nef)|*.nef|\
  807. 原始格式CR2 (*.cr2)|*.cr2||";
  808. // .选择要导入的相片,可多选;
  809. CFileDialog fdlg(true, NULL,"openfile", OFN_ALLOWMULTISELECT, Filter );
  810. TCHAR szBuffer[60000]={0};
  811. fdlg.m_ofn.lpstrFile = szBuffer;
  812. fdlg.m_ofn.nMaxFile = 60000;
  813. if(fdlg.DoModal()!=IDOK)
  814. {
  815. // .拍摄人员确认 SelWaiter2;
  816. SelWaiter2 waiterdlg;
  817. waiterdlg.waiter1=waiter1;
  818. waiterdlg.waiter12=waiter12;
  819. waiterdlg.waiter2=waiter2;
  820. waiterdlg.waiter22=waiter22;
  821. waiterdlg.beginno=beginno;
  822. if(waiterdlg.DoModal()!=IDOK)return;
  823. waiter1=waiterdlg.waiter1;
  824. waiter12=waiterdlg.waiter12;
  825. waiter2=waiterdlg.waiter2;
  826. waiter22=waiterdlg.waiter22;
  827. beginno=waiterdlg.beginno;
  828. CString status;
  829. // .拍照状态确认.对话框.
  830. TakeStautsSel dlg2;
  831. if(status2=="OK") // .拍照状态为ok时;
  832. {
  833. dlg2.m_check1=1;
  834. // Jeff.add:已经是ok的拍照状态,禁用用户修改该状态;IDC_CHECK1
  835. //dlg2.DisEnableCheck();
  836. dlg2.m_bCheckEnalbe = FALSE;
  837. }
  838. dlg2.DoModal();
  839. if(dlg2.m_radio1==0)
  840. {
  841. status="OK";
  842. }
  843. else if(dlg2.m_radio1==1)
  844. {
  845. status="拍摄中";
  846. //dlg2.CheckChange();
  847. }
  848. else
  849. {
  850. status="未拍";
  851. //dlg2.CheckChange();
  852. }
  853. #if 1
  854. //本次选择ok时,需要再检查一下,看是否全部都已经ok;
  855. // 此时iItem为有订单号的头景点;
  856. // printf("Jeff:景点拍照完成,nTopItem=%d\n\n",nTopItem);
  857. bOK = TRUE;
  858. status2 = "OK";
  859. int nItem = nTopItem;
  860. if ( m_List1.GetItemText(nItem,5+m_nAdd) != "OK" )
  861. {
  862. if( nItem != iItemBak )
  863. {
  864. status2 = "拍摄中";
  865. // printf("Jeff:景点%d拍照完成\n\n",nItem);
  866. bOK = FALSE;
  867. }
  868. else if ( status != "OK" )
  869. {
  870. status2 = "拍摄中";
  871. // printf("Jeff:景点%d拍照完成\n\n",nItem);
  872. bOK = FALSE;
  873. }
  874. }
  875. // .子景点(如果有的话);
  876. ++nItem;
  877. while( nItem<itemcount && m_List1.GetItemText(nItem, 0 + m_nAdd) == "" && status2 != "拍摄中")
  878. {
  879. if( m_List1.GetItemText(nItem, 5+m_nAdd) != "OK" && iItemBak != nItem ) // Jeff.如果只有两个景点这里出错:第一个ok,第二个未拍;这里会跳出;
  880. {
  881. status2="拍摄中";
  882. bOK = FALSE;
  883. // printf("Jeff:景点%d拍照完成\n\n",nItem);
  884. break;
  885. }
  886. else
  887. {
  888. if ( status != "OK")
  889. {
  890. status2="拍摄中";
  891. bOK = FALSE;
  892. }
  893. }
  894. ++nItem;
  895. }
  896. if ( bOK ) status2 = "OK";
  897. #endif
  898. #if 0
  899. if(dlg2.m_check1) // .拍照景点全部ok状态;
  900. status2="OK";
  901. else
  902. status2="拍摄中";
  903. #else
  904. //if ( !bOK )
  905. // status2 = "拍摄中";
  906. //else if(dlg2.m_check1) // .拍照景点全部ok状态;
  907. // status2 = "OK";
  908. CString sql;
  909. if ( dlg2.m_check1)
  910. {
  911. status2 = "OK";
  912. // Jeff:如果有多个景点,全部设置为拍照ok;
  913. // 需要遍历处理;
  914. sql.Format("update dindanjd set [status]='OK' where id='%s'",id);
  915. // printf("Jeff:全部景点选择拍照OK,SQL=%s\n\n",sql);
  916. }
  917. #endif
  918. //CString sql;
  919. //sql="update dindanjd set [status]='"+status+"',[waiter1]='"+waiter1+"',[waiter12]='"+waiter12+"',[waiter2]='"+waiter2+"',[waiter22]='"+waiter22+"' where [id]='"+id+"' and [name]='"+dindanjd+"'";
  920. sql+="***update dindanjd set [status]='"+status+"',[waiter1]='"+waiter1+"',[waiter12]='"+waiter12+"',[waiter2]='"+waiter2+"',[waiter22]='"+waiter22+"' where [id]='"+id+"' and [name]='"+dindanjd+"'";
  921. #ifndef LYFZ_VERSION
  922. if(jdpos==0)
  923. sql+="***update dindan set [status]=case when [status]<>'OK' then '"+status2+"' else [status] end,[waiter1]='"+waiter1+"',[waiter2]='"+waiter2+"' where [id]='"+id+"'";
  924. else if(jdpos==1)
  925. sql+="***update dindan set [status]=case when [status]<>'OK' then '"+status2+"' else [status] end,[waiter12]='"+waiter1+"',[waiter22]='"+waiter2+"' where [id]='"+id+"'";
  926. else if(jdpos==2)
  927. sql+="***update dindan set [status]=case when [status]<>'OK' then '"+status2+"' else [status] end,[waiter13]='"+waiter1+"',[waiter23]='"+waiter2+"' where [id]='"+id+"'";
  928. else if(jdpos==3)
  929. sql+="***update dindan set [status]=case when [status]<>'OK' then '"+status2+"' else [status] end,[waiter14]='"+waiter1+"',[waiter24]='"+waiter2+"' where [id]='"+id+"'";
  930. else
  931. sql+="***update dindan set [status]=case when [status]<>'OK' then '"+status2+"' else [status] end where [id]='"+id+"'";
  932. #else
  933. sql+="***update dindan set [status]=case when [status]<>'OK' then '"+status2+"' else [status] end where [id]='"+id+"'";
  934. #endif
  935. CString sql2;
  936. if(1)
  937. {
  938. sql2="***gentakecontent:"+id;
  939. sql+=sql2;
  940. }
  941. g_sendhead.bsql=1;
  942. if(g_bAllBranch)
  943. {
  944. g_branchip=GetIP(branch);
  945. g_pMainWnd->OnDisconnect();
  946. g_branchname=branch;
  947. g_bBranchModify=1;
  948. g_pMainWnd->ProcessChatMessageRequest2(sql);
  949. g_pMainWnd->OnDisconnect();
  950. g_bBranchModify=0;
  951. g_branchip=g_branchname="";
  952. }
  953. else
  954. g_pMainWnd->ProcessChatMessageRequest2(sql);
  955. if(g_bSendOK==0)return;
  956. if(g_bAllBranch==0)
  957. {
  958. GetData();
  959. }
  960. else
  961. {
  962. BOOL bFind=0;
  963. for(int i=0; i<m_List1array.GetSize (); i++)
  964. {
  965. if(bFind && m_List1array.ElementAt (i).ElementAt (1)!="")break;
  966. if(id==m_List1array.ElementAt (i).ElementAt (1) && branch==m_List1array.ElementAt (i).ElementAt (0))
  967. {
  968. bFind=1;
  969. }
  970. if(bFind && dindanjd==m_List1array.ElementAt (i).ElementAt (4) )
  971. {
  972. m_List1array.ElementAt (i).SetAt (7+m_nAdd, waiter1);
  973. m_List1array.ElementAt (i).SetAt (8+m_nAdd, waiter12);
  974. m_List1array.ElementAt (i).SetAt (9+m_nAdd, waiter2);
  975. m_List1array.ElementAt (i).SetAt (10+m_nAdd, waiter22);
  976. m_List1array.ElementAt (i).SetAt (5+m_nAdd, status);
  977. FillGrid();
  978. break;
  979. }
  980. }
  981. }
  982. return;
  983. }
  984. pos=fdlg.GetStartPosition ();
  985. CStringArray array;
  986. while(pos!=NULL)
  987. {
  988. array.Add(fdlg.GetNextPathName(pos));
  989. }
  990. if(array.GetSize()==0)return;
  991. if(1)
  992. {
  993. CString str;
  994. str.Format ("%s\r\n%s\r\n景点:%s\r\n确认您选中的照片与客户资料相符吗? 是否继续?", name, phone, dindanjd );
  995. if(AfxMessageBox(str, MB_YESNO|MB_ICONINFORMATION)!=IDYES)
  996. return;
  997. }
  998. SelWaiter2 waiterdlg;
  999. waiterdlg.waiter1=waiter1;
  1000. waiterdlg.waiter12=waiter12;
  1001. waiterdlg.waiter2=waiter2;
  1002. waiterdlg.waiter22=waiter22;
  1003. waiterdlg.beginno=beginno;
  1004. if(waiterdlg.DoModal ()!=IDOK)return;
  1005. waiter1=waiterdlg.waiter1;
  1006. waiter12=waiterdlg.waiter12;
  1007. waiter2=waiterdlg.waiter2;
  1008. waiter22=waiterdlg.waiter22;
  1009. beginno=waiterdlg.beginno;
  1010. ImportPhoto dlg;
  1011. dlg.beginno=beginno;
  1012. dlg.m_bOfmat=1;
  1013. dlg.m_branch=branch;
  1014. dlg.m_nphototype=0;
  1015. dlg.m_calnopath=calnopath;
  1016. dlg.m_mode=2;
  1017. dlg.m_bOrigin=1;
  1018. dlg.m_pArray=&array;
  1019. dlg.m_savepath =savepath;
  1020. #ifdef ENTERPRISE_VERSION
  1021. // if(!g_branchname.IsEmpty())
  1022. {
  1023. dlg.m_id=id;
  1024. dlg.m_bSaveUploadTask=g_bSaveUploadTask1;
  1025. dlg.m_sel=g_cominfoarraylocal.ElementAt(0).ElementAt(78);
  1026. dlg.m_uploadtaskarray .Add (id+";"+name);
  1027. dlg.m_uploadtaskarray .Add ("");
  1028. dlg.m_uploadtaskarray .Add ("");
  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. }
  1037. #endif
  1038. dlg.DoModal ();
  1039. beginno=dlg.beginno;
  1040. savepath+="ok";
  1041. ::DeleteFile(savepath);
  1042. CString status;
  1043. TakeStautsSel dlg2;
  1044. if(status2=="OK")
  1045. {
  1046. dlg2.m_check1=1;
  1047. dlg2.m_bCheckEnalbe = FALSE;
  1048. }
  1049. dlg2.DoModal();
  1050. if(dlg2.m_radio1==0)
  1051. {
  1052. status="OK";
  1053. }
  1054. else if(dlg2.m_radio1==1)
  1055. {
  1056. status="拍摄中";
  1057. //dlg2.CheckChange();
  1058. }
  1059. else
  1060. {
  1061. status="未拍";
  1062. //dlg2.CheckChange();
  1063. }
  1064. #if 1
  1065. //本次选择ok时,需要再检查一下,看是否全部都已经ok;
  1066. // 此时iItem为有订单号的头景点;
  1067. // printf("Jeff:景点拍照完成,nTopItem=%d\n\n",nTopItem);
  1068. bOK = TRUE;
  1069. status2 = "OK";
  1070. int nItem = nTopItem;
  1071. if ( m_List1.GetItemText(nItem,5+m_nAdd) != "OK" )
  1072. {
  1073. if( nItem != iItemBak )
  1074. {
  1075. status2 = "拍摄中";
  1076. // printf("Jeff:景点%d拍照完成\n\n",nItem);
  1077. bOK = FALSE;
  1078. }
  1079. else if ( status != "OK" )
  1080. {
  1081. status2 = "拍摄中";
  1082. // printf("Jeff:景点%d拍照完成\n\n",nItem);
  1083. bOK = FALSE;
  1084. }
  1085. }
  1086. // .子景点(如果有的话);
  1087. ++nItem;
  1088. while( nItem<itemcount && m_List1.GetItemText(nItem, 0 + m_nAdd) == "" && status2 != "拍摄中")
  1089. {
  1090. if( m_List1.GetItemText(nItem, 5+m_nAdd) != "OK" && iItemBak != nItem ) // Jeff.如果只有两个景点这里出错:第一个ok,第二个未拍;这里会跳出;
  1091. {
  1092. status2="拍摄中";
  1093. bOK = FALSE;
  1094. // printf("Jeff:景点%d拍照完成\n\n",nItem);
  1095. break;
  1096. }
  1097. else
  1098. {
  1099. if ( status != "OK")
  1100. {
  1101. status2="拍摄中";
  1102. bOK = FALSE;
  1103. }
  1104. }
  1105. ++nItem;
  1106. }
  1107. if ( bOK ) status2 = "OK";
  1108. #endif
  1109. #if 0
  1110. if(dlg2.m_check1)
  1111. status2="OK";
  1112. else
  1113. status2="拍摄中";
  1114. #else
  1115. //if ( !bOK )
  1116. // status2 = "拍摄中";
  1117. //else if(dlg2.m_check1) // .拍照景点全部ok状态;
  1118. // status2 = "OK";
  1119. CString sql;
  1120. if ( dlg2.m_check1 )
  1121. {
  1122. status2 = "OK";
  1123. // Jeff:如果有多个景点,全部设置为拍照ok;
  1124. // 需要遍历处理?;
  1125. // 批量处理某个订单的就可以了;
  1126. // SQL:update dindanjd set [status]='OK' where id='';
  1127. // CString SQL;
  1128. sql.Format("update dindanjd set [status]='OK' where id='%s'",id);
  1129. // printf("Jeff:全部景点选择拍照OK,SQL=%s\n\n",sql);
  1130. }
  1131. #endif
  1132. //CString sql;
  1133. //sql="update dindanjd set [status]='"+status+"',[date]='"+g_date+"',[waiter1]='"+waiter1+"',[waiter12]='"+waiter12+"',[waiter2]='"+waiter2+"',[waiter22]='"+waiter22+"' where [id]='"+id+"' and [name]='"+dindanjd+"'";
  1134. sql+="***update dindanjd set [status]='"+status+"',[date]='"+g_date+"',[waiter1]='"+waiter1+"',[waiter12]='"+waiter12+"',[waiter2]='"+waiter2+"',[waiter22]='"+waiter22+"' where [id]='"+id+"' and [name]='"+dindanjd+"'";
  1135. CString sbeginno;
  1136. sbeginno.Format("%d", beginno);
  1137. #ifdef LYFZ_VERSION
  1138. //sql+="***update dindan set [status]='"+status2+"' where [id]='"+id+"'";//旧文;
  1139. sql+="***update dindan set [status]=case when [status]<>'OK' then '"+status2+"' else [status] end"+" where [id]='"+id+"'";
  1140. #else
  1141. // dindan time2为拍照时间,在第一次ok时,这个时间不能再修改;
  1142. // Jeff.SQL参考例子:
  1143. // update dindan set time2='2014-06-28' where id='20140628-007' and isnull(time2,'')=''
  1144. #if 0 // 原.
  1145. if(jdpos==0)
  1146. sql+="***update dindan set [status]='"+status2+"',[waiter1]='"+waiter1+"',[waiter2]='"+waiter2+"',[time2]='"+g_date+"',[curno]='"+sbeginno+"' where [id]='"+id+"'";
  1147. else if(jdpos==1)
  1148. sql+="***update dindan set [status]='"+status2+"',[waiter12]='"+waiter1+"',[waiter22]='"+waiter2+"',[time2]='"+g_date+"',[curno]='"+sbeginno+"' where [id]='"+id+"'";
  1149. else if(jdpos==2)
  1150. sql+="***update dindan set [status]='"+status2+"',[waiter13]='"+waiter1+"',[waiter23]='"+waiter2+"',[time2]='"+g_date+"',[curno]='"+sbeginno+"' where [id]='"+id+"'";
  1151. else if(jdpos==3)
  1152. sql+="***update dindan set [status]='"+status2+"',[waiter14]='"+waiter1+"',[waiter24]='"+waiter2+"',[time2]='"+g_date+"',[curno]='"+sbeginno+"' where [id]='"+id+"'";
  1153. else
  1154. sql+="***update dindan set [status]='"+status2+"',[time2]='"+g_date+"',[curno]='"+sbeginno+"' where [id]='"+id+"'";
  1155. #else
  1156. //--------------------------------------------------------------------------
  1157. // Jeff.SQL参考语句示例:
  1158. // 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'
  1159. //
  1160. //---------------------------------------------------------------------
  1161. // printf("Jeff:拍照状态=%s\n\n",status2);
  1162. if( status2 != "OK" ) // !=ok,不记录拍照时间;--这样是否合理?
  1163. {
  1164. // 当数据库原本status不为OK时,可以修改时间和状态;否则状态和时间都不能修改,保持原样;
  1165. if(jdpos==0)
  1166. 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+"'";
  1167. else if(jdpos==1)
  1168. 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+"'";
  1169. else if(jdpos==2)
  1170. 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+"'";
  1171. else if(jdpos==3)
  1172. 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+"'";
  1173. else
  1174. sql+="***update dindan set [status]=case when [status]<>'OK' then '"+status2+"' else [status] end,[curno]='"+sbeginno+"' where [id]='"+id+"'";
  1175. // printf("Jeff:拍照中,SQL=%s\n\n",sql);
  1176. }
  1177. else // ==ok时,才记录拍照时间;
  1178. {
  1179. /*if(jdpos==0)
  1180. 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+"'";
  1181. else if(jdpos==1)
  1182. 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+"'";
  1183. else if(jdpos==2)
  1184. 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+"'";
  1185. else if(jdpos==3)
  1186. 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+"'";
  1187. else
  1188. sql+="***update dindan set [status]='"+status2+"',[curno]='"+sbeginno+ "', [time2]=case when isnull([time2],'')='' then '" +g_date+"' else [time2] end" + " where [id]='"+id+"'";*/
  1189. // 当数据库原本status为OK时,不可修改时间;否则可以修改时间;
  1190. if(jdpos==0)
  1191. 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+"'";
  1192. else if(jdpos==1)
  1193. 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+"'";
  1194. else if(jdpos==2)
  1195. 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+"'";
  1196. else if(jdpos==3)
  1197. 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+"'";
  1198. else
  1199. sql+="***update dindan set [status]='"+status2+"',[curno]='"+sbeginno+ "', [time2]=case when isnull([time2],'')='' then '" +g_date+"' else [time2] end" + " where [id]='"+id+"'";
  1200. // printf("Jeff:拍照OK,SQL=%s\n\n",sql);
  1201. }
  1202. #endif
  1203. #endif
  1204. /////////////////////////
  1205. CString m_name1=m_List1.GetItemText (iItem, 1+m_nAdd);
  1206. CString m_name2=m_List1.GetItemText (iItem, 2+m_nAdd);
  1207. CString m_phone1=m_List1.GetItemText (iItem, 14+m_nAdd);
  1208. CString m_phone2=m_List1.GetItemText (iItem, 15+m_nAdd);
  1209. if(g_bAllBranch)
  1210. {
  1211. for(int i=0; i<m_List1arrayBak.GetSize (); i++)
  1212. {
  1213. if(id==m_List1arrayBak.ElementAt(i).ElementAt(1) && branch==m_List1arrayBak.ElementAt(i).ElementAt(0))
  1214. {
  1215. m_phone1=m_List1arrayBak.ElementAt (i).ElementAt(14+m_nAdd);
  1216. m_phone2=m_List1arrayBak.ElementAt (i).ElementAt(15+m_nAdd);
  1217. }
  1218. }
  1219. }
  1220. else
  1221. {
  1222. for(int i=0; i<m_List1arrayBak.GetSize (); i++)
  1223. {
  1224. if(id==m_List1arrayBak.ElementAt (i).ElementAt (0) )
  1225. {
  1226. m_phone1=m_List1arrayBak.ElementAt (i).ElementAt(14+m_nAdd);
  1227. m_phone2=m_List1arrayBak.ElementAt (i).ElementAt(15+m_nAdd);
  1228. }
  1229. }
  1230. }
  1231. CString sql2;
  1232. BOOL msgcheck = atoi(g_cominfoarray.ElementAt(0).ElementAt(101));
  1233. CString msgcontent = g_cominfoarray.ElementAt(0).ElementAt(105);
  1234. if(status!="OK")msgcheck=0;
  1235. #ifdef CHILD_VERSION
  1236. if(msgcheck )
  1237. {
  1238. CString m_content3 = msgcontent;
  1239. CString str,timestamp;
  1240. timestamp="msgtimestamp";
  1241. {
  1242. CString name;
  1243. if(!m_name1.IsEmpty ())
  1244. name=m_name1+",";
  1245. name+=m_name2;
  1246. name.TrimRight (",");
  1247. if(name.IsEmpty ()==0 && CheckPhoneType(m_phone1)!=-1 && CheckBadWords(name,0) && CheckBadWords2(name,0) )
  1248. {
  1249. str=name+m_content3;
  1250. str.Replace ("xxx小朋友", "");
  1251. int count=GetLengthEx(str)/MSG_LENGTH;
  1252. if(GetLengthEx(str)%MSG_LENGTH)
  1253. count++;
  1254. CString scount;
  1255. scount.Format ("%d", count);
  1256. sql2="***insert into sendreg([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('"+m_phone1+"','"+str+"','"+timestamp+"','"+scount+"','0','0','0','系统自动发送')";
  1257. sql+=sql2;
  1258. }
  1259. }
  1260. }
  1261. #else
  1262. if(msgcheck)
  1263. {
  1264. CString m_content3 = msgcontent;
  1265. CString str,timestamp;
  1266. timestamp="msgtimestamp";
  1267. int pos=m_content3.Find("xxx先生/女士");
  1268. if(pos!=-1)
  1269. {
  1270. if(m_name1.IsEmpty ()==0 && CheckPhoneType(m_phone1)!=-1 && CheckBadWords(m_name1,0)&& CheckBadWords2(m_name1,0) )
  1271. {
  1272. str=m_content3;
  1273. str.Replace ("xxx先生/女士", m_name1+"先生");
  1274. int count=GetLengthEx(str)/MSG_LENGTH;
  1275. if(GetLengthEx(str)%MSG_LENGTH)
  1276. count++;
  1277. CString scount;
  1278. scount.Format ("%d", count);
  1279. sql2="***insert into sendreg([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('"+m_phone1+"','"+str+"','"+timestamp+"','"+scount+"','0','0','0','系统自动发送')";
  1280. sql+=sql2;
  1281. }
  1282. if(m_name2.IsEmpty ()==0 && CheckPhoneType(m_phone2)!=-1 && CheckBadWords(m_name2,0) && CheckBadWords2(m_name2,0) )
  1283. {
  1284. str=m_content3;
  1285. str.Replace ("xxx先生/女士", m_name2+"女士");
  1286. int count=GetLengthEx(str)/MSG_LENGTH;
  1287. if(GetLengthEx(str)%MSG_LENGTH)
  1288. count++;
  1289. CString scount;
  1290. scount.Format ("%d", count);
  1291. CTime tm=CTime::GetCurrentTime ();
  1292. tm+=CTimeSpan(0,0,0,3);
  1293. timestamp=tm.Format ("%Y%m%d%H%M%S");
  1294. timestamp="msgtimexxstamp";
  1295. sql2="***insert into sendreg([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values('"+m_phone2+"','"+str+"','"+timestamp+"','"+scount+"','0','0','0','系统自动发送')";
  1296. sql+=sql2;
  1297. }
  1298. }
  1299. }
  1300. #endif
  1301. /////////////////////////
  1302. if(1)//拍照OK时记录客人预定内容
  1303. {
  1304. sql2="***gentakecontent:"+id;
  1305. sql+=sql2;
  1306. }
  1307. g_sendhead.bsql=1;
  1308. if(g_bAllBranch)
  1309. {
  1310. g_branchip=GetIP(branch);
  1311. g_pMainWnd->OnDisconnect();
  1312. g_branchname=branch;
  1313. g_bBranchModify=1;
  1314. g_pMainWnd->ProcessChatMessageRequest2(sql);
  1315. g_pMainWnd->OnDisconnect();
  1316. g_bBranchModify=0;
  1317. g_branchip=g_branchname="";
  1318. }
  1319. else
  1320. g_pMainWnd->ProcessChatMessageRequest2(sql);
  1321. if(g_bSendOK==0)return;
  1322. AfxMessageBox("导入客照成功!", MB_ICONINFORMATION);
  1323. if(g_bAllBranch==0)
  1324. {
  1325. GetData();
  1326. }
  1327. else
  1328. {
  1329. BOOL bFind=0;
  1330. for(int i=0; i<m_List1array.GetSize (); i++)
  1331. {
  1332. if(bFind && m_List1array.ElementAt (i).ElementAt (1)!="")break;
  1333. if(id==m_List1array.ElementAt (i).ElementAt (1) && branch==m_List1array.ElementAt (i).ElementAt (0))
  1334. {
  1335. bFind=1;
  1336. }
  1337. if(bFind && dindanjd==m_List1array.ElementAt (i).ElementAt (4) )
  1338. {
  1339. m_List1array.ElementAt (i).SetAt (7+m_nAdd, waiter1);
  1340. m_List1array.ElementAt (i).SetAt (8+m_nAdd, waiter12);
  1341. m_List1array.ElementAt (i).SetAt (9+m_nAdd, waiter2);
  1342. m_List1array.ElementAt (i).SetAt (10+m_nAdd, waiter22);
  1343. m_List1array.ElementAt (i).SetAt (5+m_nAdd, status);
  1344. m_List1array.ElementAt (i).SetAt (6+m_nAdd, g_date);
  1345. m_List1array.ElementAt (i).SetAt (3+m_nAdd, sbeginno);
  1346. FillGrid();
  1347. break;
  1348. }
  1349. }
  1350. }
  1351. }
  1352. void TakeFrom::OnBUTshowphoto() // 查看原片
  1353. {
  1354. // TODO: Add your control notification handler code here yesno
  1355. POSITION pos;
  1356. pos=m_List1.GetFirstSelectedItemPosition();
  1357. if(pos==NULL)
  1358. {
  1359. AfxMessageBox("请先选中您要查看的定单!", MB_ICONINFORMATION);
  1360. return;
  1361. }
  1362. int iItem=m_List1.GetNextSelectedItem(pos);
  1363. CString dindanjd=m_List1.GetItemText (iItem, 3+m_nAdd);
  1364. CString branch;
  1365. CString id=m_List1.GetItemText (iItem, 0+m_nAdd);
  1366. if(g_bAllBranch)
  1367. branch=m_List1.GetItemText (iItem, 0);
  1368. while(id=="")
  1369. {
  1370. iItem--;
  1371. id=m_List1.GetItemText (iItem, 0+m_nAdd);
  1372. }
  1373. CString name=m_List1.GetItemText (iItem, 1+m_nAdd)+","+m_List1.GetItemText (iItem, 2+m_nAdd);
  1374. name.TrimLeft (",");
  1375. name.TrimRight (",");
  1376. name="客人:"+name;
  1377. ShowPic dlg;
  1378. dlg.m_id=id;
  1379. dlg.m_name=name;
  1380. dlg.m_mode=1;
  1381. if(g_bAllBranch)
  1382. {
  1383. dlg.m_branch=branch;
  1384. CString branchpath=GetBranchPhotoPath(branch);
  1385. dlg.m_path=g_path1+branchpath+"\\";
  1386. }
  1387. else
  1388. dlg.m_path=g_path1+"\\";
  1389. dlg.m_path+=id;
  1390. dlg.m_path +="\\";
  1391. if(g_pMainWnd->IsCtrlDown ()==0 && g_pMainWnd->IsShiftDown ()==0 && dindanjd!="")
  1392. {
  1393. if(AfxMessageBox("是否查看全部景点?", MB_YESNO|MB_ICONINFORMATION)!=IDYES)
  1394. {
  1395. if(dindanjd=="系统默认景点")
  1396. {
  1397. if(::PathFileExists (dlg.m_path+dindanjd))
  1398. {
  1399. dlg.m_path+=dindanjd;
  1400. dlg.m_path +="\\";
  1401. }
  1402. }
  1403. else
  1404. {
  1405. dlg.m_path+=dindanjd;
  1406. dlg.m_path +="\\";
  1407. }
  1408. }
  1409. }
  1410. else if(g_pMainWnd->IsCtrlDown ())
  1411. {
  1412. if(dindanjd=="系统默认景点")
  1413. {
  1414. if(::PathFileExists (dlg.m_path+dindanjd))
  1415. {
  1416. dlg.m_path+=dindanjd;
  1417. dlg.m_path +="\\";
  1418. }
  1419. }
  1420. else
  1421. {
  1422. dlg.m_path+=dindanjd;
  1423. dlg.m_path +="\\";
  1424. }
  1425. }
  1426. dlg.DoModal ();
  1427. if(dlg.m_bdelall)
  1428. {
  1429. for(int i=0; i<m_List1array.GetSize (); i++)
  1430. {
  1431. if(g_bAllBranch)
  1432. {
  1433. if(id==m_List1array.ElementAt (i).ElementAt (1) && branch==m_List1array.ElementAt (i).ElementAt (0))
  1434. {
  1435. m_List1array.ElementAt (i).SetAt (3+m_nAdd, "1");
  1436. FillGrid();
  1437. break;
  1438. }
  1439. }
  1440. else
  1441. {
  1442. if(id==m_List1array.ElementAt (i).ElementAt (0))
  1443. {
  1444. m_List1array.ElementAt (i).SetAt (3+m_nAdd, "1");
  1445. FillGrid();
  1446. break;
  1447. }
  1448. }
  1449. }
  1450. }
  1451. }
  1452. void TakeFrom::OnBUTmoney()
  1453. {
  1454. // TODO: Add your control notification handler code here
  1455. UpdateData();
  1456. m_filter.TrimLeft ();
  1457. m_filter.TrimRight ();
  1458. FillGrid(2);
  1459. }
  1460. void TakeFrom::OnBTNaddsp()
  1461. {
  1462. }
  1463. void TakeFrom::OnItemchangedList2(NMHDR* pNMHDR, LRESULT* pResult)
  1464. {
  1465. NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
  1466. // TODO: Add your control notification handler code here
  1467. POSITION pos;
  1468. pos=m_List1.GetFirstSelectedItemPosition();
  1469. if(pos==NULL)
  1470. {
  1471. return;
  1472. }
  1473. int iItem=m_List1.GetNextSelectedItem(pos);
  1474. if(IsHasRights2new(4) || IsHasRights2new(49))
  1475. {
  1476. GetDlgItem(IDC_BUTimportphoto)->EnableWindow(1);
  1477. }
  1478. else
  1479. GetDlgItem(IDC_BUTimportphoto)->EnableWindow(0);
  1480. *pResult = 0;
  1481. }
  1482. void TakeFrom::OnButton1()
  1483. {
  1484. // TODO: Add your control notification handler code here
  1485. UpdateData();
  1486. m_filter.TrimLeft ();
  1487. m_filter.TrimRight ();
  1488. FillGrid();
  1489. }
  1490. void TakeFrom::OnClickList2(NMHDR* pNMHDR, LRESULT* pResult)
  1491. {
  1492. // TODO: Add your control notification handler code here
  1493. POSITION pos;
  1494. pos=m_List1.GetFirstSelectedItemPosition();
  1495. if(pos==NULL)return;
  1496. int iItem=m_List1.GetNextSelectedItem(pos);
  1497. g_id = m_List1.GetItemText (iItem, 0+m_nAdd);
  1498. while(g_id=="")
  1499. {
  1500. iItem--;
  1501. g_id=m_List1.GetItemText (iItem, 0+m_nAdd);
  1502. }
  1503. *pResult = 0;
  1504. }
  1505. void TakeFrom::OnDblclkList2(NMHDR* pNMHDR, LRESULT* pResult)
  1506. {
  1507. // TODO: Add your control notification handler code here
  1508. OnBUTshowphoto();
  1509. *pResult = 0;
  1510. }
  1511. void TakeFrom::HidePrice()
  1512. {
  1513. int i = 0;
  1514. m_List1arrayBak.RemoveAll ();
  1515. m_List1arrayBak.SetSize(m_List1array.GetSize ());
  1516. for(i=0; i< m_List1array.GetSize (); i++)
  1517. {
  1518. m_List1arrayBak.ElementAt (i).Copy (m_List1array.ElementAt (i));
  1519. }
  1520. #ifdef LKAY_VERSION
  1521. if(IsHasRights2new(31))return;
  1522. for( i=0; i<m_List1array.GetSize (); i++)
  1523. {
  1524. m_List1array.ElementAt (i).SetAt (11+m_nAdd, "***");
  1525. m_List1array.ElementAt (i).SetAt (12+m_nAdd, "***");
  1526. m_List1array.ElementAt (i).SetAt (13+m_nAdd, "***");
  1527. m_List1array.ElementAt (i).SetAt (14+m_nAdd, "***");
  1528. }
  1529. #else
  1530. if(IsHasRights2new(31))return;
  1531. for( i=0; i<m_List1array.GetSize (); i++)
  1532. {
  1533. m_List1array.ElementAt (i).SetAt (13+m_nAdd, "***");
  1534. m_List1array.ElementAt (i).SetAt (14+m_nAdd, "***");
  1535. }
  1536. #endif
  1537. }
  1538. void TakeFrom::OnBtnsearchfilter()
  1539. {
  1540. // TODO: Add your control notification handler code here
  1541. SearchFilter dlg;
  1542. dlg.m_mode =0;
  1543. if(dlg.DoModal ()==IDOK)FillGrid();
  1544. g_bSearchFilter=0;
  1545. }
  1546. void TakeFrom::OnBUTprint3()
  1547. {
  1548. // TODO: Add your control notification handler code here
  1549. GetData();
  1550. }
  1551. void TakeFrom::OnButton2() // 客人头像按钮;
  1552. {
  1553. // TODO: Add your control notification handler code here
  1554. POSITION pos;
  1555. pos=m_List1.GetFirstSelectedItemPosition();
  1556. if(pos==NULL)
  1557. {
  1558. AfxMessageBox("请先选中您要拍头像的客人!", MB_ICONINFORMATION);
  1559. return;
  1560. }
  1561. int iItem=m_List1.GetNextSelectedItem(pos);
  1562. CString branch;
  1563. CString id=m_List1.GetItemText (iItem, 0+m_nAdd);
  1564. if(g_bAllBranch)
  1565. branch=m_List1.GetItemText (iItem, 0);
  1566. while(id=="")
  1567. {
  1568. iItem--;
  1569. id=m_List1.GetItemText (iItem, 0+m_nAdd);
  1570. }
  1571. UploadPhoto dlg;
  1572. if(g_bAllBranch)
  1573. {
  1574. CString branchpath=GetBranchPhotoPath(branch);
  1575. dlg.m_path=g_path1+branchpath+"\\";
  1576. if(::CheckFolderFileExist (dlg.m_path)==0)
  1577. ::CreateDirectory (dlg.m_path, NULL);
  1578. }
  1579. else
  1580. dlg.m_path=g_path1+"\\";
  1581. dlg.m_path +="客人头像\\";
  1582. if(::CheckFolderFileExist (dlg.m_path)==0)
  1583. ::CreateDirectory (dlg.m_path, NULL);
  1584. dlg.m_path+=id+"\\";
  1585. if(::CheckFolderFileExist (dlg.m_path)==0)
  1586. ::CreateDirectory (dlg.m_path, NULL);
  1587. dlg.DoModal();
  1588. }
  1589. void TakeFrom::GetData()
  1590. {
  1591. if(g_bAllBranch==0)
  1592. {
  1593. if(g_bShowOK==0)
  1594. {
  1595. #ifdef LKAY_VERSION
  1596. CString filter="status3='未取' and (dindantype<>'意向客户' or dindantype is null)";
  1597. #else
  1598. CString filter="status3='未取'";
  1599. #endif
  1600. g_sendhead.bsql=0;
  1601. g_sendhead.code[0]=25; // Jeff.case 25对应的表为takeview视图:订单景点表;
  1602. g_sendhead.tabcount=1;
  1603. g_pMainWnd->ProcessChatMessageRequest2(filter);
  1604. if(g_bSendOK==0)return;
  1605. }
  1606. else
  1607. {
  1608. g_sendhead.bsql=0;
  1609. g_sendhead.code[0]=25; // Jeff.case 25对应的表为takeview视图:订单景点表;
  1610. g_sendhead.tabcount=1;
  1611. #ifdef LKAY_VERSION
  1612. CString filter="dindantype<>'意向客户' or dindantype is null";
  1613. g_pMainWnd->ProcessChatMessageRequest2(filter);
  1614. #else
  1615. g_pMainWnd->ProcessChatMessageRequest2(1);
  1616. #endif
  1617. if(g_bSendOK==0)return;
  1618. }
  1619. DataToArray(&m_List1array);
  1620. }
  1621. else
  1622. {
  1623. //////////////数据汇总
  1624. m_List1array.RemoveAll();
  1625. CString branch;
  1626. for(int i=-1; i<g_brancharray.GetSize()-1; i++)
  1627. {
  1628. if(i!=-1)
  1629. {
  1630. branch=g_brancharray.ElementAt(i).ElementAt(0);
  1631. g_branchip=g_brancharray.ElementAt(i).ElementAt(1);
  1632. g_pMainWnd->OnDisconnect();
  1633. g_branchname=branch;
  1634. g_bBranchModify=1;
  1635. }
  1636. else
  1637. branch=g_brancharray.ElementAt(g_brancharray.GetSize()-1).ElementAt(0);
  1638. if(g_bShowOK==0)
  1639. {
  1640. CString filter="status3='未取'";
  1641. g_sendhead.bsql=0;
  1642. g_sendhead.code[0]=25; // Jeff.case 25对应的表为takeview视图:订单景点表;
  1643. g_sendhead.tabcount=1;
  1644. g_pMainWnd->ProcessChatMessageRequest2(filter);
  1645. if(g_bSendOK==0) continue;
  1646. }
  1647. else
  1648. {
  1649. g_sendhead.bsql=0;
  1650. g_sendhead.code[0]=25; // Jeff.case 25对应的表为takeview视图:订单景点表;
  1651. g_sendhead.tabcount=1;
  1652. g_pMainWnd->ProcessChatMessageRequest2(1);
  1653. if(g_bSendOK==0) continue;
  1654. }
  1655. CArray<CStringArray, CStringArray>List1array;
  1656. DataToArray(&List1array);
  1657. int size=m_List1array.GetSize ();
  1658. for(int j=0; j<List1array.GetSize (); j++)
  1659. {
  1660. size++;
  1661. m_List1array.SetSize(size , 1 );
  1662. size--;
  1663. m_List1array.ElementAt (size).Copy(List1array.ElementAt (j));
  1664. m_List1array.ElementAt (size).InsertAt(0, branch);
  1665. size++;
  1666. }
  1667. }
  1668. g_pMainWnd->OnDisconnect();
  1669. g_bBranchModify=0;
  1670. g_branchip=g_branchname="";
  1671. }
  1672. HidePrice();
  1673. FillGrid();
  1674. }