SmsManager/C_FuncPay.cpp

1373 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_Pay.cpp : implementation file
//
#include "stdafx.h"
#include "smsmanager.h"
#include "C_FuncPay.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CC_FuncPay dialog
#include "MainFrm.h"
#include "ProcessSocket.h"
#include "DLG_HZB_Export.h"
#include "DLG_Pay_TC.h"
#include "DLG_Corp_FuncPay.h"
#include "DLG_C_Pay_YS.h"
#include "DLG_Corp_FP.h"
#include "DLG_Corp_LXR.h"
CC_FuncPay::CC_FuncPay(CWnd* pParent /*=NULL*/)
: CDialog(CC_FuncPay::IDD, pParent)
{
//{{AFX_DATA_INIT(CC_FuncPay)
m_lCorp = -1;
m_tBegin = COleDateTime::GetCurrentTime();
m_tEnd = COleDateTime::GetCurrentTime();
m_lPayType = -1;
m_lFPType = -1;
//}}AFX_DATA_INIT
m_bInit = false;
m_bRefresh = false;
m_bProcess = false;
m_pLXRDlg = NULL;
m_pFPDlg = NULL;
}
void CC_FuncPay::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CC_FuncPay)
DDX_Control(pDX, IDC_C_PAY_FPTYPE, m_L_FPType);
DDX_Control(pDX, IDC_C_PAY_AGENTID, m_E_AgentID);
DDX_Control(pDX, IDC_C_PAY_AGENT, m_L_Agent);
DDX_Control(pDX, IDC_C_PAY_YWY, m_L_YWY);
DDX_Control(pDX, IDC_C_PAY_S1, m_S_S1);
DDX_Control(pDX, IDC_C_PAY_LIST, m_wndList);
DDX_Control(pDX, IDC_C_PAY_CORPID, m_E_CorpID);
DDX_Control(pDX, IDC_C_PAY_CORP, m_L_Corp);
DDX_CBIndex(pDX, IDC_C_PAY_CORP, m_lCorp);
DDX_DateTimeCtrl(pDX, IDC_C_PAY_TBEGIN, m_tBegin);
DDX_DateTimeCtrl(pDX, IDC_C_PAY_TEND, m_tEnd);
DDX_CBIndex(pDX, IDC_C_PAY_PAYTYPE, m_lPayType);
DDX_CBIndex(pDX, IDC_C_PAY_FPTYPE, m_lFPType);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CC_FuncPay, CDialog)
//{{AFX_MSG_MAP(CC_FuncPay)
ON_WM_SIZE()
ON_BN_CLICKED(IDC_C_PAY_QUERY, OnCPayQuery)
ON_BN_CLICKED(IDC_C_PAY_QUERY2, OnCPayQuery2)
ON_CBN_SELCHANGE(IDC_C_PAY_CORP, OnSelchangeCPayCorp)
ON_NOTIFY(NM_DBLCLK, IDC_C_PAY_LIST, OnDblclkCPayList)
ON_NOTIFY(NM_RCLICK, IDC_C_PAY_LIST, OnRclickCPayList)
ON_BN_CLICKED(IDC_C_PAY_QUERY3, OnCPayQuery3)
ON_CBN_SELCHANGE(IDC_C_PAY_AGENT, OnSelchangeCPayAgent)
ON_BN_CLICKED(IDC_C_PAY_TC, OnCPayTc)
//}}AFX_MSG_MAP
ON_COMMAND(MENU_PAY_SEE , On_User_See )
ON_COMMAND(MENU_PAY_YS , On_User_YS )
ON_COMMAND(MENU_PAY_EXPORT , On_User_Export )
ON_COMMAND(MENU_PAY_FP , On_User_FP )
ON_COMMAND(MENU_PAY_FP_YK , On_User_FP_YK )
ON_COMMAND(MENU_PAY_FP_YJ , On_User_FP_YJ )
ON_COMMAND(MENU_PAY_FP_PRINT , On_User_FP_PRINT )
ON_COMMAND(MENU_PAY_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_FuncPay message handlers
BOOL CC_FuncPay::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>,180; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,80;<3B><>ֵ<EFBFBD><D6B5>ʽ,80;<3B><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>,80; <20><><EFBFBD><EFBFBD>,80; <20><><EFBFBD><EFBFBD>,60;Ӧ<><D3A6>,55;<3B><><EFBFBD><EFBFBD>,55;<3B><>ֵʱ<D6B5><CAB1>,130;<3B>տ<EFBFBD>ʱ<EFBFBD><CAB1>,130; <20><>Ʊ,80;<3B><>Ʊ״̬,80;<3B><>Ʊʱ<C6B1><CAB1>,130; <20><> ע,130;<3B><><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD>,70;<3B>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>,100; <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_PAY_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_PAY_AGENT)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_C_PAY_AGENTID)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_C_PAY_QUERY3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_C_PAY_PAYTYPE)->ShowWindow(SW_HIDE);
#endif
/*
//Ĭ<><C4AC>ȡ<EFBFBD><C8A1><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>
SYSTEMTIME t; ::GetLocalTime(&t);
t.wDay = 1;//<2F><>1<EFBFBD><31><EFBFBD><EFBFBD>
t.wMonth = t.wMonth-1;
if ( t.wMonth <=0 )
{
t.wMonth = 12;
t.wYear = t.wYear-1;
}
m_tBegin.SetDate( t.wYear,t.wMonth,t.wDay ); //<2F><>ʼ
if ( t.wMonth == 1 ||
t.wMonth == 3 ||
t.wMonth == 5 ||
t.wMonth == 7 ||
t.wMonth == 8 ||
t.wMonth == 10 ||
t.wMonth == 12 )
{
t.wDay = 31;
}
else
if (t.wMonth == 2 )
t.wDay = 28;
else
t.wDay = 30;
m_tEnd.SetDate( t.wYear,t.wMonth,t.wDay );//<2F><><EFBFBD><EFBFBD>
*/
SYSTEMTIME t; ::GetLocalTime(&t);
m_tBegin.SetDate( t.wYear,t.wMonth,1 ); //<2F><>ʼ
m_tEnd.SetDate( t.wYear,t.wMonth,t.wDay );//<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>
#ifdef SMSMANAGER_KF
m_L_FPType.DeleteString(0);
m_lFPType = 1; //Ĭ<>ϲ<CFB2><E9BFB4><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>
#endif
UpdateData(false);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
BOOL CC_FuncPay::ReShow(BOOL bRefresh)
{
ShowWindow( SW_SHOW );
if ( bRefresh || !m_bRefresh )
{
RefreshInfo();
}
return true;
}
BOOL CC_FuncPay::ReHide()
{
ShowWindow( SW_HIDE );
return true;
}
BOOL CC_FuncPay::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_FuncPay::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_PTR)pos);
pData ++;
}
m_L_Corp.SetCurSel(0);
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));
m_L_YWY.ResetContent(); //ɾ<><C9BE>ԭ<EFBFBD><D4AD><EFBFBD>е<EFBFBD><D0B5><EFBFBD>ҵ
m_L_YWY.AddString(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD>Ա"));
m_L_YWY.AddString(_T("<EFBFBD><EFBFBD>˾<EFBFBD>ͻ<EFBFBD>"));
this->Close_YWY();
for (int i = 0; i < pYWY->lCount; i++)
{
ANS_YWY_NameData * pNewData = new ANS_YWY_NameData;
*pNewData = *pData;
POSITION pos = m_YWY.AddTail(pNewData);
long lItem = m_L_YWY.AddString(pData->szYWYName);
m_L_YWY.SetItemData(lItem, (DWORD_PTR)pos);
pData++;
}
m_L_YWY.SetCurSel(0);
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;
}
//ȡ<><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));
m_L_Agent.ResetContent();
long lItem;
CString strTemp;
lItem = m_L_Agent.AddString( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>") );
m_L_Agent.SetItemData( lItem , (DWORD_PTR)-10);
lItem = m_L_Agent.AddString( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>") );
m_L_Agent.SetItemData( lItem , (DWORD_PTR)-11);
lItem = m_L_Agent.AddString( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>") );
m_L_Agent.SetItemData( lItem , (DWORD_PTR)-12);
for ( int i=0;i<pAgent->lCount;i++ )
{
//ANS_Agent_NameData * pNewData = new ANS_Agent_NameData;
//*pNewData = *pData;
//pos = m_Agent.AddTail(pNewData);
strTemp.Format( _T("%d-%s"),pData->lAgentID,pData->szAgentName);
lItem = m_L_Agent.AddString( strTemp );
//m_L_Agent.SetItemData( lItem , (DWORD_PTR)pos);
m_L_Agent.SetItemData( lItem , (DWORD_PTR)pData->lAgentID);
pData ++;
}
m_L_Agent.SetCurSel(0);
return true;
}
if(pHead->lFuncType == SMSFUNC_FUNCPAY_SEE )
{
ANS_FuncPay_See * pPay = (ANS_FuncPay_See *)pHead->pFrame;
ANS_FuncPay_SeeData * pData= (ANS_FuncPay_SeeData *)(pHead->pFrame+sizeof(ANS_FuncPay_See));
Close_PayData();
for ( int i=0 ; i<pPay->lCount ; i++ )
{
ANS_FuncPay_SeeData * pNewData = new ANS_FuncPay_SeeData;
*pNewData = *pData;
POSITION pos = m_PayData.AddTail(pNewData);
pData ++;
}
RefreshPayData();
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 12:
{
CString strType = DLG_Corp_FP::GetFPType2(pYS->bFP);
m_wndList.SetItemText(pYS->lItem,11,strType);
}
break;
case 22:
m_wndList.SetItemText(pYS->lItem,12,_T("<EFBFBD>ѿ<EFBFBD>Ʊ"));
break;
case 32:
m_wndList.SetItemText(pYS->lItem,12,_T("<EFBFBD>Ѽij<EFBFBD>"));
break;
case 42:
if ( pYS->bFP )
m_wndList.SetItemText(pYS->lItem,8,_T(" <20><>"));
else
m_wndList.SetItemText(pYS->lItem,8,_T(""));
break;
default:
m_wndList.SetItemText(pYS->lItem,7,_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;
}
return false;
}
BOOL CC_FuncPay::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;
}
void CC_FuncPay::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);
}
}
void CC_FuncPay::Close()
{
Close_Corp();
Close_PayData();
Close_YWY();
Close_Agent();
}
void CC_FuncPay::OnCPayQuery()
{
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_FuncPay_See * pPay = new REQ_FuncPay_See;memset(pPay,0,sizeof(REQ_FuncPay_See));
pPay->lCorpID = -1;
if ( m_lCorp >= 0 )
{
//<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;
}
}
}
//ҵ<><D2B5>Ա
long lYWY = m_L_YWY.GetCurSel();
if ( lYWY <= 1 ) //ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ
{
if ( lYWY <= 0 )
pPay->lYWYID = -1;
else
pPay->lYWYID = 0;
}
else
{
POSITION pos = (POSITION)m_L_YWY.GetItemData(lYWY);
POSITION pos2 = pos;
ANS_YWY_NameData * pData = m_YWY.GetNext( pos );
if (pData)
{
pPay->lYWYID = pData->lYWYID;
}
else
{
return;
}
}
m_tBegin.GetAsSystemTime( pPay->tBegin );
m_tEnd.GetAsSystemTime( pPay->tEnd );
pPay->lPayType = m_lPayType;
#ifdef SMSMANAGER_KF
pPay->lFPType = m_lFPType;
#else
pPay->lFPType = m_lFPType-1;
#endif
m_pMainFrame->SendFrame(SMSFUNC_FUNCPAY_SEE,(BYTE*)pPay,sizeof(REQ_FuncPay_See));
return ;
}
void CC_FuncPay::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_FuncPay::OnSelchangeCPayCorp()
{
if ( m_L_Corp.GetCurSel()<=0 )
{
m_L_YWY.EnableWindow(true);
}
else
{
m_L_YWY.EnableWindow(false);
}
}
void CC_FuncPay::OnDblclkCPayList(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
On_User_See();
}
void CC_FuncPay::OnRclickCPayList(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
ShowRMenu();
}
void CC_FuncPay::ShowRMenu()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) )
{
return ;
}
CMenu menu;
menu.CreatePopupMenu();
BOOL bLock = false;
long lItem = this->GetCurrentSelected();
CString str = m_wndList.GetItemText(lItem,7);
CString strFP = m_wndList.GetItemText(lItem,11);
CString strFPS= m_wndList.GetItemText(lItem,12);
CString strTest= m_wndList.GetItemText(lItem,8);
ANS_FuncPay_SeeData * pData = NULL;
if ( lItem>=0 && lItem<m_PayData.GetCount())
{
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
if ( (LONG_PTR)pos>=0)
{
pData = m_PayData.GetNext( pos );
}
}
if ( !pData )
return ;
#ifndef SMSMANAGER_KF
//<2F><><EFBFBD><EFBFBD>
if ( lItem>=0 )
{
menu.AppendMenu(MF_STRING , MENU_PAY_SEE , _T(" <20><> <20><> ") );
}
else
{
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_PAY_SEE , _T(" <20><> <20><> ") );
}
menu.AppendMenu(MF_SEPARATOR );
if ( m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_ADD,false) ) //ֻ<>л<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8>
{
if ( lItem>=0 && str==_T(" <20><>") )
{
menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_PAY_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_PAY_YS , _T(" <20><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ѽ<EFBFBD><D1BC>ɵ<EFBFBD><C9B5>ۺϲ<DBBA>ѯ) ") );
}
}
if ( lItem>=0 && strTest==_T(" <20><>") )
{
menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_PAY_TEST , _T(" <20><>Ϊ<EFBFBD>Dz<EFBFBD><C7B2>Գ<EFBFBD>ֵ(<28>Ѽ<EFBFBD><D1BC>ɵ<EFBFBD><C9B5>ۺϲ<DBBA>ѯ) ") );
}
else
{
if ( lItem>=0 )
{
menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_PAY_TEST , _T(" <20><>Ϊ<EFBFBD><CEAA><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_PTR)MenuFP.GetSafeHmenu(), _T(" <20><>Ʊѡ<C6B1><D1A1>(<28>Ѽ<EFBFBD><D1BC>ɵ<EFBFBD><C9B5>ۺϲ<DBBA>ѯ) ") );
}
#endif
if ( lItem>=0 && strFPS==_T("δ<EFBFBD><EFBFBD>Ʊ") )
{
menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_PAY_FP_YK , _T(" <20><>Ϊ<EFBFBD>ѿ<EFBFBD><D1BF><EFBFBD>Ʊ(<28>Ѽ<EFBFBD><D1BC>ɵ<EFBFBD><C9B5>ۺϲ<DBBA>ѯ) ") );
}
if ( lItem>=0 && strFPS==_T("<EFBFBD>ѿ<EFBFBD>Ʊ") )
{
menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_PAY_FP_YJ , _T(" <20><>Ϊ<EFBFBD>Ѽķ<D1BC>Ʊ(<28>Ѽ<EFBFBD><D1BC>ɵ<EFBFBD><C9B5>ۺϲ<DBBA>ѯ) ") );
}
// if ( lItem>=0 )
// {
// menu.AppendMenu(MF_SEPARATOR );
// menu.AppendMenu(MF_STRING , MENU_PAY_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_PAY_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_FuncPay::GetCurrentSelected()
{
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
if ( pos )
{
return m_wndList.GetNextSelectedItem(pos);
}
return -1;
}
void CC_FuncPay::On_User_See()
{
MessageBox( _T("<EFBFBD>Բ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱû<EFBFBD>в鿴<EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>"),_T("^_^"),MB_ICONINFORMATION );
}
void CC_FuncPay::On_User_YS()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) )
{
return ;
}
long lItem = this->GetCurrentSelected();
if ( lItem <0 )
return ;
ANS_FuncPay_SeeData * pData = NULL;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
if ( (LONG_PTR)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><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 ;
DLG_C_Pay_YS dlg(this);
COleDateTime t(pData->tYSTime);
if ( t.GetStatus() == COleDateTime::valid)
{
dlg.SetPayTime(t);
}
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 = 2;
_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_FuncPay::On_User_FPManager()
{
long lItem = this->GetCurrentSelected();
if ( lItem <0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
if ( (LONG_PTR)pos<0 )
return ;
POSITION pos2 = pos;
ANS_FuncPay_SeeData * 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->lYWYID = pData->lYWYID;
pFP->lAgentID = pData->lAgentID;
pFP->lCorpType=0; //<2F><><EFBFBD>ն<EFBFBD><D5B6><EFBFBD>ҵ
pFP->lPayType = 5;//<2F><><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_FuncPay::On_User_LXRManager()
{
long lItem = this->GetCurrentSelected();
if ( lItem <0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
if ( (LONG_PTR)pos<0 )
return ;
POSITION pos2 = pos;
ANS_FuncPay_SeeData * 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 = 5;//<2F><><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_FuncPay::On_User_Test()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) )
{
return ;
}
long lItem = this->GetCurrentSelected();
if ( lItem <0 )
return ;
ANS_FuncPay_SeeData * pData = NULL;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
if ( (LONG_PTR)pos>=0 )
{
pData = m_PayData.GetNext( pos );
}
if ( !pData)
return ;
BOOL bTest=true;
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 = 42;
pYS->bFP = bTest;
m_pMainFrame->SendFrame( SMSFUNC_CORP_PAY_YS , (BYTE*)pYS , sizeof(REQ_Corp_Pay_YS));
}
void CC_FuncPay::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_PTR)pos<0 )
return ;
POSITION pos2 = pos;
ANS_FuncPay_SeeData * 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 = 12;
pYS->bFP = lType;
m_pMainFrame->SendFrame( SMSFUNC_CORP_PAY_YS , (BYTE*)pYS , sizeof(REQ_Corp_Pay_YS));
}
void CC_FuncPay::On_User_FP()
{
/*
if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) )
{
return ;
}
long lItem = this->GetCurrentSelected();
if ( lItem <0 )
return ;
BOOL bOK=false;
BOOL bKP=true;
CString strFP = m_wndList.GetItemText(lItem,11);
CString strFPS= m_wndList.GetItemText(lItem,12);
if ( lItem>=0 && strFP==_T(" <20><>") && strFPS==_T("δ<><CEB4>Ʊ") )
{
bOK = true;
bKP = false;
}
if ( lItem>=0 && strFP!=_T(" <20><>") )
{
bOK = true;
bKP = true;
}
if ( !bOK )
return ;
CString str;
str.Format( _T("ȷ<><C8B7><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ķ<EFBFBD>Ʊ״̬Ϊ:%s<><73>") , bKP?_T("<22><>"):_T("<22><>"));
int iRet = MessageBox( str , _T("<22><><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 = m_wndList.GetItemData(lItem);
pYS->lItem = lItem;
pYS->lType = 12;
pYS->bFP = bKP;
m_pMainFrame->SendFrame( SMSFUNC_CORP_PAY_YS , (BYTE*)pYS , sizeof(REQ_Corp_Pay_YS));
*/
}
void CC_FuncPay::On_User_FP_YK()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) )
{
return ;
}
long lItem = this->GetCurrentSelected();
if ( lItem <0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
if ( (LONG_PTR)pos<0 )
return ;
POSITION pos2 = pos;
ANS_FuncPay_SeeData * pData = m_PayData.GetNext( pos );
if ( !pData )
return ;
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 = 22;
m_pMainFrame->SendFrame( SMSFUNC_CORP_PAY_YS , (BYTE*)pYS , sizeof(REQ_Corp_Pay_YS));
}
void CC_FuncPay::On_User_FP_YJ()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) )
{
return ;
}
long lItem = this->GetCurrentSelected();
if ( lItem <0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
if ( (LONG_PTR)pos<0 )
return ;
POSITION pos2 = pos;
ANS_FuncPay_SeeData * pData = m_PayData.GetNext( pos );
if ( !pData )
return ;
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 = 32;
m_pMainFrame->SendFrame( SMSFUNC_CORP_PAY_YS , (BYTE*)pYS , sizeof(REQ_Corp_Pay_YS));
}
void CC_FuncPay::On_User_FP_PRINT()
{
}
void CC_FuncPay::On_User_Export()
{
m_wndList.CopyToClipboard();
/*
//m_wndList.SetHeadings(_T("<22><><EFBFBD><EFBFBD>,50; <20><>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>,180; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,80;<3B><>ֵ<EFBFBD><D6B5>ʽ,80;<3B><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>,80; <20><><EFBFBD><EFBFBD>,80; <20><><EFBFBD><EFBFBD>,60;Ӧ<><D3A6>,55;<3B><><EFBFBD><EFBFBD>,55;<3B><>ֵʱ<D6B5><CAB1>,130; <20><> ע,130; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,80; ҵ<><D2B5>Ա,80;<3B><><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD>,70;"));
SortItem item[32]={0};
_tcscpy(item[0].szItem,_T("<22><>ҵ<EFBFBD><D2B5><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>"));
_tcscpy(item[5].szItem,_T("<22><><EFBFBD><EFBFBD>"));
_tcscpy(item[6].szItem,_T("Ӧ<><D3A6>"));
_tcscpy(item[7].szItem,_T("<22><><EFBFBD><EFBFBD>"));
_tcscpy(item[8].szItem,_T("<22><>ֵʱ<D6B5><CAB1>"));
_tcscpy(item[9].szItem,_T("<22><>ע"));
_tcscpy(item[10].szItem,_T("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
_tcscpy(item[11].szItem,_T("ҵ<><D2B5>Ա"));
_tcscpy(item[12].szItem,_T("<22><><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD>"));
DLG_HZB_Export dlg(this);
dlg.SetParam( &m_wndList );
dlg.SetListItem(item,13,-3);
dlg.DoModal();
*/
}
BOOL CC_FuncPay::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;
}
}
if ( pMsg->hwnd == m_E_AgentID && pMsg->message == WM_KEYDOWN )
{
if ( pMsg->wParam == 13 ) //<2F>س<EFBFBD><D8B3><EFBFBD>
{
this->OnCPayQuery3();
return true;
}
}
return CDialog::PreTranslateMessage(pMsg);
}
void CC_FuncPay::OnCPayQuery3()
{
CString strTemp;
CString strFind;
m_E_AgentID.GetWindowText(strFind);
if ( strFind.GetLength()<=0 )
return ;
long lSel = m_L_Agent.GetCurSel();
long lCount = m_L_Agent.GetCount();
for ( int i=lSel+1 ; i<lCount ; i++ )
{
m_L_Agent.GetLBText(i,strTemp);
if ( strTemp.Find(strFind)>=0 )
{
m_L_Agent.SetCurSel(i);
OnSelchangeCPayAgent();
return ;
}
}
for ( i=0 ; i<lSel ; i++ )
{
m_L_Agent.GetLBText(i,strTemp);
if ( strTemp.Find(strFind)>=0 )
{
m_L_Agent.SetCurSel(i);
OnSelchangeCPayAgent();
return ;
}
}
}
void CC_FuncPay::Close_PayData()
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
while (!m_PayData.IsEmpty())
{
ANS_FuncPay_SeeData * pData = m_PayData.GetHead();
m_PayData.RemoveHead();
delete pData;
}
}
void CC_FuncPay::RefreshPayData()
{
long lAgentID=m_L_Agent.GetItemData(m_L_Agent.GetCurSel());
if ( lAgentID==0 || lAgentID==-1 )
lAgentID=-10;
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 fTotal=0;
while ( pos )
{
pos2 = pos;
ANS_FuncPay_SeeData * pData = m_PayData.GetNext(pos);
if ( pData )
{
if ( (lAgentID == -10) ||
(lAgentID == -11 && pData->lAgentID <=0 ) ||
(lAgentID == -12 && pData->lAgentID >0 ) ||
(lAgentID == pData->lAgentID ) )
{
//m_wndList.SetHeadings(_T("<22><><EFBFBD><EFBFBD>,50; <20><>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>,180; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,80;<3B><>ֵ<EFBFBD><D6B5>ʽ,80;<3B><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>,80; <20><><EFBFBD><EFBFBD>,80; <20><><EFBFBD><EFBFBD>,60;Ӧ<><D3A6>,55;<3B><><EFBFBD><EFBFBD>,55;<3B><>ֵʱ<D6B5><CAB1>,130; <20><> ע,130; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,80; ҵ<><D2B5>Ա,80;"));
_stprintf( Buf , _T("%d") , i+1 );
m_wndList.InsertItem( i , Buf , 0 ); //ItemΪ0<CEAA><30>ԭ<EFBFBD><D4AD><EFBFBD>ǵ<EFBFBD>ת<EFBFBD><D7AA>ʾ
_stprintf( Buf , _T("%d-%s"),pData->lCorpID,pData->szCorpName);
m_wndList.SetItemText( i , 1 , Buf);
m_wndList.SetItemText( i , 2 , pData->szCreateUser );
m_wndList.SetItemText( i , 3 , pData->szPayMode );
_stprintf( Buf , _T("%8.2f") , pData->fPrice );
m_wndList.SetItemText( i , 4 , Buf );
m_wndList.SetItemText( i , 5 , DLG_Corp_FuncPay::GetFuncToTxt(pData->lFuncID) );
if ( pData->lType==0 )
m_wndList.SetItemText( i , 6 , _T(" <20>ر<EFBFBD>") );
else
m_wndList.SetItemText( i , 6 , _T(" <20><>ͨ") );
if ( pData->bYS )
m_wndList.SetItemText( i , 7 , _T(" <20><>") );
if ( pData->bTest )
m_wndList.SetItemText( i , 8 , _T(" <20><>") );
_stprintf( Buf , _T("%04d.%02d.%02d %02d:%02d") , pData->tPayTime.wYear,pData->tPayTime.wMonth,pData->tPayTime.wDay,pData->tPayTime.wHour,pData->tPayTime.wMinute );
m_wndList.SetItemText( i , 9 , Buf);
_stprintf( Buf , _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 , 10 , Buf);
if ( pData->bFP>0 )
{
CString strType = DLG_Corp_FP::GetFPType2(pData->bFP);
m_wndList.SetItemText( i , 11 , strType );
switch(pData->lFPStatus)
{
case 0:
default:
m_wndList.SetItemText( i , 12 , _T("δ<EFBFBD><EFBFBD>Ʊ") );
break;
case 1:
m_wndList.SetItemText( i , 12 , _T("<EFBFBD>ѿ<EFBFBD>Ʊ") );
break;
case 2:
m_wndList.SetItemText( i , 12 , _T("<EFBFBD>Ѽij<EFBFBD>") );
break;
}
if ( pData->lFPStatus>0 )
{
_stprintf( Buf , _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 , 13 , Buf);
}
}
m_wndList.SetItemText( i , 14 , pData->szBZ);
_stprintf( Buf , _T("%8d") , pData->lTCPer );
m_wndList.SetItemText( i , 15 , Buf );
m_wndList.SetItemText(i, 16, GetName_YWY(pData->lYWYID));
m_wndList.SetItemText(i, 17, GetName_Agent(pData->lAgentID));
//m_wndList.SetItemData( i , pData->lPayID );
m_wndList.SetItemData( i , (DWORD_PTR)pos2 ); //<2F><>Pos
fTotal += pData->fPrice;
i++;
}
}
}
m_wndList.InsertItem(i,_T(""),0 );
i++;
m_wndList.InsertItem(i,_T("<EFBFBD>ϼ<EFBFBD>"),0 );
_stprintf( Buf , _T("%8.2f") , fTotal );
m_wndList.SetItemText( i , 4 , Buf );
m_wndList.ShowWindow(SW_SHOW);
}
void CC_FuncPay::OnSelchangeCPayAgent()
{
RefreshPayData();
}
void CC_FuncPay::OnCPayTc()
{
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,NULL,&m_PayData,lAgentID );
dlg.DoModal();
}
void CC_FuncPay::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;
}
}
CString CC_FuncPay::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_FuncPay::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;
}
void CC_FuncPay::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_FuncPay::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;
}
}