SmsManager/C_YYSPay.cpp
2025-01-14 10:46:18 +08:00

1355 lines
34 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

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

// C_YYSPay.cpp : implementation file
//
#include "stdafx.h"
#include "smsmanager.h"
#include "C_YYSPay.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CC_YYSPay dialog
#include "MainFrm.h"
#include "ProcessSocket.h"
#include "DLG_HZB_Export.h"
#include "DLG_Pay_TC.h"
#include "DLG_C_Pay_YS.h"
#include "DLG_C_YYSPay_See.h"
#include "DLG_Corp_FP.h"
#include "DLG_Corp_LXR.h"
CC_YYSPay::CC_YYSPay(CWnd* pParent /*=NULL*/)
: CDialog(CC_YYSPay::IDD, pParent)
{
//{{AFX_DATA_INIT(CC_YYSPay)
m_tBegin = COleDateTime::GetCurrentTime();
m_tEnd = COleDateTime::GetCurrentTime();
m_lCorp = -1;
m_lFPType = -1;
m_lPayType = -1;
m_lArea = -1;
m_lTimeType = -1;
//}}AFX_DATA_INIT
m_bInit = false;
m_bRefresh = false;
m_pLXRDlg = NULL;
m_pFPDlg = NULL;
}
void CC_YYSPay::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CC_YYSPay)
DDX_Control(pDX, IDC_C_PAY_CORPID, m_E_CorpID);
DDX_Control(pDX, IDC_C_PAY_CORP, m_L_Corp);
DDX_Control(pDX, IDC_C_AGENTPAY_S1, m_S_S1);
DDX_Control(pDX, IDC_C_AGENTPAY_LIST, m_wndList);
DDX_DateTimeCtrl(pDX, IDC_C_AGENTPAY_TBEGIN, m_tBegin);
DDX_DateTimeCtrl(pDX, IDC_C_AGENTPAY_TEND, m_tEnd);
DDX_CBIndex(pDX, IDC_C_PAY_CORP, m_lCorp);
DDX_CBIndex(pDX, IDC_C_AGENTPAYPAY_FPTYPE, m_lFPType);
DDX_CBIndex(pDX, IDC_C_AGENTPAYPAY_PAYTYPE, m_lPayType);
DDX_CBIndex(pDX, IDC_C_AGENTPAYPAY_AREA, m_lArea);
DDX_CBIndex(pDX, IDC_C_AGENTPAYPAY_TIME, m_lTimeType);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CC_YYSPay, CDialog)
//{{AFX_MSG_MAP(CC_YYSPay)
ON_WM_SIZE()
ON_BN_CLICKED(IDC_C_AGENTPAY_QUERY, OnCAgentpayQuery)
ON_NOTIFY(NM_DBLCLK, IDC_C_AGENTPAY_LIST, OnDblclkCAgentpayList)
ON_NOTIFY(NM_RCLICK, IDC_C_AGENTPAY_LIST, OnRclickCAgentpayList)
ON_BN_CLICKED(IDC_C_AGENTPAY_TC, OnCAgentpayTc)
ON_BN_CLICKED(IDC_C_PAY_QUERY2, OnCPayQuery2)
ON_CBN_SELCHANGE(IDC_C_PAY_CORP, OnSelchangeCPayCorp)
//}}AFX_MSG_MAP
ON_COMMAND(MENU_YYSPAY_SEE , On_User_See )
ON_COMMAND(MENU_YYSPAY_YS , On_User_YS )
ON_COMMAND(MENU_YYSPAY_EXPORT , On_User_Export )
ON_COMMAND(MENU_YYSPAY_FP , On_User_FP )
ON_COMMAND(MENU_YYSPAY_FP_YK , On_User_FP_YK )
ON_COMMAND(MENU_YYSPAY_FP_YJ , On_User_FP_YJ )
ON_COMMAND(MENU_YYSPAY_FP_PRINT , On_User_FP_PRINT )
ON_COMMAND(MENU_YYSPAY_TEST , On_User_Test )
ON_COMMAND_RANGE( MENU_PAY_FP_NO, MENU_PAY_FP_TYPE7, On_User_FP_Type )
ON_COMMAND(MENU_PAY_FPMANAGER , On_User_FPManager )
ON_COMMAND(MENU_PAY_LXRMANAGER , On_User_LXRManager )
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CC_YYSPay message handlers
void CC_YYSPay::Close()
{
Close_Corp();
Close_PayData();
Close_YWY();
Close_Agent();
}
BOOL CC_YYSPay::RefreshInfo()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) )
{
return false;
}
#ifndef SMSMANAGER_KF
m_pMainFrame->SendFrame(SMSFUNC_CORP_NAME,NULL,0);
#endif
m_pMainFrame->SendFrame(SMSFUNC_AGENT_NAME, NULL, 0); //ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
m_pMainFrame->SendFrame(SMSFUNC_YWY_NAME, NULL, 0); //ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
return true;
}
BOOL CC_YYSPay::ReHide()
{
ShowWindow( SW_HIDE );
return true;
}
BOOL CC_YYSPay::ReShow(BOOL bRefresh)
{
ShowWindow( SW_SHOW );
if ( bRefresh || !m_bRefresh )
{
RefreshInfo();
}
return true;
}
BOOL CC_YYSPay::ProcessSocket(Socket_Head *pHead)
{
CString strTemp;
//ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
if (pHead->lFuncType == SMSFUNC_CORP_NAME)
{
m_bRefresh = true; //<2F>Ѿ<EFBFBD>ˢ<EFBFBD>¹<EFBFBD>
ANS_Corp_Name * pCorp = (ANS_Corp_Name *)pHead->pFrame;
ANS_Corp_NameData * pData = (ANS_Corp_NameData *)(pHead->pFrame+sizeof(ANS_Corp_Name));
m_L_Corp.ResetContent(); //ɾ<><C9BE>ԭ<EFBFBD><D4AD><EFBFBD>е<EFBFBD><D0B5><EFBFBD>ҵ
m_L_Corp.AddString( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ") );
this->Close_Corp(); //<2F>ر<EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>
for ( int i=0;i<pCorp->lCount;i++ )
{
ANS_Corp_NameData * pNewData = new ANS_Corp_NameData;
*pNewData = *pData;
POSITION pos = m_Corp.AddTail(pNewData);
strTemp.Format( _T("%d-%s"),pData->lCorpID,pData->szCorpName);
long lItem = m_L_Corp.AddString( strTemp );
m_L_Corp.SetItemData( lItem , (DWORD)pos);
pData ++;
}
m_L_Corp.SetCurSel(0);
return true;
}
if(pHead->lFuncType == SMSFUNC_CORP_YYSPAY )
{
ANS_Corp_YYSPAY * pPay = (ANS_Corp_YYSPAY *)pHead->pFrame;
if ( pPay->ret.lReqType==0 ) //<2F><>ѯ
{
ANS_Corp_YYSPayData * pData= (ANS_Corp_YYSPayData *)(pHead->pFrame+sizeof(ANS_Corp_YYSPAY));
Close_PayData();
for ( int i=0 ; i<pPay->lCount ; i++ )
{
ANS_Corp_YYSPayData * pNewData = new ANS_Corp_YYSPayData;
*pNewData = *pData;
POSITION pos = m_PayData.AddTail(pNewData);
pData ++;
}
RefreshMonPayData();
}
if ( pPay->ret.lReqType==2 ) //<2F>޸<EFBFBD>
{
ANS_Corp_YYSPayData * pData= (ANS_Corp_YYSPayData *)(pHead->pFrame+sizeof(ANS_Corp_YYSPAY));
if ( pPay->lCount>=0 )
{
POSITION pos = (POSITION)m_wndList.GetItemData(pPay->lCount);
ANS_Corp_YYSPayData * pData2 = m_PayData.GetNext( pos );
if ( pData2 )
{
*pData2 = *pData; //ȡ<><C8A1><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>
strTemp.Format( _T("%.2f") , pData->fXFPrice); //<2F><><EFBFBD>ѽ<EFBFBD><D1BD><EFBFBD>
long iTemp=4;
m_wndList.SetItemText( pPay->lCount , iTemp++ , strTemp);
strTemp.Format( _T("%.2f") , pData->fCJPrice); //<2F><><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>
m_wndList.SetItemText( pPay->lCount , iTemp++ , strTemp);
strTemp.Format( _T("%.2f") , pData->fPayPer); //<2F><><EFBFBD>ű<EFBFBD><C5B1><EFBFBD>
m_wndList.SetItemText( pPay->lCount , iTemp++ , strTemp);
strTemp.Format( _T("%.2f") , pData->fPrice); //Ӧ<>ճ<EFBFBD><D5B3><EFBFBD>
m_wndList.SetItemText( pPay->lCount , iTemp++ , strTemp);
}
}
else
{
MessageBox( _T("<EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
}
}
return true;
}
if ( pHead->lFuncType == SMSFUNC_CORP_PAY_YS )
{
ANS_Corp_Pay_YS * pYS = (ANS_Corp_Pay_YS *)pHead->pFrame;
if ( pYS->bOK )
{
switch(pYS->lType)
{
case 14:
{
CString strType = DLG_Corp_FP::GetFPType2(pYS->bFP);
m_wndList.SetItemText(pYS->lItem,11,strType);
}
break;
case 24:
m_wndList.SetItemText(pYS->lItem,12,_T("<EFBFBD>ѿ<EFBFBD>Ʊ"));
break;
case 34:
m_wndList.SetItemText(pYS->lItem,12,_T("<EFBFBD>Ѽij<EFBFBD>"));
break;
case 44:
if ( pYS->bFP )
m_wndList.SetItemText(pYS->lItem,5,_T(" <20><>"));
else
m_wndList.SetItemText(pYS->lItem,5,_T(""));
break;
default:
m_wndList.SetItemText(pYS->lItem,4,_T(""));
break;
}
}
return true;
}
//<2F><EFBFBD><E9BFB4>ϵ<EFBFBD><CFB5>
if (pHead->lFuncType == SMSFUNC_CORP_LXR)
{
ANS_Corp_LXR * pLXR = (ANS_Corp_LXR *)pHead->pFrame;
if (pLXR->lCount < 0) //Ȩ<>޲<EFBFBD><DEB2><EFBFBD>
return true;
ANS_Corp_LXRData * pData= (ANS_Corp_LXRData *)(pHead->pFrame+sizeof(ANS_Corp_LXR));
ANS_Corp_LXR_YWYData * pYWYData = (ANS_Corp_LXR_YWYData *)(pHead->pFrame + sizeof(ANS_Corp_LXR) + sizeof(ANS_Corp_LXRData)*pLXR->lCount);
DLG_Corp_LXR dlg(this);
m_pLXRDlg = &dlg;
dlg.SetParam( *pLXR , pData,0, pYWYData); //<2F><>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>Ϊ:0(<28><>ҵ)
if ( dlg.DoModal() == IDOK && dlg.m_lModifyCount>0)
{
long lSize = sizeof(REQ_Corp_LXRModify) + sizeof(ANS_Corp_LXRData)*dlg.m_lModifyCount;
BYTE * pDataSend = new BYTE[lSize];memset( pDataSend , 0 , lSize );
REQ_Corp_LXRModify * pModifySend = (REQ_Corp_LXRModify*)pDataSend;
ANS_Corp_LXRData * pLXRSend = (ANS_Corp_LXRData *)(pDataSend+sizeof(REQ_Corp_LXRModify));
pModifySend->lCorpID= pLXR->lCorpID;
pModifySend->lCount = dlg.m_lModifyCount;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
ANS_Corp_LXRData * pLXRTemp;
while (!dlg.m_LXR.IsEmpty())
{
pLXRTemp = dlg.m_LXR.GetHead();
//pLXRTemp->lCorpType = 0; //ǿ<><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>Ϊ:0(<28><>ҵ)
dlg.m_LXR.RemoveHead();
if (pLXRTemp->ucStatus != 0 ) //<2F><>Ϊ0,<2C><>Ҫ<EFBFBD>޸<EFBFBD>
{
*pLXRSend = *pLXRTemp;
pLXRSend ++;
}
delete pLXRTemp;
}
m_pMainFrame->SendFrame( SMSFUNC_CORP_LXRMODIFY , pDataSend , lSize );
}
else
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
ANS_Corp_LXRData * pLXRTemp;
while (!dlg.m_LXR.IsEmpty())
{
pLXRTemp = dlg.m_LXR.GetHead();
dlg.m_LXR.RemoveHead();
delete pLXRTemp;
}
}
m_pLXRDlg = NULL;
return true;
}
//<2F><>ϵ<EFBFBD><CFB5><EFBFBD>޸<EFBFBD>
if (pHead->lFuncType == SMSFUNC_CORP_LXRMODIFY)
{
return true;
}
//ȡҵ<C8A1><D2B5>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>
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));
this->Close_YWY();
for (int i = 0; i < pYWY->lCount; i++)
{
ANS_YWY_NameData * pNewData = new ANS_YWY_NameData;
*pNewData = *pData;
m_YWY.AddTail(pNewData);
pData++;
}
return true;
}
//ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
if (pHead->lFuncType == SMSFUNC_AGENT_NAME)
{
ANS_Agent_Name * pAgent = (ANS_Agent_Name *)pHead->pFrame;
ANS_Agent_NameData * pData = (ANS_Agent_NameData *)(pHead->pFrame + sizeof(ANS_Agent_Name));
this->Close_Agent();
for (int i = 0; i < pAgent->lCount; i++)
{
ANS_Agent_NameData * pNewData = new ANS_Agent_NameData;
*pNewData = *pData;
m_Agent.AddTail(pNewData);
pData++;
}
return true;
}
return false;
}
BOOL CC_YYSPay::ProcessSocket(Socket_Head_Add *pHead, BYTE *pFrame)
{
//<2F><EFBFBD><E9BFB4>ϵ<EFBFBD><CFB5>
if (pHead->lFuncType == SMSFUNC_CORP_FP)
{
ANS_Corp_FP * pFP = (ANS_Corp_FP *)pFrame;
if (pFP->lCount < 0) //Ȩ<>޲<EFBFBD><DEB2><EFBFBD>
return true;
ANS_Corp_FPData * pData= (ANS_Corp_FPData *)(pFrame+sizeof(ANS_Corp_FP));
ANS_Corp_LXR_YWYData * pYWYData = (ANS_Corp_LXR_YWYData *)(pFrame + sizeof(ANS_Corp_FP) + sizeof(ANS_Corp_FPData)*pFP->lCount);
DLG_Corp_FP dlg(this);
m_pFPDlg = &dlg;
dlg.SetParam( *pFP , pData,0, pYWYData); //<2F><>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>Ϊ:0(<28><>ҵ)
if ( dlg.DoModal() == IDOK && dlg.m_lModifyCount>0)
{
long lSize = sizeof(REQ_Corp_FPModify) + sizeof(ANS_Corp_FPData)*dlg.m_lModifyCount;
BYTE * pDataSend = new BYTE[lSize];memset( pDataSend , 0 , lSize );
REQ_Corp_FPModify * pModifySend = (REQ_Corp_FPModify*)pDataSend;
ANS_Corp_FPData * pFPSend = (ANS_Corp_FPData *)(pDataSend+sizeof(REQ_Corp_FPModify));
pModifySend->lCorpID= pFP->lCorpID;
pModifySend->lCount = dlg.m_lModifyCount;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
ANS_Corp_FPData * pFPTemp;
while (!dlg.m_FP.IsEmpty())
{
pFPTemp = dlg.m_FP.GetHead();
//pFPTemp->lCorpType = 0; //ǿ<><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>Ϊ:0(<28><>ҵ)
dlg.m_FP.RemoveHead();
if (pFPTemp->ucStatus != 0 ) //<2F><>Ϊ0,<2C><>Ҫ<EFBFBD>޸<EFBFBD>
{
*pFPSend = *pFPTemp;
pFPSend ++;
}
delete pFPTemp;
}
m_pMainFrame->SendFrame( SMSFUNC_CORP_FPMODIFY , pDataSend , lSize );
}
else
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
ANS_Corp_FPData * pFPTemp;
while (!dlg.m_FP.IsEmpty())
{
pFPTemp = dlg.m_FP.GetHead();
dlg.m_FP.RemoveHead();
delete pFPTemp;
}
}
m_pFPDlg = NULL;
return true;
}
//<2F><>ϵ<EFBFBD><CFB5><EFBFBD>޸<EFBFBD>
if (pHead->lFuncType == SMSFUNC_CORP_FPMODIFY)
{
return true;
}
if (pHead->lFuncType == SMSFUNC_CORP_SF_ADD ||
pHead->lFuncType == SMSFUNC_CORP_SF_CANCEL ||
pHead->lFuncType == SMSFUNC_CORP_SF_ROUTE)
{
if (m_pLXRDlg)
{
m_pLXRDlg->ProcessSocket(pHead, pFrame);
}
if (m_pFPDlg)
{
m_pFPDlg->ProcessSocket(pHead, pFrame);
}
return true;
}
return false;
}
BOOL CC_YYSPay::OnInitDialog()
{
CDialog::OnInitDialog();
//ȡ<>ù<EFBFBD><C3B9>ò<EFBFBD><C3B2><EFBFBD>
//CMainFrame * pFrame = static_cast <CMainFrame *>((CMainFrame *)AfxGetMainWnd());
this->GetParent()->GetParentFrame();
m_pMainFrame = (CMainFrame *)this->GetParent()->GetParentFrame();
m_pSocket = &m_pMainFrame->m_Socket;
//<2F><>ʼ<EFBFBD><CABC>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("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,50; <20><>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>,200;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,100;<3B><><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>,80;<3B><><EFBFBD>ѽ<EFBFBD><D1BD><EFBFBD>,80;<3B>ܳ<EFBFBD><DCB3><EFBFBD>,80;<3B><><EFBFBD>ű<EFBFBD><C5B1><EFBFBD>,80;Ӧ<>ճ<EFBFBD><D5B3><EFBFBD>,80;Ӧ<><D3A6>,55;<3B><><EFBFBD><EFBFBD>,55;<3B>տ<EFBFBD>ʱ<EFBFBD><CAB1>,130; <20><>Ʊ,80;<3B><>Ʊ״̬,80;<3B><>Ʊʱ<C6B1><CAB1>,130;ʵ<>ս<EFBFBD><D5BD><EFBFBD>,80;ʵ<>յ<EFBFBD><D5B5><EFBFBD>,70;ʵ<>ն<EFBFBD><D5B6><EFBFBD><EFBFBD><EFBFBD>,80; <20><> ע,130;<3B>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>,90; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,130;"));
m_wndList.SetGridLines(true);
// m_wndList.SetImageList(&m_Image,LVSIL_SMALL);
m_bInit = true;
#ifdef SMSMANAGER_KF
GetDlgItem(IDC_C_AGENTPAY_S1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_C_PAY_CORP)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_C_PAY_CORPID)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_C_PAY_QUERY2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_C_AGENTPAYPAY_PAYTYPE)->ShowWindow(SW_HIDE);
#endif
SYSTEMTIME t; ::GetLocalTime(&t);
long lMon = t.wMonth;
lMon--;
if ( lMon<=0 )
{
lMon = 12;
t.wYear --;
}
t.wMonth = lMon;
m_tBegin.SetDate( t.wYear,t.wMonth,1 ); //<2F><>ʼ
m_tEnd.SetDate( t.wYear,t.wMonth,1 );//<2F><><EFBFBD><EFBFBD>
m_lPayType = 0; //Ĭ<>ϲ<CFB2><E9BFB4><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>
m_lFPType = 0; //Ĭ<>ϲ<CFB2><E9BFB4><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>
m_lArea = 0;
m_lTimeType = 0;
UpdateData(false);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CC_YYSPay::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
if ( m_bInit )
{
CRect rect;
m_S_S1.GetWindowRect(&rect);
m_wndList.MoveWindow( 0 , 0+rect.Height()+5 , cx,cy-rect.Height()-5);
}
}
BOOL CC_YYSPay::PreTranslateMessage(MSG* pMsg)
{
if ( pMsg->hwnd == m_E_CorpID && pMsg->message == WM_KEYDOWN )
{
if ( pMsg->wParam == 13 ) //<2F>س<EFBFBD><D8B3><EFBFBD>
{
this->OnCPayQuery2();
return true;
}
}
return CDialog::PreTranslateMessage(pMsg);
}
void CC_YYSPay::OnCAgentpayQuery()
{
UpdateData(true);
if ( m_tEnd < m_tBegin )
{
MessageBox( _T("<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
return ;
}
REQ_Corp_YYSPAY * pPay = new REQ_Corp_YYSPAY;memset(pPay,0,sizeof(REQ_Corp_YYSPAY));
pPay->lReqType = 0; //<2F><>ѯ<EFBFBD>ʵ<EFBFBD>
//<2F><>ҵ
if ( m_lCorp <= 0 ) //ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ
{
pPay->lCorpID = -1;
}
else
{
POSITION pos = (POSITION)m_L_Corp.GetItemData(m_lCorp);
POSITION pos2 = pos;
ANS_Corp_NameData * pData = m_Corp.GetNext( pos );
if (pData)
{
pPay->lCorpID = pData->lCorpID;
}
else
{
return;
}
}
m_tBegin.GetAsSystemTime( pPay->tBegin );
m_tEnd.GetAsSystemTime( pPay->tEnd );
pPay->lPayType = m_lPayType;
pPay->lArea = m_lArea;
pPay->lTimeType= m_lTimeType;
#ifdef SMSMANAGER_KF
pPay->lFPType = m_lFPType;
#else
pPay->lFPType = m_lFPType-1;
#endif
m_pMainFrame->SendFrame(SMSFUNC_CORP_YYSPAY,(BYTE*)pPay,sizeof(REQ_Corp_YYSPAY));
}
void CC_YYSPay::RefreshMonPayData()
{
long lAgentID = -10; //<2F><>ʾ<EFBFBD><CABE><EFBFBD>е<EFBFBD>
m_wndList.ShowWindow(SW_HIDE);
m_wndList.DeleteAllItems(); //ɾ<><C9BE>ԭ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
POSITION pos = m_PayData.GetHeadPosition();
POSITION pos2=0;
int i=0;
TCHAR Buf[128]={0};
double fXFTotal=0;
double fCJTotal=0;
double fYSTotal=0;
double fTotal=0;
long lXFItem=0;
long lCJItem=0;
long lYSItem=0;
long lTotalItem=0;
CString str;
while ( pos )
{
pos2 = pos;
ANS_Corp_YYSPayData * pData = m_PayData.GetNext(pos);
if ( pData )
{
if ( true )
{
//m_wndList.SetHeadings(_T("<22><><EFBFBD><EFBFBD>,50; <20><>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>,200;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,80;<3B><><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>,80;<3B><><EFBFBD>ѽ<EFBFBD><D1BD><EFBFBD>,80;<3B><><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>,80;Ӧ<>ճ<EFBFBD><D5B3><EFBFBD>,80;Ӧ<><D3A6>,55;<3B><><EFBFBD><EFBFBD>,55;<3B>տ<EFBFBD>ʱ<EFBFBD><CAB1>,130; <20><>Ʊ,80;<3B><>Ʊ״̬,80;<3B><>Ʊʱ<C6B1><CAB1>,130;ʵ<>ս<EFBFBD><D5BD><EFBFBD>,80;ʵ<>յ<EFBFBD><D5B5><EFBFBD>,70;ʵ<>ն<EFBFBD><D5B6><EFBFBD><EFBFBD><EFBFBD>,80; <20><> ע,130;"));
//m_wndList.SetHeadings(_T("<22><><EFBFBD><EFBFBD>,50; <20><>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>,200;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,100;<3B><><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>,80;<3B><><EFBFBD>ѽ<EFBFBD><D1BD><EFBFBD>,80;<3B>ܳ<EFBFBD><DCB3><EFBFBD>,80;<3B><><EFBFBD>ű<EFBFBD><C5B1><EFBFBD>,80;Ӧ<>ճ<EFBFBD><D5B3><EFBFBD>,80;Ӧ<><D3A6>,55;<3B><><EFBFBD><EFBFBD>,55;<3B>տ<EFBFBD>ʱ<EFBFBD><CAB1>,130; <20><>Ʊ,80;<3B><>Ʊ״̬,80;<3B><>Ʊʱ<C6B1><CAB1>,130;ʵ<>ս<EFBFBD><D5BD><EFBFBD>,80;ʵ<>յ<EFBFBD><D5B5><EFBFBD>,70;ʵ<>ն<EFBFBD><D5B6><EFBFBD><EFBFBD><EFBFBD>,80; <20><> ע,130;"));
long iTemp=1;
_stprintf( Buf , _T("%d") , i+1 );
m_wndList.InsertItem( i , Buf , 0 );
str.Format( _T("%d-%s"),pData->lCorpID,pData->szCorpName);
m_wndList.SetItemText( i , iTemp++ , str);
if ( pData->lPayType==0 )
m_wndList.SetItemText( i , iTemp++ , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>90%" ));
if ( pData->lPayType==1 )
m_wndList.SetItemText( i , iTemp++ , _T("MAS<EFBFBD><EFBFBD><EFBFBD><EFBFBD>90%" ));
if ( pData->lPayType==2 )
m_wndList.SetItemText( i , iTemp++ , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>10%" ));
if ( pData->lPayType==3 )
m_wndList.SetItemText( i , iTemp++ , _T("MAS<EFBFBD><EFBFBD><EFBFBD><EFBFBD>10%" ));
str.Format( _T("%04d.%02d") , pData->tPayTime.wYear , pData->tPayTime.wMonth);
m_wndList.SetItemText( i , iTemp++ , str);
str.Format( _T("%.2f") , pData->fXFPrice); //<2F><><EFBFBD>ѽ<EFBFBD><D1BD><EFBFBD>
lXFItem = iTemp;
m_wndList.SetItemText( i , iTemp++ , str);
str.Format( _T("%.2f") , pData->fCJPrice); //<2F><><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>
lCJItem = iTemp;
m_wndList.SetItemText( i , iTemp++ , str);
str.Format( _T("%.2f") , pData->fPayPer); //<2F><><EFBFBD>ű<EFBFBD><C5B1><EFBFBD>
m_wndList.SetItemText( i , iTemp++ , str);
str.Format( _T("%.2f") , pData->fPrice); //Ӧ<>ճ<EFBFBD><D5B3><EFBFBD>
lTotalItem = iTemp;
m_wndList.SetItemText( i , iTemp++ , str);
if ( pData->bYS )
m_wndList.SetItemText( i , iTemp++ , _T(" <20><>") );
else
m_wndList.SetItemText( i , iTemp++ , _T("") );
if ( pData->bTest )
m_wndList.SetItemText( i , iTemp++ , _T(" <20><>") );
else
m_wndList.SetItemText( i , iTemp++ , _T("") );
str.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( i , iTemp++ , str );
if ( pData->bFP>0 )
{
CString strType = DLG_Corp_FP::GetFPType2(pData->bFP);
m_wndList.SetItemText( i , iTemp++ , strType );
switch(pData->lFPStatus)
{
case 0:
default:
m_wndList.SetItemText( i , iTemp++ , _T("δ<EFBFBD><EFBFBD>Ʊ") );
break;
case 1:
m_wndList.SetItemText( i , iTemp++ , _T("<EFBFBD>ѿ<EFBFBD>Ʊ") );
break;
case 2:
m_wndList.SetItemText( i , iTemp++ , _T("<EFBFBD>Ѽij<EFBFBD>") );
break;
}
if ( pData->lFPStatus>0 )
{
str.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( i , iTemp++ , str);
}
}
else
{
iTemp++;
iTemp++;
iTemp++;
}
str.Format( _T("%.2f") , pData->fYSPrice); //<2F>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD>
lYSItem = iTemp;
m_wndList.SetItemText( i , iTemp++ , str);
str.Format( _T("%.4f") , pData->fYSPriceOne); //<2F><><EFBFBD><EFBFBD>
m_wndList.SetItemText( i , iTemp++ , str);
str.Format( _T("%d") , pData->lYSSMSCount); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_wndList.SetItemText( i , iTemp++ , str);
m_wndList.SetItemText( i , iTemp++ , pData->szBZ);
m_wndList.SetItemText(i, iTemp++, GetName_YWY(pData->lYWYID));
m_wndList.SetItemText(i, iTemp++, GetName_Agent(pData->lAgentID));
m_wndList.SetItemData( i , (DWORD)pos2 ); //<2F><>Pos
fXFTotal += pData->fXFPrice;
fCJTotal += pData->fCJPrice;
fTotal += pData->fPrice;
fYSTotal += pData->fYSPrice;
i++;
}
}
}
m_wndList.InsertItem(i,_T(""),0 );
i++;
m_wndList.InsertItem(i,_T("<EFBFBD>ϼ<EFBFBD>"),0 );
str.Format( _T("%.2f") , fXFTotal );
m_wndList.SetItemText( i , lXFItem , str );
str.Format( _T("%.2f") , fCJTotal );
m_wndList.SetItemText( i , lCJItem , str );
str.Format( _T("%.2f") , fYSTotal );
m_wndList.SetItemText( i , lYSItem , str );
str.Format( _T("%.2f") , fTotal );
m_wndList.SetItemText( i , lTotalItem , str );
m_wndList.ShowWindow(SW_SHOW);
}
void CC_YYSPay::OnDblclkCAgentpayList(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
On_User_See();
}
void CC_YYSPay::OnRclickCAgentpayList(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
ShowRMenu();
}
void CC_YYSPay::ShowRMenu()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) )
{
return ;
}
CMenu menu;
menu.CreatePopupMenu();
BOOL bLock = false;
long lItem = this->GetCurrentSelected();
ANS_Corp_YYSPayData * pData = NULL;
if ( lItem>=0 && lItem<m_PayData.GetCount() )
{
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
if ( (DWORD)pos>=0 )
{
pData = m_PayData.GetNext( pos );
}
}
if ( !pData )
return ;
#ifndef SMSMANAGER_KF
//<2F><><EFBFBD><EFBFBD>
if ( lItem>=0 )
{
menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_YYSPAY_SEE , _T(" <20><> <20><>(<28>Ѽ<EFBFBD><D1BC>ɵ<EFBFBD><C9B5>ۺϲ<DBBA>ѯ) ") );
}
else
{
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_YYSPAY_SEE , _T(" <20><> <20><>(<28>Ѽ<EFBFBD><D1BC>ɵ<EFBFBD><C9B5>ۺϲ<DBBA>ѯ) ") );
}
menu.AppendMenu(MF_SEPARATOR );
if ( m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_ADD,false) ) //ֻ<>л<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8>
{
if ( lItem>=0 && pData && pData->bYS )
{
menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_YYSPAY_YS , _T(" <20><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ѽ<EFBFBD><D1BC>ɵ<EFBFBD><C9B5>ۺϲ<DBBA>ѯ) ") );
}
else
{
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_YYSPAY_YS , _T(" <20><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ѽ<EFBFBD><D1BC>ɵ<EFBFBD><C9B5>ۺϲ<DBBA>ѯ) ") );
}
}
if ( lItem>=0 && pData && pData->bTest )
{
menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_YYSPAY_TEST , _T(" <20><>Ϊ<EFBFBD>Dz<EFBFBD><C7B2><EFBFBD><EFBFBD>ʵ<EFBFBD>(<28>Ѽ<EFBFBD><D1BC>ɵ<EFBFBD><C9B5>ۺϲ<DBBA>ѯ) ") );
}
else
{
if ( lItem>=0 )
{
menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_YYSPAY_TEST , _T(" <20><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>(<28>Ѽ<EFBFBD><D1BC>ɵ<EFBFBD><C9B5>ۺϲ<DBBA>ѯ) ") );
}
}
if ( lItem>=0 && pData && pData->lFPStatus==0 )
{
CMenu MenuFP;
MenuFP.CreatePopupMenu();
MenuFP.AppendMenu(MF_STRING , MENU_PAY_FP_NO , _T(" <20><><EFBFBD>跢Ʊ ") );
MenuFP.AppendMenu(MF_STRING , MENU_PAY_FP_TYPE1 , _T(" <20><>˰Ʊ ") );
MenuFP.AppendMenu(MF_STRING , MENU_PAY_FP_TYPE2 , _T(" <20><>ֵ˰<D6B5><CBB0>Ʊ ") );
MenuFP.AppendMenu(MF_STRING , MENU_PAY_FP_TYPE3 , _T(" <20>ƶ<EFBFBD>Ʊ ") );
MenuFP.AppendMenu(MF_STRING , MENU_PAY_FP_TYPE4 , _T(" <20><>ֵ˰רƱ ") );
MenuFP.AppendMenu(MF_STRING , MENU_PAY_FP_TYPE5 , _T(" <20><><EFBFBD>跢Ʊ<E8B7A2>ѱ<EFBFBD>˰ ") );
MenuFP.AppendMenu(MF_STRING, MENU_PAY_FP_TYPE6, _T(" ӯ<>׸<EFBFBD><D7B8><EFBFBD>Ʊ "));
MenuFP.AppendMenu(MF_STRING, MENU_PAY_FP_TYPE7, _T(" ӯ<>׸<EFBFBD>רƱ "));
menu.AppendMenu(MF_STRING|MF_POPUP | MF_DISABLED | MF_GRAYED,(UINT)MenuFP.GetSafeHmenu(), _T(" <20><>Ʊѡ<C6B1><D1A1>(<28>Ѽ<EFBFBD><D1BC>ɵ<EFBFBD><C9B5>ۺϲ<DBBA>ѯ) ") );
}
#endif
if ( lItem>=0 && pData && pData->bFP && pData->lFPStatus==0 )
{
menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_YYSPAY_FP_YK , _T(" <20><>Ϊ<EFBFBD>ѿ<EFBFBD><D1BF><EFBFBD>Ʊ(<28>Ѽ<EFBFBD><D1BC>ɵ<EFBFBD><C9B5>ۺϲ<DBBA>ѯ) ") );
}
if ( lItem>=0 && pData && pData->bFP && pData->lFPStatus==1 )
{
menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_YYSPAY_FP_YJ , _T(" <20><>Ϊ<EFBFBD>Ѽķ<D1BC>Ʊ(<28>Ѽ<EFBFBD><D1BC>ɵ<EFBFBD><C9B5>ۺϲ<DBBA>ѯ) ") );
}
// if ( lItem>=0 )
// {
// menu.AppendMenu(MF_SEPARATOR );
// menu.AppendMenu(MF_STRING , MENU_YYSPAY_FP_PRINT , _T(" <20><>ӡ<EFBFBD>ŷ<EFBFBD> ") );
// }
if ( lItem>=0 && pData ) //<2F><>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><C3B3>ѳ估<D1B3><E4BCB0><EFBFBD><EFBFBD>
{
menu.AppendMenu(MF_SEPARATOR );
menu.AppendMenu(MF_STRING , MENU_PAY_FPMANAGER , _T(" <20><>Ʊ̧ͷ... ") );
menu.AppendMenu(MF_STRING , MENU_PAY_LXRMANAGER , _T(" <20><>ϵ<EFBFBD><CFB5>... ") );
}
#ifndef SMSMANAGER_KF
menu.AppendMenu(MF_SEPARATOR );
menu.AppendMenu(MF_STRING , MENU_YYSPAY_EXPORT , _T(" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ") );
#endif
//<2F><>ʾ<EFBFBD>˵<EFBFBD>
POINT pt ;
::GetCursorPos( &pt );
//this->ClientToScreen( &pt);
menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL);
menu.DestroyMenu();
}
long CC_YYSPay::GetCurrentSelected()
{
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
if ( pos )
{
return m_wndList.GetNextSelectedItem(pos);
}
return -1;
}
void CC_YYSPay::On_User_See()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) )
{
return ;
}
long lItem = this->GetCurrentSelected();
if ( lItem <0 )
return ;
ANS_Corp_YYSPayData * pData = NULL;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
if ( (DWORD)pos>=0 )
{
pData = m_PayData.GetNext( pos );
}
if ( pData && pData->bYS)
{
DLG_C_YYSPay_See dlg( this );
dlg.SetParam(*pData);
if ( dlg.DoModal() == IDOK )
{
ANS_Corp_YYSPayData data = dlg.GetParam();
if ( data.fPrice != pData->fPrice ||
data.fXFPrice != pData->fXFPrice ||
data.fCJPrice != pData->fCJPrice ||
data.fPayPer != pData->fPayPer )
{
long lSize=sizeof(REQ_Corp_YYSPAY) + sizeof(ANS_Corp_YYSPayData);
BYTE * pData2 = new BYTE[lSize];
memset(pData2 , 0 , lSize);
REQ_Corp_YYSPAY * pPay = (REQ_Corp_YYSPAY*)pData2;
ANS_Corp_YYSPayData * pDataSend = (ANS_Corp_YYSPayData*)(pData2+sizeof(REQ_Corp_YYSPAY));
pPay->lReqType = 2; //<2F>޸<EFBFBD>
pPay->lCorpID = pData->lCorpID;
pPay->lPayType = lItem;
*pDataSend = data;
m_pMainFrame->SendFrame(SMSFUNC_CORP_YYSPAY,pData2,lSize);
}
}
}
}
void CC_YYSPay::On_User_YS()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) )
{
return ;
}
long lItem = this->GetCurrentSelected();
if ( lItem <0 )
return ;
ANS_Corp_YYSPayData * pData = NULL;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
if ( (DWORD)pos>=0 )
{
pData = m_PayData.GetNext( pos );
}
if ( !pData->bYS )
{
return ;
}
int iRet = MessageBox( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>˱ʿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD>գ<EFBFBD>״̬<EFBFBD>ı<EFBFBD><EFBFBD>󽫲<EFBFBD><EFBFBD>ָܻ<EFBFBD><EFBFBD><EFBFBD>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 );
if ( iRet != IDYES )
return ;
ANS_Corp_MonPayData mon={0};
mon.lCorpID = pData->lCorpID;
mon.lAgentID = pData->lAgentID;
mon.bTest = pData->bTest;
mon.fPrice = pData->fPrice;
mon.fPriceOne = pData->fPriceOne;
mon.lSMSCount = pData->lSMSCount;
DLG_C_Pay_YS dlg(this);
if ( pData->lPayType == 0 ) //ֻ<><D6BB><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><C2BD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>տ<EFBFBD><D5BF><EFBFBD>
dlg.SetParam( &mon );
if ( dlg.DoModal() != IDOK )
return ;
REQ_Corp_Pay_YS *pYS = new REQ_Corp_Pay_YS;
memset( pYS , 0 , sizeof(REQ_Corp_Pay_YS));
pYS->lPayID = pData->lPayID;
pYS->lItem = lItem;
pYS->lType = 4;
pYS->bAddMonPay = false;
pYS->fYSPrice = dlg.m_Pay.fYSPrice;
pYS->fYSPriceOne = dlg.m_Pay.fYSPriceOne;
pYS->lYSSMSCount = dlg.m_Pay.lYSSMSCount;
_tcscpy(pYS->szPayMode , dlg.m_strPayMode );
_tcscpy(pYS->szBZ , dlg.m_strBZ );
dlg.m_tPayTime.GetAsSystemTime(pYS->tPayTime);
m_pMainFrame->SendFrame( SMSFUNC_CORP_PAY_YS , (BYTE*)pYS , sizeof(REQ_Corp_Pay_YS));
}
void CC_YYSPay::On_User_FPManager()
{
long lItem = this->GetCurrentSelected();
if ( lItem <0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
if ( (long)pos<0 )
return ;
POSITION pos2 = pos;
ANS_Corp_YYSPayData * pData = m_PayData.GetNext( pos );
if ( !pData )
return ;
REQ_Corp_FP * pFP = new REQ_Corp_FP;
memset( pFP , 0 , sizeof(REQ_Corp_FP));
_tcscpy( pFP->szCorpName , pData->szCorpName );
pFP->lCorpID = pData->lCorpID;
pFP->lCorpType=0; //<2F><><EFBFBD>ն<EFBFBD><D5B6><EFBFBD>ҵ
pFP->lPayType = 7;//<2F><><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>
pFP->lPayID = pData->lPayID; //<2F><>ֵID
pFP->fPrice = pData->fPrice; //<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
m_pMainFrame->SendFrame( SMSFUNC_CORP_FP , (BYTE*)pFP , sizeof(REQ_Corp_FP) ); //ȡ<><C8A1>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>Ϣ
}
void CC_YYSPay::On_User_LXRManager()
{
long lItem = this->GetCurrentSelected();
if ( lItem <0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
if ( (long)pos<0 )
return ;
POSITION pos2 = pos;
ANS_Corp_YYSPayData * pData = m_PayData.GetNext( pos );
if ( !pData )
return ;
REQ_Corp_LXR * pLXR = new REQ_Corp_LXR;
memset( pLXR , 0 , sizeof(REQ_Corp_LXR));
_tcscpy( pLXR->szCorpName , pData->szCorpName );
pLXR->lCorpID = pData->lCorpID;
pLXR->lCorpType=0; //<2F><><EFBFBD>ն<EFBFBD><D5B6><EFBFBD>ҵ
pLXR->lPayType = 7;//<2F><><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>
pLXR->lPayID = pData->lPayID; //<2F><>ֵID
pLXR->fPrice = pData->fPrice; //<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
m_pMainFrame->SendFrame( SMSFUNC_CORP_LXR , (BYTE*)pLXR , sizeof(REQ_Corp_LXR) ); //ȡ<><C8A1>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>Ϣ
}
void CC_YYSPay::On_User_Test()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) )
{
return ;
}
long lItem = this->GetCurrentSelected();
if ( lItem <0 )
return ;
BOOL bTest=true;
ANS_Corp_YYSPayData * pData = NULL;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
if ( (DWORD)pos>=0 )
{
pData = m_PayData.GetNext( pos );
if ( pData->bTest ) //ԭ<><D4AD><EFBFBD>Dz<EFBFBD><C7B2>Եı<D4B5>Ϊ<EFBFBD><CEAA><EFBFBD>Dz<EFBFBD><C7B2><EFBFBD>
bTest = false;
}
CString str;
str.Format( _T("ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>״̬Ϊ:%s<><73>") , bTest?_T("<EFBFBD><EFBFBD>"):_T("<EFBFBD><EFBFBD>"));
int iRet = MessageBox( str , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 );
if ( iRet != IDYES )
return ;
REQ_Corp_Pay_YS *pYS = new REQ_Corp_Pay_YS;
memset( pYS , 0 , sizeof(REQ_Corp_Pay_YS));
pYS->lPayID = pData->lPayID;
pYS->lItem = lItem;
pYS->lType = 44;
pYS->bFP = bTest;
m_pMainFrame->SendFrame( SMSFUNC_CORP_PAY_YS , (BYTE*)pYS , sizeof(REQ_Corp_Pay_YS));
}
void CC_YYSPay::On_User_FP_Type(UINT nID)
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) )
{
return ;
}
long lItem = this->GetCurrentSelected();
if ( lItem <0 )
return ;
BOOL bOK=false;
BOOL bKP=true;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
if ( (long)pos<0 )
return ;
POSITION pos2 = pos;
ANS_Corp_YYSPayData * pData = m_PayData.GetNext( pos );
if ( pData->lFPStatus!=0 )
return ;
CString strType=_T("δ֪");
UINT ll=MENU_PAY_FP_NO;
long lType=nID - ll;
switch(lType)
{
case 0:
strType = _T("<EFBFBD><EFBFBD><EFBFBD>跢Ʊ");
break;
case 1:
strType = _T("<EFBFBD><EFBFBD>˰<EFBFBD><EFBFBD>Ʊ");
break;
case 2:
strType = _T("<EFBFBD><EFBFBD>ֵ˰<EFBFBD><EFBFBD>Ʊ");
break;
case 3:
strType = _T("<EFBFBD>ƶ<EFBFBD><EFBFBD><EFBFBD>Ʊ");
break;
case 4:
strType = _T("<EFBFBD><EFBFBD>ֵ˰רƱ");
break;
case 5:
strType = _T("<EFBFBD><EFBFBD><EFBFBD>跢Ʊ<EFBFBD>ѱ<EFBFBD>˰");
break;
case 6:
strType = _T("ӯ<EFBFBD>׸<EFBFBD><EFBFBD><EFBFBD>Ʊ");
break;
case 7:
strType = _T("ӯ<EFBFBD>׸<EFBFBD>רƱ");
break;
}
CString str;
str.Format( _T("ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>Ʊ״̬Ϊ:%s<><73>") , strType);
int iRet = MessageBox( str , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 );
if ( iRet != IDYES )
return ;
REQ_Corp_Pay_YS *pYS = new REQ_Corp_Pay_YS;
memset( pYS , 0 , sizeof(REQ_Corp_Pay_YS));
pYS->lPayID = pData->lPayID;
pYS->lItem = lItem;
pYS->lType = 14;
pYS->bFP = lType;
m_pMainFrame->SendFrame( SMSFUNC_CORP_PAY_YS , (BYTE*)pYS , sizeof(REQ_Corp_Pay_YS));
}
void CC_YYSPay::On_User_FP()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) )
{
return ;
}
long lItem = this->GetCurrentSelected();
if ( lItem <0 )
return ;
BOOL bOK=false;
BOOL bKP=true;
ANS_Corp_YYSPayData * pData = NULL;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
if ( (DWORD)pos>=0 )
{
pData = m_PayData.GetNext( pos );
}
if ( pData->bFP && pData->lFPStatus == 0 )
{
bOK = true;
bKP = false;
}
if ( !pData->bFP )
{
bOK = true;
bKP = true;
}
if ( !bOK )
return ;
CString str;
str.Format( _T("ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>Ʊ״̬Ϊ:%s<><73>") , bKP?_T("<EFBFBD><EFBFBD>"):_T("<EFBFBD><EFBFBD>"));
int iRet = MessageBox( str , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 );
if ( iRet != IDYES )
return ;
REQ_Corp_Pay_YS *pYS = new REQ_Corp_Pay_YS;
memset( pYS , 0 , sizeof(REQ_Corp_Pay_YS));
pYS->lPayID = pData->lPayID;
pYS->lItem = lItem;
pYS->lType = 14;
pYS->bFP = bKP;
m_pMainFrame->SendFrame( SMSFUNC_CORP_PAY_YS , (BYTE*)pYS , sizeof(REQ_Corp_Pay_YS));
}
void CC_YYSPay::On_User_FP_YK()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) )
{
return ;
}
long lItem = this->GetCurrentSelected();
if ( lItem <0 )
return ;
ANS_Corp_YYSPayData * pData = NULL;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
if ( (DWORD)pos>=0 )
{
pData = m_PayData.GetNext( pos );
}
if ( !pData->bFP || pData->lFPStatus!=0 )
{
return ;
}
CString str;
str= _T("ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>Ʊ״̬Ϊ:<3A>ѿ<EFBFBD>Ʊ<EFBFBD><C6B1>");
int iRet = MessageBox( str , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 );
if ( iRet != IDYES )
return ;
REQ_Corp_Pay_YS *pYS = new REQ_Corp_Pay_YS;
memset( pYS , 0 , sizeof(REQ_Corp_Pay_YS));
pYS->lPayID = pData->lPayID;
pYS->lItem = lItem;
pYS->lType = 24;
m_pMainFrame->SendFrame( SMSFUNC_CORP_PAY_YS , (BYTE*)pYS , sizeof(REQ_Corp_Pay_YS));
}
void CC_YYSPay::On_User_FP_YJ()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) )
{
return ;
}
long lItem = this->GetCurrentSelected();
if ( lItem <0 )
return ;
ANS_Corp_YYSPayData * pData = NULL;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
if ( (DWORD)pos>=0 )
{
pData = m_PayData.GetNext( pos );
}
if ( !pData->bFP || pData->lFPStatus!=1 )
{
return ;
}
CString str;
str= _T("ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>Ʊ״̬Ϊ:<3A>Ѽij<D1BC><C4B3><EFBFBD>");
int iRet = MessageBox( str , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 );
if ( iRet != IDYES )
return ;
REQ_Corp_Pay_YS *pYS = new REQ_Corp_Pay_YS;
memset( pYS , 0 , sizeof(REQ_Corp_Pay_YS));
pYS->lPayID = pData->lPayID;
pYS->lItem = lItem;
pYS->lType = 34;
m_pMainFrame->SendFrame( SMSFUNC_CORP_PAY_YS , (BYTE*)pYS , sizeof(REQ_Corp_Pay_YS));
}
void CC_YYSPay::On_User_FP_PRINT()
{
}
void CC_YYSPay::On_User_Export()
{
m_wndList.CopyToClipboard();
/*
// m_wndList.SetHeadings(_T("<22><><EFBFBD><EFBFBD>,50; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,200; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,80;<3B><>ֵ<EFBFBD><D6B5>ʽ,80;<3B><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>,80;<3B><><EFBFBD>ý<EFBFBD><C3BD><EFBFBD>,80;<3B><>ֵʱ<D6B5><CAB1>,130;<3B><> ע,130; ҵ<><D2B5>Ա,70"));
SortItem item[32]={0};
_tcscpy(item[0].szItem,_T("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
_tcscpy(item[1].szItem,_T("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
_tcscpy(item[2].szItem,_T("<22><>ֵ<EFBFBD><D6B5>ʽ"));
_tcscpy(item[3].szItem,_T("<22><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>"));
_tcscpy(item[4].szItem,_T("<22><><EFBFBD>ý<EFBFBD><C3BD><EFBFBD>"));
_tcscpy(item[5].szItem,_T("<22><>ֵʱ<D6B5><CAB1>"));
_tcscpy(item[6].szItem,_T("<22><>ע"));
_tcscpy(item[7].szItem,_T("ҵ<><D2B5>Ա"));
DLG_HZB_Export dlg(this);
dlg.SetParam( &m_wndList );
dlg.SetListItem(item,8,-3);
dlg.DoModal();
*/
}
void CC_YYSPay::OnCAgentpayTc()
{
/*
long lAgentID=m_L_Agent.GetItemData(m_L_Agent.GetCurSel());
if ( lAgentID==0 || lAgentID==-1 )
lAgentID=-10;
DLG_Pay_TC dlg ( this );
dlg.SetParam( NULL,&m_PayData,NULL,lAgentID );
dlg.DoModal();
*/
}
void CC_YYSPay::Close_PayData()
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
while (!m_PayData.IsEmpty())
{
ANS_Corp_YYSPayData * pData = m_PayData.GetHead();
m_PayData.RemoveHead();
delete pData;
}
}
void CC_YYSPay::Close_Corp()
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
while (!m_Corp.IsEmpty())
{
ANS_Corp_NameData * pData = m_Corp.GetHead();
m_Corp.RemoveHead();
delete pData;
}
}
void CC_YYSPay::OnCPayQuery2()
{
CString strTemp;
CString strFind;
m_E_CorpID.GetWindowText(strFind);
if ( strFind.GetLength()<=0 )
return ;
long lSel = m_L_Corp.GetCurSel();
long lCount = m_L_Corp.GetCount();
for ( int i=lSel+1 ; i<lCount ; i++ )
{
m_L_Corp.GetLBText(i,strTemp);
if ( strTemp.Find(strFind)>=0 )
{
m_L_Corp.SetCurSel(i);
OnSelchangeCPayCorp();
return ;
}
}
for ( i=0 ; i<lSel ; i++ )
{
m_L_Corp.GetLBText(i,strTemp);
if ( strTemp.Find(strFind)>=0 )
{
m_L_Corp.SetCurSel(i);
OnSelchangeCPayCorp();
return ;
}
}
}
void CC_YYSPay::OnSelchangeCPayCorp()
{
}
void CC_YYSPay::Close_YWY()
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
while (!m_YWY.IsEmpty())
{
ANS_YWY_NameData * pData = m_YWY.GetHead();
m_YWY.RemoveHead();
delete pData;
}
}
void CC_YYSPay::Close_Agent()
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
while (!m_Agent.IsEmpty())
{
ANS_Agent_NameData * pAgent = m_Agent.GetHead();
m_Agent.RemoveHead();
delete pAgent;
}
}
CString CC_YYSPay::GetName_Agent(long lAgentID)
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CString strTemp = _T("");//<2F>޴<EFBFBD><DEB4><EFBFBD><EFBFBD><EFBFBD>
POSITION pos = m_Agent.GetHeadPosition();
POSITION pos2;
while (pos)
{
pos2 = pos;
ANS_Agent_NameData * pAgent = m_Agent.GetNext(pos);
if (pAgent->lAgentID == lAgentID)
{
strTemp = pAgent->szAgentName;
break;
}
}
return strTemp;
}
CString CC_YYSPay::GetName_YWY(long lYWYID)
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CString strTemp = _T("");//<2F><>ҵ<EFBFBD><D2B5>Ա
POSITION pos = m_YWY.GetHeadPosition();
POSITION pos2;
while (pos)
{
pos2 = pos;
ANS_YWY_NameData * pYWY = m_YWY.GetNext(pos);
if (pYWY->lYWYID == lYWYID)
{
strTemp = pYWY->szYWYName;
break;
}
}
return strTemp;
}