BookingPage1.cpp 45 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682
  1. // BookingPage1.cpp : implementation file
  2. #include "stdafx.h"
  3. #include "ylgl.h"
  4. #include "BookingPage1.h"
  5. #include "SPLBDlg.h"
  6. #include "Booking2.h"
  7. #include "SelGrowthTXName.h"
  8. #include "ModifyReg.h"
  9. #include "Login2.h"
  10. #include "InputPrice.h"
  11. #ifdef _DEBUG
  12. #define new DEBUG_NEW
  13. #undef THIS_FILE
  14. static char THIS_FILE[] = __FILE__;
  15. #endif
  16. BookingPage1::BookingPage1(CWnd* pParent /*=NULL*/): CDialog(BookingPage1::IDD, pParent)
  17. {
  18. m_bz = _T("");
  19. m_taoxijiage = _T("");
  20. m_payed1 = _T("");
  21. m_zs = _T("");
  22. m_zs2 = _T("");
  23. m_id = _T("");
  24. m_taoxiname = _T("");
  25. m_cost1=0;
  26. m_cost2=0;
  27. m_saleprice1=0;
  28. m_saleprice2=0;
  29. m_bGrowthTX=0;
  30. m_ncurgrowth=-1;
  31. }
  32. void BookingPage1::DoDataExchange(CDataExchange* pDX)
  33. {
  34. CDialog::DoDataExchange(pDX);
  35. DDX_Control(pDX, IDC_LIST9, m_listbox1);
  36. DDX_Control(pDX, IDC_EDITtaoxijiage, m_editnum3);
  37. //DDX_Control(pDX, IDC_EDITzs, m_editnum2);// 入底;//Jeff delete
  38. DDX_Control(pDX, IDC_EDITzs6, m_editnum2);// 入册;//Jeff add
  39. DDX_Control(pDX, IDC_EDITpayed1, m_editnum1);
  40. DDX_Control(pDX, IDC_LIST3, m_List3);
  41. DDX_Control(pDX, IDC_LIST1, m_List1);
  42. DDX_Control(pDX, IDC_COMBOtaoxiname, m_combotaoxiname);
  43. DDX_Control(pDX, IDC_COMBOtype2, m_combotype);
  44. DDX_Control(pDX, IDC_COMBOtype3, m_combofrom);
  45. DDX_Text(pDX, IDC_EDITbz, m_bz);
  46. DDX_Text(pDX, IDC_EDITtaoxijiage, m_taoxijiage);
  47. DDX_Text(pDX, IDC_EDITpayed1, m_payed1);
  48. DDX_Text(pDX, IDC_EDITzs, m_zs);//入底;
  49. DDX_Text(pDX, IDC_EDITzs6, m_zs2);//入册;
  50. DDX_Text(pDX, IDC_EDITid, m_id);
  51. DDX_CBString(pDX, IDC_COMBOtaoxiname, m_taoxiname);
  52. #ifdef LKAY_VERSION
  53. DDX_Control(pDX, IDC_COMBOdindantype, m_combodindantype);
  54. DDX_Text(pDX, IDC_EDITcontractno, m_contractno);
  55. DDX_Text(pDX, IDC_EDITcontractno2, m_contractno2);
  56. #endif
  57. DDX_Control(pDX, IDC_EDITid, m_OrderNumberEdit);
  58. }
  59. BEGIN_MESSAGE_MAP(BookingPage1, CDialog)
  60. ON_CBN_SELCHANGE(IDC_COMBOtaoxiname, OnSelchangeCOMBOtaoxiname)
  61. ON_BN_CLICKED(IDC_BUTdelall2, OnBUTdelall2)
  62. ON_BN_CLICKED(IDC_BUTdel3, OnBUTdel3)
  63. ON_BN_CLICKED(IDC_BUTspbox2, OnBUTspbox2)
  64. ON_BN_CLICKED(IDC_BUTdelall, OnBUTdelall)
  65. ON_BN_CLICKED(IDC_BUTdel, OnBUTdel)
  66. ON_BN_CLICKED(IDC_BUTspbox, OnBUTspbox)
  67. ON_BN_CLICKED(IDC_BUTdeljd, OnBUTdeljd)
  68. ON_BN_CLICKED(IDC_BUTaddjd, OnBUTaddjd)
  69. ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
  70. ON_BN_CLICKED(IDC_BUTTON22, OnButton22)
  71. ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
  72. ON_BN_CLICKED(IDC_BUTTON9, OnButton9)
  73. ON_CBN_DROPDOWN(IDC_COMBOtype2, OnDropdownCOMBOtype2)
  74. ON_CBN_DROPDOWN(IDC_COMBOtype3, OnDropdownCOMBOtype3)
  75. ON_CBN_SELCHANGE(IDC_COMBOtype2, OnSelchangeCOMBOtype2)
  76. ON_BN_CLICKED(IDC_BUTTON14, OnButton14)
  77. ON_CBN_CLOSEUP(IDC_COMBOtaoxiname, OnCloseupCOMBOtaoxiname)
  78. ON_LBN_SELCHANGE(IDC_LIST9, OnSelchangeList9)
  79. ON_MESSAGE(WM_USER+100,OnListInputEnd)
  80. END_MESSAGE_MAP()
  81. void BookingPage1::OnCancel()
  82. {
  83. }
  84. void BookingPage1::OnOK()
  85. {
  86. }
  87. BOOL CALLBACK EnumChildProc3(HWND hwnd,LPARAM lParam)
  88. {
  89. CRect rtCtrl,rtWnd;
  90. if(hwnd)
  91. {
  92. ::GetWindowRect(hwnd,&rtCtrl);
  93. ::GetWindowRect(GetParent(hwnd),&rtWnd);
  94. rtCtrl.OffsetRect(-rtWnd.left,-rtWnd.top);
  95. float temp;
  96. temp= (float)rtCtrl.left*g_WidthScale2;
  97. rtCtrl.left = (int)temp;
  98. temp= (float)rtCtrl.top*g_HeightScale2;
  99. rtCtrl.top = (int)temp;
  100. temp = (float)rtCtrl.right*g_WidthScale2;
  101. rtCtrl.right = (int)temp;
  102. temp =(float)rtCtrl.bottom*g_HeightScale2;
  103. rtCtrl.bottom =(int)temp;
  104. ::MoveWindow(hwnd,rtCtrl.left,rtCtrl.top,rtCtrl.Width(),rtCtrl.Height(),TRUE);
  105. return TRUE;
  106. }
  107. else
  108. {
  109. return FALSE;
  110. }
  111. }
  112. BOOL BookingPage1::OnInitDialog()
  113. {
  114. CDialog::OnInitDialog();
  115. if(IsHasRights2new(49)==0)
  116. {
  117. GetDlgItem(IDC_BUTTON1)->EnableWindow(0);
  118. GetDlgItem(IDC_BUTTON2)->EnableWindow(0);
  119. }
  120. // Jeff: 121位置:使用自定义订单号.
  121. if(atoi(g_cominfoarray.ElementAt(0).ElementAt(121)) && ((Booking2*)GetParent())->m_bModify==0)
  122. {
  123. ((CEdit*)GetDlgItem(IDC_EDITid))->SetReadOnly (0);
  124. }
  125. #ifdef CHILD_VERSION
  126. #ifndef LKAY_VERSION
  127. GetDlgItem(IDC_COMBOdindantype)->ShowWindow (0);
  128. GetDlgItem(IDC_EDITcontractno)->ShowWindow (0);
  129. GetDlgItem(IDC_EDITcontractno2)->ShowWindow (0);
  130. GetDlgItem(IDC_STATIC1)->ShowWindow (0);
  131. GetDlgItem(IDC_STATIC5)->ShowWindow (0);
  132. GetDlgItem(IDC_STATIC6)->ShowWindow (0);
  133. #endif
  134. #endif
  135. CRect rc2;
  136. GetWindowRect(rc2);
  137. MoveWindow(m_rc);
  138. g_WidthScale2 = (float)m_rc.Width()/(float)rc2.Width(); // new/Old
  139. g_HeightScale2 = (float)m_rc.Height()/(float)rc2.Height();
  140. EnumChildWindows(m_hWnd,(WNDENUMPROC)EnumChildProc3,0);
  141. m_combotaoxiname.GetWindowRect (rc2);
  142. ScreenToClient(rc2);
  143. rc2.bottom +=200;
  144. m_combotaoxiname.MoveWindow (rc2);
  145. m_combotype.GetWindowRect (rc2);
  146. ScreenToClient(rc2);
  147. rc2.bottom +=200;
  148. m_combotype.MoveWindow (rc2);
  149. m_combofrom.GetWindowRect (rc2);
  150. ScreenToClient(rc2);
  151. rc2.bottom +=200;
  152. m_combofrom.MoveWindow (rc2);
  153. #ifdef LKAY_VERSION
  154. m_combodindantype.GetWindowRect (rc2);
  155. ScreenToClient(rc2);
  156. rc2.bottom +=200;
  157. m_combodindantype.MoveWindow (rc2);
  158. m_combodindantype.AddString ("意向客户");
  159. m_combodindantype.AddString ("预约客户");
  160. m_combodindantype.AddString ("定金客户");
  161. m_combodindantype.AddString ("拍摄客户");
  162. m_combodindantype.AddString ("重拍补拍");
  163. if(((Booking2*)GetParent())->m_bModify)
  164. m_combodindantype.SetCurSel (m_combodindantype.FindString (0, m_dindantype));
  165. else
  166. m_combodindantype.SetCurSel (0);
  167. #endif
  168. m_combotaoxiname.m_pList1array=&m_List1array;
  169. m_combotaoxiname.RefDroppedWidth();
  170. int i = 0;
  171. if(((Booking2*)GetParent())->m_bModify)
  172. {
  173. #ifdef CHILD_VERSION
  174. #ifdef DDF_VERSION
  175. if(0)
  176. #else
  177. if("成长套系"==m_txtype)
  178. #endif
  179. {
  180. m_bGrowthTX=1;
  181. GetDlgItem(IDC_STATIC7)->SetWindowText("*成长套系-拍摄次数");
  182. GetDlgItem(IDC_BUTTON2)->ShowWindow(SW_HIDE);
  183. }
  184. #endif
  185. m_oldtaoxijiage=m_taoxijiage;
  186. m_List1.InitStyle();
  187. m_List1.m_mode=1;
  188. m_List1.InsertColumn(0,_T("autuid"),LVCFMT_LEFT,0);
  189. m_List1.InsertColumn(1,_T("编号"),LVCFMT_LEFT,55);
  190. m_List1.InsertColumn(2,_T("商品名称"),LVCFMT_LEFT,190);
  191. m_List1.InsertColumn(3,_T("价格"),LVCFMT_LEFT,55);
  192. m_List1.InsertColumn(4,_T("数量"),LVCFMT_LEFT,55);
  193. m_List1.InsertColumn(5,_T("加急"),LVCFMT_LEFT,45);
  194. m_List1.InsertColumn(6,_T("取件日期"),LVCFMT_LEFT,90);
  195. m_List3.InitStyle();m_List3.m_mode=1;
  196. m_List3.InsertColumn(0,_T("autuid"),LVCFMT_LEFT,0);
  197. m_List3.InsertColumn(1,_T("编号"),LVCFMT_LEFT,45);
  198. m_List3.InsertColumn(2,_T("商品名称"),LVCFMT_LEFT,235);
  199. m_List3.InsertColumn(3,_T("价格"),LVCFMT_LEFT,60);
  200. m_List3.InsertColumn(4,_T("数量"),LVCFMT_LEFT,45);
  201. m_combotype.AddString (m_txtype);
  202. m_combotype.SetCurSel (m_combotype.FindString (0, m_txtype));
  203. m_combofrom.AddString (m_from);
  204. m_combofrom.SetCurSel (m_combofrom.FindString (0, m_from));
  205. GetDlgItem(IDC_BUTdelall)->ShowWindow (SW_HIDE);
  206. GetDlgItem(IDC_BUTdelall2)->ShowWindow (SW_HIDE);
  207. ((CEdit*)GetDlgItem(IDC_EDITpayed1))->SetReadOnly ();
  208. for( i=0; i<m_List1arrayM.GetSize (); i++)
  209. {
  210. m_listbox1.AddString (m_List1arrayM.ElementAt (i).ElementAt (1));
  211. }
  212. int pos=0;
  213. m_List1Bakarray.SetSize(m_Bakarray.GetSize (), 1);
  214. if(m_bGrowthTX)
  215. {
  216. m_List1arraygrowthbak.SetSize(m_Bakarray.GetSize (), 1);
  217. }
  218. for( i=0; i<m_Bakarray.GetSize (); i++)
  219. {
  220. if(m_Bakarray.ElementAt (i).ElementAt (20)!="1" && m_Bakarray.ElementAt (i).ElementAt (20)!="4")continue;
  221. m_List1.InsertItem(pos, m_Bakarray.ElementAt (i).ElementAt (6));
  222. m_List1.SetItemText(pos, 1, m_Bakarray.ElementAt (i).ElementAt (7));
  223. m_List1.SetItemText(pos, 2, m_Bakarray.ElementAt(i).ElementAt(0));
  224. m_List1.SetItemText(pos, 3, GetSPPriceFromId2(m_Bakarray.ElementAt(i).ElementAt(7)));
  225. m_List1.SetItemText(pos, 4, m_Bakarray.ElementAt(i).ElementAt(1));
  226. m_List1.SetItemText(pos, 5, m_Bakarray.ElementAt(i).ElementAt(18));
  227. m_List1.SetItemText(pos, 6, m_Bakarray.ElementAt(i).ElementAt(19));
  228. m_List1Bakarray.ElementAt (pos).Copy (m_Bakarray.ElementAt (i));
  229. if(m_bGrowthTX)
  230. {
  231. m_List1arraygrowthbak.ElementAt (pos).Add (m_Bakarray.ElementAt (i).ElementAt (6));
  232. m_List1arraygrowthbak.ElementAt (pos).Add (m_Bakarray.ElementAt (i).ElementAt (7));
  233. m_List1arraygrowthbak.ElementAt (pos).Add (m_Bakarray.ElementAt (i).ElementAt (0));
  234. m_List1arraygrowthbak.ElementAt (pos).Add (GetSPPriceFromId2( m_Bakarray.ElementAt (i).ElementAt (7) ));
  235. m_List1arraygrowthbak.ElementAt (pos).Add (m_Bakarray.ElementAt (i).ElementAt (1));
  236. m_List1arraygrowthbak.ElementAt (pos).Add (m_Bakarray.ElementAt (i).ElementAt (18));
  237. m_List1arraygrowthbak.ElementAt (pos).Add (m_Bakarray.ElementAt (i).ElementAt (19));
  238. m_List1arraygrowthbak.ElementAt (pos).Add (m_Bakarray.ElementAt (i).ElementAt (21));
  239. }
  240. pos++;
  241. }
  242. m_List1Bakarray.SetSize(pos, 1);
  243. pos=0;
  244. m_List3Bakarray.SetSize(m_Bakarray.GetSize (), 1);
  245. for( i=0; i<m_Bakarray.GetSize (); i++)
  246. {
  247. if(m_Bakarray.ElementAt (i).ElementAt (20)!="2")continue;
  248. m_List3.InsertItem(pos, m_Bakarray.ElementAt (i).ElementAt (6));
  249. m_List3.SetItemText(pos, 1, m_Bakarray.ElementAt (i).ElementAt (7));
  250. m_List3.SetItemText(pos, 2, m_Bakarray.ElementAt (i).ElementAt (0));
  251. // m_List3.SetItemText(pos, 3, m_Bakarray.ElementAt (i).ElementAt (17));
  252. m_List3.SetItemText(pos, 3, GetSPPriceFromId2( m_Bakarray.ElementAt (i).ElementAt (7) ));
  253. m_List3.SetItemText(pos, 4, m_Bakarray.ElementAt (i).ElementAt (1));
  254. m_List3Bakarray.ElementAt (pos).Copy (m_Bakarray.ElementAt (i));
  255. pos++;
  256. }
  257. m_List3Bakarray.SetSize(pos, 1);
  258. CalculateCost();
  259. CalculateCost2();
  260. if(m_bGrowthTX)
  261. {
  262. CalculateCostGrowthTX();
  263. SelFirst();
  264. }
  265. }
  266. else
  267. {
  268. GetDlgItem(IDC_BUTTON9)->ShowWindow (SW_HIDE);
  269. m_List1.InitStyle();
  270. #ifndef CHILD_VERSION
  271. m_List1.InsertColumn(0,_T("编号"),LVCFMT_LEFT,45);
  272. m_List1.InsertColumn(1,_T("商品名称"),LVCFMT_LEFT,200);
  273. m_List1.InsertColumn(2,_T("价格"),LVCFMT_LEFT,60);
  274. m_List1.InsertColumn(3,_T("数量"),LVCFMT_LEFT,45);
  275. m_List1.InsertColumn(4,_T("加急"),LVCFMT_LEFT,45);
  276. m_List1.InsertColumn(5,_T("取件日期"),LVCFMT_LEFT,90);
  277. #else
  278. m_List1.InsertColumn(0,_T("编号"),LVCFMT_LEFT,90);
  279. m_List1.InsertColumn(1,_T("商品名称"),LVCFMT_LEFT,400);
  280. m_List1.InsertColumn(2,_T("价格"),LVCFMT_LEFT,120);
  281. m_List1.InsertColumn(3,_T("数量"),LVCFMT_LEFT,90);
  282. m_List1.InsertColumn(4,_T("加急"),LVCFMT_LEFT,90);
  283. m_List1.InsertColumn(5,_T("取件日期"),LVCFMT_LEFT,180);
  284. #endif
  285. m_List3.InitStyle();
  286. m_List3.InsertColumn(0,_T("编号"),LVCFMT_LEFT,45);
  287. m_List3.InsertColumn(1,_T("商品名称"),LVCFMT_LEFT,235);
  288. m_List3.InsertColumn(2,_T("价格"),LVCFMT_LEFT,60);
  289. m_List3.InsertColumn(3,_T("数量"),LVCFMT_LEFT,45);
  290. NewID();
  291. }
  292. return TRUE;
  293. }
  294. void BookingPage1::OnSelchangeCOMBOtaoxiname()
  295. {
  296. UpdateData();
  297. int pos=m_combotaoxiname.GetCurSel ();
  298. if(pos==-1)return;
  299. m_combotaoxiname.GetLBText (pos, m_taoxiname);
  300. pos=-1;
  301. for(int i=0; i<m_List1array.GetSize (); i++)
  302. {
  303. if(m_taoxiname==m_List1array.ElementAt (i).ElementAt (1))
  304. {
  305. pos=i;
  306. break;
  307. }
  308. }
  309. if(pos==-1)
  310. {
  311. m_taoxiid = "";
  312. m_taoxijiage = "";
  313. m_zs = "";
  314. m_zs2 = "";
  315. UpdateData(false);
  316. m_List1.DeleteAllItems ();
  317. return;
  318. }
  319. m_taoxiid = m_List1array.ElementAt (pos).ElementAt (0);
  320. m_taoxijiage = m_List1array.ElementAt (pos).ElementAt (2);
  321. m_oldtaoxijiage=m_taoxijiage;
  322. // m_zs = m_List1array.ElementAt (pos).ElementAt (3);
  323. CString zs = m_List1array.ElementAt (pos).ElementAt (3);
  324. pos=zs.Find ("\\");
  325. if(pos!=-1)
  326. {
  327. m_zs=zs.Left (pos);
  328. m_zs2=zs.Right (zs.GetLength ()-pos-1);
  329. }
  330. else
  331. {
  332. m_zs=zs;
  333. m_zs2="";
  334. }
  335. UpdateData(false);
  336. FillGrid();
  337. }
  338. void BookingPage1::FillGrid()
  339. {
  340. int addpos=0;
  341. if(((Booking2*)GetParent())->m_bModify)addpos=1;
  342. m_List1Bakarray.RemoveAll ();
  343. m_List3Bakarray.RemoveAll ();
  344. m_List1.DeleteAllItems ();
  345. m_List3.DeleteAllItems ();
  346. int pos=0;
  347. int i = 0;
  348. for( i=0; i<m_List2array.GetSize (); i++)
  349. {
  350. if(m_List2array.ElementAt (i).ElementAt (0)!=m_taoxiid)continue;
  351. if(addpos)
  352. {
  353. m_List1.InsertItem(pos, "");
  354. m_List1.SetItemText(pos,1, m_List2array.ElementAt (i).ElementAt (1));
  355. }
  356. else
  357. m_List1.InsertItem(pos, m_List2array.ElementAt (i).ElementAt (1));
  358. m_List1.SetItemText(pos,1+addpos, GetSPNameFromId(m_List2array.ElementAt (i).ElementAt (1)));
  359. m_List1.SetItemText(pos,2+addpos, GetSPPriceFromId2(m_List2array.ElementAt (i).ElementAt (1)));
  360. m_List1.SetItemText(pos,3+addpos, m_List2array.ElementAt (i).ElementAt (2));
  361. m_List1Bakarray.SetSize(m_List1.GetItemCount (), 1);
  362. m_List1Bakarray.ElementAt (pos).Add ("");
  363. m_List1Bakarray.ElementAt (pos).Add ("");
  364. m_List1Bakarray.ElementAt (pos).Add ("");
  365. m_List1Bakarray.ElementAt (pos).Add ("");
  366. m_List1Bakarray.ElementAt (pos).Add ("");
  367. m_List1Bakarray.ElementAt (pos).Add ("");
  368. m_List1Bakarray.ElementAt (pos).Add ("");
  369. m_List1Bakarray.ElementAt (pos).Add ("");
  370. m_List1Bakarray.ElementAt (pos).Add ("");
  371. pos++;
  372. }
  373. pos=0;
  374. for( i=0; i<m_List3array.GetSize (); i++)
  375. {
  376. if(m_List3array.ElementAt (i).ElementAt (0)!=m_taoxiid)continue;
  377. if(addpos)
  378. {
  379. m_List3.InsertItem(pos, "");
  380. m_List3.SetItemText(pos,1, m_List3array.ElementAt (i).ElementAt (1));
  381. }
  382. else
  383. m_List3.InsertItem(pos, m_List3array.ElementAt (i).ElementAt (1));
  384. m_List3.SetItemText(pos,1+addpos, GetSPNameFromId(m_List3array.ElementAt (i).ElementAt (1)));
  385. m_List3.SetItemText(pos,2+addpos, GetSPPriceFromId2(m_List3array.ElementAt (i).ElementAt (1)));
  386. m_List3.SetItemText(pos,3+addpos, m_List3array.ElementAt (i).ElementAt (2));
  387. m_List3Bakarray.SetSize(m_List3.GetItemCount ());
  388. m_List3Bakarray.ElementAt (pos).Add ("");
  389. m_List3Bakarray.ElementAt (pos).Add ("");
  390. m_List3Bakarray.ElementAt (pos).Add ("");
  391. m_List3Bakarray.ElementAt (pos).Add ("");
  392. m_List3Bakarray.ElementAt (pos).Add ("");
  393. m_List3Bakarray.ElementAt (pos).Add ("");
  394. m_List3Bakarray.ElementAt (pos).Add ("");
  395. m_List3Bakarray.ElementAt (pos).Add ("");
  396. m_List3Bakarray.ElementAt (pos).Add ("");
  397. pos++;
  398. }
  399. CalculateCost();
  400. CalculateCost2();
  401. if(m_bGrowthTX)
  402. {
  403. CString takename;
  404. int pos=m_listbox1.GetCurSel ();
  405. if(pos!=-1)
  406. {
  407. m_listbox1.GetText (pos, takename);
  408. }
  409. if(takename!="" && m_List1arraygrowthbak.GetSize())
  410. {
  411. BOOL bFind=1;
  412. while(bFind)
  413. {
  414. int size=m_List1arraygrowthbak.GetSize();
  415. int size2=m_List1arraygrowthbak.ElementAt (0).GetSize ();
  416. bFind=0;
  417. for(i=0; i<size; i++)
  418. {
  419. if(m_List1arraygrowthbak.ElementAt (i).ElementAt (size2-1)==takename)
  420. {
  421. m_List1arraygrowthbak.RemoveAt(i);
  422. bFind=1;
  423. break;
  424. }
  425. }
  426. }
  427. }
  428. if(takename!="")
  429. {
  430. int size=m_List1arraygrowthbak.GetSize ();
  431. m_List1arraygrowthbak.SetSize(size+m_List1.GetItemCount (), 1);
  432. for( i=0; i<m_List1.GetItemCount (); i++)
  433. {
  434. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 0));
  435. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 1));
  436. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 2));
  437. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 3));
  438. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 4));
  439. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 5));
  440. if(addpos)
  441. {
  442. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 6));
  443. }
  444. m_List1arraygrowthbak.ElementAt (size+i).Add (takename);
  445. }
  446. }
  447. CalculateCostGrowthTX();
  448. }
  449. }
  450. float BookingPage1::GetSPPriceFromId(CString id)
  451. {
  452. for(int i=0; i<m_sparray.GetSize (); i++)
  453. {
  454. if(id==m_sparray.ElementAt (i).ElementAt (0))
  455. return atof(m_sparray.ElementAt (i).ElementAt (3));
  456. }
  457. return 0;
  458. }
  459. CString BookingPage1::GetSPPriceFromId2(CString id)
  460. {
  461. for(int i=0; i<m_sparray.GetSize (); i++)
  462. {
  463. if(id==m_sparray.ElementAt (i).ElementAt (0))
  464. return m_sparray.ElementAt (i).ElementAt (4);
  465. }
  466. return "";
  467. }
  468. CString BookingPage1::GetSPNameFromId(CString id)
  469. {
  470. int i = 0;
  471. for( i=0; i<m_sparray.GetSize (); i++)
  472. {
  473. if(id==m_sparray.ElementAt (i).ElementAt (0))
  474. return m_sparray.ElementAt (i).ElementAt (1);
  475. }
  476. id.TrimLeft ("0");
  477. for( i=0; i<m_sparray.GetSize (); i++)
  478. {
  479. if(id==m_sparray.ElementAt (i).ElementAt (0))
  480. return m_sparray.ElementAt (i).ElementAt (1);
  481. }
  482. return "";
  483. }
  484. float BookingPage1::GetSPPriceFromId3(CString id)
  485. {
  486. for(int i=0; i<m_sparray.GetSize (); i++)
  487. {
  488. if(id==m_sparray.ElementAt (i).ElementAt (0))
  489. return atof(m_sparray.ElementAt (i).ElementAt (4));
  490. }
  491. return 0;
  492. }
  493. void BookingPage1::CalculateCost()
  494. {
  495. int addpos=0;
  496. if(((Booking2*)GetParent())->m_bModify)addpos=1;
  497. m_cost1=0;
  498. m_saleprice1=0;
  499. CString str;
  500. int i = 0;
  501. for( i=0; i<m_List1.GetItemCount (); i++)
  502. {
  503. m_cost1+=GetSPPriceFromId(m_List1.GetItemText (i, 0+addpos))*atof(m_List1.GetItemText (i, 3+addpos));
  504. }
  505. for( i=0; i<m_List1.GetItemCount (); i++)
  506. {
  507. m_saleprice1+=GetSPPriceFromId3(m_List1.GetItemText (i, 0+addpos))*atof(m_List1.GetItemText (i, 3+addpos));
  508. }
  509. if(atoi(g_cominfoarray.ElementAt(0).ElementAt(76)))
  510. str.Format ("套系包含商品,成本:%0.1f,售价:%0.1f", m_cost1,m_saleprice1);
  511. else
  512. str.Format ("套系包含商品,总价:%0.1f",m_saleprice1);
  513. ::ConvertToPrice (str);
  514. SetDlgItemText(IDC_EDIT2, str);
  515. }
  516. void BookingPage1::CalculateCost2()
  517. {
  518. int addpos=0;
  519. if(((Booking2*)GetParent())->m_bModify)addpos=1;
  520. m_cost2=0;
  521. CString str;
  522. m_saleprice2=0;
  523. int i = 0;
  524. for( i=0; i<m_List3.GetItemCount (); i++)
  525. {
  526. m_cost2+=GetSPPriceFromId(m_List3.GetItemText (i, 0+addpos))*atof(m_List3.GetItemText (i, 3+addpos));
  527. }
  528. for( i=0; i<m_List3.GetItemCount (); i++)
  529. {
  530. m_saleprice2+=GetSPPriceFromId3(m_List3.GetItemText (i, 0+addpos))*atof(m_List3.GetItemText (i, 3+addpos));
  531. }
  532. if(atoi(g_cominfoarray.ElementAt(0).ElementAt(76)))
  533. {
  534. #ifndef CHILD_VERSION
  535. str.Format ("婚庆服务,成本:%0.1f,售价:%0.1f", m_cost2,m_saleprice2);
  536. #else
  537. str.Format ("增加产品,成本:%0.1f,售价:%0.1f", m_cost2,m_saleprice2);
  538. #endif
  539. }
  540. else
  541. {
  542. #ifndef CHILD_VERSION
  543. str.Format ("婚庆服务,总价:%0.1f",m_saleprice2);
  544. #else
  545. str.Format ("增加产品,总价:%0.1f",m_saleprice2);
  546. #endif
  547. }
  548. ::ConvertToPrice (str);
  549. SetDlgItemText(IDC_EDIT4, str);
  550. }
  551. void BookingPage1::CalculateCostGrowthTX()
  552. {
  553. if(m_bGrowthTX==0)return;
  554. int addpos=0;
  555. if(((Booking2*)GetParent())->m_bModify)addpos=1;
  556. m_cost1=0;
  557. m_saleprice1=0;
  558. CString str;
  559. int i = 0;
  560. for( i=0; i<m_List1arraygrowthbak.GetSize(); i++)
  561. {
  562. m_cost1+=GetSPPriceFromId(m_List1arraygrowthbak.ElementAt(i).ElementAt(0+addpos))*atof(m_List1arraygrowthbak.ElementAt(i).ElementAt(3+addpos));
  563. }
  564. for( i=0; i<m_List1arraygrowthbak.GetSize(); i++)
  565. {
  566. m_saleprice1+=GetSPPriceFromId3(m_List1arraygrowthbak.ElementAt(i).ElementAt(0+addpos))*atof(m_List1arraygrowthbak.ElementAt(i).ElementAt(3+addpos));
  567. }
  568. if(atoi(g_cominfoarray.ElementAt(0).ElementAt(76)))
  569. str.Format ("套系包含商品,成本:%0.1f,售价:%0.1f", m_cost1,m_saleprice1);
  570. else
  571. str.Format ("套系包含商品,总价:%0.1f",m_saleprice1);
  572. ::ConvertToPrice (str);
  573. SetDlgItemText(IDC_EDIT2, str);
  574. }
  575. void BookingPage1::OnBUTdelall2() // 全部删除;
  576. {
  577. // TODO: Add your control notification handler code here
  578. if(atoi(g_cominfoarray.ElementAt(0).ElementAt(114)))
  579. {
  580. Login2 dlg;
  581. dlg.m_mode=1;
  582. if(dlg.DoModal ()!=IDOK)return;
  583. if(IsHasRightsnew2(48, dlg.m_rights)==0)return;
  584. }
  585. if(AfxMessageBox("确定要删除套系中的商品吗?", MB_YESNO|MB_ICONINFORMATION)!=IDYES)return;
  586. m_List1.DeleteAllItems ();
  587. CalculateCost();
  588. if(m_bGrowthTX)
  589. {
  590. CString takename;
  591. int pos=m_listbox1.GetCurSel ();
  592. if(pos!=-1)
  593. {
  594. m_listbox1.GetText (pos, takename);
  595. }
  596. if(takename!="" && m_List1arraygrowthbak.GetSize())
  597. {
  598. BOOL bFind=1;
  599. while(bFind)
  600. {
  601. int size=m_List1arraygrowthbak.GetSize();
  602. int size2=m_List1arraygrowthbak.ElementAt (0).GetSize ();
  603. bFind=0;
  604. for(int i=0; i<size; i++)
  605. {
  606. if(m_List1arraygrowthbak.ElementAt (i).ElementAt (size2-1)==takename)
  607. {
  608. m_List1arraygrowthbak.RemoveAt(i);
  609. bFind=1;
  610. break;
  611. }
  612. }
  613. }
  614. CalculateCostGrowthTX();
  615. }
  616. }
  617. }
  618. void BookingPage1::OnBUTdel3()
  619. {
  620. // TODO: Add your control notification handler code here
  621. if(atoi(g_cominfoarray.ElementAt(0).ElementAt(114)))
  622. {
  623. Login2 dlg;
  624. dlg.m_mode=1;
  625. if(dlg.DoModal ()!=IDOK)return;
  626. if(IsHasRightsnew2(48, dlg.m_rights)==0)return;
  627. }
  628. POSITION pos;
  629. pos=m_List1.GetFirstSelectedItemPosition();
  630. if(pos==NULL)
  631. {
  632. AfxMessageBox("请先选中您要删除的项目!", MB_ICONINFORMATION);
  633. return;
  634. }
  635. if(AfxMessageBox("确定要删除套系中的商品吗?", MB_YESNO|MB_ICONINFORMATION)!=IDYES)return;
  636. int iItem=m_List1.GetNextSelectedItem(pos);
  637. if(((Booking2*)GetParent())->m_bModify)
  638. {
  639. if(m_List1Bakarray.ElementAt (iItem).ElementAt (8).IsEmpty ()==0)
  640. {
  641. AfxMessageBox("此物品已选片, 不能删除!", MB_ICONSTOP);
  642. return;
  643. }
  644. if(m_List1Bakarray.ElementAt (iItem).ElementAt (2)!="" || m_List1Bakarray.ElementAt (iItem).ElementAt (3)!="")
  645. {
  646. AfxMessageBox("此物品已制作, 不能删除!", MB_ICONSTOP);
  647. return;
  648. }
  649. if(m_List1Bakarray.ElementAt (iItem).ElementAt (4)!="未完成" && m_List1Bakarray.ElementAt (iItem).ElementAt (4)!="")
  650. {
  651. AfxMessageBox("此物品已制作, 不能删除!", MB_ICONSTOP);
  652. return;
  653. }
  654. if(m_List1Bakarray.ElementAt (iItem).ElementAt (5)!="未取" && m_List1Bakarray.ElementAt (iItem).ElementAt (5)!="")
  655. {
  656. AfxMessageBox("此物品已制作, 不能删除!", MB_ICONSTOP);
  657. return;
  658. }
  659. m_List1.DeleteItem (iItem);
  660. m_List1Bakarray.RemoveAt(iItem);
  661. }
  662. else
  663. m_List1.DeleteItem (iItem);
  664. CalculateCost();
  665. int count=m_List1.GetItemCount ();
  666. if(count)
  667. {
  668. if(iItem==count)
  669. iItem=0;
  670. m_List1.SetItemState (iItem, LVIS_SELECTED, LVIS_SELECTED);
  671. }
  672. if(m_bGrowthTX)
  673. {
  674. CString takename;
  675. int pos=m_listbox1.GetCurSel ();
  676. if(pos!=-1)
  677. {
  678. m_listbox1.GetText (pos, takename);
  679. }
  680. if(takename!="" && m_List1arraygrowthbak.GetSize())
  681. {
  682. BOOL bFind=1;
  683. while(bFind)
  684. {
  685. int size=m_List1arraygrowthbak.GetSize();
  686. int size2=m_List1arraygrowthbak.ElementAt (0).GetSize ();
  687. bFind=0;
  688. for(int i=0; i<size; i++)
  689. {
  690. if(m_List1arraygrowthbak.ElementAt (i).ElementAt (size2-1)==takename)
  691. {
  692. m_List1arraygrowthbak.RemoveAt(i);
  693. bFind=1;
  694. break;
  695. }
  696. }
  697. }
  698. }
  699. if(takename!="")
  700. {
  701. int addpos=0;
  702. if(((Booking2*)GetParent())->m_bModify)addpos=1;
  703. int size=m_List1arraygrowthbak.GetSize ();
  704. m_List1arraygrowthbak.SetSize(size+m_List1.GetItemCount (), 1);
  705. for(int i=0; i<m_List1.GetItemCount (); i++)
  706. {
  707. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 0));
  708. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 1));
  709. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 2));
  710. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 3));
  711. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 4));
  712. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 5));
  713. if(addpos)
  714. {
  715. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 6));
  716. }
  717. m_List1arraygrowthbak.ElementAt (size+i).Add (takename);
  718. }
  719. }
  720. CalculateCostGrowthTX();
  721. }
  722. }
  723. void BookingPage1::OnBUTspbox2()
  724. {
  725. // TODO: Add your control notification handler code here
  726. SPBox dlg;
  727. if(dlg.DoModal ()!=IDOK)return;
  728. if(atoi(g_cominfoarray.ElementAt(0).ElementAt(114)))
  729. {
  730. Login2 dlg;
  731. dlg.m_mode=1;
  732. if(dlg.DoModal ()!=IDOK)return;
  733. if(IsHasRightsnew2(48, dlg.m_rights)==0)return;
  734. }
  735. int addpos=0;
  736. if(((Booking2*)GetParent())->m_bModify)addpos=1;
  737. for(int a=0; a<dlg.m_spidarray .GetSize (); a++)
  738. {
  739. dlg.m_spid=dlg.m_spidarray.ElementAt (a);
  740. dlg.m_spname=dlg.m_spnamearray.ElementAt (a);
  741. int pos=m_List1.GetItemCount ();
  742. CString str;
  743. if(pos)
  744. {
  745. if(m_List1.GetItemText (pos-1, 0+addpos).IsEmpty ()&&m_List1.GetItemText (pos-1, 1+addpos).IsEmpty ())
  746. {
  747. pos--;
  748. m_List1.SetItemText(pos,0+addpos, dlg.m_spid);
  749. m_List1.SetItemText(pos,1+addpos, GetSPNameFromId(dlg.m_spid));
  750. str.Format ("%f", GetSPPriceFromId3(dlg.m_spid));
  751. ConvertToPrice (str);
  752. m_List1.SetItemText(pos,2+addpos, str);
  753. m_List1.SetItemText(pos,3+addpos, "1");
  754. }
  755. else
  756. {
  757. if(((Booking2*)GetParent())->m_bModify)
  758. {
  759. m_List1.InsertItem(pos, "");
  760. m_List1.SetItemText(pos,1, dlg.m_spid);
  761. m_List1Bakarray.SetSize(m_List1.GetItemCount ());
  762. m_List1Bakarray.ElementAt (pos).Add ("");
  763. m_List1Bakarray.ElementAt (pos).Add ("");
  764. m_List1Bakarray.ElementAt (pos).Add ("");
  765. m_List1Bakarray.ElementAt (pos).Add ("");
  766. m_List1Bakarray.ElementAt (pos).Add ("");
  767. m_List1Bakarray.ElementAt (pos).Add ("");
  768. m_List1Bakarray.ElementAt (pos).Add ("");
  769. m_List1Bakarray.ElementAt (pos).Add ("");
  770. m_List1Bakarray.ElementAt (pos).Add ("");
  771. }
  772. else
  773. m_List1.InsertItem(pos, dlg.m_spid);
  774. m_List1.SetItemText(pos,1+addpos, GetSPNameFromId(dlg.m_spid));
  775. str.Format ("%f", GetSPPriceFromId3(dlg.m_spid));
  776. ConvertToPrice (str);
  777. m_List1.SetItemText(pos,2+addpos, str);
  778. m_List1.SetItemText(pos,3+addpos, "1");
  779. }
  780. }
  781. else
  782. {
  783. if(((Booking2*)GetParent())->m_bModify)
  784. {
  785. m_List1.InsertItem(pos, "");
  786. m_List1.SetItemText(pos,1, dlg.m_spid);
  787. m_List1Bakarray.SetSize(m_List1.GetItemCount ());
  788. m_List1Bakarray.ElementAt (pos).Add ("");
  789. m_List1Bakarray.ElementAt (pos).Add ("");
  790. m_List1Bakarray.ElementAt (pos).Add ("");
  791. m_List1Bakarray.ElementAt (pos).Add ("");
  792. m_List1Bakarray.ElementAt (pos).Add ("");
  793. m_List1Bakarray.ElementAt (pos).Add ("");
  794. m_List1Bakarray.ElementAt (pos).Add ("");
  795. m_List1Bakarray.ElementAt (pos).Add ("");
  796. m_List1Bakarray.ElementAt (pos).Add ("");
  797. }
  798. else
  799. m_List1.InsertItem(pos, dlg.m_spid);
  800. m_List1.SetItemText(pos,1+addpos, GetSPNameFromId(dlg.m_spid));
  801. str.Format ("%f", GetSPPriceFromId3(dlg.m_spid));
  802. ConvertToPrice (str);
  803. m_List1.SetItemText(pos,2+addpos, str);
  804. m_List1.SetItemText(pos,3+addpos, "1");
  805. }
  806. }
  807. CalculateCost();
  808. if(m_bGrowthTX)
  809. {
  810. CString takename;
  811. int pos=m_listbox1.GetCurSel ();
  812. if(pos!=-1)
  813. {
  814. m_listbox1.GetText (pos, takename);
  815. }
  816. if(takename!="" && m_List1arraygrowthbak.GetSize())
  817. {
  818. BOOL bFind=1;
  819. while(bFind)
  820. {
  821. int size=m_List1arraygrowthbak.GetSize();
  822. int size2=m_List1arraygrowthbak.ElementAt (0).GetSize ();
  823. bFind=0;
  824. for(int i=0; i<size; i++)
  825. {
  826. if(m_List1arraygrowthbak.ElementAt (i).ElementAt (size2-1)==takename)
  827. {
  828. m_List1arraygrowthbak.RemoveAt(i);
  829. bFind=1;
  830. break;
  831. }
  832. }
  833. }
  834. }
  835. if(takename!="")
  836. {
  837. int size=m_List1arraygrowthbak.GetSize ();
  838. m_List1arraygrowthbak.SetSize(size+m_List1.GetItemCount (), 1);
  839. for(int i=0; i<m_List1.GetItemCount (); i++)
  840. {
  841. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 0));
  842. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 1));
  843. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 2));
  844. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 3));
  845. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 4));
  846. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 5));
  847. if(addpos)
  848. {
  849. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 6));
  850. }
  851. m_List1arraygrowthbak.ElementAt (size+i).Add (takename);
  852. }
  853. }
  854. CalculateCostGrowthTX();
  855. }
  856. }
  857. void BookingPage1::OnBUTdelall()
  858. {
  859. // TODO: Add your control notification handler code here
  860. if(atoi(g_cominfoarray.ElementAt(0).ElementAt(114)))
  861. {
  862. Login2 dlg;
  863. dlg.m_mode=1;
  864. if(dlg.DoModal ()!=IDOK)return;
  865. if(IsHasRightsnew2(48, dlg.m_rights)==0)return;
  866. }
  867. if(AfxMessageBox("确定要删除套系中的商品吗?", MB_YESNO|MB_ICONINFORMATION)!=IDYES)return;
  868. m_List3.DeleteAllItems ();
  869. CalculateCost2();
  870. }
  871. void BookingPage1::OnBUTdel()
  872. {
  873. // TODO: Add your control notification handler code here
  874. if(atoi(g_cominfoarray.ElementAt(0).ElementAt(114)))
  875. {
  876. Login2 dlg;
  877. dlg.m_mode=1;
  878. if(dlg.DoModal ()!=IDOK)return;
  879. if(IsHasRightsnew2(48, dlg.m_rights)==0)return;
  880. }
  881. POSITION pos;
  882. pos=m_List3.GetFirstSelectedItemPosition();
  883. if(pos==NULL)
  884. {
  885. AfxMessageBox("请先选中您要删除的项目!", MB_ICONINFORMATION);
  886. return;
  887. }
  888. int iItem=m_List3.GetNextSelectedItem(pos);
  889. if(((Booking2*)GetParent())->m_bModify)
  890. {
  891. if(m_List3Bakarray.ElementAt (iItem).ElementAt (8).IsEmpty ()==0)
  892. {
  893. AfxMessageBox("此物品已选片, 不能删除!", MB_ICONSTOP);
  894. return;
  895. }
  896. if(m_List3Bakarray.ElementAt (iItem).ElementAt (2)!="" || m_List3Bakarray.ElementAt (iItem).ElementAt (3)!="")
  897. {
  898. AfxMessageBox("此物品已制作, 不能删除!", MB_ICONSTOP);
  899. return;
  900. }
  901. if(m_List3Bakarray.ElementAt (iItem).ElementAt (4)!="未完成" && m_List3Bakarray.ElementAt (iItem).ElementAt (4)!="")
  902. {
  903. AfxMessageBox("此物品已制作, 不能删除!", MB_ICONSTOP);
  904. return;
  905. }
  906. if(m_List3Bakarray.ElementAt (iItem).ElementAt (5)!="未取" && m_List3Bakarray.ElementAt (iItem).ElementAt (5)!="")
  907. {
  908. AfxMessageBox("此物品已制作, 不能删除!", MB_ICONSTOP);
  909. return;
  910. }
  911. m_List3.DeleteItem (iItem);
  912. m_List3Bakarray.RemoveAt(iItem);
  913. }
  914. else
  915. m_List3.DeleteItem (iItem);
  916. CalculateCost2();
  917. int count=m_List3.GetItemCount ();
  918. if(count==0)return;
  919. if(iItem==count)
  920. iItem=0;
  921. m_List3.SetItemState (iItem, LVIS_SELECTED, LVIS_SELECTED);
  922. }
  923. void BookingPage1::OnBUTspbox()
  924. {
  925. // TODO: Add your control notification handler code here
  926. SPBox dlg;
  927. #ifndef CHILD_VERSION
  928. dlg.m_mode=1;
  929. #endif
  930. if(dlg.DoModal ()!=IDOK)return;
  931. if(atoi(g_cominfoarray.ElementAt(0).ElementAt(114)))
  932. {
  933. Login2 dlg;
  934. dlg.m_mode=1;
  935. if(dlg.DoModal ()!=IDOK)return;
  936. if(IsHasRightsnew2(48, dlg.m_rights)==0)return;
  937. }
  938. int addpos=0;
  939. if(((Booking2*)GetParent())->m_bModify)addpos=1;
  940. for(int a=0; a<dlg.m_spidarray .GetSize (); a++)
  941. {
  942. dlg.m_spid=dlg.m_spidarray.ElementAt (a);
  943. dlg.m_spname=dlg.m_spnamearray.ElementAt (a);
  944. int pos=m_List3.GetItemCount ();
  945. CString str;
  946. if(pos)
  947. {
  948. if(m_List3.GetItemText (pos-1, 0+addpos).IsEmpty ()&&m_List3.GetItemText (pos-1, 1+addpos).IsEmpty ())
  949. {
  950. pos--;
  951. m_List3.SetItemText(pos,0+addpos, dlg.m_spid);
  952. m_List3.SetItemText(pos,1+addpos, GetSPNameFromId(dlg.m_spid));
  953. str.Format ("%f", GetSPPriceFromId3(dlg.m_spid));
  954. ConvertToPrice (str);
  955. m_List3.SetItemText(pos,2+addpos, str);
  956. m_List3.SetItemText(pos,3+addpos, "1");
  957. }
  958. else
  959. {
  960. if(((Booking2*)GetParent())->m_bModify)
  961. {
  962. m_List3.InsertItem(pos, "");
  963. m_List3.SetItemText(pos,1, dlg.m_spid);
  964. m_List3Bakarray.SetSize(m_List3.GetItemCount ());
  965. m_List3Bakarray.ElementAt (pos).Add ("");
  966. m_List3Bakarray.ElementAt (pos).Add ("");
  967. m_List3Bakarray.ElementAt (pos).Add ("");
  968. m_List3Bakarray.ElementAt (pos).Add ("");
  969. m_List3Bakarray.ElementAt (pos).Add ("");
  970. m_List3Bakarray.ElementAt (pos).Add ("");
  971. m_List3Bakarray.ElementAt (pos).Add ("");
  972. m_List3Bakarray.ElementAt (pos).Add ("");
  973. m_List3Bakarray.ElementAt (pos).Add ("");
  974. }
  975. else
  976. m_List3.InsertItem(pos, dlg.m_spid);
  977. m_List3.SetItemText(pos,1+addpos, GetSPNameFromId(dlg.m_spid));
  978. str.Format ("%f", GetSPPriceFromId3(dlg.m_spid));
  979. ConvertToPrice (str);
  980. m_List3.SetItemText(pos,2+addpos, str);
  981. m_List3.SetItemText(pos,3+addpos, "1");
  982. }
  983. }
  984. else
  985. {
  986. if(((Booking2*)GetParent())->m_bModify)
  987. {
  988. m_List3.InsertItem(pos, "");
  989. m_List3.SetItemText(pos,1, dlg.m_spid);
  990. m_List3Bakarray.SetSize(m_List3.GetItemCount ());
  991. m_List3Bakarray.ElementAt (pos).Add ("");
  992. m_List3Bakarray.ElementAt (pos).Add ("");
  993. m_List3Bakarray.ElementAt (pos).Add ("");
  994. m_List3Bakarray.ElementAt (pos).Add ("");
  995. m_List3Bakarray.ElementAt (pos).Add ("");
  996. m_List3Bakarray.ElementAt (pos).Add ("");
  997. m_List3Bakarray.ElementAt (pos).Add ("");
  998. m_List3Bakarray.ElementAt (pos).Add ("");
  999. m_List3Bakarray.ElementAt (pos).Add ("");
  1000. }
  1001. else
  1002. m_List3.InsertItem(pos, dlg.m_spid);
  1003. m_List3.SetItemText(pos,1+addpos, GetSPNameFromId(dlg.m_spid));
  1004. str.Format ("%f", GetSPPriceFromId3(dlg.m_spid));
  1005. ConvertToPrice (str);
  1006. m_List3.SetItemText(pos,2+addpos, str);
  1007. m_List3.SetItemText(pos,3+addpos, "1");
  1008. }
  1009. }
  1010. CalculateCost2();
  1011. }
  1012. void BookingPage1::OnBUTaddjd()
  1013. {
  1014. // TODO: Add your control notification handler code here
  1015. if(m_bGrowthTX)
  1016. {
  1017. m_growthtxselname.Empty ();
  1018. CString str;
  1019. for(int i=0; i<m_listbox1.GetCount (); i++)
  1020. {
  1021. m_listbox1.GetText(i, str);
  1022. m_growthtxselname+=str;m_growthtxselname+=",";
  1023. }
  1024. m_growthtxselname.TrimRight (",");
  1025. SelGrowthTXName dlg;
  1026. dlg.m_selname =m_growthtxselname;
  1027. if(dlg.DoModal ()==IDOK)
  1028. {
  1029. m_growthtxselname=dlg.m_selname;
  1030. m_listbox1.ResetContent ();
  1031. if(!m_growthtxselname.IsEmpty ())
  1032. {
  1033. int pos=m_growthtxselname.Find (",");
  1034. while(pos!=-1)
  1035. {
  1036. m_listbox1.AddString (m_growthtxselname.Left (pos));
  1037. m_growthtxselname=m_growthtxselname.Right (m_growthtxselname.GetLength ()-pos-1);
  1038. pos=m_growthtxselname.Find (",");
  1039. }
  1040. m_listbox1.AddString (m_growthtxselname);
  1041. }
  1042. }
  1043. return;
  1044. }
  1045. SPLBDlg dlg;
  1046. dlg.m_mode =2;
  1047. if(dlg.DoModal ()==IDOK)
  1048. {
  1049. for(int i=0; i<dlg.m_array.GetSize (); i++)
  1050. m_listbox1.AddString (dlg.m_array.ElementAt (i) );
  1051. }
  1052. }
  1053. void BookingPage1::OnBUTdeljd()
  1054. {
  1055. // TODO: Add your control notification handler code here
  1056. int pos=m_listbox1.GetCurSel ();
  1057. if(pos==-1)
  1058. {
  1059. AfxMessageBox("请选中您要删除的项目!", MB_ICONINFORMATION);return;
  1060. }
  1061. if(m_bGrowthTX)
  1062. {
  1063. CString takename;
  1064. m_listbox1.GetText (pos, takename);
  1065. BOOL bFind=1;
  1066. while(bFind)
  1067. {
  1068. int size=m_List1arraygrowthbak.GetSize();
  1069. int size2=m_List1arraygrowthbak.ElementAt (0).GetSize ();
  1070. bFind=0;
  1071. for(int i=0; i<size; i++)
  1072. {
  1073. if(m_List1arraygrowthbak.ElementAt (i).ElementAt (size2-1)==takename)
  1074. {
  1075. m_List1arraygrowthbak.RemoveAt(i);
  1076. bFind=1;
  1077. break;
  1078. }
  1079. }
  1080. }
  1081. }
  1082. m_listbox1.DeleteString (pos);
  1083. int count=m_listbox1.GetCount ();
  1084. if(pos<count)
  1085. m_listbox1.SetCurSel (pos);
  1086. else if(count && pos==count)
  1087. m_listbox1.SetCurSel (0);
  1088. }
  1089. BOOL BookingPage1::CheckOK()
  1090. {
  1091. if(IsHasRights2(0)==0)
  1092. return 0;
  1093. // TODO: Add your control notification handler code here
  1094. UpdateData();
  1095. if(m_id.Find("/")!=-1)
  1096. {
  1097. AfxMessageBox("流水单号中请不要包含以下字符 /\\:*?\"<>|", MB_ICONINFORMATION);return 0;
  1098. }
  1099. if(m_id.Find("\\")!=-1)
  1100. {
  1101. AfxMessageBox("流水单号中请不要包含以下字符 /\\:*?\"<>|", MB_ICONINFORMATION);return 0;
  1102. }
  1103. if(m_id.Find(":")!=-1)
  1104. {
  1105. AfxMessageBox("流水单号中请不要包含以下字符 /\\:*?\"<>|", MB_ICONINFORMATION);return 0;
  1106. }
  1107. if(m_id.Find("*")!=-1)
  1108. {
  1109. AfxMessageBox("流水单号中请不要包含以下字符 /\\:*?\"<>|", MB_ICONINFORMATION);return 0;
  1110. }
  1111. if(m_id.Find("?")!=-1)
  1112. {
  1113. AfxMessageBox("流水单号中请不要包含以下字符 /\\:*?\"<>|", MB_ICONINFORMATION);return 0;
  1114. }
  1115. if(m_id.Find("\"")!=-1)
  1116. {
  1117. AfxMessageBox("流水单号中请不要包含以下字符 /\\:*?\"<>|", MB_ICONINFORMATION);return 0;
  1118. }
  1119. if(m_id.Find("<")!=-1)
  1120. {
  1121. AfxMessageBox("流水单号中请不要包含以下字符 /\\:*?\"<>|", MB_ICONINFORMATION);return 0;
  1122. }
  1123. if(m_id.Find(">")!=-1)
  1124. {
  1125. AfxMessageBox("流水单号中请不要包含以下字符 /\\:*?\"<>|", MB_ICONINFORMATION);return 0;
  1126. }
  1127. if(m_id.Find("|")!=-1)
  1128. {
  1129. AfxMessageBox("流水单号中请不要包含以下字符 /\\:*?\"<>|", MB_ICONINFORMATION);return 0;
  1130. }
  1131. if(m_id.Find(".")!=-1)
  1132. {
  1133. AfxMessageBox("流水单号中请不要包含以下字符 /\\:*?\"<>|", MB_ICONINFORMATION);return 0;
  1134. }
  1135. m_id.TrimLeft ();
  1136. m_id.TrimRight ();
  1137. if(m_id.GetLength ()<3)
  1138. {
  1139. AfxMessageBox("流水单号太短", MB_ICONINFORMATION);return 0;
  1140. }
  1141. /* if("成长套系"==m_txtype)
  1142. {
  1143. if(m_growthtxselname.IsEmpty ())
  1144. {
  1145. AfxMessageBox("成长套系包含的单次拍摄未设置!", MB_ICONINFORMATION);
  1146. return 0;
  1147. }
  1148. }*/
  1149. m_growthtxselname="";
  1150. if(m_listbox1.GetCount ()==0)
  1151. {
  1152. if(m_bGrowthTX)
  1153. AfxMessageBox("请录入至少一个单次拍摄!", MB_ICONINFORMATION);
  1154. else
  1155. AfxMessageBox("请录入至少一个景点!", MB_ICONINFORMATION);
  1156. return 0;
  1157. }
  1158. CalculateCost();
  1159. CalculateCost2();
  1160. if(m_listbox1.GetCurSel ()==-1)
  1161. SelFirst();
  1162. else
  1163. OnSelchangeList9();
  1164. ///////////////////////////////////
  1165. if(atoi(g_cominfoarray.ElementAt(0).ElementAt(113)) && (((Booking2*)GetParent())->m_bModify==0) )
  1166. {
  1167. CString m_discount;
  1168. if(atof(m_taoxijiage)>0 && (m_saleprice1+m_saleprice2)>0)
  1169. m_discount.Format ("%0.3f", min(10.0, (atof(m_taoxijiage)*10)/(m_saleprice1+m_saleprice2)) );
  1170. else
  1171. m_discount="0";
  1172. if(IsHasRights2new(26)==0)//无折扣权限
  1173. {
  1174. if(m_discount!="10.0")
  1175. {
  1176. AfxMessageBox("无折扣权限,需授权!", MB_ICONINFORMATION);
  1177. Login2 dlg;
  1178. dlg.m_mode=2;
  1179. if(dlg.DoModal ()!=IDOK)return 0;
  1180. if(IsHasRightsnew2(26, dlg.m_rights)==0)return 0;
  1181. if(m_saleprice1+m_saleprice2>1)
  1182. {
  1183. m_discount.Format ("%0.3f", min(10.0, (atof(m_taoxijiage)*10)/(m_saleprice1+m_saleprice2)) );
  1184. if(atof(m_discount)<atof(dlg.m_discount))
  1185. {
  1186. CString str;
  1187. str.Format("折扣%s太低,需授权!", m_discount);
  1188. if(AfxMessageBox(str, MB_ICONINFORMATION))return 0;
  1189. }
  1190. m_authorize=dlg.m_name;
  1191. }
  1192. }
  1193. }
  1194. else if(atof(m_discount)<atof(g_user.m_discount) && m_discount!="0")
  1195. {
  1196. AfxMessageBox("价格太低,需授权!", MB_ICONINFORMATION);
  1197. Login2 dlg;
  1198. dlg.m_mode=2;
  1199. if(dlg.DoModal ()!=IDOK)return 0;
  1200. if(IsHasRightsnew2(26, dlg.m_rights)==0)return 0;
  1201. if(m_saleprice1+m_saleprice2>1)
  1202. {
  1203. m_discount.Format ("%0.3f", min(10.0, (atof(m_taoxijiage)*10)/(m_saleprice1+m_saleprice2)) );
  1204. if(atof(m_discount)<atof(dlg.m_discount))
  1205. {
  1206. CString str;
  1207. str.Format("折扣%s太低,需授权!", m_discount);
  1208. if(AfxMessageBox(str, MB_ICONINFORMATION))return 0;
  1209. }
  1210. m_authorize=dlg.m_name;
  1211. }
  1212. }
  1213. }
  1214. //////////////////////////////////
  1215. int pos=m_combotaoxiname.GetCurSel ();
  1216. if(pos!=-1)
  1217. {
  1218. m_combotaoxiname.GetLBText (pos, m_taoxiname);
  1219. }
  1220. else
  1221. {
  1222. m_combotaoxiname.GetWindowText (m_taoxiname);
  1223. m_taoxiid.Empty ();
  1224. }
  1225. m_taoxijiage.TrimLeft ();
  1226. m_taoxijiage.TrimRight ();
  1227. m_payed1.TrimLeft ();
  1228. m_payed1.TrimRight ();
  1229. if(m_taoxiname.IsEmpty () || m_taoxijiage.IsEmpty ()|| m_payed1.IsEmpty ()||m_zs.IsEmpty ())
  1230. {
  1231. return 0;
  1232. }
  1233. pos=m_combotype.GetCurSel ();
  1234. if(pos!=-1)
  1235. {
  1236. m_combotype.GetLBText (pos, m_txtype);
  1237. }
  1238. else
  1239. {
  1240. return 0;
  1241. }
  1242. pos=m_combofrom.GetCurSel ();
  1243. if(pos!=-1)
  1244. {
  1245. m_combofrom.GetLBText (pos, m_from);
  1246. }
  1247. else
  1248. {
  1249. return 0;
  1250. }
  1251. #ifdef LKAY_VERSION
  1252. pos=m_combodindantype.GetCurSel ();
  1253. if(pos!=-1)
  1254. {
  1255. m_combodindantype.GetLBText (pos, m_dindantype);
  1256. }
  1257. else
  1258. {
  1259. return 0;
  1260. }
  1261. #endif
  1262. #ifndef NOCALCOST
  1263. if(atof(m_taoxijiage)<m_cost1+m_cost2)
  1264. {
  1265. if(AfxMessageBox("警告:套系价格低于成本, 可能是亏本生意, 是否继续?", MB_YESNO|MB_ICONSTOP)!=IDYES)return 0;
  1266. }
  1267. #endif
  1268. if(((Booking2*)GetParent())->m_bModify==0)
  1269. {
  1270. if(!NewID())return 0;
  1271. }
  1272. return 1;
  1273. }
  1274. BOOL BookingPage1::NewID()
  1275. {
  1276. if(atoi(g_cominfoarray.ElementAt(0).ElementAt(121)) && ((Booking2*)GetParent())->m_bModify==0)
  1277. return 1;
  1278. g_bNoConnDlg=1;
  1279. CString date=g_date;
  1280. date.Replace("-", "");
  1281. CString sql;
  1282. sql="select max(id) as cot from dindan where id like '"+date+"%' ";
  1283. g_sendhead.bsql=1;
  1284. g_pMainWnd->ProcessChatMessageRequest2(sql);
  1285. g_bNoConnDlg=0;
  1286. if(g_bSendOK==0)return 0;
  1287. date.Replace ("-", "");
  1288. m_id.Format ("%s-%03d", date, g_ncount+1);
  1289. SetDlgItemText(IDC_EDITid, m_id);
  1290. return 1;
  1291. }
  1292. void BookingPage1::NewDan()
  1293. {
  1294. m_bz = _T("");
  1295. m_taoxijiage = _T("");
  1296. m_oldtaoxijiage=m_taoxijiage;
  1297. m_taoxiname = _T("");
  1298. m_payed1 = _T("");
  1299. m_zs = _T("");
  1300. m_zs2 = _T("");
  1301. m_cost1=0;
  1302. m_cost2=0;
  1303. m_saleprice1=0;
  1304. m_saleprice2=0;
  1305. m_id = _T("");
  1306. UpdateData(false);
  1307. m_combotaoxiname.SetCurSel (-1);
  1308. m_combotype.SetCurSel (-1); m_combofrom.SetCurSel (-1);
  1309. m_List1.DeleteAllItems ();
  1310. CalculateCost();
  1311. m_List3.DeleteAllItems ();
  1312. CalculateCost2();
  1313. m_listbox1.ResetContent ();
  1314. NewID();
  1315. }
  1316. void BookingPage1::OnButton1()
  1317. {
  1318. // TODO: Add your control notification handler code here
  1319. SPLBDlg dlg;
  1320. dlg.m_mode=3;
  1321. dlg.DoModal ();
  1322. m_combotype.ResetContent ();
  1323. }
  1324. void BookingPage1::OnButton22()
  1325. {
  1326. // TODO: Add your control notification handler code here
  1327. SPLBDlg dlg;
  1328. dlg.m_mode=8;
  1329. dlg.DoModal ();
  1330. m_combofrom.ResetContent ();
  1331. }
  1332. void BookingPage1::OnButton2()
  1333. {
  1334. // TODO: Add your control notification handler code here
  1335. SPLBDlg dlg;
  1336. dlg.m_mode=1;
  1337. dlg.DoModal ();
  1338. }
  1339. void BookingPage1::OnDropdownCOMBOtype2()
  1340. {
  1341. // TODO: Add your control notification handler code here
  1342. if(m_combotype.GetCount ()<2)
  1343. {
  1344. g_sendhead.bsql=0;
  1345. g_sendhead.code[0]=157;
  1346. g_sendhead.tabcount=1;
  1347. g_pMainWnd->ProcessChatMessageRequest2(3);if(g_bSendOK==0)return;
  1348. DataToArray(&g_List1array);
  1349. for(int ii=0; ii<g_List1array.GetSize (); ii++)
  1350. m_combotype.AddString ( g_List1array.ElementAt (ii).ElementAt(0) );
  1351. #ifdef CHILD_VERSION
  1352. m_combotype.AddString ( "成长套系" );
  1353. #endif
  1354. }
  1355. }
  1356. void BookingPage1::OnDropdownCOMBOtype3()
  1357. {
  1358. // TODO: Add your control notification handler code here
  1359. if(m_combofrom.GetCount ()<2)
  1360. {
  1361. g_sendhead.bsql=0;
  1362. g_sendhead.code[0]=186;
  1363. g_sendhead.tabcount=1;
  1364. g_pMainWnd->ProcessChatMessageRequest2(3);if(g_bSendOK==0)return;
  1365. DataToArray(&g_List1array);
  1366. for(int ii=0; ii<g_List1array.GetSize (); ii++)
  1367. m_combofrom.AddString ( g_List1array.ElementAt (ii).ElementAt(0) );
  1368. }
  1369. }
  1370. void BookingPage1::OnSelchangeCOMBOtype2()
  1371. {
  1372. // TODO: Add your control notification handler code here
  1373. int pos=m_combotype.GetCurSel ();
  1374. if(pos==-1)return;
  1375. m_combotype.GetLBText (pos, m_txtype);
  1376. #ifdef CHILD_VERSION
  1377. #ifdef DDF_VERSION
  1378. if(0)
  1379. #else
  1380. if("成长套系"==m_txtype)
  1381. #endif
  1382. {
  1383. m_bGrowthTX=1;
  1384. GetDlgItem(IDC_STATIC7)->SetWindowText("*成长套系-拍摄次数");
  1385. GetDlgItem(IDC_BUTTON2)->ShowWindow(SW_HIDE);
  1386. }
  1387. else
  1388. {
  1389. m_bGrowthTX=0;
  1390. GetDlgItem(IDC_STATIC7)->SetWindowText("*景点");
  1391. GetDlgItem(IDC_BUTTON2)->ShowWindow(SW_SHOW);
  1392. }
  1393. #endif
  1394. }
  1395. void BookingPage1::OnButton9() // 删除记录;
  1396. {
  1397. // TODO: Add your control notification handler code here
  1398. ModifyReg dlg;
  1399. dlg.m_id=m_id;
  1400. dlg.DoModal ();
  1401. }
  1402. void BookingPage1::OnButton14()
  1403. {
  1404. // TODO: Add your control notification handler code here
  1405. if(atoi(g_cominfoarray.ElementAt(0).ElementAt(113)))
  1406. {
  1407. Login2 dlg;
  1408. dlg.m_mode=2;
  1409. if(dlg.DoModal ()!=IDOK)return;
  1410. if(IsHasRightsnew2(26, dlg.m_rights)==0)return;
  1411. InputPrice dlg2;
  1412. if(dlg2.DoModal ()!=IDOK)return;
  1413. float discount=atof(dlg.m_discount)/10.0;
  1414. if(atof(dlg2.m_price)<atof(m_oldtaoxijiage)*discount)
  1415. {
  1416. if(AfxMessageBox("折扣太低,折扣权限不够!", MB_ICONINFORMATION))return;
  1417. }
  1418. SetDlgItemText(IDC_EDITtaoxijiage, dlg2.m_price);
  1419. // m_oldtaoxijiage=m_taoxijiage;
  1420. }
  1421. }
  1422. #ifdef VC60
  1423. void BookingPage1::OnListInputEnd(WPARAM wParam,LPARAM lParam)
  1424. {
  1425. UpDateGrowthTX();
  1426. CalculateCost();CalculateCost2();
  1427. }
  1428. #else
  1429. LRESULT BookingPage1::OnListInputEnd(WPARAM wParam,LPARAM lParam)
  1430. {
  1431. UpDateGrowthTX();
  1432. CalculateCost();
  1433. CalculateCost2();
  1434. return 0;
  1435. }
  1436. #endif
  1437. void BookingPage1::OnCloseupCOMBOtaoxiname()
  1438. {
  1439. // TODO: Add your control notification handler code here
  1440. OnSelchangeCOMBOtaoxiname();
  1441. }
  1442. void BookingPage1::OnSelchangeList9()
  1443. {
  1444. // TODO: Add your control notification handler code here
  1445. if(m_bGrowthTX==0)return;
  1446. UpDateGrowthTX();
  1447. int pos=m_listbox1.GetCurSel ();
  1448. if(pos==-1)
  1449. {
  1450. return;
  1451. }
  1452. m_ncurgrowth=pos;
  1453. CString takename;
  1454. m_listbox1.GetText (pos, takename);
  1455. GetDlgItem(IDC_STATIC2)->SetWindowText("套系包含产品-"+takename);
  1456. if(m_List1arraygrowthbak.GetSize()==0 && m_List1.GetItemCount())
  1457. {
  1458. int addpos=0;
  1459. if(((Booking2*)GetParent())->m_bModify)addpos=1;
  1460. int size=m_List1arraygrowthbak.GetSize ();
  1461. m_List1arraygrowthbak.SetSize(size+m_List1.GetItemCount (), 1);
  1462. for(int i=0; i<m_List1.GetItemCount (); i++)
  1463. {
  1464. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 0));
  1465. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 1));
  1466. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 2));
  1467. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 3));
  1468. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 4));
  1469. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 5));
  1470. if(addpos)
  1471. {
  1472. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 6));
  1473. }
  1474. m_List1arraygrowthbak.ElementAt (size+i).Add (takename);
  1475. }
  1476. return;
  1477. }
  1478. m_List1.DeleteAllItems ();
  1479. int size=m_List1arraygrowthbak.GetSize();
  1480. if(size==0)return;
  1481. int size2=m_List1arraygrowthbak.ElementAt (0).GetSize ();
  1482. int aa=0;
  1483. for(int i=0; i<size; i++)
  1484. {
  1485. if(m_List1arraygrowthbak.ElementAt(i).ElementAt (size2-1)!=takename && m_List1arraygrowthbak.ElementAt (i).ElementAt (size2-1)!="")continue;
  1486. if(m_List1arraygrowthbak.ElementAt (i).ElementAt (size2-1)=="")
  1487. m_List1arraygrowthbak.ElementAt (i).SetAt (size2-1, takename);
  1488. m_List1.InsertItem(aa, m_List1arraygrowthbak.ElementAt (i).ElementAt (0));
  1489. for(int j=1; j<size2-1; j++)
  1490. {
  1491. m_List1.SetItemText(aa, j, m_List1arraygrowthbak.ElementAt (i).ElementAt (j));
  1492. // AfxMessageBox(m_List1arraygrowthbak.ElementAt (i).ElementAt (j));
  1493. }
  1494. aa++;
  1495. }
  1496. CalculateCostGrowthTX();
  1497. }
  1498. void BookingPage1::SelFirst()
  1499. {
  1500. if(m_listbox1.GetCount ()==0)return;
  1501. m_listbox1.SetCurSel (0);
  1502. OnSelchangeList9();
  1503. }
  1504. void BookingPage1::UpDateGrowthTX()
  1505. {
  1506. if(m_bGrowthTX==0)return;
  1507. if(m_ncurgrowth==-1 || m_ncurgrowth>=m_listbox1.GetCount())return;
  1508. int pos=m_ncurgrowth;
  1509. CString takename;
  1510. m_listbox1.GetText (pos, takename);
  1511. if(takename!="" && m_List1arraygrowthbak.GetSize() && m_List1.GetItemCount())
  1512. {
  1513. BOOL bFind=1;
  1514. while(bFind)
  1515. {
  1516. int size=m_List1arraygrowthbak.GetSize();
  1517. int size2=m_List1arraygrowthbak.ElementAt (0).GetSize ();
  1518. bFind=0;
  1519. for(int i=0; i<size; i++)
  1520. {
  1521. if(m_List1arraygrowthbak.ElementAt (i).ElementAt (size2-1)==takename)
  1522. {
  1523. m_List1arraygrowthbak.RemoveAt(i);
  1524. bFind=1;
  1525. break;
  1526. }
  1527. }
  1528. }
  1529. int addpos=0;
  1530. if(((Booking2*)GetParent())->m_bModify)addpos=1;
  1531. int size=m_List1arraygrowthbak.GetSize ();
  1532. m_List1arraygrowthbak.SetSize(size+m_List1.GetItemCount (), 1);
  1533. for(int i=0; i<m_List1.GetItemCount (); i++)
  1534. {
  1535. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 0));
  1536. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 1));
  1537. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 2));
  1538. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 3));
  1539. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 4));
  1540. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 5));
  1541. if(addpos)
  1542. {
  1543. m_List1arraygrowthbak.ElementAt (size+i).Add (m_List1.GetItemText (i, 6));
  1544. }
  1545. m_List1arraygrowthbak.ElementAt (size+i).Add (takename);
  1546. }
  1547. CalculateCostGrowthTX();
  1548. }
  1549. }