// TabDlg.cpp : implementation file // #include "stdafx.h" #include "smsmanager.h" #include "K_GZMsg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CK_GZMsg dialog #include "MainFrm.h" #include "ProcessSocket.h" #include "DLG_GZMsg_JS.h" #include "DLG_K_GZMSG_SEE.h" CK_GZMsg::CK_GZMsg(CWnd* pParent /*=NULL*/) : CDialog(CK_GZMsg::IDD, pParent) { //{{AFX_DATA_INIT(CK_GZMsg) m_tBegin = COleDateTime::GetCurrentTime(); m_tEnd = COleDateTime::GetCurrentTime(); m_lType = -1; //}}AFX_DATA_INIT m_bInit = false; m_bRefresh = false; m_bQueryAll = false; m_pDlgJL = NULL; m_lQueryType = 0; memset(&m_GZData,0,sizeof(m_GZData)); } void CK_GZMsg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CK_GZMsg) DDX_Control(pDX, IDC_TAB_ONLY_JS, m_B_OnlyJS); DDX_Control(pDX, IDC_TAB_ONLY_TC, m_B_OnlyTC); DDX_Control(pDX, IDC_USER_YWY, m_L_YWY); DDX_Control(pDX, IDC_USER_MON, m_L_MON); DDX_Control(pDX, IDC_TAB_S1, m_S_S1); DDX_Control(pDX, IDC_TAB_LIST, m_wndList); DDX_DateTimeCtrl(pDX, IDC_TAB_TBEGIN, m_tBegin); DDX_DateTimeCtrl(pDX, IDC_TAB_TEND, m_tEnd); DDX_CBIndex(pDX, IDC_TAB_TYPE, m_lType); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CK_GZMsg, CDialog) //{{AFX_MSG_MAP(CK_GZMsg) ON_WM_SIZE() ON_BN_CLICKED(IDC_TAB_QUERY, OnTabQuery) ON_NOTIFY(NM_RCLICK, IDC_TAB_LIST, OnRclickTabList) ON_CBN_SELCHANGE(IDC_TAB_TYPE, OnSelchangeTabType) //}}AFX_MSG_MAP ON_COMMAND(MENU_GZMSG_COPY , On_User_Copy ) ON_COMMAND(MENU_GZMSG_GZJS , On_User_GZJS ) ON_COMMAND(MENU_GZMSG_SEE , On_User_See ) ON_COMMAND(MENU_GZMSG_MODIFY , On_User_Modify ) ON_COMMAND(MENU_GZMSG_DEL , On_User_Del ) ON_BN_CLICKED(IDC_TAB_QUERY4, &CK_GZMsg::OnBnClickedTabQuery4) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CK_GZMsg message handlers BOOL CK_GZMsg::ReShow(BOOL bRefresh) { ShowWindow( SW_SHOW ); if ( bRefresh || !m_bRefresh ) { RefreshInfo(); } return true; } BOOL CK_GZMsg::OnInitDialog() { CDialog::OnInitDialog(); //取得共用参数 //CMainFrame * pFrame = static_cast ((CMainFrame *)AfxGetMainWnd()); this->GetParent()->GetParentFrame(); m_pMainFrame = (CMainFrame *)this->GetParent()->GetParentFrame(); m_pSocket = &m_pMainFrame->m_Socket; //初始化List m_Image.Create(16,16,ILC_COLOR16|ILC_MASK,5,5); // m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_TAB) ); m_wndList.SubClassWindow2(); m_wndList.SetHeadings(_T(" ,80; ,180; ,80; ,80; ,80; ,80; ,80; ,80; ,80; ,80; ,80; ,80; ,80; ,80; ,80; ,80; ,80; ,80; ,80; ,80; ,80; ,80; ,80; ,80; ,80;")); m_wndList.SetGridLines(true); m_wndList.SetImageList(&m_Image,LVSIL_SMALL); m_bInit = true; /* //默认取上月的内容 SYSTEMTIME t; ::GetLocalTime(&t); t.wDay = 1;//从1号起 t.wMonth = t.wMonth-1; if ( t.wMonth <=0 ) { t.wMonth = 12; t.wYear = t.wYear-1; } m_tBegin.SetDate( t.wYear,t.wMonth,t.wDay ); //起始 */ SYSTEMTIME t; ::GetLocalTime(&t); CString str1,str2; str2.Format( _T("%04d年%02d月工资") , t.wYear,t.wMonth); long lMon=t.wMonth; lMon--; if ( lMon<=0 ) { t.wYear --; lMon=12; } t.wMonth = lMon; str1.Format( _T("%04d年%02d月工资") , t.wYear,t.wMonth); m_L_MON.AddString(str2); m_L_MON.AddString(str1); if (t.wDay >15 ) m_L_MON.SetCurSel(0); else m_L_MON.SetCurSel(1); lMon--; if ( lMon<=0 ) { t.wYear --; lMon=12; } t.wMonth = lMon; str1.Format( _T("%04d年%02d月工资") , t.wYear,t.wMonth); m_L_MON.AddString(str1); m_lType = 0; //默认查看汇总表 UpdateData(false); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CK_GZMsg::OnSize(UINT nType, int cx, int cy) { CDialog::OnSize(nType, cx, cy); if ( m_bInit ) { CRect rect; m_S_S1.GetWindowRect(&rect); m_wndList.MoveWindow( 0 , 0+rect.Height()+5 , cx,cy-rect.Height()-5); } } BOOL CK_GZMsg::ReHide() { ShowWindow( SW_HIDE ); return true; } BOOL CK_GZMsg::RefreshInfo() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_ADD) ) { return false; } m_pMainFrame->SendFrame(SMSFUNC_YWY_NAME,NULL,0); //取代理信息 return true; } BOOL CK_GZMsg::ProcessSocket(Socket_Head *pHead) { CString strTemp; if ( pHead->lFuncType == SMSFUNC_GZMSG ) { Close_GZMsg(); ANS_GZMsgData * pGZ = (ANS_GZMsgData *)pHead->pFrame; if (pGZ->lType >= 0 && pGZ->lType <= 1) m_lQueryType = pGZ->lType; else if (pGZ->lType == 6) m_lQueryType = 2; m_GZData = *pGZ; if ( pGZ->lType == 0 ) { if ( !pGZ->bOK ) { MessageBox( pGZ->szErrMsg , _T("查询错误") , MB_ICONWARNING ); return true; } ANS_GZMsg_KH * pKH = (ANS_GZMsg_KH *)( (BYTE*)pHead->pFrame+sizeof(ANS_GZMsgData) ); ANS_GZMsg_TC * pTC = (ANS_GZMsg_TC *)((BYTE*)pHead->pFrame+sizeof(ANS_GZMsgData)+sizeof(ANS_GZMsg_KH)* pGZ->lKHCount ); ANS_GZMsg_LS * pLS = (ANS_GZMsg_LS *)((BYTE*)pHead->pFrame+sizeof(ANS_GZMsgData)+sizeof(ANS_GZMsg_KH)* pGZ->lKHCount+sizeof(ANS_GZMsg_TC)* pGZ->lTCCount ); TCHAR szBuf[32]; CString str; m_wndList.DeleteAllItems(); long lItem=0; if ( pGZ->bYSOver3Mon ) { m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("×注意×") ); m_wndList.SetItemText(lItem-1 , 2, _T("此业务员有超过3个月的应收款!!") ); m_wndList.InsertItem( lItem++ , _T("") ,0); } m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("姓名") ); str.Format( _T("%s") , pGZ->YWY.szName ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("部门") ); str.Format( _T("%s") , pGZ->Group.szName ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("工资月份") ); str.Format( _T("%04d年%02d月") , pGZ->tBegin.wYear , pGZ->tBegin.wMonth ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("客户数量任务") ); str.Format( _T("%d") , pGZ->YWY.GZ_JBSL ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("新增客户") ); str.Format( _T("%d") , pGZ->lNewKHCount ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("流失客户") ); str.Format( _T("%d") , pGZ->lLSKHCount ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("冠军奖比例基数") ); str.Format( _T("%d") , pGZ->Group.GZ_BMDHSL ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("冠军奖最大比例") ); str.Format( _T("%.2f") , (float)pGZ->Group.GZ_BMDHKH); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("出勤天数") ); str.Format( _T("%d") , pGZ->YWY.GZ_CQTS ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("销售收入") ); str.Format( _T("%.2f") , pGZ->fTotalSR ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("业绩金额") ); str.Format( _T("%.2f") , pGZ->fTotalYZ ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem(lItem++, _T(""), 0); m_wndList.SetItemText(lItem - 1, 1, _T("基本任务")); str.Format(_T("%.2f"), pGZ->YWY.GZ_JBRW); m_wndList.SetItemText(lItem - 1, 2, str); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("完成任务比例") ); str.Format( _T("%.2f%%") , (pGZ->fTotalYZ /pGZ->YWY.GZ_JBRW)*100); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("岗位补贴") ); str.Format( _T("%.2f") , pGZ->YWY.GZ_GWBT ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("午餐补贴") ); str.Format( _T("%.2f") , pGZ->YWY.GZ_WCBT ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("缺勤工资") ); str.Format( _T("%.2f") , pGZ->YWY.GZ_QQGZ ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("全勤奖") ); str.Format( _T("%.2f") , pGZ->YWY.GZ_CQJ ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("值班补贴") ); str.Format( _T("%.2f") , pGZ->YWY.GZ_ZBBT ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("其它补助") ); str.Format( _T("%.2f") , pGZ->YWY.GZ_QTBZ ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("其它处罚") ); str.Format( _T("%.2f") , pGZ->YWY.GZ_QTCF ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("社保") ); str.Format( _T("%.2f") , pGZ->YWY.GZ_SB ); m_wndList.SetItemText(lItem-1 , 2, str ); /* m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("营销级别") ); m_wndList.SetItemText(lItem-1 , 2, pGZ->szYWNL ); */ m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("新增客户指标加分") ); m_wndList.SetItemText(lItem-1 , 2, pGZ->szLSKH ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("客户维护加分") ); m_wndList.SetItemText(lItem-1 , 2, pGZ->szKHWH ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("平台1提成比例") ); m_wndList.SetItemText(lItem-1 , 2, pGZ->szJTBL_Mobset1 ); /* m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("平台2提成比例") ); m_wndList.SetItemText(lItem-1 , 2, pGZ->szJTBL_Mobset2 ); */ m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("移动业务B值") ); m_wndList.SetItemText(lItem-1 , 2, pGZ->szJTBL_Mas1 ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("软件类业务比例") ); m_wndList.SetItemText(lItem-1 , 2, pGZ->szJTBL_Mobset_Soft1 ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("提成金额") ); str.Format( _T("%.2f") , pGZ->fTotalTC ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("激励奖金") ); if ( pGZ->fJLJJ_CE >0 ) { str.Format( _T("%.2f") , pGZ->fJLJJ); m_wndList.SetItemText(lItem-1 , 2, str ); str.Format( _T("离下一档还差%.2f,请继续努力!") , pGZ->fJLJJ_CE); m_wndList.SetItemText(lItem-1 , 3, str ); } else { str.Format( _T("%.2f") , pGZ->fJLJJ ); m_wndList.SetItemText(lItem-1 , 2, str ); } m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("冠军奖") ); if ( pGZ->fGJJ_TC_CE >0 ) { str.Format( _T("%.2f") , pGZ->fGJJ_TC); m_wndList.SetItemText(lItem-1 , 2, str ); str.Format( _T("与冠军奖业绩相差%.2f,请继续努力!") , pGZ->fGJJ_TC_CE); m_wndList.SetItemText(lItem-1 , 3, str ); } else { str.Format( _T("%.2f") , pGZ->fGJJ_TC ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.SetItemText(lItem-1 , 3, pGZ->szGJJ_TC ); } if (pGZ->fXRTBJL_KH) { m_wndList.InsertItem(lItem++, _T(""), 0); m_wndList.SetItemText(lItem - 1, 1, _T("新人额外数量奖")); str.Format(_T("%.2f"), pGZ->fXRTBJL_KH); m_wndList.SetItemText(lItem - 1, 2, str); } if (pGZ->fXRTBJL_YZ) { m_wndList.InsertItem(lItem++, _T(""), 0); m_wndList.SetItemText(lItem - 1, 1, _T("新人额外业绩奖")); str.Format(_T("%.2f"), pGZ->fXRTBJL_YZ); m_wndList.SetItemText(lItem - 1, 2, str); } /* m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("部门考核(拿出)") ); str.Format( _T("%.2f") , pGZ->fBMKH_NC ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.SetItemText(lItem-1 , 3, pGZ->szBMKH_NC ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("部门考核(拿到)") ); str.Format( _T("%.2f ") , pGZ->fBMDH_ND ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.SetItemText(lItem-1 , 3, pGZ->szBMKH_ND ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("数量奖") ); str.Format( _T("%.2f") , pGZ->fSLJ ); m_wndList.SetItemText(lItem-1 , 2, str ); if ( pGZ->fSLJ >0 ) m_wndList.SetItemText(lItem-1 , 3, pGZ->szSLJ ); */ if (pGZ->fSLCF < 0) { m_wndList.InsertItem(lItem++, _T(""), 0); m_wndList.SetItemText(lItem - 1, 1, _T("业绩不达标处罚")); str.Format(_T("%.2f"), pGZ->fSLCF); m_wndList.SetItemText(lItem - 1, 2, str); if (pGZ->fSLCF < 0) m_wndList.SetItemText(lItem - 1, 3, pGZ->szSLCF); } if (pGZ->fLSKHCFBL < 0) { m_wndList.InsertItem(lItem++, _T(""), 0); m_wndList.SetItemText(lItem - 1, 1, _T("部门经理连带处罚")); str.Format(_T("%.2f"), pGZ->fLSKHCFBL); m_wndList.SetItemText(lItem - 1, 2, str); m_wndList.SetItemText(lItem - 1, 3, pGZ->szLSKHCFBL); } /* m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("欢乐汇推荐奖") ); str.Format( _T("%.2f") , pGZ->fCommandJ ); m_wndList.SetItemText(lItem-1 , 2, str ); if ( pGZ->fSLJ >0 ) m_wndList.SetItemText(lItem-1 , 3, pGZ->szCommandJ ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("流失客户处罚(数量)") ); str.Format( _T("%.2f") , pGZ->fLSKHCF); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.SetItemText(lItem-1 , 3, pGZ->szLSKHCF ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("流失客户处罚(比例)") ); str.Format( _T("%.2f") , pGZ->fLSKHCFBL); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.SetItemText(lItem-1 , 3, pGZ->szLSKHCFBL ); */ m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("提成、奖励、处罚总额") ); str.Format( _T("%.2f") , pGZ->fJLCFTotal ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("工资总额") ); str.Format( _T("%.2f") , pGZ->fGZTotal ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("个人所得税") ); str.Format( _T("%.2f") , pGZ->YWY.GZ_GRSDS ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("实发工资") ); str.Format( _T("%.2f") , pGZ->YWY.GZ_SFGZ ); m_wndList.SetItemText(lItem-1 , 2, str ); //不开票奖励 m_wndList.InsertItem( lItem++ , _T("") ,0); m_wndList.SetItemText(lItem-1 , 1, _T("不开票奖励") ); str.Format( _T("%.2f") , pGZ->fTotalFP ); m_wndList.SetItemText(lItem-1 , 2, str ); m_wndList.InsertItem( lItem++ , _T(""),0); m_wndList.InsertItem( lItem++ , _T(""),0); m_wndList.InsertItem( lItem++ , _T(""),0); m_wndList.SetItemText( lItem-1 , 1 , _T("提成明细表")); m_wndList.InsertItem( lItem++ , _T(""),0); m_wndList.SetItemText( lItem-1 , 1 , _T("ID") ); m_wndList.SetItemText( lItem-1 , 2 , _T("客户名称") ); m_wndList.SetItemText( lItem-1 , 3 , _T("类型") ); //终端/渠道 m_wndList.SetItemText( lItem-1 , 4 , _T("平台") ); //终端/渠道 m_wndList.SetItemText( lItem-1 , 5 , _T("渠道客户") ); //是否代理商客户 m_wndList.SetItemText( lItem-1 , 6 , _T("充值类型") ); m_wndList.SetItemText( lItem-1 , 7 , _T("开通时间") ); m_wndList.SetItemText( lItem-1 , 8 , _T("充值时间") ); m_wndList.SetItemText( lItem-1 , 9 , _T("收款时间") ); m_wndList.SetItemText( lItem-1 , 10 , _T("合同回收") ); m_wndList.SetItemText( lItem-1 , 11 , _T("折算充值金额") ); m_wndList.SetItemText( lItem-1 , 12 , _T("实际充值金额") ); m_wndList.SetItemText( lItem-1 , 13 , _T("赠送礼品价值") ); m_wndList.SetItemText( lItem-1 , 14 , _T("短信总数") ); m_wndList.SetItemText( lItem-1 , 15 , _T("平均单价") ); m_wndList.SetItemText( lItem-1 , 16 , _T("提成单价") ); m_wndList.SetItemText( lItem-1 , 17 , _T("计提比例") ); m_wndList.SetItemText( lItem-1 , 18 , _T("提成比例") ); m_wndList.SetItemText( lItem-1 , 19 , _T("提成金额") ); m_wndList.SetItemText( lItem-1 , 20 , _T("业绩金额") ); m_wndList.SetItemText( lItem-1 , 21 , _T("大单奖") ); m_wndList.SetItemText( lItem-1 , 22 , _T("预算不开票奖") ); m_wndList.SetItemText( lItem-1 , 23 , _T("不计提原因") ); m_wndList.SetItemText( lItem-1 , 24 , _T("超3个月应收款") ); for ( int i=0;ilTCCount;i++) { ANS_GZMsg_TC * pNewData = new ANS_GZMsg_TC; *pNewData = *pTC; POSITION pos = m_GZMsg.AddTail(pNewData); long lTemp=0; m_wndList.InsertItem( lItem++ , _itot(i+1,szBuf,10),0); //序号 m_wndList.SetItemData(lItem-1 , (DWORD_PTR)pos ); lTemp++; if ( pTC->lUserType == 1 ) //渠道客户 str.Format( _T("%d") , pTC->lAgentID); else str.Format( _T("%d") , pTC->lCorpID); m_wndList.SetItemText( lItem-1 ,lTemp++ , str ); m_wndList.SetItemText( lItem-1 ,lTemp++ , pTC->szName ); if ( pTC->lUserType == 1 ) //渠道客户 m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("代理商") ); else m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("终端客户") ); switch(pTC->lPTNum) { case 2: m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("平台2") ); break; case 3: m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("平台3") ); break; case 1: default: m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("平台1") ); break; } if ( pTC->lUserType == 0 && pTC->lAgentID>0) //终端客户,属于代理商的 m_wndList.SetItemText( lItem-1 ,lTemp++ , _T(" 是") ); else lTemp ++; switch(pTC->lPayType) { case 1: m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("ADC充值") ); break; case 5: m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("软件") ); break; case 6: m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("月结") ); break; case 8: m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("移动业务") ); break; case 9: m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("彩信易") ); break; case 20: m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("不开票奖励") ); break; case 0: default: m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("短信易") ); break; } //开通时间 str.Format( _T("%04d.%02d.%02d") , pTC->tRegTime.wYear,pTC->tRegTime.wMonth,pTC->tRegTime.wDay); m_wndList.SetItemText( lItem-1 ,lTemp++ , str ); //充值时间 str.Format( _T("%04d.%02d.%02d") , pTC->tPayTime.wYear,pTC->tPayTime.wMonth,pTC->tPayTime.wDay); m_wndList.SetItemText( lItem-1 ,lTemp++ , str ); //收款时间 str.Format( _T("%04d.%02d.%02d") , pTC->tYSTime.wYear,pTC->tYSTime.wMonth,pTC->tYSTime.wDay); m_wndList.SetItemText( lItem-1 ,lTemp++ , str ); //合同回收 str.Format( _T("%04d.%02d.%02d") , pTC->tHTTime.wYear,pTC->tHTTime.wMonth,pTC->tHTTime.wDay); m_wndList.SetItemText( lItem-1 ,lTemp++ , str ); //折算充值金额 str.Format( _T("%10.2f") , pTC->fPrice); m_wndList.SetItemText( lItem-1 ,lTemp++ , str ); //实际充值金额 str.Format( _T("%10.2f") , pTC->fPrice2); m_wndList.SetItemText( lItem-1 ,lTemp++ , str ); //赠送礼品金额 str.Format( _T("%10.2f") , pTC->fLPPrice); m_wndList.SetItemText( lItem-1 ,lTemp++ , str ); //短信总数 str.Format( _T("%8d") , pTC->lSmsCount); m_wndList.SetItemText( lItem-1 ,lTemp++ , str ); //平均单价 str.Format( _T("%8.4f") , pTC->fPriceOne); m_wndList.SetItemText( lItem-1 ,lTemp++ , str ); //提成单价 str.Format( _T("%8.4f") , pTC->fPriceOne_TCDJ); m_wndList.SetItemText( lItem-1 ,lTemp++ , str ); //计提比例 m_wndList.SetItemText( lItem-1 ,lTemp++ , pTC->szJTBL ); //提成比例 m_wndList.SetItemText( lItem-1 ,lTemp++ , pTC->szTCBL ); //提成金额 str.Format( _T("%10.2f") , pTC->fTCJE); m_wndList.SetItemText( lItem-1 ,lTemp++ , str ); //业绩金额 str.Format( _T("%10.2f") , pTC->fYZJE); m_wndList.SetItemText( lItem-1 ,lTemp++ , str ); //大单奖 str.Format( _T("%10.2f") , pTC->fDDJ); m_wndList.SetItemText( lItem-1 ,lTemp++ , str ); //不开票奖 str.Format( _T("%10.2f") , pTC->fFP_Award); m_wndList.SetItemText( lItem-1 ,lTemp++ , str ); //不计题原因 m_wndList.SetItemText( lItem-1 ,lTemp++ , pTC->BJTBZ ); //超3个月应用款 if ( pTC->bYSOver3Mon ) m_wndList.SetItemText( lItem-1 ,lTemp++ , _T(" 是") ); else lTemp++; pTC++; } m_wndList.InsertItem( lItem++ , _T(""),0); m_wndList.InsertItem( lItem++ , _T(""),0); m_wndList.InsertItem( lItem++ , _T(""),0); m_wndList.SetItemText( lItem-1 , 1 , _T("新增客户明细表")); m_wndList.InsertItem( lItem++ , _T(""),0); m_wndList.SetItemText( lItem-1 , 1 , _T("ID") ); m_wndList.SetItemText( lItem-1 , 2 , _T(" 名称") ); m_wndList.SetItemText( lItem-1 , 3 , _T("类型") ); //终端/渠道 m_wndList.SetItemText( lItem-1 , 4 , _T("平台") ); //终端/渠道 m_wndList.SetItemText( lItem-1 , 5 , _T("开通时间") ); m_wndList.SetItemText( lItem-1 , 6 , _T("首月充值金额") ); m_wndList.SetItemText( lItem-1 , 7 , _T("欢乐汇推荐客户") ); m_wndList.SetItemText( lItem-1 , 8 , _T("新客户数量") ); for ( i=0;ilKHCount;i++) { long lTemp=0; m_wndList.InsertItem( lItem++ , _itot(i+1,szBuf,10),0); //序号 lTemp++; str.Format( _T("%d") , pKH->lCorpID ); m_wndList.SetItemText( lItem-1 ,lTemp++ , str ); m_wndList.SetItemText( lItem-1 ,lTemp++ , pKH->szName ); if ( pKH->lUserType == 1 ) //渠道客户 m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("代理商") ); else m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("终端客户") ); switch(pKH->lPTNum) { case 2: m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("平台2") ); break; case 3: m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("平台3") ); break; case 1: default: m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("平台1") ); break; } //开通时间 str.Format( _T("%04d.%02d.%02d") , pKH->tRegTime.wYear,pKH->tRegTime.wMonth,pKH->tRegTime.wDay); m_wndList.SetItemText( lItem-1 ,lTemp++ , str ); //充值金额 str.Format( _T("%10.2f") , pKH->fFirstPay); m_wndList.SetItemText( lItem-1 ,lTemp++ , str ); //是否推荐客户 if ( pKH->bCommendKF ) m_wndList.SetItemText( lItem-1 ,lTemp++ , _T(" 是") ); else lTemp++; //是否新客户 str.Format( _T("%4d") , pKH->lNewKFCount ); m_wndList.SetItemText( lItem-1 ,lTemp++ , str ); pKH++; } m_wndList.InsertItem( lItem++ , _T(""),0); m_wndList.InsertItem( lItem++ , _T(""),0); m_wndList.InsertItem( lItem++ , _T(""),0); m_wndList.SetItemText( lItem-1 , 1 , _T("流失客户明细表")); m_wndList.InsertItem( lItem++ , _T(""),0); m_wndList.SetItemText( lItem-1 , 1 , _T("ID") ); m_wndList.SetItemText( lItem-1 , 2 , _T(" 名称") ); m_wndList.SetItemText( lItem-1 , 3 , _T("类型") ); //终端/渠道 m_wndList.SetItemText( lItem-1 , 4 , _T("平台") ); //终端/渠道 m_wndList.SetItemText( lItem-1 , 5 , _T("最后登录时间") ); for ( i=0;ilLSCount;i++) { long lTemp=0; m_wndList.InsertItem( lItem++ , _itot(i+1,szBuf,10),0); //序号 lTemp++; str.Format( _T("%d") , pLS->lCorpID); m_wndList.SetItemText( lItem-1 ,lTemp++ , str ); m_wndList.SetItemText( lItem-1 ,lTemp++ , pLS->szName ); if ( pLS->lUserType == 1 ) //渠道客户 m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("代理商") ); else m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("终端客户") ); switch(pLS->lPTNum) { case 2: m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("平台2") ); break; case 3: m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("平台3") ); break; case 1: default: m_wndList.SetItemText( lItem-1 ,lTemp++ , _T("平台1") ); break; } //开通时间 str.Format( _T("%04d.%02d.%02d") , pLS->tLastLogin.wYear,pLS->tLastLogin.wMonth,pLS->tLastLogin.wDay); m_wndList.SetItemText( lItem-1 ,lTemp++ , str ); pLS++; } } if ( pGZ->lType == 1 ) //查询工资历史 { if ( !pGZ->bOK ) { MessageBox( pGZ->szErrMsg , _T("查询错误") , MB_ICONWARNING ); return true; } ANS_GZMsg_GZLS * pGZLS = (ANS_GZMsg_GZLS *)( (BYTE*)pHead->pFrame+sizeof(ANS_GZMsgData) ); double fSR=0; double fTC=0; double fYZ=0; double fGZ=0; long lLSKH=0; long lNewSL=0; for (int i=0 ; ilTCCount ; i++ ) //lTCCount等于返回的记录数 { //m_wndList.SetHeadings(_T("序号,50;业务员,80;部门,80;部门经理,80; 月份,80; 收 入,100; 业 绩,100; 提 成,100; 工 资,100;新增客户,100;流失客户,100;工资/业绩,100;")); strTemp.Format( _T("%d") , i+1 ); m_wndList.InsertItem(i,strTemp,0); int iTemp=1; m_wndList.SetItemText(i,iTemp++,pGZLS->szName); m_wndList.SetItemText(i,iTemp++,pGZLS->szGroupName); if ( pGZLS->bManager) m_wndList.SetItemText(i,iTemp++,_T(" 是")); else m_wndList.SetItemText(i,iTemp++,_T("")); strTemp.Format( _T("%04d年%02d月") , pGZLS->tGZMon.wYear,pGZLS->tGZMon.wMonth); m_wndList.SetItemText(i,iTemp++,strTemp); strTemp.Format( _T("%.2f") , pGZLS->fTotalSR); m_wndList.SetItemText(i,iTemp++,strTemp); strTemp.Format( _T("%.2f") , pGZLS->fTotalYZ); m_wndList.SetItemText(i,iTemp++,strTemp); strTemp.Format( _T("%.2f") , pGZLS->fTotalTC); m_wndList.SetItemText(i,iTemp++,strTemp); strTemp.Format( _T("%.2f") , pGZLS->fTotalGZ); m_wndList.SetItemText(i,iTemp++,strTemp); strTemp.Format( _T("%5d") , pGZLS->lNewSL); m_wndList.SetItemText(i,iTemp++,strTemp); strTemp.Format( _T("%5d") , pGZLS->lLSKH); m_wndList.SetItemText(i,iTemp++,strTemp); strTemp.Format( _T("%.2f") , pGZLS->fTotalGZ/pGZLS->fTotalYZ*100.0f); m_wndList.SetItemText(i,iTemp++,strTemp); m_wndList.SetItemData(i , pGZLS->lGZID ); fSR += pGZLS->fTotalSR; fTC += pGZLS->fTotalTC; fYZ +=pGZLS->fTotalYZ; fGZ +=pGZLS->fTotalGZ; lLSKH += pGZLS->lLSKH; lNewSL += pGZLS->lNewSL; pGZLS ++; } m_wndList.InsertItem( i , _T(""),0); //合计 i++; m_wndList.InsertItem( i , _T(""),0); //合计 m_wndList.SetItemText( i,1, _T("合 计")); //合计 int iTemp=5; strTemp.Format( _T("%.2f") , fSR); m_wndList.SetItemText(i,iTemp++,strTemp); strTemp.Format( _T("%.2f") , fYZ); m_wndList.SetItemText(i,iTemp++,strTemp); strTemp.Format( _T("%.2f") , fTC); m_wndList.SetItemText(i,iTemp++,strTemp); strTemp.Format( _T("%.2f") , fGZ); m_wndList.SetItemText(i,iTemp++,strTemp); strTemp.Format( _T("%5d") , lNewSL); m_wndList.SetItemText(i,iTemp++,strTemp); strTemp.Format( _T("%5d") , lLSKH); m_wndList.SetItemText(i,iTemp++,strTemp); strTemp.Format( _T("%.2f") , fGZ/fYZ*100.0f); m_wndList.SetItemText(i,iTemp++,strTemp); } if ( pGZ->lType == 2 ) //修改工资历史 { if ( !pGZ->bOK ) { MessageBox( pGZ->szErrMsg , _T("修改错误") , MB_ICONWARNING ); return true; } ANS_GZMsg_GZLS * pGZLS = (ANS_GZMsg_GZLS *)( (BYTE*)pHead->pFrame+sizeof(ANS_GZMsgData) ); strTemp.Format( _T("%.2f") , pGZLS->fTotalYZ ); m_wndList.SetItemText(pGZLS->lCorpID , 5,strTemp); strTemp.Format( _T("%.2f") , pGZLS->fTotalGZ ); m_wndList.SetItemText(pGZLS->lCorpID , 6,strTemp); } if ( pGZ->lType == 3 ) //删除工资历史 { if ( !pGZ->bOK ) { MessageBox( pGZ->szErrMsg , _T("删除错误") , MB_ICONWARNING ); return true; } ANS_GZMsg_GZLS * pGZLS = (ANS_GZMsg_GZLS *)( (BYTE*)pHead->pFrame+sizeof(ANS_GZMsgData) ); m_wndList.DeleteItem(pGZLS->lCorpID); } if ( pGZ->lType == 5 ) //结算工资 { if ( !pGZ->bOK ) { MessageBox( pGZ->szErrMsg , _T("结算工资错误") , MB_ICONWARNING ); return true; } else { CString str; str.Format( _T("%s的工资结算成功!") , pGZ->YWY.szName ); MessageBox( str , _T("结算工资正确") , MB_ICONWARNING ); } return true; } if (pGZ->lType == 6) //查询发票奖励 { if (!pGZ->bOK) { MessageBox(pGZ->szErrMsg, _T("查询错误"), MB_ICONWARNING); return true; } ANS_GZMsg_TC* pTC = (ANS_GZMsg_TC*)((BYTE*)pHead->pFrame + sizeof(ANS_GZMsgData)); TCHAR szBuf[32]; CString str; m_wndList.DeleteAllItems(); long lItem = 0; m_wndList.InsertItem(lItem++, _T(""), 0); m_wndList.SetItemText(lItem - 1, 1, _T("特殊奖励查询")); m_wndList.InsertItem(lItem++, _T(""), 0); m_wndList.InsertItem(lItem++, _T(""), 0); m_wndList.SetItemText(lItem - 1, 1, _T("姓名")); str.Format(_T("%s"), pGZ->YWY.szName); m_wndList.SetItemText(lItem - 1, 2, str); m_wndList.InsertItem(lItem++, _T(""), 0); m_wndList.SetItemText(lItem - 1, 1, _T("部门")); str.Format(_T("%s"), pGZ->Group.szName); m_wndList.SetItemText(lItem - 1, 2, str); m_wndList.InsertItem(lItem++, _T(""), 0); m_wndList.SetItemText(lItem - 1, 1, _T("开始时间")); str.Format(_T("%04d年%02d月"), pGZ->tBegin.wYear, pGZ->tBegin.wMonth); m_wndList.SetItemText(lItem - 1, 2, str); m_wndList.InsertItem(lItem++, _T(""), 0); m_wndList.SetItemText(lItem - 1, 1, _T("结束时间")); str.Format(_T("%04d年%02d月"), pGZ->tEnd.wYear, pGZ->tEnd.wMonth); m_wndList.SetItemText(lItem - 1, 2, str); m_wndList.InsertItem(lItem++, _T(""), 0); m_wndList.InsertItem(lItem++, _T(""), 0); m_wndList.SetItemText(lItem - 1, 1, _T("奖励总额")); str.Format(_T("%.2f"), pGZ->fTotalFP); m_wndList.SetItemText(lItem - 1, 2, str); m_wndList.InsertItem(lItem++, _T(""), 0); m_wndList.InsertItem(lItem++, _T(""), 0); m_wndList.InsertItem(lItem++, _T(""), 0); m_wndList.SetItemText(lItem - 1, 1, _T("奖励明细表")); m_wndList.InsertItem(lItem++, _T(""), 0); m_wndList.SetItemText(lItem - 1, 1, _T("ID")); m_wndList.SetItemText(lItem - 1, 2, _T(" 企业名称")); m_wndList.SetItemText(lItem - 1, 3, _T("类型")); //终端/渠道 m_wndList.SetItemText(lItem - 1, 4, _T("平台")); //终端/渠道 m_wndList.SetItemText(lItem - 1, 5, _T("产品类型")); //短信易/彩信易/月结/酬金 m_wndList.SetItemText(lItem - 1, 6, _T("充值方式")); //收款渠道 m_wndList.SetItemText(lItem - 1, 7, _T("充值时间")); m_wndList.SetItemText(lItem - 1, 8, _T("收款时间")); m_wndList.SetItemText(lItem - 1, 9, _T("业绩时间")); m_wndList.SetItemText(lItem - 1, 10, _T("充值金额")); m_wndList.SetItemText(lItem - 1, 11, _T("赠送金额")); m_wndList.SetItemText(lItem - 1, 12, _T("特殊奖励金额")); for (int i = 0; i < pGZ->lTCCount; i++) { ANS_GZMsg_TC* pNewData = new ANS_GZMsg_TC; *pNewData = *pTC; POSITION pos = m_GZMsg.AddTail(pNewData); long lTemp = 0; m_wndList.InsertItem(lItem++, _itot(i + 1, szBuf, 10), 0); //序号 m_wndList.SetItemData(lItem - 1, (DWORD_PTR)pos); lTemp++; if (pTC->lUserType == 1) //渠道客户 str.Format(_T("%d"), pTC->lAgentID); else str.Format(_T("%d"), pTC->lCorpID); m_wndList.SetItemText(lItem - 1, lTemp++, str); m_wndList.SetItemText(lItem - 1, lTemp++, pTC->szName); if (pTC->lUserType == 1) //渠道客户 m_wndList.SetItemText(lItem - 1, lTemp++, _T("代理商")); else m_wndList.SetItemText(lItem - 1, lTemp++, _T("终端客户")); switch (pTC->lPTNum) { case 2: m_wndList.SetItemText(lItem - 1, lTemp++, _T("平台2")); break; case 3: m_wndList.SetItemText(lItem - 1, lTemp++, _T("平台3")); break; case 1: default: m_wndList.SetItemText(lItem - 1, lTemp++, _T("平台1")); break; } /* if (pTC->lUserType == 0 && pTC->lAgentID > 0) //终端客户,属于代理商的 m_wndList.SetItemText(lItem - 1, lTemp++, _T(" 是")); else lTemp++; */ switch (pTC->lPayType) { case 1: m_wndList.SetItemText(lItem - 1, lTemp++, _T("ADC充值")); break; case 5: m_wndList.SetItemText(lItem - 1, lTemp++, _T("软件")); break; case 6: m_wndList.SetItemText(lItem - 1, lTemp++, _T("月结")); break; case 8: m_wndList.SetItemText(lItem - 1, lTemp++, _T("移动业务")); break; case 9: m_wndList.SetItemText(lItem - 1, lTemp++, _T("彩信易")); break; case 20: m_wndList.SetItemText(lItem - 1, lTemp++, _T("不开票奖励")); break; case 0: default: m_wndList.SetItemText(lItem - 1, lTemp++, _T("短信易")); break; } m_wndList.SetItemText(lItem - 1, lTemp++, pTC->szJTBL); //借用了JTBL(计提比例)这个元素用做记录充值方式 //开通时间 //str.Format(_T("%04d.%02d.%02d"), pTC->tRegTime.wYear, pTC->tRegTime.wMonth, pTC->tRegTime.wDay); //m_wndList.SetItemText(lItem - 1, lTemp++, str); //充值时间 str.Format(_T("%04d.%02d.%02d"), pTC->tPayTime.wYear, pTC->tPayTime.wMonth, pTC->tPayTime.wDay); m_wndList.SetItemText(lItem - 1, lTemp++, str); //收款时间 str.Format(_T("%04d.%02d.%02d"), pTC->tYSTime.wYear, pTC->tYSTime.wMonth, pTC->tYSTime.wDay); m_wndList.SetItemText(lItem - 1, lTemp++, str); //业绩时间 str.Format(_T("%04d年%02d月"), pTC->tTCTime.wYear, pTC->tTCTime.wMonth); m_wndList.SetItemText(lItem - 1, lTemp++, str); //充值金额 str.Format(_T("%10.2f"), pTC->fPrice); m_wndList.SetItemText(lItem - 1, lTemp++, str); //赠送礼品金额 str.Format(_T("%10.2f"), pTC->fLPPrice); m_wndList.SetItemText(lItem - 1, lTemp++, str); //不开票奖励 str.Format(_T("%10.2f"), pTC->fFP_Award); m_wndList.SetItemText(lItem - 1, lTemp++, str); pTC++; } } return true; } //取业务员信息 if (pHead->lFuncType == SMSFUNC_YWY_NAME) { m_bRefresh = true; ANS_YWY_Name * pYWY = (ANS_YWY_Name *)pHead->pFrame; ANS_YWY_NameData * pData = (ANS_YWY_NameData *)(pHead->pFrame+sizeof(ANS_YWY_Name)); this->Close_YWY(); long lItem; m_L_YWY.ResetContent(); lItem = m_L_YWY.AddString( _T("所有业务员") ); m_L_YWY.SetItemData( lItem , (DWORD_PTR)-1); CString strTemp; for ( int i=0;ilCount;i++ ) { ANS_YWY_NameData * pNewData = new ANS_YWY_NameData; *pNewData = *pData; m_YWY.AddTail(pNewData); strTemp.Format( _T("%d-%s"),pNewData->lYWYID,pNewData->szYWYName); lItem = m_L_YWY.AddString( strTemp ); //m_L_Agent.SetItemData( lItem , (DWORD_PTR)pos); m_L_YWY.SetItemData( lItem , (DWORD_PTR)pNewData->lYWYID); pData ++; } m_L_YWY.SetCurSel(0); return true; } return false; } BOOL CK_GZMsg::ProcessSocket(Socket_Head_Add *pHead, BYTE* pFrame) { CString str; if (pHead->lFuncType == SMSFUNC_GZMSG_JL_PARA) { if (!m_pDlgJL) { DLG_GZMsg_JL dlg(this); BYTE * pData = new BYTE[pHead->lFrameLen]; memcpy(pData, pFrame, pHead->lFrameLen); dlg.SetParam(this->m_pMainFrame, m_pMainFrame->m_lUserID,_T(""), pData); this->m_pDlgJL = &dlg; dlg.DoModal(); delete pData; m_pDlgJL = NULL; } return true; } if (pHead->lFuncType == SMSFUNC_GZMSG_JL || pHead->lFuncType == SMSFUNC_GZMSG_JL_MMDCOUNT) { if (m_pDlgJL) { m_pDlgJL->ProcessSocket(pHead,pFrame); } } return false; } void CK_GZMsg::Close() { Close_Corp(); Close_YWY(); Close_GZMsg(); } void CK_GZMsg::OnTabQuery() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_SEE) ) { return ; } UpdateData(true); /* if ( m_tEnd < m_tBegin ) { MessageBox( _T("查询结束日期不能小于起始日期,请改正!") , _T("错误") , MB_ICONWARNING ); return ; } */ long lItem = m_L_YWY.GetCurSel(); long lYWYID=-1; if ( lItem >= 0 ) { lYWYID = m_L_YWY.GetItemData(lItem); if ((m_lType == 0 || m_lType == 2) && lYWYID<=0 ) { MessageBox( _T("请选择需要查询的业务员!") , _T("错误") , MB_ICONWARNING ); return ; } } if ( m_lType == 0 ) { m_wndList.DeleteAllItems(); m_wndList.DeleteAllColumns(); //m_wndList.SetHeadings(_T("序号,50;业务员,80; 月份,80;正常客户数量,100;短信发送总量,100;回访客户次数,100;")); m_wndList.SetHeadings(_T(" ,60; ,130; ,250; ,120; ,120; ,120; ,120; ,120; ,120; ,120; ,120; ,120; ,120; ,120; ,120; ,120; ,120; ,120; ,120; ,120; ,120; ,120; ,120; ,120; ,120;")); REQ_GZMsg * pGZMsg = new REQ_GZMsg; memset(pGZMsg,0,sizeof(REQ_GZMsg)); //m_tBegin.GetAsSystemTime( pGZMsg->tBegin ); //m_tEnd.GetAsSystemTime( pGZMsg->tEnd ); SYSTEMTIME t;GetLocalTime(&t); if ( m_L_MON.GetCurSel()==0 ) //查询当月工资 { pGZMsg->tBegin.wYear = t.wYear; pGZMsg->tBegin.wMonth = t.wMonth; pGZMsg->tBegin.wDay = 1; pGZMsg->tEnd.wYear = t.wYear; pGZMsg->tEnd.wMonth = t.wMonth; pGZMsg->tEnd.wDay = t.wDay; pGZMsg->tEnd.wHour = 23; } else { pGZMsg->tEnd.wYear = t.wYear; pGZMsg->tEnd.wMonth = t.wMonth; pGZMsg->tEnd.wDay = 1; pGZMsg->tBegin = pGZMsg->tEnd; long lMon=pGZMsg->tBegin.wMonth; lMon--; if ( lMon<=0 ) { pGZMsg->tBegin.wYear --; lMon=12; } if ( m_L_MON.GetCurSel()==2 ) { lMon--; if ( lMon<=0 ) { pGZMsg->tBegin.wYear --; lMon=12; } long lMon2 = pGZMsg->tEnd.wMonth; lMon2 --; if ( lMon2<=0 ) { pGZMsg->tEnd.wYear --; lMon2=12; } pGZMsg->tEnd.wMonth = lMon2; } pGZMsg->tBegin.wMonth = lMon; } pGZMsg->lType = m_lType; pGZMsg->lYWYID= lYWYID; pGZMsg->bOnlyTC=m_B_OnlyTC.GetCheck(); //是否仅查询提成 pGZMsg->bOnlyJS=m_B_OnlyJS.GetCheck(); //仅查询已结算数据 m_pMainFrame->SendFrame(SMSFUNC_GZMSG,(BYTE*)pGZMsg,sizeof(REQ_GZMsg)); } if ( m_lType == 1 ) //查询历吏 { m_wndList.DeleteAllItems(); m_wndList.DeleteAllColumns(); m_wndList.SetHeadings(_T("序号,50;业务员,80;部门,80;部门经理,80; 月份,80; 收 入,100; 业 绩,100; 提 成,100; 工 资,100;新增客户,100;流失客户,100;工资/业绩,100;")); REQ_GZMsg * pGZMsg = new REQ_GZMsg;memset(pGZMsg,0,sizeof(REQ_GZMsg)); m_tBegin.GetAsSystemTime(pGZMsg->tBegin); m_tEnd.GetAsSystemTime(pGZMsg->tEnd); pGZMsg->lType = m_lType; pGZMsg->lYWYID= lYWYID; m_pMainFrame->SendFrame(SMSFUNC_GZMSG,(BYTE*)pGZMsg,sizeof(REQ_GZMsg)); } if (m_lType == 2) //特殊奖励 { m_wndList.DeleteAllItems(); m_wndList.DeleteAllColumns(); m_wndList.SetHeadings(_T(" ,60; ,130; ,200; ,120; ,120; ,120; ,120; ,120; ,120; ,120; ,120; ,120; ,120;")); REQ_GZMsg* pGZMsg = new REQ_GZMsg; memset(pGZMsg, 0, sizeof(REQ_GZMsg)); m_tBegin.GetAsSystemTime(pGZMsg->tBegin); m_tEnd.GetAsSystemTime(pGZMsg->tEnd); pGZMsg->lType = 6; //查询特殊奖励 pGZMsg->lYWYID = lYWYID; m_pMainFrame->SendFrame(SMSFUNC_GZMSG, (BYTE*)pGZMsg, sizeof(REQ_GZMsg)); } return ; } void CK_GZMsg::OnRclickTabList(NMHDR* pNMHDR, LRESULT* pResult) { *pResult = 0; ShowRMenu(); } void CK_GZMsg::ShowRMenu() { if (!m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_ADD,false)) //没有查看权限 return ; if ( m_lQueryType==0 ) { CMenu menu; menu.CreatePopupMenu(); if ( _tcslen(m_GZData.YWY.szName)>0 ) menu.AppendMenu(MF_STRING , MENU_GZMSG_GZJS, _T(" 确认结算工资 ") ); else menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_GZMSG_GZJS, _T(" 确认结算工资 ") ); //复制 menu.AppendMenu(MF_STRING , MENU_GZMSG_COPY, _T(" 复 制 ") ); //显示菜单 POINT pt ; ::GetCursorPos( &pt ); //this->ClientToScreen( &pt); menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL); menu.DestroyMenu(); } if ( m_lQueryType==1 ) { CMenu menu; menu.CreatePopupMenu(); long lItem = m_wndList.GetFirstSelectedItem(); long lGZID = 0; if ( lItem >=0 ) lGZID = m_wndList.GetItemData(lItem); if ( lGZID>0 ) { menu.AppendMenu(MF_STRING , MENU_GZMSG_SEE , _T(" 查 看 ") ); menu.AppendMenu(MF_STRING , MENU_GZMSG_MODIFY, _T(" 修 改 ") ); menu.AppendMenu(MF_STRING , MENU_GZMSG_DEL , _T(" 删 除 ") ); } else { menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_GZMSG_SEE , _T(" 查 看 ") ); menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_GZMSG_MODIFY, _T(" 修 改 ") ); menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_GZMSG_DEL , _T(" 删 除 ") ); } menu.AppendMenu(MF_SEPARATOR ); //复制 menu.AppendMenu(MF_STRING , MENU_GZMSG_COPY, _T(" 复 制 ") ); //显示菜单 POINT pt ; ::GetCursorPos( &pt ); //this->ClientToScreen( &pt); menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL); menu.DestroyMenu(); } if (m_lQueryType == 2) { CMenu menu; menu.CreatePopupMenu(); //复制 menu.AppendMenu(MF_STRING, MENU_GZMSG_COPY, _T(" 复 制 ")); //显示菜单 POINT pt; ::GetCursorPos(&pt); //this->ClientToScreen( &pt); menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON, pt.x, pt.y, this, NULL); menu.DestroyMenu(); } } void CK_GZMsg::On_User_Copy() { m_wndList.CopyToClipboard(); } void CK_GZMsg::On_User_GZJS() { if ( _tcslen(m_GZData.YWY.szName)<=0 ) { return ; } CString str; str.Format( _T("工资结算后,本月工资将不能再次被正确查询,是否确认?\r\n员工姓名:%s\r\n工资月份:%04d年%02d月\r\n") , m_GZData.YWY.szName,m_GZData.tBegin.wYear , m_GZData.tBegin.wMonth); int iRet=MessageBox(str , _T("请确认") , MB_ICONWARNING|MB_YESNO|MB_DEFBUTTON2 ); if ( iRet != IDYES ) return ; DLG_GZMsg_JS dlg(this); dlg.SetParam(&m_GZData); if ( dlg.DoModal()!=IDOK ) return ; long lSize = sizeof(REQ_GZMsg)+sizeof(ANS_GZMsgData)+sizeof(ANS_GZMsg_TC2)*m_GZMsg.GetCount(); BYTE * pData = new BYTE[lSize]; memset(pData , 0 , lSize ); REQ_GZMsg * pGZMsg = (REQ_GZMsg *)pData; ANS_GZMsgData * pGZ = (ANS_GZMsgData *)(pData+sizeof(REQ_GZMsg)); ANS_GZMsg_TC2 * pTC = (ANS_GZMsg_TC2 *)(pData+sizeof(REQ_GZMsg)+sizeof(ANS_GZMsgData)); pGZMsg->lType = 5; //结算工资 pGZMsg->lYWYID= pGZ->YWY.lYWYID; *pGZ = m_GZData; pGZ->lTCCount = 0; //已算提成的payID POSITION pos = m_GZMsg.GetHeadPosition(); POSITION pos2; while (pos) { pos2=pos; ANS_GZMsg_TC * pTC2 = m_GZMsg.GetNext( pos ); if ( pTC2 ) { if ( !pTC2->bJBJT && pTC->lPayType!=20) //不是“暂不计提的充值记录”的记录才进入结算行列,不开票奖励的也不需要结算 { pTC->lPTNum = pTC2->lPTNum; pTC->lPayType = pTC2->lPayType; pTC->lPayID = pTC2->lPayID; pTC->lUserType= pTC2->lUserType; pTC->fFP_Award= pTC2->fFP_Award; pTC ++; pGZ->lTCCount ++; } } } m_pMainFrame->SendFrame(SMSFUNC_GZMSG,pData,lSize); } void CK_GZMsg::On_User_See() { if ( m_lQueryType!=1 ) return ; long lItem = m_wndList.GetFirstSelectedItem(); long lGZID = 0; if ( lItem >=0 ) lGZID = m_wndList.GetItemData(lItem); if ( lGZID<=0 ) return ; CString strName,strMon,strYJ,strGZ; strName = m_wndList.GetItemText(lItem , 1 ); strMon = m_wndList.GetItemText(lItem , 4 ); strYJ = m_wndList.GetItemText(lItem , 5 ); strGZ = m_wndList.GetItemText(lItem , 6 ); DLG_K_GZMSG_SEE dlg(this); dlg.SetParam(false,strName,strMon,strYJ,strGZ); dlg.DoModal(); } void CK_GZMsg::On_User_Modify() { if ( m_lQueryType!=1 ) return ; long lItem = m_wndList.GetFirstSelectedItem(); long lGZID = 0; if ( lItem >=0 ) lGZID = m_wndList.GetItemData(lItem); if ( lGZID<=0 ) return ; CString strName,strMon,strYJ,strGZ; strName = m_wndList.GetItemText(lItem , 1 ); strMon = m_wndList.GetItemText(lItem , 4 ); strYJ = m_wndList.GetItemText(lItem , 5 ); strGZ = m_wndList.GetItemText(lItem , 6 ); DLG_K_GZMSG_SEE dlg(this); dlg.SetParam(true,strName,strMon,strYJ,strGZ); if ( dlg.DoModal() == IDOK ) { long lSize = sizeof(REQ_GZMsg)+sizeof(ANS_GZMsg_GZLS); BYTE * pData = new BYTE[lSize]; memset(pData , 0 , lSize ); REQ_GZMsg * pGZMsg = (REQ_GZMsg *)pData; ANS_GZMsg_GZLS * pGZLS = (ANS_GZMsg_GZLS *)(pData+sizeof(REQ_GZMsg)); pGZMsg->lType = 2; //改工资历史 pGZLS->lCorpID = lItem; //企业ID代表Item pGZLS->lGZID = lGZID; pGZLS->fTotalYZ = dlg.m_fYJ; pGZLS->fTotalGZ = dlg.m_fGZ; m_pMainFrame->SendFrame(SMSFUNC_GZMSG,(BYTE*)pData,lSize); } } void CK_GZMsg::On_User_Del() { if ( m_lQueryType!=1 ) return ; long lItem = m_wndList.GetFirstSelectedItem(); long lGZID = 0; if ( lItem >=0 ) lGZID = m_wndList.GetItemData(lItem); if ( lGZID<=0 ) return ; CString str,strName,strMon,strYJ,strGZ; strName = m_wndList.GetItemText(lItem , 1 ); strMon = m_wndList.GetItemText(lItem , 4 ); strYJ = m_wndList.GetItemText(lItem , 5 ); strGZ = m_wndList.GetItemText(lItem , 6 ); str.Format( _T("是否确定删除%s的%s工资,删除后将不能恢复!") , strName,strMon ); int iRet=MessageBox(str , _T("提问") , MB_ICONWARNING|MB_YESNO|MB_DEFBUTTON2 ); if ( iRet!=IDYES ) return ; long lSize = sizeof(REQ_GZMsg)+sizeof(ANS_GZMsg_GZLS); BYTE * pData = new BYTE[lSize]; memset(pData , 0 , lSize ); REQ_GZMsg * pGZMsg = (REQ_GZMsg *)pData; ANS_GZMsg_GZLS * pGZLS = (ANS_GZMsg_GZLS *)(pData+sizeof(REQ_GZMsg)); pGZMsg->lType = 3; //删除工资 pGZLS->lCorpID = lItem; //企业ID代表Item pGZLS->lGZID = lGZID; m_pMainFrame->SendFrame(SMSFUNC_GZMSG,(BYTE*)pData,lSize); } void CK_GZMsg::Close_Corp() { //清除队列中的内容 while (!m_Corp.IsEmpty()) { ANS_Corp_NameData * pData = m_Corp.GetHead(); m_Corp.RemoveHead(); delete pData; } } void CK_GZMsg::Close_YWY() { //清除队列中的内容 while (!m_YWY.IsEmpty()) { ANS_YWY_NameData * pYWY = m_YWY.GetHead(); m_YWY.RemoveHead(); delete pYWY; } } CString CK_GZMsg::GetName_YWY(long lYWYID) { //业务员 CString strTemp=_T("无业务员"); POSITION pos = m_YWY.GetHeadPosition(); POSITION pos2; while (pos) { pos2=pos; ANS_YWY_NameData * pYWY = m_YWY.GetNext( pos ); if ( pYWY->lYWYID == lYWYID ) { strTemp = pYWY->szYWYName; break; } } return strTemp; } void CK_GZMsg::Close_GZMsg() { //清除队列中的内容 while (!m_GZMsg.IsEmpty()) { ANS_GZMsg_TC * pGZMsg = m_GZMsg.GetHead(); m_GZMsg.RemoveHead(); delete pGZMsg; } } void CK_GZMsg::OnSelchangeTabType() { UpdateData(true); if ( m_lType == 0 ) { GetDlgItem(IDC_TAB_TBEGIN)->ShowWindow(SW_HIDE); GetDlgItem(IDC_TAB_TEND)->ShowWindow(SW_HIDE); GetDlgItem(IDC_TAB_TBEGIN_S1)->ShowWindow(SW_HIDE); GetDlgItem(IDC_TAB_TEND_S1)->ShowWindow(SW_HIDE); GetDlgItem(IDC_TAB_T_S1)->ShowWindow(SW_HIDE); GetDlgItem(IDC_USER_MON)->ShowWindow(SW_SHOW); GetDlgItem(IDC_USER_MON_S1)->ShowWindow(SW_SHOW); } else { GetDlgItem(IDC_TAB_TBEGIN)->ShowWindow(SW_SHOW); GetDlgItem(IDC_TAB_TEND)->ShowWindow(SW_SHOW); GetDlgItem(IDC_TAB_TBEGIN_S1)->ShowWindow(SW_SHOW); GetDlgItem(IDC_TAB_TEND_S1)->ShowWindow(SW_SHOW); GetDlgItem(IDC_TAB_T_S1)->ShowWindow(SW_SHOW); GetDlgItem(IDC_USER_MON)->ShowWindow(SW_HIDE); GetDlgItem(IDC_USER_MON_S1)->ShowWindow(SW_HIDE); } } void CK_GZMsg::OnBnClickedTabQuery4() { if (!m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_SEE)) { return; } REQ_GZMsg_JL_PARA * pGZMsg = new REQ_GZMsg_JL_PARA; memset(pGZMsg, 0, sizeof(REQ_GZMsg_JL_PARA)); pGZMsg->lYWYID = 0; m_pMainFrame->SendFrame(SMSFUNC_GZMSG_JL_PARA, (BYTE*)pGZMsg, sizeof(REQ_GZMsg_JL_PARA)); }