SmsManager/CK_AllQuery_Report.cpp

2290 lines
67 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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_PTR)-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_PTR)pos);
m_L_YWY.SetItemData(lItem, (DWORD_PTR)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_PTR)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_PTR)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_PTR)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_PTR)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_PTR)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_PTR)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_PTR)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_PTR)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_PTR)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_PTR)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_PTR)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_PTR)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_PTR)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_PTR)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_PTR)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_PTR)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_PTR)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_PTR)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_PTR)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 *>((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();
CDialogEx::OnClose();
}
void CK_AllQuery_Report::Close()
{
Close_YWY();
Close_ListData();
}
void CK_AllQuery_Report::OnDblclkAllqueryReportList(NMHDR* pNMHDR, LRESULT* pResult)
{
LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
*pResult = 0;
On_User_See();
}
void CK_AllQuery_Report::OnRdblclkAllqueryReportList(NMHDR* pNMHDR, LRESULT* pResult)
{
LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(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<LPNMITEMACTIVATE>(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;
}