FRAME_IncidentAutoListF.cpp 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  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 link "dxSkinMcSkin"
  37. #pragma resource "*.dfm"
  38. //TFRAMEIncidentAutoList *FRAMEIncidentAutoList;
  39. //---------------------------------------------------------------------------
  40. __fastcall TFRAMEIncidentAutoList::TFRAMEIncidentAutoList(TComponent* Owner)
  41. : TFrame(Owner)
  42. {
  43. LangTrans->Translate(this, ITSDb_GetConnection());
  44. //TvList2->OptionsView->NoDataToDisplayInfoText = FrmLang->lblNoInfo->Caption;//"<현재 발생한 자동돌발정보가 없습니다>";
  45. #if 0
  46. FCodeIST = ItsCodeManager->FLists.Find("IST"); //돌발상황 원본 코드 : IST
  47. FCodeLTCU = ItsCodeManager->FLists.Find("LTCU");//LTCU"); //소통 등급 코드 : LTCU
  48. FCodeICM = ItsCodeManager->FLists.Find("ICM"); //돌발상황 확인 방법 코드 : ICM
  49. FCodeIDTU = ItsCodeManager->FLists.Find("IDTU"); //돌발상황 유형 분류 코드 : IDTU
  50. FCodeACTU = ItsCodeManager->FLists.Find("ACTU"); //돌발상황 유형 코드 : ACTU, CRTU, EVTU, WETU 중 하나
  51. FCodeCRTU = ItsCodeManager->FLists.Find("CRTU"); //돌발상황 유형 코드 : ACTU, CRTU, EVTU, WETU 중 하나
  52. FCodeEVTU = ItsCodeManager->FLists.Find("EVTU"); //돌발상황 유형 코드 : ACTU, CRTU, EVTU, WETU 중 하나
  53. FCodeWETU = ItsCodeManager->FLists.Find("WETU"); //돌발상황 유형 코드 : ACTU, CRTU, EVTU, WETU 중 하나
  54. FCodeSRLU = ItsCodeManager->FLists.Find("SRLU"); //돌발상황 심각도 코드 : SRLU
  55. FCodePRTU = ItsCodeManager->FLists.Find("PRTU"); //통행 제한 유형 코드 : PRTU
  56. FCodeRSL = ItsCodeManager->FLists.Find("RSL"); //대응 수준 코드 : RSL
  57. FCodeISS = ItsCodeManager->FLists.Find("ISS"); //돌발상황 진행 단계 코드 : ISS
  58. FCodeICM = ItsCodeManager->FLists.Find("ICM"); //돌발상황 종료 확인 방법 코드 : ICM
  59. FCodeDFW = ItsCodeManager->FLists.Find("DFW"); //기상 코드 : DFW
  60. FCodeVIT = ItsCodeManager->FLists.Find("VIT"); //VMS 돌발 유형 코드 : VIT
  61. FCodeIDT = ItsCodeManager->FLists.Find("IDT"); //VMS 돌발 유형 세부 코드 : IDT
  62. FCodeEDT = ItsCodeManager->FLists.Find("EDT"); //VMS 돌발 유형 세부 코드 : EDT
  63. #endif
  64. }
  65. //---------------------------------------------------------------------------
  66. void __fastcall TFRAMEIncidentAutoList::UpdateList()
  67. {
  68. CMM_ClearGridTableView(TvList2);
  69. TcxDataController *pGDC = TvList2->DataController;
  70. int nRow = 0;
  71. try
  72. {
  73. TvList2->BeginUpdate();
  74. try
  75. {
  76. ItsIncidentManager->FAutoLists.Lock();
  77. FOR_STL(TItsAutoIncident *, pObj, ItsIncidentManager->FAutoLists)
  78. {
  79. if (pObj->REAL_YN == "Y") continue;
  80. nRow = pGDC->AppendRecord();
  81. pGDC->Values[nRow][ColumnA01->Index] = pObj->LINK_ID; //링크ID
  82. pGDC->Values[nRow][ColumnA02->Index] = ITSUtil_StrToDateTime(pObj->DETC_DT); //검지 일시
  83. pGDC->Values[nRow][ColumnA03->Index] = pObj->CLCT_SPED_AVRG; //수집 속도 평균
  84. pGDC->Values[nRow][ColumnA04->Index] = pObj->ESTM_SPED_AVRG; //예상 속도 평균
  85. pGDC->Values[nRow][ColumnA05->Index] = pObj->REAL_YN; //사실 여부
  86. pGDC->Values[nRow][ColumnA06->Index] = pObj->LINK_ID; //링크ID
  87. pGDC->Values[nRow][ColumnA07->Index] = pObj->ROAD_NAME; //도로명
  88. pGDC->Values[nRow][ColumnA08->Index] = pObj->STNAME; //시점명
  89. pGDC->Values[nRow][ColumnA09->Index] = pObj->EDNAME; //종점명
  90. pGDC->Values[nRow][ColumnA99->Index] = (int)pObj;
  91. }
  92. }
  93. __finally
  94. {
  95. ItsIncidentManager->FAutoLists.UnLock();
  96. }
  97. }
  98. __finally
  99. {
  100. TvList2->EndUpdate();
  101. TvList2->DataController->GotoFirst();
  102. TvList2->DataController->FocusedRecordIndex = 0;
  103. }
  104. }
  105. //---------------------------------------------------------------------------