CDSUserF.cpp 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. //---------------------------------------------------------------------------
  2. #pragma hdrstop
  3. #include "CDSUserF.h"
  4. #include "ITS_OPLibF.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. TItsUser::TItsUser()
  8. {
  9. FCompleted = false;
  10. FEditMode = DB_INIT;
  11. FGridIndex = -1;
  12. MEM_DEL = "N";
  13. //Clear();
  14. }
  15. //---------------------------------------------------------------------------
  16. void TItsUser::Clear()
  17. {
  18. USER_ID = ""; //VARCHAR2(20) N 사용자ID
  19. PWD = ""; //VARCHAR2(64) Y 암호
  20. NAME = ""; //VARCHAR2(30) Y 성명
  21. COMP = ""; //VARCHAR2(50) Y 회사
  22. TEL = ""; //VARCHAR2(128) Y 전화번호
  23. ADDR = ""; //VARCHAR2(200) Y 주소
  24. RESD_NMBR = ""; //VARCHAR2(14) Y 주민번호
  25. MOBILE = ""; //VARCHAR2(128) Y 이동전화
  26. EMAL = ""; //VARCHAR2(128) Y 이메일
  27. DEL_YN = ""; //CHAR(1) Y 'N' 삭제 여부
  28. RGSTYMD = ""; //VARCHAR2(14) Y 등록일자
  29. CRCTYMD = ""; //VARCHAR2(14) Y 수정일자
  30. HINT_QUES = ""; //VARCHAR2(7) Y 힌트질문
  31. HINT_ANS = ""; //VARCHAR2(100) Y 힌트질문답
  32. GROP_ID = ""; //VARCHAR2(30) Y 그룹ID
  33. OPER_SYST_ID = ""; //VARCHAR2(30) Y 운영시스템ID
  34. }
  35. //---------------------------------------------------------------------------
  36. TItsUser::~TItsUser()
  37. {
  38. }
  39. //---------------------------------------------------------------------------
  40. //---------------------------------------------------------------------------
  41. TItsUserManager *ItsUserManager = NULL;
  42. //---------------------------------------------------------------------------
  43. /*
  44. * User Manager
  45. */
  46. TItsUserManager::TItsUserManager()
  47. {
  48. }
  49. //---------------------------------------------------------------------------
  50. TItsUserManager::~TItsUserManager()
  51. {
  52. FLists.RemoveAll();
  53. }
  54. //---------------------------------------------------------------------------
  55. bool TItsUserManager::LoadFromDb(TADOConnection *ADbConn/*=NULL*/)
  56. {
  57. String sQry;
  58. TADOQuery *pADO = NULL;
  59. #if 0
  60. sQry = "SELECT * \r\n"
  61. " FROM TB_USER_INFR \r\n";
  62. //" ORDER BY USER_ID \r\n";
  63. #else
  64. sQry = "SELECT A.USER_ID , \r\n"
  65. " A.PWD , \r\n"
  66. " A.NAME , \r\n"
  67. " A.COMP , \r\n"
  68. " A.TEL , \r\n"
  69. " A.ADDR , \r\n"
  70. // " A.RESD_NMBR , \r\n"
  71. " A.MOBILE , \r\n"
  72. " A.EMAL , \r\n"
  73. " A.DEL_YN , \r\n"
  74. " A.RGSTYMD , \r\n"
  75. " A.CRCTYMD , \r\n"
  76. " A.HINT_QUES , \r\n"
  77. " A.HINT_ANS , \r\n"
  78. " A.GROP_ID , \r\n"
  79. " A.OPER_SYST_ID , \r\n"
  80. " B.GROP_NM AS GROP_NM, \r\n"
  81. " C.OPER_SYST_NAME AS OPER_SYST_NM \r\n"
  82. " FROM TB_USER_INFR A, \r\n"
  83. " TB_USER_GROP_INFR B, \r\n"
  84. " TB_OPERSYST C \r\n"
  85. " WHERE A.GROP_ID = B.GROP_ID(+) \r\n"
  86. " AND A.OPER_SYST_ID = C.OPER_SYST_ID(+) \r\n"
  87. " ORDER BY A.USER_ID \r\n";
  88. #endif
  89. try
  90. {
  91. FLists.Lock();
  92. FLists.RemoveAll();
  93. try
  94. {
  95. pADO = new TADOQuery(NULL);
  96. pADO->Close();
  97. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  98. pADO->SQL->Clear();
  99. pADO->SQL->Text = sQry;
  100. pADO->Prepared = true;
  101. pADO->Open();
  102. for( ; !pADO->Eof; pADO->Next())
  103. {
  104. TItsUser *pObj = new TItsUser();
  105. pObj->USER_ID = pADO->FieldByName("USER_ID")->AsString;
  106. pObj->PWD = pADO->FieldByName("PWD")->AsString;
  107. pObj->NAME = pADO->FieldByName("NAME")->AsString;
  108. pObj->COMP = pADO->FieldByName("COMP")->AsString;
  109. pObj->TEL = pADO->FieldByName("TEL")->AsString;
  110. pObj->ADDR = pADO->FieldByName("ADDR")->AsString;
  111. //pObj->RESD_NMBR = pADO->FieldByName("RESD_NMBR")->AsString;
  112. pObj->MOBILE = pADO->FieldByName("MOBILE")->AsString;
  113. pObj->EMAL = pADO->FieldByName("EMAL")->AsString;
  114. pObj->DEL_YN = pADO->FieldByName("DEL_YN")->AsString;
  115. pObj->RGSTYMD = pADO->FieldByName("RGSTYMD")->AsString;
  116. pObj->CRCTYMD = pADO->FieldByName("CRCTYMD")->AsString;
  117. pObj->HINT_QUES = pADO->FieldByName("HINT_QUES")->AsString;
  118. pObj->HINT_ANS = pADO->FieldByName("HINT_ANS")->AsString;
  119. pObj->GROP_ID = pADO->FieldByName("GROP_ID")->AsString;
  120. pObj->OPER_SYST_ID = pADO->FieldByName("OPER_SYST_ID")->AsString;
  121. pObj->GROP_NM = "[" + pObj->GROP_ID + "] " + pADO->FieldByName("GROP_NM")->AsString;
  122. pObj->OPER_SYST_NM = "[" + pObj->OPER_SYST_ID + "] " + pADO->FieldByName("OPER_SYST_NM")->AsString;
  123. if (pObj->GROP_NM == "[] ") pObj->GROP_NM = "";
  124. if (pObj->OPER_SYST_NM == "[] ") pObj->OPER_SYST_NM = "";
  125. FLists.Push(pObj->USER_ID, pObj);
  126. pObj->Completed = true;
  127. pObj->MEM_DEL = "N";
  128. }
  129. }
  130. catch(EDatabaseError &E)
  131. {
  132. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  133. DBERRORMSG("TItsUserManager::LoadFromDb", String(E.ClassName()), E.Message, sQry);
  134. throw Exception(String(E.ClassName()) + E.Message);
  135. }
  136. catch(Exception &exception)
  137. {
  138. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  139. DBERRORMSG("TItsUserManager::LoadFromDb", String(exception.ClassName()), exception.Message, sQry);
  140. throw Exception(String(exception.ClassName()) + exception.Message);
  141. }
  142. }
  143. __finally
  144. {
  145. if (pADO)
  146. {
  147. pADO->Close();
  148. delete pADO;
  149. }
  150. FLists.UnLock();
  151. }
  152. return true;
  153. }
  154. //---------------------------------------------------------------------------