CDSFormF.h 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. //---------------------------------------------------------------------------
  2. #ifndef CDSFormFH
  3. #define CDSFormFH
  4. //---------------------------------------------------------------------------
  5. #include <Classes.hpp>
  6. #include <stdio.h>
  7. #include <ADODB.hpp>
  8. #include <DB.hpp>
  9. #include <SyncObjs.hpp>
  10. #include <ExtCtrls.hpp>
  11. #include <jpeg.hpp>
  12. #include <GIFimg.hpp>
  13. //---------------------------------------------------------------------------
  14. #include "ITSLibF.h"
  15. #include "CDSItsObjectF.h"
  16. //---------------------------------------------------------------------------
  17. typedef enum _e_form_type
  18. {
  19. eFormTp_traf_1 = 11, // 소통상황(1단)
  20. eFormTp_traf_2 = 12, // 소통상황(2단)
  21. eFormTp_traf_3 = 13, // 소통상황(3단)
  22. eFormTp_traf_4 = 14, // 소통상황(4단)
  23. eFormtp_figure = 15, // 소통상황(도형식배경소통정보)
  24. eFormTp_congest = 16, // 정체소통상황
  25. eFormTp_incident = 20, // 돌발문안
  26. eFormTp_gongsa = 30, // 공사/행사문안
  27. eFormTp_hongbo = 40, // 홍보문안
  28. eFormTp_deture = 50, // 우회도로
  29. eFormTp_safe = 60, // 재난안전
  30. eFormTp_video = 70, // 동영상
  31. eFormTp_stream = 80, // 스트리밍영상
  32. eFormTp_atmp = 90, // 대기환경
  33. eFormTp_park = 91, // 주차정보
  34. } e_form_type;
  35. typedef enum _e_schedule_type
  36. {
  37. eSchTp_traffic = 0, //0:교통,
  38. eSchTp_incident = 1, //1:돌발,
  39. eSchTp_gongsa = 2, //2:공사행사,
  40. eSchTp_hongbo = 3, //3:홍보,
  41. eSchTp_deture = 4, //4:우회,
  42. eSchTp_congest = 5, //5:정체,
  43. eSchTp_safe = 6, //6:안전,
  44. eSchTp_video = 7, //7:동영상,
  45. eSchTp_stream = 8, //8:스트리밍영상
  46. eSchTp_atmp = 9, //9:대기환경
  47. eSchTp_park = 10, //10:주차정보
  48. eSchTp_max,
  49. } e_schedule_type;
  50. class TCDSFormObj
  51. {
  52. public:
  53. TCDSFormObj();
  54. ~TCDSFormObj();
  55. public:
  56. int VMS_FORM_OBJECT_ID; //NUMBER(5) N FORM OBJECT ID
  57. AnsiString VMS_FORM_ID; //NUMBER(5) N VMS FORM ID
  58. int VMS_FORM_DSPL_ROW; //NUMBER(2) Y VMS FORM 표출 행
  59. int VMS_FORM_DSPL_CLMN; //NUMBER(2) Y VMS FORM 표출 칼럼
  60. int VMS_FORM_OBJECT_TYPE_CD; //NUMBER(3) N VMS FORM OBJECT 유형 코드
  61. int VMS_FONT_NAME_CD; //NUMBER(3) N VMS 글꼴 유형 코드
  62. int VMS_FONT_COLR_CD; //NUMBER(3) N VMS 글꼴 색상 코드
  63. int VMS_FONT_BOLD; //NUMBER(1) Y VMS 글꼴 방식 코드(0:Normal,1:Bold)
  64. int VMS_FONT_SIZE; //NUMBER(3) Y 0 VMS 글꼴 크기
  65. int VMS_FONT_ALIGN; //NUMBER(1) Y 0 VMS 표출 문자열정열방식(0:LEFT,1:RIGHT,2:CENTER)
  66. AnsiString VMS_DSPL_TXT; //VARCHAR2(200) Y VMS 표출 텍스트
  67. int VMS_DSPL_XCRDN; //NUMBER(5) Y VMS 표출 X좌표
  68. int VMS_DSPL_YCRDN; //NUMBER(5) Y VMS 표출 Y좌표
  69. int VMS_DSPL_WIDTH; //NUMBER(5) Y 0 VMS 표출 넓이
  70. int VMS_DSPL_HEIGHT; //NUMBER(5) Y 0 VMS 표출 높이
  71. int VMS_DSPL_BLINKING; //NUMBER(1) Y 0 VMS 표출 점멸 여부(0:지속, 1:점멸)
  72. int VMS_DSPL_BKCOLOR; //NUMBER(1) Y 0 VMS 표출 배경색상코드
  73. int VMS_DSPL_SIZE; //NUMBER(7) Y 0 VMS 표출 크기(문자:문자길이,이미지:이미지전체크기)
  74. AnsiString TRFC_FILL_CD; //CHAR(1) Y 'N' FILL-IN 메시지 여부
  75. AnsiString SYMB_LIB_NMBR; //NUMBER(4) N 0 심벌라이브러리 번호
  76. AnsiString VMS_IFSC_ID; //NUMBER(10) Y VMS 정보제공구간 ID
  77. TImage *pImage;
  78. public:
  79. void Clear();
  80. };
  81. //---------------------------------------------------------------------------
  82. class TCDSForm
  83. {
  84. public:
  85. TCDSForm();
  86. ~TCDSForm();
  87. public:
  88. AnsiString VMS_FORM_ID; //NUMBER(5) N VMS FORM ID
  89. AnsiString VMS_TYPE_CD; //VARCHAR2(7) Y VMS 유형 코드
  90. int VMS_FORM_TYPE_CD; //NUMBER(3) N VMS FORM 유형 코드
  91. int VMS_FORM_COLR_CD; //NUMBER(3) N VMS FORM 배경 색상 코드
  92. int VMS_FORM_DSPL_DRCT_CD; //NUMBER(3) Y VMS 메시지 표출 방향 코드
  93. int VMS_FORM_DSPL_MTHD_CD; //NUMBER(3) Y 0 VMS 메시지 표출 방법 코드
  94. //int SYMB_LIB_NMBR; // N NUMBER(4) Y 심벌라이브러리 번호
  95. //AnsiString VMS_FORM_IMAG; // N BLOB Y VMS 폼 이미지
  96. AnsiString UPDT_DT; //VARCHAR2(14) N TO_CHAR(sysdate, 'YYYYMMDDHH24MISS') 갱신 일시
  97. AnsiString LocalFileName;
  98. AnsiString FtpFileName;
  99. AnsiString TrfBakImgId;
  100. bool TrfIfsc; //도형식 하단 정보제공구간소통정보
  101. bool TrfAxis; //도형식 하단 축소통정보
  102. bool TrfFixed; //도형식 하단에 소통정보가 없을 경우 기본문자 표출여부, 20200515 추가함
  103. bool IsNewForm; //신규이거나 변경된 경우 true
  104. public:
  105. TItsMap<int, TCDSFormObj*> FLists;
  106. void Clear();
  107. };
  108. //---------------------------------------------------------------------------
  109. //---------------------------------------------------------------------------
  110. class TCDSFormManager : public TCDSItsObject
  111. {
  112. public:
  113. TCDSFormManager();
  114. ~TCDSFormManager();
  115. private:
  116. public:
  117. TItsMap<AnsiString, TCDSForm*> FLists;
  118. private:
  119. int LoadVmsFormObjectInfo(TADOConnection *ADbConn);
  120. public:
  121. int LoadVmsFormInfo(TADOConnection *ADbConn);
  122. };
  123. //---------------------------------------------------------------------------
  124. extern TCDSFormManager *CDSFormManager;
  125. typedef std::map<AnsiString, TCDSForm*>::iterator FormItr;
  126. //---------------------------------------------------------------------------
  127. #endif