CDSVilgFrcsF.h 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. //---------------------------------------------------------------------------
  2. #ifndef CDSVilgFrcsFH
  3. #define CDSVilgFrcsFH
  4. //---------------------------------------------------------------------------
  5. #include <Classes.hpp>
  6. #include <ADODB.hpp>
  7. #include <DB.hpp>
  8. #include "LibSTLF.hpp"
  9. //---------------------------------------------------------------------------
  10. #define VILG_NONE "-"
  11. #define VILG_WARNING "주의보"
  12. #define VILG_ALARM "경보"
  13. #define ATMP_NONE "진행중"
  14. #define ATMP_GOOD "좋음"
  15. #define ATMP_NORMAL "보통"
  16. #define ATMP_BAD "나쁨"
  17. #define ATM_VERY_BAD "매우나쁨"
  18. /*
  19. * TB_SHPR_RLCN_PNST(초단기실황)
  20. */
  21. typedef struct tagVilgShpr
  22. {
  23. String VILG_FRCS_ZONE_CD; // N NUMBER(14) N 동네 예보 구역 코드
  24. String ANNC_DT; // N VARCHAR2(14) Y 발표 일시
  25. String TMPR; // N NUMBER(6,3) Y 온도
  26. String PRAM_1HH; // N NUMBER(5,2) Y 0 강수량 1시간
  27. String ATMP_STTS; // N NUMBER(2) Y 대기 상태
  28. String ESWS_WNSP; // N NUMBER(5,2) Y 0 동서 풍속
  29. String NRST_WNSP; // N NUMBER(5,2) Y 0 남북 풍속
  30. String HMDT; // N NUMBER(5,2) Y 0 습도
  31. String PRCP_STTS; // N NUMBER(3) Y 0 강수 상태
  32. String THND_STTS; // N NUMBER(2) Y 낙뢰 상태
  33. String WNDR; // N NUMBER(2) Y 풍향
  34. String WNSP; // N NUMBER(5,2) Y 0 풍속
  35. String ATMP_STTS_NM; // 하늘상태 - 맑음(1), 구름조금(2), 구름많음(3), 흐림(4)
  36. String ESWS_WNSP_NM; // 동서바람성분(m/s) - 동(+), 서(-)
  37. String NRST_WNSP_NM; // 남북바람성분(m/s) - 북(+), 남(-)
  38. String PRCP_STTS_NM; // 강수형태 - 없음(0), 비(1), 비/눈(2), 눈(3)
  39. String THND_STTS_NM; // 낙뢰 - 없음(0), 있음(1)
  40. String WNSP_ALARM; // 강풍알람
  41. } VILG_SHPR;
  42. /*
  43. * VilgFrcs class
  44. */
  45. class TItsVilgFrcs
  46. {
  47. public:
  48. TItsVilgFrcs() {};
  49. ~TItsVilgFrcs() {};
  50. private:
  51. public:
  52. String VILG_FRCS_ZONE_CD; // N NUMBER(14) N 동네 예보 구역 코드
  53. String VILG_FRCS_ZONE_NM; // N VARCHAR2(40) Y 동네 예보 구역 명
  54. String X_CRDN;
  55. String Y_CRDN;
  56. String ANNC_DT; // N VARCHAR2(14) N 발표 일시
  57. String ORD; // N NUMBER(3) N 0 순서
  58. String HH; // N NUMBER(3) Y 0 시간
  59. String DD; // N NUMBER(3) Y 0 일
  60. String PRST_TMPR; // N NUMBER(6,3) Y 현재 온도
  61. String HGHS_TMPR; // N NUMBER(6,3) Y 최고 온도
  62. String LWST_TMPR; // N NUMBER(6,3) Y 최저 온도
  63. String ATMP_STTS; // N NUMBER(2) Y 대기 상태
  64. String WTCD_KOR_NM; // N VARCHAR2(20) Y 날씨 한글 명
  65. String PRCP_STTS; // N NUMBER(3) Y 0 강수 상태
  66. String WTCD_ENGL_NM; // N VARCHAR2(20) Y 날씨 영문 명
  67. String PRCP_PR; // N NUMBER(5,2) Y 0 강수 확률
  68. String ESTM_PRAM_12HH; // N NUMBER(5,2) Y 0 예상 강수량 12시간
  69. String ESTM_SNOW_AMUT_12HH; // N NUMBER(5,2) Y 0 예상 눈 량 12시간
  70. String WNSP; // N NUMBER(5,2) Y 0 풍속
  71. String WNDR; // N NUMBER(2) Y 풍향
  72. String WNDR_KOR_NM; // N VARCHAR2(20) Y 풍향 한글 명
  73. String WNDR_ENGL_NM; // N VARCHAR2(20) Y 풍향 영문 명
  74. String HMDT; // N NUMBER(5,2) Y 0 습도
  75. String ESTM_PRCP_AMUT_6HH; // N NUMBER(5,2) Y 0 예상 강수 량 6시간
  76. String ESTM_SNOW_AMUT_6HH; // N NUMBER(5,2) Y 0 예상 눈 량 6시간
  77. String WTCD_KOR_CD;
  78. String PRCP_ALARM; // 호우알람
  79. String SNOW_ALARM; // 대설알람
  80. VILG_SHPR shpr;
  81. protected:
  82. public:
  83. };
  84. //---------------------------------------------------------------------------
  85. /*
  86. * TB_ATMP_PLTN_RT_PNST(대기 오염 실시간 현황)
  87. */
  88. typedef struct tagAtmpPltnRtPnst
  89. {
  90. String STTN_NM; // N VARCHAR2(30) N 측정소 명
  91. String MSRM_DT; // N VARCHAR2(14) Y 측정 일시
  92. String MSRM_SYST_NM; // N VARCHAR2(10) Y 측정 시스템 명
  93. String CO_VAL; // N VARCHAR2(10) Y CO 값
  94. String SO2_VAL; // N VARCHAR2(10) Y SO2 값
  95. String NO2_VAL; // N VARCHAR2(10) Y NO2 값
  96. String O3_VAL; // N VARCHAR2(10) Y O3 값
  97. String PM10_VAL; // N VARCHAR2(10) Y PM10 값
  98. String PM10_24HH_VAL; // N VARCHAR2(10) Y PM10 24시간 값
  99. String PM25_VAL; // N VARCHAR2(10) Y PM25 값
  100. String PM25_24HH_VAL; // N VARCHAR2(10) Y PM25 24시간 값
  101. String INTG_ATMP_VAL; // N VARCHAR2(10) Y 통합 대기 값
  102. String INTG_ATMP_GRAD; // N VARCHAR2(10) Y 통합 대기 등급
  103. String SO2_GRAD; // N VARCHAR2(10) Y SO2 등급
  104. String CO_GRAD; // N VARCHAR2(10) Y CO 등급
  105. String O3_GRAD; // N VARCHAR2(10) Y O3 드급
  106. String NO2_GRAD; // N VARCHAR2(10) Y NO2 등급
  107. String PM10_24HH_GRAD; // N VARCHAR2(10) Y PM10 24시간 등급
  108. String PM25_24HH_GRAD; // N VARCHAR2(10) Y PM25 24시간 등급
  109. String PM10_1HH_GRAD; // N VARCHAR2(10) Y PM10 1시간 등급
  110. String PM25_1HH_GRAD; // N VARCHAR2(10) Y PM25 1시간 등급
  111. String INTG_ATMP_GRAD_NM; // N VARCHAR2(10) Y 통합 대기 등급
  112. String SO2_GRAD_NM; // N VARCHAR2(10) Y SO2 등급
  113. String CO_GRAD_NM; // N VARCHAR2(10) Y CO 등급
  114. String O3_GRAD_NM; // N VARCHAR2(10) Y O3 드급
  115. String NO2_GRAD_NM; // N VARCHAR2(10) Y NO2 등급
  116. String PM10_24HH_GRAD_NM; // N VARCHAR2(10) Y PM10 24시간 등급
  117. String PM25_24HH_GRAD_NM; // N VARCHAR2(10) Y PM25 24시간 등급
  118. String PM10_1HH_GRAD_NM; // N VARCHAR2(10) Y PM10 1시간 등급
  119. String PM25_1HH_GRAD_NM; // N VARCHAR2(10) Y PM25 1시간 등급
  120. } ATMP_PLTN_RT_PNST;
  121. /*
  122. * AtmpPltn class(미세먼지 클래스)
  123. */
  124. class TItsAtmpPltn
  125. {
  126. public:
  127. TItsAtmpPltn() {};
  128. ~TItsAtmpPltn() {};
  129. private:
  130. public:
  131. String STTN_NM; // N VARCHAR2(30) N 측정소 명
  132. String STTN_ADDR; // N VARCHAR2(200) Y 측정소 주소
  133. String ISTL_YY; // N VARCHAR2(4) Y 설치 년도
  134. String MNGM_INTN_NM; // N VARCHAR2(100) Y 관리 기관 명
  135. String MSRM_SYST_NM; // N VARCHAR2(10) Y 측정 시스템 명
  136. String MSRM_ITEM; // N VARCHAR2(100) Y 측정 항목
  137. String X_CRDN; // N NUMBER(11,8) Y X 좌표
  138. String Y_CRDN; // N NUMBER(10,8) Y Y 좌표
  139. ATMP_PLTN_RT_PNST pnst;
  140. protected:
  141. public:
  142. };
  143. //---------------------------------------------------------------------------
  144. /*
  145. * 대기오염특보 클래스
  146. */
  147. class TItsAtmpSprp
  148. {
  149. public:
  150. TItsAtmpSprp() {};
  151. ~TItsAtmpSprp() {};
  152. private:
  153. public:
  154. String ATMP_PLTN_KIND; // N VARCHAR2(1) N 대기 오염 종류(1:미세먼지, 2:초미세먼지)
  155. String ANNC_DT; // N VARCHAR2(14) Y Update 시간
  156. String REGN_CD; // N VARCHAR2(1) Y 2 권역 코드(1:북부권, 2:동부권, 3:중부권, 4:남부권) 남양주=동부권
  157. String ANNC_YMD; // N VARCHAR2(8) Y 발표 일자(4)
  158. String ANNC_HH; // N VARCHAR2(2) Y 발표 시간(2)
  159. String ANNC_GRAD; // N VARCHAR2(1) Y 발표 등급(1:주의보, 2:경보, 5:황사경보)
  160. String ANNC_DVSN; // N VARCHAR2(1) Y 발표 구분(1:발령, 0:해제, 2:발령내역없음)
  161. protected:
  162. public:
  163. };
  164. //---------------------------------------------------------------------------
  165. /*
  166. * VilgFrcs Manager
  167. */
  168. class TItsVilgFrcsManager
  169. {
  170. public:
  171. TItsVilgFrcsManager();
  172. ~TItsVilgFrcsManager();
  173. public:
  174. ListMap<TItsVilgFrcs> FLists;
  175. ListMap<TItsAtmpPltn> FAtmpLists;
  176. ListMap<TItsAtmpSprp> FSprpLists;
  177. public:
  178. String GetGradeDesc(String &ACode);
  179. bool LoadFromDb(TADOConnection *ADbConn=NULL);
  180. bool LoadFromDbAtmp(TADOConnection *ADbConn=NULL);
  181. bool LoadVilgFrcsInfo(TADOConnection *ADbConn=NULL);
  182. bool LoadVilgShprInfo(TADOConnection *ADbConn=NULL);
  183. bool LoadAtmpPltnInfo(TADOConnection *ADbConn=NULL);
  184. bool LoadAtmpSprpInfo(TADOConnection *ADbConn=NULL);
  185. };
  186. //---------------------------------------------------------------------------
  187. extern TItsVilgFrcsManager *ItsVilgFrcsManager;
  188. //---------------------------------------------------------------------------
  189. #endif