CDSParkingF.cpp 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633
  1. //---------------------------------------------------------------------------
  2. #pragma hdrstop
  3. #include "CDSParkingF.h"
  4. #include "ITSDbF.h"
  5. #include "ITS_OPLibF.h"
  6. //---------------------------------------------------------------------------
  7. #pragma package(smart_init)
  8. TItsParking::TItsParking()
  9. {
  10. FCompleted = false;
  11. FEditMode = DB_INIT;
  12. FGridIndex = -1;
  13. MEM_DEL = "N";
  14. DEL_YN = "N";
  15. DEL_USER_ID = "";
  16. DEL_DT = "";
  17. DEL_YN = "N";
  18. ADTN_USER_ID = "";
  19. ADTN_DT = "";
  20. CHNG_USER_ID = "";
  21. CHNG_DT = "";
  22. Floors = 0;
  23. FData1 = NULL;
  24. FData2 = NULL;
  25. }
  26. //---------------------------------------------------------------------------
  27. void TItsParking::Clear()
  28. {
  29. }
  30. //---------------------------------------------------------------------------
  31. TItsParking::~TItsParking()
  32. {
  33. }
  34. //---------------------------------------------------------------------------
  35. //---------------------------------------------------------------------------
  36. TItsParkingManager *ItsParkingManager = NULL;
  37. //---------------------------------------------------------------------------
  38. /*
  39. * Parking Manager
  40. */
  41. TItsParkingManager::TItsParkingManager()
  42. {
  43. }
  44. //---------------------------------------------------------------------------
  45. TItsParkingManager::~TItsParkingManager()
  46. {
  47. FLists.RemoveAll();
  48. }
  49. //---------------------------------------------------------------------------
  50. bool TItsParkingManager::LoadFromDb(TADOConnection *ADbConn/*=NULL*/)
  51. {
  52. return true;
  53. }
  54. //---------------------------------------------------------------------------
  55. bool TItsParkingManager::GetNextParkingId(String &ANewId, TADOConnection *ADbConn/*=NULL*/)
  56. {
  57. String sQry;
  58. TADOQuery *pADO = NULL;
  59. #if 0
  60. sQry = "SELECT LPAD(NVL(MAX(SUBSTR(CTLR_MNGM_NMBR, -7)), '0000000') + 1, 7, '0') AS NEWID \r\n"
  61. " FROM TB_PRLT_CTLR \r\n";
  62. #else
  63. sQry = "SELECT NVL(MAX(CTLR_MNGM_NMBR)+1, 1) AS NEWID \r\n"
  64. " FROM TB_PRLT_CTLR \r\n";
  65. #endif
  66. ANewId = "";
  67. try
  68. {
  69. try
  70. {
  71. pADO = new TADOQuery(NULL);
  72. pADO->Close();
  73. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  74. pADO->SQL->Clear();
  75. pADO->SQL->Text = sQry;
  76. pADO->Open();
  77. ANewId = pADO->FieldByName("NEWID")->AsString;
  78. // ANewId = "PAR" + pADO->FieldByName("NEWID")->AsString;
  79. return true;
  80. }
  81. catch(EDatabaseError &E)
  82. {
  83. throw Exception(String(E.ClassName()) + E.Message);
  84. }
  85. catch(Exception &exception)
  86. {
  87. throw Exception(String(exception.ClassName()) + exception.Message);
  88. }
  89. }
  90. __finally
  91. {
  92. if (pADO)
  93. {
  94. pADO->Close();
  95. delete pADO;
  96. }
  97. }
  98. return false;
  99. }
  100. //---------------------------------------------------------------------------
  101. bool TItsParkingManager::DeleteParking(TItsParking *AObj, TADOConnection *ADbConn/*=NULL*/)
  102. {
  103. String sQry;
  104. TADOQuery *pADO = NULL;
  105. sQry = "UPDATE TB_PRLT_CTLR \r\n"
  106. " SET DEL_YN = 'Y', \r\n"
  107. " DEL_USER_ID = :p02, \r\n"
  108. " DEL_DT = :p03 \r\n"
  109. " WHERE CTLR_MNGM_NMBR = :p01 \r\n";
  110. try
  111. {
  112. //FLists.Lock();
  113. try
  114. {
  115. pADO = new TADOQuery(NULL);
  116. pADO->Close();
  117. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  118. pADO->SQL->Clear();
  119. pADO->SQL->Text = sQry;
  120. pADO->Parameters->ParamByName("p01")->Value = AObj->CTLR_MNGM_NMBR;
  121. pADO->Parameters->ParamByName("p02")->Value = AObj->DEL_USER_ID;
  122. pADO->Parameters->ParamByName("p03")->Value = AObj->DEL_DT;
  123. pADO->ExecSQL();
  124. sQry = "DELETE TB_PRLT_OPER_INFR \r\n"
  125. " WHERE CTLR_MNGM_NMBR = :p01 \r\n";
  126. pADO->SQL->Text = sQry;
  127. pADO->Parameters->ParamByName("p01")->Value = AObj->CTLR_MNGM_NMBR;
  128. pADO->ExecSQL();
  129. #if 0
  130. sQry = "DELETE TB_PRLT_FLOR \r\n"
  131. " WHERE CTLR_MNGM_NMBR = :p01 \r\n";
  132. pADO->SQL->Text = sQry;
  133. pADO->Parameters->ParamByName("p01")->Value = AObj->CTLR_MNGM_NMBR;
  134. pADO->ExecSQL();
  135. #endif
  136. sQry = "DELETE TB_FCLT_INFR \r\n"
  137. " WHERE FCLT_ID = :p01 \r\n";
  138. " AND FCLT_TYPE = 'PARK' \r\n";
  139. pADO->SQL->Clear();
  140. pADO->SQL->Text = sQry;
  141. pADO->Parameters->ParamByName("p01")->Value = AObj->CTLR_MNGM_NMBR;
  142. pADO->ExecSQL();
  143. return true;
  144. }
  145. catch(EDatabaseError &E)
  146. {
  147. //DBERRORMSG("주차장정보삭제", String(E.ClassName()), E.Message, sQry);
  148. throw Exception(String(E.ClassName()) + E.Message);
  149. }
  150. catch(Exception &exception)
  151. {
  152. //DBERRORMSG("주차장정보삭제", String(exception.ClassName()), exception.Message, sQry);
  153. throw Exception(String(exception.ClassName()) + exception.Message);
  154. }
  155. }
  156. __finally
  157. {
  158. if (pADO)
  159. {
  160. pADO->Close();
  161. delete pADO;
  162. }
  163. //FLists.UnLock();
  164. }
  165. return true;
  166. }
  167. //---------------------------------------------------------------------------
  168. bool TItsParkingManager::UpdateParking(TItsParking *AObj, TADOConnection *ADbConn/*=NULL*/)
  169. {
  170. String sQry;
  171. TADOQuery *pADO = NULL;
  172. sQry = "UPDATE TB_PRLT_CTLR \r\n"
  173. " SET PRLT_OPER_DVSN_CD = :p02, \r\n"
  174. " PRLT_TYPE_DVSN_CD = :p03, \r\n"
  175. " VALD_YN = :p04, \r\n"
  176. " X_CRDN = :p05, \r\n"
  177. " Y_CRDN = :p06, \r\n"
  178. " ISTL_LCTN_ADDR = :p07, \r\n"
  179. " TRMN_IP = :p08, \r\n"
  180. " TRMN_PORT = :p09, \r\n"
  181. " CTLR_CLCT_CYCL = :p10, \r\n"
  182. " CTLR_STTS_CYCL = :p11, \r\n"
  183. " WHOL_NPLS = :p12, \r\n"
  184. " DEL_USER_ID = :p13, \r\n"
  185. " DEL_DT = :p14, \r\n"
  186. " DEL_YN = :p15, \r\n"
  187. " ADTN_USER_ID = :p16, \r\n"
  188. " ADTN_DT = :p17, \r\n"
  189. " CHNG_USER_ID = :p18, \r\n"
  190. " CHNG_DT = :p19, \r\n"
  191. #ifdef USE_PARK_REAL
  192. " CTLR_MNGM_NM = :p20, \r\n"
  193. " REAL_DATA_YN = :p21 \r\n"
  194. #else
  195. " CTLR_MNGM_NM = :p20 \r\n"
  196. #endif
  197. " WHERE CTLR_MNGM_NMBR = :p01 \r\n";
  198. try
  199. {
  200. //FLists.Lock();
  201. try
  202. {
  203. pADO = new TADOQuery(NULL);
  204. pADO->Close();
  205. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  206. pADO->SQL->Clear();
  207. pADO->SQL->Text = sQry;
  208. pADO->Parameters->ParamByName("p01")->Value = AObj->CTLR_MNGM_NMBR;
  209. pADO->Parameters->ParamByName("p02")->Value = AObj->PRLT_OPER_DVSN_CD;
  210. pADO->Parameters->ParamByName("p03")->Value = AObj->PRLT_TYPE_DVSN_CD;
  211. pADO->Parameters->ParamByName("p04")->Value = AObj->VALD_YN;
  212. pADO->Parameters->ParamByName("p05")->Value = AObj->X_CRDN;
  213. pADO->Parameters->ParamByName("p06")->Value = AObj->Y_CRDN;
  214. pADO->Parameters->ParamByName("p07")->Value = AObj->ISTL_LCTN_ADDR;
  215. pADO->Parameters->ParamByName("p08")->Value = AObj->TRMN_IP;
  216. pADO->Parameters->ParamByName("p09")->Value = AObj->TRMN_PORT;
  217. pADO->Parameters->ParamByName("p10")->Value = AObj->CTLR_CLCT_CYCL;
  218. pADO->Parameters->ParamByName("p11")->Value = AObj->CTLR_STTS_CYCL;
  219. pADO->Parameters->ParamByName("p12")->Value = AObj->WHOL_NPLS;
  220. pADO->Parameters->ParamByName("p13")->Value = AObj->DEL_USER_ID;
  221. pADO->Parameters->ParamByName("p14")->Value = AObj->DEL_DT;
  222. pADO->Parameters->ParamByName("p15")->Value = AObj->DEL_YN;
  223. pADO->Parameters->ParamByName("p16")->Value = AObj->ADTN_USER_ID;
  224. pADO->Parameters->ParamByName("p17")->Value = AObj->ADTN_DT;
  225. pADO->Parameters->ParamByName("p18")->Value = AObj->CHNG_USER_ID;
  226. pADO->Parameters->ParamByName("p19")->Value = AObj->CHNG_DT;
  227. pADO->Parameters->ParamByName("p20")->Value = AObj->CTLR_MNGM_NM;
  228. #ifdef USE_PARK_REAL
  229. pADO->Parameters->ParamByName("p21")->Value = AObj->REAL_DATA_YN;
  230. #endif
  231. pADO->ExecSQL();
  232. InsertParkingOper(AObj, ADbConn);
  233. InsertParkingFloors(AObj, ADbConn);
  234. sQry = "UPDATE TB_FCLT_INFR \r\n"
  235. " SET FCLT_LCTN = :p02 \r\n"
  236. " WHERE FCLT_ID = :p01 \r\n";
  237. " AND FCLT_TYPE = 'PARK' \r\n";
  238. pADO->SQL->Clear();
  239. pADO->SQL->Text = sQry;
  240. pADO->Parameters->ParamByName("p01")->Value = AObj->CTLR_MNGM_NMBR;
  241. pADO->Parameters->ParamByName("p02")->Value = AObj->CTLR_MNGM_NM;
  242. pADO->ExecSQL();
  243. return true;
  244. }
  245. catch(EDatabaseError &E)
  246. {
  247. //DBERRORMSG("주차장정보업데이트", String(E.ClassName()), E.Message, sQry);
  248. throw Exception(String(E.ClassName()) + E.Message);
  249. }
  250. catch(Exception &exception)
  251. {
  252. //DBERRORMSG("주차장정보업데이트", String(exception.ClassName()), exception.Message, sQry);
  253. throw Exception(String(exception.ClassName()) + exception.Message);
  254. }
  255. }
  256. __finally
  257. {
  258. if (pADO)
  259. {
  260. pADO->Close();
  261. delete pADO;
  262. }
  263. //FLists.UnLock();
  264. }
  265. return true;
  266. }
  267. //---------------------------------------------------------------------------
  268. bool TItsParkingManager::InsertParking(TItsParking *AObj, TADOConnection *ADbConn/*=NULL*/)
  269. {
  270. String sQry;
  271. TADOQuery *pADO = NULL;
  272. sQry = "INSERT INTO TB_PRLT_CTLR( \r\n"
  273. " CTLR_MNGM_NMBR, \r\n"
  274. " PRLT_OPER_DVSN_CD, \r\n"
  275. " PRLT_TYPE_DVSN_CD, \r\n"
  276. " VALD_YN, \r\n"
  277. " X_CRDN, \r\n"
  278. " Y_CRDN, \r\n"
  279. " ISTL_LCTN_ADDR, \r\n"
  280. " TRMN_IP, \r\n"
  281. " TRMN_PORT, \r\n"
  282. " CTLR_CLCT_CYCL, \r\n"
  283. " CTLR_STTS_CYCL, \r\n"
  284. " WHOL_NPLS, \r\n"
  285. " DEL_USER_ID, \r\n"
  286. " DEL_DT, \r\n"
  287. " DEL_YN, \r\n"
  288. " ADTN_USER_ID, \r\n"
  289. " ADTN_DT, \r\n"
  290. " CHNG_USER_ID, \r\n"
  291. " CHNG_DT, \r\n"
  292. #ifdef USE_PARK_REAL
  293. " CTLR_MNGM_NM, \r\n"
  294. " REAL_DATA_YN \r\n"
  295. #else
  296. " CTLR_MNGM_NM \r\n"
  297. #endif
  298. " ) \r\n"
  299. " VALUES(:p01, :p02, :p03, :p04, :p05, \r\n"
  300. " :p06, :p07, :p08, :p09, :p10, \r\n"
  301. " :p11, :p12, :p13, :p14, :p15, \r\n"
  302. #ifdef USE_PARK_REAL
  303. " :p16, :p17, :p18, :p19, :p20, \r\n"
  304. " :p21 ) \r\n";
  305. #else
  306. " :p16, :p17, :p18, :p19, :p20 ) \r\n";
  307. #endif
  308. try
  309. {
  310. //FLists.Lock();
  311. try
  312. {
  313. pADO = new TADOQuery(NULL);
  314. pADO->Close();
  315. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  316. pADO->SQL->Clear();
  317. pADO->SQL->Text = sQry;
  318. pADO->Parameters->ParamByName("p01")->Value = AObj->CTLR_MNGM_NMBR;
  319. pADO->Parameters->ParamByName("p02")->Value = AObj->PRLT_OPER_DVSN_CD;
  320. pADO->Parameters->ParamByName("p03")->Value = AObj->PRLT_TYPE_DVSN_CD;
  321. pADO->Parameters->ParamByName("p04")->Value = AObj->VALD_YN;
  322. pADO->Parameters->ParamByName("p05")->Value = AObj->X_CRDN;
  323. pADO->Parameters->ParamByName("p06")->Value = AObj->Y_CRDN;
  324. pADO->Parameters->ParamByName("p07")->Value = AObj->ISTL_LCTN_ADDR;
  325. pADO->Parameters->ParamByName("p08")->Value = AObj->TRMN_IP;
  326. pADO->Parameters->ParamByName("p09")->Value = AObj->TRMN_PORT;
  327. pADO->Parameters->ParamByName("p10")->Value = AObj->CTLR_CLCT_CYCL;
  328. pADO->Parameters->ParamByName("p11")->Value = AObj->CTLR_STTS_CYCL;
  329. pADO->Parameters->ParamByName("p12")->Value = AObj->WHOL_NPLS;
  330. pADO->Parameters->ParamByName("p13")->Value = AObj->DEL_USER_ID;
  331. pADO->Parameters->ParamByName("p14")->Value = AObj->DEL_DT;
  332. pADO->Parameters->ParamByName("p15")->Value = AObj->DEL_YN;
  333. pADO->Parameters->ParamByName("p16")->Value = AObj->ADTN_USER_ID;
  334. pADO->Parameters->ParamByName("p17")->Value = AObj->ADTN_DT;
  335. pADO->Parameters->ParamByName("p18")->Value = AObj->CHNG_USER_ID;
  336. pADO->Parameters->ParamByName("p19")->Value = AObj->CHNG_DT;
  337. pADO->Parameters->ParamByName("p20")->Value = AObj->CTLR_MNGM_NM;
  338. #ifdef USE_PARK_REAL
  339. pADO->Parameters->ParamByName("p21")->Value = AObj->REAL_DATA_YN;
  340. #endif
  341. pADO->ExecSQL();
  342. InsertParkingOper(AObj, ADbConn);
  343. InsertParkingFloors(AObj, ADbConn);
  344. sQry = "INSERT INTO TB_FCLT_INFR(FCLT_ID, FCLT_TYPE, FCLT_LCTN, RSCE_YN, DEL_YN, USE_YEAR, AMT) \r\n"
  345. " VALUES(:p01, 'PARK', :p03, 'N', 'N', '0', '0') \r\n";
  346. pADO->SQL->Clear();
  347. pADO->SQL->Text = sQry;
  348. pADO->Parameters->ParamByName("p01")->Value = AObj->CTLR_MNGM_NMBR;
  349. pADO->Parameters->ParamByName("p03")->Value = AObj->CTLR_MNGM_NM;
  350. pADO->ExecSQL();
  351. return true;
  352. }
  353. catch(EDatabaseError &E)
  354. {
  355. //DBERRORMSG("주차장정보입력", String(E.ClassName()), E.Message, sQry);
  356. throw Exception(String(E.ClassName()) + E.Message);
  357. }
  358. catch(Exception &exception)
  359. {
  360. //DBERRORMSG("주차장정보입력", String(exception.ClassName()), exception.Message, sQry);
  361. throw Exception(String(exception.ClassName()) + exception.Message);
  362. }
  363. }
  364. __finally
  365. {
  366. if (pADO)
  367. {
  368. pADO->Close();
  369. delete pADO;
  370. }
  371. //FLists.UnLock();
  372. }
  373. return true;
  374. }
  375. //---------------------------------------------------------------------------
  376. bool TItsParkingManager::InsertParkingOper(TItsParking *AObj, TADOConnection *ADbConn/*=NULL*/)
  377. {
  378. String sQry;
  379. TADOQuery *pADO = NULL;
  380. try
  381. {
  382. //FLists.Lock();
  383. try
  384. {
  385. pADO = new TADOQuery(NULL);
  386. pADO->Close();
  387. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  388. pADO->SQL->Clear();
  389. sQry = "DELETE TB_PRLT_OPER_INFR \r\n"
  390. " WHERE CTLR_MNGM_NMBR = :p01 \r\n";
  391. pADO->SQL->Text = sQry;
  392. pADO->Parameters->ParamByName("p01")->Value = AObj->CTLR_MNGM_NMBR;
  393. pADO->ExecSQL();
  394. sQry = "INSERT INTO TB_PRLT_OPER_INFR( \r\n"
  395. " CTLR_MNGM_NMBR, \r\n"
  396. " PRLT_MNGM_INTN_NM, \r\n"
  397. " PRLT_MNGM_INTN_TEL, \r\n"
  398. " PARK_NDSY_CD, \r\n"
  399. " PARK_OPER_DAY_CD, \r\n"
  400. " PARK_WKDY_STRT_HH, \r\n"
  401. " PARK_WKDY_END_HH, \r\n"
  402. " PARK_LHDY_STRT_HH, \r\n"
  403. " PARK_LHDY_END_HH, \r\n"
  404. " PARK_OPDR_CD, \r\n"
  405. " PARK_FARE_IMPS_CD, \r\n"
  406. " PARK_APNT_OFFR_YN \r\n"
  407. " ) \r\n"
  408. " VALUES(:p01, :p02, :p03, :p04, :p05, \r\n"
  409. " :p06, :p07, :p08, :p09, :p10, \r\n"
  410. " :p11, :p12 ) \r\n";
  411. pADO->SQL->Text = sQry;
  412. pADO->Parameters->ParamByName("p01")->Value = AObj->CTLR_MNGM_NMBR;
  413. pADO->Parameters->ParamByName("p02")->Value = AObj->PRLT_MNGM_INTN_NM;
  414. pADO->Parameters->ParamByName("p03")->Value = AObj->PRLT_MNGM_INTN_TEL;
  415. pADO->Parameters->ParamByName("p04")->Value = AObj->PARK_NDSY_CD;
  416. pADO->Parameters->ParamByName("p05")->Value = AObj->PARK_OPER_DAY_CD;
  417. pADO->Parameters->ParamByName("p06")->Value = AObj->PARK_WKDY_STRT_HH;
  418. pADO->Parameters->ParamByName("p07")->Value = AObj->PARK_WKDY_END_HH;
  419. pADO->Parameters->ParamByName("p08")->Value = AObj->PARK_LHDY_STRT_HH;
  420. pADO->Parameters->ParamByName("p09")->Value = AObj->PARK_LHDY_END_HH;
  421. pADO->Parameters->ParamByName("p10")->Value = AObj->PARK_OPDR_CD;
  422. pADO->Parameters->ParamByName("p11")->Value = AObj->PARK_FARE_IMPS_CD;
  423. pADO->Parameters->ParamByName("p12")->Value = AObj->PARK_APNT_OFFR_YN;
  424. pADO->ExecSQL();
  425. return true;
  426. }
  427. catch(EDatabaseError &E)
  428. {
  429. //DBERRORMSG("주차장정보입력", String(E.ClassName()), E.Message, sQry);
  430. throw Exception(String(E.ClassName()) + E.Message);
  431. }
  432. catch(Exception &exception)
  433. {
  434. //DBERRORMSG("주차장정보입력", String(exception.ClassName()), exception.Message, sQry);
  435. throw Exception(String(exception.ClassName()) + exception.Message);
  436. }
  437. }
  438. __finally
  439. {
  440. if (pADO)
  441. {
  442. pADO->Close();
  443. delete pADO;
  444. }
  445. //FLists.UnLock();
  446. }
  447. return true;
  448. }
  449. //---------------------------------------------------------------------------
  450. bool TItsParkingManager::InsertParkingFloors(TItsParking *AObj, TADOConnection *ADbConn/*=NULL*/)
  451. {
  452. String sQry;
  453. TADOQuery *pADO = NULL;
  454. try
  455. {
  456. //FLists.Lock();
  457. try
  458. {
  459. pADO = new TADOQuery(NULL);
  460. pADO->Close();
  461. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  462. pADO->SQL->Clear();
  463. #if 0
  464. sQry = "DELETE TB_PRLT_FLOR \r\n"
  465. " WHERE CTLR_MNGM_NMBR = :p01 \r\n";
  466. pADO->SQL->Text = sQry;
  467. pADO->Parameters->ParamByName("p01")->Value = AObj->CTLR_MNGM_NMBR;
  468. pADO->ExecSQL();
  469. #endif
  470. #if 0
  471. sQry = "INSERT INTO TB_PRLT_FLOR( CTLR_MNGM_NMBR, FLOR_NMBR, FLOR_NM ) \r\n"
  472. " VALUES(:p01, :p02, :p03 ) \r\n";
  473. #else
  474. sQry = "UPDATE TB_PRLT_FLOR \r\n"
  475. " SET FLOR_NM = :p03 \r\n"
  476. " WHERE CTLR_MNGM_NMBR = :p01 \r\n"
  477. " AND FLOR_NMBR = :p02 \r\n";
  478. #endif
  479. pADO->SQL->Text = sQry;
  480. for (int ii = 0; ii < AObj->Floors; ii++)
  481. {
  482. pADO->Parameters->ParamByName("p01")->Value = AObj->CTLR_MNGM_NMBR;
  483. pADO->Parameters->ParamByName("p02")->Value = AObj->FLOR_NMBR[ii];
  484. pADO->Parameters->ParamByName("p03")->Value = AObj->FLOR_NM[ii];
  485. pADO->ExecSQL();
  486. }
  487. return true;
  488. }
  489. catch(EDatabaseError &E)
  490. {
  491. //DBERRORMSG("주차장정보입력", String(E.ClassName()), E.Message, sQry);
  492. throw Exception(String(E.ClassName()) + E.Message);
  493. }
  494. catch(Exception &exception)
  495. {
  496. //DBERRORMSG("주차장정보입력", String(exception.ClassName()), exception.Message, sQry);
  497. throw Exception(String(exception.ClassName()) + exception.Message);
  498. }
  499. }
  500. __finally
  501. {
  502. if (pADO)
  503. {
  504. pADO->Close();
  505. delete pADO;
  506. }
  507. //FLists.UnLock();
  508. }
  509. return true;
  510. }
  511. //---------------------------------------------------------------------------
  512. bool TItsParkingManager::SelParkingFloors(TItsParking *AObj, TADOConnection *ADbConn/*=NULL*/)
  513. {
  514. String sQry;
  515. TADOQuery *pADO = NULL;
  516. sQry = "SELECT * FROM TB_PRLT_FLOR \r\n"
  517. " WHERE CTLR_MNGM_NMBR = :p01 \r\n"
  518. " ORDER BY FLOR_NMBR \r\n";
  519. AObj->Floors = 0;
  520. try
  521. {
  522. try
  523. {
  524. pADO = new TADOQuery(NULL);
  525. pADO->Close();
  526. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  527. pADO->SQL->Clear();
  528. pADO->SQL->Text = sQry;
  529. pADO->Parameters->ParamByName("p01")->Value = AObj->CTLR_MNGM_NMBR;
  530. pADO->Open();
  531. for( ; !pADO->Eof; pADO->Next())
  532. {
  533. AObj->FLOR_NMBR[AObj->Floors] = pADO->FieldByName("FLOR_NMBR")->AsString;
  534. AObj->FLOR_NM[AObj->Floors] = pADO->FieldByName("FLOR_NM")->AsString;
  535. AObj->Floors++;
  536. if (AObj->Floors >= MAX_PARKING_FLOOR)
  537. {
  538. break;
  539. }
  540. }
  541. return true;
  542. }
  543. catch(EDatabaseError &E)
  544. {
  545. //DBERRORMSG("주차장정보입력", String(E.ClassName()), E.Message, sQry);
  546. throw Exception(String(E.ClassName()) + E.Message);
  547. }
  548. catch(Exception &exception)
  549. {
  550. //DBERRORMSG("주차장정보입력", String(exception.ClassName()), exception.Message, sQry);
  551. throw Exception(String(exception.ClassName()) + exception.Message);
  552. }
  553. }
  554. __finally
  555. {
  556. if (pADO)
  557. {
  558. pADO->Close();
  559. delete pADO;
  560. }
  561. }
  562. return true;
  563. }
  564. //---------------------------------------------------------------------------