CDSCodeF.cpp 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401
  1. //---------------------------------------------------------------------------
  2. #pragma hdrstop
  3. #include "CDSCodeF.h"
  4. #include "VMSOprMainLibF.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. //---------------------------------------------------------------------------
  213. bool TItsCodeManager::LoadVmsFromDb(TADOConnection *ADbConn/*=NULL*/)
  214. {
  215. FLists.RemoveAll();
  216. return (LoadVmsCode(ADbConn) && LoadVmsSubCode(ADbConn));
  217. }
  218. //---------------------------------------------------------------------------
  219. bool TItsCodeManager::LoadVmsCode(TADOConnection *ADbConn/*=NULL*/)
  220. {
  221. String sQry;
  222. TADOQuery *pADO = NULL;
  223. sQry = "SELECT CMMN_CLSF_CD , \r\n"
  224. " MSG_TYPE_CD , \r\n"
  225. " CMMN_CLSF_KOR_NM , \r\n"
  226. " CMMN_CLSF_ENGL_NM , \r\n"
  227. " USE_SYST_CD , \r\n"
  228. " RMRK , \r\n"
  229. " USE_YN \r\n"
  230. " FROM TB_CMMN_CLSF_CD \r\n"
  231. " WHERE USE_YN = 'Y' \r\n"
  232. " AND CMMN_CLSF_CD = 'VMFTP' \r\n";
  233. FLists.Lock();
  234. try
  235. {
  236. FLists.RemoveAll();
  237. try
  238. {
  239. pADO = new TADOQuery(NULL);
  240. pADO->Close();
  241. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  242. pADO->SQL->Clear();
  243. pADO->SQL->Text = sQry;
  244. pADO->Prepared = true;
  245. pADO->Open();
  246. //int nRows = pADO->RecordCount;
  247. for( ; !pADO->Eof; pADO->Next())
  248. {
  249. TItsCode *pCode = new TItsCode();
  250. pCode->CMMN_CLSF_CD = pADO->FieldByName("CMMN_CLSF_CD")->AsString; //'공통 분류 코드';
  251. pCode->MSG_TYPE_CD = pADO->FieldByName("MSG_TYPE_CD")->AsString; //''메시지 유형 코드';
  252. pCode->CMMN_CLSF_KOR_NM = pADO->FieldByName("CMMN_CLSF_KOR_NM")->AsString; //''공통 분류 한글 명';
  253. pCode->CMMN_CLSF_ENGL_NM = pADO->FieldByName("CMMN_CLSF_ENGL_NM")->AsString; //''공통 분류 영문 명';
  254. pCode->USE_SYST_CD = pADO->FieldByName("USE_SYST_CD")->AsString; //''사용 시스템 코드';
  255. pCode->RMRK = pADO->FieldByName("RMRK")->AsString; //''비고';
  256. pCode->USE_YN = pADO->FieldByName("USE_YN")->AsString; //''사용 여부';
  257. FLists.Push(pCode->CMMN_CLSF_CD, pCode);
  258. pCode->Completed = true;
  259. }
  260. }
  261. catch(EDatabaseError &E)
  262. {
  263. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  264. DBERRORMSG("TItsCodeManager::LoadVmsCode", String(E.ClassName()), E.Message, sQry);
  265. throw Exception(String(E.ClassName()) + E.Message);
  266. }
  267. catch(Exception &exception)
  268. {
  269. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  270. DBERRORMSG("TItsCodeManager::LoadVmsCode", String(exception.ClassName()), exception.Message, sQry);
  271. throw Exception(String(exception.ClassName()) + exception.Message);
  272. }
  273. }
  274. __finally
  275. {
  276. if (pADO)
  277. {
  278. pADO->Close();
  279. delete pADO;
  280. }
  281. FLists.UnLock();
  282. }
  283. return true;
  284. }
  285. //---------------------------------------------------------------------------
  286. bool TItsCodeManager::LoadVmsSubCode(TADOConnection *ADbConn/*=NULL*/)
  287. {
  288. String sQry;
  289. TADOQuery *pADO = NULL;
  290. sQry = "SELECT CMMN_CD , \r\n"
  291. " CMMN_CLSF_CD , \r\n"
  292. " CMMN_CD_KOR_NM , \r\n"
  293. " CMMN_CD_ENGL_NM , \r\n"
  294. " CMMN_CD_ABBR , \r\n"
  295. " RMRK , \r\n"
  296. " ATRB1 , \r\n"
  297. " ATRB2 , \r\n"
  298. " USE_YN \r\n"
  299. " FROM TB_CMMN_CD \r\n"
  300. " WHERE USE_YN = 'Y' \r\n"
  301. " AND CMMN_CLSF_CD = 'VMFTP' \r\n";
  302. FLists.Lock();
  303. try
  304. {
  305. TItsCode *pCode = NULL;
  306. try
  307. {
  308. pADO = new TADOQuery(NULL);
  309. pADO->Close();
  310. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  311. pADO->SQL->Clear();
  312. pADO->SQL->Text = sQry;
  313. pADO->Prepared = true;
  314. pADO->Open();
  315. //int nRows = pADO->RecordCount;
  316. for( ; !pADO->Eof; pADO->Next())
  317. {
  318. String sClsfCd = pADO->FieldByName("CMMN_CLSF_CD")->AsString;
  319. pCode = ItsCodeManager->FLists.Find(sClsfCd);
  320. if (!pCode) continue;
  321. TItsSubCode *pSubCode = new TItsSubCode();
  322. pSubCode->CMMN_CD = pADO->FieldByName("CMMN_CD")->AsString;
  323. pSubCode->CMMN_CLSF_CD = pADO->FieldByName("CMMN_CLSF_CD")->AsString;
  324. pSubCode->CMMN_CD_KOR_NM = pADO->FieldByName("CMMN_CD_KOR_NM")->AsString;
  325. pSubCode->CMMN_CD_ENGL_NM = pADO->FieldByName("CMMN_CD_ENGL_NM")->AsString;
  326. pSubCode->CMMN_CD_ABBR = pADO->FieldByName("CMMN_CD_ABBR")->AsString;
  327. pSubCode->RMRK = pADO->FieldByName("RMRK")->AsString;
  328. pSubCode->ATRB1 = pADO->FieldByName("ATRB1")->AsString;
  329. pSubCode->ATRB2 = pADO->FieldByName("ATRB2")->AsString;
  330. pSubCode->USE_YN = pADO->FieldByName("USE_YN")->AsString;
  331. pCode->FSubLists.Push(pSubCode->CMMN_CD, pSubCode);
  332. pSubCode->Completed = true;
  333. }
  334. }
  335. catch(EDatabaseError &E)
  336. {
  337. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  338. DBERRORMSG("TItsCodeManager::LoadVmsSubCode", String(E.ClassName()), E.Message, sQry);
  339. throw Exception(String(E.ClassName()) + E.Message);
  340. }
  341. catch(Exception &exception)
  342. {
  343. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  344. DBERRORMSG("TItsCodeManager::LoadVmsSubCode", String(exception.ClassName()), exception.Message, sQry);
  345. throw Exception(String(exception.ClassName()) + exception.Message);
  346. }
  347. }
  348. __finally
  349. {
  350. if (pADO)
  351. {
  352. pADO->Close();
  353. delete pADO;
  354. }
  355. FLists.UnLock();
  356. }
  357. return true;
  358. }
  359. //---------------------------------------------------------------------------