TakeFrom.cpp 54 KB

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