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

183 lines
4.9 KiB
C++

// DLG_Corp_TS.cpp : implementation file
//
#include "stdafx.h"
#include "smsmanager.h"
#include "DLG_Corp_TS.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// DLG_Corp_TS dialog
#include "DLG_Corp_TS_Modify.h"
DLG_Corp_TS::DLG_Corp_TS(CWnd* pParent /*=NULL*/)
: CDialog(DLG_Corp_TS::IDD, pParent)
{
//{{AFX_DATA_INIT(DLG_Corp_TS)
m_strCorpName = _T("");
m_strCorpID = _T("");
//}}AFX_DATA_INIT
m_pDlg = (CUserDlg *)pParent;
m_lModifyCount = 0;
memset( &m_TSReq , 0 , sizeof(m_TSReq) );
m_pTSData = NULL;
}
void DLG_Corp_TS::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DLG_Corp_TS)
DDX_Control(pDX, IDC_CORP_LXR_LIST, m_wndList);
DDX_Text(pDX, IDC_CORP_LXR_CORPNAME, m_strCorpName);
DDX_Text(pDX, IDC_CORP_LXR_CORPID, m_strCorpID);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(DLG_Corp_TS, CDialog)
//{{AFX_MSG_MAP(DLG_Corp_TS)
ON_BN_CLICKED(IDC_CORP_LXR_ADD, OnCorpLxrAdd)
ON_BN_CLICKED(IDC_CORP_LXR_MODIFY, OnCorpLxrModify)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DLG_Corp_TS message handlers
BOOL DLG_Corp_TS::OnInitDialog()
{
CDialog::OnInitDialog();
m_strCorpName = m_TSReq.szCorpName;
m_strCorpID.Format( _T("%d") , m_TSReq.lCorpID);
this->UpdateData(false);
//初始化List
m_Image.Create(16,16,ILC_COLOR16|ILC_MASK,5,5);
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_CORP) );
m_wndList.SubClassWindow2();
m_wndList.SetHeadings(_T("序号,50; 投诉类型,120;投诉时间,90; 处理人,80; 创建人,80; 投诉内容,200; 处理结果,200;"));
m_wndList.SetGridLines(true);
m_wndList.SetImageList(&m_Image,LVSIL_SMALL);
POSITION pos;
TCHAR Buf[32];
CString strTemp;
for ( int i = 0 ; i< m_TSReq.lCount ; i++ )
{
ANS_Corp_TSData * pData = new ANS_Corp_TSData;
*pData = m_pTSData[i];
pos = m_TS.AddTail( pData );
_stprintf( Buf , _T("%d") , i+1 );
m_wndList.InsertItem( i , Buf , 0 );
m_wndList.SetItemData( i , (DWORD)pos);
m_wndList.SetItemText( i , 1 , pData->szTSType );
strTemp.Format( _T("%04d.%02d.%02d") , pData->tTSTime.wYear,pData->tTSTime.wMonth,pData->tTSTime.wDay );
m_wndList.SetItemText( i , 2 , strTemp );
m_wndList.SetItemText( i , 3 , pData->szOperName );
m_wndList.SetItemText( i , 4 , pData->szCreateUser );
m_wndList.SetItemText( i , 5 , pData->szTSMsg );
m_wndList.SetItemText( i , 6 , pData->szTSProcess );
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void DLG_Corp_TS::SetParam(ANS_Corp_TS TS, ANS_Corp_TSData *pTSData)
{
m_TSReq = TS;
m_pTSData = pTSData;
}
void DLG_Corp_TS::OnCorpLxrAdd()
{
ANS_Corp_TSData TS={0};
DLG_Corp_TS_Modify dlg(this);
dlg.SetParam(TS,0);
if ( dlg.DoModal() == IDOK )
{
ANS_Corp_TSData * pTS = new ANS_Corp_TSData;
*pTS = dlg.GetParam();
::GetLocalTime( &pTS->tCreateTime );
pTS->ucStatus = CORP_TS_ADD;
m_lModifyCount ++; //需要修改的记录增加
POSITION pos = m_TS.AddTail( pTS );
long lCount = m_wndList.GetItemCount();
TCHAR Buf[32];
_stprintf( Buf, _T("%d") , lCount +1 );
CString strTemp;
//设置新的数据
m_wndList.InsertItem( lCount , Buf , 0 );
m_wndList.SetItemData( lCount , (DWORD)pos);
m_wndList.SetItemText( lCount , 1 , pTS->szTSType );
strTemp.Format( _T("%04d.%02d.%02d") , pTS->tTSTime.wYear,pTS->tTSTime.wMonth,pTS->tTSTime.wDay );
m_wndList.SetItemText( lCount , 2 , strTemp );
m_wndList.SetItemText( lCount , 3 , pTS->szOperName );
m_wndList.SetItemText( lCount , 4 , pTS->szCreateUser );
m_wndList.SetItemText( lCount , 5 , pTS->szTSMsg );
m_wndList.SetItemText( lCount , 6 , pTS->szTSProcess );
}
}
void DLG_Corp_TS::OnCorpLxrModify()
{
long lItem = GetCurrentSelected();
if ( lItem < 0 )
return ;
POSITION pos = (POSITION)m_wndList.GetItemData(lItem);
POSITION pos2 = pos;
ANS_Corp_TSData * pTS = m_TS.GetNext( pos );
if (pTS)
{
DLG_Corp_TS_Modify dlg(this);
dlg.SetParam( *pTS,pos2);
if ( dlg.DoModal() == IDOK )
{
*pTS = dlg.GetParam(); //取得修改过后的值
CString strTemp;
m_wndList.SetItemText( lItem , 1 , pTS->szTSType );
strTemp.Format( _T("%04d.%02d.%02d") , pTS->tTSTime.wYear,pTS->tTSTime.wMonth,pTS->tTSTime.wDay );
m_wndList.SetItemText( lItem , 2 , strTemp );
m_wndList.SetItemText( lItem , 3 , pTS->szOperName );
m_wndList.SetItemText( lItem , 4 , pTS->szCreateUser );
m_wndList.SetItemText( lItem , 5 , pTS->szTSMsg );
m_wndList.SetItemText( lItem , 6 , pTS->szTSProcess );
if ( pTS->ucStatus == 0 )
{
pTS->ucStatus = CORP_TS_MODIFY; //需要修改
m_lModifyCount ++; //需要修改的记录增加
}
}
}
}
long DLG_Corp_TS::GetCurrentSelected()
{
POSITION pos = m_wndList.GetFirstSelectedItemPosition();
if ( pos )
{
return m_wndList.GetNextSelectedItem(pos);
}
return -1;
}