CDSUserF.cpp 6.6 KB

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