CDSTrafficOprLinkF.cpp 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. //---------------------------------------------------------------------------
  2. #pragma hdrstop
  3. #include "CDSTrafficOprLinkF.h"
  4. #include "AppGlobalF.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. TItsTrafficOprLink::TItsTrafficOprLink()
  8. {
  9. FGridIndex = -1; // ±×¸®µå À妽º
  10. }
  11. //---------------------------------------------------------------------------
  12. TItsTrafficOprLink::~TItsTrafficOprLink()
  13. {
  14. }
  15. //---------------------------------------------------------------------------
  16. //---------------------------------------------------------------------------
  17. TItsTrafficOprLinkManager *ItsTrafficOprLinkManager = NULL;
  18. //---------------------------------------------------------------------------
  19. /*
  20. * TrafficOprLink Manager
  21. */
  22. TItsTrafficOprLinkManager::TItsTrafficOprLinkManager()
  23. {
  24. }
  25. //---------------------------------------------------------------------------
  26. TItsTrafficOprLinkManager::~TItsTrafficOprLinkManager()
  27. {
  28. }
  29. //---------------------------------------------------------------------------
  30. bool TItsTrafficOprLinkManager::LoadFromDb(TADOConnection *ADbConn/*=NULL*/)
  31. {
  32. String sQry;
  33. TADOQuery *pADO = NULL;
  34. sQry = "SELECT LINK_ID, CRTN_DT, \r\n"
  35. " APLY_STRT_DT, APLY_END_DT, \r\n"
  36. " NVL(TFVL, 0) AS TFVL, \r\n"
  37. " NVL(SPED, 0) AS SPED, \r\n"
  38. " NVL(OCPY_RATE, 0) AS OCPY_RATE, \r\n"
  39. " NVL(TRVL_HH, 0) AS TRVL_HH \r\n"
  40. " FROM TB_LINK_SYOP_TRAF \r\n";
  41. // " ORDER BY 1, 2 \r\n";
  42. try
  43. {
  44. FDataSeq = 0;
  45. FLists.Lock();
  46. FLists.RemoveAll();
  47. try
  48. {
  49. pADO = new TADOQuery(NULL);
  50. pADO->Close();
  51. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  52. pADO->SQL->Clear();
  53. pADO->SQL->Text = sQry;
  54. pADO->Prepared = true;
  55. pADO->Open();
  56. for( ; !pADO->Eof; pADO->Next())
  57. {
  58. TItsTrafficOprLink *pTrafficOprLink = new TItsTrafficOprLink();
  59. pTrafficOprLink->LINK_ID = pADO->FieldByName("LINK_ID")->AsString;
  60. pTrafficOprLink->CRTN_DT = pADO->FieldByName("CRTN_DT")->AsString;
  61. pTrafficOprLink->APLY_STRT_DT = pADO->FieldByName("APLY_STRT_DT")->AsString;
  62. pTrafficOprLink->APLY_END_DT = pADO->FieldByName("APLY_END_DT")->AsString;
  63. pTrafficOprLink->TFVL = pADO->FieldByName("TFVL")->AsString;
  64. pTrafficOprLink->SPED = pADO->FieldByName("SPED")->AsString;
  65. pTrafficOprLink->OCPY_RATE = pADO->FieldByName("OCPY_RATE")->AsString;
  66. pTrafficOprLink->TRVL_HH = pADO->FieldByName("TRVL_HH")->AsString;
  67. FLists.Push(String(FDataSeq++), pTrafficOprLink);
  68. pTrafficOprLink->Completed = true;
  69. }
  70. }
  71. catch(EDatabaseError &E)
  72. {
  73. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  74. DBERRORMSG("TItsTrafficOprLinkManager::LoadFromDb", String(E.ClassName()), E.Message, sQry);
  75. throw Exception(String(E.ClassName()) + E.Message);
  76. }
  77. catch(Exception &exception)
  78. {
  79. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  80. DBERRORMSG("TItsTrafficOprLinkManager::LoadFromDb", String(exception.ClassName()), exception.Message, sQry);
  81. throw Exception(String(exception.ClassName()) + exception.Message);
  82. }
  83. }
  84. __finally
  85. {
  86. if (pADO)
  87. {
  88. pADO->Close();
  89. delete pADO;
  90. }
  91. FLists.UnLock();
  92. }
  93. return true;
  94. }
  95. //---------------------------------------------------------------------------
  96. bool TItsTrafficOprLinkManager::AllDelete(TADOConnection *ADbConn/*=NULL*/)
  97. {
  98. String sQry;
  99. TADOQuery *pADO = NULL;
  100. sQry = "DELETE FROM TB_LINK_SYOP_TRAF \r\n";
  101. try
  102. {
  103. FDataSeq = 0;
  104. FLists.Lock();
  105. FLists.RemoveAll();
  106. try
  107. {
  108. pADO = new TADOQuery(NULL);
  109. pADO->Close();
  110. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  111. pADO->SQL->Clear();
  112. pADO->SQL->Text = sQry;
  113. pADO->ExecSQL();
  114. }
  115. catch(EDatabaseError &E)
  116. {
  117. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  118. DBERRORMSG("TItsTrafficOprLinkManager::AllDelete", String(E.ClassName()), E.Message, sQry);
  119. throw Exception(String(E.ClassName()) + E.Message);
  120. }
  121. catch(Exception &exception)
  122. {
  123. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  124. DBERRORMSG("TItsTrafficOprLinkManager::AllDelete", String(exception.ClassName()), exception.Message, sQry);
  125. throw Exception(String(exception.ClassName()) + exception.Message);
  126. }
  127. }
  128. __finally
  129. {
  130. if (pADO)
  131. {
  132. pADO->Close();
  133. delete pADO;
  134. }
  135. FLists.UnLock();
  136. }
  137. return true;
  138. }
  139. //---------------------------------------------------------------------------
  140. bool TItsTrafficOprLinkManager::AllApply(int ALinkLevel, TADOConnection *ADbConn/*=NULL*/)
  141. {
  142. String sQry;
  143. TADOQuery *pADO = NULL;
  144. if (ALinkLevel == 1)
  145. {
  146. sQry = "INSERT INTO TB_LINK_SYOP_TRAF(LINK_ID, CRTN_DT, APLY_STRT_DT, APLY_END_DT, TFVL, SPED, OCPY_RATE, TRVL_HH) \r\n"
  147. "SELECT LINK_ID, \r\n"
  148. " TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') AS CRTN_DT, \r\n"
  149. " TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') AS APLY_STRT_DT, \r\n"
  150. " TO_CHAR(SYSDATE+1, 'YYYYMMDDHH24MISS') AS APLY_END_DT, \r\n"
  151. " 0, \r\n"
  152. " 100, \r\n"
  153. " 0, \r\n"
  154. " 0 \r\n"
  155. " FROM TB_LINK_TRAF \r\n"
  156. " WHERE SPED > 0 \r\n";
  157. }
  158. else if (ALinkLevel == 2)
  159. {
  160. sQry = "INSERT INTO TB_LINK_SYOP_TRAF(LINK_ID, CRTN_DT, APLY_STRT_DT, APLY_END_DT, TFVL, SPED, OCPY_RATE, TRVL_HH) \r\n"
  161. "SELECT IFSC_ID, \r\n"
  162. " TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') AS CRTN_DT, \r\n"
  163. " TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') AS APLY_STRT_DT, \r\n"
  164. " TO_CHAR(SYSDATE+1, 'YYYYMMDDHH24MISS') AS APLY_END_DT, \r\n"
  165. " 0, \r\n"
  166. " 100, \r\n"
  167. " 0, \r\n"
  168. " 0 \r\n"
  169. " FROM TB_IFSC_TRAF \r\n"
  170. " WHERE SPED > 0 \r\n";
  171. }
  172. else return true;
  173. try
  174. {
  175. String sSysDate = Now().FormatString("YYYYMMDDHHNNSS");
  176. FLists.Lock();
  177. try
  178. {
  179. pADO = new TADOQuery(NULL);
  180. pADO->Close();
  181. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  182. pADO->SQL->Clear();
  183. pADO->SQL->Text = sQry;
  184. //pADO->Parameters->ParamByName("p01")->Value = sSysDate
  185. pADO->ExecSQL();
  186. }
  187. catch(EDatabaseError &E)
  188. {
  189. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  190. DBERRORMSG("TItsTrafficOprLinkManager::AllApply", String(E.ClassName()), E.Message, sQry);
  191. throw Exception(String(E.ClassName()) + E.Message);
  192. }
  193. catch(Exception &exception)
  194. {
  195. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  196. DBERRORMSG("TItsTrafficOprLinkManager::AllApply", String(exception.ClassName()), exception.Message, sQry);
  197. throw Exception(String(exception.ClassName()) + exception.Message);
  198. }
  199. }
  200. __finally
  201. {
  202. if (pADO)
  203. {
  204. pADO->Close();
  205. delete pADO;
  206. }
  207. FLists.UnLock();
  208. }
  209. return true;
  210. }
  211. //---------------------------------------------------------------------------