// CK_AllQuery_Report.cpp: 实现文件 // #include "stdafx.h" #include "SmsManager.h" #include "afxdialogex.h" #include "CK_AllQuery_Report.h" #include "MainFrm.h" #include "ProcessSocket.h" #include "DLG_SmsLogSee.h" #include "DLG_HZB_Export.h" #include "SmsManagerDoc.h" #include "UserView.h" #include "DLG_Corp_FP.h" #include "DLG_Pay_Detail.h" // CK_AllQuery_Report 对话框 IMPLEMENT_DYNAMIC(CK_AllQuery_Report, CDialogEx) CK_AllQuery_Report::CK_AllQuery_Report(CWnd* pParent /*=nullptr*/) : CDialogEx(IDD_K_ALLQUERY_REPORT, pParent) , m_strID(_T("")) , m_bVaild(FALSE) , m_bYSTime(FALSE) , m_tYSTimeBegin(COleDateTime::GetCurrentTime()) , m_tYSTimeEnd(COleDateTime::GetCurrentTime()) , m_bFPTime(FALSE) , m_tFPTimeBegin(COleDateTime::GetCurrentTime()) , m_tFPTimeEnd(COleDateTime::GetCurrentTime()) , m_strPayMode(_T("")) , m_bPayTime(FALSE) , m_tPayTimeBegin(COleDateTime::GetCurrentTime()) , m_tPayTimeEnd(COleDateTime::GetCurrentTime()) , m_strFPNum(_T("")) , m_strBankReference(_T("")) { m_bInit = false; m_bRefresh = false; // m_bProcess = false; m_lMsgCount = 0; // m_strKey = _T(""); m_fTotal = 0; m_fLPTotal = 0; m_lCommend_VipIntTotal = 0; m_lSms = 0; m_lPresent = 0; m_lSmsAll = 0; m_iCorpNameIndex=0; m_iPriceIndex = 0; m_iSmsCountIndex = 0; m_iSmsPresentIndex = 0; m_iLPPresentIndex = 0; m_iSmsPriceOneIndex = 0; m_pDetail = NULL; } CK_AllQuery_Report::~CK_AllQuery_Report() { } void CK_AllQuery_Report::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Control(pDX, IDC_ALLQUERY_REPORT_LIST, m_wndList); DDX_Control(pDX, IDC_ALLQUERY_REPORT_S1, m_S_S1); DDX_Text(pDX, IDC_ALLQUERY_REPORT_CORPID, m_strID); DDV_MaxChars(pDX, m_strID, 50); DDX_Control(pDX, IDC_ALLQUERY_REPORT_PT, m_L_PT); DDX_Check(pDX, IDC_ALLQUERY_REPORT_VALID, m_bVaild); DDX_Control(pDX, IDC_ALLQUERY_REPORT_YS, m_L_YS); DDX_Control(pDX, IDC_ALLQUERY_REPORT_TEST, m_L_Test); DDX_Control(pDX, IDC_ALLQUERY_REPORT_TYPE, m_L_ReportType); DDX_Check(pDX, IDC_ALLQUERY_REPORT_YSTIME, m_bYSTime); DDX_DateTimeCtrl(pDX, IDC_ALLQUERY_REPORT_YSTIME_TBEGIN, m_tYSTimeBegin); DDX_DateTimeCtrl(pDX, IDC_ALLQUERY_REPORT_YSTIME_TEND, m_tYSTimeEnd); DDX_Control(pDX, IDC_ALLQUERY_REPORT_YWY, m_L_YWY); // DDX_Text(pDX, IDC_ALLQUERY_REPORT_FPNUM, m_E_FPNum); // DDV_MaxChars(pDX, m_E_FPNum, 32); DDX_Control(pDX, IDC_ALLQUERY_REPORT_FPSTATUS, m_L_FPStatus); DDX_Check(pDX, IDC_ALLQUERY_REPORT_FPTIME, m_bFPTime); DDX_DateTimeCtrl(pDX, IDC_ALLQUERY_REPORT_FPTIME_TBEGIN, m_tFPTimeBegin); DDX_DateTimeCtrl(pDX, IDC_ALLQUERY_REPORT_FPTIME_TEND, m_tFPTimeEnd); DDX_Control(pDX, IDC_ALLQUERY_REPORT_FPTYPE, m_L_FPType); DDX_CBString(pDX, IDC_ALLQUERY_REPORT_PAYMODE, m_strPayMode); DDV_MaxChars(pDX, m_strPayMode, 32); DDX_Check(pDX, IDC_ALLQUERY_REPORT_PAYTIME, m_bPayTime); DDX_DateTimeCtrl(pDX, IDC_ALLQUERY_REPORT_PAYTIME_TBEGIN, m_tPayTimeBegin); DDX_DateTimeCtrl(pDX, IDC_ALLQUERY_REPORT_PAYTIME_TEND, m_tPayTimeEnd); DDX_Text(pDX, IDC_ALLQUERY_REPORT_FPNUM, m_strFPNum); DDV_MaxChars(pDX, m_strFPNum, 32); DDX_Control(pDX, IDC_ALLQUERY_REPORT_QUERY, m_B_Query); DDX_Control(pDX, IDC_ALLQUERY_REPORT_AGENTTYPE, m_L_AgentType); DDX_Text(pDX, IDC_ALLQUERY_REPORT_BANKREFERENCE, m_strBankReference); DDV_MaxChars(pDX, m_strBankReference, 30); } BEGIN_MESSAGE_MAP(CK_AllQuery_Report, CDialogEx) ON_WM_SIZE() ON_WM_CLOSE() ON_NOTIFY(NM_DBLCLK, IDC_ALLQUERY_REPORT_LIST, &CK_AllQuery_Report::OnDblclkAllqueryReportList) ON_NOTIFY(NM_RDBLCLK, IDC_ALLQUERY_REPORT_LIST, &CK_AllQuery_Report::OnRdblclkAllqueryReportList) ON_BN_CLICKED(IDC_ALLQUERY_REPORT_QUERY, &CK_AllQuery_Report::OnBnClickedAllqueryReportQuery) ON_COMMAND(MENU_ALLQUERY_REPORT_SEE, On_User_See) ON_COMMAND(MENU_ALLQUERY_REPORT_COPYID, On_User_CopyID) ON_COMMAND(MENU_ALLQUERY_REPORT_COPYNAME, On_User_CopyName) ON_COMMAND(MENU_ALLQUERY_REPORT_COPYDATA, On_User_CopyData) ON_COMMAND(MENU_ALLQUERY_REPORT_OPER_TEST, On_User_Oper_Test) ON_COMMAND(MENU_ALLQUERY_REPORT_OPER_CB, On_User_Oper_CB) ON_COMMAND(MENU_ALLQUERY_REPORT_OPER_FPEXPRESS, On_User_Oper_FPExpress) ON_COMMAND(MENU_ALLQUERY_REPORT_OPER_FPMSG, On_User_Oper_FPMsg) ON_COMMAND(MENU_ALLQUERY_REPORT_OPER_FPISSUE, On_User_Oper_FPIssue) ON_COMMAND(MENU_ALLQUERY_REPORT_OPER_FPDEL, On_User_Oper_FPDel) ON_COMMAND(MENU_ALLQUERY_REPORT_OPER_BANK, On_User_Oper_Bank) ON_COMMAND(MENU_ALLQUERY_REPORT_OPER_LP, On_User_Oper_LP) ON_COMMAND(MENU_ALLQUERY_REPORT_OPER_PAYTIME, On_User_Oper_PayTime) ON_COMMAND(MENU_ALLQUERY_REPORT_OPER_YS, On_User_Oper_YS) ON_COMMAND(MENU_ALLQUERY_REPORT_OPER_CJQR, On_User_Oper_CJQR) ON_COMMAND(MENU_ALLQUERY_REPORT_OPER_CJZF, On_User_Oper_CJZF) ON_COMMAND(MENU_ALLQUERY_REPORT_OPER_CANCEL, On_User_Oper_Cancel) ON_NOTIFY(NM_RCLICK, IDC_ALLQUERY_REPORT_LIST, &CK_AllQuery_Report::OnRclickAllqueryReportList) ON_CBN_SELCHANGE(IDC_ALLQUERY_REPORT_TYPE, &CK_AllQuery_Report::OnSelchangeAllqueryReportType) END_MESSAGE_MAP() // CK_AllQuery_Report 消息处理程序 BOOL CK_AllQuery_Report::ReShow(BOOL bRefresh) { ShowWindow(SW_SHOW); if (bRefresh || !m_bRefresh) { RefreshInfo(); } return true; } BOOL CK_AllQuery_Report::ReHide() { ShowWindow(SW_HIDE); return true; } BOOL CK_AllQuery_Report::RefreshInfo() { if (!m_pMainFrame->GetUserPurview(PURVIEW_LIST)) { return false; } #ifndef SMSMANAGER_KF if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB)) { return false; } #endif m_pMainFrame->SendFrame(SMSFUNC_YWY_NAME, NULL, 0); //取客户经理信息 return true; } BOOL CK_AllQuery_Report::ProcessSocket(Socket_Head* pHead) { //取业务员名字 if (pHead->lFuncType == SMSFUNC_YWY_NAME) { ANS_YWY_Name* pYWY = (ANS_YWY_Name*)pHead->pFrame; ANS_YWY_NameData* pData = (ANS_YWY_NameData*)(pHead->pFrame + sizeof(ANS_YWY_Name)); m_L_YWY.ResetContent(); //删除原已有的企业 this->Close_YWY(); //关闭原队列 long lItem; CString strTemp; lItem = m_L_YWY.AddString(_T("所有客户经理")); m_L_YWY.SetItemData(lItem, (DWORD)-10); for (int i = 0; i < pYWY->lCount; i++) { ANS_YWY_NameData* pNewData = new ANS_YWY_NameData; *pNewData = *pData; m_YWY.AddTail(pNewData); //strTemp.Format(_T("%d-%s"), pNewData->lYWYID, pNewData->szYWYName); strTemp = pNewData->szYWYName; lItem = m_L_YWY.AddString(strTemp); //m_L_Agent.SetItemData( lItem , (DWORD)pos); m_L_YWY.SetItemData(lItem, (DWORD)pNewData->lYWYID); pData++; } m_L_YWY.SetCurSel(0); m_bRefresh = true; //已经刷新过 return true; } return false; } BOOL CK_AllQuery_Report::ShowDataInList(long lItem, ANS_AllQuery_Report_Data * pData) { try { CString strTemp; CString str; int iIndex = 1; int iIconIndex = 0; m_wndList.SetItemText(lItem, iIndex++, GetPTName(pData->lPTNum)); //平台号 m_wndList.SetItemText(lItem, iIndex++, GetUserType(pData->lUserType)); //客户类型 #ifndef SMSMANAGER_KF m_wndList.SetItemText(lItem, iIndex++, GetPayType(pData->lPayType)); //充值类型 #endif if (pData->lUserType == 1) //代理商 { strTemp.Format(_T("A-%d"), pData->lCorpID); } else { strTemp.Format(_T("%d"), pData->lCorpID); } m_wndList.SetItemText(lItem, iIndex++, strTemp); //企业ID if (m_iCorpNameIndex == 0) m_iCorpNameIndex = iIndex; m_wndList.SetItemText(lItem, iIndex++, pData->szCorpName); //企业名称 #ifndef SMSMANAGER_KF m_wndList.SetItemText(lItem, iIndex++, pData->szCreateUser); //出单人 #endif m_wndList.SetItemText(lItem, iIndex++, pData->szPayMode); //充值方式 strTemp.Format(_T("%8.2f"), pData->fPrice); if (m_iPriceIndex == 0) m_iPriceIndex = iIndex; m_wndList.SetItemText(lItem, iIndex++, strTemp); //充值金额 #ifndef SMSMANAGER_KF strTemp.Format(_T("%8.4f"), pData->fPriceOne); m_wndList.SetItemText(lItem, iIndex++, strTemp); //单价 strTemp.Format(_T("%8d"), pData->lPresent); if (m_iSmsPresentIndex == 0)m_iSmsPresentIndex = iIndex; m_wndList.SetItemText(lItem, iIndex++, strTemp); //赠送 strTemp.Format(_T("%8d"), pData->lSMSCount); if (m_iSmsCountIndex == 0) m_iSmsCountIndex = iIndex; m_wndList.SetItemText(lItem, iIndex++, strTemp); //短信量 /* //不计,已取消显示 double l = 0.0f; if (pData->fPrice != 0 && pData->fPriceOne != 0) l = pData->fPrice / pData->fPriceOne; long a = long(l + 0.5f); if (a < 0) a = long(l - 0.5f); strTemp.Format(_T("%8d"), a); m_wndList.SetItemText(lItem, iIndex++, strTemp); //小计 */ //改为显示平均单价 strTemp = _T(""); double l = 0.0f; if ((pData->fPrice - pData->fLPPrice) != 0 && pData->lSMSCount != 0) { l = (pData->fPrice - pData->fLPPrice) / pData->lSMSCount; strTemp.Format(_T("%8.4f"), l); } m_iSmsPriceOneIndex = iIndex; m_wndList.SetItemText(lItem, iIndex++, strTemp); //平均单价 #endif #ifndef SMSMANAGER_KF m_wndList.SetItemText(lItem, iIndex++, GetYSType(pData->lYSType)); //预充票类型 if (pData->lYS == 1) m_wndList.SetItemText(lItem, iIndex++, _T(" 是")); else m_wndList.SetItemText(lItem, iIndex++, _T(""));; if (pData->lTest == 1) m_wndList.SetItemText(lItem, iIndex++, _T(" 是")); else m_wndList.SetItemText(lItem, iIndex++, _T(""));; /* if (pData->lCB==1) m_wndList.SetItemText(lItem, iIndex++, _T(" 是")); else m_wndList.SetItemText(lItem, iIndex++, _T(""));; */ #endif strTemp.Format(_T("%04d.%02d.%02d %02d:%02d"), pData->tPayTime.wYear, pData->tPayTime.wMonth, pData->tPayTime.wDay, pData->tPayTime.wHour, pData->tPayTime.wMinute); m_wndList.SetItemText(lItem, iIndex++, strTemp); //充值时间 #ifndef SMSMANAGER_KF strTemp.Format(_T("%04d.%02d.%02d %02d:%02d"), pData->tOvrTime.wYear, pData->tOvrTime.wMonth, pData->tOvrTime.wDay, pData->tOvrTime.wHour, pData->tOvrTime.wMinute); m_wndList.SetItemText(lItem, iIndex++, strTemp); //过期时间 strTemp.Format(_T("%04d.%02d.%02d %02d:%02d"), pData->tYSTime.wYear, pData->tYSTime.wMonth, pData->tYSTime.wDay, pData->tYSTime.wHour, pData->tYSTime.wMinute); m_wndList.SetItemText(lItem, iIndex++, strTemp); //收款时间 #endif if (pData->lFP > 0) { CString strType = DLG_Corp_FP::GetFPType2(pData->lFP); m_wndList.SetItemText(lItem, iIndex++, strType); //发票类型 m_wndList.SetItemText(lItem, iIndex++, GetFPStatus(pData->lFPStatus)); //发票状态 if (pData->lFPStatus > 0) { strTemp.Format(_T("%04d.%02d.%02d %02d:%02d"), pData->tFPTime.wYear, pData->tFPTime.wMonth, pData->tFPTime.wDay, pData->tFPTime.wHour, pData->tFPTime.wMinute); m_wndList.SetItemText(lItem, iIndex++, strTemp); //开票时间 } else { m_wndList.SetItemText(lItem, iIndex++, _T(""));; } m_wndList.SetItemText(lItem, iIndex++, pData->szFPNum); //发票号码 } else { m_wndList.SetItemText(lItem, iIndex++, _T(""));; m_wndList.SetItemText(lItem, iIndex++, _T(""));; m_wndList.SetItemText(lItem, iIndex++, _T(""));; m_wndList.SetItemText(lItem, iIndex++, _T(""));; } #ifndef SMSMANAGER_KF m_wndList.SetItemText(lItem, iIndex++, GetLPType(pData->lLPType)); //礼品类型 str.Format(_T("%.2f"), pData->fLPPrice); if (m_iLPPresentIndex == 0) m_iLPPresentIndex = iIndex; m_wndList.SetItemText(lItem, iIndex++, str); //礼品价格 m_wndList.SetItemText(lItem, iIndex++, pData->szLXRName); //礼品接收人 #endif /* str.Format(_T("%d"), pData->lCommend_VipInt); m_wndList.SetItemText(lItem, iIndex++, str); //推荐积分 */ //m_wndList.SetItemText(lItem, iIndex++, pData->szBZ); //_stprintf( Buf , _T(" %d") , pData->lAgentID ); //m_wndList.SetItemText(lItem, iIndex++, GetName_YWY(pData->lYWYID)); //m_wndList.SetItemText(lItem, iIndex++, GetName_Agent(pData->lAgentID)); m_wndList.SetItemText(lItem, iIndex++, pData->szYWYName); #ifndef SMSMANAGER_KF m_wndList.SetItemText(lItem, iIndex++, pData->szAgentName); str.Format(_T("%d"), pData->lBalance); m_wndList.SetItemText(lItem, iIndex++, str); //本次余额 //m_wndList.SetItemText(lItem, iIndex++, pData->szFPActualType); //实际开票类型 //m_wndList.SetItemText(lItem, iIndex++, pData->szFPDetail); //发票抬头 m_wndList.SetItemText(lItem, iIndex++, pData->szBankPayer); //银行付款人 m_wndList.SetItemText(lItem, iIndex++, pData->szBankReferenceNum); //银行流水号 #endif iIconIndex = -1; if (COleDateTime(pData->tYSTime).GetStatus() == COleDateTime::valid) { iIconIndex = 1; } if (pData->lYSType == 1) iIconIndex = 2; if (pData->lYSType == 2) iIconIndex = 3; m_wndList.SetIconIndex(lItem, iIconIndex); return true; } catch (...) { } return false; } BOOL CK_AllQuery_Report::ProcessSocket(Socket_Head_Add* pHead, BYTE* pFrame) { CString strTemp; CString str; //查看支付记录 if (pHead->lFuncType == SMSFUNC_ALLQUERY_REPORT_SEE) { ANS_AllQuery_Report_See * pSee = (ANS_AllQuery_Report_See*)pFrame; ANS_AllQuery_Report_Data* pData = (ANS_AllQuery_Report_Data*)(pFrame + sizeof(ANS_AllQuery_Report_See)); if (pSee->lCount > 0) { //strTemp.Format(_T("查询结果 (%d/%d)"), pSee->lPageCount, pSee->lPageAll); //m_S_S1.SetWindowText(strTemp); //添加到List m_wndList.ShowWindow(SW_HIDE); long lCount = m_wndList.GetItemCount(); for (int i = 0; i < pSee->lCount; i++) { ANS_AllQuery_Report_Data* pNewData = new ANS_AllQuery_Report_Data; *pNewData = *pData; POSITION pos = m_ListData.AddTail(pNewData); int iIndex = 1; strTemp.Format(_T("%d"),lCount + i + 1); // m_wndList.SetHeadings(_T("序号,50; 平台,80;客户类型,80;充值类型,80;企业ID,80; 企业名称,180; 出单人,80;充值方式,80;充值金额,80; 费率,80;小计,70; 赠送,70; 短信量,70;预开票,55;应收,55;测试,55;成本,55;充值时间,130;过期时间,130;收款时间,130; 发票,80;发票状态,80;开票时间,130;赠送礼品,80;礼品价值,80;接受人,80;推荐积分,80; 备 注,130;客户经理,90; 代理商,130;本次余额,70;发票号码,120;实际开票类型,120;发票抬头,120;银行付款人,120;银行流水码,120;")); m_wndList.InsertItem(lCount + i, strTemp,0); //序号 m_wndList.SetItemData(lCount + i, (DWORD)pos); //存Pos ShowDataInList(lCount + i, pData); m_lMsgCount += pSee->lCount; m_fTotal += pData->fPrice; m_lPresent += pData->lPresent; m_lSmsAll += pData->lSMSCount; m_fLPTotal += pData->fLPPrice; m_lCommend_VipIntTotal += pData->lCommend_VipInt; pData++; } m_wndList.ShowWindow(SW_SHOW); } if (pSee->lCount == -100) //已是最后一条记录 { #ifndef SMSMANAGER_KF long i = m_wndList.GetItemCount(); m_wndList.InsertItem(i, _T(""), 0); m_wndList.SetIconIndex(i, -1); i++; m_wndList.InsertItem(i, _T("合计"), 0); m_wndList.SetIconIndex(i, -1); if (m_lSmsAll > 0 && (m_fTotal - m_fLPTotal) > 0.0f) { //strTemp.Format(_T("平均单价:%.4f"), (m_fTotal - m_fLPTotal) / (double)m_lSmsAll); //m_wndList.SetItemText(i, m_iCorpNameIndex, strTemp); strTemp.Format(_T("%8.4f"), (m_fTotal - m_fLPTotal) / (double)m_lSmsAll); m_wndList.SetItemText(i, m_iSmsPriceOneIndex, strTemp); } strTemp.Format( _T("%8.2f"), m_fTotal); m_wndList.SetItemText(i, m_iPriceIndex, strTemp); //strTemp.Format(_T("%8d"), m_lSms); //m_wndList.SetItemText(i, 6, strTemp); strTemp.Format(_T("%8d"), m_lPresent); m_wndList.SetItemText(i, m_iSmsPresentIndex, strTemp); strTemp.Format(_T("%8d"), m_lSmsAll); m_wndList.SetItemText(i, m_iSmsCountIndex, strTemp); strTemp.Format(_T("%.2f"), m_fLPTotal); m_wndList.SetItemText(i, m_iLPPresentIndex, strTemp); //strTemp.Format(_T("%d"), m_fLPTotal); //m_wndList.SetItemText(i, 20, m_lCommend_VipIntTotal); #endif //m_B_Query.EnableWindow(true); m_B_Query.SetWindowText(_T("立即查询")); } else { if (pSee->lCount < 0) { MessageBox(CString(_T("查询异常:")) + CString(pSee->szErrMsg), _T("查询异常"), MB_ICONERROR); //m_B_Query.EnableWindow(true); m_B_Query.SetWindowText(_T("立即查询")); } } return true; } if (pHead->lFuncType == SMSFUNC_ALLQUERY_REPORT_GET) { ANS_AllQuery_Report_Get* pGet = (ANS_AllQuery_Report_Get*)pFrame; ANS_AllQuery_Report_Data* pData = (ANS_AllQuery_Report_Data*)(pFrame + sizeof(ANS_AllQuery_Report_Get)); ANS_Corp_MemberData* pMemberDataRet = (ANS_Corp_MemberData*)((BYTE*)pData + sizeof(ANS_AllQuery_Report_Data) * pGet->lCount); ANS_Pay_Oper_Data* pOperDataRet = (ANS_Pay_Oper_Data*)((BYTE*)pMemberDataRet + sizeof(ANS_Corp_MemberData) * pGet->lLXRCount); ANS_Corp_FPData * pFPDataRet = (ANS_Corp_FPData*)((BYTE*)pOperDataRet + sizeof(ANS_Pay_Oper_Data) * pGet->lOperCount); if (pGet->lCount > 0) { DLG_Pay_Detail dlg(this); m_pDetail = &dlg; dlg.SetParam(m_pMainFrame ,pGet, pData, pMemberDataRet, pOperDataRet, pFPDataRet); if (dlg.DoModal() == IDOK) { } } else { if (pGet->lCount < 0) { MessageBox(CString(_T("取充值详情异常:")) + CString(pGet->szErrMsg), _T("查询异常"), MB_ICONERROR); } } return true; } if (pHead->lFuncType == SMSFUNC_PAY_OPER_ADD) { ANS_Pay_Oper_Add* pRet = (ANS_Pay_Oper_Add*)pFrame; if (pRet->iCode <= 0) { CString str; str.Format(_T("添加操作失败:%d,%s"), pRet->iCode, pRet->szErrMsg); MessageBox(str, _T("添加失败"), MB_ICONERROR); return true; } POSITION pos = (POSITION)m_wndList.GetItemData(pRet->req.lItem); if ((long)pos <= 0) return true; ANS_AllQuery_Report_Data* pData = m_ListData.GetNext(pos); if (!pData) return true; if (pData->lPayID != pRet->req.data.lPayID) //数据不同,可能已进行过排序操作了 return true; switch (pRet->req.data.lOperType) { case 1: //测试充值 pData->lTest = pRet->req.lTest; break; case 2: //成本充值 pData->lCB = pRet->req.lCB; break; case 3: //修改开票信息 pData->lFP = pRet->req.lFPType; _tcscpy(pData->szFPDetail, pRet->req.szFPDetail); _tcscpy(pData->szFPActualType, pRet->req.szFPActualType); break; case 4: //开具发票 pData->lFP = pRet->req.lFPType; pData->lFPStatus = pRet->req.lFPStatus; pData->tFPTime = pRet->req.tFPTime; _tcscpy(pData->szFPUser, pRet->req.szFPUser); _tcscpy(pData->szFPNum, pRet->req.szFPNum); _tcscpy(pData->szFPDetail, pRet->req.szFPDetail); _tcscpy(pData->szFPActualType, pRet->req.szFPActualType); break; case 5: //修改为已寄出 pData->lFPStatus = pRet->req.lFPStatus; break; case 6: //删除开票信息 pData->lFPStatus = pRet->req.lFPStatus; pData->tFPTime = pRet->req.tFPTime; _tcscpy(pData->szFPUser, pRet->req.szFPUser); _tcscpy(pData->szFPNum, pRet->req.szFPNum); _tcscpy(pData->szFPActualType, pRet->req.szFPActualType); break; case 7: //收款核销 pData->lYS = pRet->req.lYS; pData->tYSTime = pRet->req.tYSTime; _tcscpy(pData->szPayMode, pRet->req.szPayMode); _tcscpy(pData->szBankPayer, pRet->req.szBankPayer); _tcscpy(pData->szBankReferenceNum, pRet->req.szBankReferenceNum); break; case 8: //修改收款信息 pData->tYSTime = pRet->req.tYSTime; _tcscpy(pData->szPayMode, pRet->req.szPayMode); _tcscpy(pData->szBankPayer, pRet->req.szBankPayer); _tcscpy(pData->szBankReferenceNum, pRet->req.szBankReferenceNum); break; case 9: //修改赠送 pData->lLPType = pRet->req.lLPType; pData->fLPPrice = pRet->req.fLPPrice; pData->lLXRID = pRet->req.lLXRID; _tcscpy(pData->szLXRName, pRet->req.szLXRName); break; case 10: //修改充值时间 pData->tPayTime = pRet->req.tPayTime; break; case 11: //作废预开票 case 12: //确认预开票 pData->lYSType = pRet->req.lYSType; _tcscpy(pData->szPayMode, pRet->req.szPayMode); break; case 13: //撤消充值 pData->lYSType = pRet->req.lYSType; _tcscpy(pData->szPayMode, pRet->req.szPayMode); break; } ShowDataInList(pRet->req.lItem, pData); //显示新数据 CString strOperType = DLG_Pay_Detail::GetPayOperType(pRet->req.data.lOperType); CString str; str.Format(_T("添加操作【%s】成功!"), strOperType); if (pRet->req.data.lOperType == 13) { str.Append(_T("\r\n撤消充值后请留意企业余额,如有发票信息再做相应处理!")); } MessageBox(str, _T("信息"), MB_ICONINFORMATION); return true; } return false; } void CK_AllQuery_Report::ShowRMenu() { #ifdef SMSMANAGER_KF if (!m_pMainFrame->GetUserPurview(PURVIEW_SP)) { return; } #else if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB)) { return; } #endif CMenu menu; menu.CreatePopupMenu(); BOOL bLock = false; long lItem = this->GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ((long)pos <= 0) return; ANS_AllQuery_Report_Data* pData = m_ListData.GetNext(pos); if (!pData) return; //添加 #ifdef SMSMANAGER_KF menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_ALLQUERY_REPORT_SEE, _T(" 查 看 ")); menu.AppendMenu(MF_SEPARATOR); if (pData->lFPStatus == 0) { //menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_FPTYPE, _T(" 修改发票类型 ")); menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_FPMSG, _T(" 修改开票信息 ")); menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_FPISSUE, _T(" 开具发票 ")); } else { //menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_FPMSG, _T(" 重新修改开票信息 ")); menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_FPISSUE, _T(" 重新开具发票 ")); menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_FPDEL, _T(" 删除开票信息 ")); } if (pData->lFPStatus == 1) { menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_FPEXPRESS, _T(" 修改发票状态为-已寄出 ")); } menu.AppendMenu(MF_SEPARATOR); menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_COPYID, _T(" 复制ID ")); menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_COPYNAME, _T(" 复制企业名称 ")); #else menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_SEE, _T(" 查 看 ")); menu.AppendMenu(MF_SEPARATOR); if (/*pData->lYS == 1 && */COleDateTime(pData->tTCTime).GetStatus() == COleDateTime::invalid || COleDateTime(pData->tTCTime).GetStatus() == COleDateTime::null) //未确认收款并且没有提成时间的的才允许进行操作 { if (pData->lTest) menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_TEST, _T(" 修改为非测试充值 ")); else menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_TEST, _T(" 修改为测试充值 ")); if (pData->lCB) menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_CB, _T(" 修改为非成本短信 ")); else menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_CB, _T(" 修改为成本短信 ")); menu.AppendMenu(MF_SEPARATOR); if (pData->lYSType == 0) menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_BANK, _T(" 修改收款信息 ")); menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_LP, _T(" 修改赠送信息 ")); menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_PAYTIME, _T(" 修改充值日期 ")); long lMonLong = 3; if (m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_SEE, false)) lMonLong = 12; if (pData->lYS==1 && pData->lYSType == 0 && (pData->lPayType==0 || pData->lPayType == 9 ) && //短信易,彩信易,这三样才能撤销 COleDateTime(pData->tPayTime).GetStatus() == COleDateTime::valid && COleDateTime::GetCurrentTime() - COleDateTime(pData->tPayTime) < COleDateTimeSpan(lMonLong*31,0,0,0) ) //正常充值,充值时间1个月内,可以进行撤销操作 { menu.AppendMenu(MF_SEPARATOR); menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_CANCEL, _T(" 撤销本笔充值 ")); } if (pData->lYSType == 1) //预开票 { menu.AppendMenu(MF_SEPARATOR); menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_CJQR, _T(" 确认预开票 ")); menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_CJZF, _T(" 作废预开票 ")); } menu.AppendMenu(MF_SEPARATOR); } if (pData->lFPStatus == 0) { //menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_FPTYPE, _T(" 修改发票类型 ")); menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_FPMSG, _T(" 修改开票信息 ")); menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_FPISSUE, _T(" 开具发票 ")); } else { //menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_FPMSG, _T(" 重新修改开票信息 ")); menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_FPISSUE, _T(" 重新开具发票 ")); menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_FPDEL, _T(" 删除开票信息 ")); } if (pData->lFPStatus == 1) { menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_FPEXPRESS, _T(" 修改发票状态为-已寄出 ")); } menu.AppendMenu(MF_SEPARATOR); if (COleDateTime(pData->tTCTime).GetStatus() == COleDateTime::invalid || COleDateTime(pData->tTCTime).GetStatus() == COleDateTime::null) //没有提成时间的才允许操作 { if (m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_SEE, false) && pData->lYSType == 0) { if (pData->lYS) menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_YS, _T(" 收款核销 ")); else menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_OPER_YS, _T(" 反收款核销 ")); menu.AppendMenu(MF_SEPARATOR); } } menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_COPYID, _T(" 复制ID ")); menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_COPYNAME, _T(" 复制企业名称 ")); menu.AppendMenu(MF_STRING, MENU_ALLQUERY_REPORT_COPYDATA, _T(" 复制报表数据 ")); #endif //显示菜单 POINT pt; ::GetCursorPos(&pt); //this->ReportToScreen( &pt); menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON, pt.x, pt.y, this, NULL); menu.DestroyMenu(); } long CK_AllQuery_Report::GetCurrentSelected() { POSITION pos = m_wndList.GetFirstSelectedItemPosition(); if (pos) { return m_wndList.GetNextSelectedItem(pos); } return -1; } void CK_AllQuery_Report::On_User_See() { #ifdef SMSMANAGER_KF if (!m_pMainFrame->GetUserPurview(PURVIEW_LIST)) { return ; } #else if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB)) { return ; } #endif long lItem = this->GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ((long)pos <= 0) return; ANS_AllQuery_Report_Data* pData = m_ListData.GetNext(pos); if (!pData) return; REQ_AllQuery_Report_Get* pGet = new REQ_AllQuery_Report_Get; memset(pGet, 0, sizeof(REQ_AllQuery_Report_Get)); pGet->lPTNum = pData->lPTNum; pGet->lUserType = pData->lUserType; pGet->lPayType = pData->lPayType; pGet->lDBType = pData->lDBType; pGet->lCorpID = pData->lCorpID; pGet->lPayID = pData->lPayID; pGet->lItem = lItem; //记录当前序号 pGet->lOperType = 0; //纯查看。 m_pMainFrame->SendFrame(SMSFUNC_ALLQUERY_REPORT_GET, (BYTE*)pGet, sizeof(REQ_AllQuery_Report_Get)); } void CK_AllQuery_Report::On_User_CopyID() { long lItem = this->GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ((long)pos <= 0) return; POSITION pos2 = pos; ANS_AllQuery_Report_Data* pData = m_ListData.GetNext(pos); if (pData) { HGLOBAL hglbCopy; LPTSTR lptstrCopy; if (!OpenClipboard()) return ; EmptyClipboard(); CString str; str.Format(_T("%d"),pData->lCorpID); hglbCopy = GlobalAlloc(GMEM_MOVEABLE, (str.GetLength() + 1) * sizeof(TCHAR)); if (hglbCopy == NULL) { CloseClipboard(); return ; } lptstrCopy = (TCHAR*)GlobalLock(hglbCopy); _tcscpy(lptstrCopy, str); GlobalUnlock(hglbCopy); #ifdef _UNICODE ::SetClipboardData(CF_UNICODETEXT, hglbCopy); #else ::SetClipboardData(CF_TEXT, hglbCopy); #endif CloseClipboard(); } } void CK_AllQuery_Report::On_User_CopyName() { long lItem = this->GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ((long)pos <= 0) return; ANS_AllQuery_Report_Data* pData = m_ListData.GetNext(pos); if (pData) { HGLOBAL hglbCopy; LPTSTR lptstrCopy; if (!OpenClipboard()) return; EmptyClipboard(); CString str; str=pData->szCorpName; hglbCopy = GlobalAlloc(GMEM_MOVEABLE, (str.GetLength() + 1) * sizeof(TCHAR)); if (hglbCopy == NULL) { CloseClipboard(); return; } lptstrCopy = (TCHAR*)GlobalLock(hglbCopy); _tcscpy(lptstrCopy, str); GlobalUnlock(hglbCopy); #ifdef _UNICODE ::SetClipboardData(CF_UNICODETEXT, hglbCopy); #else ::SetClipboardData(CF_TEXT, hglbCopy); #endif CloseClipboard(); } } void CK_AllQuery_Report::On_User_CopyData() { this->m_wndList.CopyToClipboard(); } void CK_AllQuery_Report::On_User_Oper_Test() { if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB)) { return; } long lItem = this->GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ((long)pos <= 0) return; ANS_AllQuery_Report_Data* pData = m_ListData.GetNext(pos); if (!pData) return; REQ_AllQuery_Report_Get* pGet = new REQ_AllQuery_Report_Get; memset(pGet, 0, sizeof(REQ_AllQuery_Report_Get)); pGet->lPTNum = pData->lPTNum; pGet->lUserType = pData->lUserType; pGet->lPayType = pData->lPayType; pGet->lDBType = pData->lDBType; pGet->lCorpID = pData->lCorpID; pGet->lPayID = pData->lPayID; pGet->lItem = lItem; //记录当前序号 pGet->lOperType = 1; //修改是否测试充值。 if (pData->lTest) //与原来的值相反 pGet->lOperNewValue = 0; else pGet->lOperNewValue = 1; m_pMainFrame->SendFrame(SMSFUNC_ALLQUERY_REPORT_GET, (BYTE*)pGet, sizeof(REQ_AllQuery_Report_Get)); } void CK_AllQuery_Report::On_User_Oper_CB() { if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB)) { return; } long lItem = this->GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ((long)pos <= 0) return; ANS_AllQuery_Report_Data* pData = m_ListData.GetNext(pos); if (!pData) return; REQ_AllQuery_Report_Get* pGet = new REQ_AllQuery_Report_Get; memset(pGet, 0, sizeof(REQ_AllQuery_Report_Get)); pGet->lPTNum = pData->lPTNum; pGet->lUserType = pData->lUserType; pGet->lPayType = pData->lPayType; pGet->lDBType = pData->lDBType; pGet->lCorpID = pData->lCorpID; pGet->lPayID = pData->lPayID; pGet->lItem = lItem; //记录当前序号 pGet->lOperType = 2; //修改是否成本充值。 if (pData->lCB) //与原来的值相反 pGet->lOperNewValue = 0; else pGet->lOperNewValue = 1; m_pMainFrame->SendFrame(SMSFUNC_ALLQUERY_REPORT_GET, (BYTE*)pGet, sizeof(REQ_AllQuery_Report_Get)); } void CK_AllQuery_Report::On_User_Oper_FPExpress() { if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB)) { return; } long lItem = this->GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ((long)pos <= 0) return; ANS_AllQuery_Report_Data* pData = m_ListData.GetNext(pos); if (!pData) return; REQ_AllQuery_Report_Get* pGet = new REQ_AllQuery_Report_Get; memset(pGet, 0, sizeof(REQ_AllQuery_Report_Get)); pGet->lPTNum = pData->lPTNum; pGet->lUserType = pData->lUserType; pGet->lPayType = pData->lPayType; pGet->lDBType = pData->lDBType; pGet->lCorpID = pData->lCorpID; pGet->lPayID = pData->lPayID; pGet->lItem = lItem; //记录当前序号 pGet->lOperType = 5; //修改发送状态为已寄出 pGet->lOperNewValue = 2; //修改发票状态为已寄出 m_pMainFrame->SendFrame(SMSFUNC_ALLQUERY_REPORT_GET, (BYTE*)pGet, sizeof(REQ_AllQuery_Report_Get)); } void CK_AllQuery_Report::On_User_Oper_FPMsg() { if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB)) { return; } long lItem = this->GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ((long)pos <= 0) return; ANS_AllQuery_Report_Data* pData = m_ListData.GetNext(pos); if (!pData) return; REQ_AllQuery_Report_Get* pGet = new REQ_AllQuery_Report_Get; memset(pGet, 0, sizeof(REQ_AllQuery_Report_Get)); pGet->lPTNum = pData->lPTNum; pGet->lUserType = pData->lUserType; pGet->lPayType = pData->lPayType; pGet->lDBType = pData->lDBType; pGet->lCorpID = pData->lCorpID; pGet->lPayID = pData->lPayID; pGet->lItem = lItem; //记录当前序号 pGet->lOperType = 3; //修改开票信息 m_pMainFrame->SendFrame(SMSFUNC_ALLQUERY_REPORT_GET, (BYTE*)pGet, sizeof(REQ_AllQuery_Report_Get)); } void CK_AllQuery_Report::On_User_Oper_FPIssue() { if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB)) { return; } long lItem = this->GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ((long)pos <= 0) return; ANS_AllQuery_Report_Data* pData = m_ListData.GetNext(pos); if (!pData) return; REQ_AllQuery_Report_Get* pGet = new REQ_AllQuery_Report_Get; memset(pGet, 0, sizeof(REQ_AllQuery_Report_Get)); pGet->lPTNum = pData->lPTNum; pGet->lUserType = pData->lUserType; pGet->lPayType = pData->lPayType; pGet->lDBType = pData->lDBType; pGet->lCorpID = pData->lCorpID; pGet->lPayID = pData->lPayID; pGet->lItem = lItem; //记录当前序号 pGet->lOperType = 4; //开具发票。 m_pMainFrame->SendFrame(SMSFUNC_ALLQUERY_REPORT_GET, (BYTE*)pGet, sizeof(REQ_AllQuery_Report_Get)); } void CK_AllQuery_Report::On_User_Oper_FPDel() { if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB)) { return; } long lItem = this->GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ((long)pos <= 0) return; ANS_AllQuery_Report_Data* pData = m_ListData.GetNext(pos); if (!pData) return; REQ_AllQuery_Report_Get* pGet = new REQ_AllQuery_Report_Get; memset(pGet, 0, sizeof(REQ_AllQuery_Report_Get)); pGet->lPTNum = pData->lPTNum; pGet->lUserType = pData->lUserType; pGet->lPayType = pData->lPayType; pGet->lDBType = pData->lDBType; pGet->lCorpID = pData->lCorpID; pGet->lPayID = pData->lPayID; pGet->lItem = lItem; //记录当前序号 pGet->lOperType = 6; //删除开票信息。 m_pMainFrame->SendFrame(SMSFUNC_ALLQUERY_REPORT_GET, (BYTE*)pGet, sizeof(REQ_AllQuery_Report_Get)); } void CK_AllQuery_Report::On_User_Oper_Bank() { if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB)) { return; } long lItem = this->GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ((long)pos <= 0) return; ANS_AllQuery_Report_Data* pData = m_ListData.GetNext(pos); if (!pData) return; REQ_AllQuery_Report_Get* pGet = new REQ_AllQuery_Report_Get; memset(pGet, 0, sizeof(REQ_AllQuery_Report_Get)); pGet->lPTNum = pData->lPTNum; pGet->lUserType = pData->lUserType; pGet->lPayType = pData->lPayType; pGet->lDBType = pData->lDBType; pGet->lCorpID = pData->lCorpID; pGet->lPayID = pData->lPayID; pGet->lItem = lItem; //记录当前序号 pGet->lOperType = 8; //修改收款信息。 m_pMainFrame->SendFrame(SMSFUNC_ALLQUERY_REPORT_GET, (BYTE*)pGet, sizeof(REQ_AllQuery_Report_Get)); } void CK_AllQuery_Report::On_User_Oper_LP() { if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB)) { return; } long lItem = this->GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ((long)pos <= 0) return; ANS_AllQuery_Report_Data* pData = m_ListData.GetNext(pos); if (!pData) return; REQ_AllQuery_Report_Get* pGet = new REQ_AllQuery_Report_Get; memset(pGet, 0, sizeof(REQ_AllQuery_Report_Get)); pGet->lPTNum = pData->lPTNum; pGet->lUserType = pData->lUserType; pGet->lPayType = pData->lPayType; pGet->lDBType = pData->lDBType; pGet->lCorpID = pData->lCorpID; pGet->lPayID = pData->lPayID; pGet->lItem = lItem; //记录当前序号 pGet->lOperType = 9; //修改赠送信息。 m_pMainFrame->SendFrame(SMSFUNC_ALLQUERY_REPORT_GET, (BYTE*)pGet, sizeof(REQ_AllQuery_Report_Get)); } void CK_AllQuery_Report::On_User_Oper_PayTime() { if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB)) { return; } long lItem = this->GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ((long)pos <= 0) return; ANS_AllQuery_Report_Data* pData = m_ListData.GetNext(pos); if (!pData) return; REQ_AllQuery_Report_Get* pGet = new REQ_AllQuery_Report_Get; memset(pGet, 0, sizeof(REQ_AllQuery_Report_Get)); pGet->lPTNum = pData->lPTNum; pGet->lUserType = pData->lUserType; pGet->lPayType = pData->lPayType; pGet->lDBType = pData->lDBType; pGet->lCorpID = pData->lCorpID; pGet->lPayID = pData->lPayID; pGet->lItem = lItem; //记录当前序号 pGet->lOperType = 10; //修改充值时间。 m_pMainFrame->SendFrame(SMSFUNC_ALLQUERY_REPORT_GET, (BYTE*)pGet, sizeof(REQ_AllQuery_Report_Get)); } void CK_AllQuery_Report::On_User_Oper_YS() { if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB)) { return; } long lItem = this->GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ((long)pos <= 0) return; ANS_AllQuery_Report_Data* pData = m_ListData.GetNext(pos); if (!pData) return; REQ_AllQuery_Report_Get* pGet = new REQ_AllQuery_Report_Get; memset(pGet, 0, sizeof(REQ_AllQuery_Report_Get)); pGet->lPTNum = pData->lPTNum; pGet->lUserType = pData->lUserType; pGet->lPayType = pData->lPayType; pGet->lDBType = pData->lDBType; pGet->lCorpID = pData->lCorpID; pGet->lPayID = pData->lPayID; pGet->lItem = lItem; //记录当前序号 pGet->lOperType = 7; //修改是否应收。 if (pData->lYS) //与原来的值相反 pGet->lOperNewValue = 0; else pGet->lOperNewValue = 1; m_pMainFrame->SendFrame(SMSFUNC_ALLQUERY_REPORT_GET, (BYTE*)pGet, sizeof(REQ_AllQuery_Report_Get)); } void CK_AllQuery_Report::On_User_Oper_CJQR() { if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB)) { return; } long lItem = this->GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ((long)pos <= 0) return; ANS_AllQuery_Report_Data* pData = m_ListData.GetNext(pos); if (!pData) return; REQ_AllQuery_Report_Get* pGet = new REQ_AllQuery_Report_Get; memset(pGet, 0, sizeof(REQ_AllQuery_Report_Get)); pGet->lPTNum = pData->lPTNum; pGet->lUserType = pData->lUserType; pGet->lPayType = pData->lPayType; pGet->lDBType = pData->lDBType; pGet->lCorpID = pData->lCorpID; pGet->lPayID = pData->lPayID; pGet->lItem = lItem; //记录当前序号 pGet->lOperType = 12; //确认预开票。 m_pMainFrame->SendFrame(SMSFUNC_ALLQUERY_REPORT_GET, (BYTE*)pGet, sizeof(REQ_AllQuery_Report_Get)); } void CK_AllQuery_Report::On_User_Oper_CJZF() { if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB)) { return; } BOOL bLock = false; long lItem = this->GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ((long)pos <= 0) return; ANS_AllQuery_Report_Data* pData = m_ListData.GetNext(pos); if (!pData) return; REQ_AllQuery_Report_Get* pGet = new REQ_AllQuery_Report_Get; memset(pGet, 0, sizeof(REQ_AllQuery_Report_Get)); pGet->lPTNum = pData->lPTNum; pGet->lUserType = pData->lUserType; pGet->lPayType = pData->lPayType; pGet->lDBType = pData->lDBType; pGet->lCorpID = pData->lCorpID; pGet->lPayID = pData->lPayID; pGet->lItem = lItem; //记录当前序号 pGet->lOperType = 11; //作废预开票。 m_pMainFrame->SendFrame(SMSFUNC_ALLQUERY_REPORT_GET, (BYTE*)pGet, sizeof(REQ_AllQuery_Report_Get)); } void CK_AllQuery_Report::On_User_Oper_Cancel() { if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB)) { return; } BOOL bLock = false; long lItem = this->GetCurrentSelected(); if (lItem < 0) return; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ((long)pos <= 0) return; ANS_AllQuery_Report_Data* pData = m_ListData.GetNext(pos); if (!pData) return; if (pData->lYSType != 0) //不是正常充值 return; REQ_AllQuery_Report_Get* pGet = new REQ_AllQuery_Report_Get; memset(pGet, 0, sizeof(REQ_AllQuery_Report_Get)); pGet->lPTNum = pData->lPTNum; pGet->lUserType = pData->lUserType; pGet->lPayType = pData->lPayType; pGet->lDBType = pData->lDBType; pGet->lCorpID = pData->lCorpID; pGet->lPayID = pData->lPayID; pGet->lItem = lItem; //记录当前序号 pGet->lOperType = 13; //撤销充值。 m_pMainFrame->SendFrame(SMSFUNC_ALLQUERY_REPORT_GET, (BYTE*)pGet, sizeof(REQ_AllQuery_Report_Get)); } void CK_AllQuery_Report::Close_ListData() { //清除队列中的内容 while (!m_ListData.IsEmpty()) { ANS_AllQuery_Report_Data* pData = m_ListData.GetHead(); m_ListData.RemoveHead(); delete pData; } } BOOL CK_AllQuery_Report::OnInitDialog() { CDialogEx::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(24, 24, ILC_COLOR16 | ILC_MASK, 5, 5); m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_BLANK)); m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_YSK)); m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_YKP)); m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_YCX)); m_wndList.SubClassWindow2(); m_wndList.SetGridLines(true); m_wndList.SetImageList(&m_Image,LVSIL_SMALL); int iItem = 0; m_L_PT.ResetContent(); iItem = m_L_PT.AddString(_T("所有平台")); m_L_PT.SetItemData(iItem, 0); #ifdef SMSCENTER_ONE iItem = m_L_PT.AddString(_T("平台1(本平台)")); #else iItem = m_L_PT.AddString(_T("平台1")); #endif m_L_PT.SetItemData(iItem, 1); #ifdef SMSCENTER_THREE iItem = m_L_PT.AddString(_T("平台3(本平台)")); #else iItem = m_L_PT.AddString(_T("平台3")); #endif m_L_PT.SetItemData(iItem, 3); m_L_PT.SetCurSel(0); #ifdef SMSMANAGER_KF //m_wndList.SetHeadings(_T("序号,80; 平台,80;客户类型,100;充值类型,100;企业ID,100; 企业名称,220; 出单人,100;充值方式,150;充值金额,120;预开票,70;充值时间,180;收款时间,180; 发票,150;发票状态,100;开票时间,180;发票号码,120;客户经理,120; 代理商,180;")); m_wndList.SetHeadings(_T("序号,80; 平台,80;客户类型,100;企业ID,100; 企业名称,220;充值方式,150;充值金额,120;充值时间,180; 发票,150;发票状态,100;开票时间,180;发票号码,120;客户经理,120;")); #else m_wndList.SetHeadings(_T("序号,80; 平台,80;客户类型,100;充值类型,100;企业ID,100; 企业名称,220; 出单人,100;充值方式,150;充值金额,120; 单价,90; 赠送,90; 短信量,120; 实际单价,120;预开票,70;应收,60;测试,60;充值时间,180;过期时间,180;收款时间,180; 发票,150;发票状态,100;开票时间,180;发票号码,120;赠送礼品,120;礼品价值,100;接受人,100;客户经理,120; 代理商,180;本次余额,120;银行付款人,120;银行流水码,120;")); #endif m_L_YWY.SetCurSel(0); SetDefaultQueryParam(); #ifdef SMSMANAGER_KF GetDlgItem(IDC_ALLQUERY_REPORT_YSTIME)->EnableWindow(false); GetDlgItem(IDC_ALLQUERY_REPORT_YSTIME_TBEGIN)->EnableWindow(false); GetDlgItem(IDC_ALLQUERY_REPORT_YSTIME_TEND)->EnableWindow(false); GetDlgItem(IDC_ALLQUERY_REPORT_VALID)->ShowWindow(SW_HIDE); GetDlgItem(IDC_ALLQUERY_REPORT_BANKREFERENCE)->EnableWindow(false); #endif UpdateData(false); m_bInit = true; UpdateData(false); // EXCEPTION: OCX Property Pages should return FALSE return TRUE; // return TRUE unless you set the focus to a control // 异常: OCX 属性页应返回 FALSE } void CK_AllQuery_Report::OnOK() { // TODO: 在此添加专用代码和/或调用基类 return; CDialogEx::OnOK(); } void CK_AllQuery_Report::OnCancel() { // TODO: 在此添加专用代码和/或调用基类 return; CDialogEx::OnCancel(); } void CK_AllQuery_Report::OnSize(UINT nType, int cx, int cy) { CDialogEx::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); } } void CK_AllQuery_Report::OnClose() { Close_ListData(); CDialogEx::OnClose(); } void CK_AllQuery_Report::Close() { Close_YWY(); Close_ListData(); } void CK_AllQuery_Report::OnDblclkAllqueryReportList(NMHDR* pNMHDR, LRESULT* pResult) { LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast(pNMHDR); *pResult = 0; On_User_See(); } void CK_AllQuery_Report::OnRdblclkAllqueryReportList(NMHDR* pNMHDR, LRESULT* pResult) { LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast(pNMHDR); // TODO: 在此添加控件通知处理程序代码 *pResult = 0; } void CK_AllQuery_Report::OnBnClickedAllqueryReportQuery() { #ifdef SMSMANAGER_KF if (!m_pMainFrame->GetUserPurview(PURVIEW_SP)) { return; } #else if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB)) { return; } #endif if (!UpdateData(true)) return; //时间控制 if (!m_bPayTime && !m_bYSTime && !m_bFPTime) { MessageBox(_T("充值时间,到款时间,发票时间,必须要选择一个时间段进行查询!"),_T("警告"), MB_ICONWARNING); GetDlgItem(IDC_ALLQUERY_REPORT_PAYTIME)->SetFocus(); return; } long lMonLong=0; //允许查询的时长 if (m_bPayTime) //判断时间 { if (m_tPayTimeBegin > m_tPayTimeEnd) { MessageBox(_T("充值时间查询段:起始时间不能大于结束时间!"), _T("警告"), MB_ICONWARNING); GetDlgItem(IDC_ALLQUERY_REPORT_PAYTIME_TBEGIN)->SetFocus(); return; } #ifdef SMSMANAGER_KF lMonLong = 12; #else if (m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_SEE, false)) lMonLong = 60; else lMonLong = 24; #endif if (m_tPayTimeBegin < COleDateTime::GetCurrentTime() - COleDateTimeSpan(lMonLong * 31)) { MessageBox(_T("充值时间查询段:起始时间超出查询范围!"), _T("警告"), MB_ICONWARNING); GetDlgItem(IDC_ALLQUERY_REPORT_PAYTIME_TBEGIN)->SetFocus(); return; } } if (m_bYSTime) //收款时间 { if (m_tYSTimeBegin > m_tYSTimeEnd) { MessageBox(_T("收款时间查询段:起始时间不能大于结束时间!"), _T("警告"), MB_ICONWARNING); GetDlgItem(IDC_ALLQUERY_REPORT_YSTIME_TBEGIN)->SetFocus(); return; } #ifdef SMSMANAGER_KF lMonLong = 12; #else if (m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_SEE, false)) lMonLong = 60; else lMonLong = 24; #endif if (m_tYSTimeBegin < COleDateTime::GetCurrentTime() - COleDateTimeSpan(lMonLong * 31)) { MessageBox(_T("收款时间查询段:起始时间超出查询范围!"), _T("警告"), MB_ICONWARNING); GetDlgItem(IDC_ALLQUERY_REPORT_YSTIME_TBEGIN)->SetFocus(); return; } } if (m_bFPTime) //发票时间 { if (m_tFPTimeBegin > m_tFPTimeEnd) { MessageBox(_T("发票时间查询段:起始时间不能大于结束时间!"), _T("警告"), MB_ICONWARNING); GetDlgItem(IDC_ALLQUERY_REPORT_FPTIME_TBEGIN)->SetFocus(); return; } #ifdef SMSMANAGER_KF lMonLong = 12; #else if (m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_SEE, false)) lMonLong = 60; else lMonLong = 24; #endif if (m_tFPTimeBegin < COleDateTime::GetCurrentTime() - COleDateTimeSpan(lMonLong * 31)) { MessageBox(_T("发票时间查询段:起始时间超出查询范围!"), _T("警告"), MB_ICONWARNING); GetDlgItem(IDC_ALLQUERY_REPORT_FPTIME_TBEGIN)->SetFocus(); return; } } /* //判断企业ID long lCorpID = 0; if (m_strID.GetLength()>0) { lCorpID = _ttol(m_strID); if (lCorpID < 100000 || lCorpID>900000) { MessageBox(_T("企业/代理商ID:请输入正确的企业ID或代理商ID!"), _T("警告"), MB_ICONWARNING); GetDlgItem(IDC_ALLQUERY_REPORT_CORPID)->SetFocus(); return; } else { } } */ Close_ListData(); REQ_AllQuery_Report_See* pSee = new REQ_AllQuery_Report_See; memset(pSee, 0, sizeof(REQ_AllQuery_Report_See)); pSee->iPT = m_L_PT.GetItemData(m_L_PT.GetCurSel()); //查询平台 long lCorpID = _ttol(m_strID);; if (lCorpID >= 100000 || lCorpID <= 1000000) { pSee->lCorpID = lCorpID; //企业ID } _tcscpy(pSee->szKey, m_strID);//企业ID pSee->bPayTime = m_bPayTime; if (m_bPayTime) { m_tPayTimeBegin.GetAsSystemTime(pSee->tPayTimeBegin); m_tPayTimeEnd.GetAsSystemTime(pSee->tPayTimeEnd); } pSee->bYSTime = m_bYSTime; if (m_bYSTime) { m_tYSTimeBegin.GetAsSystemTime(pSee->tYSTimeBegin); m_tYSTimeEnd.GetAsSystemTime(pSee->tYSTimeEnd); } pSee->bFPTime = m_bFPTime; if (m_bFPTime) { m_tFPTimeBegin.GetAsSystemTime(pSee->tFPTimeBegin); m_tFPTimeEnd.GetAsSystemTime(pSee->tFPTimeEnd); } pSee->lAgentType = m_L_AgentType.GetItemData(m_L_AgentType.GetCurSel()); //报表类型 pSee->lReportType = m_L_ReportType.GetItemData(m_L_ReportType.GetCurSel()); //报表类型 pSee->lTest = m_L_Test.GetItemData(m_L_Test.GetCurSel()); //测试充值 pSee->lYS = m_L_YS.GetItemData(m_L_YS.GetCurSel()); //核销充值 pSee->lVaild = m_bVaild; pSee->lYWY = m_L_YWY.GetItemData(m_L_YWY.GetCurSel()); //客户经理ID _tcscpy(pSee->szPayMode, m_strPayMode); //充值方式 pSee->lFPType = m_L_FPType.GetItemData(m_L_FPType.GetCurSel()); //发票状态 pSee->lFPStatus = m_L_FPStatus.GetItemData(m_L_FPStatus.GetCurSel()); //发票状态 _tcscpy(pSee->szFPNum, m_strFPNum); _tcscpy(pSee->szBankReferenceNum, m_strBankReference); m_pMainFrame->SendFrame(SMSFUNC_ALLQUERY_REPORT_SEE, (BYTE*)pSee, sizeof(REQ_AllQuery_Report_See)); m_wndList.ShowWindow(SW_HIDE); m_wndList.DeleteAllItems(); //重置统计值 m_fTotal = 0; m_fLPTotal = 0; m_lCommend_VipIntTotal = 0; m_lSms = 0; m_lPresent = 0; m_lSmsAll = 0; //重置字段位置记录值 m_iPriceIndex = 0; m_iSmsCountIndex = 0; m_iSmsPresentIndex = 0; m_iLPPresentIndex = 0; m_iSmsPriceOneIndex = 0; //m_B_Query.EnableWindow(false); //等数据返回后才能再按查询 m_B_Query.SetWindowText(_T("正在查询...")); return; } void CK_AllQuery_Report::OnRclickAllqueryReportList(NMHDR* pNMHDR, LRESULT* pResult) { LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast(pNMHDR); // TODO: 在此添加控件通知处理程序代码 *pResult = 0; ShowRMenu(); } COleDateTime CK_AllQuery_Report::GetDateTime(long lMonDifference, long lGetType) { //long lMonDifference 与当前月份差额,0表示当月,-表示之前的月份,+表示未来月份 //long lGetType 0-月初,1-当前日,2-月末 SYSTEMTIME t; GetLocalTime(&t); long lDifferenceYear = lMonDifference / 12; long lDifferenceMon = lMonDifference % 12; t.wYear += lDifferenceYear; long lMon = t.wMonth; lMon += lDifferenceMon; if (lMon <= 0) { t.wYear--; lMon += 12; } else { if (lMon > 12) { lMon = lMon - 12; t.wYear++; } } t.wMonth = lMon; switch (lGetType) { case 0: //月初 t.wDay = 1; t.wHour = 0; t.wMinute = 0; t.wSecond = 0; break; case 1://当天 t.wHour = 23; t.wMinute = 59; t.wSecond = 59; break; case 2: //月末 //判断是否为润月 { int Day[13] = { 29,31,28,31,30,31,30,31,31,30,31,30,31 }; //查表 long lMonth = t.wMonth; if (2 == t.wMonth && (t.wYear % 4 == 0 && t.wYear % 100 != 0 || t.wYear % 400 == 0) ) { lMonth = 0; } t.wDay = Day[lMonth]; t.wHour = 23; t.wMinute = 59; t.wSecond = 59; } break; } if (lGetType == 0) //月初 { t.wDay = 1; t.wHour = 0; t.wMinute = 0; t.wSecond = 0; } return COleDateTime(t); } void CK_AllQuery_Report::Close_YWY() { //清除队列中的内容 while (!m_YWY.IsEmpty()) { ANS_YWY_NameData* pData = m_YWY.GetHead(); m_YWY.RemoveHead(); delete pData; } } void CK_AllQuery_Report::OnSelchangeAllqueryReportType() { int iItem = m_L_ReportType.GetCurSel(); long lReportType = m_L_ReportType.GetItemData(m_L_ReportType.GetCurSel()); UpdateData(true); /* iItem = m_L_ReportType.AddString(_T("所有充值")); m_L_ReportType.SetItemData(iItem, 0); iItem = m_L_ReportType.AddString(_T("应收报表")); m_L_ReportType.SetItemData(iItem, 1); iItem = m_L_ReportType.AddString(_T("应收报表(本期)")); m_L_ReportType.SetItemData(iItem, 2); iItem = m_L_ReportType.AddString(_T("应收报表(住期)")); m_L_ReportType.SetItemData(iItem, 3); iItem = m_L_ReportType.AddString(_T("已收报表")); m_L_ReportType.SetItemData(iItem, 4); iItem = m_L_ReportType.AddString(_T("已收报表(本期)")); m_L_ReportType.SetItemData(iItem, 5); iItem = m_L_ReportType.AddString(_T("已收报表(住期)")); m_L_ReportType.SetItemData(iItem, 6); iItem = m_L_ReportType.AddString(_T("赠送报表")); m_L_ReportType.SetItemData(iItem, 7); iItem = m_L_ReportType.AddString(_T("返量报表")); m_L_ReportType.SetItemData(iItem, 8); iItem = m_L_ReportType.AddString(_T("预开票报表")); m_L_ReportType.SetItemData(iItem, 9); */ SetDefaultQueryParam(); switch (lReportType) { case 1: //应收报表 m_bPayTime = true; m_tPayTimeBegin = GetDateTime(-3, 0); //3个月前月初开始查询 m_tPayTimeEnd = GetDateTime(0, 2); //默认月末 m_bVaild = true; //去除无效收款 m_L_Test.SetCurSel(1); //非测试充值 break; case 2: //应收报表(本期) m_bPayTime = true; m_tPayTimeBegin = GetDateTime(0, 0); //本月初 m_tPayTimeEnd = GetDateTime(0, 2); //本月末 m_bVaild = true; //去除无效收款 m_L_Test.SetCurSel(1); //非测试充值 break; case 3: //应收报表(住期) m_bPayTime = true; m_tPayTimeBegin = GetDateTime(-3, 0); //3个月前月初开始查询 m_tPayTimeEnd = GetDateTime(-1, 2); //上月末 m_bVaild = true; //去除无效收款 m_L_Test.SetCurSel(1); //非测试充值 break; case 4: //已收 m_bPayTime = false; m_bYSTime = true; m_tYSTimeBegin = GetDateTime(-3, 0); //3个月前月初开始查询 m_tYSTimeEnd = GetDateTime(0, 2); //默认月末 m_bVaild = true; //去除无效收款 m_L_Test.SetCurSel(1); //非测试充值 break; case 5: //应收报表(本期) m_bPayTime = false; m_bYSTime = true; m_tYSTimeBegin = GetDateTime(0, 0); //本月初 m_tYSTimeEnd = GetDateTime(0, 2); //本月末 m_bVaild = true; //去除无效收款 m_L_Test.SetCurSel(1); //非测试充值 break; case 6: //应收报表(住期) m_bPayTime = false; m_bYSTime = true; m_tYSTimeBegin = GetDateTime(-3, 0); //3个月前月初开始查询 m_tYSTimeEnd = GetDateTime(-1, 2); //上月末 m_bVaild = true; //去除无效收款 m_L_Test.SetCurSel(1); //非测试充值 break; case 7: //发票 m_bPayTime = false; m_bFPTime = true; m_tFPTimeBegin = GetDateTime(-3, 0); //3个月前月初开始查询 m_tFPTimeEnd = GetDateTime(0, 2); //默认月末 break; case 8: //发票报表(本期) m_bPayTime = false; m_bFPTime = true; m_tFPTimeBegin = GetDateTime(0, 0); //本月初 m_tFPTimeEnd = GetDateTime(0, 2); //本月末 break; case 9: //发票报表(住期) m_bPayTime = false; m_bFPTime = true; m_tFPTimeBegin = GetDateTime(-3, 0); //3个月前月初开始查询 m_tFPTimeEnd = GetDateTime(-1, 2); //上月末 break; case 13: //已到款未开票 m_bPayTime = false; m_bYSTime = true; m_bFPTime = false; m_tYSTimeBegin = GetDateTime(-3, 0); //3个月前月初开始查询 m_tYSTimeEnd = GetDateTime(0, 2); //默认月末 break; case 14: //已到款未开票(本期) m_bPayTime = false; m_bYSTime = true; m_bFPTime = false; m_tYSTimeBegin = GetDateTime(0, 0); //本月初 m_tYSTimeEnd = GetDateTime(0, 2); //本月末 break; case 15: //已到款未开票(住期) m_bPayTime = false; m_bYSTime = true; m_bFPTime = false; m_tYSTimeBegin = GetDateTime(-3, 0); //3个月前月初开始查询 m_tYSTimeEnd = GetDateTime(-1, 2); //上月末 break; case 30: //未开票(3个月) m_bPayTime = true; //默认按支付时间查询 m_bYSTime = false; m_bFPTime = false; m_tPayTimeBegin = GetDateTime(-3, 0); //默认3个月前的月初 m_tPayTimeEnd = GetDateTime(0, 2); //默认月末 m_L_FPStatus.SetCurSel(1); //未开票 break; case 31: //未开票(当天) m_bPayTime = true; //默认按支付时间查询 m_bYSTime = false; m_bFPTime = false; m_tPayTimeBegin = COleDateTime::GetCurrentTime(); //当天 m_tPayTimeEnd = COleDateTime::GetCurrentTime(); //当天 m_L_FPStatus.SetCurSel(1); //未开票 break; case 32: //未开票(一周) m_bPayTime = true; //默认按支付时间查询 m_bYSTime = false; m_bFPTime = false; m_tPayTimeBegin = COleDateTime::GetCurrentTime()-COleDateTimeSpan(7); //一周前 m_tPayTimeEnd = COleDateTime::GetCurrentTime(); //当天 m_L_FPStatus.SetCurSel(1); //未开票 break; case 33: //已开票(当天) m_bPayTime = false; //默认按支付时间查询 m_bYSTime = false; m_bFPTime = true; m_tFPTimeBegin = COleDateTime::GetCurrentTime(); //当天 m_tFPTimeEnd = COleDateTime::GetCurrentTime(); //当天 m_L_FPStatus.SetCurSel(2); //已开票 break; case 34: //已开票(一周) m_bPayTime = false; //默认按支付时间查询 m_bYSTime = false; m_bFPTime = true; m_tFPTimeBegin = COleDateTime::GetCurrentTime() - COleDateTimeSpan(7); //一周前 m_tFPTimeEnd = COleDateTime::GetCurrentTime(); //当天 m_L_FPStatus.SetCurSel(2); //已开票 break; case 35: //需开票(当天) m_bPayTime = true; //默认按支付时间查询 m_bYSTime = false; m_bFPTime = false; m_tPayTimeBegin = COleDateTime::GetCurrentTime(); //当天 m_tPayTimeEnd = COleDateTime::GetCurrentTime(); //当天 m_L_FPStatus.SetCurSel(0); //需开票 break; case 36: //需开票(一周) m_bPayTime = true; //默认按支付时间查询 m_bYSTime = false; m_bFPTime = false; m_tPayTimeBegin = COleDateTime::GetCurrentTime() - COleDateTimeSpan(7); //一周前 m_tPayTimeEnd = COleDateTime::GetCurrentTime(); //当天 m_L_FPStatus.SetCurSel(0); //需开票 break; default: break; } UpdateData(false); m_L_ReportType.SetCurSel(iItem); } void CK_AllQuery_Report::SetDefaultQueryParam() { int iItem = 0; #ifdef SMSMANAGER_KF m_bPayTime = true; //默认按支付时间查询 m_tPayTimeBegin = GetDateTime(-3, 0); //默认3个月前的月初 m_tPayTimeEnd = GetDateTime(0, 2); //默认月末 m_bYSTime = false; //默认不按收款时间查 m_tYSTimeBegin = GetDateTime(0, 0); //默认月初 m_tYSTimeEnd = GetDateTime(0, 2); //默认月末 m_bFPTime = false; //默认不按发票时间查询 m_tFPTimeBegin = GetDateTime(0, 0); //默认月初 m_tFPTimeEnd = GetDateTime(0, 2); //默认月末 m_bVaild = false; //默认不去除无效收款 //初始化报表类型 m_L_ReportType.ResetContent(); iItem = m_L_ReportType.AddString(_T("未开票(3个月)")); m_L_ReportType.SetItemData(iItem, 30); iItem = m_L_ReportType.AddString(_T("未开票(当天)")); m_L_ReportType.SetItemData(iItem, 31); iItem = m_L_ReportType.AddString(_T("未开票(一周)")); m_L_ReportType.SetItemData(iItem, 32); iItem = m_L_ReportType.AddString(_T("已开票(当天)")); m_L_ReportType.SetItemData(iItem, 33); iItem = m_L_ReportType.AddString(_T("已开票(一周)")); m_L_ReportType.SetItemData(iItem, 34); iItem = m_L_ReportType.AddString(_T("需开票(当天)")); m_L_ReportType.SetItemData(iItem, 35); iItem = m_L_ReportType.AddString(_T("需开票(一周)")); m_L_ReportType.SetItemData(iItem, 36); m_L_ReportType.SetCurSel(0); //初始化测试类型 m_L_Test.ResetContent(); iItem = m_L_Test.AddString(_T("所有充值")); m_L_Test.SetItemData(iItem, 0); //iItem = m_L_Test.AddString(_T("正常充值")); m_L_Test.SetItemData(iItem, 1); //iItem = m_L_Test.AddString(_T("测试充值")); m_L_Test.SetItemData(iItem, 2); m_L_Test.SetCurSel(0); //初始化核销类型 m_L_YS.ResetContent(); iItem = m_L_YS.AddString(_T("所有充值")); m_L_YS.SetItemData(iItem, 0); //iItem = m_L_YS.AddString(_T("已核(已收)")); m_L_YS.SetItemData(iItem, 1); //iItem = m_L_YS.AddString(_T("未核(应收)")); m_L_YS.SetItemData(iItem, 2); m_L_YS.SetCurSel(0); //客户经理 //m_L_YWY.SetCurSel(0); //充值方式 m_strPayMode = _T(""); //发票类型 m_L_FPType.ResetContent(); iItem = m_L_FPType.AddString(_T("所有充值")); m_L_FPType.SetItemData(iItem, 0); //iItem = m_L_FPType.AddString(_T("不开票")); m_L_FPType.SetItemData(iItem, 1); iItem = m_L_FPType.AddString(_T("地税票")); m_L_FPType.SetItemData(iItem, 2); iItem = m_L_FPType.AddString(_T("增值税普票")); m_L_FPType.SetItemData(iItem, 3); iItem = m_L_FPType.AddString(_T("移动票")); m_L_FPType.SetItemData(iItem, 4); iItem = m_L_FPType.AddString(_T("增值税专票")); m_L_FPType.SetItemData(iItem, 5); iItem = m_L_FPType.AddString(_T("无需发票已报税")); m_L_FPType.SetItemData(iItem, 6); iItem = m_L_FPType.AddString(_T("盈易付普票")); m_L_FPType.SetItemData(iItem, 7); iItem = m_L_FPType.AddString(_T("盈易付专票")); m_L_FPType.SetItemData(iItem, 8); m_L_FPType.SetCurSel(0); //发票状态 m_L_FPStatus.ResetContent(); iItem = m_L_FPStatus.AddString(_T("需开发票")); m_L_FPStatus.SetItemData(iItem, 1); iItem = m_L_FPStatus.AddString(_T("未开票")); m_L_FPStatus.SetItemData(iItem, 2); iItem = m_L_FPStatus.AddString(_T("已开票")); m_L_FPStatus.SetItemData(iItem, 3); iItem = m_L_FPStatus.AddString(_T("已寄出")); m_L_FPStatus.SetItemData(iItem, 4); m_L_FPStatus.SetCurSel(1); //初始化代理商类型 m_L_AgentType.ResetContent(); //iItem = m_L_AgentType.AddString(_T("所有充值")); m_L_AgentType.SetItemData(iItem, 0); iItem = m_L_AgentType.AddString(_T("自有客户")); m_L_AgentType.SetItemData(iItem, 1); //iItem = m_L_AgentType.AddString(_T("代理商客户")); m_L_AgentType.SetItemData(iItem, 2); m_L_AgentType.SetCurSel(0); //充值方式 //m_strFPNum = _T(""); //查询企业ID //m_strID = _T(""); #else m_bPayTime = true; //默认按支付时间查询 m_tPayTimeBegin = GetDateTime(0, 0); //默认月初 m_tPayTimeEnd = GetDateTime(0, 2); //默认月末 m_bYSTime = false; //默认不按收款时间查 m_tYSTimeBegin = GetDateTime(0, 0); //默认月初 m_tYSTimeEnd = GetDateTime(0, 2); //默认月末 m_bFPTime = false; //默认不按发票时间查询 m_tFPTimeBegin = GetDateTime(0, 0); //默认月初 m_tFPTimeEnd = GetDateTime(0, 2); //默认月末 m_bVaild = false; //默认不去除无效收款 //初始化报表类型 long lReportType = m_L_ReportType.GetCurSel(); m_L_ReportType.ResetContent(); iItem = m_L_ReportType.AddString(_T("所有充值")); m_L_ReportType.SetItemData(iItem, 0); iItem = m_L_ReportType.AddString(_T("应收报表")); m_L_ReportType.SetItemData(iItem, 1); iItem = m_L_ReportType.AddString(_T("应收报表(本期)")); m_L_ReportType.SetItemData(iItem, 2); iItem = m_L_ReportType.AddString(_T("应收报表(住期)")); m_L_ReportType.SetItemData(iItem, 3); iItem = m_L_ReportType.AddString(_T("已收报表")); m_L_ReportType.SetItemData(iItem, 4); iItem = m_L_ReportType.AddString(_T("已收报表(本期)")); m_L_ReportType.SetItemData(iItem, 5); iItem = m_L_ReportType.AddString(_T("已收报表(住期)")); m_L_ReportType.SetItemData(iItem, 6); iItem = m_L_ReportType.AddString(_T("发票报表")); m_L_ReportType.SetItemData(iItem, 7); iItem = m_L_ReportType.AddString(_T("发票报表(本期)")); m_L_ReportType.SetItemData(iItem, 8); iItem = m_L_ReportType.AddString(_T("发票报表(住期)")); m_L_ReportType.SetItemData(iItem, 9); iItem = m_L_ReportType.AddString(_T("已到款未开票")); m_L_ReportType.SetItemData(iItem, 13); iItem = m_L_ReportType.AddString(_T("已到款未开票(本期)")); m_L_ReportType.SetItemData(iItem, 14); iItem = m_L_ReportType.AddString(_T("已到款未开票(住期)")); m_L_ReportType.SetItemData(iItem, 15); iItem = m_L_ReportType.AddString(_T("赠送礼品报表")); m_L_ReportType.SetItemData(iItem, 10); iItem = m_L_ReportType.AddString(_T("返量/赠送短信报表")); m_L_ReportType.SetItemData(iItem, 11); iItem = m_L_ReportType.AddString(_T("预开票报表")); m_L_ReportType.SetItemData(iItem, 12); if (lReportType>=0) m_L_ReportType.SetCurSel(lReportType); else m_L_ReportType.SetCurSel(0); //初始化测试类型 m_L_Test.ResetContent(); iItem = m_L_Test.AddString(_T("所有充值")); m_L_Test.SetItemData(iItem, 0); iItem = m_L_Test.AddString(_T("正常充值")); m_L_Test.SetItemData(iItem, 1); iItem = m_L_Test.AddString(_T("测试充值")); m_L_Test.SetItemData(iItem, 2); m_L_Test.SetCurSel(0); //初始化核销类型 m_L_YS.ResetContent(); iItem = m_L_YS.AddString(_T("所有充值")); m_L_YS.SetItemData(iItem, 0); iItem = m_L_YS.AddString(_T("已核(已收)")); m_L_YS.SetItemData(iItem, 1); iItem = m_L_YS.AddString(_T("未核(应收)")); m_L_YS.SetItemData(iItem, 2); m_L_YS.SetCurSel(0); //客户经理 //m_L_YWY.SetCurSel(0); //充值方式 m_strPayMode = _T(""); //发票类型 m_L_FPType.ResetContent(); iItem = m_L_FPType.AddString(_T("所有充值")); m_L_FPType.SetItemData(iItem, 0); iItem = m_L_FPType.AddString(_T("不开票")); m_L_FPType.SetItemData(iItem, 1); iItem = m_L_FPType.AddString(_T("地税票")); m_L_FPType.SetItemData(iItem, 2); iItem = m_L_FPType.AddString(_T("增值税普票")); m_L_FPType.SetItemData(iItem, 3); iItem = m_L_FPType.AddString(_T("移动票")); m_L_FPType.SetItemData(iItem, 4); iItem = m_L_FPType.AddString(_T("增值税专票")); m_L_FPType.SetItemData(iItem, 5); iItem = m_L_FPType.AddString(_T("无需发票已报税")); m_L_FPType.SetItemData(iItem, 6); iItem = m_L_FPType.AddString(_T("盈易付普票")); m_L_FPType.SetItemData(iItem, 7); iItem = m_L_FPType.AddString(_T("盈易付专票")); m_L_FPType.SetItemData(iItem, 8); m_L_FPType.SetCurSel(0); //发票状态 m_L_FPStatus.ResetContent(); iItem = m_L_FPStatus.AddString(_T("所有充值")); m_L_FPStatus.SetItemData(iItem, 0); iItem = m_L_FPStatus.AddString(_T("需开发票")); m_L_FPStatus.SetItemData(iItem, 1); iItem = m_L_FPStatus.AddString(_T("未开票")); m_L_FPStatus.SetItemData(iItem, 2); iItem = m_L_FPStatus.AddString(_T("已开票")); m_L_FPStatus.SetItemData(iItem, 3); iItem = m_L_FPStatus.AddString(_T("已寄出")); m_L_FPStatus.SetItemData(iItem, 4); m_L_FPStatus.SetCurSel(0); //初始化代理商类型 m_L_AgentType.ResetContent(); iItem = m_L_AgentType.AddString(_T("所有充值")); m_L_AgentType.SetItemData(iItem, 0); iItem = m_L_AgentType.AddString(_T("自有客户")); m_L_AgentType.SetItemData(iItem, 1); iItem = m_L_AgentType.AddString(_T("代理商客户")); m_L_AgentType.SetItemData(iItem, 2); m_L_AgentType.SetCurSel(1); //充值方式 //m_strFPNum = _T(""); //查询企业ID //m_strID = _T(""); #endif } CString CK_AllQuery_Report::GetPTName(int lPTNum, BOOL bAddLocal) { CString str = _T(""); switch (lPTNum) { case 1: str = _T("平台1"); #ifdef SMSCENTER_ONE if (bAddLocal) str.Append(_T("(本平台)")); #endif break; case 2: str = _T("平台2"); #ifdef SMSCENTER_TWO if (bAddLocal) str.Append(_T("(本平台)")); #endif break; case 3: str = _T("平台3"); #ifdef SMSCENTER_THREE if (bAddLocal) str.Append(_T("(本平台)")); #endif break; default: str = _T("未知平台"); break; } return str; } CString CK_AllQuery_Report::GetUserType(int lUserType) { CString str = _T(""); switch (lUserType) { case 0: str = _T("终端客户"); break; case 1: str = _T("代理商"); break; default: str = _T("未知客户类型"); break; } return str; } CString CK_AllQuery_Report::GetPayType(int lPayType) { CString str = _T(""); switch (lPayType) { case 1: str = _T("ADC充值"); break; case 5: str = _T("软件"); break; case 6: str = _T("月结"); break; case 8: str = _T("移动业务"); break; case 9: str = _T("彩信易"); break; case 20: str = _T("不开票奖励"); break; case 0: default: str = _T("短信易"); break; } return str; } CString CK_AllQuery_Report::GetYSType(int lYSType) { CString str = _T(""); switch (lYSType) { case 1: str = _T(" 是"); //预开票 break; case 2: str = _T("作废"); //已作废 break; } return str; } CString CK_AllQuery_Report::GetFPStatus(int lFPStatus) { CString str = _T(""); switch (lFPStatus) { case 0: str = _T("未开票"); break; case 1: str = _T("已开票"); break; case 2: str = _T("已寄出"); break; default: str = _T("未知状态"); break; } return str; } CString CK_AllQuery_Report::GetLPType(int lLPType) { CString str = _T(""); switch (lLPType) { case 1: str = _T("充值卡"); break; case 2: str = _T("现金"); break; case 3: str = _T("京东卡"); break; case 4: str = _T("转赠短信"); break; case 5: str = _T("其它赠品"); break; case 0: default: str = _T("无"); break; } return str; }