#include "StdAfx.h"
|
#include "MBHisDocMgr.h"
|
|
IMPLEMENT_DYNAMIC(CMBHisDocMgr, CMBBaseHisDocMgr)
|
|
CMBHisDocMgr::CMBHisDocMgr(void)
|
{
|
m_bGetHistoryDocList = false;
|
}
|
|
|
CMBHisDocMgr::~CMBHisDocMgr(void)
|
{
|
}
|
|
bool CMBHisDocMgr::AddHisDocInfo(CMBHisDocInfo *pHisDocInfo)
|
{
|
return AddHisDocObj(pHisDocInfo);
|
}
|
|
// ²éÕÒ
|
CMBHisDocInfo *CMBHisDocMgr::GetHisDocInfo( CString strHisID )
|
{
|
return (CMBHisDocInfo *)GetHisDocObj(strHisID);
|
}
|
|
bool CMBHisDocMgr::DMSParseXml( CString &strXml,CString &strErrInfo )
|
{
|
if( strXml.IsEmpty() )
|
{
|
return true;
|
}
|
|
CString strFileSize;
|
pugi::xml_document xmlDoc;
|
|
if (!xmlDoc.load(strXml))
|
{
|
return false;
|
}
|
pugi::xml_node form = xmlDoc.child(_T("Body")).child(_T("Doc"));
|
for(pugi::xml_node node = form; node; node = node.next_sibling(_T("Doc")))
|
{
|
CMBHisDocInfo *pDocHisInfo = new CMBHisDocInfo();
|
pDocHisInfo->m_strHistoryID = node.attribute(_T("ID")).value(); // ÀúÊ·ID
|
pDocHisInfo->m_strOperator = node.attribute(_T("Operator")).value(); // ²Ù×÷ÈË
|
pDocHisInfo->m_strOperatorName = node.attribute(_T("OperatorName")).value(); // ²Ù×÷ÈËÐÕÃû
|
pDocHisInfo->m_strOperateTime = node.attribute(_T("OperateTime")).value(); // ²Ù×÷ʱ¼ä
|
pDocHisInfo->m_strID = node.attribute(_T("ID")).value(); // ÎĵµID
|
pDocHisInfo->m_strVer = node.attribute(_T("Ver")).value(); // °æ±¾
|
pDocHisInfo->m_strDTCreate = node.attribute(_T("DTCreate")).value(); // ´´½¨Ê±¼ä
|
pDocHisInfo->m_strFileServer = node.attribute(_T("FileServer")).value(); // Îļþ·þÎñÆ÷±êʶ
|
pDocHisInfo->m_strFileID = node.attribute(_T("FileID")).value(); // ÎļþID
|
strFileSize = node.attribute(_T("FileSize")).value(); // Îļþ´óС
|
pDocHisInfo->m_nFileSize = _ttoi(strFileSize);
|
pDocHisInfo->m_strFileType = node.attribute(_T("FileType")).value(); // ÎļþÀàÐÍ
|
pDocHisInfo->m_strFileTime = node.attribute(_T("FileTime")).value(); // Îļþʱ¼ä
|
pDocHisInfo->m_strFileMD5 = node.attribute(_T("FileMD5")).value(); // ÎļþMD5
|
pDocHisInfo->m_strFileName = node.child_value(_T("FileName")); // ÎļþÃû³Æ
|
|
if( !AddHisDocInfo(pDocHisInfo) )
|
{
|
delete pDocHisInfo;
|
pDocHisInfo = NULL;
|
}
|
}
|
|
return true;
|
}
|
|
bool CMBHisDocMgr::NDParseXml( CString &strXml,CString &strErrInfo )
|
{
|
if( strXml.IsEmpty() )
|
{
|
return true;
|
}
|
|
CString strFileSize;
|
pugi::xml_document xmlDoc;
|
|
if (!xmlDoc.load(strXml))
|
{
|
return false;
|
}
|
pugi::xml_node form = xmlDoc.child(_T("Body")).child(_T("Doc"));
|
for(pugi::xml_node node = form; node; node = node.next_sibling(_T("Doc")))
|
{
|
CMBHisDocInfo *pDocHisInfo = new CMBHisDocInfo();
|
pDocHisInfo->m_strHistoryID = node.attribute(_T("HistoryID")).value(); // ÀúÊ·ID
|
pDocHisInfo->m_strOperator = node.attribute(_T("Operator")).value(); // ²Ù×÷ÈË
|
pDocHisInfo->m_strOperatorName = node.attribute(_T("OperatorName")).value(); // ²Ù×÷ÈËÐÕÃû
|
pDocHisInfo->m_strOperateTime = node.attribute(_T("OperateTime")).value(); // ²Ù×÷ʱ¼ä
|
pDocHisInfo->m_strID = node.attribute(_T("ID")).value(); // ÎĵµID
|
pDocHisInfo->m_strVer = node.attribute(_T("Ver")).value(); // °æ±¾
|
pDocHisInfo->m_strDTCreate = node.attribute(_T("DTCreate")).value(); // ´´½¨Ê±¼ä
|
pDocHisInfo->m_strFileServer = node.attribute(_T("FileServer")).value(); // Îļþ·þÎñÆ÷±êʶ
|
pDocHisInfo->m_strFileID = node.attribute(_T("FileID")).value(); // ÎļþID
|
strFileSize = node.attribute(_T("FileSize")).value(); // Îļþ´óС
|
pDocHisInfo->m_nFileSize = _ttoi(strFileSize);
|
pDocHisInfo->m_strFileType = node.attribute(_T("FileType")).value(); // ÎļþÀàÐÍ
|
pDocHisInfo->m_strFileTime = node.attribute(_T("FileTime")).value(); // Îļþʱ¼ä
|
pDocHisInfo->m_strFileMD5 = node.attribute(_T("FileMD5")).value(); // ÎļþMD5
|
pDocHisInfo->m_strFileName = node.child_value(_T("FileName")); // ÎļþÃû³Æ
|
|
if( !AddHisDocInfo(pDocHisInfo) )
|
{
|
delete pDocHisInfo;
|
pDocHisInfo = NULL;
|
}
|
}
|
|
return true;
|
}
|