CDSParkingF.cpp 24 KB

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