#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; }