MySalary.cpp 121 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483
  1. // MySalary.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ylgl.h"
  5. #include "MySalary.h"
  6. #include "MyMdi.H"
  7. #include "SetSalary.h"
  8. #include "ShowHisSalary.h"
  9. #include "SalarySet4.h"
  10. #include "SelExpendType.h"
  11. #include "SelExportType.h"
  12. #include <odbcinst.h>
  13. #include <io.h>
  14. #include "StaffWage.h"
  15. #ifdef _DEBUG
  16. #define new DEBUG_NEW
  17. #undef THIS_FILE
  18. static char THIS_FILE[] = __FILE__;
  19. #endif
  20. /////////////////////////////////////////////////////////////////////////////
  21. IMPLEMENT_DYNCREATE(MySalary, MyFormView)
  22. MySalary::MySalary() : MyFormView(MySalary::IDD)
  23. {
  24. m_strStaffName = _T("");
  25. m_rate1 = _T("");
  26. m_rate2 = _T("");
  27. m_strStaffNote = _T("");
  28. m_strBasicWage = _T("");
  29. m_strTotalWage = _T("");
  30. m_rate3 = _T("");
  31. m_rate4 = _T("");
  32. m_rate5 = _T("");
  33. m_strEarlyAchievementMoney = _T("");
  34. m_strSecondarySalesAchievementMoney = _T("");
  35. m_money3 = _T("");
  36. m_money4 = _T("");
  37. m_money5 = _T("");
  38. m_str计件式提成总和 = _T("");
  39. m_bInit = 0;
  40. m_bAll = 0;
  41. m_year = atoi(g_date.Mid(0, 4));
  42. m_month = atoi(g_date.Mid(5, 2));
  43. m_date2 = GetTmFromStr(g_date);
  44. m_date1 = m_date2 - CTimeSpan(30, 0, 0, 0);
  45. }
  46. MySalary::~MySalary()
  47. {
  48. }
  49. void MySalary::DoDataExchange(CDataExchange* pDX)
  50. {
  51. MyFormView::DoDataExchange(pDX);
  52. DDX_Control(pDX, IDC_LIST11, m_ListTemp);
  53. DDX_Control(pDX, IDC_COMBO7, m_comboname);
  54. DDX_Control(pDX, IDC_COMBO6, m_combocaltype);
  55. DDX_Control(pDX, IDC_LIST8, m_Listdigital);
  56. DDX_Control(pDX, IDC_LIST7, m_Listtake);
  57. DDX_Control(pDX, IDC_LIST4, m_List4);
  58. DDX_Control(pDX, IDC_LIST3, m_List3);
  59. DDX_Control(pDX, IDC_LIST1, m_ListBox1);
  60. DDX_Control(pDX, IDC_SPIN2, m_spinmonth);
  61. DDX_Control(pDX, IDC_SPIN1, m_spinyear);
  62. DDX_Control(pDX, IDC_LIST2, m_List1);
  63. DDX_Control(pDX, IDC_STATIC1, m_static1);
  64. DDX_Text(pDX, IDC_EDITname, m_strStaffName);
  65. DDX_Text(pDX, IDC_EDITrate1, m_rate1);
  66. DDX_Text(pDX, IDC_EDITrate2, m_rate2);
  67. DDX_Text(pDX, IDC_EDITbz, m_strStaffNote);
  68. DDX_Text(pDX, IDC_EDITbase, m_strBasicWage);
  69. DDX_Text(pDX, IDC_EDITmonth, m_month);
  70. DDV_MinMaxUInt(pDX, m_month, 1, 12);
  71. DDX_Text(pDX, IDC_EDITsalary, m_strTotalWage);
  72. DDX_Text(pDX, IDC_EDITyear, m_year);
  73. DDV_MinMaxUInt(pDX, m_year, 1900, 3000);
  74. DDX_Text(pDX, IDC_EDITrate3, m_rate3);
  75. DDX_Text(pDX, IDC_EDITrate4, m_rate4);
  76. DDX_Text(pDX, IDC_EDITrate6, m_rate5);
  77. DDX_Text(pDX, IDC_EDITmoney1, m_strEarlyAchievementMoney);
  78. DDX_Text(pDX, IDC_EDITmoney2, m_strSecondarySalesAchievementMoney);
  79. DDX_Text(pDX, IDC_EDITmoney3, m_money3);
  80. DDX_Text(pDX, IDC_EDITmoney4, m_money4);
  81. DDX_Text(pDX, IDC_EDITmoney5, m_money5);
  82. DDX_Text(pDX, IDC_EDITmoney6, m_str计件式提成总和);
  83. DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER1, m_date1);
  84. DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER2, m_date2);
  85. }
  86. BEGIN_MESSAGE_MAP(MySalary, MyFormView)
  87. ON_BN_CLICKED(IDC_BUTclose, OnBUTclose)
  88. ON_LBN_SELCHANGE(IDC_LIST1, OnSelchangeList1)
  89. ON_EN_CHANGE(IDC_EDITyear, OnChangeEDITyear)
  90. ON_EN_CHANGE(IDC_EDITmonth, OnChangeEDITmonth)
  91. ON_BN_CLICKED(IDC_BUTshowall, OnBUTshowall)
  92. ON_BN_CLICKED(IDC_BUT1, OnBut1)
  93. ON_BN_CLICKED(IDC_BUT2, OnBut2)
  94. ON_BN_CLICKED(IDC_BUT3, OnBut3)
  95. ON_CBN_SELCHANGE(IDC_COMBO6, OnSelchangeCombo6)
  96. ON_BN_CLICKED(IDC_BUT4, OnBut4)
  97. ON_BN_CLICKED(IDC_BUTTON4, OnButton4)
  98. ON_BN_CLICKED(IDC_BUTTON5, OnButton5)
  99. ON_BN_CLICKED(IDC_BUTTON6, OnButton6)
  100. ON_CBN_CLOSEUP(IDC_COMBO7, OnCloseupCombo7)
  101. ON_BN_CLICKED(IDC_BUTTON14, OnButton14)
  102. ON_BN_CLICKED(IDC_BUTTON7, OnButton7)
  103. ON_BN_CLICKED(IDC_BUTTON8, OnButton8)
  104. ON_NOTIFY(DTN_DATETIMECHANGE, IDC_DATETIMEPICKER1, OnDatetimechangeDatetimepicker1)
  105. ON_NOTIFY(DTN_DATETIMECHANGE, IDC_DATETIMEPICKER2, OnDatetimechangeDatetimepicker2)
  106. END_MESSAGE_MAP()
  107. /////////////////////////////////////////////////////////////////////////////
  108. // MySalary diagnostics
  109. #ifdef _DEBUG
  110. void MySalary::AssertValid() const
  111. {
  112. MyFormView::AssertValid();
  113. }
  114. void MySalary::Dump(CDumpContext& dc) const
  115. {
  116. MyFormView::Dump(dc);
  117. }
  118. #endif //_DEBUG
  119. /////////////////////////////////////////////////////////////////////////////
  120. void MySalary::OnInitialUpdate()
  121. {
  122. MyFormView::OnInitialUpdate();
  123. if (IsHasRights2new(25) == 0)
  124. {
  125. GetDlgItem(IDC_BUT1)->EnableWindow(0);
  126. }
  127. CMyMdi Mdi;
  128. Mdi.SetSubView((CWnd*)GetParent(), (CWnd*)this);
  129. m_combocaltype.AddString("计算初修提成");
  130. m_combocaltype.AddString("计算精修提成");
  131. m_combocaltype.AddString("计算设计提成");
  132. CRect rc2;
  133. GetWindowRect(rc2);
  134. ::MoveWindow(m_hWnd, g_rc.left, g_rc.top, g_rc.Width(), g_rc.Height(), TRUE);
  135. EnumChildWindows(m_hWnd, (WNDENUMPROC)EnumChildProc, 0);
  136. m_comboname.RefDroppedWidth();
  137. m_combocaltype.GetWindowRect(rc2);
  138. ScreenToClient(rc2);
  139. rc2.bottom += 200;
  140. m_combocaltype.MoveWindow(rc2);
  141. m_static1.SetFont(&g_titlefont);
  142. #ifdef CHILD_VERSION
  143. m_List1.SetHeadings("金额,100;日期,100;款项类别,100;家长姓名,100;宝宝姓名,100;套系类别,100;付款方式,100");
  144. m_ListTemp.SetHeadings("金额,100;日期,100;款项类别,100;家长姓名,100;宝宝姓名,100;套系类别,100;付款方式,100");
  145. m_List1.LoadColumnInfo(23);
  146. m_List3.SetHeadings("姓名,100;总工资,100;基本工资,100;前期业绩,100;后期业绩,100;职务提成,100;部门,100;备注,100");
  147. m_List3.LoadColumnInfo(124);
  148. m_List4.SetHeadings("订单号,100;家长姓名,100;宝宝姓名,100;提成金额,100;部门,100;内容,100;数量,100;单价,100;提成方式,100;套系价格,100;日期,100");
  149. m_List4.LoadColumnInfo(139);
  150. m_Listtake.SetHeadings("订单号,100;家长姓名,100;宝宝姓名,100;套系,100;价格,100;景点,100;日期,100;摄影,100;助理,100;化妆师,100;助理,100;套系类别,100");
  151. #ifdef LKAY_VERSION
  152. m_Listdigital.SetHeadings("订单号,100;男宾姓名,100;女宾姓名,100;套系,100;价格,100;初修,100;日期1,100;精修,100;日期2,100;设计,100;日期3,100;初修,50;精修,50;设计,50;选片二销,50;套系类别,100;P数,50;张数,50" );
  153. #else
  154. //m_Listdigital.SetHeadings("订单号,100;男宾姓名,100;女宾姓名,100;套系,100;价格,100;初修,100;日期1,100;精修,100;日期2,100;设计,100;日期3,100;初修,50;精修,50;设计,50;选片二销,50;套系类别,100");
  155. m_Listdigital.SetHeadings("订单号,100;家长姓名,100;宝宝姓名,100;套系,100;价格,100;初修,100;日期1,100;精修,100;日期2,100;设计,100;日期3,100;初修,50;精修,50;设计,50;选片二销,50;套系类别,100");
  156. #endif
  157. m_Listtake.LoadColumnInfo(210);
  158. m_Listdigital.LoadColumnInfo(211);
  159. #else
  160. m_List1.SetHeadings("金额,100;日期,100;款项类别,100;男宾姓名,100;女宾姓名,100;套系类别,100;付款方式,100");
  161. m_ListTemp.SetHeadings("金额,100;日期,100;款项类别,100;男宾姓名,100;女宾姓名,100;套系类别,100;付款方式,100");
  162. m_List1.LoadColumnInfo(23);
  163. m_List3.SetHeadings("姓名,100;总工资,100;基本工资,100;前期业绩,100;后期业绩,100;职务提成,100;部门,100;备注,100");
  164. m_List3.LoadColumnInfo(124);
  165. m_List4.SetHeadings("订单号,100;男宾姓名,100;女宾姓名,100;提成金额,100;部门,100;内容,100;数量,100;单价,100;提成方式,100;套系价格,100;日期,100");
  166. m_List4.LoadColumnInfo(139);
  167. m_Listtake.SetHeadings("订单号,100;男宾姓名,100;女宾姓名,100;套系,100;价格,100;景点,100;日期,100;摄影,100;助理,100;化妆师,100;助理,100;套系类别,100");
  168. m_Listdigital.SetHeadings("订单号,100;男宾姓名,100;女宾姓名,100;套系,100;价格,100;初修,100;日期1,100;精修,100;日期2,100;设计,100;日期3,100;初修,50;精修,50;设计,50;选片二销,50;套系类别,100");
  169. m_Listtake.LoadColumnInfo(210);
  170. m_Listdigital.LoadColumnInfo(211);
  171. #endif
  172. m_spinyear.SetRange(1900, 3000);
  173. m_spinmonth.SetRange(1, 12);
  174. BOOL bShowAll = 0;
  175. if (g_ncount == 100)bShowAll = 1;
  176. g_ncount = 0;
  177. GetData();
  178. if (bShowAll == 0)
  179. GetDlgItem(IDC_LIST3)->ShowWindow(0);
  180. if (IsHasRights2new(25) == 0)
  181. {
  182. m_ListBox1.EnableWindow(0);
  183. m_comboname.EnableWindow(0);
  184. GetDlgItem(IDC_BUTshowall)->EnableWindow(0);
  185. }
  186. else if (bShowAll)
  187. {
  188. g_ncount = 0;
  189. OnBUTshowall();
  190. }
  191. }
  192. void MySalary::FillGrid(CArray<CStringArray, CStringArray>*array)
  193. {
  194. m_List1.DeleteAllItems2();
  195. int ii = 0;
  196. m_List1.m_arLabels.SetSize(array->GetSize(), 1);
  197. int count = 0;
  198. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  199. {
  200. m_List1.m_arLabels.ElementAt(count++).Copy(array->ElementAt(ii));
  201. }
  202. m_List1.m_arLabels.SetSize(count, 1);
  203. ii = count;
  204. m_List1.m_LabelCount = ii;
  205. m_List1.SetItemCountEx(ii);
  206. }
  207. void MySalary::FillGridTake(CArray<CStringArray, CStringArray>*array)
  208. {
  209. m_Listtake.DeleteAllItems2();
  210. int ii = 0;
  211. m_Listtake.m_arLabels.SetSize(array->GetSize(), 1);
  212. int count = 0;
  213. for (ii = 0; ii < m_Listtake.m_arLabels.GetSize(); ii++)
  214. {
  215. m_Listtake.m_arLabels.ElementAt(count++).Copy(array->ElementAt(ii));
  216. }
  217. m_Listtake.m_arLabels.SetSize(count, 1);
  218. ii = count;
  219. m_Listtake.m_LabelCount = ii;
  220. m_Listtake.SetItemCountEx(ii);
  221. }
  222. void MySalary::FillGridDigital(CArray<CStringArray, CStringArray>*array)
  223. {
  224. m_Listdigital.DeleteAllItems2();
  225. int ii = 0;
  226. m_Listdigital.m_arLabels.SetSize(array->GetSize(), 1);
  227. int count = 0;
  228. for (ii = 0; ii < m_Listdigital.m_arLabels.GetSize(); ii++)
  229. {
  230. m_Listdigital.m_arLabels.ElementAt(count++).Copy(array->ElementAt(ii));
  231. }
  232. m_Listdigital.m_arLabels.SetSize(count, 1);
  233. ii = count;
  234. m_Listdigital.m_LabelCount = ii;
  235. m_Listdigital.SetItemCountEx(ii);
  236. }
  237. void MySalary::OnBUTclose()
  238. {
  239. GetParent()->SendMessage(WM_CLOSE);
  240. }
  241. void MySalary::GetData()
  242. {
  243. m_bInit = 1;
  244. g_sendhead.bsql = 0;
  245. g_sendhead.code[0] = 34; // renyuan表;
  246. g_sendhead.code[1] = 146; // workrate表;
  247. g_sendhead.tabcount = 2;
  248. CString filter = _T("dimission='在职';");
  249. g_pMainWnd->ProcessChatMessageRequest2(filter);
  250. if (g_bSendOK == 0)return;
  251. DataToArray(&m_List1array, &m_Workratearray);
  252. int i = 0;
  253. m_ListBox1.ResetContent();
  254. for ( i = 0; i < m_List1array.GetSize(); i++)
  255. {
  256. m_ListBox1.AddString(m_List1array.ElementAt(i).ElementAt(0));
  257. }
  258. CString str;
  259. for (i = 0; i < m_ListBox1.GetCount(); i++)
  260. {
  261. m_ListBox1.GetText(i, str);
  262. if (str == g_user.name)
  263. {
  264. m_ListBox1.SetCurSel(i);
  265. m_comboname.AddString(g_user.name);
  266. m_comboname.SetCurSel(m_comboname.FindString(0, g_user.name));
  267. OnSelchangeList1();
  268. break;
  269. }
  270. }
  271. }
  272. void MySalary::OnChangeEDITyear()
  273. {
  274. }
  275. void MySalary::OnChangeEDITmonth()
  276. {
  277. }
  278. extern float GetSalaryFromRule(float fmoney, CString rule);
  279. CString GetRule(CString name)
  280. {
  281. CString oldrule = g_cominfoarray.ElementAt(0).ElementAt(77);
  282. CString header = "$" + name + ":";
  283. CString left, right;
  284. int pos = oldrule.Find(header);
  285. if (pos != -1)
  286. {
  287. right = oldrule.Right(oldrule.GetLength() - pos - header.GetLength());
  288. pos = right.Find("$");
  289. if (pos != -1)
  290. right = right.Left(pos);
  291. right = header + right;
  292. return right;
  293. }
  294. return "";
  295. }
  296. #if 0
  297. void MySalary::OnSelchangeList1()
  298. {
  299. if (m_bInit == 0)return;
  300. UpdateData();
  301. GetDlgItem(IDC_DATETIMEPICKER1)->EnableWindow(0);
  302. GetDlgItem(IDC_DATETIMEPICKER2)->EnableWindow(0);
  303. if (m_bAll)
  304. {
  305. m_List3array.RemoveAll();
  306. FillGrid2();
  307. GetDlgItem(IDC_DATETIMEPICKER1)->EnableWindow(1);
  308. GetDlgItem(IDC_DATETIMEPICKER2)->EnableWindow(1);
  309. return;
  310. }
  311. CString strStaffName;
  312. int pos = m_comboname.GetCurSel();
  313. if (pos == -1)
  314. {
  315. GetDlgItem(IDC_DATETIMEPICKER1)->EnableWindow(1);
  316. GetDlgItem(IDC_DATETIMEPICKER2)->EnableWindow(1);
  317. return;
  318. }
  319. m_comboname.GetWindowText(strStaffName);
  320. CString date1(_T("")), date2(_T(""));
  321. date1 = m_date1.Format("%Y-%m-%d");
  322. date2 = m_date2.Format("%Y-%m-%d");
  323. m_year = m_date1.GetYear();
  324. int i;
  325. int g_nYearposTemp = g_nYearpos;
  326. BOOL bLastYear = 0;
  327. BOOL bThisYear = 0;
  328. #if JEFF_TEST_ON // 2015开始禁用跨年数据;
  329. if (m_year >= 2014 && m_year <= atoi(g_date.Left(4)) && g_hisyeararray.GetSize())
  330. {
  331. g_nYearpos = -1;
  332. bThisYear = 1;
  333. }
  334. else if (m_year <= 2013 && g_hisyeararray.GetSize())
  335. {
  336. g_nYearpos = GetYearPos(m_year);
  337. bLastYear = 1;
  338. }
  339. #else
  340. if (m_year == atoi(g_date.Left(4)) && g_hisyeararray.GetSize())
  341. bThisYear = 1;
  342. else if (m_year <= atoi(g_date.Left(4)) - 1 && g_hisyeararray.GetSize())
  343. bLastYear = 1;
  344. g_nYearpos = GetYearPos(m_year);
  345. #endif
  346. ///////////////
  347. CString filter = "name='" + strStaffName + "' and dimission='在职';date>='" + date1 + "' and date<='" + date2 + "';;date>='" + date1 + "' and date<='" + date2 + "' and renyuan3='" + strStaffName + "';time2>='" + date1 + "' and time2<='" + date2 + "' and status='OK'***date<'" + date1 + "';datetime>='" + date1 + "' and datetime<='" + date2 + "' and name='" + strStaffName + "'";
  348. CString temp;
  349. temp = ";[date]>='" + date1 + "' and [date]<='" + date2 + "' and [status]='OK' and ([waiter1]='" + strStaffName + "' or [waiter12]='" + strStaffName + "' or [waiter2]='" + strStaffName + "' or [waiter22]='" + strStaffName + "')";
  350. filter += temp;
  351. temp = ";([time8]>='" + date1 + "' and [time8]<='" + date2 + "' and [status4]='OK' and [waiter5]='" + strStaffName + "') or ([time9]>='" + date1 + "' and [time9]<='" + date2 + "' and [status6]='OK' and [waiter7]='" + strStaffName + "') or ([time10]>='" + date1 + "' and [time10]<='" + date2 + "' and [status5]='OK' and [waiter4]='" + strStaffName + "')";
  352. filter += temp;
  353. // filter后***的SQL属于case 61里的。
  354. g_sendhead.code[0] = 34; // reyuan;
  355. g_sendhead.code[1] = 59; // dindanbukuanview;
  356. g_sendhead.code[2] = 60; // dindan;
  357. g_sendhead.code[3] = 198; // singleincomemoneyview;
  358. g_sendhead.code[4] = 61; // dindan + dindanbukuan;
  359. g_sendhead.code[5] = 142; // dindan + mywork;
  360. g_sendhead.code[6] = 192; // dindan + dindanjd;
  361. g_sendhead.code[7] = 193; // digitalview;
  362. g_sendhead.tabcount = 8;
  363. g_sendhead.bsql = 0;
  364. g_pMainWnd->ProcessChatMessageRequest2(filter);
  365. if (g_bSendOK == 0)
  366. {
  367. g_nYearpos = g_nYearposTemp;
  368. GetDlgItem(IDC_DATETIMEPICKER1)->EnableWindow(1);
  369. GetDlgItem(IDC_DATETIMEPICKER2)->EnableWindow(1);
  370. return;
  371. }
  372. CArray<CStringArray, CStringArray>AryUser; // 人员;
  373. CArray<CStringArray, CStringArray>AryReplenishment; // 补款;
  374. CArray<CStringArray, CStringArray>AryWaiter; // 服务人员;
  375. CArray<CStringArray, CStringArray>singleincomearray;
  376. CArray<CStringArray, CStringArray>bukuanarray2;
  377. CArray<CStringArray, CStringArray>takearray;
  378. CArray<CStringArray, CStringArray>digitalarray;
  379. DataToArray(&AryUser, &AryReplenishment, &AryWaiter, &singleincomearray, &bukuanarray2, &m_List4array, &takearray, &digitalarray);
  380. ///////////////////
  381. if (bLastYear)//如果是去年, 则加今年的补款;
  382. {
  383. g_nYearpos = -1;//今年
  384. filter = "name='" + strStaffName + "' and dimission='在职';date>='" + date1 + "' and date<='" + date2 + "';;date>='" + date1 + "' and date<='" + date2 + "' and renyuan3='" + strStaffName + "';time2>='" + date1 + "' and time2<='" + date2 + "' and status='OK'***date<'" + date1 + "';datetime>='" + date1 + "' and datetime<='" + date2 + "' and name='" + strStaffName + "'";
  385. CString temp;
  386. temp = ";[date]>='" + date1 + "' and [date]<='" + date2 + "' and [status]='OK' and ([waiter1]='" + strStaffName + "' or [waiter12]='" + strStaffName + "' or [waiter2]='" + strStaffName + "' or [waiter22]='" + strStaffName + "')";
  387. filter += temp;
  388. temp = ";([time8]>='" + date1 + "' and [time8]<='" + date2 + "' and [status4]='OK' and [waiter5]='" + strStaffName + "') or ([time9]>='" + date1 + "' and [time9]<='" + date2 + "' and [status6]='OK' and [waiter7]='" + strStaffName + "') or ([time10]>='" + date1 + "' and [time10]<='" + date2 + "' and [status5]='OK' and [waiter4]='" + strStaffName + "')";
  389. filter += temp;
  390. g_sendhead.code[0] = 34; // reyuan;
  391. g_sendhead.code[1] = 59; // dindanbukuanview;
  392. g_sendhead.code[2] = 60; // dindan;
  393. g_sendhead.code[3] = 198; // singleincomemoneyview;
  394. g_sendhead.code[4] = 61; // dindan + dindanbukuan;
  395. g_sendhead.code[5] = 142; // dindan + mywork;
  396. g_sendhead.code[6] = 192; // dindan + dindanjd;
  397. g_sendhead.code[7] = 193; // digitalview;
  398. g_sendhead.tabcount = 8;
  399. g_sendhead.bsql = 0;
  400. g_pMainWnd->ProcessChatMessageRequest2(filter);
  401. if (g_bSendOK == 0)
  402. {
  403. g_nYearpos = g_nYearposTemp;
  404. GetDlgItem(IDC_DATETIMEPICKER1)->EnableWindow(1);
  405. GetDlgItem(IDC_DATETIMEPICKER2)->EnableWindow(1);
  406. return;
  407. }
  408. CArray<CStringArray, CStringArray>ThisYearbukuanarray;
  409. CArray<CStringArray, CStringArray>ThisYearwaiterarray;
  410. CArray<CStringArray, CStringArray>ThisYearsingleincomearray;
  411. CArray<CStringArray, CStringArray>ThisYearbukuanarray2;
  412. CArray<CStringArray, CStringArray>ThisYearm_List4array;
  413. CArray<CStringArray, CStringArray>ThisYeartakearray;
  414. CArray<CStringArray, CStringArray>ThisYeardigitalarray;
  415. DataToArray(&AryUser, &ThisYearbukuanarray, &ThisYearwaiterarray, &ThisYearsingleincomearray, &ThisYearbukuanarray2, &ThisYearm_List4array, &ThisYeartakearray, &ThisYeardigitalarray);
  416. int oldsize = AryReplenishment.GetSize();
  417. AryReplenishment.SetSize(oldsize + ThisYearbukuanarray.GetSize());
  418. for (i = oldsize; i < oldsize + ThisYearbukuanarray.GetSize(); i++)
  419. {
  420. AryReplenishment.ElementAt(i).Copy(ThisYearbukuanarray.ElementAt(i - oldsize));
  421. }
  422. oldsize = AryWaiter.GetSize();
  423. AryWaiter.SetSize(oldsize + ThisYearwaiterarray.GetSize());
  424. for (i = oldsize; i < oldsize + ThisYearwaiterarray.GetSize(); i++)
  425. {
  426. AryWaiter.ElementAt(i).Copy(ThisYearwaiterarray.ElementAt(i - oldsize));
  427. }
  428. oldsize = singleincomearray.GetSize();
  429. singleincomearray.SetSize(oldsize + ThisYearsingleincomearray.GetSize());
  430. for (i = oldsize; i < oldsize + ThisYearsingleincomearray.GetSize(); i++)
  431. {
  432. singleincomearray.ElementAt(i).Copy(ThisYearsingleincomearray.ElementAt(i - oldsize));
  433. }
  434. oldsize = bukuanarray2.GetSize();
  435. bukuanarray2.SetSize(oldsize + ThisYearbukuanarray2.GetSize());
  436. for (i = oldsize; i < oldsize + ThisYearbukuanarray2.GetSize(); i++)
  437. {
  438. bukuanarray2.ElementAt(i).Copy(ThisYearbukuanarray2.ElementAt(i - oldsize));
  439. }
  440. oldsize = m_List4array.GetSize();
  441. m_List4array.SetSize(oldsize + ThisYearm_List4array.GetSize());
  442. for (i = oldsize; i < oldsize + ThisYearm_List4array.GetSize(); i++)
  443. {
  444. m_List4array.ElementAt(i).Copy(ThisYearm_List4array.ElementAt(i - oldsize));
  445. }
  446. oldsize = takearray.GetSize();
  447. takearray.SetSize(oldsize + ThisYeartakearray.GetSize());
  448. for (i = oldsize; i < oldsize + ThisYeartakearray.GetSize(); i++)
  449. {
  450. takearray.ElementAt(i).Copy(ThisYeartakearray.ElementAt(i - oldsize));
  451. }
  452. oldsize = digitalarray.GetSize();
  453. digitalarray.SetSize(oldsize + ThisYeardigitalarray.GetSize());
  454. for (i = oldsize; i < oldsize + ThisYeardigitalarray.GetSize(); i++)
  455. {
  456. digitalarray.ElementAt(i).Copy(ThisYeardigitalarray.ElementAt(i - oldsize));
  457. }
  458. }
  459. else if (bThisYear)//如果是今年, 则加去年的补款
  460. {
  461. g_nYearpos = 0;//去年
  462. filter = "date>='" + date1 + "' and date<='" + date2 + "';;date>='" + date1 + "' and date<='" + date2 + "' and renyuan3='" + strStaffName + "';time2>='" + date1 + "' and time2<='" + date2 + "' and status='OK'***date<'" + date1 + "';datetime>='" + date1 + "' and datetime<='" + date2 + "' and name='" + strStaffName + "'";
  463. CString temp;
  464. temp = ";[date]>='" + date1 + "' and [date]<='" + date2 + "' and [status]='OK' and ([waiter1]='" + strStaffName + "' or [waiter12]='" + strStaffName + "' or [waiter2]='" + strStaffName + "' or [waiter22]='" + strStaffName + "')";
  465. filter += temp;
  466. temp = ";([time8]>='" + date1 + "' and [time8]<='" + date2 + "' and [status4]='OK' and [waiter5]='" + strStaffName + "') or ([time9]>='" + date1 + "' and [time9]<='" + date2 + "' and [status6]='OK' and [waiter7]='" + strStaffName + "') or ([time10]>='" + date1 + "' and [time10]<='" + date2 + "' and [status5]='OK' and [waiter4]='" + strStaffName + "')";
  467. filter += temp;
  468. g_sendhead.code[0] = 59; // dindanbukuanview;
  469. g_sendhead.code[1] = 60; // dindan;
  470. g_sendhead.code[2] = 198; // singleincomemoneyview;
  471. g_sendhead.code[3] = 61; // dindan + bukuan;
  472. g_sendhead.code[4] = 142; // mywork;
  473. g_sendhead.code[5] = 192; // dindanjd;
  474. g_sendhead.code[6] = 193; // digitalview;
  475. g_sendhead.tabcount = 7;
  476. g_sendhead.bsql = 0;
  477. g_pMainWnd->ProcessChatMessageRequest2(filter);
  478. if (g_bSendOK == 0)
  479. {
  480. g_nYearpos = g_nYearposTemp;
  481. GetDlgItem(IDC_DATETIMEPICKER1)->EnableWindow(1);
  482. GetDlgItem(IDC_DATETIMEPICKER2)->EnableWindow(1);
  483. return;
  484. }
  485. CArray<CStringArray, CStringArray>ThisYearbukuanarray;
  486. CArray<CStringArray, CStringArray>ThisYearwaiterarray;
  487. CArray<CStringArray, CStringArray>ThisYearsingleincomearray;
  488. CArray<CStringArray, CStringArray>ThisYearbukuanarray2;
  489. CArray<CStringArray, CStringArray>ThisYearm_List4array;
  490. CArray<CStringArray, CStringArray>ThisYeartakearray;
  491. CArray<CStringArray, CStringArray>ThisYeardigitalarray;
  492. DataToArray(&ThisYearbukuanarray, &ThisYearwaiterarray, &ThisYearsingleincomearray, &ThisYearbukuanarray2, &ThisYearm_List4array, &ThisYeartakearray, &ThisYeardigitalarray);
  493. int oldsize = AryReplenishment.GetSize();
  494. AryReplenishment.SetSize(oldsize + ThisYearbukuanarray.GetSize());
  495. for (i = oldsize; i < oldsize + ThisYearbukuanarray.GetSize(); i++)
  496. {
  497. AryReplenishment.ElementAt(i).Copy(ThisYearbukuanarray.ElementAt(i - oldsize));
  498. }
  499. oldsize = AryWaiter.GetSize();
  500. AryWaiter.SetSize(oldsize + ThisYearwaiterarray.GetSize());
  501. for (i = oldsize; i < oldsize + ThisYearwaiterarray.GetSize(); i++)
  502. {
  503. AryWaiter.ElementAt(i).Copy(ThisYearwaiterarray.ElementAt(i - oldsize));
  504. }
  505. oldsize = singleincomearray.GetSize();
  506. singleincomearray.SetSize(oldsize + ThisYearsingleincomearray.GetSize());
  507. for (i = oldsize; i < oldsize + ThisYearsingleincomearray.GetSize(); i++)
  508. {
  509. singleincomearray.ElementAt(i).Copy(ThisYearsingleincomearray.ElementAt(i - oldsize));
  510. }
  511. oldsize = bukuanarray2.GetSize();
  512. bukuanarray2.SetSize(oldsize + ThisYearbukuanarray2.GetSize());
  513. for (i = oldsize; i < oldsize + ThisYearbukuanarray2.GetSize(); i++)
  514. {
  515. bukuanarray2.ElementAt(i).Copy(ThisYearbukuanarray2.ElementAt(i - oldsize));
  516. }
  517. oldsize = m_List4array.GetSize();
  518. m_List4array.SetSize(oldsize + ThisYearm_List4array.GetSize());
  519. for (i = oldsize; i < oldsize + ThisYearm_List4array.GetSize(); i++)
  520. {
  521. m_List4array.ElementAt(i).Copy(ThisYearm_List4array.ElementAt(i - oldsize));
  522. }
  523. oldsize = takearray.GetSize();
  524. takearray.SetSize(oldsize + ThisYeartakearray.GetSize());
  525. for (i = oldsize; i < oldsize + ThisYeartakearray.GetSize(); i++)
  526. {
  527. takearray.ElementAt(i).Copy(ThisYeartakearray.ElementAt(i - oldsize));
  528. }
  529. oldsize = digitalarray.GetSize();
  530. digitalarray.SetSize(oldsize + ThisYeardigitalarray.GetSize());
  531. for (i = oldsize; i < oldsize + ThisYeardigitalarray.GetSize(); i++)
  532. {
  533. digitalarray.ElementAt(i).Copy(ThisYeardigitalarray.ElementAt(i - oldsize));
  534. }
  535. }
  536. g_nYearpos = g_nYearposTemp;
  537. // 收款记录:补款+其他收入;
  538. CArray<CStringArray, CStringArray>AryReceiptRecords;
  539. AryReceiptRecords.SetSize(AryReplenishment.GetSize() * 4 + bukuanarray2.GetSize() * 4 + singleincomearray.GetSize());
  540. // 前期业绩金额;
  541. float fEarlyAchievementMoney = 0;
  542. float money_摄影二销 = 0;
  543. float money_化妆或引导二销 = 0;
  544. float money_套系升级 = 0;
  545. float money_选片二销 = 0;
  546. CArray<float, float>moneyarray;
  547. CStringArray typearray;
  548. int typepos;
  549. int ii = 0;
  550. int arraypos = 0;
  551. // 遍历时间范围:(时间1-时间2)内的收款;
  552. for ( ii = 0; ii < AryReplenishment.GetSize(); ii++)
  553. {
  554. // printf("idx=%d, id=%s, money=%s, ren=%s, bz=%s, txtype=%s\n", ii, AryReplenishment.ElementAt(ii).ElementAt(5), AryReplenishment.ElementAt(ii).ElementAt(0), AryReplenishment.ElementAt(ii).ElementAt(6),AryReplenishment.ElementAt(ii).ElementAt(7), AryReplenishment.ElementAt(ii).ElementAt(8));
  555. AryReceiptRecords.ElementAt(arraypos).RemoveAll();
  556. // 前期业绩;
  557. if (AryReplenishment.ElementAt(ii).ElementAt(2) == "3" || AryReplenishment.ElementAt(ii).ElementAt(2) == "4")//预约收款/预约补款;
  558. {
  559. // 是否是摄影师;
  560. BOOL bPhotographer = FALSE;
  561. // 是否是化妆师;
  562. BOOL bMakeupArtist = FALSE;
  563. float fscale1 = 0;
  564. float fscale2 = 0;
  565. // 获取指定订单号的服务人员信息;
  566. IsWaiter2(AryReplenishment.ElementAt(ii).ElementAt(5), strStaffName, &AryWaiter, bPhotographer, bMakeupArtist, fscale1, fscale2, 0, date1, date2);
  567. // ElementAt(56):工资设置:摄影师也有前期提成;
  568. if (bPhotographer && atoi(g_cominfoarray.ElementAt(0).ElementAt(56))) // 摄影师前期提成;
  569. {
  570. // ElementAt(0):收款金额;
  571. temp.Format("%0.2f", atof(AryReplenishment.ElementAt(ii).ElementAt(0))*fscale1);
  572. ConvertToPrice(temp);
  573. fEarlyAchievementMoney += atof(temp);
  574. typepos = FindArray(&typearray, _T("摄影前期"));
  575. if (typepos == -1)
  576. {
  577. typearray.Add(_T("摄影前期"));
  578. moneyarray.Add(atof(temp));
  579. }
  580. else
  581. {
  582. moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + atof(temp));
  583. }
  584. AryReceiptRecords.ElementAt(arraypos).Add(temp); // 收款金额;
  585. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(1)); // 收款日期;
  586. AryReceiptRecords.ElementAt(arraypos).Add(_T("摄影前期")); // 工资类型;
  587. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(3)); // 顾客1姓名;
  588. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(4)); // 顾客2姓名;
  589. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(8)); // 套系类型;
  590. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(10)); // 套系名称;
  591. arraypos++;
  592. }
  593. // ElementAt(57):工资设置:化妆师、引导师也有前期提成;
  594. if (bMakeupArtist && atoi(g_cominfoarray.ElementAt(0).ElementAt(57))) // 化妆师、引导师前期提成;
  595. {
  596. temp.Format("%0.2f", atof(AryReplenishment.ElementAt(ii).ElementAt(0))*fscale2);
  597. ConvertToPrice(temp);
  598. fEarlyAchievementMoney += atof(temp);
  599. typepos = FindArray(&typearray, _T("摄影前期"));
  600. if (typepos == -1)
  601. {
  602. typearray.Add(_T("摄影前期"));
  603. moneyarray.Add(atof(temp));
  604. }
  605. else
  606. {
  607. moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + atof(temp));
  608. }
  609. AryReceiptRecords.ElementAt(arraypos).Add(temp); // 收款金额;
  610. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(1)); // 收款日期;
  611. AryReceiptRecords.ElementAt(arraypos).Add(_T("化妆前期")); // 工资类型;
  612. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(3)); // 顾客1姓名;
  613. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(4)); // 顾客2姓名;
  614. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(8)); // 套系类型;
  615. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(10)); // 套系名称;
  616. arraypos++;
  617. }
  618. // 获取指定员工在订单下是否有门市职能;
  619. IsWaiter3(AryReplenishment.ElementAt(ii).ElementAt(5), strStaffName, &AryWaiter, bPhotographer, bMakeupArtist, fscale1, fscale2);
  620. if (bPhotographer)
  621. {
  622. temp.Format("%0.2f", atof(AryReplenishment.ElementAt(ii).ElementAt(0))*fscale1);
  623. ConvertToPrice(temp);
  624. fEarlyAchievementMoney += atof(temp);
  625. typepos = FindArray(&typearray, _T("前期"));
  626. if (typepos == -1)
  627. {
  628. typearray.Add(_T("前期"));
  629. moneyarray.Add(atof(temp));
  630. }
  631. else
  632. {
  633. moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + atof(temp));
  634. }
  635. AryReceiptRecords.ElementAt(arraypos).Add(temp); // 收款金额;
  636. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(1)); // 收款日期;
  637. AryReceiptRecords.ElementAt(arraypos).Add(_T("前期收款")); // 工资类型;
  638. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(3)); // 顾客1姓名;
  639. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(4)); // 顾客2姓名;
  640. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(8)); // 套系类型;
  641. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(10)); // 套系名称;
  642. arraypos++;
  643. }
  644. if (bMakeupArtist)
  645. {
  646. temp.Format("%0.2f", atof(AryReplenishment.ElementAt(ii).ElementAt(0))*fscale2);
  647. ConvertToPrice(temp);
  648. fEarlyAchievementMoney += atof(temp);
  649. typepos = FindArray(&typearray, _T("前期"));
  650. if (typepos == -1)
  651. {
  652. typearray.Add(_T("前期"));
  653. moneyarray.Add(atof(temp));
  654. }
  655. else
  656. {
  657. moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + atof(temp));
  658. }
  659. AryReceiptRecords.ElementAt(arraypos).Add(temp); // 收款金额;
  660. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(1)); // 收款日期;
  661. AryReceiptRecords.ElementAt(arraypos).Add(_T("前期收款")); // 工资类型;
  662. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(3)); // 顾客1姓名;
  663. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(4)); // 顾客2姓名;
  664. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(8)); // 套系类型;
  665. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(10)); // 套系名称;
  666. arraypos++;
  667. }
  668. continue;
  669. }
  670. // ElementAt(7):选片二销(后期业绩);
  671. else if (AryReplenishment.ElementAt(ii).ElementAt(7) == _T("选片二销"))//选片补款, 需加摄影师和化妆师;
  672. {
  673. // 是否是摄影师;
  674. BOOL bPhotographer = 0;
  675. // 是否是化妆师;
  676. BOOL bMakeupArtist = 0;
  677. float fscale1 = 0;
  678. float fscale2 = 0;
  679. // 获取员工在订单下的服务信息;
  680. IsWaiter2(AryReplenishment.ElementAt(ii).ElementAt(5), strStaffName, &AryWaiter, bPhotographer, bMakeupArtist, fscale1, fscale2, 0, date1, date2);
  681. // ElementAt(41):工资设置:摄影师也有选片二销提成;
  682. if (bPhotographer && atoi(g_cominfoarray.ElementAt(0).ElementAt(41))) // 摄影师也有选片二销提成;
  683. {
  684. temp.Format("%0.2f", atof(AryReplenishment.ElementAt(ii).ElementAt(0))*fscale1);
  685. ConvertToPrice(temp);
  686. money_选片二销 += atof(temp);
  687. typepos = FindArray(&typearray, _T("摄影选片二销"));
  688. if (typepos == -1)
  689. {
  690. typearray.Add(_T("摄影选片二销"));
  691. moneyarray.Add(atof(temp));
  692. }
  693. else
  694. {
  695. moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + atof(temp));
  696. }
  697. AryReceiptRecords.ElementAt(arraypos).Add(temp); // 收款金额;
  698. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(1)); // 收款日期;
  699. AryReceiptRecords.ElementAt(arraypos).Add(_T("摄影选片二销")); // 工资类型;
  700. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(3)); // 顾客1姓名;
  701. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(4)); // 顾客2姓名;
  702. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(8)); // 套系类型;
  703. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(10)); // 套系名称;
  704. arraypos++;
  705. }
  706. // ElementAt(42):工资设置:化妆师或引导师也有选片二销提成;
  707. if (bMakeupArtist && atoi(g_cominfoarray.ElementAt(0).ElementAt(42))) // 化妆师或引导师也有选片二销提成;
  708. {
  709. temp.Format("%0.2f", atof(AryReplenishment.ElementAt(ii).ElementAt(0))*fscale2);
  710. ConvertToPrice(temp);
  711. money_选片二销 += atof(temp);
  712. #ifdef CHILD_VERSION
  713. typepos = FindArray(&typearray, _T("引导选片二销"));
  714. #else
  715. typepos = FindArray(&typearray, _T("化妆选片二销"));
  716. #endif
  717. if (typepos == -1)
  718. {
  719. #ifdef CHILD_VERSION
  720. typearray.Add(_T("引导选片二销"));
  721. #else
  722. typearray.Add(_T("化妆选片二销"));
  723. #endif
  724. moneyarray.Add(atof(temp));
  725. }
  726. else
  727. {
  728. moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + atof(temp));
  729. }
  730. AryReceiptRecords.ElementAt(arraypos).Add(temp); // 收款金额;
  731. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(1)); // 收款日期;
  732. #ifdef CHILD_VERSION
  733. AryReceiptRecords.ElementAt(arraypos).Add(_T("引导选片二销")); // 工资类型;
  734. #else
  735. AryReceiptRecords.ElementAt(arraypos).Add(_T("化妆选片二销")); // 工资类型;
  736. #endif
  737. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(3)); // 顾客1姓名;
  738. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(4)); // 顾客2姓名;
  739. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(8)); // 套系类型;
  740. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(10)); // 套系名称;
  741. arraypos++;
  742. }
  743. // 以上统计了摄影师和化妆师的选片二销;
  744. // 以下是统计除摄影师与化妆师以外的其他人员的选片二销;
  745. // ElementAt(6):员工姓名;
  746. if (AryReplenishment.ElementAt(ii).ElementAt(6) != strStaffName)
  747. continue;
  748. temp.Format("%0.2f", atof(AryReplenishment.ElementAt(ii).ElementAt(0)));
  749. ConvertToPrice(temp);
  750. money_选片二销 += atof(temp);
  751. typepos = FindArray(&typearray, AryReplenishment.ElementAt(ii).ElementAt(7));
  752. if (typepos == -1)
  753. {
  754. typearray.Add(AryReplenishment.ElementAt(ii).ElementAt(7));
  755. moneyarray.Add(atof(temp));
  756. }
  757. else
  758. {
  759. moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + atof(temp));
  760. }
  761. AryReceiptRecords.ElementAt(arraypos).Add(temp); // 收款金额;
  762. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(1)); // 收款日期;
  763. AryReceiptRecords.ElementAt(arraypos).Add(_T("选片二销")); // 工资类型;
  764. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(3)); // 顾客1姓名;
  765. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(4)); // 顾客2姓名;
  766. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(8)); // 套系类型;
  767. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(10)); // 套系名称;
  768. }
  769. // 其他订单二销(后期业绩);
  770. else
  771. {// 统计除选片二销以外的其他订单二销;
  772. if (AryReplenishment.ElementAt(ii).ElementAt(6) != strStaffName)
  773. continue;
  774. temp.Format("%0.2f", atof(AryReplenishment.ElementAt(ii).ElementAt(0)));
  775. ConvertToPrice(temp);
  776. typepos = FindArray(&typearray, AryReplenishment.ElementAt(ii).ElementAt(7));
  777. if (typepos == -1)
  778. {
  779. typearray.Add(AryReplenishment.ElementAt(ii).ElementAt(7));
  780. moneyarray.Add(atof(temp));
  781. }
  782. else
  783. {
  784. moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + atof(temp));
  785. }
  786. money_摄影二销 += atof(temp);
  787. AryReceiptRecords.ElementAt(arraypos).Add(temp); // 收款金额;
  788. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(1)); // 收款日期;
  789. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(7)); // 工资类型;
  790. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(3)); // 顾客1姓名;
  791. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(4)); // 顾客2姓名;
  792. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(8)); // 套系类型;
  793. AryReceiptRecords.ElementAt(arraypos).Add(AryReplenishment.ElementAt(ii).ElementAt(10)); // 套系名称;
  794. }
  795. arraypos++;
  796. }
  797. // 遍历时间范围:时间1 之前的收款;
  798. for (ii = 0; ii < bukuanarray2.GetSize(); ii++)
  799. {
  800. AryReceiptRecords.ElementAt(arraypos).RemoveAll();
  801. // 前期业绩;
  802. if (bukuanarray2.ElementAt(ii).ElementAt(2) == "3" || bukuanarray2.ElementAt(ii).ElementAt(2) == "4")
  803. {
  804. BOOL bPhotographer = 0;
  805. BOOL bMakeupArtist = 0;
  806. float fscale1 = 0;
  807. float fscale2 = 0;
  808. IsWaiter2(bukuanarray2.ElementAt(ii).ElementAt(5), strStaffName, &AryWaiter, bPhotographer, bMakeupArtist, fscale1, fscale2, 1, date1, date2);
  809. if (bPhotographer && atoi(g_cominfoarray.ElementAt(0).ElementAt(56)))//我是摄影师
  810. {
  811. temp.Format("%0.2f", atof(bukuanarray2.ElementAt(ii).ElementAt(0))*fscale1);
  812. ConvertToPrice(temp);
  813. fEarlyAchievementMoney += atof(temp);
  814. typepos = FindArray(&typearray, _T("摄影前期"));
  815. if (typepos == -1)
  816. {
  817. typearray.Add(_T("摄影前期"));
  818. moneyarray.Add(atof(temp));
  819. }
  820. else
  821. {
  822. moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + atof(temp));
  823. }
  824. AryReceiptRecords.ElementAt(arraypos).Add(temp);
  825. AryReceiptRecords.ElementAt(arraypos).Add(bukuanarray2.ElementAt(ii).ElementAt(1));
  826. AryReceiptRecords.ElementAt(arraypos).Add(_T("摄影前期"));
  827. AryReceiptRecords.ElementAt(arraypos).Add(bukuanarray2.ElementAt(ii).ElementAt(3));
  828. AryReceiptRecords.ElementAt(arraypos).Add(bukuanarray2.ElementAt(ii).ElementAt(4));
  829. AryReceiptRecords.ElementAt(arraypos).Add(bukuanarray2.ElementAt(ii).ElementAt(8));
  830. AryReceiptRecords.ElementAt(arraypos).Add(bukuanarray2.ElementAt(ii).ElementAt(9));
  831. arraypos++;
  832. }
  833. if (bMakeupArtist && atoi(g_cominfoarray.ElementAt(0).ElementAt(57)))//我是化妆师
  834. {
  835. temp.Format("%0.2f", atof(bukuanarray2.ElementAt(ii).ElementAt(0))*fscale2);
  836. ConvertToPrice(temp);
  837. fEarlyAchievementMoney += atof(temp);
  838. typepos = FindArray(&typearray, _T("摄影前期"));
  839. if (typepos == -1)
  840. {
  841. typearray.Add(_T("摄影前期"));
  842. moneyarray.Add(atof(temp));
  843. }
  844. else
  845. {
  846. moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + atof(temp));
  847. }
  848. AryReceiptRecords.ElementAt(arraypos).Add(temp);
  849. AryReceiptRecords.ElementAt(arraypos).Add(bukuanarray2.ElementAt(ii).ElementAt(1));
  850. AryReceiptRecords.ElementAt(arraypos).Add(_T("化妆前期"));
  851. AryReceiptRecords.ElementAt(arraypos).Add(bukuanarray2.ElementAt(ii).ElementAt(3));
  852. AryReceiptRecords.ElementAt(arraypos).Add(bukuanarray2.ElementAt(ii).ElementAt(4));
  853. AryReceiptRecords.ElementAt(arraypos).Add(bukuanarray2.ElementAt(ii).ElementAt(8));
  854. AryReceiptRecords.ElementAt(arraypos).Add(bukuanarray2.ElementAt(ii).ElementAt(9));
  855. arraypos++;
  856. }
  857. continue;
  858. }
  859. }
  860. // 单笔收入;
  861. for (ii = 0; ii < singleincomearray.GetSize(); ii++)
  862. {
  863. AryReceiptRecords.ElementAt(arraypos).RemoveAll();
  864. temp.Format("%0.2f", atof(singleincomearray.ElementAt(ii).ElementAt(4)));
  865. ConvertToPrice(temp);
  866. if (singleincomearray.ElementAt(ii).ElementAt(3) == _T("摄影二销"))
  867. money_摄影二销 += atof(temp);
  868. #ifndef CHILD_VERSION
  869. else if (singleincomearray.ElementAt(ii).ElementAt(3) == _T("化妆二销"))
  870. #else
  871. else if (singleincomearray.ElementAt(ii).ElementAt(3) == _T("引导二销"))
  872. #endif
  873. money_化妆或引导二销 += atof(temp);
  874. else if (singleincomearray.ElementAt(ii).ElementAt(3) == _T("套系升级"))
  875. money_套系升级 += atof(temp);
  876. else if (singleincomearray.ElementAt(ii).ElementAt(3) == _T("选片二销"))
  877. money_选片二销 += atof(temp);
  878. typepos = FindArray(&typearray, singleincomearray.ElementAt(ii).ElementAt(3));
  879. if (typepos == -1)
  880. {
  881. typearray.Add(singleincomearray.ElementAt(ii).ElementAt(3));
  882. moneyarray.Add(atof(temp));
  883. }
  884. else
  885. {
  886. moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + atof(temp));
  887. }
  888. AryReceiptRecords.ElementAt(arraypos).Add(temp); // 收款金额;
  889. AryReceiptRecords.ElementAt(arraypos).Add(singleincomearray.ElementAt(ii).ElementAt(5)); // 收款日期;
  890. AryReceiptRecords.ElementAt(arraypos).Add(singleincomearray.ElementAt(ii).ElementAt(3)); // 工资类型;
  891. AryReceiptRecords.ElementAt(arraypos).Add(singleincomearray.ElementAt(ii).ElementAt(1)); // 顾客1姓名;
  892. AryReceiptRecords.ElementAt(arraypos).Add(""); // 顾客2姓名;
  893. AryReceiptRecords.ElementAt(arraypos).Add(""); // 套系类型;
  894. AryReceiptRecords.ElementAt(arraypos).Add(singleincomearray.ElementAt(ii).ElementAt(7)); // 套系名称;
  895. arraypos++;
  896. }
  897. AryReceiptRecords.SetSize(arraypos);
  898. // 填充订单、摄影师前期业绩列表;
  899. FillGrid(&AryReceiptRecords);
  900. // 填充计件式提成列表;
  901. FillGrid4(m_str计件式提成总和);
  902. // 填充摄影师与助理的景点列表;
  903. FillGridTake(&takearray);
  904. // 填充修片与精修与设计列表;
  905. FillGridDigital(&digitalarray);
  906. if (AryUser.GetSize())
  907. {
  908. // 员工姓名;
  909. m_strStaffName = AryUser.ElementAt(0).ElementAt(0);
  910. // 员工基本工资;
  911. m_strBasicWage = AryUser.ElementAt(0).ElementAt(1);
  912. // 员工前期方案;
  913. CString baseexpendtype = AryUser.ElementAt(0).ElementAt(2);
  914. // 员工后期方案;
  915. CString baseexpendtype2 = AryUser.ElementAt(0).ElementAt(3);
  916. // 员工备注;
  917. m_strStaffNote = AryUser.ElementAt(0).ElementAt(4);
  918. // 是否有前期业绩;
  919. typepos = FindArray(&typearray, _T("前期"));
  920. if (typepos == -1)
  921. {
  922. m_strEarlyAchievementMoney = "0";
  923. fEarlyAchievementMoney = 0;
  924. }
  925. else
  926. {// 获取前期业绩金额;
  927. fEarlyAchievementMoney = moneyarray.ElementAt(typepos);
  928. }
  929. // 是否有摄影前期业绩;
  930. float money_摄影前期业绩 = 0;
  931. typepos = FindArray(&typearray, _T("摄影前期"));
  932. if (typepos == -1)
  933. {
  934. money_摄影前期业绩 = 0;
  935. }
  936. else
  937. {
  938. money_摄影前期业绩 = moneyarray.ElementAt(typepos);
  939. }
  940. m_strEarlyAchievementMoney.Format("%0.2f", fEarlyAchievementMoney + money_摄影前期业绩);
  941. // 合计其他:除去订单前期业绩和摄影前期业绩以外的业绩;
  942. money_摄影二销 = 0;
  943. float realmoney2 = 0;
  944. for (int i = 0; i < typearray.GetSize(); i++)
  945. {
  946. if (_T("前期") == typearray.ElementAt(i))continue;
  947. if (_T("摄影前期") == typearray.ElementAt(i))continue;
  948. // 排除掉“前期”和“摄影前期”,因为这两项是在财务管理->提成比例中设置的,不需要单独方案;
  949. realmoney2 += GetSalaryFromRule(moneyarray.ElementAt(i), GetRule(typearray.ElementAt(i)));
  950. money_摄影二销 += moneyarray.ElementAt(i);
  951. }
  952. m_strSecondarySalesAchievementMoney.Format("%0.2f", money_摄影二销);
  953. ConvertToPrice(m_str计件式提成总和);
  954. m_strTotalWage.Format("%0.2f", atof(m_strBasicWage) + atof(m_str计件式提成总和) + realmoney2 + GetSalaryFromRule(fEarlyAchievementMoney, GetRule(baseexpendtype)) + GetSalaryFromRule(money_摄影前期业绩, GetRule(baseexpendtype2)));
  955. ConvertToPrice(m_strTotalWage);
  956. }
  957. else
  958. {
  959. m_strStaffName = _T("");
  960. m_strBasicWage = _T("");
  961. m_strStaffNote = _T("");
  962. m_strTotalWage = _T("");
  963. m_strEarlyAchievementMoney = _T("");
  964. m_strSecondarySalesAchievementMoney = _T("");
  965. m_money3 = _T("");
  966. m_money4 = _T("");
  967. m_money5 = _T("");
  968. m_str计件式提成总和 = _T("");
  969. }
  970. UpdateData(false);
  971. GetDlgItem(IDC_DATETIMEPICKER1)->EnableWindow(1);
  972. GetDlgItem(IDC_DATETIMEPICKER2)->EnableWindow(1);
  973. //////////////////////////////
  974. CString totalstr, str, field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12;
  975. float sum = 0;
  976. int waiter1count = 0;
  977. int waiter12count = 0;
  978. int waiter2count = 0;
  979. int waiter22count = 0;
  980. for (i = 0; i < m_Listtake.GetItemCount(); i++)
  981. {
  982. field2 = m_Listtake.GetItemText(i, 3);
  983. field3 = m_Listtake.GetItemText(i, 4);
  984. sum += atof(field3);
  985. field4 = m_Listtake.GetItemText(i, 5);
  986. field5 = m_Listtake.GetItemText(i, 6);
  987. field6 = m_Listtake.GetItemText(i, 7);
  988. field7 = m_Listtake.GetItemText(i, 8);
  989. field8 = m_Listtake.GetItemText(i, 9);
  990. field9 = m_Listtake.GetItemText(i, 10);
  991. if (field6 == strStaffName)waiter1count++;
  992. if (field7 == strStaffName)waiter12count++;
  993. if (field8 == strStaffName)waiter2count++;
  994. if (field9 == strStaffName)waiter22count++;
  995. }
  996. str = "摄影师与助理\r\n";
  997. totalstr += str;
  998. str.Format("摄影: %d\r\n", waiter1count); totalstr += str;
  999. str.Format("助理: %d\r\n", waiter12count); totalstr += str;
  1000. #ifdef CHILD_VERSION
  1001. str.Format("引导: %d\r\n", waiter2count); totalstr += str;
  1002. #else
  1003. str.Format("化妆: %d\r\n", waiter2count); totalstr += str;
  1004. #endif
  1005. str.Format("助理: %d\r\n", waiter22count); totalstr += str;
  1006. str.Format("订单总金额: %0.2f\r\n\r\n", sum); totalstr += str;
  1007. float sum1 = 0;
  1008. float sum2 = 0;
  1009. float sum3 = 0;
  1010. float sum12 = 0;
  1011. float sum22 = 0;
  1012. float sum32 = 0;
  1013. int sum13 = 0;
  1014. int sum23 = 0;
  1015. int sum33 = 0;
  1016. int sum14 = 0;
  1017. int sum24 = 0;
  1018. int sum34 = 0;
  1019. int count1 = 0;
  1020. int count2 = 0;
  1021. int count3 = 0;
  1022. for (i = 0; i < m_Listdigital.GetItemCount(); i++)
  1023. {
  1024. field2 = m_Listdigital.GetItemText(i, 3);
  1025. field3 = m_Listdigital.GetItemText(i, 4);
  1026. field4 = m_Listdigital.GetItemText(i, 5);
  1027. field5 = m_Listdigital.GetItemText(i, 6);
  1028. field6 = m_Listdigital.GetItemText(i, 7);
  1029. field7 = m_Listdigital.GetItemText(i, 8);
  1030. field8 = m_Listdigital.GetItemText(i, 9);
  1031. field9 = m_Listdigital.GetItemText(i, 10);
  1032. field10 = m_Listdigital.GetItemText(i, 14);
  1033. field11 = m_Listdigital.GetItemText(i, 16);
  1034. field12 = m_Listdigital.GetItemText(i, 17);
  1035. if (m_Listdigital.GetItemText(i, 11) == "OK" && field4 == strStaffName && field5 >= date1 && field5 <= date2)
  1036. {
  1037. sum1 += atof(field3);
  1038. sum12 += atof(field10);
  1039. sum13 += atoi(field11);
  1040. sum14 += atoi(field12);
  1041. count1++;
  1042. }
  1043. if (m_Listdigital.GetItemText(i, 12) == "OK" && field6 == strStaffName && field7 >= date1 && field7 <= date2)
  1044. {
  1045. sum2 += atof(field3);
  1046. sum22 += atof(field10);
  1047. sum23 += atoi(field11);
  1048. sum24 += atoi(field12);
  1049. count2++;
  1050. }
  1051. if (m_Listdigital.GetItemText(i, 13) == "OK" && field8 == strStaffName && field9 >= date1 && field9 <= date2)
  1052. {
  1053. sum3 += atof(field3);
  1054. sum32 += atof(field10);
  1055. sum33 += atoi(field11);
  1056. sum34 += atoi(field12);
  1057. count3++;
  1058. }
  1059. }
  1060. str = "修片与精修与设计\r\n";
  1061. totalstr += str;
  1062. #ifdef LKAY_VERSION
  1063. str.Format ("初修: %d单 \r\n订单金额:%0.2f \r\n选片二销:%0.2f\r\nP数:%d\r\n张数:%d\r\n\r\n", count1, sum1, sum12, sum13, sum14);totalstr+=str;
  1064. str.Format ("精修: %d单 \r\n订单金额:%0.2f \r\n选片二销:%0.2f\r\nP数:%d\r\n张数:%d\r\n\r\n", count2, sum2, sum22, sum23, sum24);totalstr+=str;
  1065. str.Format ("设计: %d单 \r\n订单金额:%0.2f \r\n选片二销:%0.2f\r\nP数:%d\r\n张数:%d\r\n\r\n", count3, sum3, sum32, sum33, sum34);totalstr+=str;
  1066. #else
  1067. str.Format("初修: %d单 \r\n订单金额:%0.2f \r\n选片二销:%0.2f\r\n\r\n", count1, sum1, sum12); totalstr += str;
  1068. str.Format("精修: %d单 \r\n订单金额:%0.2f \r\n选片二销:%0.2f\r\n\r\n", count2, sum2, sum22); totalstr += str;
  1069. str.Format("设计: %d单 \r\n订单金额:%0.2f \r\n选片二销:%0.2f\r\n\r\n", count3, sum3, sum32); totalstr += str;
  1070. #endif
  1071. GetDlgItem(IDC_EDITbz2)->SetWindowText(totalstr);
  1072. }
  1073. #else
  1074. void MySalary::OnSelchangeList1()
  1075. {
  1076. if (m_bInit == 0)return;
  1077. UpdateData();
  1078. GetDlgItem(IDC_DATETIMEPICKER1)->EnableWindow(0);
  1079. GetDlgItem(IDC_DATETIMEPICKER2)->EnableWindow(0);
  1080. if (m_bAll)
  1081. {
  1082. m_List3array.RemoveAll();
  1083. FillGrid2();
  1084. GetDlgItem(IDC_DATETIMEPICKER1)->EnableWindow(1);
  1085. GetDlgItem(IDC_DATETIMEPICKER2)->EnableWindow(1);
  1086. return;
  1087. }
  1088. CString strStaffName;
  1089. int pos = m_comboname.GetCurSel();
  1090. if (pos == -1)
  1091. {
  1092. GetDlgItem(IDC_DATETIMEPICKER1)->EnableWindow(1);
  1093. GetDlgItem(IDC_DATETIMEPICKER2)->EnableWindow(1);
  1094. return;
  1095. }
  1096. m_comboname.GetWindowText(strStaffName);
  1097. CString date1(_T("")), date2(_T(""));
  1098. date1 = m_date1.Format("%Y-%m-%d");
  1099. date2 = m_date2.Format("%Y-%m-%d");
  1100. m_year = m_date1.GetYear();
  1101. int i;
  1102. CStaffWage StaffWage;
  1103. StaffWage.GetStaffWageData(strStaffName, date1, date2);
  1104. StaffWage.GetEarlyReuslts(StaffWage.m_AryEarlyResult);
  1105. // 填充订单、摄影师前期业绩列表;
  1106. FillGrid(&StaffWage.m_AryEarlyResult);
  1107. // 填充计件式提成列表;
  1108. FillGrid4(m_str计件式提成总和);
  1109. // 填充摄影师与助理的景点列表;
  1110. FillGridTake(&StaffWage.m_ArySceneryWorkRecord);
  1111. // 填充修片与精修与设计列表;
  1112. FillGridDigital(&StaffWage.m_AryDigitalWorkRecord);
  1113. if (StaffWage.m_AryStaffDetail.GetSize())
  1114. {
  1115. // 员工姓名;
  1116. m_strStaffName = StaffWage.m_AryStaffDetail.ElementAt(0).ElementAt(0);
  1117. // 员工基本工资;
  1118. m_strBasicWage = StaffWage.m_AryStaffDetail.ElementAt(0).ElementAt(1);
  1119. // 员工前期方案;
  1120. CString baseexpendtype = StaffWage.m_AryStaffDetail.ElementAt(0).ElementAt(2);
  1121. // 员工后期方案;
  1122. CString baseexpendtype2 = StaffWage.m_AryStaffDetail.ElementAt(0).ElementAt(3);
  1123. // 员工备注;
  1124. m_strStaffNote = StaffWage.m_AryStaffDetail.ElementAt(0).ElementAt(4);
  1125. // 是否有前期业绩;
  1126. int typepos = FindArray(&StaffWage.m_AryWageType, WAGE_EARLY_SALES);
  1127. if (typepos == -1)
  1128. {
  1129. m_strEarlyAchievementMoney = "0";
  1130. StaffWage.m_fEaryResultMoney = 0;
  1131. }
  1132. else
  1133. {// 获取前期业绩金额;
  1134. StaffWage.m_fEaryResultMoney = StaffWage.m_AryWageTypeMoney.ElementAt(typepos);
  1135. }
  1136. // 是否有摄影前期业绩;
  1137. float money_摄影前期业绩 = 0;
  1138. typepos = FindArray(&StaffWage.m_AryWageType, WAGE_EARLY_PHOTOGRAPHER);
  1139. if (typepos == -1)
  1140. {
  1141. money_摄影前期业绩 = 0;
  1142. }
  1143. else
  1144. {
  1145. money_摄影前期业绩 = StaffWage.m_AryWageTypeMoney.ElementAt(typepos);
  1146. }
  1147. m_strEarlyAchievementMoney.Format("%0.2f", StaffWage.m_fEaryResultMoney + money_摄影前期业绩);
  1148. // 合计其他:除去订单前期业绩和摄影前期业绩以外的业绩;
  1149. float money_摄影二销 = 0;
  1150. float realmoney2 = 0;
  1151. for (int i = 0; i < StaffWage.m_AryWageType.GetSize(); i++)
  1152. {
  1153. if (_T("前期") == StaffWage.m_AryWageType.ElementAt(i))continue;
  1154. if (_T("摄影前期") == StaffWage.m_AryWageType.ElementAt(i))continue;
  1155. // 排除掉“前期”和“摄影前期”,因为这两项是在财务管理->提成比例中设置的,不需要单独方案;
  1156. realmoney2 += GetSalaryFromRule(StaffWage.m_AryWageTypeMoney.ElementAt(i), GetRule(StaffWage.m_AryWageType.ElementAt(i)));
  1157. money_摄影二销 += StaffWage.m_AryWageTypeMoney.ElementAt(i);
  1158. }
  1159. m_strSecondarySalesAchievementMoney.Format("%0.2f", money_摄影二销);
  1160. ConvertToPrice(m_str计件式提成总和);
  1161. m_strTotalWage.Format("%0.2f", atof(m_strBasicWage) + atof(m_str计件式提成总和) + realmoney2 + GetSalaryFromRule(StaffWage.m_fEaryResultMoney, GetRule(baseexpendtype)) + GetSalaryFromRule(money_摄影前期业绩, GetRule(baseexpendtype2)));
  1162. ConvertToPrice(m_strTotalWage);
  1163. }
  1164. else
  1165. {
  1166. m_strStaffName = _T("");
  1167. m_strBasicWage = _T("");
  1168. m_strStaffNote = _T("");
  1169. m_strTotalWage = _T("");
  1170. m_strEarlyAchievementMoney = _T("");
  1171. m_strSecondarySalesAchievementMoney = _T("");
  1172. m_money3 = _T("");
  1173. m_money4 = _T("");
  1174. m_money5 = _T("");
  1175. m_str计件式提成总和 = _T("");
  1176. }
  1177. UpdateData(false);
  1178. GetDlgItem(IDC_DATETIMEPICKER1)->EnableWindow(1);
  1179. GetDlgItem(IDC_DATETIMEPICKER2)->EnableWindow(1);
  1180. //////////////////////////////
  1181. CString totalstr, str, field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12;
  1182. float sum = 0;
  1183. int waiter1count = 0;
  1184. int waiter12count = 0;
  1185. int waiter2count = 0;
  1186. int waiter22count = 0;
  1187. for (i = 0; i < m_Listtake.GetItemCount(); i++)
  1188. {
  1189. field2 = m_Listtake.GetItemText(i, 3);
  1190. field3 = m_Listtake.GetItemText(i, 4);
  1191. sum += atof(field3);
  1192. field4 = m_Listtake.GetItemText(i, 5);
  1193. field5 = m_Listtake.GetItemText(i, 6);
  1194. field6 = m_Listtake.GetItemText(i, 7);
  1195. field7 = m_Listtake.GetItemText(i, 8);
  1196. field8 = m_Listtake.GetItemText(i, 9);
  1197. field9 = m_Listtake.GetItemText(i, 10);
  1198. if (field6 == strStaffName)waiter1count++;
  1199. if (field7 == strStaffName)waiter12count++;
  1200. if (field8 == strStaffName)waiter2count++;
  1201. if (field9 == strStaffName)waiter22count++;
  1202. }
  1203. str = "摄影师与助理\r\n";
  1204. totalstr += str;
  1205. str.Format("摄影: %d\r\n", waiter1count); totalstr += str;
  1206. str.Format("助理: %d\r\n", waiter12count); totalstr += str;
  1207. #ifdef CHILD_VERSION
  1208. str.Format("引导: %d\r\n", waiter2count); totalstr += str;
  1209. #else
  1210. str.Format("化妆: %d\r\n", waiter2count); totalstr += str;
  1211. #endif
  1212. str.Format("助理: %d\r\n", waiter22count); totalstr += str;
  1213. str.Format("订单总金额: %0.2f\r\n\r\n", sum); totalstr += str;
  1214. float sum1 = 0;
  1215. float sum2 = 0;
  1216. float sum3 = 0;
  1217. float sum12 = 0;
  1218. float sum22 = 0;
  1219. float sum32 = 0;
  1220. int sum13 = 0;
  1221. int sum23 = 0;
  1222. int sum33 = 0;
  1223. int sum14 = 0;
  1224. int sum24 = 0;
  1225. int sum34 = 0;
  1226. int count1 = 0;
  1227. int count2 = 0;
  1228. int count3 = 0;
  1229. for (i = 0; i < m_Listdigital.GetItemCount(); i++)
  1230. {
  1231. field2 = m_Listdigital.GetItemText(i, 3);
  1232. field3 = m_Listdigital.GetItemText(i, 4);
  1233. field4 = m_Listdigital.GetItemText(i, 5);
  1234. field5 = m_Listdigital.GetItemText(i, 6);
  1235. field6 = m_Listdigital.GetItemText(i, 7);
  1236. field7 = m_Listdigital.GetItemText(i, 8);
  1237. field8 = m_Listdigital.GetItemText(i, 9);
  1238. field9 = m_Listdigital.GetItemText(i, 10);
  1239. field10 = m_Listdigital.GetItemText(i, 14);
  1240. field11 = m_Listdigital.GetItemText(i, 16);
  1241. field12 = m_Listdigital.GetItemText(i, 17);
  1242. if (m_Listdigital.GetItemText(i, 11) == "OK" && field4 == strStaffName && field5 >= date1 && field5 <= date2)
  1243. {
  1244. sum1 += atof(field3);
  1245. sum12 += atof(field10);
  1246. sum13 += atoi(field11);
  1247. sum14 += atoi(field12);
  1248. count1++;
  1249. }
  1250. if (m_Listdigital.GetItemText(i, 12) == "OK" && field6 == strStaffName && field7 >= date1 && field7 <= date2)
  1251. {
  1252. sum2 += atof(field3);
  1253. sum22 += atof(field10);
  1254. sum23 += atoi(field11);
  1255. sum24 += atoi(field12);
  1256. count2++;
  1257. }
  1258. if (m_Listdigital.GetItemText(i, 13) == "OK" && field8 == strStaffName && field9 >= date1 && field9 <= date2)
  1259. {
  1260. sum3 += atof(field3);
  1261. sum32 += atof(field10);
  1262. sum33 += atoi(field11);
  1263. sum34 += atoi(field12);
  1264. count3++;
  1265. }
  1266. }
  1267. str = "修片与精修与设计\r\n";
  1268. totalstr += str;
  1269. #ifdef LKAY_VERSION
  1270. str.Format ("初修: %d单 \r\n订单金额:%0.2f \r\n选片二销:%0.2f\r\nP数:%d\r\n张数:%d\r\n\r\n", count1, sum1, sum12, sum13, sum14);totalstr+=str;
  1271. str.Format ("精修: %d单 \r\n订单金额:%0.2f \r\n选片二销:%0.2f\r\nP数:%d\r\n张数:%d\r\n\r\n", count2, sum2, sum22, sum23, sum24);totalstr+=str;
  1272. str.Format ("设计: %d单 \r\n订单金额:%0.2f \r\n选片二销:%0.2f\r\nP数:%d\r\n张数:%d\r\n\r\n", count3, sum3, sum32, sum33, sum34);totalstr+=str;
  1273. #else
  1274. str.Format("初修: %d单 \r\n订单金额:%0.2f \r\n选片二销:%0.2f\r\n\r\n", count1, sum1, sum12); totalstr += str;
  1275. str.Format("精修: %d单 \r\n订单金额:%0.2f \r\n选片二销:%0.2f\r\n\r\n", count2, sum2, sum22); totalstr += str;
  1276. str.Format("设计: %d单 \r\n订单金额:%0.2f \r\n选片二销:%0.2f\r\n\r\n", count3, sum3, sum32); totalstr += str;
  1277. #endif
  1278. GetDlgItem(IDC_EDITbz2)->SetWindowText(totalstr);
  1279. }
  1280. #endif
  1281. void MySalary::OnBUTshowall() //IDC_BUTshowall查看全部;
  1282. {
  1283. // TODO: Add your control notification handler code here
  1284. m_bAll = !m_bAll;
  1285. if (m_bAll)
  1286. {
  1287. GetDlgItem(IDC_BUTshowall)->SetWindowText("查看详情");
  1288. GetDlgItem(IDC_BUT3)->ShowWindow(SW_SHOW);
  1289. }
  1290. else
  1291. {
  1292. GetDlgItem(IDC_BUT3)->ShowWindow(SW_HIDE);
  1293. GetDlgItem(IDC_BUTshowall)->SetWindowText("查看全部");
  1294. }
  1295. GetDlgItem(IDC_BUTshowall)->Invalidate();
  1296. GetDlgItem(IDC_STATIC2)->ShowWindow(!m_bAll);
  1297. GetDlgItem(IDC_STATIC3)->ShowWindow(!m_bAll);
  1298. GetDlgItem(IDC_STATIC4)->ShowWindow(!m_bAll);
  1299. GetDlgItem(IDC_STATIC5)->ShowWindow(!m_bAll);
  1300. GetDlgItem(IDC_STATIC6)->ShowWindow(!m_bAll);
  1301. GetDlgItem(IDC_STATIC7)->ShowWindow(!m_bAll);
  1302. GetDlgItem(IDC_STATIC8)->ShowWindow(!m_bAll);
  1303. GetDlgItem(IDC_STATIC26)->ShowWindow(!m_bAll);
  1304. GetDlgItem(IDC_STATIC27)->ShowWindow(!m_bAll);
  1305. // GetDlgItem(IDC_BUTTON5)->ShowWindow(!m_bAll);
  1306. // GetDlgItem(IDC_BUTTON6)->ShowWindow(!m_bAll);
  1307. GetDlgItem(IDC_BUTTON7)->ShowWindow(!m_bAll);
  1308. GetDlgItem(IDC_BUTTON8)->ShowWindow(!m_bAll);
  1309. GetDlgItem(IDC_BUTTON14)->ShowWindow(!m_bAll);
  1310. GetDlgItem(IDC_STATIC9)->ShowWindow(!m_bAll);
  1311. GetDlgItem(IDC_STATIC12)->ShowWindow(!m_bAll);
  1312. GetDlgItem(IDC_STATIC16)->ShowWindow(!m_bAll);
  1313. GetDlgItem(IDC_STATIC10)->ShowWindow(!m_bAll);
  1314. // GetDlgItem(IDC_EDITname)->ShowWindow(!m_bAll);
  1315. GetDlgItem(IDC_EDITbz)->ShowWindow(!m_bAll);
  1316. GetDlgItem(IDC_EDITbz2)->ShowWindow(!m_bAll);
  1317. GetDlgItem(IDC_EDITbase)->ShowWindow(!m_bAll);
  1318. GetDlgItem(IDC_EDITmoney1)->ShowWindow(!m_bAll);
  1319. GetDlgItem(IDC_EDITmoney2)->ShowWindow(!m_bAll);
  1320. GetDlgItem(IDC_EDITsalary)->ShowWindow(!m_bAll);
  1321. GetDlgItem(IDC_BUTTON4)->ShowWindow(!m_bAll);
  1322. GetDlgItem(IDC_EDITmoney6)->ShowWindow(!m_bAll);
  1323. GetDlgItem(IDC_STATIC15)->ShowWindow(!m_bAll);
  1324. GetDlgItem(IDC_LIST4)->ShowWindow(!m_bAll);
  1325. // GetDlgItem(IDC_LIST1)->ShowWindow(!m_bAll);
  1326. GetDlgItem(IDC_LIST2)->ShowWindow(!m_bAll);
  1327. GetDlgItem(IDC_LIST3)->ShowWindow(m_bAll);
  1328. GetDlgItem(IDC_LIST7)->ShowWindow(!m_bAll);
  1329. GetDlgItem(IDC_LIST8)->ShowWindow(!m_bAll);
  1330. GetDlgItem(IDC_COMBO7)->ShowWindow(!m_bAll);
  1331. if (m_bAll)
  1332. FillGrid2();
  1333. else
  1334. {
  1335. POSITION pos;
  1336. pos = m_List3.GetFirstSelectedItemPosition();
  1337. if (pos)
  1338. {
  1339. int iItem = m_List3.GetNextSelectedItem(pos);
  1340. CString name = m_List3.GetItemText(iItem, 0);
  1341. CString temp;
  1342. for (int i = 0; i < m_ListBox1.GetCount(); i++)
  1343. {
  1344. m_ListBox1.GetText(i, temp);
  1345. if (temp == name)
  1346. {
  1347. m_ListBox1.SetCurSel(i);
  1348. m_comboname.AddString(name);
  1349. m_comboname.SetCurSel(m_comboname.FindString(0, name));
  1350. OnSelchangeList1();
  1351. break;
  1352. }
  1353. }
  1354. }
  1355. }
  1356. }
  1357. void MySalary::FillGrid2()
  1358. {
  1359. if (m_List3array.GetSize() == 0)GetAllData();
  1360. m_List3.DeleteAllItems2();
  1361. int ii = 0;
  1362. m_List3.m_arLabels.SetSize(m_List3array.GetSize(), 1);
  1363. int count = 0;
  1364. for (ii = 0; ii < m_List3.m_arLabels.GetSize(); ii++)
  1365. {
  1366. m_List3.m_arLabels.ElementAt(count++).Copy(m_List3array.ElementAt(ii));
  1367. }
  1368. m_List3.m_arLabels.SetSize(count, 1);
  1369. ii = count;
  1370. m_List3.m_LabelCount = ii;
  1371. m_List3.SetItemCountEx(ii);
  1372. }
  1373. void MySalary::GetAllData()
  1374. {
  1375. if (m_bInit == 0)return;
  1376. UpdateData();
  1377. CString date1, date2, temp;
  1378. date1 = m_date1.Format("%Y-%m-%d");
  1379. date2 = m_date2.Format("%Y-%m-%d");
  1380. m_year = m_date1.GetYear();
  1381. int i = 0;
  1382. int g_nYearposTemp = g_nYearpos;
  1383. BOOL bLastYear = 0;
  1384. BOOL bThisYear = 0;
  1385. #if JEFF_TEST_ON // 2015开始禁用跨年数据;
  1386. if (m_year >= 2014 && m_year <= atoi(g_date.Left(4)) && g_hisyeararray.GetSize())
  1387. {
  1388. g_nYearpos = -1;
  1389. bThisYear = 1;
  1390. }
  1391. else if (m_year <= 2013 && g_hisyeararray.GetSize())
  1392. {
  1393. g_nYearpos = GetYearPos(m_year);
  1394. bLastYear = 1;
  1395. }
  1396. #else
  1397. if (m_year == atoi(g_date.Left(4)) && g_hisyeararray.GetSize())
  1398. bThisYear = 1;
  1399. else if (m_year <= atoi(g_date.Left(4)) - 1 && g_hisyeararray.GetSize())
  1400. bLastYear = 1;
  1401. g_nYearpos = GetYearPos(m_year);
  1402. #endif
  1403. CString filter = "date>='" + date1 + "' and date<='" + date2 + "';;date>='" + date1 + "' and date<='" + date2 + "';time2>='" + date1 + "' and time2<='" + date2 + "' and status='OK'***date<'" + date1 + "';datetime>='" + date1 + "' and datetime<='" + date2 + "'";
  1404. g_sendhead.code[0] = 59; // dindanbukuanview
  1405. g_sendhead.code[1] = 60; // dindan
  1406. g_sendhead.code[2] = 198; // singleincomemoneyview 其它2销录入表
  1407. g_sendhead.code[3] = 61; // TX信息arr
  1408. g_sendhead.code[4] = 142; // dindan_waiterarr
  1409. g_sendhead.tabcount = 5;
  1410. g_sendhead.bsql = 0;
  1411. g_pMainWnd->ProcessChatMessageRequest2(filter); if (g_bSendOK == 0)return;
  1412. CArray<CStringArray, CStringArray>AryReplenishment;
  1413. CArray<CStringArray, CStringArray>AryWaiter;
  1414. CArray<CStringArray, CStringArray>singleincomearray;
  1415. CArray<CStringArray, CStringArray>bukuanarray2;
  1416. DataToArray(&AryReplenishment, &AryWaiter, &singleincomearray, &bukuanarray2, &m_List4array);
  1417. ///////////////////
  1418. if (bLastYear)//如果是去年, 则加今年的补款
  1419. {
  1420. g_nYearpos = -1;//今年
  1421. filter = "date>='" + date1 + "' and date<='" + date2 + "';;date>='" + date1 + "' and date<='" + date2 + "';time2>='" + date1 + "' and time2<='" + date2 + "' and status='OK'***date<'" + date1 + "';datetime>='" + date1 + "' and datetime<='" + date2 + "'";
  1422. g_sendhead.code[0] = 59;
  1423. g_sendhead.code[1] = 60;
  1424. g_sendhead.code[2] = 198;
  1425. g_sendhead.code[3] = 61;
  1426. g_sendhead.code[4] = 142;
  1427. g_sendhead.tabcount = 5;
  1428. g_sendhead.bsql = 0;
  1429. g_pMainWnd->ProcessChatMessageRequest2(filter);
  1430. if (g_bSendOK == 0)
  1431. {
  1432. g_nYearpos = g_nYearposTemp;
  1433. return;
  1434. }
  1435. CArray<CStringArray, CStringArray>LastYearbukuanarray;
  1436. CArray<CStringArray, CStringArray>LastYearwaiterarray;
  1437. CArray<CStringArray, CStringArray>LastYearsingleincomearray;
  1438. CArray<CStringArray, CStringArray>LastYearbukuanarray2;
  1439. CArray<CStringArray, CStringArray>LastYearm_List4array;
  1440. DataToArray(&LastYearbukuanarray, &LastYearwaiterarray, &LastYearsingleincomearray, &LastYearbukuanarray2, &LastYearm_List4array);
  1441. int oldsize = AryReplenishment.GetSize();
  1442. AryReplenishment.SetSize(oldsize + LastYearbukuanarray.GetSize());
  1443. for (i = oldsize; i < oldsize + LastYearbukuanarray.GetSize(); i++)
  1444. {
  1445. AryReplenishment.ElementAt(i).Copy(LastYearbukuanarray.ElementAt(i - oldsize));
  1446. }
  1447. oldsize = bukuanarray2.GetSize();
  1448. bukuanarray2.SetSize(oldsize + LastYearbukuanarray2.GetSize());
  1449. for (i = oldsize; i < oldsize + LastYearbukuanarray2.GetSize(); i++)
  1450. {
  1451. bukuanarray2.ElementAt(i).Copy(LastYearbukuanarray2.ElementAt(i - oldsize));
  1452. }
  1453. oldsize = singleincomearray.GetSize();
  1454. singleincomearray.SetSize(oldsize + LastYearsingleincomearray.GetSize());
  1455. for (i = oldsize; i < oldsize + LastYearsingleincomearray.GetSize(); i++)
  1456. {
  1457. singleincomearray.ElementAt(i).Copy(LastYearsingleincomearray.ElementAt(i - oldsize));
  1458. }
  1459. oldsize = AryWaiter.GetSize();
  1460. AryWaiter.SetSize(oldsize + LastYearwaiterarray.GetSize());
  1461. for (i = oldsize; i < oldsize + LastYearwaiterarray.GetSize(); i++)
  1462. {
  1463. AryWaiter.ElementAt(i).Copy(LastYearwaiterarray.ElementAt(i - oldsize));
  1464. }
  1465. oldsize = m_List4array.GetSize();
  1466. m_List4array.SetSize(oldsize + LastYearm_List4array.GetSize());
  1467. for (i = oldsize; i < oldsize + LastYearm_List4array.GetSize(); i++)
  1468. {
  1469. m_List4array.ElementAt(i).Copy(LastYearm_List4array.ElementAt(i - oldsize));
  1470. }
  1471. }
  1472. else if (bThisYear)//如果是今年, 则加去年的补款
  1473. {
  1474. g_nYearpos = 0;//去年
  1475. filter = "date>='" + date1 + "' and date<='" + date2 + "';;date>='" + date1 + "' and date<='" + date2 + "';time2>='" + date1 + "' and time2<='" + date2 + "' and status='OK'***date<'" + date1 + "';datetime>='" + date1 + "' and datetime<='" + date2 + "'";
  1476. g_sendhead.code[0] = 59;
  1477. g_sendhead.code[1] = 60;
  1478. g_sendhead.code[2] = 198;
  1479. g_sendhead.code[3] = 61;
  1480. g_sendhead.code[4] = 142;
  1481. g_sendhead.tabcount = 5;
  1482. g_sendhead.bsql = 0;
  1483. g_pMainWnd->ProcessChatMessageRequest2(filter);
  1484. if (g_bSendOK == 0)
  1485. {
  1486. g_nYearpos = g_nYearposTemp;
  1487. return;
  1488. }
  1489. CArray<CStringArray, CStringArray>LastYearbukuanarray;
  1490. CArray<CStringArray, CStringArray>LastYearwaiterarray;
  1491. CArray<CStringArray, CStringArray>LastYearsingleincomearray;
  1492. CArray<CStringArray, CStringArray>LastYearbukuanarray2;
  1493. CArray<CStringArray, CStringArray>LastYearm_List4array;
  1494. DataToArray(&LastYearbukuanarray, &LastYearwaiterarray, &LastYearsingleincomearray, &LastYearbukuanarray2, &LastYearm_List4array);
  1495. int oldsize = AryReplenishment.GetSize();
  1496. AryReplenishment.SetSize(oldsize + LastYearbukuanarray.GetSize());
  1497. for (i = oldsize; i < oldsize + LastYearbukuanarray.GetSize(); i++)
  1498. {
  1499. AryReplenishment.ElementAt(i).Copy(LastYearbukuanarray.ElementAt(i - oldsize));
  1500. }
  1501. oldsize = bukuanarray2.GetSize();
  1502. bukuanarray2.SetSize(oldsize + LastYearbukuanarray2.GetSize());
  1503. for (i = oldsize; i < oldsize + LastYearbukuanarray2.GetSize(); i++)
  1504. {
  1505. bukuanarray2.ElementAt(i).Copy(LastYearbukuanarray2.ElementAt(i - oldsize));
  1506. }
  1507. oldsize = singleincomearray.GetSize();
  1508. singleincomearray.SetSize(oldsize + LastYearsingleincomearray.GetSize());
  1509. for (i = oldsize; i < oldsize + LastYearsingleincomearray.GetSize(); i++)
  1510. {
  1511. singleincomearray.ElementAt(i).Copy(LastYearsingleincomearray.ElementAt(i - oldsize));
  1512. }
  1513. oldsize = AryWaiter.GetSize();
  1514. AryWaiter.SetSize(oldsize + LastYearwaiterarray.GetSize());
  1515. for (i = oldsize; i < oldsize + LastYearwaiterarray.GetSize(); i++)
  1516. {
  1517. AryWaiter.ElementAt(i).Copy(LastYearwaiterarray.ElementAt(i - oldsize));
  1518. }
  1519. oldsize = m_List4array.GetSize();
  1520. m_List4array.SetSize(oldsize + LastYearm_List4array.GetSize());
  1521. for (i = oldsize; i < oldsize + LastYearm_List4array.GetSize(); i++)
  1522. {
  1523. m_List4array.ElementAt(i).Copy(LastYearm_List4array.ElementAt(i - oldsize));
  1524. }
  1525. }
  1526. g_nYearpos = g_nYearposTemp;
  1527. int ii = 0;
  1528. CString m_base, m_rate1, m_rate2, m_rate3, m_rate4, m_rate5, m_money1, m_money2, m_money3, m_money4, m_money5, m_bz;
  1529. double sum1 = 0;
  1530. double sum2 = 0;
  1531. double sum3 = 0;
  1532. double sum4 = 0;
  1533. double sum5 = 0;
  1534. double sum6 = 0;
  1535. double sum7 = 0;
  1536. m_List3array.SetSize(m_List1array.GetSize() + 1);
  1537. int n = 0;
  1538. for ( n = 0; n < m_List1array.GetSize(); n++)
  1539. {
  1540. m_List3array.ElementAt(n).RemoveAll();
  1541. m_List3array.ElementAt(n).Add("");
  1542. m_List3array.ElementAt(n).Add("");
  1543. m_List3array.ElementAt(n).Add("");
  1544. m_List3array.ElementAt(n).Add("");
  1545. m_List3array.ElementAt(n).Add("");
  1546. m_List3array.ElementAt(n).Add("");
  1547. m_List3array.ElementAt(n).Add("");
  1548. m_List3array.ElementAt(n).Add("");
  1549. m_List3array.ElementAt(n).SetAt(0, m_List1array.ElementAt(n).ElementAt(0));
  1550. CString name = m_List1array.ElementAt(n).ElementAt(0);
  1551. float money1 = 0;
  1552. float money2 = 0;
  1553. float money3 = 0;
  1554. float money4 = 0;
  1555. float money5 = 0;
  1556. float money6 = 0;
  1557. float ftemp;
  1558. CArray<float, float>moneyarray;
  1559. CStringArray typearray;
  1560. int typepos;
  1561. int arraypos = 0;
  1562. for (ii = 0; ii < AryReplenishment.GetSize(); ii++)
  1563. {
  1564. if (AryReplenishment.ElementAt(ii).ElementAt(2) == "3" || AryReplenishment.ElementAt(ii).ElementAt(2) == "4")
  1565. {
  1566. // 是否是摄影师;
  1567. BOOL bPhotographer = FALSE;
  1568. // 是否是化妆师;
  1569. BOOL bMakeupArtist = FALSE;
  1570. float fscale1 = 0;
  1571. float fscale2 = 0;
  1572. IsWaiter2(AryReplenishment.ElementAt(ii).ElementAt(5), name, &AryWaiter, bPhotographer, bMakeupArtist, fscale1, fscale2, 0, date1, date2);
  1573. if (bPhotographer && atoi(g_cominfoarray.ElementAt(0).ElementAt(56)))//我是摄影师
  1574. {
  1575. money1 += atof(AryReplenishment.ElementAt(ii).ElementAt(0))*fscale1;
  1576. ftemp = atof(AryReplenishment.ElementAt(ii).ElementAt(0))*fscale1;
  1577. typepos = FindArray(&typearray, "摄影前期");
  1578. if (typepos == -1)
  1579. {
  1580. typearray.Add("摄影前期");
  1581. moneyarray.Add(ftemp);
  1582. }
  1583. else
  1584. {
  1585. moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + ftemp);
  1586. }
  1587. }
  1588. if (bMakeupArtist && atoi(g_cominfoarray.ElementAt(0).ElementAt(57)))//我是化妆师
  1589. {
  1590. money1 += atof(AryReplenishment.ElementAt(ii).ElementAt(0))*fscale2;
  1591. ftemp = atof(AryReplenishment.ElementAt(ii).ElementAt(0))*fscale2;
  1592. typepos = FindArray(&typearray, "摄影前期");
  1593. if (typepos == -1)
  1594. {
  1595. typearray.Add("摄影前期");
  1596. moneyarray.Add(ftemp);
  1597. }
  1598. else
  1599. {
  1600. moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + ftemp);
  1601. }
  1602. }
  1603. IsWaiter3(AryReplenishment.ElementAt(ii).ElementAt(5), name, &AryWaiter, bPhotographer, bMakeupArtist, fscale1, fscale2);
  1604. if (bPhotographer)
  1605. {
  1606. money1 += atof(AryReplenishment.ElementAt(ii).ElementAt(0))*fscale1;
  1607. ftemp = atof(AryReplenishment.ElementAt(ii).ElementAt(0))*fscale1;
  1608. typepos = FindArray(&typearray, "前期");
  1609. if (typepos == -1)
  1610. {
  1611. typearray.Add("前期");
  1612. moneyarray.Add(ftemp);
  1613. }
  1614. else
  1615. {
  1616. moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + ftemp);
  1617. }
  1618. }
  1619. if (bMakeupArtist)
  1620. {
  1621. money1 += atof(AryReplenishment.ElementAt(ii).ElementAt(0))*fscale2;
  1622. ftemp = atof(AryReplenishment.ElementAt(ii).ElementAt(0))*fscale2;
  1623. typepos = FindArray(&typearray, "前期");
  1624. if (typepos == -1)
  1625. {
  1626. typearray.Add("前期");
  1627. moneyarray.Add(ftemp);
  1628. }
  1629. else
  1630. {
  1631. moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + ftemp);
  1632. }
  1633. }
  1634. }
  1635. else if (AryReplenishment.ElementAt(ii).ElementAt(7) == "选片二销")//选片补款, 需加摄影师和化妆师
  1636. {
  1637. BOOL bPhotographer = 0;
  1638. BOOL bMakeupArtist = 0;
  1639. float fscale1 = 0;
  1640. float fscale2 = 0;
  1641. IsWaiter2(AryReplenishment.ElementAt(ii).ElementAt(5), name, &AryWaiter, bPhotographer, bMakeupArtist, fscale1, fscale2, 0, date1, date2);
  1642. if (bPhotographer && atoi(g_cominfoarray.ElementAt(0).ElementAt(41)))//我是摄影师
  1643. {
  1644. money5 += atof(AryReplenishment.ElementAt(ii).ElementAt(0))*fscale1;
  1645. ftemp = atof(AryReplenishment.ElementAt(ii).ElementAt(0))*fscale1;
  1646. typepos = FindArray(&typearray, "摄影选片二销");
  1647. if (typepos == -1)
  1648. {
  1649. typearray.Add("摄影选片二销");
  1650. moneyarray.Add(ftemp);
  1651. }
  1652. else
  1653. {
  1654. moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + ftemp);
  1655. }
  1656. }
  1657. if (bMakeupArtist && atoi(g_cominfoarray.ElementAt(0).ElementAt(42)))//我是化妆师
  1658. {
  1659. money5 += atof(AryReplenishment.ElementAt(ii).ElementAt(0))*fscale2;
  1660. ftemp = atof(AryReplenishment.ElementAt(ii).ElementAt(0))*fscale2;
  1661. #ifdef CHILD_VERSION
  1662. typepos = FindArray(&typearray, "引导选片二销");
  1663. #else
  1664. typepos = FindArray(&typearray, "化妆选片二销");
  1665. #endif
  1666. if (typepos == -1)
  1667. {
  1668. #ifdef CHILD_VERSION
  1669. typearray.Add("引导选片二销");
  1670. #else
  1671. typearray.Add("化妆选片二销");
  1672. #endif
  1673. moneyarray.Add(ftemp);
  1674. }
  1675. else
  1676. {
  1677. moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + ftemp);
  1678. }
  1679. }
  1680. if (AryReplenishment.ElementAt(ii).ElementAt(6) != name)continue;
  1681. money5 += atof(AryReplenishment.ElementAt(ii).ElementAt(0));
  1682. ftemp = atof(AryReplenishment.ElementAt(ii).ElementAt(0));
  1683. typepos = FindArray(&typearray, AryReplenishment.ElementAt(ii).ElementAt(7));
  1684. if (typepos == -1)
  1685. {
  1686. typearray.Add(AryReplenishment.ElementAt(ii).ElementAt(7));
  1687. moneyarray.Add(ftemp);
  1688. }
  1689. else
  1690. {
  1691. moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + ftemp);
  1692. }
  1693. }
  1694. else
  1695. {
  1696. if (AryReplenishment.ElementAt(ii).ElementAt(6) != name)
  1697. continue;
  1698. if (AryReplenishment.ElementAt(ii).ElementAt(2) == "5")
  1699. {
  1700. money2 += atof(AryReplenishment.ElementAt(ii).ElementAt(0));
  1701. }
  1702. else if (AryReplenishment.ElementAt(ii).ElementAt(2) == "1")
  1703. {
  1704. money3 += atof(AryReplenishment.ElementAt(ii).ElementAt(0));
  1705. }
  1706. else if (AryReplenishment.ElementAt(ii).ElementAt(2) == "6")
  1707. {
  1708. money4 += atof(AryReplenishment.ElementAt(ii).ElementAt(0));
  1709. }
  1710. else if (AryReplenishment.ElementAt(ii).ElementAt(2) == "2")
  1711. {
  1712. money5 += atof(AryReplenishment.ElementAt(ii).ElementAt(0));
  1713. }
  1714. ftemp = atof(AryReplenishment.ElementAt(ii).ElementAt(0));
  1715. typepos = FindArray(&typearray, AryReplenishment.ElementAt(ii).ElementAt(7));
  1716. if (typepos == -1)
  1717. {
  1718. typearray.Add(AryReplenishment.ElementAt(ii).ElementAt(7));
  1719. moneyarray.Add(ftemp);
  1720. }
  1721. else
  1722. {
  1723. moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + ftemp);
  1724. }
  1725. }
  1726. }
  1727. for (ii = 0; ii < bukuanarray2.GetSize(); ii++)
  1728. {
  1729. if (bukuanarray2.ElementAt(ii).ElementAt(2) == "3" || bukuanarray2.ElementAt(ii).ElementAt(2) == "4")
  1730. {
  1731. BOOL bPhotographer = 0;
  1732. BOOL bMakeupArtist = 0;
  1733. float fscale1 = 0;
  1734. float fscale2 = 0;
  1735. IsWaiter2(bukuanarray2.ElementAt(ii).ElementAt(5), name, &AryWaiter, bPhotographer, bMakeupArtist, fscale1, fscale2, 1, date1, date2);
  1736. if (bPhotographer && atoi(g_cominfoarray.ElementAt(0).ElementAt(56)))//我是摄影师
  1737. {
  1738. money1 += atof(bukuanarray2.ElementAt(ii).ElementAt(0))*fscale1;
  1739. ftemp = atof(bukuanarray2.ElementAt(ii).ElementAt(0))*fscale1;
  1740. typepos = FindArray(&typearray, "摄影前期");
  1741. if (typepos == -1)
  1742. {
  1743. typearray.Add("摄影前期");
  1744. moneyarray.Add(ftemp);
  1745. }
  1746. else
  1747. {
  1748. moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + ftemp);
  1749. }
  1750. }
  1751. if (bMakeupArtist && atoi(g_cominfoarray.ElementAt(0).ElementAt(57)))//我是化妆师
  1752. {
  1753. money1 += atof(bukuanarray2.ElementAt(ii).ElementAt(0))*fscale2;
  1754. ftemp = atof(bukuanarray2.ElementAt(ii).ElementAt(0))*fscale2;
  1755. typepos = FindArray(&typearray, "摄影前期");
  1756. if (typepos == -1)
  1757. {
  1758. typearray.Add("摄影前期");
  1759. moneyarray.Add(ftemp);
  1760. }
  1761. else
  1762. {
  1763. moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + ftemp);
  1764. }
  1765. }
  1766. }
  1767. }
  1768. for (ii = 0; ii < singleincomearray.GetSize(); ii++)
  1769. {
  1770. if (singleincomearray.ElementAt(ii).ElementAt(2) != name)continue;
  1771. if (singleincomearray.ElementAt(ii).ElementAt(3) == "摄影二销")
  1772. money2 += atof(singleincomearray.ElementAt(ii).ElementAt(4));
  1773. #ifndef CHILD_VERSION
  1774. else if (singleincomearray.ElementAt(ii).ElementAt(3) == "化妆二销")
  1775. #else
  1776. else if (singleincomearray.ElementAt(ii).ElementAt(3) == "引导二销")
  1777. #endif
  1778. money3 += atof(singleincomearray.ElementAt(ii).ElementAt(4));
  1779. else if (singleincomearray.ElementAt(ii).ElementAt(3) == "套系升级")
  1780. money4 += atof(singleincomearray.ElementAt(ii).ElementAt(4));
  1781. else if (singleincomearray.ElementAt(ii).ElementAt(3) == "选片二销")
  1782. money5 += atof(singleincomearray.ElementAt(ii).ElementAt(4));
  1783. ftemp = atof(singleincomearray.ElementAt(ii).ElementAt(4));
  1784. typepos = FindArray(&typearray, singleincomearray.ElementAt(ii).ElementAt(3));
  1785. if (typepos == -1)
  1786. {
  1787. typearray.Add(singleincomearray.ElementAt(ii).ElementAt(3));
  1788. moneyarray.Add(ftemp);
  1789. }
  1790. else
  1791. {
  1792. moneyarray.SetAt(typepos, moneyarray.ElementAt(typepos) + ftemp);
  1793. }
  1794. }
  1795. m_base = m_List1array.ElementAt(n).ElementAt(1);
  1796. m_rate1 = m_List1array.ElementAt(n).ElementAt(2);
  1797. m_rate2 = m_List1array.ElementAt(n).ElementAt(3);
  1798. m_bz = m_List1array.ElementAt(n).ElementAt(4);
  1799. m_rate3 = m_List1array.ElementAt(n).ElementAt(6);
  1800. m_rate4 = m_List1array.ElementAt(n).ElementAt(7);
  1801. m_rate5 = m_List1array.ElementAt(n).ElementAt(8);
  1802. typepos = FindArray(&typearray, "前期");
  1803. if (typepos == -1)
  1804. {
  1805. m_money1 = "0";
  1806. money1 = 0;
  1807. }
  1808. else
  1809. {
  1810. money1 = moneyarray.ElementAt(typepos);
  1811. }
  1812. float money12 = 0;
  1813. typepos = FindArray(&typearray, "摄影前期");
  1814. if (typepos == -1)
  1815. {
  1816. money12 = 0;
  1817. }
  1818. else
  1819. {
  1820. money12 = moneyarray.ElementAt(typepos);
  1821. }
  1822. m_money1.Format("%0.2f", money1 + money12);
  1823. money2 = 0;
  1824. float realmoney2 = 0;
  1825. for (int i = 0; i < typearray.GetSize(); i++)
  1826. {
  1827. if ("前期" == typearray.ElementAt(i))continue;
  1828. if ("摄影前期" == typearray.ElementAt(i))continue;
  1829. realmoney2 += GetSalaryFromRule(moneyarray.ElementAt(i), GetRule(typearray.ElementAt(i)));
  1830. money2 += moneyarray.ElementAt(i);
  1831. }
  1832. m_money2.Format("%0.2f", money2);
  1833. GetMoney6(name, money6);
  1834. temp.Format("%0.2f", atof(m_base) + money6 + realmoney2 + GetSalaryFromRule(money1, GetRule(m_rate1)) + GetSalaryFromRule(money12, GetRule(m_rate2)));
  1835. ConvertToPrice(temp);
  1836. m_List3array.ElementAt(n).SetAt(1, temp);
  1837. m_List3array.ElementAt(n).SetAt(2, m_base);
  1838. m_List3array.ElementAt(n).SetAt(3, m_money1);
  1839. m_List3array.ElementAt(n).SetAt(4, m_money2);
  1840. sum1 += atof(temp);
  1841. sum2 += atof(m_base);
  1842. sum3 += money1;
  1843. sum4 += money2;
  1844. temp.Format("%0.2f", money6); ConvertToPrice(temp);
  1845. m_List3array.ElementAt(n).SetAt(5, temp);
  1846. m_List3array.ElementAt(n).SetAt(6, m_List1array.ElementAt(n).ElementAt(5));
  1847. if (m_bz.GetLength() > 100)
  1848. m_List3array.ElementAt(n).SetAt(7, m_bz.Left(100) + "..");
  1849. else
  1850. m_List3array.ElementAt(n).SetAt(7, m_bz);
  1851. }
  1852. temp.Format("%0.2f", sum1);
  1853. ConvertToPrice(temp);
  1854. m_List3array.ElementAt(n).Add("统计:");
  1855. m_List3array.ElementAt(n).Add(temp);
  1856. temp.Format("%0.2f", sum2);
  1857. ConvertToPrice(temp);
  1858. m_List3array.ElementAt(n).Add(temp);
  1859. temp.Format("%0.2f", sum3);
  1860. ConvertToPrice(temp);
  1861. m_List3array.ElementAt(n).Add(temp);
  1862. temp.Format("%0.2f", sum4);
  1863. ConvertToPrice(temp);
  1864. m_List3array.ElementAt(n).Add(temp);
  1865. m_List3array.ElementAt(n).Add("");
  1866. m_List3array.ElementAt(n).Add("");
  1867. m_List3array.ElementAt(n).Add("");
  1868. }
  1869. void MySalary::FillGrid4(CString &sRet)
  1870. {
  1871. sRet = "0";
  1872. if (m_Workratearray.GetSize() == 0)
  1873. {
  1874. /*
  1875. #ifdef CHILD_VERSION
  1876. AfxMessageBox("摄影师,引导师,数码师提成方案未设置,请在菜单-》初始设置-》工资设置中设置!");
  1877. #else
  1878. AfxMessageBox("摄影师,化妆师,数码师提成方案未设置,请在菜单-》初始设置-》工资设置中设置!");
  1879. #endif*/
  1880. return;
  1881. }
  1882. float fsum = 0;
  1883. int m_data1sy = -1;
  1884. CString m_data2sy;
  1885. CString m_data3sy;
  1886. CString m_data4sy;
  1887. CString m_data5sy;
  1888. int m_data1hz = -1;
  1889. CString m_data2hz;
  1890. CString m_data3hz;
  1891. CString m_data4hz;
  1892. CString m_data5hz;
  1893. int i = 0;
  1894. for ( i = 0; i < m_Workratearray.GetSize(); i++)
  1895. {
  1896. if ("摄影师" == m_Workratearray.ElementAt(i).ElementAt(0))
  1897. {
  1898. m_data1sy = atoi(m_Workratearray.ElementAt(i).ElementAt(1));
  1899. m_data2sy = (m_Workratearray.ElementAt(i).ElementAt(2));
  1900. m_data3sy = (m_Workratearray.ElementAt(i).ElementAt(3));
  1901. m_data4sy = (m_Workratearray.ElementAt(i).ElementAt(4));
  1902. m_data5sy = (m_Workratearray.ElementAt(i).ElementAt(5));
  1903. }
  1904. #ifdef CHILD_VERSION
  1905. else if ("引导师" == m_Workratearray.ElementAt(i).ElementAt(0))
  1906. #else
  1907. else if ("化妆师" == m_Workratearray.ElementAt(i).ElementAt(0))
  1908. #endif
  1909. {
  1910. m_data1hz = atoi(m_Workratearray.ElementAt(i).ElementAt(1));
  1911. m_data2hz = (m_Workratearray.ElementAt(i).ElementAt(2));
  1912. m_data3hz = (m_Workratearray.ElementAt(i).ElementAt(3));
  1913. m_data4hz = (m_Workratearray.ElementAt(i).ElementAt(4));
  1914. m_data5hz = (m_Workratearray.ElementAt(i).ElementAt(5));
  1915. }
  1916. }
  1917. m_List4.DeleteAllItems2();
  1918. int count = 0;
  1919. CString str, price;
  1920. for (i = 0; i < m_List4array.GetSize(); i++)//14
  1921. {
  1922. if (m_List4array.ElementAt(i).ElementAt(14) == "摄影师" && m_data1sy != 3)
  1923. {
  1924. if (m_data1sy == 0)//按服装套数提
  1925. {
  1926. m_List4.m_arLabels.SetSize(count + 1, 1);
  1927. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(0));
  1928. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(1));
  1929. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(2));
  1930. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(5))*atof(m_data2sy) + atof(m_List4array.ElementAt(i).ElementAt(6))*atof(m_data3sy));
  1931. m_List4.m_arLabels.ElementAt(count).Add(str);//金额
  1932. fsum += atof(str);
  1933. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(14));
  1934. str.Format("外景%d,内景%d", atoi(m_List4array.ElementAt(i).ElementAt(5)), atoi(m_List4array.ElementAt(i).ElementAt(6)));
  1935. m_List4.m_arLabels.ElementAt(count).Add(str);
  1936. str.Format("%d", atoi(m_List4array.ElementAt(i).ElementAt(5)) + atoi(m_List4array.ElementAt(i).ElementAt(6)));
  1937. m_List4.m_arLabels.ElementAt(count).Add(str);
  1938. str.Format("外景%0.2f,内景%0.2f", atof(m_data2sy), atof(m_data3sy));
  1939. m_List4.m_arLabels.ElementAt(count).Add(str);
  1940. m_List4.m_arLabels.ElementAt(count).Add("按服装套数提成");
  1941. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(9));
  1942. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(4));
  1943. count++;
  1944. }
  1945. else if (m_data1sy == 1)//按套系金额提成
  1946. {
  1947. if (m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(15) && m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(16) && m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(17) && m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(18))
  1948. {
  1949. continue;//既不是主摄影师,也不是副..
  1950. }
  1951. m_List4.m_arLabels.SetSize(count + 1, 1);
  1952. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(0));
  1953. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(1));
  1954. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(2));
  1955. if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(15))
  1956. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(19)) / 10000.0);
  1957. else if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(16))
  1958. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(20)) / 10000.0);
  1959. else if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(17))
  1960. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(21)) / 10000.0);
  1961. else if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(18))
  1962. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(22)) / 10000.0);
  1963. m_List4.m_arLabels.ElementAt(count).Add(str);//金额
  1964. fsum += atof(str);
  1965. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(14));
  1966. m_List4.m_arLabels.ElementAt(count).Add("不适用");
  1967. m_List4.m_arLabels.ElementAt(count).Add("不适用");
  1968. str.Format("套系的%d", atoi(m_data4sy));
  1969. m_List4.m_arLabels.ElementAt(count).Add(str + "%");
  1970. m_List4.m_arLabels.ElementAt(count).Add("按套系金额提成");
  1971. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(9));
  1972. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(4));
  1973. count++;
  1974. }
  1975. else if (m_data1sy == 2)//按加挑照片提成
  1976. {
  1977. m_List4.m_arLabels.SetSize(count + 1, 1);
  1978. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(0));
  1979. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(1));
  1980. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(2));
  1981. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(31))*atof(m_data5sy));
  1982. m_List4.m_arLabels.ElementAt(count).Add(str);//金额
  1983. fsum += atof(str);
  1984. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(14));
  1985. m_List4.m_arLabels.ElementAt(count).Add("不适用");
  1986. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(31));
  1987. str.Format("%0.2f", atof(m_data5sy));
  1988. m_List4.m_arLabels.ElementAt(count).Add(str);
  1989. m_List4.m_arLabels.ElementAt(count).Add("按加挑照片提成");
  1990. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(9));
  1991. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(4));
  1992. count++;
  1993. }
  1994. }
  1995. #ifdef CHILD_VERSION
  1996. else if (m_List4array.ElementAt(i).ElementAt(14) == "引导师" && m_data1hz != 3)
  1997. #else
  1998. else if (m_List4array.ElementAt(i).ElementAt(14) == "化妆师" && m_data1hz != 3)
  1999. #endif
  2000. {
  2001. if (m_data1hz == 0)//按服装套数提
  2002. {
  2003. m_List4.m_arLabels.SetSize(count + 1, 1);
  2004. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(0));
  2005. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(1));
  2006. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(2));
  2007. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(5))*atof(m_data2hz) + atof(m_List4array.ElementAt(i).ElementAt(6))*atof(m_data3hz));
  2008. m_List4.m_arLabels.ElementAt(count).Add(str);//金额
  2009. fsum += atof(str);
  2010. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(14));
  2011. str.Format("外景%d,内景%d", atoi(m_List4array.ElementAt(i).ElementAt(5)), atoi(m_List4array.ElementAt(i).ElementAt(6)));
  2012. m_List4.m_arLabels.ElementAt(count).Add(str);
  2013. str.Format("%d", atoi(m_List4array.ElementAt(i).ElementAt(5)) + atoi(m_List4array.ElementAt(i).ElementAt(6)));
  2014. m_List4.m_arLabels.ElementAt(count).Add(str);
  2015. str.Format("外景%0.2f,内景%0.2f", atof(m_data2hz), atof(m_data3hz));
  2016. m_List4.m_arLabels.ElementAt(count).Add(str);
  2017. m_List4.m_arLabels.ElementAt(count).Add("按服装套数提成");
  2018. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(9));
  2019. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(4));
  2020. count++;
  2021. }
  2022. else if (m_data1hz == 1)//按套系金额提成
  2023. {
  2024. if (m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(23) && m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(24) && m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(25) && m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(26))
  2025. {
  2026. continue;//既不是主化妆师,也不是副..
  2027. }
  2028. m_List4.m_arLabels.SetSize(count + 1, 1);
  2029. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(0));
  2030. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(1));
  2031. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(2));
  2032. if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(23))
  2033. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(27)) / 10000.0);
  2034. else if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(24))
  2035. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(28)) / 10000.0);
  2036. else if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(25))
  2037. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(29)) / 10000.0);
  2038. else if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(26))
  2039. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(30)) / 10000.0);
  2040. m_List4.m_arLabels.ElementAt(count).Add(str);//金额
  2041. fsum += atof(str);
  2042. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(14));
  2043. m_List4.m_arLabels.ElementAt(count).Add("不适用");
  2044. m_List4.m_arLabels.ElementAt(count).Add("不适用");
  2045. str.Format("套系的%d", atoi(m_data4hz));
  2046. m_List4.m_arLabels.ElementAt(count).Add(str + "%");
  2047. m_List4.m_arLabels.ElementAt(count).Add("按套系金额提成");
  2048. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(9));
  2049. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(4));
  2050. count++;
  2051. }
  2052. else if (m_data1hz == 2)//按加挑照片提成
  2053. {
  2054. m_List4.m_arLabels.SetSize(count + 1, 1);
  2055. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(0));
  2056. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(1));
  2057. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(2));
  2058. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(31))*atof(m_data5hz));
  2059. m_List4.m_arLabels.ElementAt(count).Add(str);//金额
  2060. fsum += atof(str);
  2061. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(14));
  2062. m_List4.m_arLabels.ElementAt(count).Add("不适用");
  2063. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(31));
  2064. str.Format("%0.2f", atof(m_data5hz));
  2065. m_List4.m_arLabels.ElementAt(count).Add(str);
  2066. m_List4.m_arLabels.ElementAt(count).Add("按加挑照片提成");
  2067. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(9));
  2068. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(4));
  2069. count++;
  2070. }
  2071. }
  2072. else if (m_List4array.ElementAt(i).ElementAt(14) == "数码师")
  2073. {
  2074. m_List4.m_arLabels.SetSize(count + 1, 1);
  2075. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(0));
  2076. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(1));
  2077. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(2));
  2078. price = GetPrice(m_List4array.ElementAt(i).ElementAt(6));
  2079. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(5))*atof(price));
  2080. m_List4.m_arLabels.ElementAt(count).Add(str);//金额
  2081. fsum += atof(str);
  2082. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(14));
  2083. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(6));
  2084. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(5));
  2085. m_List4.m_arLabels.ElementAt(count).Add(price);
  2086. m_List4.m_arLabels.ElementAt(count).Add("单价x数量");
  2087. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(9));
  2088. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(4));
  2089. count++;
  2090. }
  2091. }
  2092. m_List4.m_LabelCount = count;
  2093. m_List4.SetItemCountEx(count);
  2094. sRet.Format("计件提成(总和:%0.2f)", fsum);
  2095. SetDlgItemText(IDC_STATIC16, sRet);
  2096. sRet.Format("%0.2f", fsum);
  2097. }
  2098. void MySalary::OnBut1()
  2099. {
  2100. }
  2101. void MySalary::OnBut2()
  2102. {
  2103. }
  2104. void MySalary::OnSelchangeCombo6()
  2105. {
  2106. }
  2107. void MySalary::OnBut4()
  2108. {
  2109. // ShowHisSalary dlg;
  2110. // dlg.DoModal();
  2111. }
  2112. CString MySalary::GetPrice(CString name)
  2113. {
  2114. for (int i = 0; i < m_Workratearray.GetSize(); i++)
  2115. {
  2116. if ("数码师" == m_Workratearray.ElementAt(i).ElementAt(0) && name == m_Workratearray.ElementAt(i).ElementAt(1))
  2117. {
  2118. return m_Workratearray.ElementAt(i).ElementAt(2);
  2119. }
  2120. }
  2121. return "0";
  2122. }
  2123. void MySalary::GetMoney6(CString name, float &fRet)
  2124. {
  2125. fRet = 0;
  2126. /* if(m_Workratearray.GetSize ()==0)
  2127. {
  2128. return;
  2129. }*/
  2130. float fsum = 0;
  2131. int m_data1sy = -1;
  2132. CString m_data2sy;
  2133. CString m_data3sy;
  2134. CString m_data4sy;
  2135. CString m_data5sy;
  2136. int m_data1hz = -1;
  2137. CString m_data2hz;
  2138. CString m_data3hz;
  2139. CString m_data4hz;
  2140. CString m_data5hz;
  2141. /* for(int i=0; i<m_Workratearray.GetSize (); i++)
  2142. {
  2143. if("摄影师"==m_Workratearray.ElementAt (i).ElementAt (0))
  2144. {
  2145. m_data1sy=atoi(m_Workratearray.ElementAt (i).ElementAt (1));
  2146. m_data2sy=(m_Workratearray.ElementAt (i).ElementAt (2));
  2147. m_data3sy=(m_Workratearray.ElementAt (i).ElementAt (3));
  2148. m_data4sy=(m_Workratearray.ElementAt (i).ElementAt (4));
  2149. m_data5sy=(m_Workratearray.ElementAt (i).ElementAt (5));
  2150. }
  2151. #ifdef CHILD_VERSION
  2152. else if("引导师"==m_Workratearray.ElementAt (i).ElementAt (0))
  2153. #else
  2154. else if("化妆师"==m_Workratearray.ElementAt (i).ElementAt (0))
  2155. #endif
  2156. {
  2157. m_data1hz=atoi(m_Workratearray.ElementAt (i).ElementAt (1));
  2158. m_data2hz=(m_Workratearray.ElementAt (i).ElementAt (2));
  2159. m_data3hz=(m_Workratearray.ElementAt (i).ElementAt (3));
  2160. m_data4hz=(m_Workratearray.ElementAt (i).ElementAt (4));
  2161. m_data5hz=(m_Workratearray.ElementAt (i).ElementAt (5));
  2162. }
  2163. }
  2164. if(m_data1sy==-1)
  2165. {
  2166. return;
  2167. }
  2168. if(m_data1hz==-1)
  2169. {
  2170. return;
  2171. }*/
  2172. m_List4.DeleteAllItems2();
  2173. int count = 0;
  2174. CString str, price;
  2175. for (int i = 0; i < m_List4array.GetSize(); i++)//14
  2176. {
  2177. if (m_List4array.ElementAt(i).ElementAt(3) != name)continue;
  2178. if (0)//m_List4array.ElementAt (i).ElementAt (14)=="摄影师" && m_data1sy!=3)
  2179. {
  2180. if (m_data1sy == 0)//按服装套数提
  2181. {
  2182. m_List4.m_arLabels.SetSize(count + 1, 1);
  2183. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(0));
  2184. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(1));
  2185. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(2));
  2186. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(5))*atof(m_data2sy) + atof(m_List4array.ElementAt(i).ElementAt(6))*atof(m_data3sy));
  2187. m_List4.m_arLabels.ElementAt(count).Add(str);//金额
  2188. fsum += atof(str);
  2189. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(14));
  2190. str.Format("外景%d,内景%d", atoi(m_List4array.ElementAt(i).ElementAt(5)), atoi(m_List4array.ElementAt(i).ElementAt(6)));
  2191. m_List4.m_arLabels.ElementAt(count).Add(str);
  2192. str.Format("%d", atoi(m_List4array.ElementAt(i).ElementAt(5)) + atoi(m_List4array.ElementAt(i).ElementAt(6)));
  2193. m_List4.m_arLabels.ElementAt(count).Add(str);
  2194. str.Format("外景%0.2f,内景%0.2f", atof(m_data2sy), atof(m_data3sy));
  2195. m_List4.m_arLabels.ElementAt(count).Add(str);
  2196. m_List4.m_arLabels.ElementAt(count).Add("按服装套数提成");
  2197. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(9));
  2198. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(4));
  2199. count++;
  2200. }
  2201. else if (m_data1sy == 1)//按套系金额提成
  2202. {
  2203. if (m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(15) && m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(16) && m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(17) && m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(18))
  2204. {
  2205. continue;//既不是主摄影师,也不是副..
  2206. }
  2207. m_List4.m_arLabels.SetSize(count + 1, 1);
  2208. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(0));
  2209. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(1));
  2210. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(2));
  2211. if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(15))
  2212. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(19)) / 10000.0);
  2213. else if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(16))
  2214. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(20)) / 10000.0);
  2215. else if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(17))
  2216. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(21)) / 10000.0);
  2217. else if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(18))
  2218. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(22)) / 10000.0);
  2219. m_List4.m_arLabels.ElementAt(count).Add(str);//金额
  2220. fsum += atof(str);
  2221. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(14));
  2222. m_List4.m_arLabels.ElementAt(count).Add("不适用");
  2223. m_List4.m_arLabels.ElementAt(count).Add("不适用");
  2224. str.Format("套系的%d", atoi(m_data4sy));
  2225. m_List4.m_arLabels.ElementAt(count).Add(str + "%");
  2226. m_List4.m_arLabels.ElementAt(count).Add("按套系金额提成");
  2227. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(9));
  2228. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(4));
  2229. count++;
  2230. }
  2231. else if (m_data1sy == 2)//按加挑照片提成
  2232. {
  2233. m_List4.m_arLabels.SetSize(count + 1, 1);
  2234. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(0));
  2235. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(1));
  2236. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(2));
  2237. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(31))*atof(m_data5sy));
  2238. m_List4.m_arLabels.ElementAt(count).Add(str);//金额
  2239. fsum += atof(str);
  2240. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(14));
  2241. m_List4.m_arLabels.ElementAt(count).Add("不适用");
  2242. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(31));
  2243. str.Format("%0.2f", atof(m_data5sy));
  2244. m_List4.m_arLabels.ElementAt(count).Add(str);
  2245. m_List4.m_arLabels.ElementAt(count).Add("按加挑照片提成");
  2246. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(9));
  2247. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(4));
  2248. count++;
  2249. }
  2250. }
  2251. #ifdef CHILD_VERSION
  2252. else if (0)//m_List4array.ElementAt (i).ElementAt (14)=="引导师" && m_data1hz!=3)
  2253. #else
  2254. else if (0)//m_List4array.ElementAt (i).ElementAt (14)=="化妆师" && m_data1hz!=3)
  2255. #endif
  2256. {
  2257. if (m_data1hz == 0)//按服装套数提
  2258. {
  2259. m_List4.m_arLabels.SetSize(count + 1, 1);
  2260. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(0));
  2261. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(1));
  2262. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(2));
  2263. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(5))*atof(m_data2hz) + atof(m_List4array.ElementAt(i).ElementAt(6))*atof(m_data3hz));
  2264. m_List4.m_arLabels.ElementAt(count).Add(str);//金额
  2265. fsum += atof(str);
  2266. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(14));
  2267. str.Format("外景%d,内景%d", atoi(m_List4array.ElementAt(i).ElementAt(5)), atoi(m_List4array.ElementAt(i).ElementAt(6)));
  2268. m_List4.m_arLabels.ElementAt(count).Add(str);
  2269. str.Format("%d", atoi(m_List4array.ElementAt(i).ElementAt(5)) + atoi(m_List4array.ElementAt(i).ElementAt(6)));
  2270. m_List4.m_arLabels.ElementAt(count).Add(str);
  2271. str.Format("外景%0.2f,内景%0.2f", atof(m_data2hz), atof(m_data3hz));
  2272. m_List4.m_arLabels.ElementAt(count).Add(str);
  2273. m_List4.m_arLabels.ElementAt(count).Add("按服装套数提成");
  2274. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(9));
  2275. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(4));
  2276. count++;
  2277. }
  2278. else if (m_data1hz == 1)//按套系金额提成
  2279. {
  2280. if (m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(23) && m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(24) && m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(25) && m_List4array.ElementAt(i).ElementAt(3) != m_List4array.ElementAt(i).ElementAt(26))
  2281. {
  2282. continue;//既不是主化妆师,也不是副..
  2283. }
  2284. m_List4.m_arLabels.SetSize(count + 1, 1);
  2285. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(0));
  2286. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(1));
  2287. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(2));
  2288. if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(23))
  2289. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(27)) / 10000.0);
  2290. else if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(24))
  2291. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(28)) / 10000.0);
  2292. else if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(25))
  2293. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(29)) / 10000.0);
  2294. else if (m_List4array.ElementAt(i).ElementAt(3) == m_List4array.ElementAt(i).ElementAt(26))
  2295. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(9))*atof(m_data4sy)*atof(m_List4array.ElementAt(i).ElementAt(30)) / 10000.0);
  2296. m_List4.m_arLabels.ElementAt(count).Add(str);//金额
  2297. fsum += atof(str);
  2298. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(14));
  2299. m_List4.m_arLabels.ElementAt(count).Add("不适用");
  2300. m_List4.m_arLabels.ElementAt(count).Add("不适用");
  2301. str.Format("套系的%d", atoi(m_data4hz));
  2302. m_List4.m_arLabels.ElementAt(count).Add(str + "%");
  2303. m_List4.m_arLabels.ElementAt(count).Add("按套系金额提成");
  2304. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(9));
  2305. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(4));
  2306. count++;
  2307. }
  2308. else if (m_data1hz == 2)//按加挑照片提成
  2309. {
  2310. m_List4.m_arLabels.SetSize(count + 1, 1);
  2311. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(0));
  2312. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(1));
  2313. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(2));
  2314. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(31))*atof(m_data5hz));
  2315. m_List4.m_arLabels.ElementAt(count).Add(str);//金额
  2316. fsum += atof(str);
  2317. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(14));
  2318. m_List4.m_arLabels.ElementAt(count).Add("不适用");
  2319. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(31));
  2320. str.Format("%0.2f", atof(m_data5hz));
  2321. m_List4.m_arLabels.ElementAt(count).Add(str);
  2322. m_List4.m_arLabels.ElementAt(count).Add("按加挑照片提成");
  2323. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(9));
  2324. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(4));
  2325. count++;
  2326. }
  2327. }
  2328. else if (m_List4array.ElementAt(i).ElementAt(14) == "数码师")
  2329. {
  2330. m_List4.m_arLabels.SetSize(count + 1, 1);
  2331. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(0));
  2332. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(1));
  2333. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(2));
  2334. price = GetPrice(m_List4array.ElementAt(i).ElementAt(6));
  2335. str.Format("%0.2f", atof(m_List4array.ElementAt(i).ElementAt(5))*atof(price));
  2336. m_List4.m_arLabels.ElementAt(count).Add(str);//金额
  2337. fsum += atof(str);
  2338. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(14));
  2339. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(6));
  2340. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(5));
  2341. m_List4.m_arLabels.ElementAt(count).Add(price);
  2342. m_List4.m_arLabels.ElementAt(count).Add("单价x数量");
  2343. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(9));
  2344. m_List4.m_arLabels.ElementAt(count).Add(m_List4array.ElementAt(i).ElementAt(4));
  2345. count++;
  2346. }
  2347. }
  2348. m_List4.m_LabelCount = count;
  2349. m_List4.SetItemCountEx(count);
  2350. fRet = fsum;
  2351. }
  2352. void MySalary::OnButton4()
  2353. {
  2354. int pos = m_comboname.GetCurSel();
  2355. if (pos == -1)
  2356. {
  2357. AfxMessageBox("请选择您要导出资料的员工");
  2358. return;
  2359. }
  2360. CString name;
  2361. m_comboname.GetWindowText(name);
  2362. SelExportType dlg;
  2363. if (dlg.DoModal() != IDOK)return;
  2364. if (dlg.m_type == 1)
  2365. {
  2366. int arraysize = 0;
  2367. CArray<CStringArray, CStringArray>array;
  2368. CStringArray moneytypearray;
  2369. CString str, field2, field3;
  2370. float sum = 0;
  2371. for (int i = 0; i < m_List1.GetItemCount(); i++)
  2372. {
  2373. field2 = m_List1.GetItemText(i, 0);
  2374. sum += atof(field2);
  2375. field3 = m_List1.GetItemText(i, 2);
  2376. if (::FindArray(&moneytypearray, field3) == -1)
  2377. moneytypearray.Add(field3);
  2378. array.SetSize(arraysize + 1, 1);
  2379. array.ElementAt(arraysize).Add(m_List1.GetItemText(i, 0));
  2380. array.ElementAt(arraysize).Add(m_List1.GetItemText(i, 1));
  2381. array.ElementAt(arraysize).Add(m_List1.GetItemText(i, 2));
  2382. array.ElementAt(arraysize).Add(m_List1.GetItemText(i, 3));
  2383. array.ElementAt(arraysize).Add(m_List1.GetItemText(i, 4));
  2384. array.ElementAt(arraysize).Add(m_List1.GetItemText(i, 5));
  2385. array.ElementAt(arraysize).Add(m_List1.GetItemText(i, 6));
  2386. arraysize++;
  2387. }
  2388. array.SetSize(arraysize + 1, 1);
  2389. array.ElementAt(arraysize).Add("总计");
  2390. str.Format("%0.2f", sum);
  2391. array.ElementAt(arraysize).Add(str);
  2392. array.ElementAt(arraysize).Add("");
  2393. array.ElementAt(arraysize).Add("");
  2394. array.ElementAt(arraysize).Add("");
  2395. array.ElementAt(arraysize).Add(""); array.ElementAt(arraysize).Add("");
  2396. arraysize++;
  2397. //////////////////////////////////////////////
  2398. array.SetSize(arraysize + 1, 1);
  2399. array.ElementAt(arraysize).Add("");
  2400. array.ElementAt(arraysize).Add("");
  2401. array.ElementAt(arraysize).Add("");
  2402. array.ElementAt(arraysize).Add("");
  2403. array.ElementAt(arraysize).Add("");
  2404. array.ElementAt(arraysize).Add(""); array.ElementAt(arraysize).Add("");
  2405. arraysize++;
  2406. ///////////////////////////////////////////////
  2407. //////////////////////////////////////////////
  2408. array.SetSize(arraysize + 1, 1);
  2409. array.ElementAt(arraysize).Add("******");
  2410. array.ElementAt(arraysize).Add("******");
  2411. array.ElementAt(arraysize).Add("以下为分类统计");
  2412. array.ElementAt(arraysize).Add("******");
  2413. array.ElementAt(arraysize).Add("******");
  2414. array.ElementAt(arraysize).Add("******"); array.ElementAt(arraysize).Add("******");
  2415. arraysize++;
  2416. ///////////////////////////////////////////////
  2417. array.SetSize(arraysize + 1, 1);
  2418. array.ElementAt(arraysize).Add("");
  2419. array.ElementAt(arraysize).Add("");
  2420. array.ElementAt(arraysize).Add("");
  2421. array.ElementAt(arraysize).Add("");
  2422. array.ElementAt(arraysize).Add("");
  2423. array.ElementAt(arraysize).Add(""); array.ElementAt(arraysize).Add("");
  2424. arraysize++;
  2425. ///////////////////////////////////////////////
  2426. for (int aa = 0; aa < moneytypearray.GetSize(); aa++)
  2427. {
  2428. sum = 0;
  2429. for (int i = 0; i < m_List1.GetItemCount(); i++)
  2430. {
  2431. field3 = m_List1.GetItemText(i, 2);
  2432. if (moneytypearray.ElementAt(aa) != field3)continue;
  2433. field2 = m_List1.GetItemText(i, 0);
  2434. sum += atof(field2);
  2435. array.SetSize(arraysize + 1, 1);
  2436. array.ElementAt(arraysize).Add(m_List1.GetItemText(i, 0));
  2437. array.ElementAt(arraysize).Add(m_List1.GetItemText(i, 1));
  2438. array.ElementAt(arraysize).Add(m_List1.GetItemText(i, 2));
  2439. array.ElementAt(arraysize).Add(m_List1.GetItemText(i, 3));
  2440. array.ElementAt(arraysize).Add(m_List1.GetItemText(i, 4));
  2441. array.ElementAt(arraysize).Add(m_List1.GetItemText(i, 5));
  2442. array.ElementAt(arraysize).Add(m_List1.GetItemText(i, 6));
  2443. arraysize++;
  2444. }
  2445. array.SetSize(arraysize + 1, 1);
  2446. array.ElementAt(arraysize).Add(moneytypearray.ElementAt(aa) + "总计");
  2447. str.Format("%0.2f", sum);
  2448. array.ElementAt(arraysize).Add(str);
  2449. array.ElementAt(arraysize).Add("");
  2450. array.ElementAt(arraysize).Add("");
  2451. array.ElementAt(arraysize).Add(""); array.ElementAt(arraysize).Add(""); array.ElementAt(arraysize).Add("");
  2452. arraysize++;
  2453. //////////////////////////////////////////////
  2454. array.SetSize(arraysize + 1, 1);
  2455. array.ElementAt(arraysize).Add("");
  2456. array.ElementAt(arraysize).Add("");
  2457. array.ElementAt(arraysize).Add("");
  2458. array.ElementAt(arraysize).Add("");
  2459. array.ElementAt(arraysize).Add(""); array.ElementAt(arraysize).Add(""); array.ElementAt(arraysize).Add("");
  2460. arraysize++;
  2461. ///////////////////////////////////////////////
  2462. }
  2463. m_ListTemp.DeleteAllItems2();
  2464. int ii = 0;
  2465. m_ListTemp.m_arLabels.SetSize(array.GetSize(), 1);
  2466. int count = 0;
  2467. for (ii = 0; ii < m_ListTemp.m_arLabels.GetSize(); ii++)
  2468. {
  2469. m_ListTemp.m_arLabels.ElementAt(count++).Copy(array.ElementAt(ii));
  2470. }
  2471. m_ListTemp.m_arLabels.SetSize(count, 1);
  2472. ii = count;
  2473. m_ListTemp.m_LabelCount = ii;
  2474. m_ListTemp.SetItemCountEx(ii);
  2475. ListToXLS(&m_ListTemp, "c:\\" + name + ".xls", 0);
  2476. return;
  2477. }
  2478. CStdioFile fp;
  2479. fp.Open("c:\\" + name + ".txt", CFile::modeCreate | CFile::modeWrite);
  2480. CString str, field1, field2, field3, field4, field5, field6, field7, field8, field9, field10;
  2481. int leng1 = 20;
  2482. int leng2 = 15;
  2483. int leng3 = 15;
  2484. int leng4 = 15;
  2485. int leng5 = 15;
  2486. int leng6 = 15;
  2487. int leng7 = 15;
  2488. int leng8 = 15;
  2489. int leng9 = 15;
  2490. int leng10 = 15;
  2491. field1 = "收款日期";
  2492. field2 = "收款金额";
  2493. field3 = "款项类别";
  2494. field4 = "客人姓名";
  2495. FillLength(field1, leng1);
  2496. FillLength(field2, leng2);
  2497. FillLength(field3, leng3);
  2498. FillLength(field4, leng4);
  2499. str = field1 + field2 + field3 + field4 + "\n";
  2500. fp.WriteString(str);
  2501. CStringArray moneytypearray;
  2502. CString m_name1, m_name2;
  2503. float sum = 0;
  2504. for (int i = 0; i < m_List1.GetItemCount(); i++)
  2505. {
  2506. field4.Empty();
  2507. field1 = m_List1.GetItemText(i, 1);
  2508. field2 = m_List1.GetItemText(i, 0);
  2509. sum += atof(field2);
  2510. field3 = m_List1.GetItemText(i, 2);
  2511. if (::FindArray(&moneytypearray, field3) == -1)
  2512. moneytypearray.Add(field3);
  2513. m_name1 = m_List1.GetItemText(i, 3);
  2514. m_name2 = m_List1.GetItemText(i, 4);
  2515. if (!m_name1.IsEmpty())
  2516. field4 = m_name1 + ",";
  2517. field4 += m_name2;
  2518. field4.TrimRight(",");
  2519. FillLength(field1, leng1);
  2520. FillLength(field2, leng2);
  2521. FillLength(field3, leng3);
  2522. FillLength(field4, leng4);
  2523. str = field1 + field2 + field3 + field4 + "\n";
  2524. fp.WriteString(str);
  2525. }
  2526. str = "姓名: " + name;
  2527. fp.WriteString(str); fp.WriteString("\n");
  2528. str = "类别: 订单二销提成\n";
  2529. fp.WriteString(str);
  2530. str.Format("总计: %0.2f", sum); fp.WriteString(str);
  2531. fp.WriteString("\n\n\n************************以下为分类统计************************");
  2532. fp.WriteString("\n\n");
  2533. for (int aa = 0; aa < moneytypearray.GetSize(); aa++)
  2534. {
  2535. sum = 0;
  2536. for (int i = 0; i < m_List1.GetItemCount(); i++)
  2537. {
  2538. field3 = m_List1.GetItemText(i, 2);
  2539. if (moneytypearray.ElementAt(aa) != field3)continue;
  2540. field4.Empty();
  2541. field1 = m_List1.GetItemText(i, 1);
  2542. field2 = m_List1.GetItemText(i, 0);
  2543. sum += atof(field2);
  2544. m_name1 = m_List1.GetItemText(i, 3);
  2545. m_name2 = m_List1.GetItemText(i, 4);
  2546. if (!m_name1.IsEmpty())
  2547. field4 = m_name1 + ",";
  2548. field4 += m_name2;
  2549. field4.TrimRight(",");
  2550. FillLength(field1, leng1);
  2551. FillLength(field2, leng2);
  2552. FillLength(field3, leng3);
  2553. FillLength(field4, leng4);
  2554. str = field1 + field2 + field3 + field4 + "\n";
  2555. fp.WriteString(str);
  2556. }
  2557. str = moneytypearray.ElementAt(aa) + "提成\n";
  2558. fp.WriteString(str);
  2559. str.Format("总计: %0.2f", sum); fp.WriteString(str);
  2560. fp.WriteString("\n\n\n");
  2561. }
  2562. fp.Close();
  2563. MessageBox("资料已保存到c:\\" + name + ".txt");
  2564. ShellExecute(NULL, _T("open"), _T("c:\\" + name + ".txt"), NULL, NULL, SW_SHOWMAXIMIZED);
  2565. }
  2566. void MySalary::OnButton5()
  2567. {
  2568. SelExpendType seldlg;
  2569. seldlg.m_mode = 2;
  2570. if (seldlg.DoModal() != IDOK)return;
  2571. SalarySet4 dlg;
  2572. dlg.m_header = "$" + seldlg.m_sel + ":";
  2573. dlg.DoModal();
  2574. /* SalarySet4 dlg;
  2575. dlg.m_header ="$前期:";
  2576. dlg.DoModal (); */
  2577. }
  2578. void MySalary::OnButton6()
  2579. {
  2580. SelExpendType seldlg;
  2581. seldlg.m_bSecond = 1;
  2582. if (seldlg.DoModal() != IDOK)return;
  2583. SalarySet4 dlg;
  2584. dlg.m_header = "$" + seldlg.m_sel + ":";
  2585. dlg.DoModal();
  2586. }
  2587. void MySalary::OnCloseupCombo7()
  2588. {
  2589. OnSelchangeList1();
  2590. }
  2591. void MySalary::OnButton14()
  2592. {
  2593. int pos = m_comboname.GetCurSel();
  2594. if (pos == -1)
  2595. {
  2596. AfxMessageBox("请选择您要导出资料的员工");
  2597. return;
  2598. }
  2599. CString name;
  2600. m_comboname.GetWindowText(name);
  2601. SelExportType dlg;
  2602. if (dlg.DoModal() != IDOK)return;
  2603. if (dlg.m_type == 1)
  2604. {
  2605. ListToXLS(&m_List4, "c:\\" + name + "(计件).xls", 0);
  2606. return;
  2607. }
  2608. CStdioFile fp;
  2609. fp.Open("c:\\" + name + "(计件).txt", CFile::modeCreate | CFile::modeWrite);
  2610. CString str, field1, field2, field3, field4, field5, field6, field7, field8, field9, field10;
  2611. int leng1 = 20;
  2612. int leng2 = 15;
  2613. int leng3 = 15;
  2614. int leng4 = 15;
  2615. int leng5 = 15;
  2616. int leng6 = 15;
  2617. int leng7 = 15;
  2618. int leng8 = 15;
  2619. int leng9 = 15;
  2620. int leng10 = 15;
  2621. CString m_name1, m_name2;
  2622. float sum = 0;
  2623. {
  2624. leng1 = 18;
  2625. leng2 = 15;
  2626. leng3 = 10;
  2627. leng4 = 15;
  2628. leng5 = 10;
  2629. leng6 = 10;
  2630. leng7 = 15;
  2631. leng8 = 15;
  2632. leng9 = 15;
  2633. field1 = "客人姓名";
  2634. field2 = "提成金额";
  2635. field3 = "部门";
  2636. field4 = "内容";
  2637. field5 = "数量";
  2638. field6 = "单价";
  2639. field7 = "提成方式";
  2640. field8 = "套系金额";
  2641. field9 = "日期";
  2642. FillLength(field1, leng1);
  2643. FillLength(field2, leng2);
  2644. FillLength(field3, leng3);
  2645. FillLength(field4, leng4);
  2646. FillLength(field5, leng5);
  2647. FillLength(field6, leng6);
  2648. FillLength(field7, leng7);
  2649. FillLength(field8, leng8);
  2650. FillLength(field9, leng9);
  2651. str = field1 + field2 + field3 + field4 + field5 + field6 + field7 + field8 + field9 + "\n";
  2652. fp.WriteString(str);
  2653. for (int i = 0; i < m_List4.GetItemCount(); i++)
  2654. {
  2655. field1.Empty();
  2656. m_name1 = m_List4.GetItemText(i, 1);
  2657. m_name2 = m_List4.GetItemText(i, 2);
  2658. if (!m_name1.IsEmpty())
  2659. field1 = m_name1 + ",";
  2660. field1 += m_name2;
  2661. field1.TrimRight(",");
  2662. field2 = m_List4.GetItemText(i, 3);
  2663. sum += atof(field2);
  2664. field3 = m_List4.GetItemText(i, 4);
  2665. field4 = m_List4.GetItemText(i, 5);
  2666. field5 = m_List4.GetItemText(i, 6);
  2667. field6 = m_List4.GetItemText(i, 7);
  2668. field7 = m_List4.GetItemText(i, 8);
  2669. field8 = m_List4.GetItemText(i, 9);
  2670. field9 = m_List4.GetItemText(i, 10);
  2671. FillLength(field1, leng1);
  2672. FillLength(field2, leng2);
  2673. FillLength(field3, leng3);
  2674. FillLength(field4, leng4);
  2675. FillLength(field5, leng5);
  2676. FillLength(field6, leng6);
  2677. FillLength(field7, leng7);
  2678. FillLength(field8, leng8);
  2679. FillLength(field9, leng9);
  2680. str = field1 + field2 + field3 + field4 + field5 + field6 + field7 + field8 + field9 + "\n";
  2681. fp.WriteString(str);
  2682. }
  2683. fp.WriteString("\n");
  2684. str = "姓名: " + name;
  2685. fp.WriteString(str); fp.WriteString("\n");
  2686. str = "类别: 计件提成\n";
  2687. fp.WriteString(str);
  2688. str.Format("总计: %0.2f", sum); fp.WriteString(str);
  2689. }
  2690. fp.Close();
  2691. MessageBox("资料已保存到c:\\" + name + "(计件).txt");
  2692. ShellExecute(NULL, _T("open"), _T("c:\\" + name + "(计件).txt"), NULL, NULL, SW_SHOWMAXIMIZED);
  2693. }
  2694. void MySalary::OnButton7()
  2695. {
  2696. int pos = m_comboname.GetCurSel();
  2697. if (pos == -1)
  2698. {
  2699. AfxMessageBox("请选择您要导出资料的员工");
  2700. return;
  2701. }
  2702. CString name;
  2703. m_comboname.GetWindowText(name);
  2704. SelExportType dlg;
  2705. if (dlg.DoModal() != IDOK)return;
  2706. if (dlg.m_type == 1)
  2707. {
  2708. ListToXLS(&m_Listtake, "c:\\" + name + "(摄影).xls", 0);
  2709. return;
  2710. }
  2711. CStdioFile fp;
  2712. fp.Open("c:\\" + name + "(摄影).txt", CFile::modeCreate | CFile::modeWrite);
  2713. CString str, field1, field2, field3, field4, field5, field6, field7, field8, field9, field10;
  2714. int leng1 = 20;
  2715. int leng2 = 15;
  2716. int leng3 = 15;
  2717. int leng4 = 15;
  2718. int leng5 = 15;
  2719. int leng6 = 15;
  2720. int leng7 = 15;
  2721. int leng8 = 15;
  2722. int leng9 = 15;
  2723. int leng10 = 15;
  2724. CString m_name1, m_name2;
  2725. float sum = 0;
  2726. int waiter1count = 0;
  2727. int waiter12count = 0;
  2728. int waiter2count = 0;
  2729. int waiter22count = 0;
  2730. {
  2731. leng1 = 18;
  2732. leng2 = 20;
  2733. leng3 = 12;
  2734. leng4 = 20;
  2735. leng5 = 15;
  2736. leng6 = 10;
  2737. leng7 = 10;
  2738. leng8 = 10;
  2739. leng9 = 10;
  2740. field1 = "客人姓名";
  2741. field2 = "套系";
  2742. field3 = "套系金额";
  2743. field4 = "景点";
  2744. field5 = "日期";
  2745. field6 = "摄影";
  2746. field7 = "助理";
  2747. field8 = "化妆";
  2748. #ifdef CHILD_VERSION
  2749. field8 = "引导";
  2750. #endif
  2751. field9 = "助理";
  2752. FillLength(field1, leng1);
  2753. FillLength(field2, leng2);
  2754. FillLength(field3, leng3);
  2755. FillLength(field4, leng4);
  2756. FillLength(field5, leng5);
  2757. FillLength(field6, leng6);
  2758. FillLength(field7, leng7);
  2759. FillLength(field8, leng8);
  2760. FillLength(field9, leng9);
  2761. str = field1 + field2 + field3 + field4 + field5 + field6 + field7 + field8 + field9 + "\n";
  2762. fp.WriteString(str);
  2763. for (int i = 0; i < m_Listtake.GetItemCount(); i++)
  2764. {
  2765. field1.Empty();
  2766. m_name1 = m_Listtake.GetItemText(i, 1);
  2767. m_name2 = m_Listtake.GetItemText(i, 2);
  2768. if (!m_name1.IsEmpty())
  2769. field1 = m_name1 + ",";
  2770. field1 += m_name2;
  2771. field1.TrimRight(",");
  2772. field2 = m_Listtake.GetItemText(i, 3);
  2773. field3 = m_Listtake.GetItemText(i, 4);
  2774. sum += atof(field3);
  2775. field4 = m_Listtake.GetItemText(i, 5);
  2776. field5 = m_Listtake.GetItemText(i, 6);
  2777. field6 = m_Listtake.GetItemText(i, 7);
  2778. field7 = m_Listtake.GetItemText(i, 8);
  2779. field8 = m_Listtake.GetItemText(i, 9);
  2780. field9 = m_Listtake.GetItemText(i, 10);
  2781. if (field6 == name)waiter1count++;
  2782. if (field7 == name)waiter12count++;
  2783. if (field8 == name)waiter2count++;
  2784. if (field9 == name)waiter22count++;
  2785. FillLength(field1, leng1);
  2786. FillLength(field2, leng2);
  2787. FillLength(field3, leng3);
  2788. FillLength(field4, leng4);
  2789. FillLength(field5, leng5);
  2790. FillLength(field6, leng6);
  2791. FillLength(field7, leng7);
  2792. FillLength(field8, leng8);
  2793. FillLength(field9, leng9);
  2794. str = field1 + field2 + field3 + field4 + field5 + field6 + field7 + field8 + field9 + "\n";
  2795. fp.WriteString(str);
  2796. }
  2797. fp.WriteString("\n");
  2798. str = "姓名: " + name;
  2799. fp.WriteString(str); fp.WriteString("\n");
  2800. str.Format("摄影: %d\n", waiter1count); fp.WriteString(str);
  2801. str.Format("助理: %d\n", waiter12count); fp.WriteString(str);
  2802. #ifdef CHILD_VERSION
  2803. str.Format("引导: %d\n", waiter2count); fp.WriteString(str);
  2804. #else
  2805. str.Format("化妆: %d\n", waiter2count); fp.WriteString(str);
  2806. #endif
  2807. str.Format("助理: %d\n", waiter22count); fp.WriteString(str);
  2808. str.Format("订单总金额: %0.2f", sum); fp.WriteString(str);
  2809. }
  2810. fp.Close();
  2811. MessageBox("资料已保存到c:\\" + name + "(摄影).txt");
  2812. ShellExecute(NULL, _T("open"), _T("c:\\" + name + "(摄影).txt"), NULL, NULL, SW_SHOWMAXIMIZED);
  2813. }
  2814. void MySalary::OnButton8()
  2815. {
  2816. UpdateData();
  2817. int pos = m_comboname.GetCurSel();
  2818. if (pos == -1)
  2819. {
  2820. AfxMessageBox("请选择您要导出资料的员工");
  2821. return;
  2822. }
  2823. CString date1, date2;
  2824. date1 = m_date1.Format("%Y-%m-%d");
  2825. date2 = m_date2.Format("%Y-%m-%d");
  2826. CString name;
  2827. m_comboname.GetWindowText(name);
  2828. SelExportType dlg;
  2829. if (dlg.DoModal() != IDOK)return;
  2830. if (dlg.m_type == 1)
  2831. {
  2832. ListToXLS(&m_Listdigital, "c:\\" + name + "(数码).xls", 0);
  2833. return;
  2834. }
  2835. CStdioFile fp;
  2836. fp.Open("c:\\" + name + "(数码).txt", CFile::modeCreate | CFile::modeWrite);
  2837. CString str, field1, field2, field3, field4, field5, field6, field7, field8, field9, field10;
  2838. int leng1 = 20;
  2839. int leng2 = 15;
  2840. int leng3 = 15;
  2841. int leng4 = 15;
  2842. int leng5 = 15;
  2843. int leng6 = 15;
  2844. int leng7 = 15;
  2845. int leng8 = 15;
  2846. int leng9 = 15;
  2847. int leng10 = 15;
  2848. CString m_name1, m_name2;
  2849. float sum1 = 0;
  2850. float sum2 = 0;
  2851. float sum3 = 0;
  2852. float sum12 = 0;
  2853. float sum22 = 0;
  2854. float sum32 = 0;
  2855. int count1 = 0;
  2856. int count2 = 0;
  2857. int count3 = 0;
  2858. {
  2859. leng1 = 18;
  2860. leng2 = 20;
  2861. leng3 = 12;
  2862. leng4 = 10;
  2863. leng5 = 15;
  2864. leng6 = 10;
  2865. leng7 = 15;
  2866. leng8 = 10;
  2867. leng9 = 15;
  2868. leng10 = 10;
  2869. field1 = "客人姓名";
  2870. field2 = "套系";
  2871. field3 = "套系金额";
  2872. field4 = "初修";
  2873. field5 = "日期";
  2874. field6 = "精修";
  2875. field7 = "日期";
  2876. field8 = "设计";
  2877. field9 = "日期";
  2878. field10 = "选片二销";
  2879. FillLength(field1, leng1);
  2880. FillLength(field2, leng2);
  2881. FillLength(field3, leng3);
  2882. FillLength(field4, leng4);
  2883. FillLength(field5, leng5);
  2884. FillLength(field6, leng6);
  2885. FillLength(field7, leng7);
  2886. FillLength(field8, leng8);
  2887. FillLength(field9, leng9);
  2888. FillLength(field10, leng10);
  2889. str = field1 + field2 + field3 + field4 + field5 + field6 + field7 + field8 + field9 + field10 + "\n";
  2890. fp.WriteString(str);
  2891. for (int i = 0; i < m_Listdigital.GetItemCount(); i++)
  2892. {
  2893. field1.Empty();
  2894. m_name1 = m_Listdigital.GetItemText(i, 1);
  2895. m_name2 = m_Listdigital.GetItemText(i, 2);
  2896. if (!m_name1.IsEmpty())
  2897. field1 = m_name1 + ",";
  2898. field1 += m_name2;
  2899. field1.TrimRight(",");
  2900. field2 = m_Listdigital.GetItemText(i, 3);
  2901. field3 = m_Listdigital.GetItemText(i, 4);
  2902. field4 = m_Listdigital.GetItemText(i, 5);
  2903. field5 = m_Listdigital.GetItemText(i, 6);
  2904. field6 = m_Listdigital.GetItemText(i, 7);
  2905. field7 = m_Listdigital.GetItemText(i, 8);
  2906. field8 = m_Listdigital.GetItemText(i, 9);
  2907. field9 = m_Listdigital.GetItemText(i, 10);
  2908. field10 = m_Listdigital.GetItemText(i, 14);
  2909. if (m_Listdigital.GetItemText(i, 11) == "OK" && field4 == name && field5 >= date1 && field5 <= date2)
  2910. {
  2911. sum1 += atof(field3);
  2912. sum12 += atof(field10);
  2913. count1++;
  2914. }
  2915. if (m_Listdigital.GetItemText(i, 12) == "OK" && field6 == name && field7 >= date1 && field7 <= date2)
  2916. {
  2917. sum2 += atof(field3);
  2918. sum22 += atof(field10);
  2919. count2++;
  2920. }
  2921. if (m_Listdigital.GetItemText(i, 13) == "OK" && field8 == name && field9 >= date1 && field9 <= date2)
  2922. {
  2923. sum3 += atof(field3);
  2924. sum32 += atof(field10);
  2925. count3++;
  2926. }
  2927. FillLength(field1, leng1);
  2928. FillLength(field2, leng2);
  2929. FillLength(field3, leng3);
  2930. FillLength(field4, leng4);
  2931. FillLength(field5, leng5);
  2932. FillLength(field6, leng6);
  2933. FillLength(field7, leng7);
  2934. FillLength(field8, leng8);
  2935. FillLength(field9, leng9);
  2936. FillLength(field10, leng10);
  2937. str = field1 + field2 + field3 + field4 + field5 + field6 + field7 + field8 + field9 + field10 + "\n";
  2938. fp.WriteString(str);
  2939. }
  2940. fp.WriteString("\n");
  2941. str = "姓名: " + name;
  2942. fp.WriteString(str); fp.WriteString("\n");
  2943. str.Format("初修: %d单 订单金额:%0.2f 选片二销:%0.2f\n", count1, sum1, sum12); fp.WriteString(str);
  2944. str.Format("精修: %d单 订单金额:%0.2f 选片二销:%0.2f\n", count2, sum2, sum22); fp.WriteString(str);
  2945. str.Format("设计: %d单 订单金额:%0.2f 选片二销:%0.2f\n", count3, sum3, sum32); fp.WriteString(str);
  2946. }
  2947. fp.Close();
  2948. MessageBox("资料已保存到c:\\" + name + "(数码).txt");
  2949. ShellExecute(NULL, _T("open"), _T("c:\\" + name + "(数码).txt"), NULL, NULL, SW_SHOWMAXIMIZED);
  2950. }
  2951. void MySalary::OnDatetimechangeDatetimepicker1(NMHDR* pNMHDR, LRESULT* pResult)
  2952. {
  2953. OnSelchangeList1();
  2954. *pResult = 0;
  2955. }
  2956. void MySalary::OnDatetimechangeDatetimepicker2(NMHDR* pNMHDR, LRESULT* pResult)
  2957. {
  2958. OnSelchangeList1();
  2959. *pResult = 0;
  2960. }
  2961. CString GetExcelDriver()
  2962. {
  2963. char szBuf[2001];
  2964. WORD cbBufMax = 2000;
  2965. WORD cbBufOut;
  2966. char *pszBuf = szBuf;
  2967. CString sDriver;
  2968. if (!SQLGetInstalledDrivers(szBuf, cbBufMax, &cbBufOut))
  2969. return "";
  2970. do
  2971. {
  2972. if (strstr(pszBuf, "Excel") != 0)
  2973. {
  2974. sDriver = CString(pszBuf);
  2975. break;
  2976. }
  2977. pszBuf = strchr(pszBuf, '\0') + 1;
  2978. } while (pszBuf[1] != '\0');
  2979. return sDriver;
  2980. }
  2981. BOOL MakeSurePathExists(CString &Path, bool FilenameIncluded)
  2982. {
  2983. int Pos = 0;
  2984. while ((Pos = Path.Find('\\', Pos + 1)) != -1)
  2985. CreateDirectory(Path.Left(Pos), NULL);
  2986. if (!FilenameIncluded)
  2987. CreateDirectory(Path, NULL);
  2988. // return ((!FilenameIncluded)?!_access(Path,0):
  2989. // !_access(Path.Left(Path.ReverseFind('\\')),0));
  2990. return !_access(Path, 0);
  2991. }
  2992. BOOL GetDefaultXlsFileName(CString &sExcelFile)
  2993. {
  2994. ///默认文件名:yyyymmddhhmmss.xls
  2995. // prompt the user (with all document templates)
  2996. CFileDialog dlgFile(FALSE, ".xls", sExcelFile);
  2997. CString title;
  2998. CString strFilter;
  2999. title = "导出";
  3000. strFilter = "Excel文件(*.xls)";
  3001. strFilter += (TCHAR)'\0'; // next string please
  3002. strFilter += _T("*.xls");
  3003. strFilter += (TCHAR)'\0'; // last string
  3004. dlgFile.m_ofn.nMaxCustFilter++;
  3005. dlgFile.m_ofn.nFilterIndex = 1;
  3006. // append the "*.*" all files filter
  3007. CString allFilter;
  3008. VERIFY(allFilter.LoadString(AFX_IDS_ALLFILTER));
  3009. strFilter += allFilter;
  3010. strFilter += (TCHAR)'\0'; // next string please
  3011. strFilter += _T("*.*");
  3012. strFilter += (TCHAR)'\0'; // last string
  3013. dlgFile.m_ofn.nMaxCustFilter++;
  3014. dlgFile.m_ofn.lpstrFilter = strFilter;
  3015. dlgFile.m_ofn.lpstrTitle = title;
  3016. if (dlgFile.DoModal() == IDCANCEL)
  3017. return FALSE; // open cancelled
  3018. sExcelFile = dlgFile.GetFileName();
  3019. if (MakeSurePathExists(sExcelFile, true)) {
  3020. if (!DeleteFile(sExcelFile)) { // 删除xls文件;
  3021. AfxMessageBox("覆盖文件时出错!");
  3022. return FALSE;
  3023. }
  3024. }
  3025. return TRUE;
  3026. }
  3027. int FindArrayCount(CStringArray *pArray, CString Str)
  3028. {
  3029. int ret = 0;
  3030. for (int i = 0; i < pArray->GetSize(); i++)
  3031. {
  3032. if (pArray->ElementAt(i) == Str)
  3033. ret++;
  3034. }
  3035. return ret;
  3036. }
  3037. void ListToXLS(CListCtrl *pList, CString savepath, int nColumn, int nRow)
  3038. {
  3039. CString strPath = savepath;
  3040. #if 0
  3041. const int nImportCount = 3500;
  3042. INT nItemCount = pList->GetItemCount();
  3043. if ( nItemCount < 5000)
  3044. {
  3045. Import2Excle(pList, savepath, nColumn, nRow);
  3046. }
  3047. else
  3048. {
  3049. int nTimes = 0;
  3050. int nStartRow = 0;
  3051. int nEndRow = 0;
  3052. savepath.TrimRight(_T(".xls"));
  3053. TCHAR szExcelpath[MAX_PATH] = {0};
  3054. while( true )
  3055. {
  3056. nItemCount -= nImportCount;
  3057. if ( nItemCount > 0 )
  3058. {
  3059. nTimes++;
  3060. nEndRow += nImportCount;
  3061. sprintf(szExcelpath, _T("%s%d.xls"), savepath, nTimes);
  3062. Import2Excle(pList, szExcelpath, nColumn, nStartRow, -1, nEndRow);
  3063. nStartRow += nImportCount;
  3064. }
  3065. else
  3066. {
  3067. sprintf(szExcelpath, _T("%s%d.xls"), savepath, nTimes+1);
  3068. Import2Excle(pList, szExcelpath, nColumn, nStartRow, -1, -1);
  3069. break;
  3070. }
  3071. }
  3072. }
  3073. #else
  3074. Import2Xls(pList, savepath, nColumn, nRow);
  3075. #endif
  3076. strPath = savepath + _T(".dat");
  3077. ShellExecute(NULL, _T("open"), _T("xlsworker.exe"), strPath, NULL, SW_SHOW);
  3078. ///AfxMessageBox(savepath + _T("后台生成,请稍等片刻!"));
  3079. return;
  3080. if (pList == NULL)return;
  3081. CString strTitle = "sheet1";
  3082. CString warningStr;
  3083. CString str, temp;
  3084. if (pList->GetItemCount()>0)
  3085. {
  3086. CDatabase database;
  3087. CString sDriver;
  3088. CString sExcelFile;
  3089. CString sSql;
  3090. CString tableName = strTitle;
  3091. CStringArray colarray;
  3092. // 检索是否安装有Excel驱动 "Microsoft Excel Driver (*.xls)"
  3093. sDriver = GetExcelDriver();
  3094. if (sDriver.IsEmpty())
  3095. {
  3096. // 没有发现Excel驱动
  3097. AfxMessageBox("没有安装Excel!\n请先安装Excel软件才能使用导出功能!");
  3098. return;
  3099. }
  3100. sExcelFile = "";
  3101. sExcelFile = savepath;
  3102. ///默认文件名
  3103. if (!GetDefaultXlsFileName(sExcelFile))
  3104. return;
  3105. // 创建进行存取的字符串
  3106. sSql.Format("DRIVER={%s};DSN='';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s", sDriver, sExcelFile, sExcelFile);
  3107. // 创建数据库 (既Excel表格文件)
  3108. if (database.OpenEx(sSql, CDatabase::noOdbcDialog))
  3109. {
  3110. // 创建表结构
  3111. int i;
  3112. LVCOLUMN columnData;
  3113. CString columnName;
  3114. int columnNum = 0;
  3115. CString strH;
  3116. CString strV;
  3117. sSql = "";
  3118. strH = "";
  3119. columnData.mask = LVCF_TEXT;
  3120. columnData.cchTextMax = 100;
  3121. columnData.pszText = columnName.GetBuffer(100);
  3122. {
  3123. for (i = nColumn; pList->GetColumn(i, &columnData); i++)
  3124. {
  3125. if (i != nColumn)
  3126. {
  3127. sSql = sSql + ", ";
  3128. strH = strH + ", ";
  3129. }
  3130. temp = columnData.pszText;
  3131. temp.Replace("/", "");
  3132. temp.Replace("(", "");
  3133. temp.Replace(")", "");
  3134. int countexist = FindArrayCount(&colarray, temp);
  3135. if (countexist)
  3136. {
  3137. CString ss;
  3138. ss.Format("%d", countexist + 1);
  3139. sSql = sSql + " " + temp + ss + " TEXT";
  3140. strH = strH + " " + temp + ss + " ";
  3141. str = temp;
  3142. str += ss;
  3143. colarray.Add(str);
  3144. }
  3145. else
  3146. {
  3147. sSql = sSql + " " + temp + " TEXT";
  3148. strH = strH + " " + temp + " ";
  3149. colarray.Add(temp);
  3150. }
  3151. }
  3152. }
  3153. columnName.ReleaseBuffer();
  3154. columnNum = i;
  3155. sSql = "CREATE TABLE " + tableName + " ( " + sSql + " ) ";
  3156. database.ExecuteSQL(sSql);
  3157. // 插入数据项
  3158. int nItemIndex;
  3159. {
  3160. for (nItemIndex = 0; nItemIndex < pList->GetItemCount(); nItemIndex++)
  3161. {
  3162. strV = "";
  3163. for (i = nColumn; i < columnNum; i++)
  3164. {
  3165. if (i != nColumn)
  3166. {
  3167. strV = strV + ", ";
  3168. }
  3169. strV = strV + " '" + pList->GetItemText(nItemIndex, i) + "' ";
  3170. }
  3171. sSql = "INSERT INTO " + tableName
  3172. + " (" + strH + ")"
  3173. + " VALUES(" + strV + ")";
  3174. database.ExecuteSQL(sSql);
  3175. }
  3176. }
  3177. }
  3178. // 关闭数据库
  3179. database.Close();
  3180. ShellExecute(NULL, _T("open"), sExcelFile, NULL, NULL, SW_SHOW);
  3181. }
  3182. else
  3183. AfxMessageBox("表中没有数据!");
  3184. }
  3185. //%0.2f
  3186. void MySalary::OnBut3() // 导出按钮;
  3187. {
  3188. ListToXLS(&m_List3, "c:\\工资表.xls", 0);
  3189. }