FRAME_IncidentAutoListF.cpp 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #include "ITSSkinF.h"
  4. #include "ITSUtilF.h"
  5. #include "FrmResourceF.h"
  6. #include "ITSLangTransF.h"
  7. #pragma hdrstop
  8. #include "FRAME_IncidentAutoListF.h"
  9. #include "CDSNodeF.h"
  10. #include "CDSLinkF.h"
  11. #include "CDSIncidentF.h"
  12. //---------------------------------------------------------------------------
  13. #pragma package(smart_init)
  14. #pragma link "cxCalc"
  15. #pragma link "cxClasses"
  16. #pragma link "cxControls"
  17. #pragma link "cxCustomData"
  18. #pragma link "cxData"
  19. #pragma link "cxDataStorage"
  20. #pragma link "cxEdit"
  21. #pragma link "cxFilter"
  22. #pragma link "cxGraphics"
  23. #pragma link "cxGrid"
  24. #pragma link "cxGridCustomTableView"
  25. #pragma link "cxGridCustomView"
  26. #pragma link "cxGridLevel"
  27. #pragma link "cxGridTableView"
  28. #pragma link "cxLabel"
  29. #pragma link "cxLookAndFeelPainters"
  30. #pragma link "cxLookAndFeels"
  31. #pragma link "cxStyles"
  32. #pragma link "dxSkinBlack"
  33. #pragma link "dxSkinBlue"
  34. #pragma link "dxSkinsCore"
  35. #pragma link "dxSkinscxPCPainter"
  36. #pragma resource "*.dfm"
  37. //TFRAMEIncidentAutoList *FRAMEIncidentAutoList;
  38. //---------------------------------------------------------------------------
  39. __fastcall TFRAMEIncidentAutoList::TFRAMEIncidentAutoList(TComponent* Owner)
  40. : TFrame(Owner)
  41. {
  42. LangTrans->Translate(this, ITSDb_GetConnection());
  43. //TvList2->OptionsView->NoDataToDisplayInfoText = FrmLang->lblNoInfo->Caption;//"<현재 발생한 자동돌발정보가 없습니다>";
  44. #if 0
  45. FCodeIST = ItsCodeManager->FLists.Find("IST"); //돌발상황 원본 코드 : IST
  46. FCodeLTCU = ItsCodeManager->FLists.Find("LTCU");//LTCU"); //소통 등급 코드 : LTCU
  47. FCodeICM = ItsCodeManager->FLists.Find("ICM"); //돌발상황 확인 방법 코드 : ICM
  48. FCodeIDTU = ItsCodeManager->FLists.Find("IDTU"); //돌발상황 유형 분류 코드 : IDTU
  49. FCodeACTU = ItsCodeManager->FLists.Find("ACTU"); //돌발상황 유형 코드 : ACTU, CRTU, EVTU, WETU 중 하나
  50. FCodeCRTU = ItsCodeManager->FLists.Find("CRTU"); //돌발상황 유형 코드 : ACTU, CRTU, EVTU, WETU 중 하나
  51. FCodeEVTU = ItsCodeManager->FLists.Find("EVTU"); //돌발상황 유형 코드 : ACTU, CRTU, EVTU, WETU 중 하나
  52. FCodeWETU = ItsCodeManager->FLists.Find("WETU"); //돌발상황 유형 코드 : ACTU, CRTU, EVTU, WETU 중 하나
  53. FCodeSRLU = ItsCodeManager->FLists.Find("SRLU"); //돌발상황 심각도 코드 : SRLU
  54. FCodePRTU = ItsCodeManager->FLists.Find("PRTU"); //통행 제한 유형 코드 : PRTU
  55. FCodeRSL = ItsCodeManager->FLists.Find("RSL"); //대응 수준 코드 : RSL
  56. FCodeISS = ItsCodeManager->FLists.Find("ISS"); //돌발상황 진행 단계 코드 : ISS
  57. FCodeICM = ItsCodeManager->FLists.Find("ICM"); //돌발상황 종료 확인 방법 코드 : ICM
  58. FCodeDFW = ItsCodeManager->FLists.Find("DFW"); //기상 코드 : DFW
  59. FCodeVIT = ItsCodeManager->FLists.Find("VIT"); //VMS 돌발 유형 코드 : VIT
  60. FCodeIDT = ItsCodeManager->FLists.Find("IDT"); //VMS 돌발 유형 세부 코드 : IDT
  61. FCodeEDT = ItsCodeManager->FLists.Find("EDT"); //VMS 돌발 유형 세부 코드 : EDT
  62. #endif
  63. }
  64. //---------------------------------------------------------------------------
  65. void __fastcall TFRAMEIncidentAutoList::UpdateList()
  66. {
  67. CMM_ClearGridTableView(TvList2);
  68. TcxDataController *pGDC = TvList2->DataController;
  69. int nRow = 0;
  70. try
  71. {
  72. TvList2->BeginUpdate();
  73. try
  74. {
  75. ItsIncidentManager->FAutoLists.Lock();
  76. FOR_STL(TItsAutoIncident *, pObj, ItsIncidentManager->FAutoLists)
  77. {
  78. if (pObj->REAL_YN == "Y") continue;
  79. nRow = pGDC->AppendRecord();
  80. pGDC->Values[nRow][ColumnA01->Index] = pObj->LINK_ID; //링크ID
  81. pGDC->Values[nRow][ColumnA02->Index] = ITSUtil_StrToDateTime(pObj->DETC_DT); //검지 일시
  82. pGDC->Values[nRow][ColumnA03->Index] = pObj->CLCT_SPED_AVRG; //수집 속도 평균
  83. pGDC->Values[nRow][ColumnA04->Index] = pObj->ESTM_SPED_AVRG; //예상 속도 평균
  84. pGDC->Values[nRow][ColumnA05->Index] = pObj->REAL_YN; //사실 여부
  85. pGDC->Values[nRow][ColumnA06->Index] = pObj->LINK_ID; //링크ID
  86. pGDC->Values[nRow][ColumnA07->Index] = pObj->ROAD_NAME; //도로명
  87. pGDC->Values[nRow][ColumnA08->Index] = pObj->STNAME; //시점명
  88. pGDC->Values[nRow][ColumnA09->Index] = pObj->EDNAME; //종점명
  89. pGDC->Values[nRow][ColumnA99->Index] = (int)pObj;
  90. }
  91. }
  92. __finally
  93. {
  94. ItsIncidentManager->FAutoLists.UnLock();
  95. }
  96. }
  97. __finally
  98. {
  99. TvList2->EndUpdate();
  100. TvList2->DataController->GotoFirst();
  101. TvList2->DataController->FocusedRecordIndex = 0;
  102. }
  103. }
  104. //---------------------------------------------------------------------------