CDSCodeF.cpp 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  1. //---------------------------------------------------------------------------
  2. #pragma hdrstop
  3. #include "CDSCodeF.h"
  4. #include "AppGlobalF.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. TItsSubCode::TItsSubCode()
  8. {
  9. TItsSubCode("", "");
  10. }
  11. //---------------------------------------------------------------------------
  12. TItsSubCode::TItsSubCode(String ACd, String AClsfCd)
  13. {
  14. CMMN_CD = ACd;
  15. CMMN_CLSF_CD = AClsfCd;
  16. Clear();
  17. FModified = false;
  18. FCompleted= false;
  19. }
  20. //---------------------------------------------------------------------------
  21. void TItsSubCode::Clear()
  22. {
  23. #if 0
  24. CMMN_CD_KOR_NM = "";
  25. CMMN_CD_ENGL_NM = "";
  26. CMMN_CD_ABBR = "";
  27. RMRK = "";
  28. ATRB1 = "";
  29. ATRB2 = "";
  30. USE_YN = "";
  31. FRST_REGR_NMBR = "";
  32. FRST_RGST_DT = "";
  33. LAST_CRPR_NMBR = "";
  34. LAST_CRCT_DT = "";
  35. #endif
  36. }
  37. //---------------------------------------------------------------------------
  38. TItsSubCode::~TItsSubCode()
  39. {
  40. }
  41. //---------------------------------------------------------------------------
  42. //---------------------------------------------------------------------------
  43. TItsCode::TItsCode()
  44. {
  45. TItsCode("");
  46. }
  47. //---------------------------------------------------------------------------
  48. TItsCode::TItsCode(String AClsfCd)
  49. {
  50. CMMN_CLSF_CD = AClsfCd;
  51. Clear();
  52. FModified = false;
  53. FCompleted= false;
  54. }
  55. //---------------------------------------------------------------------------
  56. void TItsCode::Clear()
  57. {
  58. #if 0
  59. MSG_TYPE_CD = "";
  60. CMMN_CLSF_KOR_NM = "";
  61. CMMN_CLSF_ENGL_NM = "";
  62. USE_SYST_CD = "";
  63. RMRK = "";
  64. USE_YN = "";
  65. FRST_REGR_NMBR = "";
  66. FRST_RGST_DT = "";
  67. LAST_CRPR_NMBR = "";
  68. LAST_CRCT_DT = "";
  69. #endif
  70. }
  71. //---------------------------------------------------------------------------
  72. TItsCode::~TItsCode()
  73. {
  74. FSubLists.RemoveAll();
  75. }
  76. //---------------------------------------------------------------------------
  77. //---------------------------------------------------------------------------
  78. TItsCodeManager *ItsCodeManager = NULL;
  79. //---------------------------------------------------------------------------
  80. /*
  81. * Link Manager
  82. */
  83. TItsCodeManager::TItsCodeManager()
  84. {
  85. }
  86. //---------------------------------------------------------------------------
  87. TItsCodeManager::~TItsCodeManager()
  88. {
  89. }
  90. //---------------------------------------------------------------------------
  91. bool TItsCodeManager::LoadFromDb(TADOConnection *ADbConn/*=NULL*/)
  92. {
  93. FLists.RemoveAll();
  94. return (LoadCode(ADbConn) && LoadSubCode(ADbConn));
  95. }
  96. //---------------------------------------------------------------------------
  97. bool TItsCodeManager::LoadCode(TADOConnection *ADbConn/*=NULL*/)
  98. {
  99. String sQry;
  100. TADOQuery *pADO = NULL;
  101. sQry = "SELECT CMMN_CLSF_CD , \r\n"
  102. " MSG_TYPE_CD , \r\n"
  103. " CMMN_CLSF_KOR_NM , \r\n"
  104. " CMMN_CLSF_ENGL_NM , \r\n"
  105. " USE_SYST_CD , \r\n"
  106. " RMRK , \r\n"
  107. " USE_YN , \r\n"
  108. " FRST_REGR_NMBR , \r\n"
  109. " FRST_RGST_DT , \r\n"
  110. " LAST_CRPR_NMBR , \r\n"
  111. " LAST_CRCT_DT \r\n"
  112. " FROM TB_CMMN_CLSF_CD \r\n"
  113. " WHERE USE_YN = 'Y' \r\n";
  114. // " ORDER BY MSG_TYPE_CD, CMMN_CLSF_CD \r\n";
  115. try
  116. {
  117. FLists.Lock();
  118. FLists.RemoveAll();
  119. try
  120. {
  121. pADO = new TADOQuery(NULL);
  122. pADO->Close();
  123. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  124. pADO->SQL->Clear();
  125. pADO->SQL->Text = sQry;
  126. pADO->Open();
  127. //int nRows = pADO->RecordCount;
  128. for( ; !pADO->Eof; pADO->Next())
  129. {
  130. TItsCode *pCode = new TItsCode();
  131. pCode->CMMN_CLSF_CD = pADO->FieldByName("CMMN_CLSF_CD")->AsString; //'공통 분류 코드';
  132. pCode->MSG_TYPE_CD = pADO->FieldByName("MSG_TYPE_CD")->AsString; //''메시지 유형 코드';
  133. pCode->CMMN_CLSF_KOR_NM = pADO->FieldByName("CMMN_CLSF_KOR_NM")->AsString; //''공통 분류 한글 명';
  134. pCode->CMMN_CLSF_ENGL_NM = pADO->FieldByName("CMMN_CLSF_ENGL_NM")->AsString; //''공통 분류 영문 명';
  135. pCode->USE_SYST_CD = pADO->FieldByName("USE_SYST_CD")->AsString; //''사용 시스템 코드';
  136. pCode->RMRK = pADO->FieldByName("RMRK")->AsString; //''비고';
  137. pCode->USE_YN = pADO->FieldByName("USE_YN")->AsString; //''사용 여부';
  138. pCode->FRST_REGR_NMBR = pADO->FieldByName("FRST_REGR_NMBR")->AsString; //''최초 등록자 번호';
  139. pCode->FRST_RGST_DT = pADO->FieldByName("FRST_RGST_DT")->AsString; //''최초 등록 일시';
  140. pCode->LAST_CRPR_NMBR = pADO->FieldByName("LAST_CRPR_NMBR")->AsString; //''최종 수정자 번호';
  141. pCode->LAST_CRCT_DT = pADO->FieldByName("LAST_CRCT_DT")->AsString; //''최종 수정 일시';
  142. FLists.Push(pCode->CMMN_CLSF_CD, pCode);
  143. pCode->Completed = true;
  144. }
  145. }
  146. catch(EDatabaseError &E)
  147. {
  148. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  149. DBERRORMSG("TItsCodeManager::LoadCode", String(E.ClassName()), E.Message, sQry);
  150. throw Exception(String(E.ClassName()) + E.Message);
  151. }
  152. catch(Exception &exception)
  153. {
  154. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  155. DBERRORMSG("TItsCodeManager::LoadCode", String(exception.ClassName()), exception.Message, sQry);
  156. throw Exception(String(exception.ClassName()) + exception.Message);
  157. }
  158. }
  159. __finally
  160. {
  161. if (pADO)
  162. {
  163. pADO->Close();
  164. delete pADO;
  165. }
  166. FLists.UnLock();
  167. }
  168. return true;
  169. }
  170. //---------------------------------------------------------------------------
  171. bool TItsCodeManager::LoadSubCode(TADOConnection *ADbConn/*=NULL*/)
  172. {
  173. String sQry;
  174. TADOQuery *pADO = NULL;
  175. sQry = "SELECT CMMN_CD , \r\n"
  176. " CMMN_CLSF_CD , \r\n"
  177. " CMMN_CD_KOR_NM , \r\n"
  178. " CMMN_CD_ENGL_NM , \r\n"
  179. " CMMN_CD_ABBR , \r\n"
  180. " RMRK , \r\n"
  181. " ATRB1 , \r\n"
  182. " ATRB2 , \r\n"
  183. " USE_YN , \r\n"
  184. " FRST_REGR_NMBR , \r\n"
  185. " FRST_RGST_DT , \r\n"
  186. " LAST_CRPR_NMBR , \r\n"
  187. " LAST_CRCT_DT \r\n"
  188. " FROM TB_CMMN_CD \r\n"
  189. " WHERE USE_YN = 'Y' \r\n";
  190. // " ORDER BY CMMN_CLSF_CD, CMMN_CD \r\n";
  191. try
  192. {
  193. TItsCode *pCode = NULL;
  194. FLists.Lock();
  195. try
  196. {
  197. pADO = new TADOQuery(NULL);
  198. pADO->Close();
  199. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  200. pADO->SQL->Clear();
  201. pADO->SQL->Text = sQry;
  202. pADO->Open();
  203. //int nRows = pADO->RecordCount;
  204. for( ; !pADO->Eof; pADO->Next())
  205. {
  206. String sClsfCd = pADO->FieldByName("CMMN_CLSF_CD")->AsString;
  207. pCode = ItsCodeManager->FLists.Find(sClsfCd);
  208. if (!pCode) continue;
  209. TItsSubCode *pSubCode = new TItsSubCode();
  210. pSubCode->CMMN_CD = pADO->FieldByName("CMMN_CD")->AsString;
  211. pSubCode->CMMN_CLSF_CD = pADO->FieldByName("CMMN_CLSF_CD")->AsString;
  212. pSubCode->CMMN_CD_KOR_NM = pADO->FieldByName("CMMN_CD_KOR_NM")->AsString;
  213. pSubCode->CMMN_CD_ENGL_NM = pADO->FieldByName("CMMN_CD_ENGL_NM")->AsString;
  214. pSubCode->CMMN_CD_ABBR = pADO->FieldByName("CMMN_CD_ABBR")->AsString;
  215. pSubCode->RMRK = pADO->FieldByName("RMRK")->AsString;
  216. pSubCode->ATRB1 = pADO->FieldByName("ATRB1")->AsString;
  217. pSubCode->ATRB2 = pADO->FieldByName("ATRB2")->AsString;
  218. pSubCode->USE_YN = pADO->FieldByName("USE_YN")->AsString;
  219. pSubCode->FRST_REGR_NMBR = pADO->FieldByName("FRST_REGR_NMBR")->AsString;
  220. pSubCode->FRST_RGST_DT = pADO->FieldByName("FRST_RGST_DT")->AsString;
  221. pSubCode->LAST_CRPR_NMBR = pADO->FieldByName("LAST_CRPR_NMBR")->AsString;
  222. pSubCode->LAST_CRCT_DT = pADO->FieldByName("LAST_CRCT_DT")->AsString;
  223. pCode->FSubLists.Push(pSubCode->CMMN_CD, pSubCode);
  224. pSubCode->Completed = true;
  225. }
  226. }
  227. catch(EDatabaseError &E)
  228. {
  229. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  230. DBERRORMSG("TItsCodeManager::LoadSubCode", String(E.ClassName()), E.Message, sQry);
  231. throw Exception(String(E.ClassName()) + E.Message);
  232. }
  233. catch(Exception &exception)
  234. {
  235. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  236. DBERRORMSG("TItsCodeManager::LoadSubCode", String(exception.ClassName()), exception.Message, sQry);
  237. throw Exception(String(exception.ClassName()) + exception.Message);
  238. }
  239. }
  240. __finally
  241. {
  242. if (pADO)
  243. {
  244. pADO->Close();
  245. delete pADO;
  246. }
  247. FLists.UnLock();
  248. }
  249. return true;
  250. }
  251. //---------------------------------------------------------------------------