// C_Pay.cpp : implementation file // #include "stdafx.h" #include "smsmanager.h" #include "C_Pay.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CC_Pay dialog #include "MainFrm.h" #include "ProcessSocket.h" #include "DLG_HZB_Export.h" #include "DLG_Pay_TC.h" #include "DLG_C_Pay_ADCCJ.h" #include "DLG_C_Pay_YS.h" #include "DLG_Corp_FP.h" #include "DLG_Corp_LXR.h" CC_Pay::CC_Pay(CWnd* pParent /*=NULL*/) : CDialog(CC_Pay::IDD, pParent) { //{{AFX_DATA_INIT(CC_Pay) m_lCorp = -1; m_tBegin = COleDateTime::GetCurrentTime(); m_tEnd = COleDateTime::GetCurrentTime(); m_lPayType = -1; m_lType = -1; m_lAdcStatus = -1; m_lFPType = -1; //}}AFX_DATA_INIT m_bInit = false; m_bRefresh = false; m_bProcess = false; m_pLXRDlg = NULL; m_pFPDlg = NULL; } void CC_Pay::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CC_Pay) 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_TYPE, m_lType); DDX_CBIndex(pDX, IDC_C_PAY_ADCSTATUS, m_lAdcStatus); DDX_CBIndex(pDX, IDC_C_PAY_FPTYPE, m_lFPType); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CC_Pay, CDialog) //{{AFX_MSG_MAP(CC_Pay) 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_CBN_SELCHANGE(IDC_C_PAY_AGENT, OnSelchangeCPayAgent) ON_BN_CLICKED(IDC_C_PAY_TC, OnCPayTc) ON_BN_CLICKED(IDC_C_PAY_QUERY3, OnCPayQuery3) //}}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_ADC_PROCESS , On_User_Adc_Process) ON_COMMAND(MENU_PAY_ADC_YCJ , On_User_Adc_YCJ) ON_COMMAND(MENU_PAY_ADC_YFP , On_User_Adc_YFP) ON_COMMAND(MENU_PAY_ADC_TC_SEL , On_User_Adc_TC_Sel) ON_COMMAND(MENU_PAY_ADC_TC_QR , On_User_Adc_TC_QR) 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(MENU_PAY_CB , On_User_CB ) ON_COMMAND(MENU_PAY_YSTYPE_YC , On_User_YSTYPE_YC ) ON_COMMAND(MENU_PAY_YSTYPE_ZF , On_User_YSTYPE_ZF ) 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_Pay message handlers BOOL CC_Pay::OnInitDialog() { CDialog::OnInitDialog(); //ȡ�ù��ò��� //CMainFrame * pFrame = static_cast <CMainFrame *>((CMainFrame *)AfxGetMainWnd()); this->GetParent()->GetParentFrame(); m_pMainFrame = (CMainFrame *)this->GetParent()->GetParentFrame(); m_pSocket = &m_pMainFrame->m_Socket; //��ʼ��List m_Image.Create(16,16,ILC_COLOR16|ILC_MASK,5,5); m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_LIST) ); m_wndList.SubClassWindow2(); #ifdef SMSCENTER_ADC m_wndList.SetHeadings(_T("���,50; ��ҵ����,180; ������,80;��ֵ����,80;ADC״̬,80;��ֵ��ʽ,80;��ֵ���,80; ����,80;С��,70; ����,70; ������,70;Ԥ��Ʊ,55;Ӧ��,55;����,55;�ɱ�,55;��ֵʱ��,130;����ʱ��,130;�տ�ʱ��,130; ��Ʊ,80;��Ʊ״̬,80;��Ʊʱ��,130;������Ʒ,80;��Ʒ��ֵ,80;������,80;�Ƽ�����,80; �� ע,130; ������,120;�������,70;ADC���Ŵ���,100;ADC CA����,100;ADC�������,130;ADC�����ʱ��,130;�����������,80;1�³��,70;2�³��,70;3�³��,70;4�³��,70;5�³��,70;6�³��,70;7�³��,70;")); #else m_wndList.SetHeadings(_T("���,50; ��ҵ����,180; ������,80;��ֵ��ʽ,80;��ֵ���,80; ����,80;С��,70; ����,70; ������,70;Ԥ��Ʊ,55;Ӧ��,55;����,55;�ɱ�,55;��ֵʱ��,130;����ʱ��,130;�տ�ʱ��,130; ��Ʊ,80;��Ʊ״̬,80;��Ʊʱ��,130;������Ʒ,80;��Ʒ��ֵ,80;������,80;�Ƽ�����,80; �� ע,130;�ͻ�����,90; ������,130;�������,70;")); #endif m_wndList.SetGridLines(true); // m_wndList.SetImageList(&m_Image,LVSIL_SMALL); #ifdef SMSCENTER_ADC m_wndList.SetCheckboxes(true); #endif 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 #ifdef SMSCENTER_NX GetDlgItem(IDC_C_PAY_ADC_S1)->ShowWindow(SW_HIDE); GetDlgItem(IDC_C_PAY_ADC_S2)->ShowWindow(SW_HIDE); GetDlgItem(IDC_C_PAY_YWY)->ShowWindow(SW_HIDE); GetDlgItem(IDC_C_PAY_PAYTYPE)->ShowWindow(SW_HIDE); GetDlgItem(IDC_C_PAY_FPTYPE)->ShowWindow(SW_HIDE); #endif /* //Ĭ��ȡ���µ����� SYSTEMTIME t; ::GetLocalTime(&t); t.wDay = 1;//��1���� 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 ); //��ʼ 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 );//���� */ SYSTEMTIME t; ::GetLocalTime(&t); m_tBegin.SetDate( t.wYear,t.wMonth,1 ); //��ʼ m_tEnd.SetDate( t.wYear,t.wMonth,t.wDay );//���� m_lPayType = 0; //Ĭ�ϲ鿴�����ֻ����� m_lFPType = 0; //Ĭ�ϲ鿴�����ֻ����� #ifdef SMSMANAGER_KF m_L_FPType.DeleteString(0); m_lFPType = 1; //Ĭ�ϲ鿴�����ֻ����� #endif #ifdef SMSCENTER_ADC GetDlgItem(IDC_C_PAY_ADC_S)->ShowWindow(SW_SHOW); GetDlgItem(IDC_C_PAY_TYPE)->ShowWindow(SW_SHOW); GetDlgItem(IDC_C_PAY_ADCSTATUS)->ShowWindow(SW_SHOW); m_lType = 0; m_lAdcStatus=0; #endif UpdateData(false); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } BOOL CC_Pay::ReShow(BOOL bRefresh) { ShowWindow( SW_SHOW ); if ( bRefresh || !m_bRefresh ) { RefreshInfo(); } return true; } BOOL CC_Pay::ReHide() { ShowWindow( SW_HIDE ); return true; } BOOL CC_Pay::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); //ȡ������Ϣ m_pMainFrame->SendFrame(SMSFUNC_YWY_NAME,NULL,0); //ȡ������Ϣ return true; } BOOL CC_Pay::ProcessSocket(Socket_Head *pHead) { CString strTemp; //ȡ������Ϣ if (pHead->lFuncType == SMSFUNC_CORP_NAME) { m_bRefresh = true; //�Ѿ�ˢ�¹� 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(); //ɾ��ԭ���е���ҵ m_L_Corp.AddString( _T("������ҵ") ); this->Close_Corp(); //�ر�ԭ���� 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_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(); //ɾ��ԭ���е���ҵ m_L_YWY.AddString( _T("����ҵ��Ա") ); m_L_YWY.AddString( _T("��˾�ͻ�") ); 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)pos); pData ++; } m_L_YWY.SetCurSel(0); return true; } //ȡ��������Ϣ 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(); POSITION pos; m_L_Agent.ResetContent(); long lItem; CString strTemp; lItem = m_L_Agent.AddString( _T("�����û�") ); m_L_Agent.SetItemData( lItem , (DWORD)-10); lItem = m_L_Agent.AddString( _T("�����û�") ); m_L_Agent.SetItemData( lItem , (DWORD)-11); lItem = m_L_Agent.AddString( _T("�����û�") ); m_L_Agent.SetItemData( lItem , (DWORD)-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)pos); //m_L_Agent.SetItemData( lItem , (DWORD)pData->lAgentID); pData ++; } m_L_Agent.SetCurSel(0); return true; } if(pHead->lFuncType == SMSFUNC_PAY_SEE ) { ANS_Pay_See * pPay = (ANS_Pay_See *)pHead->pFrame; ANS_Pay_SeeData * pData= (ANS_Pay_SeeData *)(pHead->pFrame+sizeof(ANS_Pay_See)); Close_PayData(); for ( int i=0 ; i<pPay->lCount ; i++ ) { ANS_Pay_SeeData * pNewData = new ANS_Pay_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 ) { #ifdef SMSCENTER_ADC switch(pYS->lType) { case 10: if ( pYS->bFP ) m_wndList.SetItemText(pYS->lItem,17,_T(" ��")); else m_wndList.SetItemText(pYS->lItem,17,_T("")); break; case 20: m_wndList.SetItemText(pYS->lItem,18,_T("�ѿ�Ʊ")); break; case 30: m_wndList.SetItemText(pYS->lItem,18,_T("�Ѽij�")); break; default: m_wndList.SetItemText(pYS->lItem,11,_T("")); break; } #else switch(pYS->lType) { case 10: { CString strType = DLG_Corp_FP::GetFPType2(pYS->bFP); m_wndList.SetItemText(pYS->lItem,16,strType); } break; case 20: m_wndList.SetItemText(pYS->lItem,17,_T("�ѿ�Ʊ")); break; case 30: m_wndList.SetItemText(pYS->lItem,17,_T("�Ѽij�")); break; case 40: if ( pYS->bFP ) m_wndList.SetItemText(pYS->lItem,11,_T(" ��")); else m_wndList.SetItemText(pYS->lItem,11,_T("")); break; case 50: if ( pYS->bFP ) m_wndList.SetItemText(pYS->lItem,12,_T(" ��")); else m_wndList.SetItemText(pYS->lItem,12,_T("")); break; case 60: //if ( pYS->bFP ) m_wndList.SetItemText(pYS->lItem,9,_T("")); break; case 70: //if ( pYS->bFP ) m_wndList.SetItemText(pYS->lItem,9,_T("����")); break; case 0: m_wndList.SetItemText(pYS->lItem,10,_T("")); break; default: break; } #endif } return true; } if ( pHead->lFuncType == SMSFUNC_PAY_SETADCSTATUS ) { ANS_Pay_SetAdcStatus * pAdc = (ANS_Pay_SetAdcStatus *)pHead->pFrame; CString str; if ( pAdc->bOK ) { str.Format( _T("����ADC��ֵ״̬�ɹ���������%d����¼��") , pAdc->lCount ); MessageBox( str , _T("��Ϣ") , MB_ICONINFORMATION ); } else { MessageBox( _T("����ADC��ֵ״̬ʧ�ܣ�") , _T("����") , MB_ICONWARNING ); } return true; } if ( pHead->lFuncType == SMSFUNC_PAY_SETADCAGENTTC ) { ANS_Pay_SetAdcAgentTC * pAdc = (ANS_Pay_SetAdcAgentTC *)pHead->pFrame; CString str; if ( pAdc->bOK ) { str.Format( _T("����ADC�����̳���ֵ״̬�ɹ���������%d����¼��") , pAdc->lCount ); MessageBox( str , _T("��Ϣ") , MB_ICONINFORMATION ); } else { MessageBox( _T("����ADC�����̳���ֵ״̬ʧ�ܣ�") , _T("����") , MB_ICONWARNING ); } return true; } //�鿴��ϵ�� if (pHead->lFuncType == SMSFUNC_CORP_LXR) { ANS_Corp_LXR * pLXR = (ANS_Corp_LXR *)pHead->pFrame; if (pLXR->lCount < 0) //Ȩ���� 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); //��ҵ����Ϊ:0(��ҵ) 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; //��������е����� ANS_Corp_LXRData * pLXRTemp; while (!dlg.m_LXR.IsEmpty()) { pLXRTemp = dlg.m_LXR.GetHead(); //pLXRTemp->lCorpType = 0; //ǿ��������ҵ����Ϊ:0(��ҵ) dlg.m_LXR.RemoveHead(); if (pLXRTemp->ucStatus != 0 ) //��Ϊ0,��Ҫ�� { *pLXRSend = *pLXRTemp; pLXRSend ++; } delete pLXRTemp; } m_pMainFrame->SendFrame( SMSFUNC_CORP_LXRMODIFY , pDataSend , lSize ); } else { //��������е����� 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; } //��ϵ���� if (pHead->lFuncType == SMSFUNC_CORP_LXRMODIFY) { return true; } return false; } BOOL CC_Pay::ProcessSocket(Socket_Head_Add *pHead, BYTE *pFrame) { //�鿴��ϵ�� if (pHead->lFuncType == SMSFUNC_CORP_FP) { ANS_Corp_FP * pFP = (ANS_Corp_FP *)pFrame; if (pFP->lCount < 0) //Ȩ���� 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); //��ҵ����Ϊ:0(��ҵ) 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; //��������е����� ANS_Corp_FPData * pFPTemp; while (!dlg.m_FP.IsEmpty()) { pFPTemp = dlg.m_FP.GetHead(); //pFPTemp->lCorpType = 0; //ǿ��������ҵ����Ϊ:0(��ҵ) dlg.m_FP.RemoveHead(); if (pFPTemp->ucStatus != 0 ) //��Ϊ0,��Ҫ�� { *pFPSend = *pFPTemp; pFPSend ++; } delete pFPTemp; } m_pMainFrame->SendFrame( SMSFUNC_CORP_FPMODIFY , pDataSend , lSize ); } else { //��������е����� 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; } //��ϵ���� 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_Pay::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_Pay::Close() { Close_Corp(); Close_YWY(); Close_PayData(); Close_Agent(); } void CC_Pay::OnCPayQuery() { UpdateData(true); if ( m_tEnd < m_tBegin ) { MessageBox( _T("��ѯ�������ڲ���С����ʼ���ڣ������!") , _T("����") , MB_ICONWARNING ); return ; } REQ_Pay_See * pPay = new REQ_Pay_See;memset(pPay,0,sizeof(REQ_Pay_See)); //��ҵ if ( m_lCorp <= 0 ) //ѡ��������ҵ { 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; } } //ҵ��Ա long lYWY = m_L_YWY.GetCurSel(); if ( lYWY <= 1 ) //ѡ��������ҵ { 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 #ifdef SMSCENTER_ADC pPay->lType = m_lType-1; pPay->lAdcStatus = m_lAdcStatus-1; #endif m_pMainFrame->SendFrame(SMSFUNC_PAY_SEE,(BYTE*)pPay,sizeof(REQ_Pay_See)); return ; } void CC_Pay::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_Pay::OnSelchangeCPayCorp() { if ( m_L_Corp.GetCurSel()<=0 ) { m_L_YWY.EnableWindow(true); } else { m_L_YWY.EnableWindow(false); } } void CC_Pay::OnDblclkCPayList(NMHDR* pNMHDR, LRESULT* pResult) { *pResult = 0; On_User_See(); } void CC_Pay::OnRclickCPayList(NMHDR* pNMHDR, LRESULT* pResult) { *pResult = 0; ShowRMenu(); } void CC_Pay::ShowRMenu() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) ) { return ; } CMenu menu; menu.CreatePopupMenu(); BOOL bLock = false; long lItem = this->GetCurrentSelected(); ANS_Pay_SeeData * 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 ; #ifdef SMSCENTER_ADC CString str = m_wndList.GetItemText(lItem,11); CString strFP = m_wndList.GetItemText(lItem,16); CString strFPS= m_wndList.GetItemText(lItem,17); #else CString str = m_wndList.GetItemText(lItem,9); CString strFP = m_wndList.GetItemText(lItem,14); CString strFPS= m_wndList.GetItemText(lItem,15); #endif #if !defined(SMSCENTER_NX) #ifndef SMSMANAGER_KF //���� if ( lItem>=0 ) { menu.AppendMenu(MF_STRING , MENU_PAY_SEE , _T(" �� �� ") ); } else { menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_PAY_SEE , _T(" �� �� ") ); } menu.AppendMenu(MF_SEPARATOR ); if ( m_pMainFrame->GetUserPurview(PURVIEW_MANAGER_ADD,false) ) //ֻ�л�С������Ȩ�� { if ( lItem>=0 && pData && pData->bYS ) { menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_PAY_YS , _T(" ��Ϊ��������(�Ѽ��ɵ��ۺϲ�ѯ) ") ); } else { menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_PAY_YS , _T(" ��Ϊ��������(�Ѽ��ɵ��ۺϲ�ѯ) ") ); } } if ( lItem>=0 && pData && pData->bTest ) { menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_PAY_TEST , _T(" ��Ϊ�Dz��Գ�ֵ(�Ѽ��ɵ��ۺϲ�ѯ) ") ); } if ( lItem>=0 && pData && !pData->bTest ) { menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_PAY_TEST , _T(" ��Ϊ���Գ�ֵ(�Ѽ��ɵ��ۺϲ�ѯ) ") ); } if ( lItem>=0 && pData && pData->bCB ) { menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_PAY_CB , _T(" ��Ϊ�dzɱ�����(�Ѽ��ɵ��ۺϲ�ѯ) ") ); } if ( lItem>=0 && pData && !pData->bCB ) { menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_PAY_CB , _T(" ��Ϊ�ɱ�����(�Ѽ��ɵ��ۺϲ�ѯ) ") ); } if ( lItem>=0 && pData && pData->lYSType==1 ) //��Ԥ����ţ������ó��ѳ估���� { menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_PAY_YSTYPE_YC , _T(" ȷ�ϳ�ֵ(�Ѽ��ɵ��ۺϲ�ѯ) ") ); menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_PAY_YSTYPE_ZF , _T(" ���ϳ�ֵ(�Ѽ��ɵ��ۺϲ�ѯ) ") ); } if ( lItem>=0 && pData && pData->lFPStatus==0 ) { CMenu MenuFP; MenuFP.CreatePopupMenu(); MenuFP.AppendMenu(MF_STRING , MENU_PAY_FP_NO , _T(" ���跢Ʊ ") ); MenuFP.AppendMenu(MF_STRING , MENU_PAY_FP_TYPE1 , _T(" ��˰Ʊ ") ); MenuFP.AppendMenu(MF_STRING , MENU_PAY_FP_TYPE2 , _T(" ��ֵ˰��Ʊ ") ); MenuFP.AppendMenu(MF_STRING , MENU_PAY_FP_TYPE3 , _T(" �ƶ�Ʊ ") ); MenuFP.AppendMenu(MF_STRING , MENU_PAY_FP_TYPE4 , _T(" ��ֵ˰רƱ ") ); MenuFP.AppendMenu(MF_STRING , MENU_PAY_FP_TYPE5 , _T(" ���跢Ʊ�ѱ�˰ ") ); MenuFP.AppendMenu(MF_STRING, MENU_PAY_FP_TYPE6, _T(" ӯ����Ʊ ")); MenuFP.AppendMenu(MF_STRING, MENU_PAY_FP_TYPE7, _T(" ӯ��רƱ ")); menu.AppendMenu(MF_STRING|MF_POPUP | MF_DISABLED | MF_GRAYED ,(UINT)MenuFP.GetSafeHmenu(), _T(" ��Ʊѡ��(�Ѽ��ɵ��ۺϲ�ѯ) ") ); } /* if ( lItem>=0 && pData && !pData->bFP ) { menu.AppendMenu(MF_STRING , MENU_PAY_FP , _T(" ��Ϊ��Ҫ��Ʊ ") ); } */ #endif if ( lItem>=0 && pData && pData->bFP>0 && pData->lFPStatus==0 ) { menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_PAY_FP_YK , _T(" ��Ϊ�ѿ���Ʊ(�Ѽ��ɵ��ۺϲ�ѯ) ") ); } if ( lItem>=0 && pData && pData->bFP>0 && pData->lFPStatus==1 ) { menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_PAY_FP_YJ , _T(" ��Ϊ�Ѽķ�Ʊ(�Ѽ��ɵ��ۺϲ�ѯ) ") ); } if ( lItem>=0 && pData ) //��Ԥ����ţ������ó��ѳ估���� { menu.AppendMenu(MF_SEPARATOR ); menu.AppendMenu(MF_STRING , MENU_PAY_FPMANAGER , _T(" ��Ʊ̧ͷ... ") ); menu.AppendMenu(MF_STRING , MENU_PAY_LXRMANAGER , _T(" ��ϵ��... ") ); } // if ( lItem>=0 ) // { // menu.AppendMenu(MF_SEPARATOR ); // menu.AppendMenu(MF_STRING , MENU_PAY_FP_PRINT , _T(" ��ӡ�ŷ� ") ); // } #ifndef SMSMANAGER_KF #ifdef SMSCENTER_ADC menu.AppendMenu(MF_SEPARATOR ); menu.AppendMenu(MF_STRING , MENU_PAY_ADC_PROCESS , _T(" ADC��ֵ_�Ѵ��� ") ); menu.AppendMenu(MF_STRING , MENU_PAY_ADC_YCJ , _T(" ADC��ֵ_�ѳ�ֵ ") ); menu.AppendMenu(MF_STRING , MENU_PAY_ADC_YFP , _T(" ADC��ֵ_�Ѻ˷�Ʊ ") ); /* CMenu MenuType; MenuType.CreatePopupMenu(); MenuType.AppendMenu(MF_STRING , MENU_PAY_ADC_TC_SEL , _T(" ����ѡ��Ӧ�����¼ ") ); MenuType.AppendMenu(MF_STRING , MENU_PAY_ADC_TC_QR , _T(" ȷ�Ϸ��Ŵ������ ") ); menu.AppendMenu(MF_SEPARATOR ); menu.AppendMenu(MF_STRING|MF_POPUP,(UINT)MenuType.GetSafeHmenu(), _T(" ADC�����̳���� ") ); */ #endif menu.AppendMenu(MF_SEPARATOR ); menu.AppendMenu(MF_STRING , MENU_PAY_EXPORT , _T(" �������� ") ); #endif #else menu.AppendMenu(MF_STRING , MENU_PAY_EXPORT , _T(" �������� ") ); #endif //��ʾ�˵� POINT pt ; ::GetCursorPos( &pt ); //this->ClientToScreen( &pt); menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL); menu.DestroyMenu(); } long CC_Pay::GetCurrentSelected() { POSITION pos = m_wndList.GetFirstSelectedItemPosition(); if ( pos ) { return m_wndList.GetNextSelectedItem(pos); } return -1; } void CC_Pay::On_User_See() { MessageBox( _T("�Բ�����ʱû�в鿴���ܣ�"),_T("^_^"),MB_ICONINFORMATION ); } void CC_Pay::On_User_YS() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) ) { return ; } long lItem = this->GetCurrentSelected(); if ( lItem <0 ) return ; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ( (long)pos<0 ) return ; POSITION pos2 = pos; ANS_Pay_SeeData * pData = m_PayData.GetNext( pos ); if ( !pData->bYS ) return ; int iRet = MessageBox( _T("���Ҫ���˱ʿ����ó����գ���״̬���ָܻ���") , _T("����") , 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 = 0; _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_Pay::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_Pay_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; //���ն���ҵ pFP->lPayType = 1;//���ų�ֵ pFP->lPayID = pData->lPayID; //��ֵID pFP->fPrice = pData->fPrice; //��ֵ��� m_pMainFrame->SendFrame( SMSFUNC_CORP_FP , (BYTE*)pFP , sizeof(REQ_Corp_FP) ); //ȡ��ϵ����Ϣ } void CC_Pay::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_Pay_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; //���ն���ҵ pLXR->lPayType = 1;//���ų�ֵ pLXR->lPayID = pData->lPayID; //��ֵID pLXR->fPrice = pData->fPrice; //��ֵ��� m_pMainFrame->SendFrame( SMSFUNC_CORP_LXR , (BYTE*)pLXR , sizeof(REQ_Corp_LXR) ); //ȡ��ϵ����Ϣ } void CC_Pay::On_User_Test() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) ) { return ; } long lItem = this->GetCurrentSelected(); if ( lItem <0 ) return ; BOOL bOK=false; BOOL bTest=true; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ( (long)pos<0 ) return ; POSITION pos2 = pos; ANS_Pay_SeeData * pData = m_PayData.GetNext( pos ); if ( pData->bTest ) { bOK = true; bTest = false; } if ( !pData->bTest ) { bOK = true; bTest = true; } if ( !bOK ) return ; CString str; str.Format( _T("ȷ����Ҫ���IJ���ת��״̬Ϊ:%s��") , bTest?_T("��"):_T("��")); int iRet = MessageBox( str , _T("����") , 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 = 40; pYS->bFP = bTest; m_pMainFrame->SendFrame( SMSFUNC_CORP_PAY_YS , (BYTE*)pYS , sizeof(REQ_Corp_Pay_YS)); } void CC_Pay::On_User_CB() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) ) { return ; } long lItem = this->GetCurrentSelected(); if ( lItem <0 ) return ; BOOL bOK=false; BOOL bTest=true; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ( (long)pos<0 ) return ; POSITION pos2 = pos; ANS_Pay_SeeData * pData = m_PayData.GetNext( pos ); if ( pData->bCB ) { bOK = true; bTest = false; } if ( !pData->bCB ) { bOK = true; bTest = true; } if ( !bOK ) return ; CString str; str.Format( _T("ȷ����Ҫ���ijɱ�����״̬Ϊ:%s��") , bTest?_T("��"):_T("��")); int iRet = MessageBox( str , _T("����") , 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 = 50; pYS->bFP = bTest; m_pMainFrame->SendFrame( SMSFUNC_CORP_PAY_YS , (BYTE*)pYS , sizeof(REQ_Corp_Pay_YS)); } void CC_Pay::On_User_YSTYPE_YC() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) ) { return ; } long lItem = this->GetCurrentSelected(); if ( lItem <0 ) return ; BOOL bOK=false; BOOL bTest=true; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ( (long)pos<0 ) return ; POSITION pos2 = pos; ANS_Pay_SeeData * pData = m_PayData.GetNext( pos ); if ( pData->lYSType!=1 ) //ֻ����Ԥ���ʱ�������ʽ��ֵ { return; } CString str; str.Format( _T("�Ƿ�ȷ�ϴ˱ʳ�ֵ��ȷ�Ϻ������ϣ�") ); int iRet = MessageBox( str , _T("����") , 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 = 60; pYS->bFP = bTest; m_pMainFrame->SendFrame( SMSFUNC_CORP_PAY_YS , (BYTE*)pYS , sizeof(REQ_Corp_Pay_YS)); } void CC_Pay::On_User_YSTYPE_ZF() { if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) ) { return ; } long lItem = this->GetCurrentSelected(); if ( lItem <0 ) return ; BOOL bOK=false; BOOL bTest=true; POSITION pos = (POSITION)m_wndList.GetItemData(lItem); if ( (long)pos<0 ) return ; POSITION pos2 = pos; ANS_Pay_SeeData * pData = m_PayData.GetNext( pos ); if ( pData->lYSType!=1 ) //ֻ����Ԥ���ʱ�������ʽ��ֵ { return; } CString str; str.Format( _T("�Ƿ����ϴ˱ʳ�ֵ��ȷ�Ϻ��ָܻ���") ); int iRet = MessageBox( str , _T("����") , 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 = 70; pYS->bFP = bTest; m_pMainFrame->SendFrame( SMSFUNC_CORP_PAY_YS , (BYTE*)pYS , sizeof(REQ_Corp_Pay_YS)); } void CC_Pay::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_Pay_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("���跢Ʊ"); break; case 1: strType = _T("��˰��Ʊ"); break; case 2: strType = _T("��ֵ˰��Ʊ"); break; case 3: strType = _T("�ƶ���Ʊ"); break; case 4: strType = _T("��ֵ˰רƱ"); break; case 5: strType = _T("���跢Ʊ�ѱ�˰"); break; case 6: strType = _T("ӯ����Ʊ"); break; case 7: strType = _T("ӯ��רƱ"); break; } CString str; str.Format( _T("ȷ����Ҫ���ķ�Ʊ״̬Ϊ:%s��") , strType); int iRet = MessageBox( str , _T("����") , 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 = 10; pYS->bFP = lType; m_pMainFrame->SendFrame( SMSFUNC_CORP_PAY_YS , (BYTE*)pYS , sizeof(REQ_Corp_Pay_YS)); } void CC_Pay::On_User_FP() { 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_Pay_SeeData * 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("ȷ����Ҫ���ķ�Ʊ״̬Ϊ:%s��") , bKP?_T("��"):_T("��")); int iRet = MessageBox( str , _T("����") , 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 = 10; pYS->bFP = bKP; m_pMainFrame->SendFrame( SMSFUNC_CORP_PAY_YS , (BYTE*)pYS , sizeof(REQ_Corp_Pay_YS)); } void CC_Pay::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)pos<0 ) return ; POSITION pos2 = pos; ANS_Pay_SeeData * pData = m_PayData.GetNext( pos ); if ( !pData->bFP || pData->lFPStatus!=0 ) //����Ҫ����Ʊ������״̬����Ϊ��δ��Ʊ���IJ����� { return ; } CString str; str= _T("ȷ����Ҫ���ķ�Ʊ״̬Ϊ:�ѿ�Ʊ��"); int iRet = MessageBox( str , _T("����") , 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 = 20; m_pMainFrame->SendFrame( SMSFUNC_CORP_PAY_YS , (BYTE*)pYS , sizeof(REQ_Corp_Pay_YS)); } void CC_Pay::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)pos<0 ) return ; POSITION pos2 = pos; ANS_Pay_SeeData * pData = m_PayData.GetNext( pos ); if ( !pData->bFP || pData->lFPStatus!=1 ) //����Ҫ����Ʊ������״̬����Ϊ���ѿ�Ʊ���IJ����� { return ; } CString str; str= _T("ȷ����Ҫ���ķ�Ʊ״̬Ϊ:�Ѽij���"); int iRet = MessageBox( str , _T("����") , 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 = 30; m_pMainFrame->SendFrame( SMSFUNC_CORP_PAY_YS , (BYTE*)pYS , sizeof(REQ_Corp_Pay_YS)); } void CC_Pay::On_User_FP_PRINT() { } void CC_Pay::On_User_Export() { m_wndList.CopyToClipboard(); /* //m_wndList.SetHeadings(_T("���,50; ��ҵ����,120; ��ֵ��,80;��ֵ��ʽ,80;��ֵ���,80; ����,80;С��,70; ����,70; ������,70;��ֵʱ��,130;����ʱ��,130; �� ע,130;")); SortItem item[32]={0}; _tcscpy(item[0].szItem,_T("��ҵ����")); _tcscpy(item[1].szItem,_T("������")); _tcscpy(item[2].szItem,_T("��ֵ��ʽ")); _tcscpy(item[3].szItem,_T("��ֵ���")); _tcscpy(item[4].szItem,_T("����")); _tcscpy(item[5].szItem,_T("С��")); _tcscpy(item[6].szItem,_T("����")); _tcscpy(item[7].szItem,_T("������")); _tcscpy(item[8].szItem,_T("Ӧ��")); _tcscpy(item[9].szItem,_T("����")); _tcscpy(item[10].szItem,_T("��ֵʱ��")); _tcscpy(item[11].szItem,_T("����ʱ��")); _tcscpy(item[12].szItem,_T("��ע")); _tcscpy(item[13].szItem,_T("������")); DLG_HZB_Export dlg(this); dlg.SetParam( &m_wndList ); dlg.SetListItem(item,14,-3); dlg.DoModal(); */ } BOOL CC_Pay::PreTranslateMessage(MSG* pMsg) { if ( pMsg->hwnd == m_E_CorpID && pMsg->message == WM_KEYDOWN ) { if ( pMsg->wParam == 13 ) //�س��� { this->OnCPayQuery2(); return true; } } return CDialog::PreTranslateMessage(pMsg); } void CC_Pay::Close_PayData() { //��������е����� while (!m_PayData.IsEmpty()) { ANS_Pay_SeeData * pData = m_PayData.GetHead(); m_PayData.RemoveHead(); delete pData; } } void CC_Pay::RefreshPayData() { CString str; long lAgentID=m_L_Agent.GetItemData(m_L_Agent.GetCurSel()); if ( lAgentID >=0 ) { POSITION pos = (POSITION)lAgentID; ANS_Agent_NameData * pData = m_Agent.GetNext( pos ); if (pData) lAgentID = pData->lAgentID; } if ( lAgentID==0 || lAgentID==-1 ) lAgentID=-10; m_wndList.ShowWindow(SW_HIDE); m_wndList.DeleteAllItems(); //ɾ��ԭ�е����� POSITION pos = m_PayData.GetHeadPosition(); POSITION pos2=0; int i=0; TCHAR Buf[128]={0}; double fTotal=0; double fLPTotal=0; long lCommend_VipIntTotal = 0; long lSms=0; long lPresent=0; long lSmsAll=0; while ( pos ) { pos2 = pos; ANS_Pay_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("���,50; ��ҵ����,180; ������,80;��ֵ����,80;ADC״̬,80;��ֵ��ʽ,80;��ֵ���,80; ����,80;С��,70; ����,70; ������,70;Ӧ��,55;����,55;��ֵʱ��,130;����ʱ��,130; �� ע,130; ������,70;ADC�������,130;ADC��ֵ���ʱ��,130;")); //m_wndList.SetHeadings(_T("���,50; ��ֵ��,80;��ֵ��ʽ,80;��ֵ���,80; ����,60;С��,70; ����,70; ������,70;��ֵʱ��,130;����ʱ��,130; �� ע,130;")); _stprintf( Buf , _T("%d") , i+1 ); m_wndList.InsertItem( i , Buf , 0 ); //ItemΪ0��ԭ���ǵ�ת��ʾ int iIndex=1; _stprintf( Buf , _T("%d-%s"),pData->lCorpID,pData->szCorpName); m_wndList.SetItemText( i , iIndex++ , Buf); //m_wndList.SetItemText( i , iIndex++ , pData->szPayMan ); m_wndList.SetItemText( i , iIndex++ , pData->szCreateUser ); #ifdef SMSCENTER_ADC if ( pData->lPayType ==1 ) m_wndList.SetItemText( i , iIndex++ , _T("ADC��ֵ") ); else m_wndList.SetItemText( i , iIndex++ , _T("�����׳�ֵ") ); if ( pData->lPayType ==1 ) { switch( pData->lAdcStatus ) { case 1: m_wndList.SetItemText( i , iIndex++ , _T("������") ); break; case 2: m_wndList.SetItemText( i , iIndex++ , _T("�ѳ�ֵ") ); break; case 3: m_wndList.SetItemText( i , iIndex++ , _T("��ע��") ); break; case 4: m_wndList.SetItemText( i , iIndex++ , _T("�Ѻ˷�Ʊ") ); break; default: m_wndList.SetItemText( i , iIndex++ , _T("δ����") ); } } else { iIndex++; } #endif m_wndList.SetItemText( i , iIndex++ , pData->szPayMode ); _stprintf( Buf , _T("%8.2f") , pData->fPrice ); m_wndList.SetItemText( i , iIndex++ , Buf ); _stprintf( Buf , _T("%8.4f") , pData->fPriceOne); m_wndList.SetItemText( i , iIndex++ , Buf ); double l = 0.0f; if (pData->fPrice!=0 && pData->fPriceOne!=0 ) l=pData->fPrice/pData->fPriceOne; long a = long(l+0.5f); if ( a<0 ) a = long(l-0.5f); _stprintf( Buf , _T("%8d") , a); m_wndList.SetItemText( i , iIndex++ , Buf ); _stprintf( Buf , _T("%8d") , pData->lPresent); m_wndList.SetItemText( i , iIndex++ , Buf ); _stprintf( Buf , _T("%8d") , pData->lSMSCount); m_wndList.SetItemText( i , iIndex++ , Buf ); switch(pData->lYSType ) { case 0: default: iIndex++; break; case 1: m_wndList.SetItemText( i , iIndex++ , _T(" ��") ); break; case 2: m_wndList.SetItemText( i , iIndex++ , _T("����") ); break; } if ( pData->bYS ) m_wndList.SetItemText( i , iIndex++ , _T(" ��") ); else iIndex++; if ( pData->bTest ) m_wndList.SetItemText( i , iIndex++ , _T(" ��") ); else iIndex++; if ( pData->bCB ) m_wndList.SetItemText( i , iIndex++ , _T(" ��") ); else iIndex++; _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 , iIndex++ , Buf); _stprintf( Buf , _T("%04d.%02d.%02d %02d:%02d") , pData->tOvrTime.wYear,pData->tOvrTime.wMonth,pData->tOvrTime.wDay,pData->tOvrTime.wHour,pData->tOvrTime.wMinute ); m_wndList.SetItemText( i , iIndex++ , 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 , iIndex++ , Buf); if ( pData->bFP>0 ) { CString strType = DLG_Corp_FP::GetFPType2(pData->bFP); m_wndList.SetItemText( i , iIndex++ , strType ); switch(pData->lFPStatus) { case 0: default: m_wndList.SetItemText( i , iIndex++ , _T("δ��Ʊ") ); break; case 1: m_wndList.SetItemText( i , iIndex++ , _T("�ѿ�Ʊ") ); break; case 2: m_wndList.SetItemText( i , iIndex++ , _T("�Ѽij�") ); 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 , iIndex++ , Buf); } else { iIndex++; } } else { iIndex++;iIndex++;iIndex++; } switch( pData->lLPType ) { case 1: m_wndList.SetItemText( i , iIndex++ , _T("��ֵ��") ); break; case 2: m_wndList.SetItemText( i , iIndex++ , _T("�ֽ�") ); break; case 3: m_wndList.SetItemText(i, iIndex++, _T("������")); break; case 4: m_wndList.SetItemText(i, iIndex++, _T("ת������")); break; case 5: m_wndList.SetItemText(i, iIndex++, _T("������Ʒ")); break; case 0: default: m_wndList.SetItemText( i , iIndex++ , _T("��") ); break; } str.Format( _T("%.2f") , pData->fLPPrice ); m_wndList.SetItemText( i , iIndex++ , str); m_wndList.SetItemText( i , iIndex++ , pData->szLXRName); if ( pData->lLPType>0 ) fLPTotal += pData->fLPPrice; str.Format( _T("%d") , pData->lCommend_VipInt ); m_wndList.SetItemText( i , iIndex++ , str); //�Ƽ����� lCommend_VipIntTotal += pData->lCommend_VipInt; m_wndList.SetItemText( i , iIndex++ , pData->szBZ); //_stprintf( Buf , _T(" %d") , pData->lAgentID ); m_wndList.SetItemText(i, iIndex++, GetName_YWY(pData->lYWYID)); m_wndList.SetItemText( i , iIndex++ , GetName_Agent(pData->lAgentID)); str.Format( _T("%d") , pData->lBalance ); m_wndList.SetItemText( i , iIndex++ , str); //�Ƽ����� m_wndList.SetItemData( i , (DWORD)pos2 ); //��Pos #ifdef SMSCENTER_ADC m_wndList.SetItemText( i , iIndex++ , pData->szAdcSmsCode ); m_wndList.SetItemText( i , iIndex++ , pData->szAdcLoginCode ); m_wndList.SetItemText( i , iIndex++ , pData->szAdcProcessUser ); _stprintf( Buf , _T("%04d.%02d.%02d") , pData->tAdcPayTime.wYear,pData->tAdcPayTime.wMonth,pData->tAdcPayTime.wDay); m_wndList.SetItemText( i , iIndex++ , Buf); if ( pData->lPayType ==1 && pData->lAdcStatus<=2 )// ADC��ֵ�ı�ǣ�����Ϊ��������ֵ�ļ�¼ m_wndList.SetCheck(i , true ); _stprintf(Buf , _T("%.2f") , pData->fAdcTC0 ); m_wndList.SetItemText( i , iIndex++ , Buf ); _stprintf(Buf , _T("%.2f") , pData->fAdcTC1 ); m_wndList.SetItemText( i , iIndex++ , Buf ); _stprintf(Buf , _T("%.2f") , pData->fAdcTC2 ); m_wndList.SetItemText( i , iIndex++ , Buf ); _stprintf(Buf , _T("%.2f") , pData->fAdcTC3 ); m_wndList.SetItemText( i , iIndex++ , Buf ); _stprintf(Buf , _T("%.2f") , pData->fAdcTC4 ); m_wndList.SetItemText( i , iIndex++ , Buf ); _stprintf(Buf , _T("%.2f") , pData->fAdcTC5 ); m_wndList.SetItemText( i , iIndex++ , Buf ); _stprintf(Buf , _T("%.2f") , pData->fAdcTC6 ); m_wndList.SetItemText( i , iIndex++ , Buf ); _stprintf(Buf , _T("%.2f") , pData->fAdcTC7 ); m_wndList.SetItemText( i , iIndex++ , Buf ); #endif #ifdef SMSCENTER_ADC if ( pData->lAdcStatus !=3 ) //״̬����ע���IJ������ܶ� #endif { fTotal += pData->fPrice; lSms += a; lPresent += pData->lPresent; lSmsAll += pData->lSMSCount; } i++; } } } m_wndList.InsertItem(i,_T(""),0 ); i++; m_wndList.InsertItem(i,_T("�ϼ�"),0 ); _stprintf( Buf , _T("%8.2f") , fTotal ); m_wndList.SetItemText( i , 4 , Buf ); _stprintf( Buf , _T("%8d") , lSms); m_wndList.SetItemText( i , 6 , Buf ); _stprintf( Buf , _T("%8d") , lPresent); m_wndList.SetItemText( i , 7 , Buf ); _stprintf( Buf , _T("%8d") , lSmsAll); m_wndList.SetItemText( i , 8 , Buf ); _stprintf( Buf , _T("%.2f") , fLPTotal ); m_wndList.SetItemText( i , 19 , Buf ); _stprintf( Buf , _T("%d") , fLPTotal ); m_wndList.SetItemText( i , 20 , lCommend_VipIntTotal ); m_wndList.ShowWindow(SW_SHOW); } void CC_Pay::OnSelchangeCPayAgent() { RefreshPayData(); } void CC_Pay::OnCPayTc() { long lAgentID=m_L_Agent.GetItemData(m_L_Agent.GetCurSel()); if ( lAgentID >=0 ) { POSITION pos = (POSITION)lAgentID; ANS_Agent_NameData * pData = m_Agent.GetNext( pos ); if (pData) lAgentID = pData->lAgentID; } if ( lAgentID==0 || lAgentID==-1 ) lAgentID=-10; DLG_Pay_TC dlg ( this ); dlg.SetParam( &m_PayData,NULL,NULL,lAgentID ); dlg.DoModal(); } void CC_Pay::Close_Corp() { //��������е����� while (!m_Corp.IsEmpty()) { ANS_Corp_NameData * pData = m_Corp.GetHead(); m_Corp.RemoveHead(); delete pData; } } void CC_Pay::Close_YWY() { //��������е����� while (!m_YWY.IsEmpty()) { ANS_YWY_NameData * pData = m_YWY.GetHead(); m_YWY.RemoveHead(); delete pData; } } void CC_Pay::On_User_Adc_Process() { #ifdef SMSCENTER_ADC if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) ) { return ; } static TCHAR BASED_CODE szFilter[] = _T("xls Files (*.xls)|*.xls|All Files (*.*)|*.*||"); CFileDialog dlg(TRUE,_T("xls"),_T("adc.xls"), OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter); if (dlg.DoModal() != IDOK) { return ; } CString strFileName = dlg.GetPathName(); ::DeleteFile(strFileName); //��ɾ������Ȼ���ظ� CSpreadSheet * pSS; pSS = new CSpreadSheet(strFileName,_T("ADCҵ���ֵ")); CStringArray sampleArray, testRow; //SS.BeginTransaction(); pSS->BeginTransaction(); // ������� sampleArray.RemoveAll(); sampleArray.Add(_T("��ӡ����")); sampleArray.Add(_T("��ҵ����")); sampleArray.Add(_T("CA���")); sampleArray.Add(_T("��ֵ���")); sampleArray.Add(_T("��������")); sampleArray.Add(_T("����ͨ����")); sampleArray.Add(_T("��ע")); pSS->AddHeaders(sampleArray); long lCount=m_wndList.GetItemCount(); REQ_Pay_SetAdcStatus_Data * pAdc = new REQ_Pay_SetAdcStatus_Data[lCount]; memset(pAdc , 0 , sizeof(REQ_Pay_SetAdcStatus_Data)*lCount); CString str; SYSTEMTIME t;::GetLocalTime(&t); long lAdcCount=0; for ( int i=0 ; i<lCount ; i++ ) { if ( m_wndList.GetCheck(i) ) //ѡ�е� { POSITION pos = (POSITION)m_wndList.GetItemData(i); if ( (long)pos>0 ) { POSITION pos2 = pos; ANS_Pay_SeeData * pData = m_PayData.GetNext( pos ); if (pData && pData->lPayType==1 && pData->lAdcStatus==0) //adc��ֵ��û�����IJ��ܽ��д������� { pAdc[lAdcCount].lPayID = pData->lPayID; lAdcCount ++; //����excel�� sampleArray.RemoveAll(); str.Format( _T("%04d-%02d-%02d") , t.wYear,t.wMonth,t.wDay); sampleArray.Add(str); sampleArray.Add(pData->szADCCorpName); sampleArray.Add(pData->szAdcLoginCode); str.Format( _T("%8.2f") , pData->fPrice ); sampleArray.Add(str); str.Format( _T("%6d") , pData->lSMSCount ); sampleArray.Add(str); sampleArray.Add(pData->szAdcSmsCode); str.Format( _T("%6d") , pData->lCorpID ); sampleArray.Add(str); pSS->AddRow(sampleArray); } else { m_wndList.SetCheck(i,false); } } } } pSS->Commit(); pSS->Close(); delete pSS; long lSize = sizeof(REQ_Pay_SetAdcStatus) + sizeof(REQ_Pay_SetAdcStatus_Data)*lAdcCount; BYTE * pData = new BYTE[lSize]; memset(pData , 0 , lSize ); REQ_Pay_SetAdcStatus * pAdcReq = (REQ_Pay_SetAdcStatus *) pData; REQ_Pay_SetAdcStatus_Data * pAdcReqData = (REQ_Pay_SetAdcStatus_Data *)(pData+sizeof(REQ_Pay_SetAdcStatus)); pAdcReq->lCorpCount = lAdcCount; pAdcReq->lNewStatus = 1; //�óɴ����� ::GetLocalTime(&pAdcReq->tPayTime); memcpy(pAdcReqData,pAdc,sizeof(REQ_Pay_SetAdcStatus_Data)*lAdcCount); delete pAdc; m_pMainFrame->SendFrame( SMSFUNC_PAY_SETADCSTATUS , (BYTE*)pData , lSize ); #endif } void CC_Pay::On_User_Adc_YCJ() { #ifdef SMSCENTER_ADC if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) ) { return ; } long lCount=m_wndList.GetItemCount(); REQ_Pay_SetAdcStatus_Data * pAdc = new REQ_Pay_SetAdcStatus_Data[lCount]; memset(pAdc , 0 , sizeof(REQ_Pay_SetAdcStatus_Data)*lCount); CString str; SYSTEMTIME t;::GetLocalTime(&t); long lAdcCount=0; for ( int i=0 ; i<lCount ; i++ ) { if ( m_wndList.GetCheck(i) ) //ѡ�е� { POSITION pos = (POSITION)m_wndList.GetItemData(i); if ( (long)pos>0 ) { POSITION pos2 = pos; ANS_Pay_SeeData * pData = m_PayData.GetNext( pos ); if (pData && pData->lPayType==1 && pData->lAdcStatus==1) //adc��ֵ�������еIJ��ܽ��д������� { pAdc[lAdcCount].lPayID = pData->lPayID; lAdcCount ++; } else { m_wndList.SetCheck(i,false); } } } } DLG_C_Pay_ADCCJ dlg(this); if ( dlg.DoModal()!=IDOK ) { delete pAdc; return ; } long lSize = sizeof(REQ_Pay_SetAdcStatus) + sizeof(REQ_Pay_SetAdcStatus_Data)*lAdcCount; BYTE * pData = new BYTE[lSize]; memset(pData , 0 , lSize ); REQ_Pay_SetAdcStatus * pAdcReq = (REQ_Pay_SetAdcStatus *) pData; REQ_Pay_SetAdcStatus_Data * pAdcReqData = (REQ_Pay_SetAdcStatus_Data *)(pData+sizeof(REQ_Pay_SetAdcStatus)); pAdcReq->lCorpCount = lAdcCount; pAdcReq->lNewStatus = 2; //�Ѵ��� dlg.m_tDate.GetAsSystemTime(pAdcReq->tPayTime); pAdcReq->tPayTime.wHour = 0; //��ֵ�ɹ���Ҫʱ�䣬ֻҪ���� pAdcReq->tPayTime.wMinute=0; pAdcReq->tPayTime.wSecond=0; memcpy(pAdcReqData,pAdc,sizeof(REQ_Pay_SetAdcStatus_Data)*lAdcCount); delete pAdc; m_pMainFrame->SendFrame( SMSFUNC_PAY_SETADCSTATUS , (BYTE*)pData , lSize ); #endif } void CC_Pay::On_User_Adc_YFP() { #ifdef SMSCENTER_ADC if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) ) { return ; } long lCount=m_wndList.GetItemCount(); REQ_Pay_SetAdcStatus_Data * pAdc = new REQ_Pay_SetAdcStatus_Data[lCount]; memset(pAdc , 0 , sizeof(REQ_Pay_SetAdcStatus_Data)*lCount); CString str; SYSTEMTIME t;::GetLocalTime(&t); long lAdcCount=0; for ( int i=0 ; i<lCount ; i++ ) { if ( m_wndList.GetCheck(i) ) //ѡ�е� { POSITION pos = (POSITION)m_wndList.GetItemData(i); if ( (long)pos>0 ) { POSITION pos2 = pos; ANS_Pay_SeeData * pData = m_PayData.GetNext( pos ); if (pData && pData->lPayType==1 && pData->lAdcStatus==2) //adc��ֵ���ѳ�ֵ�IJ��ܽ��д������� { pAdc[lAdcCount].lPayID = pData->lPayID; lAdcCount ++; } else { m_wndList.SetCheck(i,false); } } } } DLG_C_Pay_ADCCJ dlg(this); if ( dlg.DoModal()!=IDOK ) { delete pAdc; return ; } long lSize = sizeof(REQ_Pay_SetAdcStatus) + sizeof(REQ_Pay_SetAdcStatus_Data)*lAdcCount; BYTE * pData = new BYTE[lSize]; memset(pData , 0 , lSize ); REQ_Pay_SetAdcStatus * pAdcReq = (REQ_Pay_SetAdcStatus *) pData; REQ_Pay_SetAdcStatus_Data * pAdcReqData = (REQ_Pay_SetAdcStatus_Data *)(pData+sizeof(REQ_Pay_SetAdcStatus)); pAdcReq->lCorpCount = lAdcCount; pAdcReq->lNewStatus = 4; //�Ѻ˷�Ʊ dlg.m_tDate.GetAsSystemTime(pAdcReq->tPayTime); pAdcReq->tPayTime.wHour = 0; //��ֵ�ɹ���Ҫʱ�䣬ֻҪ���� pAdcReq->tPayTime.wMinute=0; pAdcReq->tPayTime.wSecond=0; memcpy(pAdcReqData,pAdc,sizeof(REQ_Pay_SetAdcStatus_Data)*lAdcCount); delete pAdc; m_pMainFrame->SendFrame( SMSFUNC_PAY_SETADCSTATUS , (BYTE*)pData , lSize ); #endif } void CC_Pay::On_User_Adc_TC_Sel() { #ifdef SMSCENTER_ADC SYSTEMTIME t;::GetLocalTime(&t); long lNow =t.wYear*100+t.wMonth; long lCount = m_wndList.GetItemCount(); for ( int i=lCount-1 ; i>=0 ; i-- ) { BOOL bOK=false; POSITION pos = (POSITION)m_wndList.GetItemData(i); if ( (long)pos>0 ) { ANS_Pay_SeeData * pData = m_PayData.GetNext( pos ); if (pData && pData->lPayType==1 && pData->lAdcStatus==2 && pData->lAgentID>0 && !pData->bTest && !pData->bYS) //adc��ֵ�������Ѵ������,�����Ǵ����̵�,���Dz��Եģ�����Ӧ�յ� { //���ݴ˴����̵Ľ������ͣ�������û�Ӧ������·� long lMon=3; if ( GetAdcAgentTcType(pData->lAgentID) == 1 ) lMon = 7; SYSTEMTIME t2 = pData->tPayTime; for ( int i=0 ; i<lMon ; i++ ) { t2.wMonth++; if ( t2.wMonth>12 ) { t2.wMonth = 1; t2.wYear++; } long lPay = t2.wYear*100 + t2.wMonth; float fPayTC=0.0f; switch(i) { case 0: fPayTC = pData->fAdcTC1; break; case 1: fPayTC = pData->fAdcTC2; break; case 2: fPayTC = pData->fAdcTC3; break; case 3: fPayTC = pData->fAdcTC4; break; case 4: fPayTC = pData->fAdcTC5; break; case 5: fPayTC = pData->fAdcTC6; break; case 6: fPayTC = pData->fAdcTC7; break; } if ( lPay <= lNow && fPayTC<=0.0f ) { bOK = true; break; } if ( lPay>lNow ) break; } } } if ( !bOK ) m_wndList.DeleteItem(i); else m_wndList.SetCheck(i); } #endif } void CC_Pay::On_User_Adc_TC_QR() { #ifdef SMSCENTER_ADC if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) ) { return ; } int iRet=MessageBox( _T("�������д����̳����㣬����ǰ��ע�������Ƿ��������������ˢ��״̬����Ƿ�ɹ���\r\n��ȷ�����������������") , _T("��������") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 ); if ( iRet != IDYES ) return ; static TCHAR BASED_CODE szFilter[] = _T("xls Files (*.xls)|*.xls|All Files (*.*)|*.*||"); CFileDialog dlg(TRUE,_T("xls"),_T("adcAgent.xls"), OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter); if (dlg.DoModal() != IDOK) { return ; } CString strFileName = dlg.GetPathName(); ::DeleteFile(strFileName); //��ɾ������Ȼ���ظ� CSpreadSheet * pSS; pSS = new CSpreadSheet(strFileName,_T("ADC�����̳�����")); CStringArray sampleArray, testRow; //SS.BeginTransaction(); pSS->BeginTransaction(); // ������� sampleArray.RemoveAll(); sampleArray.Add(_T("��ӡ����")); sampleArray.Add(_T("����������")); sampleArray.Add(_T("��ҵID")); sampleArray.Add(_T("��ҵ����")); sampleArray.Add(_T("��ֵʱ��")); sampleArray.Add(_T("��ֵ���")); sampleArray.Add(_T("��������")); sampleArray.Add(_T("����ͨ����")); sampleArray.Add(_T("1�³��")); sampleArray.Add(_T("2�³��")); sampleArray.Add(_T("3�³��")); sampleArray.Add(_T("4�³��")); sampleArray.Add(_T("5�³��")); sampleArray.Add(_T("6�³��")); sampleArray.Add(_T("7�³��")); pSS->AddHeaders(sampleArray); long lCount=m_wndList.GetItemCount(); REQ_Pay_SetAdcAgentTC_Data * pAdc = new REQ_Pay_SetAdcAgentTC_Data[lCount]; memset(pAdc , 0 , sizeof(REQ_Pay_SetAdcAgentTC_Data)*lCount); CString str; SYSTEMTIME t;::GetLocalTime(&t); long lNow =t.wYear*100+t.wMonth; long lAdcCount=0; for ( int i=0 ; i<lCount ; i++ ) { if ( m_wndList.GetCheck(i) ) //ѡ�е� { BOOL bOK=false; POSITION pos = (POSITION)m_wndList.GetItemData(i); if ( (long)pos>0 ) { ANS_Pay_SeeData * pData = m_PayData.GetNext( pos ); if (pData && pData->lPayType==1 && pData->lAdcStatus==2 && pData->lAgentID>0 && !pData->bTest && !pData->bYS) //adc��ֵ�������Ѵ������,�����Ǵ����̵�,���Dz��Եģ�����Ӧ�յ� { //���ݴ˴����̵Ľ������ͣ�������û�Ӧ������·� long lMon=3; if ( GetAdcAgentTcType(pData->lAgentID) == 1 ) lMon = 7; SYSTEMTIME t2 = pData->tPayTime; for ( int i=0 ; i<lMon ; i++ ) { t2.wMonth++; if ( t2.wMonth>12 ) { t2.wMonth = 1; t2.wYear++; } long lPay = t2.wYear*100 + t2.wMonth; float fPayTC=0.0f; float * fNowPayTC=NULL; switch(i) { case 0: fPayTC = pData->fAdcTC1; fNowPayTC = &pAdc[lAdcCount].fADCTC1; break; case 1: fPayTC = pData->fAdcTC2; fNowPayTC = &pAdc[lAdcCount].fADCTC2; break; case 2: fPayTC = pData->fAdcTC3; fNowPayTC = &pAdc[lAdcCount].fADCTC3; break; case 3: fPayTC = pData->fAdcTC4; fNowPayTC = &pAdc[lAdcCount].fADCTC4; break; case 4: fPayTC = pData->fAdcTC5; fNowPayTC = &pAdc[lAdcCount].fADCTC5; break; case 5: fPayTC = pData->fAdcTC6; fNowPayTC = &pAdc[lAdcCount].fADCTC6; break; case 6: fPayTC = pData->fAdcTC7; fNowPayTC = &pAdc[lAdcCount].fADCTC7; break; } if ( lPay <= lNow && fPayTC<=0.0f && fNowPayTC ) { float fPayPer = 0.1f; //ǰ������ɱ���Ϊ10% if ( lMon==3 && i==2 ) fPayPer = 0.05f; //����������ɱ���Ϊ5% if ( lMon==7 ) fPayPer = 0.05f; //��7������ɱ���Ϊÿ����5% *fNowPayTC = pData->fPrice * fPayPer; bOK = true; } if ( fPayTC>0.0f && fNowPayTC ) //�ѽ���ģ������ { *fNowPayTC = -1.0f; } if ( lPay>lNow ) break; } if ( bOK ) { pAdc[lAdcCount].lPayID = pData->lPayID; pAdc[lAdcCount].lAgentID = pData->lAgentID; pAdc[lAdcCount].lCorpID = pData->lCorpID; pAdc[lAdcCount].fPrice = pData->fPrice; //����excel�� sampleArray.RemoveAll(); str.Format( _T("%04d-%02d-%02d") , t.wYear,t.wMonth,t.wDay); sampleArray.Add(str); //���� sampleArray.Add(GetName_Agent(pData->lAgentID));//���������� str.Format( _T("%d") , pData->lCorpID ); sampleArray.Add(str); //��ҵID sampleArray.Add(pData->szCorpName); //��ҵ���� str.Format( _T("%04d-%02d-%02d") , pData->tPayTime.wYear,pData->tPayTime.wMonth,pData->tPayTime.wDay); sampleArray.Add(str); //��ֵʱ�� str.Format( _T("%8.2f") , pData->fPrice ); sampleArray.Add(str); //��ֵ��� str.Format( _T("%8d") , pData->lSMSCount ); sampleArray.Add(str); //�������� sampleArray.Add(pData->szAdcSmsCode); //����ͨ���� if ( pAdc[lAdcCount].fADCTC1 >0.0f ) str.Format( _T("%8.2f") , pAdc[lAdcCount].fADCTC1 ); else if ( pAdc[lAdcCount].fADCTC1 == -1.0f ) { str=_T("�ѽ���") ; pAdc[lAdcCount].fADCTC1 =0.0f; //�ѽ���Ļָ�Ϊ0; } else str=_T("������"); sampleArray.Add(str); if ( pAdc[lAdcCount].fADCTC2 >0.0f ) str.Format( _T("%8.2f") , pAdc[lAdcCount].fADCTC2 ); else if ( pAdc[lAdcCount].fADCTC2 == -1.0f ) { str=_T("�ѽ���") ; pAdc[lAdcCount].fADCTC2 =0.0f; //�ѽ���Ļָ�Ϊ0; } else str=_T("������"); sampleArray.Add(str); if ( pAdc[lAdcCount].fADCTC3 >0.0f ) str.Format( _T("%8.2f") , pAdc[lAdcCount].fADCTC3 ); else if ( pAdc[lAdcCount].fADCTC3 == -1.0f ) { str=_T("�ѽ���") ; pAdc[lAdcCount].fADCTC3 =0.0f; //�ѽ���Ļָ�Ϊ0; } else str=_T("������"); sampleArray.Add(str); if ( lMon>3 ) { if ( pAdc[lAdcCount].fADCTC4 >0.0f ) str.Format( _T("%8.2f") , pAdc[lAdcCount].fADCTC4 ); else if ( pAdc[lAdcCount].fADCTC4 == -1.0f ) { str=_T("�ѽ���") ; pAdc[lAdcCount].fADCTC4 =0.0f; //�ѽ���Ļָ�Ϊ0; } else str=_T("������"); sampleArray.Add(str); if ( pAdc[lAdcCount].fADCTC5 >0.0f ) str.Format( _T("%8.2f") , pAdc[lAdcCount].fADCTC5 ); else if ( pAdc[lAdcCount].fADCTC5 == -1.0f ) { str=_T("�ѽ���") ; pAdc[lAdcCount].fADCTC5 =0.0f; //�ѽ���Ļָ�Ϊ0; } else str=_T("������"); sampleArray.Add(str); if ( pAdc[lAdcCount].fADCTC6 >0.0f ) str.Format( _T("%8.2f") , pAdc[lAdcCount].fADCTC6 ); else if ( pAdc[lAdcCount].fADCTC6 == -1.0f ) { str=_T("�ѽ���") ; pAdc[lAdcCount].fADCTC6 =0.0f; //�ѽ���Ļָ�Ϊ0; } else str=_T("������"); sampleArray.Add(str); if ( pAdc[lAdcCount].fADCTC7 >0.0f ) str.Format( _T("%8.2f") , pAdc[lAdcCount].fADCTC7 ); else if ( pAdc[lAdcCount].fADCTC7 == -1.0f ) { str=_T("�ѽ���") ; pAdc[lAdcCount].fADCTC7 =0.0f; //�ѽ���Ļָ�Ϊ0; } else str=_T("������"); sampleArray.Add(str); } pSS->AddRow(sampleArray); lAdcCount ++; } } } if ( !bOK ) { m_wndList.SetCheck(i,false); } } } pSS->Commit(); pSS->Close(); delete pSS; long lSize = sizeof(REQ_Pay_SetAdcAgentTC) + sizeof(REQ_Pay_SetAdcAgentTC_Data)*lAdcCount; BYTE * pData = new BYTE[lSize]; memset(pData , 0 , lSize ); REQ_Pay_SetAdcAgentTC * pAdcReq = (REQ_Pay_SetAdcAgentTC *) pData; REQ_Pay_SetAdcAgentTC_Data * pAdcReqData = (REQ_Pay_SetAdcAgentTC_Data *)(pData+sizeof(REQ_Pay_SetAdcAgentTC)); pAdcReq->lCorpCount = lAdcCount; memcpy(pAdcReqData,pAdc,sizeof(REQ_Pay_SetAdcAgentTC_Data)*lAdcCount); delete pAdc; m_pMainFrame->SendFrame( SMSFUNC_PAY_SETADCAGENTTC , (BYTE*)pData , lSize ); #endif } CString CC_Pay::GetName_YWY(long lYWYID) { //������ CString strTemp = _T("");//��ҵ��Ա 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; } CString CC_Pay::GetName_Agent(long lAgentID) { //������ CString strTemp=_T("");//������ 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; } ANS_Agent_NameData * CC_Pay::GetName_Agent2(long lAgentID) { //������ ANS_Agent_NameData * pAgent2=NULL; POSITION pos = m_Agent.GetHeadPosition(); POSITION pos2; while (pos) { pos2=pos; ANS_Agent_NameData * pAgent = m_Agent.GetNext( pos ); if( pAgent && pAgent->lAgentID==lAgentID) { pAgent2 = pAgent; break; } } return pAgent2; } void CC_Pay::Close_Agent() { //��������е����� while (!m_Agent.IsEmpty()) { ANS_Agent_NameData * pAgent = m_Agent.GetHead(); m_Agent.RemoveHead(); delete pAgent; } } long CC_Pay::GetAdcAgentTcType(long lAgentID) { #ifdef SMSCENTER_ADC ANS_Agent_NameData * pData = GetName_Agent2(lAgentID); if ( pData ) return pData->lAdcTcType; #endif return 0; } void CC_Pay::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); return ; } } for ( i=0 ; i<lSel ; i++ ) { m_L_Agent.GetLBText(i,strTemp); if ( strTemp.Find(strFind)>=0 ) { m_L_Agent.SetCurSel(i); return ; } } }