BookingPage1.cpp 47 KB

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