使用soui开发的mbc,只支持windows版本
w1146869587
2022-01-24 4905e2e7537d507f218e8e9595485e09d9f3a2b4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#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;
}