/************************************************************************/ /* Copyright (C), 2016-2020, [IT], 保留所有权利; /* 模 块 名:; /* 描 述:; /* /* 版 本:[V]; /* 作 者:[IT]; /* 日 期:[5/15/2016]; /* /* /* 注 意:; /* /* 修改记录:[IT]; /* 修改日期:; /* 修改版本:; /* 修改内容:; /************************************************************************/ #ifndef __N8_PROCESS__ #define __N8_PROCESS__ #include "Markup.h" #include using namespace std; #pragma once namespace N8Process { ////////////////////////////////////////////////////////////////////////// // 基类; class CN8XML { public: CN8XML(){ m_bLoad = FALSE; m_strXMLPath.Empty(); }; ~CN8XML(){}; BOOL m_bLoad; void SetXMLPath(IN LPCTSTR lpXMLPath){ if ( lpXMLPath == NULL || !PathFileExists(lpXMLPath) ) return; m_strXMLPath = lpXMLPath; }; BOOL IsPathExists() { if ( m_strXMLPath.IsEmpty() || !PathFileExists(m_strXMLPath) ) return FALSE; return TRUE; }; CString& GetPath(){return m_strXMLPath;}; private: CString m_strXMLPath; }; ////////////////////////////////////////////////////////////////////////// // N8产品列表product.xml; class CProductList:public CN8XML { public: CProductList(){}; ~CProductList(){}; class CItem { public: CItem(){ m_strProductID = _T(""); m_strProductName = _T(""); m_strProductWidth = _T(""); m_strProductHeight = _T(""); }; ~CItem(){}; CString m_strProductID; // 产品ID; CString m_strProductName; // 产品名; CString m_strProductWidth; // 产品宽; CString m_strProductHeight; // 产品高; }; CArray m_AryItems; public: BOOL CreateXML(IN LPCTSTR lpXMLPath) { CMarkup xml; if ( xml.Load(lpXMLPath) ) return TRUE; xml.SetDoc(_T("\r\n")); xml.AddElem(_T("nemovg")); return xml.Save(lpXMLPath); }; BOOL LoadXML(IN LPCTSTR lpXMLPath = NULL); BOOL IsItemExists(IN LPCTSTR lpProductID, IN LPCTSTR lpProductName); // 插入productList.xml产品项; BOOL InsertItem(IN LPCTSTR lpProductID, IN LPCTSTR lpProductName, IN LPCTSTR lpProductWidth, IN LPCTSTR lpProductHeiht); // 删除指定ID或名称的产品; BOOL RemoveItemByID(IN LPCTSTR lpProductID); BOOL RemoveItemByName(IN LPCTSTR lpProductName); }; ////////////////////////////////////////////////////////////////////////// // 员工类; class CStaff:public CN8XML { public: CStaff(){}; ~CStaff(){}; class CItem { public: CItem(){ m_strStaffID = _T(""); m_strStaffName = _T(""); }; ~CItem(){}; CString m_strStaffID; // 员工ID; CString m_strStaffName; // 员工名称; }; CArray m_AryItems; public: BOOL CreateXML(IN LPCTSTR lpXMLPath) { CMarkup xml; if ( xml.Load(lpXMLPath) ) return TRUE; xml.SetDoc(_T("\r\n")); xml.AddElem(_T("nemovg")); return xml.Save(lpXMLPath); }; BOOL LoadXML(IN LPCTSTR lpXMLPath = NULL); BOOL IsItemExists(IN LPCTSTR lpStaffID); BOOL InsertItem(IN LPCTSTR lpStaffID, IN LPCTSTR lpStaffName); BOOL RemoveItemByID(IN LPCTSTR lpStaffID); }; ////////////////////////////////////////////////////////////////////////// // 选版结果产品类; class CResultProduct:public CN8XML { public: CResultProduct(){}; ~CResultProduct(){}; public: typedef struct _SubItem_ { _SubItem_(){ m_strID = _T(""); m_strComment = _T(""); m_strReplease = _T(""); }; CString m_strID; // 版面; CString m_strComment; // 备注; CString m_strReplease; // 要替换的相片; }SubItem; class CItem { public: CItem(){ m_strProductID = _T(""); m_strProductComment = _T(""); m_strProductName = _T(""); m_strProductWidth = _T(""); m_strProductHeight = _T(""); }; ~CItem(){}; CString m_strProductID; CString m_strProductComment; CString m_strProductName; CString m_strProductWidth; CString m_strProductHeight; vector m_ArySubItems; protected: private: }; CArray m_AryItems; public: BOOL CreateXML(IN LPCTSTR lpXMLPath) { CMarkup xml; if ( xml.Load(lpXMLPath) ) return TRUE; xml.SetDoc(_T("\r\n")); xml.AddElem(_T("prdlist")); xml.AddAttrib(_T("version"), _T("1.0")); return xml.Save(lpXMLPath); }; BOOL LoadXML(IN LPCTSTR lpXMLPath = NULL); BOOL IsItemExists(IN LPCTSTR lpID, IN LPCTSTR lpName); BOOL InsertItem(IN LPCTSTR lpID, IN LPCTSTR lpComment, IN LPCTSTR lpName, IN LPCTSTR lpWidth, IN LPCTSTR lpHeight); BOOL InsertSubItem(IN LPCTSTR lpID, IN LPCTSTR lpName, IN LPCTSTR lpSubID, IN LPCTSTR lpSubComment, IN LPCTSTR lpSubReplease); }; ////////////////////////////////////////////////////////////////////////// // 选版结果产品类; class CResultVgProduct:public CN8XML { public: CResultVgProduct(){}; ~CResultVgProduct(){}; class CItem { public: CItem(){ m_strProductID = _T(""); m_strProductComment = _T(""); m_strProductName = _T(""); m_strProductWidth = _T(""); m_strProductHeight = _T(""); }; ~CItem(){}; CString m_strProductID; CString m_strProductComment; CString m_strProductName; CString m_strProductWidth; CString m_strProductHeight; vector m_ArySubItems; protected: private: }; CArray m_AryItems; public: BOOL CreateXML(IN LPCTSTR lpXMLPath) { CMarkup xml; if ( xml.Load(lpXMLPath) ) return TRUE; xml.SetDoc(_T("\r\n")); xml.AddElem(_T("n8vg_prdlist")); xml.AddAttrib(_T("version"), _T("1.0")); return xml.Save(lpXMLPath); }; BOOL LoadXML(IN LPCTSTR lpXMLPath = NULL); BOOL IsItemExists(IN LPCTSTR lpID, IN LPCTSTR lpName); BOOL InsertItem(IN LPCTSTR lpID, IN LPCTSTR lpComment, IN LPCTSTR lpName, IN LPCTSTR lpWidth, IN LPCTSTR lpHeight); BOOL InsertSubItem(IN LPCTSTR lpID, IN LPCTSTR lpName, IN LPCTSTR lpSubID); protected: private: }; ////////////////////////////////////////////////////////////////////////// // ResultItem类; class CResultItem:public CN8XML { public: CResultItem(){}; ~CResultItem(){}; class CItem { public: CItem(){}; ~CItem(){}; public: CString m_strPath; CString m_strComment; CString m_strDel; CString m_strPage; CString m_strDeleted; // 版面中,被删除的相片,多个相片以"|"分隔; private: }; CArray m_AryItems; BOOL LoadXML(IN LPCTSTR lpXMLPath = NULL ); BOOL InsertItem(IN LPCTSTR lpPath, IN LPCTSTR lpComment, IN LPCTSTR lpDel, IN LPCTSTR lpPage); BOOL IsItemExists(IN LPCTSTR lpPath); }; ////////////////////////////////////////////////////////////////////////// // Ablum类; class CAlbum:public CN8XML { public: CAlbum(){}; ~CAlbum(){}; class CPageItem { public: CPageItem(){ m_strtplid = _T(""); m_strFileName = _T(""); m_strtplname = _T(""); }; ~CPageItem(){}; CString m_strtplid; // 模板id; CString m_strtplname; // 模板名; CString m_strFileName; // 版面名称; vector m_vtImgs; // 组成版本的相片; protected: private: }; CArray m_AryPages; public: BOOL LoadXML(IN LPCTSTR lpXMLPath = NULL ); BOOL IsItemExists(IN LPCTSTR lpID, IN LPCTSTR lpName); BOOL InsertItem(IN LPCTSTR lpID, IN LPCTSTR lpComment, IN LPCTSTR lpName, IN LPCTSTR lpWidth, IN LPCTSTR lpHeight); BOOL InsertSubItem(IN LPCTSTR lpID, IN LPCTSTR lpName, IN LPCTSTR lpSubID); private: }; ////////////////////////////////////////////////////////////////////////// // 选版完成结果; class CResultXml:public CN8XML { public: CResultXml(){}; ~CResultXml(){}; class CItem { public: CItem(){ m_strTplid = _T(""); m_strTplname = _T(""); m_strProdid = _T(""); }; ~CItem(){}; // 模板id; CString m_strTplid; // 模板名称; CString m_strTplname; // 商品id; CString m_strProdid; protected: private: }; // 员工id; CString m_strStaffID; // 用户目录; CString m_strClientFolder; // 选版日期; CString m_strDate; // 设计师; CString m_strDesigner; // 节点元素; CArray m_AryItems; public: BOOL LoadXML(IN LPCTSTR lpXMLPath = NULL ); BOOL IsItemExists(IN LPCTSTR lpTplID, IN LPCTSTR lpTplName, IN LPCTSTR lpProdID); BOOL InsertItem(IN LPCTSTR lpID, IN LPCTSTR lpComment, IN LPCTSTR lpName, IN LPCTSTR lpWidth, IN LPCTSTR lpHeight); BOOL InsertSubItem(IN LPCTSTR lpID, IN LPCTSTR lpName, IN LPCTSTR lpSubID); private: }; }; #endif // __N8_PROCESS__;