BranchInfo.h 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. /************************************************************************/
  2. /*
  3. 版权所有: (C)2015, 利亚方舟科技有限公司。
  4. 文件名称: BranchInfo.h
  5. 文件标识:
  6. 内容摘要: 每个分店的数据操作对象
  7. 其他说明:
  8. 当前版本: V1.0
  9. 作 者: Jeff
  10. 完成日期: 2015/04/22
  11. 修改记录:
  12. 修改日期:
  13. 版 本 号:
  14. 修 改 人:
  15. 修改内容:
  16. */
  17. /************************************************************************/
  18. #ifndef __BRANCH_INFO__
  19. #define __BRANCH_INFO__
  20. #pragma once
  21. #include "CatalogObj.h"
  22. #include "TblDef.h"
  23. #define TEST_CREATE_DIRECTORY 0
  24. class CBranchInfo:public CCatalogObj
  25. {
  26. CBranchInfo();
  27. public:
  28. ~CBranchInfo(void);
  29. static CBranchInfo* GetInstance()
  30. {
  31. static CBranchInfo tagInstance;
  32. return &tagInstance;
  33. }
  34. private:
  35. TCHAR m_szBranchName[MAX_PATH]; // 店名;
  36. TCHAR m_szBranchDoMain[MAX_PATH]; // 店域名;
  37. TCHAR m_szBranchIP[MAX_PATH]; // 店铺IP;
  38. CString m_strBranchId; // 分店域名;
  39. public:
  40. // 多店多数据库时,以下两变量为静态,且获取的数据库对象是本店服务器的;
  41. static TblVersion m_TblVersion;
  42. typedef vector<TblCatalogInfo*> CATALOGINFO;
  43. typedef vector<TblNetShareInfo*> NETSHAREINFO;
  44. static CATALOGINFO m_TblCatalogInfo;
  45. static NETSHAREINFO m_TblNetShareInfo;
  46. static void RemvoeCatalogInfo();
  47. static void RemoveNetShareInfo();
  48. public:
  49. inline LPCTSTR GetDoMain()CONST{return m_szBranchDoMain;}
  50. TblVersion& GetVersionInfo(){return m_TblVersion;}
  51. // 获取数据库实例所对就的分店域名;
  52. inline CONST CString& GetBranchId()CONST{return m_strBranchId;}
  53. void SetBranchId(LPCTSTR lpBranchId){ m_strBranchId = lpBranchId;}
  54. // 1.初始化数据库连接串;
  55. BOOL InitCatalog(
  56. IN CONST DWORD &dwCatalogPort,
  57. IN LPCTSTR lpCatalogSource,
  58. IN LPCTSTR lpCatalogAccount,
  59. IN LPCTSTR lpCatalogPsw,
  60. IN LPCTSTR lpCatalogName);
  61. // 2.获取特定表信息;
  62. BOOL GetTblBranchId();
  63. BOOL GetTblVersion();
  64. BOOL GetTblCatalogInfo();
  65. BOOL GetTblNetShareInfo();
  66. BOOL IsCatalogInfoExists(IN LPCTSTR lpBranchId);
  67. BOOL IsNetShareInfoExists(IN LPCTSTR lpBranchId, IN LPCTSTR lpShareDirectory);
  68. BOOL GetTblIncrementBackup(OUT CArray<CStringArray,CStringArray> &AryOfValues);
  69. BOOL GetTblAllPhotoManager(OUT CArray<CStringArray, CStringArray> &AryOfValues);
  70. BOOL GetTblPhotoManager1(OUT CArray<CStringArray, CStringArray> &AryOfValues);
  71. BOOL GetTblPhotoManager2(OUT CArray<CStringArray, CStringArray> &AryOfValues);
  72. BOOL GetTblPhotoManager3(OUT CArray<CStringArray, CStringArray> &AryOfValues);
  73. BOOL GetTblPhotoManager4(OUT CArray<CStringArray, CStringArray> &AryOfValues);
  74. BOOL GetTblPhotoManager5(OUT CArray<CStringArray, CStringArray> &AryOfValues);
  75. BOOL GetTblPhotoManager6(OUT CArray<CStringArray, CStringArray> &AryOfValues);
  76. BOOL GetTblPhotoManager7(OUT CArray<CStringArray, CStringArray> &AryOfValues);
  77. BOOL GetTblPhotoManager8(OUT CArray<CStringArray, CStringArray> &AryOfValues);
  78. BOOL GetEnableShareDirectory(OUT double &dFreeNum, IN const int &nPhotoType, IN LPCTSTR lpBranchId, IN LPCTSTR lpOrderNum, OUT LPTSTR lpEnableShareDirectory);
  79. #if TEST_CREATE_DIRECTORY // 测试;
  80. BOOL GetTblPhotoManager(OUT CArray<CStringArray, CStringArray> &AryOfValues);
  81. void CreateOrderDirectory(IN LPCTSTR lpOrderNum);
  82. #endif
  83. protected:
  84. void Separator(IN LPCTSTR lpSeparator, IN LPCTSTR lpString, OUT CStringArray &ResultArray);
  85. void AddLocalShareDirectory();
  86. BOOL InsertNetShareInfo(IN LPCTSTR lpShareDirectory, IN LPCTSTR lpBranchId, IN CONST BYTE &nMinCapacity, IN CONST BYTE &nMaxCapacity, IN CONST BYTE &nPhotoType, IN CONST BYTE &nPriority);
  87. BOOL GetIncrementContentAndBackup(
  88. IN LPCTSTR lpBranchId,
  89. IN LPCTSTR lpOpTm,
  90. IN LPCTSTR lpOrder,
  91. IN CONST BYTE &byPhotoType,
  92. IN LPCTSTR lpIncrementContent);
  93. BOOL GetRemvoeOrderInfoAndRemove(
  94. IN LPCTSTR lpBranchId,
  95. IN LPCTSTR lpOrderNum,
  96. IN LPCTSTR lpOpTm,
  97. IN const BYTE &byPhotoType);
  98. BOOL FindImageShareDirectory(IN const BYTE &byPhotoType, IN LPCTSTR lpImage, IN LPCTSTR lpOrderNum, OUT LPTSTR lpShareDirectory);
  99. BOOL FindImageShareDirectory(IN const BYTE &byPhotoType, IN LPCTSTR lpImage, IN LPCTSTR lpOrderNum, OUT CStringArray &AryOfShareDirectory);
  100. // 判断目录是否为有效可删除的目录;
  101. BOOL IsValideDiretory(IN LPCTSTR lpDirectory);
  102. // 删除指定的目录;
  103. BOOL DeleteDirectory(IN LPCTSTR lpDiretory);
  104. static BOOL IsValidDate(LPCTSTR lpDate);
  105. static UINT64 EasyGetFileSize(IN LPCTSTR lpFile);
  106. static UINT64 EasyGetFileSpacesSzie(IN LPCTSTR lpFileName);
  107. static UINT64 EasyGetSizeOfFiles(IN CStringArray &strAryOfFile);
  108. static BOOL GetDiskSpaceInfo(IN LPCTSTR lpRootPathName,IN OUT double &dTotalNum, IN OUT double &dFreeNum);
  109. static BOOL EasyCopyFile(IN LPCTSTR lpOrderNum, IN LPCTSTR lpExistingFileName, IN LPCTSTR lpTargetDirectory, IN BOOL bFailIfExists = TRUE );
  110. };
  111. #endif