#include "StdAfx.h"
|
#include "MBDocLogMgr.h"
|
|
|
CMBDocLogMgr ::CMBDocLogMgr (void)
|
{
|
m_nRecords = 0; // ¨C ¼Ç¼×ÜÊý
|
m_nTotalPages = 0; // ¨C ×ÜÒ³Êý
|
m_nCurPage = 0; // ¨C µ±Ç°Ò³Âë
|
m_nPageSize = 0; // ¨C Ò³¼Ç¼Êý
|
m_bDMSGetDocTypeLog = false;
|
}
|
|
|
CMBDocLogMgr ::~CMBDocLogMgr(void)
|
{
|
|
}
|
|
bool CMBDocLogMgr::AddDocLogInfo(CMBDocLogInfo *pDocLogInfo)
|
{
|
return AddDocLogObj(pDocLogInfo);
|
}
|
|
CMBDocLogInfo* CMBDocLogMgr::GetDocLogInfo( CString strID )
|
{
|
return (CMBDocLogInfo*)GetDocLogObj(strID);
|
}
|
|
// ½âÎö·þÎñ¶ËÊý¾Ý
|
bool CMBDocLogMgr::ParseXml( CString strXml,CString &strErrInfo )
|
{
|
if( strXml.IsEmpty() )
|
{
|
return true;
|
}
|
pugi::xml_document xmlDoc;
|
if (!xmlDoc.load(strXml))
|
{
|
strErrInfo = _T("CMBDocLogMgr::ParseXml,¼ÓÔØxmlʧ°Ü!");
|
return false;
|
}
|
|
CString strRecords,strTotalPages,
|
strCurPage,strPageSize,strFileSize;
|
|
pugi::xml_node form = xmlDoc.child(_T("Result"));
|
pugi::xml_node node = form;
|
//////////////////Ò³µÄÐÅÏ¢////////////////////////////////
|
m_strSessionID = node.child_value(_T("SessionID"));
|
strRecords = node.child_value(_T("Records"));
|
m_nRecords = _ttoi(strRecords);
|
strTotalPages = node.child_value(_T("TotalPages"));
|
m_nTotalPages = _ttoi(strTotalPages);
|
strCurPage = node.child_value(_T("CurPage"));
|
m_nCurPage = _ttoi(strCurPage);
|
strPageSize = node.child_value(_T("PageSize"));
|
m_nPageSize = _ttoi(strPageSize);
|
|
node = form.child(_T("Body")).child(_T("Log"));
|
for (pugi::xml_node tmpNode = node; tmpNode; tmpNode = tmpNode.next_sibling(_T("Log")))
|
{
|
CMBDocLogInfo *pDocLogInfo = new CMBDocLogInfo();
|
pDocLogInfo->m_strID = tmpNode.attribute(_T("ID")).value(); // ÈÕÖ¾ID
|
pDocLogInfo->m_strType = tmpNode.attribute(_T("Type")).value(); // ÀàÐÍ
|
pDocLogInfo->m_strOperator = tmpNode.attribute(_T("Operator")).value(); // ²Ù×÷ÕߵǼÃû
|
pDocLogInfo->m_strOperatorName = tmpNode.attribute(_T("OperatorName")).value(); // ²Ù×÷ÕßÃû³Æ
|
pDocLogInfo->m_strTime = tmpNode.attribute(_T("Time")).value(); // ²Ù×÷ʱ¼ä
|
pDocLogInfo->m_nTotal = tmpNode.attribute(_T("Total")).as_int(); // ¨C ä¯ÀÀ¡¢ÏÂÔØµÄ´ÎÊý
|
pDocLogInfo->m_strNote = tmpNode.child_value(_T("Note")); // ¨C±¸×¢
|
|
if( !AddDocLogInfo(pDocLogInfo) )
|
{
|
MBSAFE_DELETE(pDocLogInfo)
|
}
|
}
|
|
return true;
|
}
|