CDSFacilityFailF.cpp 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402
  1. //---------------------------------------------------------------------------
  2. #pragma hdrstop
  3. #include "CDSFacilityFailF.h"
  4. #include "AppGlobalF.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. TItsFacilityFail::TItsFacilityFail()
  8. {
  9. FGridIndex = -1;
  10. FEditMode = DB_INIT;
  11. ActionCnt = 0;
  12. }
  13. //---------------------------------------------------------------------------
  14. void TItsFacilityFail::Clear()
  15. {
  16. FAIL_HS_SEQ = ""; //"장애이력일련번호";
  17. OCRR_DT = ""; //"발생일시";
  18. RCPR_NM = ""; //"접수자명";
  19. ADTN_NM = ""; //"추가자명";
  20. ADTN_DT = ""; //"추가일시";
  21. CHNG_NM = ""; //"변경자명";
  22. CHNG_DT = ""; //"변경일시";
  23. FAIL_TYPE = ""; //"장애 유형";
  24. FAIL_CONT = ""; //"장애 내용";
  25. FCLT_ID = ""; //"시설물 ID";
  26. }
  27. //---------------------------------------------------------------------------
  28. TItsFacilityFail::~TItsFacilityFail()
  29. {
  30. FLists.RemoveAll();
  31. }
  32. //---------------------------------------------------------------------------
  33. //---------------------------------------------------------------------------
  34. TItsFacilityFailManager *ItsFacilityFailManager = NULL;
  35. //---------------------------------------------------------------------------
  36. /*
  37. * FacilityFail Manager
  38. */
  39. TItsFacilityFailManager::TItsFacilityFailManager()
  40. {
  41. }
  42. //---------------------------------------------------------------------------
  43. TItsFacilityFailManager::~TItsFacilityFailManager()
  44. {
  45. FLists.RemoveAll();
  46. }
  47. //---------------------------------------------------------------------------
  48. bool TItsFacilityFailManager::LoadFromDb(TADOConnection *ADbConn/*=NULL*/)
  49. {
  50. FLists.RemoveAll();
  51. LoadFromDbFail(ADbConn);
  52. LoadFromDbFailAction(ADbConn);
  53. return true;
  54. }
  55. //---------------------------------------------------------------------------
  56. bool TItsFacilityFailManager::LoadFromDbFail(TADOConnection *ADbConn/*=NULL*/)
  57. {
  58. String sQry;
  59. TADOQuery *pADO = NULL;
  60. sQry = "SELECT * \r\n"
  61. " FROM TB_FCLT_FAIL_HS \r\n";
  62. // " ORDER BY FAIL_HS_SEQ \r\n";
  63. try
  64. {
  65. FLists.Lock();
  66. //FLists.RemoveAll();
  67. try
  68. {
  69. pADO = new TADOQuery(NULL);
  70. pADO->Close();
  71. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  72. pADO->SQL->Clear();
  73. pADO->SQL->Text = sQry;
  74. pADO->Prepared = true;
  75. pADO->Open();
  76. for( ; !pADO->Eof; pADO->Next())
  77. {
  78. TItsFacilityFail *pObj = new TItsFacilityFail();
  79. pObj->FAIL_HS_SEQ = pADO->FieldByName("FAIL_HS_SEQ")->AsString;
  80. pObj->OCRR_DT = pADO->FieldByName("OCRR_DT")->AsString;
  81. pObj->RCPR_NM = pADO->FieldByName("RCPR_NM")->AsString;
  82. pObj->ADTN_NM = pADO->FieldByName("ADTN_NM")->AsString;
  83. pObj->ADTN_DT = pADO->FieldByName("ADTN_DT")->AsString;
  84. pObj->CHNG_NM = pADO->FieldByName("CHNG_NM")->AsString;
  85. pObj->CHNG_DT = pADO->FieldByName("CHNG_DT")->AsString;
  86. pObj->FAIL_TYPE = pADO->FieldByName("FAIL_TYPE")->AsString;
  87. pObj->FAIL_CONT = pADO->FieldByName("FAIL_CONT")->AsString;
  88. pObj->FCLT_ID = pADO->FieldByName("FCLT_ID")->AsString;
  89. pObj->DEL_YN = "N";
  90. pObj->ActionCnt = 0;
  91. FLists.Push(pObj->FAIL_HS_SEQ, pObj);
  92. }
  93. }
  94. catch(EDatabaseError &E)
  95. {
  96. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  97. DBERRORMSG("TItsFacilityFailManager::LoadFromDbFail", String(E.ClassName()), E.Message, sQry);
  98. throw Exception(String(E.ClassName()) + E.Message);
  99. }
  100. catch(Exception &e)
  101. {
  102. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  103. DBERRORMSG("TItsFacilityFailManager::LoadFromDbFail", String(e.ClassName()), e.Message, sQry);
  104. throw Exception(String(e.ClassName()) + e.Message);
  105. }
  106. }
  107. __finally
  108. {
  109. if (pADO)
  110. {
  111. pADO->Close();
  112. delete pADO;
  113. }
  114. FLists.UnLock();
  115. }
  116. return true;
  117. }
  118. //---------------------------------------------------------------------------
  119. bool TItsFacilityFailManager::LoadFromDbFailAction(TADOConnection *ADbConn/*=NULL*/)
  120. {
  121. String sQry;
  122. TADOQuery *pADO = NULL;
  123. sQry = "SELECT * \r\n"
  124. " FROM TB_FCLT_FAIL_RPAR_HS \r\n";
  125. // " ORDER BY FAIL_HS_SEQ, CRTN_DT \r\n";
  126. try
  127. {
  128. ItsFacilityFailManager->FLists.Lock();
  129. try
  130. {
  131. pADO = new TADOQuery(NULL);
  132. pADO->Close();
  133. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  134. pADO->SQL->Clear();
  135. pADO->SQL->Text = sQry;
  136. pADO->Prepared = true;
  137. pADO->Open();
  138. for( ; !pADO->Eof; pADO->Next())
  139. {
  140. String FAIL_HS_SEQ = pADO->FieldByName("FAIL_HS_SEQ")->AsString;
  141. TItsFacilityFail *pFail = ItsFacilityFailManager->FLists.Find(FAIL_HS_SEQ);
  142. if (!pFail) continue;
  143. TItsFacilityFailAction *pObj = new TItsFacilityFailAction();
  144. pObj->CRTN_DT = pADO->FieldByName("CRTN_DT")->AsString;
  145. pObj->FAIL_HS_SEQ = pADO->FieldByName("FAIL_HS_SEQ")->AsString;
  146. pObj->WRKR_NM = pADO->FieldByName("WRKR_NM")->AsString;
  147. pObj->WORK_CONT = pADO->FieldByName("WORK_CONT")->AsString;
  148. pObj->WORK_STRT_DT = pADO->FieldByName("WORK_STRT_DT")->AsString;
  149. pObj->WORK_END_DT = pADO->FieldByName("WORK_END_DT")->AsString;
  150. pObj->WORK_FINS_YN = pADO->FieldByName("WORK_FINS_YN")->AsString;
  151. pObj->ADTN_NM = pADO->FieldByName("ADTN_NM")->AsString;
  152. pObj->CHNG_NM = pADO->FieldByName("CHNG_NM")->AsString;
  153. pObj->CHNG_DT = pADO->FieldByName("CHNG_DT")->AsString;
  154. pObj->DEL_YN = "N";
  155. pFail->FLists.Push(pObj->CRTN_DT, pObj);
  156. pFail->ActionCnt++;
  157. }
  158. }
  159. catch(EDatabaseError &E)
  160. {
  161. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  162. DBERRORMSG("TItsFacilityFailManager::LoadFromDbFailAction", String(E.ClassName()), E.Message, sQry);
  163. throw Exception(String(E.ClassName()) + E.Message);
  164. }
  165. catch(Exception &e)
  166. {
  167. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  168. DBERRORMSG("TItsFacilityFailManager::LoadFromDbFailAction", String(e.ClassName()), e.Message, sQry);
  169. throw Exception(String(e.ClassName()) + e.Message);
  170. }
  171. }
  172. __finally
  173. {
  174. if (pADO)
  175. {
  176. pADO->Close();
  177. delete pADO;
  178. }
  179. ItsFacilityFailManager->FLists.UnLock();
  180. }
  181. return true;
  182. }
  183. //---------------------------------------------------------------------------
  184. TItsFacilityFailAction::TItsFacilityFailAction()
  185. {
  186. FGridIndex = -1;
  187. FEditMode = DB_INIT;
  188. }
  189. //---------------------------------------------------------------------------
  190. void TItsFacilityFailAction::Clear()
  191. {
  192. CRTN_DT = ""; //'생성 일시
  193. FAIL_HS_SEQ = ""; //'장애 이력 일련번호
  194. WRKR_NM = ""; //'작업자 명
  195. WORK_CONT = ""; //'작업 내용
  196. WORK_STRT_DT = ""; //'작업 시작 일시
  197. WORK_END_DT = ""; //'작업 종료 일시
  198. WORK_FINS_YN = ""; //'작업 완료 여부
  199. ADTN_NM = ""; //'추가자 명
  200. CHNG_NM = ""; //'변경자 명
  201. CHNG_DT = ""; //'변경 일시*/
  202. }
  203. //---------------------------------------------------------------------------
  204. TItsFacilityFailAction::~TItsFacilityFailAction()
  205. {
  206. }
  207. //---------------------------------------------------------------------------
  208. //---------------------------------------------------------------------------
  209. TItsFacilityFailActionManager *ItsFacilityFailActionManager = NULL;
  210. //---------------------------------------------------------------------------
  211. /*
  212. * FacilityFail Manager
  213. */
  214. TItsFacilityFailActionManager::TItsFacilityFailActionManager()
  215. {
  216. }
  217. //---------------------------------------------------------------------------
  218. TItsFacilityFailActionManager::~TItsFacilityFailActionManager()
  219. {
  220. FLists.RemoveAll();
  221. }
  222. //---------------------------------------------------------------------------
  223. bool TItsFacilityFailActionManager::LoadFromDb(TADOConnection *ADbConn/*=NULL*/)
  224. {
  225. String sQry;
  226. TADOQuery *pADO = NULL;
  227. sQry = "SELECT * \r\n"
  228. " FROM TB_FCLT_FAIL_RPAR_HS \r\n";
  229. // " ORDER BY FAIL_HS_SEQ, CRTN_DT \r\n";
  230. try
  231. {
  232. ItsFacilityFailManager->FLists.Lock();
  233. FLists.Lock();
  234. FDataCnt = 0;
  235. FLists.RemoveAll();
  236. try
  237. {
  238. pADO = new TADOQuery(NULL);
  239. pADO->Close();
  240. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  241. pADO->SQL->Clear();
  242. pADO->SQL->Text = sQry;
  243. pADO->Prepared = true;
  244. pADO->Open();
  245. for( ; !pADO->Eof; pADO->Next())
  246. {
  247. String FAIL_HS_SEQ = pADO->FieldByName("FAIL_HS_SEQ")->AsString;
  248. TItsFacilityFail *pFail = ItsFacilityFailManager->FLists.Find(FAIL_HS_SEQ);
  249. if (!pFail) continue;
  250. TItsFacilityFailAction *pObj = new TItsFacilityFailAction();
  251. pObj->CRTN_DT = pADO->FieldByName("CRTN_DT")->AsString;
  252. pObj->FAIL_HS_SEQ = pADO->FieldByName("FAIL_HS_SEQ")->AsString;
  253. pObj->WRKR_NM = pADO->FieldByName("WRKR_NM")->AsString;
  254. pObj->WORK_CONT = pADO->FieldByName("WORK_CONT")->AsString;
  255. pObj->WORK_STRT_DT = pADO->FieldByName("WORK_STRT_DT")->AsString;
  256. pObj->WORK_END_DT = pADO->FieldByName("WORK_END_DT")->AsString;
  257. pObj->WORK_FINS_YN = pADO->FieldByName("WORK_FINS_YN")->AsString;
  258. pObj->ADTN_NM = pADO->FieldByName("ADTN_NM")->AsString;
  259. pObj->CHNG_NM = pADO->FieldByName("CHNG_NM")->AsString;
  260. pObj->CHNG_DT = pADO->FieldByName("CHNG_DT")->AsString;
  261. pObj->DEL_YN = "N";
  262. pFail->ActionCnt++;
  263. FLists.Push(String(FDataCnt++), pObj);
  264. pFail->FLists.Push(pObj->CRTN_DT, pObj);
  265. }
  266. }
  267. catch(EDatabaseError &E)
  268. {
  269. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  270. DBERRORMSG("TItsFacilityFailActionManager::LoadFromDb", String(E.ClassName()), E.Message, sQry);
  271. throw Exception(String(E.ClassName()) + E.Message);
  272. }
  273. catch(Exception &e)
  274. {
  275. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  276. DBERRORMSG("TItsFacilityFailActionManager::LoadFromDb", String(e.ClassName()), e.Message, sQry);
  277. throw Exception(String(e.ClassName()) + e.Message);
  278. }
  279. }
  280. __finally
  281. {
  282. if (pADO)
  283. {
  284. pADO->Close();
  285. delete pADO;
  286. }
  287. ItsFacilityFailManager->FLists.UnLock();
  288. FLists.UnLock();
  289. }
  290. return true;
  291. }
  292. //---------------------------------------------------------------------------
  293. bool TItsFacilityFailActionManager::LoadFromDbFailAction(String AKeySeq, TADOConnection *ADbConn/*=NULL*/)
  294. {
  295. String sQry;
  296. TADOQuery *pADO = NULL;
  297. sQry = "SELECT * \r\n"
  298. " FROM TB_FCLT_FAIL_RPAR_HS \r\n"
  299. " WHERE FAIL_HS_SEQ = :p01 \r\n";
  300. // " ORDER BY FAIL_HS_SEQ, CRTN_DT \r\n";
  301. try
  302. {
  303. ItsFacilityFailManager->FLists.Lock();
  304. FLists.Lock();
  305. FDataCnt = 0;
  306. FLists.RemoveAll();
  307. try
  308. {
  309. pADO = new TADOQuery(NULL);
  310. pADO->Close();
  311. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  312. pADO->SQL->Clear();
  313. pADO->SQL->Text = sQry;
  314. pADO->Parameters->ParamByName("p01")->Value = AKeySeq;
  315. pADO->Prepared = true;
  316. pADO->Open();
  317. for( ; !pADO->Eof; pADO->Next())
  318. {
  319. String FAIL_HS_SEQ = pADO->FieldByName("FAIL_HS_SEQ")->AsString;
  320. TItsFacilityFail *pFail = ItsFacilityFailManager->FLists.Find(FAIL_HS_SEQ);
  321. if (!pFail) continue;
  322. TItsFacilityFailAction *pObj = new TItsFacilityFailAction();
  323. pObj->CRTN_DT = pADO->FieldByName("CRTN_DT")->AsString;
  324. pObj->FAIL_HS_SEQ = pADO->FieldByName("FAIL_HS_SEQ")->AsString;
  325. pObj->WRKR_NM = pADO->FieldByName("WRKR_NM")->AsString;
  326. pObj->WORK_CONT = pADO->FieldByName("WORK_CONT")->AsString;
  327. pObj->WORK_STRT_DT = pADO->FieldByName("WORK_STRT_DT")->AsString;
  328. pObj->WORK_END_DT = pADO->FieldByName("WORK_END_DT")->AsString;
  329. pObj->WORK_FINS_YN = pADO->FieldByName("WORK_FINS_YN")->AsString;
  330. pObj->ADTN_NM = pADO->FieldByName("ADTN_NM")->AsString;
  331. pObj->CHNG_NM = pADO->FieldByName("CHNG_NM")->AsString;
  332. pObj->CHNG_DT = pADO->FieldByName("CHNG_DT")->AsString;
  333. pObj->DEL_YN = "N";
  334. pFail->ActionCnt++;
  335. FLists.Push(String(FDataCnt++), pObj);
  336. pFail->FLists.Push(pObj->CRTN_DT, pObj);
  337. }
  338. }
  339. catch(EDatabaseError &E)
  340. {
  341. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  342. DBERRORMSG("TItsFacilityFailActionManager::LoadFromDbFailAction", String(E.ClassName()), E.Message, sQry);
  343. throw Exception(String(E.ClassName()) + E.Message);
  344. }
  345. catch(Exception &e)
  346. {
  347. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  348. DBERRORMSG("TItsFacilityFailActionManager::LoadFromDbFailAction", String(e.ClassName()), e.Message, sQry);
  349. throw Exception(String(e.ClassName()) + e.Message);
  350. }
  351. }
  352. __finally
  353. {
  354. if (pADO)
  355. {
  356. pADO->Close();
  357. delete pADO;
  358. }
  359. ItsFacilityFailManager->FLists.UnLock();
  360. FLists.UnLock();
  361. }
  362. return true;
  363. }
  364. //---------------------------------------------------------------------------