CDSCrossF.h 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. //---------------------------------------------------------------------------
  2. #ifndef CDSCrossFH
  3. #define CDSCrossFH
  4. //---------------------------------------------------------------------------
  5. #include <Classes.hpp>
  6. #include <stdio.h>
  7. #include <ADODB.hpp>
  8. #include <DB.hpp>
  9. #include "ITSLibF.h"
  10. #include "ITSDbF.h"
  11. #include "CDSObjectF.h"
  12. //---------------------------------------------------------------------------
  13. #include "CenterCommF.h"
  14. //---------------------------------------------------------------------------
  15. //---------------------------------------------------------------------------
  16. class TCrossCam : public TCDSObject
  17. {
  18. public:
  19. TCrossCam()
  20. {
  21. ANGLE = 0;
  22. };
  23. ~TCrossCam() {};
  24. private:
  25. public:
  26. #if 0
  27. String CTLR_NMBR; // N NUMBER(10) N VMS 제어기 번호
  28. String CTLR_ID; // N VARCHAR2(10) Y VMS 제어기 ID
  29. String NAME; // N VARCHAR2(40) Y VMS 명칭
  30. String CTLR_IP; // N VARCHAR2(20) Y VMS 제어기 아이피
  31. int CTLR_PORT; // N NUMBER(5) Y 0 VMS 제어기 포트
  32. int CTLR_LOCAL_NO; // N NUMBER(5) Y 0 VMS 제어기 지역번호
  33. String TYPE_CD; // N VARCHAR2(7) Y VMS 유형 코드
  34. String ISTL_LCTN_NM; // N VARCHAR2(40) Y 설치 위치 명
  35. String ISTL_LCTN_ADDR; // N VARCHAR2(200) Y 설치 위치 주소
  36. double X_CRDN; // N NUMBER(11,8) Y X 좌표
  37. double Y_CRDN; // N NUMBER(10,8) Y Y 좌표
  38. String DEL_YN; // N CHAR(1) Y 'N' 삭제 여부
  39. #endif
  40. String CROSS_ID;
  41. String IP;
  42. String ID;
  43. String PWD;
  44. String RTSP_URL;
  45. int RTSP_PORT;
  46. int HTTP_PORT;
  47. String DIRECTION;
  48. int ANGLE;
  49. String RIGHT_USE;
  50. public:
  51. void Copy(TCrossCam *AObj);
  52. public:
  53. #if 0
  54. __property String CAM_ID = { read = CTLR_NMBR, write = CTLR_NMBR };
  55. __property String CAM_NM = { read = NAME, write = NAME };
  56. #endif
  57. };
  58. class TCross : public TCDSObject
  59. {
  60. public:
  61. TCross();
  62. ~TCross();
  63. public:
  64. #if 0
  65. String CTLR_NMBR; // N NUMBER(10) N VMS 제어기 번호
  66. String CTLR_ID; // N VARCHAR2(10) Y VMS 제어기 ID
  67. String NAME; // N VARCHAR2(40) Y VMS 명칭
  68. String CTLR_IP; // N VARCHAR2(20) Y VMS 제어기 아이피
  69. int CTLR_PORT; // N NUMBER(5) Y 0 VMS 제어기 포트
  70. int CTLR_LOCAL_NO; // N NUMBER(5) Y 0 VMS 제어기 지역번호
  71. String TYPE_CD; // N VARCHAR2(7) Y VMS 유형 코드
  72. String ISTL_LCTN_NM; // N VARCHAR2(40) Y 설치 위치 명
  73. String ISTL_LCTN_ADDR; // N VARCHAR2(200) Y 설치 위치 주소
  74. double X_CRDN; // N NUMBER(11,8) Y X 좌표
  75. double Y_CRDN; // N NUMBER(10,8) Y Y 좌표
  76. String DEL_YN; // N CHAR(1) Y 'N' 삭제 여부
  77. #endif
  78. int ZOOM_LEVEL;
  79. String LOCAL_GROUP_ID;
  80. String CROSS_TYPE;
  81. public:
  82. TItsMap<String, TCrossCam*> FLists;
  83. public:
  84. #if 0
  85. __property String CROSS_ID = { read = CTLR_NMBR, write = CTLR_NMBR };
  86. __property String CROSS_NM = { read = NAME, write = NAME };
  87. #endif
  88. };
  89. //---------------------------------------------------------------------------
  90. typedef std::map<String, TCross*>::iterator CrossIterator;
  91. //---------------------------------------------------------------------------
  92. //---------------------------------------------------------------------------
  93. class TCrossManager
  94. {
  95. public:
  96. TCrossManager();
  97. ~TCrossManager();
  98. private:
  99. public:
  100. TItsMap<String, TCross*> FLists;
  101. TItsMap<String, TCrossCam*> FCamLists;
  102. public:
  103. bool LoadFromDb(TADOConnection *ADbConn=NULL);
  104. bool LoadCrossCam(TADOConnection *ADbConn=NULL);
  105. bool LoadStatusFromDb(TADOConnection *ADbConn=NULL);
  106. bool DeleteCross(TCross *AObj, TADOConnection *ADbConn=NULL);
  107. bool InsertCross(TCross *AObj, TADOConnection *ADbConn=NULL);
  108. bool UpdateCross(TCross *AObj, TADOConnection *ADbConn=NULL);
  109. bool MergeCross(TCross *AObj, TADOConnection *ADbConn=NULL);
  110. bool MergeFcltInfo(TCross *AObj, TADOConnection *ADbConn=NULL);
  111. bool GetNextCrossId(int &ANmbr, int &AId, TADOConnection *ADbConn=NULL);
  112. bool SaveCrossCam(TCrossCam *AObj, TADOConnection *ADbConn=NULL);
  113. bool DeleteCrossCam(TCrossCam *AObj, TADOConnection *ADbConn=NULL);
  114. bool MergeCrossCam(TCrossCam *AObj, TADOConnection *ADbConn=NULL);
  115. bool MergeFcltInfo2(TCrossCam *AObj, TADOConnection *ADbConn=NULL);
  116. };
  117. //---------------------------------------------------------------------------
  118. extern TCrossManager *CrossManager;
  119. //---------------------------------------------------------------------------
  120. #endif