123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550 |
- #include "stdafx.h"
- #include "StaffWage.h"
- #include "Global/Global.h"
- #include "MainFrm.h"
- extern CMainFrame *g_pMainWnd;
- CStaffWage::CStaffWage(void)
- {
- m_strStaffName = _T("");
- m_strWageStartDate = _T("");
- m_strWageEndofDate = _T("");
- m_fEaryResultMoney = 0.0;
- }
- CStaffWage::~CStaffWage(void)
- {
- ClearStaffWageData();
- }
- void CStaffWage::ClearStaffWageData()
- {
- m_AryStaffDetail.RemoveAll();
- m_AryReceiptRecords.RemoveAll();
- m_AryOrderDetail.RemoveAll();
- m_AryOtherIncomeRecord.RemoveAll();
- m_ArySceneryWorkRecord.RemoveAll();
- m_AryMyWorkRecord.RemoveAll();
- m_AryDigitalWorkRecord.RemoveAll();
- m_AryWageType.RemoveAll();
- m_AryWageTypeMoney.RemoveAll();
- m_fEaryResultMoney = 0.0;
- }
- BOOL CStaffWage::GetStaffWageData(IN CString strStaffName, IN CString strWageStartDate, IN CString strWageEndofDate)
- {
- m_strStaffName = strStaffName;
- m_strWageStartDate = strWageStartDate;
- m_strWageEndofDate = strWageEndofDate;
- CString strTemp = _T("");
- CString strFilter = _T("");
- // case 34:查询员工;
- strTemp.Format(_T("name = '%s' and dimission='在职';"), m_strStaffName);
- strFilter += strTemp;
- // case 242:查询所有收款详情;
- strTemp.Format(_T("(Paydate >= '%s' and Paydate <= '%s' ) or (PhotoStatus = 'OK' and PhotogOfPaydate >= '%s' and PhotogOfPaydate <= '%s');"), strWageStartDate, strWageEndofDate, strWageStartDate, strWageEndofDate);
- strFilter += strTemp;
- // case 243:查询收款订单;
- strTemp.Format(_T("([waiter1] = '%s' or [waiter2] = '%s' or [waiter3] = '%s' or [waiter4] = '%s' or [waiter5] = '%s' or")
- _T(" [waiter6] = '%s' or [waiter7] = '%s' or [waiter8] = '%s' or [waiter9] = '%s' or [waiter12] = '%s' or [waiter22] = '%s')")
- _T(" and id in (select distinct id from Payroll where (Paydate >= '%s' and Paydate <= '%s') or (PhotoStatus = 'OK' and PhotogOfPaydate >= '%s' and PhotogOfPaydate <= '%s'));"),
- m_strStaffName,
- m_strStaffName,
- m_strStaffName,
- m_strStaffName,
- m_strStaffName,
- m_strStaffName,
- m_strStaffName,
- m_strStaffName,
- m_strStaffName,
- m_strStaffName,
- m_strStaffName,
- strWageStartDate, strWageEndofDate, strWageStartDate, strWageEndofDate);
- strFilter += strTemp;
- // case 198:查询其他收入;
- strTemp.Format(
- _T("[date] >= '%s' and [date] <= '%s' and [renyuan3] = '%s';"),
- strWageStartDate, strWageEndofDate, strStaffName);
- strFilter += strTemp;
- // case 142:查询我的工作;
- strTemp.Format(_T("datetime >= '%s' and datetime <= '%s' and name = '%s';"),strWageStartDate, strWageEndofDate, strStaffName);
- strFilter += strTemp;
- // case 192:查询摄影师景点工作;
- strTemp.Format(_T("[date] >= '%s' and [date] <= '%s' and [status] = 'OK' and ([waiter1] = '%s' or [waiter12] = '%s' or [waiter2] = '%s' or [waiter22] = '%s');"),
- strWageStartDate, strWageEndofDate, strStaffName,strStaffName,strStaffName,strStaffName);
- strFilter += strTemp;
- // case 193:查询数码工作记录;
- strTemp.Format(
- _T("([time8] >='%s' and [time8]<='%s' and [status4]='OK' and [waiter5]='%s') or ")
- _T("([time9] >='%s' and [time9]<='%s' and [status6]='OK' and [waiter7]='%s') or ")
- _T("([time10] >='%s' and [time10]<='%s' and [status5]='OK' and [waiter4]='%s');"),
- strWageStartDate, strWageEndofDate, strStaffName,
- strWageStartDate, strWageEndofDate, strStaffName,
- strWageStartDate, strWageEndofDate, strStaffName);
- strFilter += strTemp;
- g_sendhead.code[0] = 34;
- g_sendhead.code[1] = 242;
- g_sendhead.code[2] = 243;
- g_sendhead.code[3] = 198;
- g_sendhead.code[4] = 142;
- g_sendhead.code[5] = 192;
- g_sendhead.code[6] = 193;
- g_sendhead.tabcount = 7;
- g_sendhead.bsql = FALSE;
- g_pMainWnd->ProcessChatMessageRequest2(strFilter);
- if ( !g_bSendOK )
- return FALSE;
- ClearStaffWageData();
- DataToArray(&m_AryStaffDetail, &m_AryReceiptRecords, &m_AryOrderDetail, &m_AryOtherIncomeRecord, &m_AryMyWorkRecord, &m_ArySceneryWorkRecord, &m_AryDigitalWorkRecord);
- return TRUE;
- }
- void CStaffWage::GetPhotographerAndMakeupArtistServeRecord(IN CString strOrderNum, IN BOOL &bPhotographer, IN BOOL &bMakeupArtist, IN FLOAT &fPhotographerPercent, IN FLOAT &fMakeupArtistPercent)
- {
- bPhotographer = bMakeupArtist = FALSE;
- INT nSize = m_AryOrderDetail.GetSize();
- for ( int i = 0; i < nSize; i++ )
- {
- // 是否指定要查询的订单;
- if ( m_AryOrderDetail.ElementAt(i).ElementAt(0) == strOrderNum )
- {
- // 主摄影师、摄影师2~4只能有一个;
- if ( m_strStaffName == m_AryOrderDetail.ElementAt(i).ElementAt(1) )
- {// 是否是有主摄影师服务提成;
- bPhotographer = TRUE;
- // 获取折扣;
- fPhotographerPercent = _tstof(m_AryOrderDetail.ElementAt(i).ElementAt(5))/100.0;
- if ( fPhotographerPercent == 0.0 )
- fPhotographerPercent = 1.0;
- }
- else if ( m_strStaffName == m_AryOrderDetail.ElementAt(i).ElementAt(2) )
- {// 是否是有摄影师2服务提成;
- bPhotographer = TRUE;
- // 获取折扣;
- fPhotographerPercent = _tstof(m_AryOrderDetail.ElementAt(i).ElementAt(6))/100.0;
- if ( fPhotographerPercent == 0.0 )
- fPhotographerPercent = 1.0;
- }
- else if ( m_strStaffName == m_AryOrderDetail.ElementAt(i).ElementAt(3) )
- {// 是否是有摄影师3服务提成;
- bPhotographer = TRUE;
- // 获取折扣;
- fPhotographerPercent = _tstof(m_AryOrderDetail.ElementAt(i).ElementAt(7))/100.0;
- if ( fPhotographerPercent == 0.0 )
- fPhotographerPercent = 1.0;
- }
- else if ( m_strStaffName == m_AryOrderDetail.ElementAt(i).ElementAt(4) )
- {// 是否是有摄影师4服务提成;
- bPhotographer = TRUE;
- // 获取折扣;
- fPhotographerPercent = _tstof(m_AryOrderDetail.ElementAt(i).ElementAt(8))/100.0;
- if ( fPhotographerPercent == 0.0 )
- fPhotographerPercent = 1.0;
- }
- // 主化妆师、化妆师2~4只能有一个;
- if ( m_strStaffName == m_AryOrderDetail.ElementAt(i).ElementAt(9) )
- {// 是否是主化妆师服务记录;
- bMakeupArtist = TRUE;
- // 获取折扣;
- fMakeupArtistPercent = _tstof(m_AryOrderDetail.ElementAt(i).ElementAt(13))/100.0;
- if ( fMakeupArtistPercent == 0.0 )
- fMakeupArtistPercent = 1.0;
- }
- else if ( m_strStaffName == m_AryOrderDetail.ElementAt(i).ElementAt(10) )
- {// 是否是有化妆师2服务提成;
- bMakeupArtist = TRUE;
- // 获取折扣;
- fMakeupArtistPercent = _tstof(m_AryOrderDetail.ElementAt(i).ElementAt(14))/100.0;
- if ( fMakeupArtistPercent == 0.0 )
- fMakeupArtistPercent = 1.0;
- }
- else if ( m_strStaffName == m_AryOrderDetail.ElementAt(i).ElementAt(11) )
- {// 是否是有化妆师3服务提成;
- bMakeupArtist = TRUE;
- // 获取折扣;
- fMakeupArtistPercent = _tstof(m_AryOrderDetail.ElementAt(i).ElementAt(15))/100.0;
- if ( fMakeupArtistPercent == 0.0 )
- fMakeupArtistPercent = 1.0;
- }
- else if ( m_strStaffName == m_AryOrderDetail.ElementAt(i).ElementAt(12) )
- {// 是否是有化妆师4服务提成;
- bMakeupArtist = TRUE;
- // 获取折扣;
- fMakeupArtistPercent = _tstof(m_AryOrderDetail.ElementAt(i).ElementAt(16))/100.0;
- if ( fMakeupArtistPercent == 0.0 )
- fMakeupArtistPercent = 1.0;
- }
- break;
- }
- }
- }
- void CStaffWage::GetSalesServerRecord(IN CString strOrderNum, IN BOOL &bSalesperson1, IN BOOL &bSalesperson2, IN FLOAT &fbSalesperson1Percent, IN FLOAT &fbSalesperson2Percent)
- {
- bSalesperson1 = bSalesperson2 = FALSE;
- INT nSize = m_AryOrderDetail.GetSize();
- for ( int i = 0; i < nSize; i++ )
- {
- // 是否指定要查询的订单;
- if ( m_AryOrderDetail.ElementAt(i).ElementAt(0) == strOrderNum )
- {
- // 主门市;
- if ( m_strStaffName == m_AryOrderDetail.ElementAt(i).ElementAt(17) )
- {// 是否是主门市提成;
- bSalesperson1 = TRUE;
- // 获取折扣;
- fbSalesperson1Percent = _tstof(m_AryOrderDetail.ElementAt(i).ElementAt(19))/100.0;
- if ( fbSalesperson1Percent == 0.0 )
- fbSalesperson1Percent = 1.0;
- }
- // 副门市;
- if ( m_strStaffName == m_AryOrderDetail.ElementAt(i).ElementAt(18) )
- {// 是否是副门市提成;
- bSalesperson2 = TRUE;
- // 获取折扣;
- fbSalesperson2Percent = _tstof(m_AryOrderDetail.ElementAt(i).ElementAt(20))/100.0;
- if ( fbSalesperson2Percent == 0.0 )
- fbSalesperson2Percent = 1.0;
- }
- break;
- }
- }
- }
- BOOL CStaffWage::GetEarlyReuslts(IN CArray<CStringArray, CStringArray>& AryEarlyResult) // 获取前期业绩;
- {
- INT nSize = m_AryReceiptRecords.GetSize();
- AryEarlyResult.SetSize(nSize*11, 1);
- INT nIndex = -1;
- INT nArypos = 0;
- CString strMoney;
- BOOL bPhotographer,bMakeupArtist;
- FLOAT fPhotographer, fMakeupArtist;
- BOOL bSalesperson1,bSalesperson2;
- FLOAT fbSalesperson1Percent, fbSalesperson2Percent;
- for ( int i = 0; i < nSize; i++ )
- {
- // 前期业绩;
- if ( m_AryReceiptRecords.ElementAt(i).ElementAt(5) == _T("3") || m_AryReceiptRecords.ElementAt(i).ElementAt(5) == _T("4"))
- {
- fPhotographer = fMakeupArtist = 0.0;
- bPhotographer = bMakeupArtist = FALSE;
- if ( m_AryReceiptRecords.ElementAt(i).ElementAt(9) == _T("OK") && m_AryReceiptRecords.ElementAt(i).ElementAt(10) >= m_strWageStartDate && m_AryReceiptRecords.ElementAt(i).ElementAt(10) <= m_strWageEndofDate )
- {
- // 1.这笔收款,员工是否有摄影+化妆服务项;
- GetPhotographerAndMakeupArtistServeRecord(m_AryReceiptRecords.ElementAt(i).ElementAt(0), bPhotographer, bMakeupArtist, fPhotographer, fMakeupArtist);
- // ElementAt(56):工资设置:摄影师也有前期提成;
- if ( _tstoi(g_cominfoarray.ElementAt(0).ElementAt(56)) && bPhotographer )
- {// 摄影前期;
- // 按提成百分比计算;
- strMoney.Format(_T("%0.2f"), _tstof(m_AryReceiptRecords.ElementAt(i).ElementAt(6)) * fPhotographer);
- // 累加前期业绩;
- m_fEaryResultMoney += _tstof(strMoney);
- // 累加摄影工资类型金额;
- if ( (nIndex = FindArray(&m_AryWageType, WAGE_EARLY_PHOTOGRAPHER)) == -1 )
- {
- m_AryWageType.Add(WAGE_EARLY_PHOTOGRAPHER);
- m_AryWageTypeMoney.Add(_tstof(strMoney));
- }
- else
- {
- m_AryWageTypeMoney.SetAt(nIndex, m_AryWageTypeMoney.ElementAt(nIndex) + _tstof(strMoney));
- }
- // 保存该类型工资记录;
- AryEarlyResult.ElementAt(nArypos).RemoveAll();
- AryEarlyResult.ElementAt(nArypos).Add(strMoney); // 收款金额;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(10)); // 工资日期;
- AryEarlyResult.ElementAt(nArypos).Add(WAGE_EARLY_PHOTOGRAPHER); // 工资类型;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(1)); // 顾客1姓名;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(2)); // 顾客2姓名;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(3)); // 套系类型;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(13)); // 付款方式;
- nArypos++;
- }
- // ElementAt(57):工资设置:化妆师也有前期提成;
- if ( _tstoi(g_cominfoarray.ElementAt(0).ElementAt(57)) && bMakeupArtist )
- {// 化妆前期;
- // 按提成百分比计算;
- strMoney.Format(_T("%0.2f"), _tstof(m_AryReceiptRecords.ElementAt(i).ElementAt(6)) * fMakeupArtist);
- // 累加前期业绩;
- m_fEaryResultMoney += _tstof(strMoney);
- // 累加摄影工资类型金额;
- if ( (nIndex = FindArray(&m_AryWageType, WAGE_EARLY_MAKEUPARTIST)) == -1 )
- {
- m_AryWageType.Add(WAGE_EARLY_MAKEUPARTIST);
- m_AryWageTypeMoney.Add(_tstof(strMoney));
- }
- else
- {
- m_AryWageTypeMoney.SetAt(nIndex, m_AryWageTypeMoney.ElementAt(nIndex) + _tstof(strMoney));
- }
- // 保存该类型工资记录;
- AryEarlyResult.ElementAt(nArypos).RemoveAll();
- AryEarlyResult.ElementAt(nArypos).Add(strMoney); // 收款金额;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(10)); // 工资日期;
- AryEarlyResult.ElementAt(nArypos).Add(WAGE_EARLY_MAKEUPARTIST); // 工资类型;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(1)); // 顾客1姓名;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(2)); // 顾客2姓名;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(3)); // 套系类型;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(13)); // 付款方式;
- nArypos++;
- }
- }
- // 2.这笔收款,员工是否有门市服务项;
- bSalesperson1 = bSalesperson2 = 0.0;
- fbSalesperson1Percent = fbSalesperson2Percent = FALSE;
- GetSalesServerRecord(m_AryReceiptRecords.ElementAt(i).ElementAt(0), bSalesperson1, bSalesperson2, fbSalesperson1Percent, fbSalesperson2Percent);
- if ( bSalesperson1 )
- {// 主门市;
- // 按提成百分比计算;
- strMoney.Format(_T("%0.2f"), _tstof(m_AryReceiptRecords.ElementAt(i).ElementAt(6)) * fMakeupArtist);
- // 累加前期业绩;
- m_fEaryResultMoney += _tstof(strMoney);
- // 累加门市类型金额;
- if ( (nIndex = FindArray(&m_AryWageType, WAGE_EARLY_SALES)) == -1 )
- {
- m_AryWageType.Add(WAGE_EARLY_SALES);
- m_AryWageTypeMoney.Add(_tstof(strMoney));
- }
- else
- {
- m_AryWageTypeMoney.SetAt(nIndex, m_AryWageTypeMoney.ElementAt(nIndex) + _tstof(strMoney));
- }
- // 保存该类型工资记录;
- AryEarlyResult.ElementAt(nArypos).RemoveAll();
- AryEarlyResult.ElementAt(nArypos).Add(strMoney); // 收款金额;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(10)); // 工资日期;
- AryEarlyResult.ElementAt(nArypos).Add(WAGE_EARLY_SALES); // 工资类型;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(1)); // 顾客1姓名;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(2)); // 顾客2姓名;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(3)); // 套系类型;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(13)); // 付款方式;
- nArypos++;
- }
- if ( bSalesperson2 )
- {// 副门市;
- // 按提成百分比计算;
- strMoney.Format(_T("%0.2f"), _tstof(m_AryReceiptRecords.ElementAt(i).ElementAt(6)) * fMakeupArtist);
- // 累加前期业绩;
- m_fEaryResultMoney += _tstof(strMoney);
- // 累加门市类型金额;
- if ( (nIndex = FindArray(&m_AryWageType, WAGE_EARLY_SALES)) == -1 )
- {
- m_AryWageType.Add(WAGE_EARLY_SALES);
- m_AryWageTypeMoney.Add(_tstof(strMoney));
- }
- else
- {
- m_AryWageTypeMoney.SetAt(nIndex, m_AryWageTypeMoney.ElementAt(nIndex) + _tstof(strMoney));
- }
- // 保存该类型工资记录;
- AryEarlyResult.ElementAt(nArypos).RemoveAll();
- AryEarlyResult.ElementAt(nArypos).Add(strMoney); // 收款金额;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(10)); // 工资日期;
- AryEarlyResult.ElementAt(nArypos).Add(WAGE_EARLY_SALES); // 工资类型;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(1)); // 顾客1姓名;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(2)); // 顾客2姓名;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(3)); // 套系类型;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(13)); // 付款方式;
- nArypos++;
- }
- }
- // 选片二销;
- else if ( m_AryReceiptRecords.ElementAt(i).ElementAt(12) == _T("选片二销") )
- {
- bPhotographer = bMakeupArtist = FALSE;
- fPhotographer = fMakeupArtist = 0.0;
- if ( m_AryReceiptRecords.ElementAt(i).ElementAt(9) == _T("OK") && m_AryReceiptRecords.ElementAt(i).ElementAt(10) >= m_strWageStartDate && m_AryReceiptRecords.ElementAt(i).ElementAt(10) <= m_strWageEndofDate )
- {
- GetPhotographerAndMakeupArtistServeRecord(m_AryReceiptRecords.ElementAt(i).ElementAt(0), bPhotographer, bMakeupArtist, fPhotographer, fMakeupArtist);
- // ElementAt(41):工资设置:摄影师也有选片二销提成;
- if ( _tstoi(g_cominfoarray.ElementAt(0).ElementAt(41)) && bPhotographer )
- {
- // 按提成百分比计算;
- strMoney.Format(_T("%0.2f"), _tstof(m_AryReceiptRecords.ElementAt(i).ElementAt(6)) * fPhotographer);
- // 累加选片二销业绩;
- m_fSelectMoney += _tstof(strMoney);
- // 累加摄影也有选片二销工资类型金额;
- if ( (nIndex = FindArray(&m_AryWageType, WAGE_SEL_PHOTOGRAPHER)) == -1 )
- {
- m_AryWageType.Add(WAGE_SEL_PHOTOGRAPHER);
- m_AryWageTypeMoney.Add(_tstof(strMoney));
- }
- else
- {
- m_AryWageTypeMoney.SetAt(nIndex, m_AryWageTypeMoney.ElementAt(nIndex) + _tstof(strMoney));
- }
- // 保存该类型工资记录;
- AryEarlyResult.ElementAt(nArypos).Add(strMoney); // 收款金额;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(10)); // 工资日期;
- AryEarlyResult.ElementAt(nArypos).Add(WAGE_SEL_PHOTOGRAPHER); // 工资类型;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(1)); // 顾客1姓名;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(2)); // 顾客2姓名;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(3)); // 套系类型;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(13)); // 付款方式;
- nArypos++;
- }
- // ElementAt(42):工资设置:化妆师或引导师也有选片二销提成;
- if ( _tstoi(g_cominfoarray.ElementAt(0).ElementAt(42)) && bMakeupArtist )
- {
- // 按提成百分比计算;
- strMoney.Format(_T("%0.2f"), _tstof(m_AryReceiptRecords.ElementAt(i).ElementAt(6)) * fMakeupArtist);
- // 累加选片二销业绩;
- m_fSelectMoney += _tstof(strMoney);
- // 累加化妆也有选片二销工资类型金额;
- if ( (nIndex = FindArray(&m_AryWageType, WAGE_SEL_MAKEUPARTIST)) == -1 )
- {
- m_AryWageType.Add(WAGE_SEL_MAKEUPARTIST);
- m_AryWageTypeMoney.Add(_tstof(strMoney));
- }
- else
- {
- m_AryWageTypeMoney.SetAt(nIndex, m_AryWageTypeMoney.ElementAt(nIndex) + _tstof(strMoney));
- }
- // 保存该类型工资记录;
- AryEarlyResult.ElementAt(nArypos).Add(strMoney); // 收款金额;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(10)); // 工资日期;
- AryEarlyResult.ElementAt(nArypos).Add(WAGE_SEL_MAKEUPARTIST); // 工资类型;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(1)); // 顾客1姓名;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(2)); // 顾客2姓名;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(3)); // 套系类型;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(13)); // 付款方式;
- nArypos++;
- }
- }
- // 这笔收款,员工是否还是本次选片二销的选片师;
- if ( m_strStaffName == m_AryReceiptRecords.ElementAt(i).ElementAt(11) )
- {
- // 按提成百分比计算;
- strMoney.Format(_T("%0.2f"), _tstof(m_AryReceiptRecords.ElementAt(i).ElementAt(6)) );
- // 累加选片二销业绩;
- m_fSelectMoney += _tstof(strMoney);
- // 累加化妆也有选片二销工资类型金额;
- if ( (nIndex = FindArray(&m_AryWageType, WAGE_SEL_SALES)) == -1 )
- {
- m_AryWageType.Add(WAGE_SEL_SALES);
- m_AryWageTypeMoney.Add(_tstof(strMoney));
- }
- else
- {
- m_AryWageTypeMoney.SetAt(nIndex, m_AryWageTypeMoney.ElementAt(nIndex) + _tstof(strMoney));
- }
- // 保存该类型工资记录;
- AryEarlyResult.ElementAt(nArypos).RemoveAll();
- AryEarlyResult.ElementAt(nArypos).Add(strMoney); // 收款金额;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(10)); // 工资日期;
- AryEarlyResult.ElementAt(nArypos).Add(WAGE_SEL_SALES); // 工资类型;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(1)); // 顾客1姓名;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(2)); // 顾客2姓名;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(3)); // 套系类型;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(13)); // 付款方式;
- nArypos++;
- }
- }
- // 其他订单二销;
- else
- {
- // 这笔收款,员工是否还是本次其他订单二销的促成者;
- if ( m_strStaffName == m_AryReceiptRecords.ElementAt(i).ElementAt(11) )
- {
- // 获取提成;
- strMoney.Format(_T("%0.2f"), _tstof(m_AryReceiptRecords.ElementAt(i).ElementAt(6)));
- // 累加选片二销业绩;
- m_fSelectMoney += _tstof(strMoney);
- // 累加化妆也有选片二销工资类型金额;
- if ( (nIndex = FindArray(&m_AryWageType, m_AryReceiptRecords.ElementAt(i).ElementAt(12))) == -1 )
- {
- m_AryWageType.Add(m_AryReceiptRecords.ElementAt(i).ElementAt(12));
- m_AryWageTypeMoney.Add(_tstof(strMoney));
- }
- else
- {
- m_AryWageTypeMoney.SetAt(nIndex, m_AryWageTypeMoney.ElementAt(nIndex) + _tstof(strMoney));
- }
- // 保存该类型工资记录;
- AryEarlyResult.ElementAt(nArypos).RemoveAll();
- AryEarlyResult.ElementAt(nArypos).Add(strMoney); // 收款金额;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(10)); // 工资日期;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(12)); // 工资类型;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(1)); // 顾客1姓名;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(2)); // 顾客2姓名;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(3)); // 套系类型;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(13)); // 付款方式;
- nArypos++;
- }
- }
- }
- // 其他收入业绩(散客消费);
- nSize = m_AryOtherIncomeRecord.GetSize();
- for ( int i = 0; i < nSize; i++ )
- {
- strMoney.Format(_T("%0.2f"), _tstof(m_AryOtherIncomeRecord.ElementAt(i).ElementAt(4)));
- //if ( m_AryOtherIncomeRecord.ElementAt(i).ElementAt(3) == WAGE_SEC_PHOTOGRAPHER)
- // 累加化妆也有选片二销工资类型金额;
- if ( (nIndex = FindArray(&m_AryWageType, m_AryOtherIncomeRecord.ElementAt(i).ElementAt(3))) == -1 )
- {
- m_AryWageType.Add(m_AryOtherIncomeRecord.ElementAt(i).ElementAt(3));
- m_AryWageTypeMoney.Add(_tstof(strMoney));
- }
- else
- {
- m_AryWageTypeMoney.SetAt(nIndex, m_AryWageTypeMoney.ElementAt(nIndex) + _tstof(strMoney));
- }
- // 保存该类型工资记录;
- AryEarlyResult.ElementAt(nArypos).RemoveAll();
- AryEarlyResult.ElementAt(nArypos).Add(strMoney); // 收款金额;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryOtherIncomeRecord.ElementAt(i).ElementAt(5)); // 工资日期;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryOtherIncomeRecord.ElementAt(i).ElementAt(3)); // 工资类型;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryOtherIncomeRecord.ElementAt(i).ElementAt(1)); // 顾客1姓名;
- AryEarlyResult.ElementAt(nArypos).Add(_T("")); // 顾客2姓名;
- AryEarlyResult.ElementAt(nArypos).Add(_T("")); // 套系类型;
- AryEarlyResult.ElementAt(nArypos).Add(m_AryReceiptRecords.ElementAt(i).ElementAt(13)); // 付款方式;
- nArypos++;
- }
- AryEarlyResult.SetSize(nArypos);
- return FALSE;
- }
|