#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& 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; }