MySalary.cpp 106 KB

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