CDSCodeF.cpp 8.2 KB

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