xCDSParkingF.cpp 24 KB

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