2025-01-14 10:46:18 +08:00
|
|
|
|
// DLG_Pay_Detail.cpp: 实现文件
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
#include "stdafx.h"
|
|
|
|
|
#include "SmsManager.h"
|
|
|
|
|
#include "afxdialogex.h"
|
|
|
|
|
#include "DLG_Pay_Detail.h"
|
|
|
|
|
#include "MainFrm.h"
|
|
|
|
|
|
|
|
|
|
#include "CK_AllQuery_Report.h"
|
|
|
|
|
#include "DLG_Pay_Oper_Detail.h"
|
|
|
|
|
#include "DLG_Corp_FP.h";
|
|
|
|
|
|
|
|
|
|
// DLG_Pay_Detail 对话框
|
|
|
|
|
|
|
|
|
|
IMPLEMENT_DYNAMIC(DLG_Pay_Detail, CDialogEx)
|
|
|
|
|
|
|
|
|
|
DLG_Pay_Detail::DLG_Pay_Detail(CWnd* pParent /*=nullptr*/)
|
|
|
|
|
: CDialogEx(IDD_PAY_DETAIL, pParent)
|
|
|
|
|
, m_tFPTime(COleDateTime::GetCurrentTime())
|
|
|
|
|
, m_tPayTime(COleDateTime::GetCurrentTime())
|
|
|
|
|
, m_tYSTime(COleDateTime::GetCurrentTime())
|
|
|
|
|
, m_strAgentName(_T(""))
|
|
|
|
|
, m_strBankPayer(_T(""))
|
|
|
|
|
, m_strBankReference(_T(""))
|
|
|
|
|
, m_strBZ(_T(""))
|
|
|
|
|
, m_strCorpID(_T(""))
|
|
|
|
|
, m_strBalance(_T(""))
|
|
|
|
|
, m_strCorpName(_T(""))
|
|
|
|
|
, m_strFPDetail(_T(""))
|
|
|
|
|
, m_strFPNum(_T(""))
|
|
|
|
|
, m_strFPUser(_T(""))
|
|
|
|
|
, m_strLPPrice(_T(""))
|
|
|
|
|
, m_strOverTime(_T(""))
|
|
|
|
|
, m_strPayMan(_T(""))
|
|
|
|
|
, m_strPayMode(_T(""))
|
|
|
|
|
, m_strPayType(_T(""))
|
|
|
|
|
, m_strPresent(_T(""))
|
|
|
|
|
, m_strPrice(_T(""))
|
|
|
|
|
, m_strPriceOne(_T(""))
|
|
|
|
|
, m_strPT(_T(""))
|
|
|
|
|
, m_strSmsCount(_T(""))
|
|
|
|
|
, m_strUserType(_T(""))
|
|
|
|
|
, m_strVipInt(_T(""))
|
|
|
|
|
, m_strYSType(_T(""))
|
|
|
|
|
, m_strYWY(_T(""))
|
|
|
|
|
, m_strBZS(_T(""))
|
|
|
|
|
{
|
|
|
|
|
m_pMainFrame = NULL;
|
|
|
|
|
m_pGet = NULL;
|
|
|
|
|
m_pData = NULL;
|
|
|
|
|
m_pMemberData = NULL;
|
|
|
|
|
m_pOperData = NULL;
|
|
|
|
|
m_pFPData = NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
DLG_Pay_Detail::~DLG_Pay_Detail()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void DLG_Pay_Detail::DoDataExchange(CDataExchange* pDX)
|
|
|
|
|
{
|
|
|
|
|
CDialogEx::DoDataExchange(pDX);
|
|
|
|
|
DDX_DateTimeCtrl(pDX, IDC_PAY_DETAIL_FPTIME, m_tFPTime);
|
|
|
|
|
DDX_DateTimeCtrl(pDX, IDC_PAY_DETAIL_PAYTIME, m_tPayTime);
|
|
|
|
|
DDX_DateTimeCtrl(pDX, IDC_PAY_DETAIL_YSTIME, m_tYSTime);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_AGENTNAME, m_strAgentName);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_BANKPAYER, m_strBankPayer);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_BANKREFERENCE, m_strBankReference);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_BZ, m_strBZ);
|
|
|
|
|
DDV_MaxChars(pDX, m_strBZ, 60);
|
|
|
|
|
DDX_Control(pDX, IDC_PAY_DETAIL_CB, m_L_CB);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_CORPID, m_strCorpID);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_BALANCE, m_strBalance);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_CORPNAME, m_strCorpName);
|
|
|
|
|
DDX_Control(pDX, IDC_PAY_DETAIL_FPCONFIRM, m_B_FPConfirm);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_FPDETAIL, m_strFPDetail);
|
|
|
|
|
DDV_MaxChars(pDX, m_strFPDetail, 768);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_FPNUM, m_strFPNum);
|
|
|
|
|
DDV_MaxChars(pDX, m_strFPNum, 50);
|
|
|
|
|
DDX_Control(pDX, IDC_PAY_DETAIL_FPSELECT, m_B_FPSelect);
|
|
|
|
|
DDX_Control(pDX, IDC_PAY_DETAIL_FPSTATUS, m_L_FPStatus);
|
|
|
|
|
DDX_Control(pDX, IDC_PAY_DETAIL_FPTYPE, m_L_FPType);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_FPUSER, m_strFPUser);
|
|
|
|
|
DDX_Control(pDX, IDC_PAY_DETAIL_LIST, m_wndList);
|
|
|
|
|
DDX_CBString(pDX, IDC_PAY_DETAIL_LPPRICE, m_strLPPrice);
|
|
|
|
|
DDX_Control(pDX, IDC_PAY_DETAIL_LPTYPE, m_L_LPType);
|
|
|
|
|
DDX_Control(pDX, IDC_PAY_DETAIL_LXRID, m_L_LXRID);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_OVERTIME, m_strOverTime);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_PAYMAN, m_strPayMan);
|
|
|
|
|
DDX_CBString(pDX, IDC_PAY_DETAIL_PAYMODE, m_strPayMode);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_PAYTYPE, m_strPayType);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_PRESENT, m_strPresent);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_PRICE, m_strPrice);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_PRICEONE, m_strPriceOne);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_PT, m_strPT);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_SMSCOUNT, m_strSmsCount);
|
|
|
|
|
DDX_Control(pDX, IDC_PAY_DETAIL_TEST, m_L_Test);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_USERTYPE, m_strUserType);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_VIPINT, m_strVipInt);
|
|
|
|
|
DDX_Control(pDX, IDC_PAY_DETAIL_YS, m_B_YS);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_YSTYPE, m_strYSType);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_YWY, m_strYWY);
|
|
|
|
|
DDX_Text(pDX, IDC_PAY_DETAIL_BZS, m_strBZS);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(DLG_Pay_Detail, CDialogEx)
|
|
|
|
|
ON_BN_CLICKED(IDOK, &DLG_Pay_Detail::OnBnClickedOk)
|
|
|
|
|
ON_BN_CLICKED(IDCANCEL, &DLG_Pay_Detail::OnBnClickedCancel)
|
|
|
|
|
ON_NOTIFY(NM_DBLCLK, IDC_PAY_DETAIL_LIST, &DLG_Pay_Detail::OnDblclkPayDetailList)
|
|
|
|
|
ON_BN_CLICKED(IDC_PAY_DETAIL_FPSELECT, &DLG_Pay_Detail::OnBnClickedPayDetailFpselect)
|
|
|
|
|
ON_COMMAND_RANGE(MENU_PAY_DETAIL_FPSELECT_BEGIN, MENU_PAY_DETAIL_FPSELECT_END, &DLG_Pay_Detail::OnFPSelect)
|
|
|
|
|
|
|
|
|
|
ON_CBN_SELCHANGE(IDC_PAY_DETAIL_LPTYPE, &DLG_Pay_Detail::OnSelchangePayDetailLptype)
|
|
|
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// DLG_Pay_Detail 消息处理程序
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void DLG_Pay_Detail::OnBnClickedOk()
|
|
|
|
|
{
|
|
|
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
|
|
|
|
|
|
|
|
if (m_pGet->req.lOperType > 0) //为添加操作
|
|
|
|
|
{
|
|
|
|
|
if (!UpdateData(true))
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
REQ_Pay_Oper_Add* pAdd = new REQ_Pay_Oper_Add;
|
|
|
|
|
memset((BYTE*)pAdd, 0, sizeof(REQ_Pay_Oper_Add));
|
|
|
|
|
|
|
|
|
|
pAdd->data.lPTNum = m_pGet->req.lPTNum;
|
|
|
|
|
pAdd->data.lUserType = m_pGet->req.lUserType;
|
|
|
|
|
pAdd->data.lPayType = m_pGet->req.lPayType;
|
|
|
|
|
pAdd->data.lDBType = m_pGet->req.lDBType;
|
|
|
|
|
pAdd->data.lCorpID = m_pGet->req.lCorpID;
|
|
|
|
|
pAdd->data.lPayID = m_pGet->req.lPayID;
|
|
|
|
|
pAdd->lItem = m_pGet->req.lItem;
|
|
|
|
|
pAdd->data.lOperType = m_pGet->req.lOperType;
|
|
|
|
|
|
|
|
|
|
_tcscpy(pAdd->data.szBZ, m_strBZ); //备注
|
|
|
|
|
|
|
|
|
|
BOOL bContinue=true;
|
|
|
|
|
long lTemp = 0;
|
|
|
|
|
switch (m_pGet->req.lOperType)
|
|
|
|
|
{
|
|
|
|
|
case 1: //修改测试充值
|
|
|
|
|
lTemp = m_L_Test.GetCurSel();
|
|
|
|
|
if (lTemp == m_pData->lTest)
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("看起来什么值也没改变,请检查【测试充值】"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_TEST)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
pAdd->lTest = lTemp;
|
|
|
|
|
_stprintf(pAdd->data.szOperMsg,_T("测试充值:%d->%d"), m_pData->lTest, lTemp);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 2: //修改成本充值
|
|
|
|
|
lTemp = m_L_CB.GetCurSel();
|
|
|
|
|
if (lTemp == m_pData->lCB)
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("看起来什么值也没改变,请检查【成本充值】"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_CB)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
pAdd->lCB = lTemp;
|
|
|
|
|
_stprintf(pAdd->data.szOperMsg, _T("成本充值:%d->%d"), m_pData->lCB, lTemp);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 3: //修改开票信息
|
|
|
|
|
lTemp = m_L_FPType.GetCurSel();
|
|
|
|
|
if (lTemp != 0 && m_strFPDetail.GetLength() <= 0)
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("你选择了需要开发票,必须录入开票内容 ,请修正!"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_FPDETAIL)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (lTemp == m_pData->lFP && m_strFPDetail == CString(m_pData->szFPDetail) )
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("看起来什么值也没改变,请检查【发票状态】与【发票内容】"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_FPTYPE)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
pAdd->lFPType = lTemp;
|
|
|
|
|
_tcscpy(pAdd->szFPDetail, m_strFPDetail);
|
|
|
|
|
_stprintf(pAdd->data.szOperMsg, _T("发票信息:%d->%d \r\n %s"), m_pData->lFP, lTemp, m_strFPDetail);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 4: //开具发票
|
|
|
|
|
lTemp = m_L_FPType.GetCurSel();
|
|
|
|
|
if (lTemp == 0) //开具发票下,发票类型不能为"不开票"
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("开票后,发票类型不能为 不开票 ,请修正!"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_FPTYPE)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
if (bContinue)
|
|
|
|
|
{
|
|
|
|
|
lTemp = m_L_FPStatus.GetCurSel();
|
|
|
|
|
if (lTemp == 0) //开具发票下,发票状态不能为"未开票"
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("开票后,发票状态不能为 未开票 ,请修正!"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_FPSTATUS)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (bContinue)
|
|
|
|
|
{
|
|
|
|
|
if (m_strFPNum.GetLength() <= 5) //开具发票下,必须有发票号码
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("开票后,必须录入发票号码 ,请修正!"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_FPNUM)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (bContinue)
|
|
|
|
|
{
|
|
|
|
|
if (m_tFPTime.GetStatus() == COleDateTime::invalid ||
|
|
|
|
|
m_tFPTime.GetStatus() == COleDateTime::null) //开具发票下,必须有开票时间
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("开票后,必须录入开票时间 ,请修正!"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_FPTIME)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (bContinue)
|
|
|
|
|
{
|
|
|
|
|
if (m_tFPTime.GetStatus() == COleDateTime::valid)
|
|
|
|
|
{
|
|
|
|
|
COleDateTimeSpan tDiff = COleDateTime::GetCurrentTime() - COleDateTime(m_tFPTime);
|
|
|
|
|
if (tDiff.GetDays() > 90 || tDiff.GetDays() < -30) //2个月前与1个月后
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("修改的开票时间超过许可范围 ,请修正!"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_FPTIME)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (bContinue)
|
|
|
|
|
{
|
|
|
|
|
if (m_strFPDetail.GetLength() <= 5) //开具发票下,必须有发票号码
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("开票后,必须录入发票内容 ,请修正!"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_FPDETAIL)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (bContinue)
|
|
|
|
|
{
|
|
|
|
|
if (m_pData->lFP == m_L_FPType.GetCurSel() &&
|
|
|
|
|
m_pData->lFPStatus == m_L_FPStatus.GetCurSel() &&
|
|
|
|
|
m_strFPNum == CString(m_pData->szFPNum) &&
|
|
|
|
|
m_strFPDetail == CString(m_pData->szFPDetail) &&
|
|
|
|
|
m_tFPTime == COleDateTime(m_pData->tFPTime) )
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
MessageBox(_T("看起来什么值也没改变,请检查【发票类型】【发票状态】【开票时间】【发票号码】与【发票内容】"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_FPTYPE)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
pAdd->lFPType = m_L_FPType.GetCurSel();
|
|
|
|
|
pAdd->lFPStatus = m_L_FPStatus.GetCurSel();
|
|
|
|
|
_tcscpy(pAdd->szFPNum, m_strFPNum);
|
|
|
|
|
_tcscpy(pAdd->szFPDetail, m_strFPDetail);
|
|
|
|
|
m_tFPTime.GetAsSystemTime(pAdd->tFPTime);
|
|
|
|
|
_stprintf(pAdd->data.szOperMsg, _T("开具发票:%d->%d \r\n%d->%d \r\n%04d.%02d.%02d %02d:%02d -> %04d.%02d.%02d %02d:%02d\r\n %s -> %s \r\n%s \r\n------>\r\n %s"), m_pData->lFP, pAdd->lFPType, m_pData->lFPStatus, pAdd->lFPStatus, m_pData->tFPTime.wYear, m_pData->tFPTime.wMonth, m_pData->tFPTime.wDay, m_pData->tFPTime.wHour, m_pData->tFPTime.wMinute, pAdd->tFPTime.wYear, pAdd->tFPTime.wMonth, pAdd->tFPTime.wDay, pAdd->tFPTime.wHour, pAdd->tFPTime.wMinute, m_pData->szFPNum, pAdd->szFPNum,m_pData->szFPDetail, m_strFPDetail);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 5: //发票已寄出
|
|
|
|
|
lTemp = m_L_FPStatus.GetCurSel();
|
|
|
|
|
if (lTemp == m_pData->lFPStatus)
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("看起来什么值也没改变,请检查【发票状态】"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_FPSTATUS)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
pAdd->lFPStatus = lTemp;
|
|
|
|
|
_stprintf(pAdd->data.szOperMsg, _T("发票已寄出:%d->%d"), m_pData->lFPStatus, pAdd->lFPStatus);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 6: //删除开票信息
|
|
|
|
|
if (m_strBZ.GetLength() < 4)
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("【删除开票信息】,必须输入原因,请录入!"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_BZ)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
pAdd->lFPStatus = m_L_FPStatus.GetCurSel();
|
|
|
|
|
_tcscpy(pAdd->szFPNum, m_strFPNum);
|
|
|
|
|
_tcscpy(pAdd->szFPUser, _T(""));
|
|
|
|
|
_tcscpy(pAdd->szFPActualType, _T(""));
|
|
|
|
|
memset(&pAdd->tFPTime, 0, sizeof(pAdd->tFPTime));
|
|
|
|
|
_tcscpy(pAdd->data.szBZ, m_strBZ);
|
|
|
|
|
|
|
|
|
|
_stprintf(pAdd->data.szOperMsg, _T("删除开票信息:%d->%d %s -> %s %04d.%02d.%02d %02d:%02d -> %04d.%02d.%02d %02d:%02d"), m_pData->lFPStatus, pAdd->lFPStatus,m_pData->szFPNum, pAdd->szFPNum, m_pData->tFPTime.wYear, m_pData->tFPTime.wMonth, m_pData->tFPTime.wDay, m_pData->tFPTime.wHour, m_pData->tFPTime.wMinute, pAdd->tFPTime.wYear, pAdd->tFPTime.wMonth, pAdd->tFPTime.wDay, pAdd->tFPTime.wHour, pAdd->tFPTime.wMinute);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 7: //修改核销收款
|
|
|
|
|
lTemp = !m_B_YS.GetCheck();
|
|
|
|
|
if (lTemp == m_pData->lYS &&
|
|
|
|
|
m_strPayMode == CString(m_pData->szPayMode) &&
|
|
|
|
|
m_tYSTime == COleDateTime(m_pData->tYSTime) &&
|
|
|
|
|
m_strBankPayer == CString(m_pData->szBankPayer) &&
|
|
|
|
|
m_strBankReference == CString(m_pData->szBankReferenceNum))
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("看起来什么值也没改变,请检查【此款项已核销(已确认业绩)】【充值方式】【到款时间】【付款人】【流水码】"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_YS)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
/*
|
|
|
|
|
if (bContinue)
|
|
|
|
|
{
|
|
|
|
|
if (m_tYSTime.GetStatus() == COleDateTime::valid && m_strBankReference.GetLength() <= 5)
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("确认到款后,必须录入银行流水号 ,请修正!"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_BANKREFERENCE)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
if (bContinue)
|
|
|
|
|
{
|
|
|
|
|
if (lTemp == 0 && (m_tYSTime.GetStatus() == COleDateTime::invalid || m_tYSTime.GetStatus() == COleDateTime::null))
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("必须有收款时间能将此款项核销(确认业绩) ,请修正!"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_YS)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (bContinue)
|
|
|
|
|
{
|
|
|
|
|
if (m_tYSTime.GetStatus() == COleDateTime::valid)
|
|
|
|
|
{
|
|
|
|
|
COleDateTimeSpan tDiff = COleDateTime::GetCurrentTime() - COleDateTime(m_tYSTime);
|
|
|
|
|
if (tDiff.GetDays() > 90 || tDiff.GetDays() < -30) //2个月前与1个月后
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("修改的收款时间超过许可范围 ,请修正!"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_YSTIME)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (bContinue)
|
|
|
|
|
{
|
|
|
|
|
pAdd->lYS = lTemp;
|
|
|
|
|
_tcscpy(pAdd->szPayMode, m_strPayMode);
|
|
|
|
|
_tcscpy(pAdd->szBankPayer, m_strBankPayer);
|
|
|
|
|
_tcscpy(pAdd->szBankReferenceNum, m_strBankReference);
|
|
|
|
|
m_tYSTime.GetAsSystemTime(pAdd->tYSTime);
|
|
|
|
|
_stprintf(pAdd->data.szOperMsg, _T("收款核销:%d->%d"), m_pData->lCB, lTemp);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 8: //修改充值信息
|
|
|
|
|
if (m_strPayMode == CString(m_pData->szPayMode) &&
|
|
|
|
|
m_tYSTime == COleDateTime(m_pData->tYSTime) &&
|
|
|
|
|
m_strBankPayer == CString(m_pData->szBankPayer) &&
|
|
|
|
|
m_strBankReference == CString(m_pData->szBankReferenceNum) )
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("看起来什么值也没改变,请检查【充值方式】【到款时间】【付款人】【流水码】"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_BANKREFERENCE)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
/*
|
|
|
|
|
if (bContinue)
|
|
|
|
|
{
|
|
|
|
|
if ( m_tYSTime.GetStatus()==COleDateTime::valid && m_strBankReference.GetLength() <= 5)
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("确认到款后,必须录入银行流水号 ,请修正!"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_BANKREFERENCE)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
if (bContinue)
|
|
|
|
|
{
|
|
|
|
|
if (m_tYSTime.GetStatus() == COleDateTime::valid)
|
|
|
|
|
{
|
|
|
|
|
COleDateTimeSpan tDiff = COleDateTime::GetCurrentTime() - COleDateTime(m_tYSTime);
|
|
|
|
|
if (tDiff.GetDays() > 90 || tDiff.GetDays() < -30) //2个月前与1个月后
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("修改的收款时间超过许可范围 ,请修正!"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_YSTIME)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (bContinue)
|
|
|
|
|
{
|
|
|
|
|
_tcscpy(pAdd->szPayMode, m_strPayMode);
|
|
|
|
|
_tcscpy(pAdd->szBankPayer, m_strBankPayer);
|
|
|
|
|
_tcscpy(pAdd->szBankReferenceNum, m_strBankReference);
|
|
|
|
|
m_tYSTime.GetAsSystemTime(pAdd->tYSTime);
|
|
|
|
|
|
|
|
|
|
_stprintf(pAdd->data.szOperMsg, _T("收款信息:%s -> %s %s -> %s %04d.%02d.%02d %02d:%02d -> %04d.%02d.%02d %02d:%02d"),m_pData->szPayMode, pAdd->szPayMode,m_pData->szBankPayer, pAdd->szBankPayer,m_pData->szBankReferenceNum,pAdd->szBankReferenceNum, m_pData->tYSTime.wYear, m_pData->tYSTime.wMonth, m_pData->tYSTime.wDay, m_pData->tYSTime.wHour, m_pData->tYSTime.wMinute, pAdd->tYSTime.wYear, pAdd->tYSTime.wMonth, pAdd->tYSTime.wDay, pAdd->tYSTime.wHour, pAdd->tYSTime.wMinute);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 9: //修改赠送信息
|
|
|
|
|
{
|
|
|
|
|
int iLXRItem = m_L_LXRID.GetCurSel();
|
|
|
|
|
int iLXRID = 0;
|
|
|
|
|
CString strLXRName;
|
|
|
|
|
if (iLXRItem >= 0)
|
|
|
|
|
{
|
|
|
|
|
ANS_Corp_MemberData* pMember = (ANS_Corp_MemberData * )m_L_LXRID.GetItemData(iLXRItem);
|
|
|
|
|
if (pMember && pMember->lLXRID>0)
|
|
|
|
|
{
|
|
|
|
|
iLXRID = pMember->lLXRID;
|
|
|
|
|
strLXRName = pMember->szName;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (iLXRID == m_pData->lLXRID &&
|
|
|
|
|
_ttof(m_strLPPrice) == m_pData->fLPPrice &&
|
|
|
|
|
m_L_LPType.GetCurSel() == m_pData->lLPType)
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("看起来什么值也没改变,请检查【礼品类型】【礼品价值】【接受会员】"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_LPTYPE)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (bContinue)
|
|
|
|
|
{
|
|
|
|
|
if (m_L_LPType.GetCurSel() > 0) //有赠送礼品
|
|
|
|
|
{
|
|
|
|
|
if (_ttof(m_strLPPrice) <= 0.0f)
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("有赠送礼品,必须要录入礼品价值 ,请修正!"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_LPPRICE)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (bContinue && iLXRID <= 0)
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("有赠送礼品,必须要有赠送会员 ,请修正!"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_LXRID)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (bContinue)
|
|
|
|
|
{
|
|
|
|
|
pAdd->lLPType = m_L_LPType.GetCurSel();
|
|
|
|
|
if (pAdd->lLPType == 0) //无赠送礼品
|
|
|
|
|
{
|
|
|
|
|
pAdd->fLPPrice = 0.0f;
|
|
|
|
|
pAdd->lLXRID = 0;
|
|
|
|
|
_tcscpy(pAdd->szLXRName, _T(""));
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
pAdd->fLPPrice = _ttol(m_strLPPrice);
|
|
|
|
|
pAdd->lLXRID = iLXRID;
|
|
|
|
|
_tcscpy(pAdd->szLXRName, strLXRName);
|
|
|
|
|
}
|
|
|
|
|
_stprintf(pAdd->data.szOperMsg, _T("赠送信息:%d -> %d %.2f -> %.2f %s -> %s"), m_pData->lLPType, pAdd->lLPType, m_pData->fLPPrice, pAdd->fLPPrice, m_pData->szLXRName, strLXRName);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case 10: //修改充值时间
|
|
|
|
|
{
|
|
|
|
|
if (m_tPayTime == COleDateTime(m_pData->tPayTime))
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("看起来什么值也没改变,请检查【充值时间】"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_PAYTIME)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
if (m_tPayTime.GetStatus() == COleDateTime::invalid ||
|
|
|
|
|
m_tPayTime.GetStatus() == COleDateTime::null)
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("修改的充值时间有误 ,请修正!"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_PAYTIME)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
if (bContinue)
|
|
|
|
|
{
|
|
|
|
|
if (m_tPayTime.GetStatus() == COleDateTime::valid)
|
|
|
|
|
{
|
|
|
|
|
COleDateTimeSpan tDiff = COleDateTime::GetCurrentTime() - COleDateTime(m_tPayTime);
|
|
|
|
|
if (tDiff.GetDays() > 60 || tDiff.GetDays() < -30) //2个月前与1个月后
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("修改的充值时间超过许可范围 ,请修正!"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_PAYTIME)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (bContinue)
|
|
|
|
|
{
|
|
|
|
|
m_tPayTime.GetAsSystemTime(pAdd->tPayTime);
|
|
|
|
|
_stprintf(pAdd->data.szOperMsg, _T("充值时间:%04d.%02d.%02d %02d:%02d -> %04d.%02d.%02d %02d:%02d"), m_pData->tPayTime.wYear, m_pData->tPayTime.wMonth, m_pData->tPayTime.wDay, m_pData->tPayTime.wHour, m_pData->tPayTime.wMinute, pAdd->tPayTime.wYear, pAdd->tPayTime.wMonth, pAdd->tPayTime.wDay, pAdd->tPayTime.wHour, pAdd->tPayTime.wMinute);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case 11: //作废预开票
|
|
|
|
|
if (m_strBZ.GetLength() < 4)
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("【作废预开票】,必须输入原因,请录入!"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_BZ)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (m_pData->lYSType != 1)
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("预开票类型有误,不能作废开票,请退出刷新后再试!"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_YSTYPE)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
pAdd->lYSType = 2; //作废预开票
|
|
|
|
|
_tcscpy(pAdd->szPayMode, _T("预开票作废"));
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 12: //确认预开票
|
|
|
|
|
if (m_pData->lYSType != 1)
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("预开票类型有误,不能确认充值 ,请退出刷新后再试!"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_YSTYPE)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
pAdd->lYSType = 0; //确认预充值
|
|
|
|
|
_tcscpy(pAdd->szPayMode, _T("应收"));
|
|
|
|
|
break;
|
|
|
|
|
case 13: //撤销本笔充值
|
|
|
|
|
if (m_strBZ.GetLength() < 4)
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("【撤消本笔充值】,必须输入原因,请录入!"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_BZ)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (m_pData->lYSType != 0)
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_T("非应收充值,不能撤消充值 ,请退出刷新后再试!"), _T("提示"), MB_ICONINFORMATION);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_YSTYPE)->SetFocus();
|
|
|
|
|
bContinue = false;
|
|
|
|
|
}
|
|
|
|
|
pAdd->lYSType = 2; //作废预开票
|
|
|
|
|
_tcscpy(pAdd->szPayMode, _T("撤消本笔充值"));
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
if (!bContinue)
|
|
|
|
|
{
|
|
|
|
|
delete pAdd;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
m_pMainFrame->SendFrame(SMSFUNC_PAY_OPER_ADD, (BYTE*)pAdd, sizeof(REQ_Pay_Oper_Add));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
CDialogEx::OnOK();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void DLG_Pay_Detail::OnBnClickedCancel()
|
|
|
|
|
{
|
|
|
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
|
|
|
CDialogEx::OnCancel();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void DLG_Pay_Detail::SetParam(CMainFrame* pFrame, ANS_AllQuery_Report_Get* pGet, ANS_AllQuery_Report_Data* pData, ANS_Corp_MemberData* pMemberData, ANS_Pay_Oper_Data* pOperData, ANS_Corp_FPData* pFPData)
|
|
|
|
|
{
|
|
|
|
|
m_pMainFrame = pFrame;
|
|
|
|
|
m_pGet = pGet;
|
|
|
|
|
m_pData = pData;
|
|
|
|
|
m_pMemberData = pMemberData;
|
|
|
|
|
m_pOperData = pOperData;
|
|
|
|
|
m_pFPData = pFPData;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
BOOL DLG_Pay_Detail::OnInitDialog()
|
|
|
|
|
{
|
|
|
|
|
CDialogEx::OnInitDialog();
|
|
|
|
|
|
|
|
|
|
CString str;
|
|
|
|
|
|
|
|
|
|
//基础信息
|
|
|
|
|
m_strPT = CK_AllQuery_Report::GetPTName(m_pData->lPTNum, true);
|
|
|
|
|
m_strAgentName = m_pData->szAgentName;
|
|
|
|
|
m_strUserType = CK_AllQuery_Report::GetUserType(m_pData->lUserType);
|
|
|
|
|
m_strPayType = CK_AllQuery_Report::GetPayType(m_pData->lPayType);
|
|
|
|
|
m_strCorpID.Format(_T("%d"), m_pData->lCorpID);
|
|
|
|
|
m_strYWY = m_pData->szYWYName;
|
|
|
|
|
m_strCorpName = m_pData->szCorpName;
|
|
|
|
|
|
|
|
|
|
//支付信息
|
|
|
|
|
m_strPayMan = m_pData->szCreateUser;
|
|
|
|
|
m_strYSType = CK_AllQuery_Report::GetYSType(m_pData->lYSType);
|
|
|
|
|
m_L_Test.SetCurSel(m_pData->lTest);
|
|
|
|
|
m_L_CB.SetCurSel(m_pData->lCB);
|
|
|
|
|
|
|
|
|
|
if (COleDateTime(m_pData->tPayTime).GetStatus() == COleDateTime::valid)
|
|
|
|
|
{
|
|
|
|
|
m_tPayTime = m_pData->tPayTime;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
//m_tPayTime.SetStatus(COleDateTime::null);
|
|
|
|
|
m_tPayTime.SetDateTime(2000, 1, 1, 0, 0, 0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
m_strOverTime.Format(_T("%04d.%02d.%02d"), m_pData->tOvrTime.wYear, m_pData->tOvrTime.wMonth, m_pData->tOvrTime.wDay);
|
|
|
|
|
m_strPrice.Format(_T("%.2f"), m_pData->fPrice);
|
|
|
|
|
m_strPriceOne.Format(_T("%.4f"), m_pData->fPriceOne);
|
|
|
|
|
m_strPresent.Format(_T("%d"), m_pData->lPresent);
|
|
|
|
|
m_strSmsCount.Format(_T("%d"), m_pData->lSMSCount);
|
|
|
|
|
if ((m_pData->fPrice - m_pData->fLPPrice) != 0 && m_pData->lSMSCount != 0 )
|
|
|
|
|
m_strVipInt.Format(_T("%.4f"), (float)((m_pData->fPrice- m_pData->fLPPrice)/(float)m_pData->lSMSCount)); //暂时用推荐积分换成平均单价
|
|
|
|
|
m_strBalance.Format(_T("%d"), m_pData->lBalance);
|
|
|
|
|
//赠送信息
|
|
|
|
|
m_L_LPType.SetCurSel(m_pData->lLPType);
|
|
|
|
|
m_strLPPrice.Format(_T("%.2f"), m_pData->fLPPrice);
|
|
|
|
|
//添加会员名单
|
|
|
|
|
int iSel = -1;
|
|
|
|
|
for (int i = 0; i < m_pGet->lLXRCount; i++)
|
|
|
|
|
{
|
|
|
|
|
int iItem = m_L_LXRID.AddString(m_pMemberData[i].szName);
|
2025-04-11 17:21:56 +08:00
|
|
|
|
m_L_LXRID.SetItemData(iItem, (DWORD_PTR)(LPVOID *) & m_pMemberData[i]);
|
2025-01-14 10:46:18 +08:00
|
|
|
|
if (m_pData->lLXRID == m_pMemberData[i].lLXRID)
|
|
|
|
|
iSel = i;
|
|
|
|
|
}
|
|
|
|
|
if (iSel >= 0)
|
|
|
|
|
m_L_LXRID.SetCurSel(iSel);
|
|
|
|
|
|
|
|
|
|
//付款信息
|
|
|
|
|
m_strPayMode = m_pData->szPayMode;
|
|
|
|
|
if (COleDateTime(m_pData->tYSTime).GetStatus() == COleDateTime::valid)
|
|
|
|
|
{
|
|
|
|
|
m_tYSTime = m_pData->tYSTime;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
m_tYSTime.SetStatus(COleDateTime::null);
|
|
|
|
|
}
|
|
|
|
|
m_strBankPayer = m_pData->szBankPayer;
|
|
|
|
|
m_strBankReference = m_pData->szBankReferenceNum;
|
|
|
|
|
m_B_YS.SetCheck(m_pData->lYS>0?false:true);
|
|
|
|
|
//m_B_YS.SetCheck(m_pData->lYS);
|
|
|
|
|
|
|
|
|
|
//发票信息
|
|
|
|
|
m_L_FPType.SetCurSel(m_pData->lFP);
|
|
|
|
|
m_L_FPStatus.SetCurSel(m_pData->lFPStatus);
|
|
|
|
|
|
|
|
|
|
if (COleDateTime(m_pData->tFPTime).GetStatus() == COleDateTime::valid)
|
|
|
|
|
{
|
|
|
|
|
m_tFPTime = m_pData->tFPTime;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
m_tFPTime.SetStatus(COleDateTime::null);
|
|
|
|
|
}
|
|
|
|
|
m_strFPUser = m_pData->szFPUser;
|
|
|
|
|
m_strFPNum = m_pData->szFPNum;
|
|
|
|
|
m_strFPDetail = m_pData->szFPDetail;
|
|
|
|
|
m_strBZS = m_pData->szBZ;
|
|
|
|
|
|
|
|
|
|
if (m_pData->lUserType == 1) //代理商
|
|
|
|
|
{
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_CORPID_S)->SetWindowText(_T("代理商ID"));
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_CORPNAME_S)->SetWindowText(_T("代理名称"));
|
|
|
|
|
}
|
|
|
|
|
if (m_pData->lPayType == 9) //彩信
|
|
|
|
|
{
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_PRICEONE_S)->SetWindowText(_T("彩信单价"));
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_PRESENT_S)->SetWindowText(_T("彩信赠送"));
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_SMSCOUNT_S)->SetWindowText(_T("彩信总量"));
|
|
|
|
|
}
|
|
|
|
|
if (m_pGet->req.lOperType > 0) //为添加操作
|
|
|
|
|
{
|
|
|
|
|
((CEdit*)GetDlgItem(IDC_PAY_DETAIL_BZ))->SetReadOnly(false);
|
|
|
|
|
|
|
|
|
|
switch (m_pGet->req.lOperType)
|
|
|
|
|
{
|
|
|
|
|
case 1: //修改测试充值
|
|
|
|
|
m_L_Test.EnableWindow(true);
|
|
|
|
|
m_L_Test.SetCurSel(m_pGet->req.lOperNewValue);
|
|
|
|
|
break;
|
|
|
|
|
case 2: //修改成本充值
|
|
|
|
|
m_L_CB.EnableWindow(true);
|
|
|
|
|
m_L_CB.SetCurSel(m_pGet->req.lOperNewValue);
|
|
|
|
|
break;
|
|
|
|
|
case 3: //修改开票信息
|
|
|
|
|
m_L_FPType.EnableWindow(true);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_FPSELECT)->EnableWindow(true);
|
|
|
|
|
((CEdit*)GetDlgItem(IDC_PAY_DETAIL_FPDETAIL))->SetReadOnly(false);
|
|
|
|
|
break;
|
|
|
|
|
case 4: //开具发票
|
|
|
|
|
m_L_FPType.EnableWindow(true);
|
|
|
|
|
if ( m_pData->lFPStatus==0) //如果是未开票的,变为已开票
|
|
|
|
|
m_L_FPStatus.SetCurSel(1);
|
|
|
|
|
if ( m_tFPTime.GetStatus()== COleDateTime::invalid ||
|
|
|
|
|
m_tFPTime.GetStatus() == COleDateTime::null)
|
|
|
|
|
m_tFPTime = COleDateTime::GetCurrentTime();
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_FPSELECT)->EnableWindow(true);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_FPTIME)->EnableWindow(true);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_FPCONFIRM)->EnableWindow(true);
|
|
|
|
|
((CEdit*)GetDlgItem(IDC_PAY_DETAIL_FPDETAIL))->SetReadOnly(false);
|
|
|
|
|
((CEdit*)GetDlgItem(IDC_PAY_DETAIL_FPNUM))->SetReadOnly(false);
|
|
|
|
|
break;
|
|
|
|
|
case 5: //发票已寄出
|
|
|
|
|
m_L_FPStatus.EnableWindow(true);
|
|
|
|
|
m_L_FPStatus.SetCurSel(m_pGet->req.lOperNewValue);
|
|
|
|
|
break;
|
|
|
|
|
case 6: //删除开票信息
|
|
|
|
|
m_L_FPStatus.SetCurSel(0); //变为未开票
|
|
|
|
|
m_tFPTime.SetStatus(COleDateTime::null);
|
|
|
|
|
m_strFPNum = _T("");
|
|
|
|
|
break;
|
|
|
|
|
case 7: //修改收款核销
|
|
|
|
|
m_B_YS.EnableWindow(true);
|
|
|
|
|
m_B_YS.SetCheck(m_pGet->req.lOperNewValue > 0 ? false : true);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_PAYMODE)->EnableWindow(true);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_YSTIME)->EnableWindow(true);
|
|
|
|
|
((CEdit*)GetDlgItem(IDC_PAY_DETAIL_BANKPAYER))->SetReadOnly(false);
|
|
|
|
|
((CEdit*)GetDlgItem(IDC_PAY_DETAIL_BANKREFERENCE))->SetReadOnly(false);
|
|
|
|
|
if (m_tYSTime.GetStatus() == COleDateTime::invalid ||
|
|
|
|
|
m_tYSTime.GetStatus() == COleDateTime::null)
|
|
|
|
|
m_tYSTime = COleDateTime::GetCurrentTime();
|
|
|
|
|
break;
|
|
|
|
|
case 8: //修改收款信息
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_PAYMODE)->EnableWindow(true);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_YSTIME)->EnableWindow(true);
|
|
|
|
|
((CEdit*)GetDlgItem(IDC_PAY_DETAIL_BANKPAYER))->SetReadOnly(false);
|
|
|
|
|
((CEdit*)GetDlgItem(IDC_PAY_DETAIL_BANKREFERENCE))->SetReadOnly(false);
|
|
|
|
|
if (m_tYSTime.GetStatus() == COleDateTime::invalid ||
|
|
|
|
|
m_tYSTime.GetStatus() == COleDateTime::null)
|
|
|
|
|
m_tYSTime = COleDateTime::GetCurrentTime();
|
|
|
|
|
break;
|
|
|
|
|
case 9: //修改赠送信息
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_LPTYPE)->EnableWindow(true);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_LPPRICE)->EnableWindow(true);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_LXRID)->EnableWindow(true);
|
|
|
|
|
break;
|
|
|
|
|
case 10: //修改充值时间
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_PAYTIME)->EnableWindow(true);
|
|
|
|
|
break;
|
|
|
|
|
case 11: //作废预开票
|
|
|
|
|
m_strYSType = _T("作废预开票");
|
|
|
|
|
break;
|
|
|
|
|
case 12: //确认预开票
|
|
|
|
|
m_strYSType = _T("确认预开票");
|
|
|
|
|
break;
|
|
|
|
|
case 13: //撤销本笔充值
|
|
|
|
|
m_strYSType = _T("撤消本笔充值");
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
CString strTitle;
|
|
|
|
|
strTitle.Format(_T("请输入【%s】操作的原因"), GetPayOperType(m_pGet->req.lOperType));
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_BZ_S)->SetWindowText(strTitle);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_BZ_S)->GetFocus();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//显示操作记录
|
|
|
|
|
|
|
|
|
|
//初始化List
|
|
|
|
|
m_Image.Create(16, 16, ILC_COLOR16 | ILC_MASK, 5, 5);
|
|
|
|
|
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_LIST));
|
|
|
|
|
m_wndList.SubClassWindow2();
|
|
|
|
|
m_wndList.SetHeadings(_T("序号,60; 操作类型,150;操作帐号,100; 操作时间,160; 操作内容,300; 备注,300;"));
|
|
|
|
|
m_wndList.SetGridLines(true);
|
|
|
|
|
|
|
|
|
|
int iRow = 0;
|
|
|
|
|
for (int i = 0; i < m_pGet->lOperCount; i++)
|
|
|
|
|
{
|
|
|
|
|
#ifdef SMSMANAGER_KF //如果是客服开票平台,只显示与开票相关的操作
|
|
|
|
|
if (m_pOperData[i].lOperType == 3 || //修改开票信息
|
|
|
|
|
m_pOperData[i].lOperType == 4 || //开具发票
|
|
|
|
|
m_pOperData[i].lOperType == 5 || //发票已寄出
|
|
|
|
|
m_pOperData[i].lOperType == 6 ) //删除开票信息
|
|
|
|
|
{
|
|
|
|
|
#endif
|
|
|
|
|
str.Format(_T("%d"), iRow + 1);
|
|
|
|
|
m_wndList.InsertItem(iRow, str, 0);
|
|
|
|
|
|
|
|
|
|
int iIndex = 1;
|
|
|
|
|
m_wndList.SetItemText(iRow, iIndex++, GetPayOperType(m_pOperData[i].lOperType));
|
|
|
|
|
m_wndList.SetItemText(iRow, iIndex++, m_pOperData[i].szCreateUser);
|
|
|
|
|
str.Format(_T("%04d.%02d.%02d %02d:%02d"), m_pOperData[i].tCreateTime.wYear, m_pOperData[i].tCreateTime.wMonth, m_pOperData[i].tCreateTime.wDay, m_pOperData[i].tCreateTime.wHour, m_pOperData[i].tCreateTime.wMinute);
|
|
|
|
|
m_wndList.SetItemText(iRow, iIndex++, str);
|
|
|
|
|
m_wndList.SetItemText(iRow, iIndex++, m_pOperData[i].szOperMsg);
|
|
|
|
|
m_wndList.SetItemText(iRow, iIndex++, m_pOperData[i].szBZ);
|
|
|
|
|
|
2025-04-11 17:21:56 +08:00
|
|
|
|
m_wndList.SetItemData(iRow, (DWORD_PTR)(LPVOID)&m_pOperData[i]);
|
2025-01-14 10:46:18 +08:00
|
|
|
|
iRow++;
|
|
|
|
|
#ifdef SMSMANAGER_KF
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#ifdef SMSMANAGER_KF
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_YS)->ShowWindow(SW_HIDE);
|
|
|
|
|
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_PRICEONE)->ShowWindow(SW_HIDE);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_PRESENT)->ShowWindow(SW_HIDE);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_SMSCOUNT)->ShowWindow(SW_HIDE);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_VIPINT)->ShowWindow(SW_HIDE);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_BALANCE)->ShowWindow(SW_HIDE);
|
|
|
|
|
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_PRICEONE_S)->ShowWindow(SW_HIDE);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_PRESENT_S)->ShowWindow(SW_HIDE);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_SMSCOUNT_S)->ShowWindow(SW_HIDE);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_VIPINT_S)->ShowWindow(SW_HIDE);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_BALANCE_S)->ShowWindow(SW_HIDE);
|
|
|
|
|
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_LP_S)->ShowWindow(SW_HIDE);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_LPTYPE)->ShowWindow(SW_HIDE);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_LPPRICE)->ShowWindow(SW_HIDE);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_LXRID)->ShowWindow(SW_HIDE);
|
|
|
|
|
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_LPTYPE_S)->ShowWindow(SW_HIDE);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_LPPRICE_S)->ShowWindow(SW_HIDE);
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_LXRID_S)->ShowWindow(SW_HIDE);
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
UpdateData(false);
|
|
|
|
|
|
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
|
|
|
// 异常: OCX 属性页应返回 FALSE
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CString DLG_Pay_Detail::GetPayOperType(int lOperType)
|
|
|
|
|
{
|
|
|
|
|
CString str = _T("");
|
|
|
|
|
|
|
|
|
|
switch (lOperType)
|
|
|
|
|
{
|
|
|
|
|
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 6:
|
|
|
|
|
str = _T("删除开票信息");
|
|
|
|
|
break;
|
|
|
|
|
case 7:
|
|
|
|
|
str = _T("收款核销");
|
|
|
|
|
break;
|
|
|
|
|
case 8:
|
|
|
|
|
str = _T("修改收款信息");
|
|
|
|
|
break;
|
|
|
|
|
case 9:
|
|
|
|
|
str = _T("修改赠送信息");
|
|
|
|
|
break;
|
|
|
|
|
case 10:
|
|
|
|
|
str = _T("修改充值时间");
|
|
|
|
|
break;
|
|
|
|
|
case 11:
|
|
|
|
|
str = _T("作废预开票");
|
|
|
|
|
break;
|
|
|
|
|
case 12:
|
|
|
|
|
str = _T("确认预开票");
|
|
|
|
|
break;
|
|
|
|
|
case 13:
|
|
|
|
|
str = _T("撤消本笔充值");
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
str = _T("未知客户操作类型");
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return str;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void DLG_Pay_Detail::OnDblclkPayDetailList(NMHDR* pNMHDR, LRESULT* pResult)
|
|
|
|
|
{
|
|
|
|
|
LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
|
|
|
|
|
|
|
|
|
|
*pResult = 0;
|
|
|
|
|
|
|
|
|
|
long lItem = m_wndList.GetFirstSelectedItem();
|
|
|
|
|
|
|
|
|
|
if (lItem >= 0)
|
|
|
|
|
{
|
|
|
|
|
ANS_Pay_Oper_Data* pData = (ANS_Pay_Oper_Data*)(LPVOID)m_wndList.GetItemData(lItem);
|
|
|
|
|
if (pData && pData->lOperID>0)
|
|
|
|
|
{
|
|
|
|
|
DLG_Pay_Oper_Detail dlg(this);
|
|
|
|
|
dlg.SetParam(pData);
|
|
|
|
|
dlg.DoModal();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void DLG_Pay_Detail::OnBnClickedPayDetailFpselect()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
CMenu menu;
|
|
|
|
|
menu.CreatePopupMenu();
|
|
|
|
|
CString str;
|
|
|
|
|
for (int i = 0; i < m_pGet->lFPCount;i++)
|
|
|
|
|
{
|
|
|
|
|
str.Format(_T("%s-%s"), DLG_Corp_FP::GetFPType2(m_pFPData[i].lFPType), m_pFPData[i].szCorpName);
|
|
|
|
|
if (m_pFPData[i].bDefaultFP)
|
|
|
|
|
str.Append(_T("(默认)"));
|
|
|
|
|
|
|
|
|
|
menu.AppendMenu(MF_STRING, MENU_PAY_DETAIL_FPSELECT_BEGIN+i, str);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//显示菜单
|
|
|
|
|
POINT pt;
|
|
|
|
|
RECT rect = { 0 };
|
|
|
|
|
GetDlgItem(IDC_PAY_DETAIL_FPSELECT)->GetWindowRect(&rect);
|
|
|
|
|
//::GetCursorPos(&pt);
|
|
|
|
|
pt.x = rect.left;
|
|
|
|
|
pt.y = rect.bottom;
|
|
|
|
|
//this->ReportToScreen( &pt);
|
|
|
|
|
menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON, pt.x, pt.y, this, NULL);
|
|
|
|
|
menu.DestroyMenu();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void DLG_Pay_Detail::OnFPSelect(UINT nID)
|
|
|
|
|
{
|
|
|
|
|
int iID = nID;
|
|
|
|
|
int iBegin = MENU_PAY_DETAIL_FPSELECT_BEGIN;
|
|
|
|
|
int iIndex = iID - iBegin;
|
|
|
|
|
|
|
|
|
|
if (iIndex < 0 || iIndex >= m_pGet->lFPCount)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
ANS_Corp_FPData* pFPData = &m_pFPData[iIndex];
|
|
|
|
|
if (pFPData->lFPID < 0)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
UpdateData(true);
|
|
|
|
|
m_L_FPType.SetCurSel(pFPData->lFPType);
|
|
|
|
|
//生成发票抬头信息
|
|
|
|
|
//m_strFPDetail = _T("发票类型:");
|
|
|
|
|
//m_strFPDetail.Append(DLG_Corp_FP::GetFPType2(pFPData->lFPType));
|
|
|
|
|
//m_strFPDetail.Append(_T("\r\n"));
|
|
|
|
|
|
|
|
|
|
m_strFPDetail = _T("特殊需求:");
|
|
|
|
|
//m_strFPDetail.Append(DLG_Corp_FP::GetFPType2(pFPData->lFPType));
|
|
|
|
|
m_strFPDetail.Append(_T("\r\n"));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
m_strFPDetail.Append(_T("发票抬头:"));
|
|
|
|
|
m_strFPDetail.Append(pFPData->szCorpName);
|
|
|
|
|
m_strFPDetail.Append(_T("\r\n"));
|
|
|
|
|
|
|
|
|
|
m_strFPDetail.Append(_T("统一信用代码:"));
|
|
|
|
|
m_strFPDetail.Append(pFPData->szCorpTaxID);
|
|
|
|
|
m_strFPDetail.Append(_T("\r\n"));
|
|
|
|
|
|
|
|
|
|
m_strFPDetail.Append(_T("地 址、电 话:"));
|
|
|
|
|
m_strFPDetail.Append(pFPData->szCorpAddress);
|
|
|
|
|
m_strFPDetail.Append(_T(" "));
|
|
|
|
|
m_strFPDetail.Append(pFPData->szCorpTel);
|
|
|
|
|
m_strFPDetail.Append(_T("\r\n"));
|
|
|
|
|
|
|
|
|
|
m_strFPDetail.Append(_T("开户行及账号:"));
|
|
|
|
|
m_strFPDetail.Append(pFPData->szCorpBank);
|
|
|
|
|
m_strFPDetail.Append(_T(" "));
|
|
|
|
|
m_strFPDetail.Append(pFPData->szCorpBankNo);
|
|
|
|
|
m_strFPDetail.Append(_T("\r\n"));
|
|
|
|
|
|
|
|
|
|
m_strFPDetail.Append(_T("备注:"));
|
|
|
|
|
m_strFPDetail.Append(pFPData->szBZ);
|
|
|
|
|
m_strFPDetail.Append(_T("\r\n"));
|
|
|
|
|
|
|
|
|
|
m_strFPDetail.Append(_T("收件人、邮箱:"));
|
|
|
|
|
m_strFPDetail.Append(pFPData->szPostName);
|
|
|
|
|
m_strFPDetail.Append(_T(" "));
|
|
|
|
|
m_strFPDetail.Append(pFPData->szPostEmail);
|
|
|
|
|
m_strFPDetail.Append(_T("\r\n"));
|
|
|
|
|
m_strFPDetail.Append(_T("地址、邮编:"));
|
|
|
|
|
m_strFPDetail.Append(pFPData->szPostAddress);
|
|
|
|
|
m_strFPDetail.Append(_T(" "));
|
|
|
|
|
m_strFPDetail.Append(pFPData->szPostCode);
|
|
|
|
|
m_strFPDetail.Append(_T("\r\n"));
|
|
|
|
|
m_strFPDetail.Append(_T("手机、电话:"));
|
|
|
|
|
m_strFPDetail.Append(pFPData->szPostMobile);
|
|
|
|
|
m_strFPDetail.Append(_T(" "));
|
|
|
|
|
m_strFPDetail.Append(pFPData->szPostTel);
|
|
|
|
|
m_strFPDetail.Append(_T("\r\n"));
|
|
|
|
|
UpdateData(false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void DLG_Pay_Detail::OnSelchangePayDetailLptype()
|
|
|
|
|
{
|
|
|
|
|
int iSel = m_L_LPType.GetCurSel();
|
|
|
|
|
if (iSel == 0) //没赠送礼品
|
|
|
|
|
{
|
|
|
|
|
UpdateData(true);
|
|
|
|
|
m_strLPPrice = _T("");
|
|
|
|
|
m_L_LXRID.SetCurSel(-1);
|
|
|
|
|
UpdateData(false);
|
|
|
|
|
}
|
|
|
|
|
}
|