1010 lines
23 KiB
C++
1010 lines
23 KiB
C++
// Back.cpp : implementation file
|
||
//
|
||
|
||
#include "stdafx.h"
|
||
#include "smsmanager.h"
|
||
#include "CTDSet.h"
|
||
|
||
#ifdef _DEBUG
|
||
#define new DEBUG_NEW
|
||
#undef THIS_FILE
|
||
static char THIS_FILE[] = __FILE__;
|
||
#endif
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// CTDSet dialog
|
||
// CTabDlg dialog
|
||
#include "MainFrm.h"
|
||
#include "ProcessSocket.h"
|
||
#include "DLG_TDSet_Add.h"
|
||
|
||
CTDSet::CTDSet(CWnd* pParent /*=NULL*/)
|
||
: CDialog(CTDSet::IDD, pParent)
|
||
{
|
||
//{{AFX_DATA_INIT(CTDSet)
|
||
m_lCorp = -1;
|
||
m_strMobile = _T("");
|
||
m_tBegin = COleDateTime::GetCurrentTime();
|
||
m_tEnd = COleDateTime::GetCurrentTime();
|
||
//}}AFX_DATA_INIT
|
||
m_bInit = false;
|
||
m_bRefresh = false;
|
||
m_lQueryType = 0;
|
||
}
|
||
|
||
|
||
void CTDSet::DoDataExchange(CDataExchange* pDX)
|
||
{
|
||
CDialog::DoDataExchange(pDX);
|
||
//{{AFX_DATA_MAP(CTDSet)
|
||
DDX_Control(pDX, IDC_TDSET_CORPID, m_E_CorpID);
|
||
DDX_Control(pDX, IDC_TDSET_S1, m_S_S1);
|
||
DDX_Control(pDX, IDC_TDSET_CORP, m_L_Corp);
|
||
DDX_Control(pDX, IDC_TDSET_LIST2, m_wndList);
|
||
DDX_CBIndex(pDX, IDC_TDSET_CORP, m_lCorp);
|
||
DDX_Text(pDX, IDC_TDSET_USERID, m_strMobile);
|
||
DDV_MaxChars(pDX, m_strMobile, 15);
|
||
DDX_DateTimeCtrl(pDX, IDC_TDSET_TBEGIN, m_tBegin);
|
||
DDX_DateTimeCtrl(pDX, IDC_TDSET_TEND, m_tEnd);
|
||
//}}AFX_DATA_MAP
|
||
}
|
||
|
||
|
||
BEGIN_MESSAGE_MAP(CTDSet, CDialog)
|
||
//{{AFX_MSG_MAP(CTDSet)
|
||
ON_WM_SIZE()
|
||
ON_BN_CLICKED(IDC_TDSET_QUERY, OnBackQuery)
|
||
ON_NOTIFY(NM_DBLCLK, IDC_TDSET_LIST2, OnDblclkBackList)
|
||
ON_NOTIFY(LVN_KEYDOWN, IDC_TDSET_LIST2, OnKeydownBackList)
|
||
ON_NOTIFY(NM_RCLICK, IDC_TDSET_LIST2, OnRclickBackList)
|
||
ON_BN_CLICKED(IDC_TDSET_QUERY2, OnBackQuery2)
|
||
ON_BN_CLICKED(IDC_TDSET_QUERY3, OnBackQuery3)
|
||
//}}AFX_MSG_MAP
|
||
ON_COMMAND( MENU_TDSET_ADD , On_TDSet_Add )
|
||
ON_COMMAND( MENU_TDSET_DEL , On_TDSet_Del )
|
||
ON_COMMAND( MENU_TDSET_MODIFY, On_TDSet_Modify)
|
||
END_MESSAGE_MAP()
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// CTDSet message handlers
|
||
|
||
void CTDSet::Close()
|
||
{
|
||
//Çå³ý¶ÓÁÐÖеÄÄÚÈÝ
|
||
while (!m_Corp.IsEmpty())
|
||
{
|
||
ANS_Corp_NameData * pData = m_Corp.GetHead();
|
||
m_Corp.RemoveHead();
|
||
delete pData;
|
||
}
|
||
|
||
//Çå³ý¶ÓÁÐÖеÄÄÚÈÝ
|
||
while (!m_TDData.IsEmpty())
|
||
{
|
||
ANS_TDSet_Data * pMsg = m_TDData.GetHead();
|
||
m_TDData.RemoveHead();
|
||
delete pMsg;
|
||
}
|
||
|
||
}
|
||
|
||
BOOL CTDSet::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_TDSET) );
|
||
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_LOCK) );
|
||
m_wndList.SubClassWindow2();
|
||
m_wndList.SetHeadings(_T("ÐòºÅ,50; ״̬,60; ÆóÒµID,100; ÊÖ»úºÅÂë,100;ÔËÓªÉÌÀàÐÍ,150; ÒÆ¶¯Í¨µÀ,100; ÁªÍ¨Í¨µÀ,100; СÁéͨͨµÀ,100; µçÐÅͨµÀ,100;ͨµÀ±êʶ,100;ÊÇ·ñÈ«Íø,100;°ó¶¨Ê±¼ä,160;˵Ã÷,250;"));
|
||
m_wndList.SetGridLines(true);
|
||
m_wndList.SetImageList(&m_Image,LVSIL_SMALL);
|
||
|
||
m_bInit = true;
|
||
|
||
|
||
#ifdef SMSMANAGER_KF
|
||
//GetDlgItem(IDC_TDSET_S1)->ShowWindow(SW_HIDE);
|
||
//GetDlgItem(IDC_TDSET_CORP)->ShowWindow(SW_HIDE);s
|
||
//GetDlgItem(IDC_TDSET_CORPID)->ShowWindow(SW_HIDE);
|
||
GetDlgItem(IDC_TDSET_QUERY3)->ShowWindow(SW_HIDE);
|
||
|
||
|
||
if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB, false))
|
||
{
|
||
GetDlgItem(IDC_TDSET_S1)->ShowWindow(SW_HIDE);
|
||
GetDlgItem(IDC_TDSET_CORP)->ShowWindow(SW_HIDE);
|
||
GetDlgItem(IDC_TDSET_CORPID)->ShowWindow(SW_HIDE);
|
||
GetDlgItem(IDC_TDSET_QUERY2)->ShowWindow(SW_HIDE);
|
||
GetDlgItem(IDC_TDSET_S2)->ShowWindow(SW_HIDE);
|
||
GetDlgItem(IDC_TDSET_TBEGIN)->ShowWindow(SW_HIDE);
|
||
GetDlgItem(IDC_TDSET_TEND)->ShowWindow(SW_HIDE);
|
||
GetDlgItem(IDC_TDSET_S21)->ShowWindow(SW_HIDE);
|
||
GetDlgItem(IDC_TDSET_S22)->ShowWindow(SW_HIDE);
|
||
}
|
||
|
||
#endif
|
||
|
||
SYSTEMTIME t; ::GetLocalTime(&t);
|
||
m_tBegin.SetStatus( COleDateTime::null );
|
||
m_tEnd.SetStatus( COleDateTime::null );
|
||
|
||
|
||
UpdateData(false);
|
||
|
||
return TRUE; // return TRUE unless you set the focus to a control
|
||
// EXCEPTION: OCX Property Pages should return FALSE
|
||
}
|
||
|
||
BOOL CTDSet::ReShow(BOOL bRefresh)
|
||
{
|
||
ShowWindow( SW_SHOW );
|
||
if ( bRefresh || !m_bRefresh )
|
||
{
|
||
RefreshInfo();
|
||
}
|
||
return true;
|
||
}
|
||
|
||
BOOL CTDSet::ReHide()
|
||
{
|
||
ShowWindow( SW_HIDE );
|
||
return true;
|
||
}
|
||
|
||
BOOL CTDSet::RefreshInfo()
|
||
{
|
||
if ( !m_pMainFrame->GetUserPurview(PURVIEW_LIST) )
|
||
{
|
||
return false;
|
||
}
|
||
m_pMainFrame->SendFrame(SMSFUNC_CORP_NAME,NULL,0);
|
||
|
||
return true;
|
||
}
|
||
|
||
BOOL CTDSet::ProcessSocket(Socket_Head_Add *pHead, BYTE* pFrame)
|
||
{
|
||
CString str;
|
||
|
||
//È¡Çåµ¥
|
||
if (pHead->lFuncType == SMSFUNC_TDSET_SEE)
|
||
{
|
||
ANS_TDSet_See * pList = (ANS_TDSet_See *)pFrame;
|
||
ANS_TDSet_Data * pData = (ANS_TDSet_Data *)(pFrame + sizeof(ANS_TDSet_See));
|
||
//Ìí¼Óµ½List
|
||
m_wndList.ShowWindow(SW_HIDE);
|
||
m_wndList.DeleteAllItems();
|
||
m_wndList.DeleteAllColumns();
|
||
m_lQueryType = pList->lQueryType;
|
||
|
||
if (pList->lQueryType == 1)
|
||
m_wndList.SetHeadings(_T("ÐòºÅ,50; ÆóÒµID,100; ÊýÁ¿,100;"));
|
||
else
|
||
m_wndList.SetHeadings(_T("ÐòºÅ,50; ״̬,60; ÆóÒµID,100; ÊÖ»úºÅÂë,150;ÔËÓªÉÌÀàÐÍ,150; ÒÆ¶¯Í¨µÀ,100; ÁªÍ¨Í¨µÀ,100; СÁéͨͨµÀ,100; µçÐÅͨµÀ,100;ͨµÀ±êʶ,100;ÊÇ·ñÈ«Íø,100;°ó¶¨Ê±¼ä,160;˵Ã÷,250;"));
|
||
|
||
long lCount = m_wndList.GetItemCount();
|
||
TCHAR szBuf[64];
|
||
for (int i = 0; i< pList->lCount; i++)
|
||
{
|
||
ANS_TDSet_Data * pNewData = new ANS_TDSet_Data;
|
||
*pNewData = *pData;
|
||
POSITION pos = m_TDData.AddTail(pNewData);
|
||
|
||
|
||
m_wndList.InsertItem(i, _itot(i + 1, szBuf, 10), 0);
|
||
m_wndList.SetItemData(i, (DWORD_PTR)pos);
|
||
long lTemp = 1;
|
||
|
||
if (pList->lQueryType == 1)
|
||
{
|
||
_stprintf(szBuf, _T("%d"), pData->lCorpID);
|
||
m_wndList.SetItemText(i, lTemp++, szBuf);
|
||
_stprintf(szBuf, _T("%d"), pData->lUserID);
|
||
m_wndList.SetItemText(i, lTemp++, szBuf);
|
||
}
|
||
else
|
||
{
|
||
if (pData->lStatus == 1)
|
||
m_wndList.SetItemText(i, lTemp++, _T("ÆôÓÃ"));
|
||
else
|
||
m_wndList.SetItemText(i, lTemp++, _T("½ûÓÃ"));
|
||
|
||
_stprintf(szBuf, _T("%d"), pData->lCorpID);
|
||
m_wndList.SetItemText(i, lTemp++, szBuf);
|
||
|
||
|
||
m_wndList.SetItemText(i, lTemp++, pData->szMobile);
|
||
|
||
m_wndList.SetItemText(i, lTemp++, GetYYSName(pData->lYYSType));
|
||
|
||
m_wndList.SetItemText(i, lTemp++, GetTDName(pData->szTD[0], 0)); //ÒÆ¶¯
|
||
m_wndList.SetItemText(i, lTemp++, GetTDName(pData->szTD[1], 1)); //ÁªÍ¨
|
||
m_wndList.SetItemText(i, lTemp++, GetTDName(pData->szTD[2], 2)); //СÁéͨ
|
||
m_wndList.SetItemText(i, lTemp++, GetTDName(pData->szTD[3], 3)); //µçÐÅ
|
||
|
||
m_wndList.SetItemText(i, lTemp++, pData->szTD); //ͨµÀ±êʶ
|
||
|
||
switch (pData->szOutAll[0] - '0')
|
||
{
|
||
case 0:
|
||
default:
|
||
m_wndList.SetItemText(i, lTemp++, _T("ĬÈÏ"));
|
||
break;
|
||
case 1:
|
||
m_wndList.SetItemText(i, lTemp++, _T("·ÇÈ«Íø"));
|
||
break;
|
||
case 2:
|
||
m_wndList.SetItemText(i, lTemp++, _T("È«Íø"));
|
||
break;
|
||
}
|
||
CString strTime;
|
||
if (COleDateTime(pData->tAddTime).GetStatus() == COleDateTime::valid)
|
||
{
|
||
strTime.Format(_T("%04d.%02d.%02d %02d:%02d"), pData->tAddTime.wYear, pData->tAddTime.wMonth, pData->tAddTime.wDay, pData->tAddTime.wHour, pData->tAddTime.wMinute);
|
||
}
|
||
m_wndList.SetItemText(i, lTemp++, strTime);
|
||
m_wndList.SetItemText(i, lTemp++, pData->szBZ);
|
||
|
||
}
|
||
pData++;
|
||
}
|
||
m_wndList.ShowWindow(SW_SHOW);
|
||
return true;
|
||
}
|
||
|
||
if (pHead->lFuncType == SMSFUNC_TDSET_INS)
|
||
{
|
||
ANS_TDSet_Ins * pSee = (ANS_TDSet_Ins *)pFrame;
|
||
if (pSee->bOK)
|
||
{
|
||
//¸üе½ÁбíÖÐ
|
||
ANS_TDSet_Data * pData = new ANS_TDSet_Data;
|
||
*pData = pSee->ins.data;
|
||
POSITION pos = m_TDData.AddTail(pData);
|
||
|
||
TCHAR Buf[32] = { 0 };
|
||
long i = m_wndList.GetItemCount();
|
||
_stprintf(Buf, _T("%d"), i + 1);
|
||
m_wndList.InsertItem(i, Buf, 0);
|
||
m_wndList.SetItemData(i, (DWORD_PTR)pos); //´æPos
|
||
|
||
long lTemp = 1;
|
||
if (pData->lStatus == 1)
|
||
m_wndList.SetItemText(i, lTemp++, _T("ÆôÓÃ"));
|
||
else
|
||
m_wndList.SetItemText(i, lTemp++, _T("½ûÓÃ"));
|
||
|
||
_stprintf(Buf, _T("%d"), pData->lCorpID);
|
||
m_wndList.SetItemText(i, lTemp++, Buf);
|
||
|
||
m_wndList.SetItemText(i, lTemp++, pData->szMobile);
|
||
m_wndList.SetItemText(i, lTemp++, GetYYSName(pData->lYYSType)); //ÒÆ¶¯
|
||
m_wndList.SetItemText(i, lTemp++, GetTDName(pData->szTD[0], 0)); //ÒÆ¶¯
|
||
m_wndList.SetItemText(i, lTemp++, GetTDName(pData->szTD[1], 1)); //ÁªÍ¨
|
||
m_wndList.SetItemText(i, lTemp++, GetTDName(pData->szTD[2], 2)); //СÁéͨ
|
||
m_wndList.SetItemText(i, lTemp++, GetTDName(pData->szTD[3], 3)); //µçÐÅ
|
||
|
||
m_wndList.SetItemText(i, lTemp++, pData->szTD); //ͨµÀ±êʶ
|
||
|
||
switch (pData->szOutAll[0] - '0')
|
||
{
|
||
case 0:
|
||
default:
|
||
m_wndList.SetItemText(i, lTemp++, _T("ĬÈÏ"));
|
||
break;
|
||
case 1:
|
||
m_wndList.SetItemText(i, lTemp++, _T("·ÇÈ«Íø"));
|
||
break;
|
||
case 2:
|
||
m_wndList.SetItemText(i, lTemp++, _T("È«Íø"));
|
||
break;
|
||
}
|
||
CString strTime;
|
||
if (COleDateTime(pData->tAddTime).GetStatus() == COleDateTime::valid)
|
||
{
|
||
strTime.Format(_T("%04d.%02d.%02d %02d:%02d"), pData->tAddTime.wYear, pData->tAddTime.wMonth, pData->tAddTime.wDay, pData->tAddTime.wHour, pData->tAddTime.wMinute);
|
||
}
|
||
m_wndList.SetItemText(i, lTemp++, strTime);
|
||
m_wndList.SetItemText(i, lTemp++, pData->szBZ);
|
||
|
||
}
|
||
else
|
||
{
|
||
MessageBox(_T("Ìí¼Ó°ó¶¨Í¨µÀʧ°Ü£¬Çë¼ì²é£¡"), _T("´íÎó"), MB_ICONWARNING);
|
||
}
|
||
return true;
|
||
}
|
||
|
||
if (pHead->lFuncType == SMSFUNC_TDSET_MODIFY)
|
||
{
|
||
ANS_TDSet_Modify * pSee = (ANS_TDSet_Modify *)pFrame;
|
||
if (pSee->bOK)
|
||
{
|
||
//¸üе½ÁбíÖÐ
|
||
ANS_TDSet_Data * pData = &pSee->modify.data;
|
||
ANS_TDSet_Data * pData2 = NULL;
|
||
POSITION pos = (POSITION)m_wndList.GetItemData(pData->lItemID);
|
||
if (pos)
|
||
{
|
||
pData2 = m_TDData.GetNext(pos);
|
||
if (pData2)
|
||
*pData2 = *pData;
|
||
}
|
||
|
||
TCHAR Buf[32] = { 0 };
|
||
long i = pData->lItemID;
|
||
_stprintf(Buf, _T("%d"), i + 1);
|
||
|
||
long lTemp = 1;
|
||
if (pData->lStatus == 1)
|
||
m_wndList.SetItemText(i, lTemp++, _T("ÆôÓÃ"));
|
||
else
|
||
m_wndList.SetItemText(i, lTemp++, _T("½ûÓÃ"));
|
||
|
||
_stprintf(Buf, _T("%d"), pData->lCorpID);
|
||
m_wndList.SetItemText(i, lTemp++, Buf);
|
||
|
||
m_wndList.SetItemText(i, lTemp++, pData->szMobile);
|
||
m_wndList.SetItemText(i, lTemp++, GetYYSName(pData->lYYSType));
|
||
m_wndList.SetItemText(i, lTemp++, GetTDName(pData->szTD[0], 0)); //ÒÆ¶¯
|
||
m_wndList.SetItemText(i, lTemp++, GetTDName(pData->szTD[1], 1)); //ÁªÍ¨
|
||
m_wndList.SetItemText(i, lTemp++, GetTDName(pData->szTD[2], 2)); //СÁéͨ
|
||
m_wndList.SetItemText(i, lTemp++, GetTDName(pData->szTD[3], 3)); //µçÐÅ
|
||
|
||
m_wndList.SetItemText(i, lTemp++, pData->szTD); //ͨµÀ±êʶ
|
||
|
||
switch (pData->szOutAll[0] - '0')
|
||
{
|
||
case 0:
|
||
default:
|
||
m_wndList.SetItemText(i, lTemp++, _T("ĬÈÏ"));
|
||
break;
|
||
case 1:
|
||
m_wndList.SetItemText(i, lTemp++, _T("·ÇÈ«Íø"));
|
||
break;
|
||
case 2:
|
||
m_wndList.SetItemText(i, lTemp++, _T("È«Íø"));
|
||
break;
|
||
}
|
||
CString strTime;
|
||
if (COleDateTime(pData->tAddTime).GetStatus() == COleDateTime::valid)
|
||
{
|
||
strTime.Format(_T("%04d.%02d.%02d %02d:%02d"), pData->tAddTime.wYear, pData->tAddTime.wMonth, pData->tAddTime.wDay, pData->tAddTime.wHour, pData->tAddTime.wMinute);
|
||
}
|
||
m_wndList.SetItemText(i, lTemp++, strTime);
|
||
m_wndList.SetItemText(i, lTemp++, pData->szBZ);
|
||
}
|
||
else
|
||
{
|
||
MessageBox(_T("Ð޸İó¶¨Í¨µÀʧ°Ü£¬Çë¼ì²é£¡"), _T("´íÎó"), MB_ICONWARNING);
|
||
}
|
||
return true;
|
||
}
|
||
|
||
|
||
//ɾ³ýÓû§
|
||
if (pHead->lFuncType == SMSFUNC_TDSET_DEL)
|
||
{
|
||
ANS_TDSet_Del * pDel = (ANS_TDSet_Del *)pFrame;
|
||
ANS_TDSet_DelData * pDelData = (ANS_TDSet_DelData *)(pFrame + sizeof(ANS_TDSet_Del));
|
||
|
||
for (int i = pDel->lCount - 1; i >= 0; i--)
|
||
{
|
||
if (pDelData[i].lItem >= 0)
|
||
{
|
||
|
||
POSITION pos = (POSITION)m_wndList.GetItemData(pDelData[i].lItem);
|
||
POSITION pos2 = pos;
|
||
ANS_TDSet_Data * pSetData = m_TDData.GetNext(pos);
|
||
if (pSetData->lTDSetID == pDelData[i].lTDSetID ) //IDÏàͬ²Å¿Éɾ³ý
|
||
{
|
||
delete pSetData; //ÏÈɾ³ýÊý¾Ý
|
||
m_TDData.RemoveAt(pos2); //´ÓÁбíÖÐɾ³ý
|
||
m_wndList.DeleteItem(pDelData[i].lItem); //´ÓListCtrlÖÐɾ³ý
|
||
}
|
||
}
|
||
}
|
||
m_wndList.ShowWindow(SW_SHOW); //ΪÁ˼ӿìÏÔʾËÙ¶È
|
||
return true;
|
||
}
|
||
|
||
|
||
return false;
|
||
}
|
||
|
||
BOOL CTDSet::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(); //¹Ø±ÕÔ¶ÓÁÐ
|
||
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;
|
||
}
|
||
return false;
|
||
}
|
||
|
||
void CTDSet::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 CTDSet::OnBackQuery()
|
||
{
|
||
if ( !UpdateData(true) )
|
||
return ;
|
||
|
||
if ( m_tBegin.GetStatus()==0 &&
|
||
m_tEnd.GetStatus()==0 &&
|
||
m_tEnd < m_tBegin )
|
||
{
|
||
MessageBox( _T("²éѯ½áÊøÈÕÆÚ²»ÄÜСÓÚÆðʼÈÕÆÚ£¬Çë¸ÄÕý!") , _T("´íÎó") , MB_ICONWARNING );
|
||
return ;
|
||
}
|
||
|
||
REQ_TDSet_See * pSee = new REQ_TDSet_See;memset(pSee,0,sizeof(REQ_TDSet_See));
|
||
|
||
|
||
pSee->lCorpID = -1;
|
||
if (m_lCorp >= 0)
|
||
{
|
||
if (m_lCorp == 0) //Ñ¡ÁËËùÓÐÆóÒµ
|
||
{
|
||
pSee->lCorpID = -1;
|
||
}
|
||
else
|
||
{
|
||
POSITION pos = (POSITION)m_L_Corp.GetItemData(m_lCorp);
|
||
if (pos>0 && pos != (POSITION)0xffffffff)
|
||
{
|
||
POSITION pos2 = pos;
|
||
ANS_Corp_NameData * pData = m_Corp.GetNext(pos);
|
||
if (pData)
|
||
{
|
||
pSee->lCorpID = pData->lCorpID;
|
||
}
|
||
else
|
||
{
|
||
delete pSee;
|
||
return;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
#ifdef SMSMANAGER_KF
|
||
if (pSee->lCorpID <=0 && m_strMobile.GetLength()<10 )
|
||
{
|
||
MessageBox( _T("ÊÖ»úºÅÂëÊäÈëÓÐÎó£¬ÇëÊäÈ룡"), _T("´íÎó"), MB_ICONWARNING );
|
||
GetDlgItem(IDC_TDSET_USERID)->SetFocus();
|
||
delete pSee;
|
||
return ;
|
||
}
|
||
#endif
|
||
|
||
_tcscpy(pSee->szMobile , m_strMobile );
|
||
m_tBegin.GetAsSystemTime(pSee->tBegin );
|
||
m_tEnd.GetAsSystemTime(pSee->tEnd );
|
||
pSee->lQueryType = 0; //²éѯÃ÷ϸ
|
||
m_pMainFrame->SendFrame(SMSFUNC_TDSET_SEE,(BYTE*)pSee,sizeof(REQ_TDSet_See));
|
||
return ;
|
||
}
|
||
|
||
void CTDSet::OnDblclkBackList(NMHDR* pNMHDR, LRESULT* pResult)
|
||
{
|
||
// TODO: Add your control notification handler code here
|
||
|
||
*pResult = 0;
|
||
|
||
if (m_lQueryType == 1)
|
||
return;
|
||
|
||
On_TDSet_Modify();
|
||
|
||
|
||
}
|
||
|
||
void CTDSet::OnKeydownBackList(NMHDR* pNMHDR, LRESULT* pResult)
|
||
{
|
||
LV_KEYDOWN* pLVKeyDow = (LV_KEYDOWN*)pNMHDR;
|
||
// TODO: Add your control notification handler code here
|
||
|
||
*pResult = 0;
|
||
}
|
||
|
||
void CTDSet::OnRclickBackList(NMHDR* pNMHDR, LRESULT* pResult)
|
||
{
|
||
*pResult = 0;
|
||
|
||
ShowRMenu();
|
||
}
|
||
|
||
void CTDSet::ShowRMenu()
|
||
{
|
||
/*
|
||
if (!m_pMainFrame->GetUserPurview(PURVIEW_TAB,false)) //ûÓв鿴ȨÏÞ
|
||
return ;
|
||
*/
|
||
if (m_lQueryType == 1)
|
||
return;
|
||
|
||
CMenu menu;
|
||
menu.CreatePopupMenu();
|
||
BOOL bLock = false;
|
||
long lItem = this->GetCurrentSelected();
|
||
if ( lItem >= 0 )
|
||
bLock = isLockItem( lItem , false ); //È¡µÃÊÇ·ñÕýÔÚËø¶¨
|
||
|
||
//Ìí¼Ó
|
||
menu.AppendMenu(MF_STRING , MENU_TDSET_ADD, _T(" Ìí ¼Ó ") );
|
||
menu.AppendMenu(MF_SEPARATOR);
|
||
//ɾ³ý
|
||
if (lItem >= 0 && !bLock)
|
||
{
|
||
menu.AppendMenu(MF_STRING, MENU_TDSET_MODIFY, _T(" ÐÞ ¸Ä "));
|
||
}
|
||
else
|
||
{
|
||
menu.AppendMenu(MF_STRING | MF_DISABLED | MF_GRAYED, MENU_TDSET_MODIFY, _T(" ÐÞ ¸Ä "));
|
||
}
|
||
//ɾ³ý
|
||
if ( lItem >=0 && !bLock )
|
||
{
|
||
menu.AppendMenu(MF_STRING , MENU_TDSET_DEL, _T(" ɾ ³ý ") );
|
||
}
|
||
else
|
||
{
|
||
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_TDSET_DEL , _T(" ɾ ³ý ") );
|
||
}
|
||
//ÏÔʾ²Ëµ¥
|
||
POINT pt ;
|
||
::GetCursorPos( &pt );
|
||
//this->ClientToScreen( &pt);
|
||
menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL);
|
||
menu.DestroyMenu();
|
||
}
|
||
|
||
void CTDSet::SetLockItem(long lItem, BOOL bLock)
|
||
{
|
||
if ( bLock )
|
||
m_wndList.SetIconIndex( lItem , 1 );
|
||
else
|
||
m_wndList.SetIconIndex( lItem , 0 );
|
||
}
|
||
|
||
BOOL CTDSet::isLockItem(long lItem, BOOL bShowWarning)
|
||
{
|
||
BOOL b = (m_wndList.GetIconIndex(lItem) == 1);
|
||
if ( b && bShowWarning )
|
||
{
|
||
MessageBox( _T("Õý¼±»Ëø¶¨£¬ÇëµÈ´ý·þÎñÆ÷·µ»ØºóÔÙ²Ù×÷!") , _T("Ëø¶¨ÖÐ") , MB_ICONINFORMATION );
|
||
}
|
||
return b;
|
||
}
|
||
|
||
long CTDSet::GetCurrentSelected()
|
||
{
|
||
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
|
||
if ( pos )
|
||
{
|
||
return m_wndList.GetNextSelectedItem(pos);
|
||
}
|
||
return -1;
|
||
}
|
||
|
||
void CTDSet::On_TDSet_Add()
|
||
{
|
||
if (m_lQueryType == 1)
|
||
return;
|
||
|
||
ANS_TDSet_Data data = { 0 };
|
||
data.lStatus = 1; //ĬÈÏÆô¶¯
|
||
data.lCorpID = -1;
|
||
data.lYYSType = 0; //ĬÈÏÊÇ×Ô¶¯
|
||
_tcscpy(data.szOutAll, _T("0000"));
|
||
_tcscpy(data.szTD, _T("0000"));
|
||
|
||
DLG_TDSet_Add dlg(this);
|
||
dlg.SetParam(data,0, 1);
|
||
if ( dlg.DoModal() == IDOK )
|
||
{
|
||
data = dlg.GetParam();
|
||
|
||
//·¢ËÍÇëÇó²é¿´
|
||
REQ_TDSet_Ins * pModify = new REQ_TDSet_Ins;
|
||
memset(pModify, 0, sizeof(REQ_TDSet_Ins));
|
||
|
||
GetLocalTime(&data.tAddTime);
|
||
pModify->data = data;
|
||
pModify->lCount = 1;
|
||
|
||
m_pMainFrame->SendFrame(SMSFUNC_TDSET_INS, (BYTE*)pModify, sizeof(REQ_TDSet_Ins));
|
||
}
|
||
}
|
||
|
||
void CTDSet::On_TDSet_Del()
|
||
{
|
||
if (m_lQueryType == 1)
|
||
return;
|
||
|
||
long lRet = MessageBox( _T("´Ë²Ù×÷½«»áɾ³ý°ó¶¨ºÅÂ룬ÊÇ·ñ¼ÌÐø£¿") , _T("ÌáÎÊ") , MB_ICONQUESTION|MB_YESNOCANCEL|MB_DEFBUTTON2);
|
||
if ( lRet != IDYES )
|
||
return;
|
||
|
||
long lCount = m_wndList.GetSelectedCount();
|
||
long lSize = sizeof(REQ_TDSet_Del) + sizeof(ANS_TDSet_DelData)*lCount;
|
||
BYTE * pDelSend = new BYTE[lSize]; memset(pDelSend, 0, lSize);
|
||
REQ_TDSet_Del * pDel = (REQ_TDSet_Del *)pDelSend; //Í·
|
||
ANS_TDSet_DelData * pDelData = (ANS_TDSet_DelData *)(pDelSend + sizeof(REQ_TDSet_Del));
|
||
pDel->lCount = lCount;
|
||
pDel->lCorpID = -1;
|
||
|
||
POSITION pos2 = m_wndList.GetFirstSelectedItemPosition();
|
||
while (pos2)
|
||
{
|
||
long lItem = m_wndList.GetNextSelectedItem(pos2);
|
||
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
|
||
ANS_TDSet_Data * pSeeData = NULL;
|
||
if (pos>0)
|
||
{
|
||
pSeeData = m_TDData.GetNext(pos);
|
||
}
|
||
|
||
pDelData->lItem = lItem;
|
||
if (pSeeData)
|
||
pDelData->lTDSetID = pSeeData->lTDSetID;
|
||
|
||
pDelData++;
|
||
}
|
||
|
||
|
||
m_pMainFrame->SendFrame(SMSFUNC_TDSET_DEL, (BYTE*)pDelSend, lSize);
|
||
|
||
}
|
||
|
||
|
||
|
||
void CTDSet::On_TDSet_Modify()
|
||
{
|
||
if (m_lQueryType == 1)
|
||
return;
|
||
|
||
long lItem = this->GetCurrentSelected();
|
||
if (lItem < 0)
|
||
return;
|
||
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
|
||
|
||
ANS_TDSet_Data * pSeeData = NULL;
|
||
if (pos>0)
|
||
{
|
||
pSeeData = m_TDData.GetNext(pos);
|
||
}
|
||
if (!pSeeData)
|
||
return;
|
||
|
||
long lModifyCount = m_wndList.GetSelectedCount();
|
||
|
||
DLG_TDSet_Add dlg(this);
|
||
|
||
dlg.SetParam(*pSeeData,0, lModifyCount);
|
||
if (dlg.DoModal() == IDOK)
|
||
{
|
||
ANS_TDSet_Data data = dlg.GetParam();
|
||
|
||
//·¢ËÍÇëÇó²é¿´
|
||
long lSize = sizeof(REQ_TDSet_Modify) + sizeof(ANS_TDSet_ModifyData)*lModifyCount;
|
||
BYTE * pData = new BYTE[lSize];
|
||
memset(pData, 0, lSize);
|
||
REQ_TDSet_Modify * pModify = (REQ_TDSet_Modify *)pData;
|
||
ANS_TDSet_ModifyData * pModifyData = (ANS_TDSet_ModifyData *)(pData + sizeof(REQ_TDSet_Modify));
|
||
|
||
//data.lCorpID = pSeeData->lCorpID;
|
||
data.lItemID = lItem;
|
||
pModify->data = data;
|
||
pModify->lCount = lModifyCount;
|
||
|
||
POSITION pos2 = m_wndList.GetFirstSelectedItemPosition();
|
||
while (pos2)
|
||
{
|
||
long lItem = m_wndList.GetNextSelectedItem(pos2);
|
||
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
|
||
ANS_TDSet_Data * pSeeData = NULL;
|
||
if (pos>0)
|
||
{
|
||
pSeeData = m_TDData.GetNext(pos);
|
||
}
|
||
|
||
pModifyData->lItem = lItem;
|
||
if (pSeeData)
|
||
pModifyData->lTDSetID = pSeeData->lTDSetID;
|
||
|
||
pModifyData++;
|
||
}
|
||
|
||
m_pMainFrame->SendFrame(SMSFUNC_TDSET_MODIFY, (BYTE*)pData, lSize);
|
||
}
|
||
|
||
}
|
||
|
||
|
||
void CTDSet::OnBackQuery2()
|
||
{
|
||
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);
|
||
return ;
|
||
}
|
||
}
|
||
for ( i=0 ; i<lSel ; i++ )
|
||
{
|
||
m_L_Corp.GetLBText(i,strTemp);
|
||
if ( strTemp.Find(strFind)>=0 )
|
||
{
|
||
m_L_Corp.SetCurSel(i);
|
||
return ;
|
||
}
|
||
}
|
||
}
|
||
|
||
void CTDSet::OnBackQuery3()
|
||
{
|
||
if ( !UpdateData(true) )
|
||
return ;
|
||
|
||
if ( m_tBegin.GetStatus()==0 &&
|
||
m_tEnd.GetStatus()==0 &&
|
||
m_tEnd < m_tBegin )
|
||
{
|
||
MessageBox( _T("²éѯ½áÊøÈÕÆÚ²»ÄÜСÓÚÆðʼÈÕÆÚ£¬Çë¸ÄÕý!") , _T("´íÎó") , MB_ICONWARNING );
|
||
return ;
|
||
}
|
||
REQ_TDSet_See * pSee = new REQ_TDSet_See; memset(pSee, 0, sizeof(REQ_TDSet_See));
|
||
|
||
#ifdef SMSMANAGER_KF
|
||
pSee->lCorpID = -1;
|
||
if ( m_strMobile.GetLength()<10 )
|
||
{
|
||
MessageBox( _T("ÊÖ»úºÅÂëÊäÈëÓÐÎó£¬ÇëÊäÈ룡"), _T("´íÎó"), MB_ICONWARNING );
|
||
GetDlgItem(IDC_TDSET_USERID)->SetFocus();
|
||
return ;
|
||
}
|
||
#else
|
||
|
||
pSee->lCorpID = -1;
|
||
if ( m_lCorp >= 0 )
|
||
{
|
||
if ( m_lCorp == 0 ) //Ñ¡ÁËËùÓÐÆóÒµ
|
||
{
|
||
pSee->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)
|
||
{
|
||
pSee->lCorpID = pData->lCorpID;
|
||
}
|
||
else
|
||
{
|
||
return;
|
||
}
|
||
}
|
||
}
|
||
#endif
|
||
_tcscpy(pSee->szMobile , m_strMobile );
|
||
m_tBegin.GetAsSystemTime(pSee->tBegin );
|
||
m_tEnd.GetAsSystemTime(pSee->tEnd );
|
||
pSee->lQueryType = 1; //²éѯ»ã×Ü
|
||
m_pMainFrame->SendFrame(SMSFUNC_TDSET_SEE, (BYTE*)pSee, sizeof(REQ_TDSet_See));
|
||
return ;
|
||
}
|
||
|
||
|
||
|
||
CString CTDSet::GetYYSName(long lType)
|
||
{
|
||
|
||
CString str = _T("×Ô¶¯Ñ¡Ôñ");
|
||
switch (lType)
|
||
{
|
||
case 1:
|
||
str = _T("ÖйúÒÆ¶¯");
|
||
break;
|
||
case 2:
|
||
str = _T("ÖйúÁªÍ¨");
|
||
break;
|
||
case 3:
|
||
str = _T("СÁéͨ");
|
||
break;
|
||
case 4:
|
||
str = _T("ÖйúµçÐÅ");
|
||
break;
|
||
case 5:
|
||
str = _T("¹ú¼Ê¶ÌÐÅ");
|
||
break;
|
||
}
|
||
|
||
return str;
|
||
}
|
||
|
||
|
||
CString CTDSet::GetTDName(TCHAR cTD, long lType)
|
||
{
|
||
|
||
CString str = _T("δ֪ͨµÀ");
|
||
|
||
switch (cTD - '0')
|
||
{
|
||
case 0:
|
||
str = _T("×Ô¶¯Ñ¡Ôñ");
|
||
break;
|
||
case 1:
|
||
str = _T("µÚһͨµÀ");
|
||
break;
|
||
case 2:
|
||
str = _T("µÚ¶þͨµÀ");
|
||
break;
|
||
case 3:
|
||
str = _T("µÚÈýͨµÀ");
|
||
break;
|
||
case 4:
|
||
str = _T("µÚËÄͨµÀ");
|
||
break;
|
||
case 5:
|
||
str = _T("µÚÎåͨµÀ");
|
||
break;
|
||
case 6:
|
||
str = _T("µÚÁùͨµÀ");
|
||
break;
|
||
case 7:
|
||
str = _T("µÚÆßͨµÀ");
|
||
break;
|
||
case 8:
|
||
str = _T("µÚ°ËͨµÀ");
|
||
break;
|
||
case 9:
|
||
str = _T("µÚ¾ÅͨµÀ");
|
||
break;
|
||
case 10:
|
||
str = _T("Ëæ»úͨµÀ");
|
||
break;
|
||
case 11:
|
||
str = _T("µÚ10ͨµÀ");
|
||
break;
|
||
case 12:
|
||
str = _T("µÚ11ͨµÀ");
|
||
break;
|
||
case 13:
|
||
str = _T("µÚ12ͨµÀ");
|
||
break;
|
||
case 14:
|
||
str = _T("µÚ13ͨµÀ");
|
||
break;
|
||
case 15:
|
||
str = _T("µÚ14ͨµÀ");
|
||
break;
|
||
case 16:
|
||
str = _T("µÚ15ͨµÀ");
|
||
break;
|
||
case 17:
|
||
str = _T("µÚ16ͨµÀ");
|
||
break;
|
||
case 18:
|
||
str = _T("µÚ17ͨµÀ");
|
||
break;
|
||
case 19:
|
||
str = _T("µÚ18ͨµÀ");
|
||
break;
|
||
case 20:
|
||
str = _T("µÚ19ͨµÀ");
|
||
break;
|
||
case 21:
|
||
str = _T("µÚ20ͨµÀ");
|
||
break;
|
||
case 22:
|
||
str = _T("µÚ21ͨµÀ");
|
||
break;
|
||
case 23:
|
||
str = _T("µÚ22ͨµÀ");
|
||
break;
|
||
case 24:
|
||
str = _T("µÚ23ͨµÀ");
|
||
break;
|
||
case 25:
|
||
str = _T("µÚ24ͨµÀ");
|
||
break;
|
||
case 26:
|
||
str = _T("µÚ25ͨµÀ");
|
||
break;
|
||
case 27:
|
||
str = _T("µÚ26ͨµÀ");
|
||
break;
|
||
case 28:
|
||
str = _T("µÚ27ͨµÀ");
|
||
break;
|
||
case 29:
|
||
str = _T("µÚ28ͨµÀ");
|
||
break;
|
||
case 30:
|
||
str = _T("µÚ29ͨµÀ");
|
||
break;
|
||
case 31:
|
||
str = _T("µÚ30ͨµÀ");
|
||
break;
|
||
case 32:
|
||
str = _T("µÚ31ͨµÀ");
|
||
break;
|
||
case 33:
|
||
str = _T("µÚ32ͨµÀ");
|
||
break;
|
||
case 34:
|
||
str = _T("µÚ33ͨµÀ");
|
||
break;
|
||
case 35:
|
||
str = _T("µÚ34ͨµÀ");
|
||
break;
|
||
case 36:
|
||
str = _T("µÚ35ͨµÀ");
|
||
break;
|
||
case 37:
|
||
str = _T("µÚ36ͨµÀ");
|
||
break;
|
||
case 38:
|
||
str = _T("µÚ37ͨµÀ");
|
||
break;
|
||
case 39:
|
||
str = _T("µÚ38ͨµÀ");
|
||
break;
|
||
case 40:
|
||
str = _T("µÚ39ͨµÀ");
|
||
break;
|
||
}
|
||
|
||
return str;
|
||
|
||
}
|
||
|