SmsManager/CK_AllQuery_Report.cpp

2290 lines
67 KiB
C++
Raw Normal View History

2025-01-14 10:46:18 +08:00
// 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);
2025-01-14 10:46:18 +08:00
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);
2025-01-14 10:46:18 +08:00
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
2025-01-14 10:46:18 +08:00
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)
2025-01-14 10:46:18 +08:00
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)
2025-01-14 10:46:18 +08:00
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)
2025-01-14 10:46:18 +08:00
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)
2025-01-14 10:46:18 +08:00
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)
2025-01-14 10:46:18 +08:00
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)
2025-01-14 10:46:18 +08:00
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)
2025-01-14 10:46:18 +08:00
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)
2025-01-14 10:46:18 +08:00
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)
2025-01-14 10:46:18 +08:00
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)
2025-01-14 10:46:18 +08:00
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)
2025-01-14 10:46:18 +08:00
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)
2025-01-14 10:46:18 +08:00
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)
2025-01-14 10:46:18 +08:00
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)
2025-01-14 10:46:18 +08:00
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)
2025-01-14 10:46:18 +08:00
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)
2025-01-14 10:46:18 +08:00
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)
2025-01-14 10:46:18 +08:00
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)
2025-01-14 10:46:18 +08:00
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();
2025-01-14 10:46:18 +08:00
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;
}