AgentManager/InfoDlg.cpp
2025-01-22 15:45:17 +08:00

377 lines
11 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.

// InfoDlg.cpp : implementation file
//
#include "stdafx.h"
#include "smsmanager.h"
#include "InfoDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CInfoDlg dialog
#include "MainFrm.h"
#include "ProcessSocket.h"
CInfoDlg::CInfoDlg(CWnd* pParent /*=NULL*/)
: CDialog(CInfoDlg::IDD, pParent)
, m_strOverTime(_T(""))
{
//{{AFX_DATA_INIT(CInfoDlg)
m_strAddress = _T("");
m_strCreateTime = _T("");
m_strEmail = _T("");
m_strFax = _T("");
m_strHttp = _T("");
m_strLXR = _T("");
m_strMobile = _T("");
m_strName = _T("");
m_strPostCode = _T("");
m_strTel = _T("");
m_strTotal = _T("");
m_strUsed = _T("");
m_strAddedCorp = _T("");
m_strAddCorpCount = _T("");
m_strSName = _T("");
//}}AFX_DATA_INIT
m_bInit = false;
m_bRefresh = false;
m_lKFID = 0;
m_strMmsUsed = _T("");
m_bShowOverTimeWarning = false;
}
void CInfoDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CInfoDlg)
DDX_Control(pDX, IDC_INFO_MSG, m_E_Msg);
DDX_Control(pDX, IDC_INFO_LIST, m_wndList);
DDX_Text(pDX, IDC_INFO_ADDRESS, m_strAddress);
DDX_Text(pDX, IDC_INFO_CREATETIME, m_strCreateTime);
DDX_Text(pDX, IDC_INFO_EMAIL, m_strEmail);
DDX_Text(pDX, IDC_INFO_FAX, m_strFax);
DDX_Text(pDX, IDC_INFO_HTTP, m_strHttp);
DDX_Text(pDX, IDC_INFO_LXR, m_strLXR);
DDX_Text(pDX, IDC_INFO_MOBILE, m_strMobile);
DDX_Text(pDX, IDC_INFO_NAME, m_strName);
DDX_Text(pDX, IDC_INFO_POSTCODE, m_strPostCode);
DDX_Text(pDX, IDC_INFO_TEL, m_strTel);
DDX_Text(pDX, IDC_INFO_TOTAL, m_strTotal);
DDX_Text(pDX, IDC_INFO_USED, m_strUsed);
DDX_Text(pDX, IDC_INFO_ADDEDCORP, m_strAddedCorp);
DDX_Text(pDX, IDC_INFO_ADDCORPCOUNT, m_strAddCorpCount);
DDX_Text(pDX, IDC_INFO_SNAME, m_strSName);
//}}AFX_DATA_MAP
DDX_Text(pDX, IDC_INFO_MMSUSED, m_strMmsUsed);
DDX_Text(pDX, IDC_INFO_OVERTIME, m_strOverTime);
}
BEGIN_MESSAGE_MAP(CInfoDlg, CDialog)
//{{AFX_MSG_MAP(CInfoDlg)
ON_WM_SIZE()
ON_NOTIFY(NM_RCLICK, IDC_INFO_LIST, OnRclickInfoList)
//}}AFX_MSG_MAP
ON_COMMAND( MENU_INFO_REFRESH , On_User_Refresh )
ON_BN_CLICKED(IDC_REFRESH, &CInfoDlg::OnBnClickedRefresh)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CInfoDlg message handlers
void CInfoDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
/*
if ( m_bInit )
{
m_wndList.MoveWindow( 0 , 0 , cx,cy-200);
m_E_Msg.MoveWindow( 0 , cy-200 , cx , 200 );
}
*/
}
BOOL CInfoDlg::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_INFO) );
m_wndList.SubClassWindow2();
m_wndList.SetHeadings(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,50; <20><>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>,160;<3B>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>, 80; <20><> <20><>,60;<3B><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>,75;<3B><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,75;IP<49><50>ַ,110"));
m_wndList.SetGridLines(true);
m_wndList.SetImageList(&m_Image,LVSIL_SMALL);
m_bInit = true;
#ifdef MANAGER_VER_YWY
GetDlgItem(IDC_INFO_SS1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_INFO_SS2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_INFO_USED)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_INFO_SS5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_INFO_ADDCORPCOUNT)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_INFO_SS4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_INFO_CREATETIME)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_INFO_SS6)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_INFO_ADDEDCORP)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_INFO_SS7)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_INFO_MMSUSED)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_INFO_OVERTIME)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_INFO_OVERTIME_S)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_REFRESH)->ShowWindow(SW_HIDE);
#endif
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
BOOL CInfoDlg::RefreshInfo()
{
#ifdef MANAGER_VER_YWY
REQ_GetYWY2 * pSee = new REQ_GetYWY2;
pSee->lYWYID = m_pMainFrame->m_lUserID;
m_pMainFrame->SendFrame(SMSFUNC_GETYWY2,(BYTE*)(pSee),sizeof(REQ_GetYWY2) );
#else
#ifdef MANAGER_VER_HF
REQ_GetKF * pSee = new REQ_GetKF;
pSee->lKFID = m_pMainFrame->m_lUserID;
m_pMainFrame->SendFrame(SMSFUNC_GETKF,(BYTE*)(pSee),sizeof(REQ_GetKF) );
#else
REQ_Agent_See2 * pSee = new REQ_Agent_See2;
pSee->lAgentID = m_pMainFrame->m_lUserID;
m_pMainFrame->SendFrame(SMSFUNC_AGENT_SEE2,(BYTE*)(pSee),sizeof(REQ_Agent_See2) );
#endif
#endif
return true;
}
BOOL CInfoDlg::ProcessSocket(Socket_Head *pHead)
{
if (pHead->lFuncType == SMSFUNC_AGENT_SEE2)
{
m_bRefresh = true; //<2F>Ѿ<EFBFBD>ˢ<EFBFBD>¹<EFBFBD>
ANS_Agent_See * pSee = (ANS_Agent_See *)pHead->pFrame;
ANS_Agent_SeeData * pData = (ANS_Agent_SeeData *)(pHead->pFrame+sizeof(ANS_Agent_See));
if ( pSee->lCount >0 )
{
m_strName.Format( _T("%s(%d)"), pData->szName,pData->lAgentID);
m_strSName = pData->szTaxNum;
m_strAddress = pData->szAddress;
m_strPostCode=pData->szPostcode;
m_strHttp = pData->szHttp;
m_strLXR = pData->szLXRName;
m_strTel = pData->szTel;
m_strMobile=pData->szMobile;
m_strFax = pData->szFax;
m_strEmail= pData->szEmail;
m_strUsed.Format(_T("%10d<30><64>"),(long)(pData->fUsed*10.0f));
m_strMmsUsed.Format(_T("%10d<30><64>"),pData->lMmsUsed);
//m_strTotal.Format(_T("%10.2f"),pData->fTotal);
m_strCreateTime.Format( _T("%04d.%02d.%02d") , pData->tCreateTime.wYear,pData->tCreateTime.wMonth,pData->tCreateTime.wDay);
m_strOverTime.Format(_T("%04d.%02d.%02d"), pData->tOvrTime.wYear, pData->tOvrTime.wMonth, pData->tOvrTime.wDay);
m_strAddCorpCount.Format( _T("%6d"),pData->lAddCorpCount );
m_strAddedCorp.Format( _T("%6d"),pData->lAddedCorp );
m_pMainFrame->m_fUsed = pData->fUsed;
m_pMainFrame->m_lMmsUsed = pData->lMmsUsed;
m_pMainFrame->m_lAddCorpCount = pData->lAddCorpCount;
m_pMainFrame->m_lAddedCorp = pData->lAddedCorp;
m_pMainFrame->m_strAgentName = m_strName;
m_pMainFrame->m_strSName = m_strSName;
m_pMainFrame->m_bTest = pData->bTest;
UpdateData(false);
if (!m_bShowOverTimeWarning)
{
COleDateTime tOvrDate(pData->tOvrTime);
if (tOvrDate.GetStatus() == COleDateTime::valid)
{
CString str;
if ((tOvrDate - COleDateTime::GetCurrentTime()) <= COleDateTimeSpan(30, 0, 0, 0) && (tOvrDate - COleDateTime::GetCurrentTime()) > COleDateTimeSpan(0, 0, 0, 0))
{
m_bShowOverTimeWarning = true;
str.Format( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʺŽ<EFBFBD><EFBFBD><EFBFBD>%04d<34><64>%02d<32><64>%02d<32>չ<EFBFBD><D5B9>ڣ<EFBFBD><DAA3><EFBFBD><EBBEA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"), tOvrDate.GetYear(), tOvrDate.GetMonth(), tOvrDate.GetDay());
MessageBox(str, _T("<EFBFBD><EFBFBD>ʾ"), MB_ICONASTERISK);
}
else
{
if ((tOvrDate - COleDateTime::GetCurrentTime()) <= COleDateTimeSpan(0, 0, 0, 0))
{
m_bShowOverTimeWarning = true;
str.Format(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%04d<34><64>%02d<32><64>%02d<32>չ<EFBFBD><D5B9>ڣ<EFBFBD><DAA3><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>!"), tOvrDate.GetYear(), tOvrDate.GetMonth(), tOvrDate.GetDay());
MessageBox(str, _T("<EFBFBD><EFBFBD>ʾ"), MB_ICONASTERISK);
}
}
}
}
}
}
if (pHead->lFuncType == SMSFUNC_GETYWY2)
{
m_bRefresh = true; //<2F>Ѿ<EFBFBD>ˢ<EFBFBD>¹<EFBFBD>
ANS_GetYWY2 * pSee = (ANS_GetYWY2 *)pHead->pFrame;
ANS_GetYWYData * pData = (ANS_GetYWYData *)(pHead->pFrame+sizeof(ANS_GetYWY2));
if ( pSee->lCount >0 )
{
m_lKFID = pData->lKFID; //ȡ<>ͷ<EFBFBD>ID
GetDlgItem(IDC_INFO_SS11)->SetWindowText(_T("<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>"));
GetDlgItem(IDC_INFO_NAME)->SetWindowText(pData->szLoginName);
GetDlgItem(IDC_INFO_SS12)->SetWindowText(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
GetDlgItem(IDC_INFO_ADDRESS)->SetWindowText(pData->szName);
GetDlgItem(IDC_INFO_SS13)->SetWindowText(_T("<EFBFBD>dz<EFBFBD>"));
GetDlgItem(IDC_INFO_POSTCODE)->SetWindowText(pData->szNickName);
GetDlgItem(IDC_INFO_SS14)->SetWindowText(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
GetDlgItem(IDC_INFO_HTTP)->SetWindowText(pData->szBranch);
GetDlgItem(IDC_INFO_SS15)->SetWindowText(_T("ְ<EFBFBD><EFBFBD>"));
GetDlgItem(IDC_INFO_LXR)->SetWindowText(pData->szJob);
GetDlgItem(IDC_INFO_SS16)->SetWindowText(_T("<EFBFBD>"));
GetDlgItem(IDC_INFO_TEL)->SetWindowText(pData->szTel);
GetDlgItem(IDC_INFO_SS17)->SetWindowText(_T("<EFBFBD>ֻ<EFBFBD>"));
GetDlgItem(IDC_INFO_MOBILE)->SetWindowText(pData->szMobile);
GetDlgItem(IDC_INFO_SS18)->SetWindowText(_T("Email"));
GetDlgItem(IDC_INFO_FAX)->SetWindowText(pData->szEmail);
GetDlgItem(IDC_INFO_SS19)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_INFO_EMAIL)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_INFO_SS20)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_INFO_SNAME)->ShowWindow(SW_HIDE);
UpdateData(true);
UpdateData(false);
}
}
if (pHead->lFuncType == SMSFUNC_GETKF)
{
m_bRefresh = true; //<2F>Ѿ<EFBFBD>ˢ<EFBFBD>¹<EFBFBD>
ANS_GetKF * pSee = (ANS_GetKF *)pHead->pFrame;
ANS_GetKFData * pData = (ANS_GetKFData *)(pHead->pFrame+sizeof(ANS_GetKF));
if ( pSee->lCount >0 )
{
m_lKFID = pData->lKFID; //ȡ<>ͷ<EFBFBD>ID
GetDlgItem(IDC_INFO_SS11)->SetWindowText(_T("<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>"));
GetDlgItem(IDC_INFO_NAME)->SetWindowText(pData->szLoginName);
GetDlgItem(IDC_INFO_SS12)->SetWindowText(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
GetDlgItem(IDC_INFO_ADDRESS)->SetWindowText(pData->szName);
GetDlgItem(IDC_INFO_SS13)->SetWindowText(_T("<EFBFBD>dz<EFBFBD>"));
GetDlgItem(IDC_INFO_POSTCODE)->SetWindowText(pData->szNickName);
GetDlgItem(IDC_INFO_SS14)->SetWindowText(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
GetDlgItem(IDC_INFO_HTTP)->SetWindowText(pData->szBranch);
GetDlgItem(IDC_INFO_SS15)->SetWindowText(_T("ְ<EFBFBD><EFBFBD>"));
GetDlgItem(IDC_INFO_LXR)->SetWindowText(pData->szJob);
GetDlgItem(IDC_INFO_SS16)->SetWindowText(_T("<EFBFBD>"));
GetDlgItem(IDC_INFO_TEL)->SetWindowText(pData->szTel);
GetDlgItem(IDC_INFO_SS17)->SetWindowText(_T("<EFBFBD>ֻ<EFBFBD>"));
GetDlgItem(IDC_INFO_MOBILE)->SetWindowText(pData->szMobile);
GetDlgItem(IDC_INFO_SS18)->SetWindowText(_T("Email"));
GetDlgItem(IDC_INFO_FAX)->SetWindowText(pData->szEmail);
GetDlgItem(IDC_INFO_SS19)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_INFO_EMAIL)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_INFO_SS20)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_INFO_SNAME)->ShowWindow(SW_HIDE);
UpdateData(true);
UpdateData(false);
}
}
return true;
}
BOOL CInfoDlg::ReShow(BOOL bRefresh)
{
ShowWindow( SW_SHOW );
if ( bRefresh || !m_bRefresh )
{
RefreshInfo();
}
return true;
}
BOOL CInfoDlg::ReHide()
{
ShowWindow(SW_HIDE);
return true;
}
void CInfoDlg::Close()
{
}
void CInfoDlg::ShowRMenu()
{
if (!m_pMainFrame->GetUserPurview(PURVIEW_INFO_SEE,false)) //û<>в鿴Ȩ<E9BFB4><C8A8>
return ;
CMenu menu;
menu.CreatePopupMenu();
//ˢ<><CBA2>
menu.AppendMenu(MF_STRING , MENU_INFO_REFRESH, _T(" ˢ <20><> ") );
//<2F><>ʾ<EFBFBD>˵<EFBFBD>
POINT pt ;
::GetCursorPos( &pt );
//this->ClientToScreen( &pt);
menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL);
menu.DestroyMenu();
}
void CInfoDlg::On_User_Refresh()
{
RefreshInfo();
}
void CInfoDlg::OnRclickInfoList(NMHDR* pNMHDR, LRESULT* pResult)
{
ShowRMenu();
*pResult = 0;
}
void CInfoDlg::OnBnClickedRefresh()
{
this->RefreshInfo();
}