Răsfoiți Sursa

apply parking info

shjung 1 an în urmă
părinte
comite
d25e35c4e1

+ 1 - 1
RUN/Cfg/VMSCommServer.ini

@@ -54,7 +54,7 @@ TRAFFIC_CENTER =1
 3= ü
 
 [LOG]
-LOGDAY  =03
+LOGDAY  =21
 LOGLINE =1000
 INFO    =1
 DATA    =0

+ 34 - 0
RUN/Log/VMSCommServer_21.err

@@ -0,0 +1,34 @@
+[12:44:23] [ERROR] MAIN LoadVmsFormObjectInfo Symbol Not Found: 162 EA.
+[12:44:32] [ERROR] MAIN LoadVmsFormObjectInfo Symbol Not Found: 162 EA.
+[12:44:32] [ERROR] VMS Figure IFSC Traffic Failed: VmsNmbr(10014)-[10241]
+[12:45:32] [ERROR] MAIN LoadVmsFormObjectInfo Symbol Not Found: 162 EA.
+[12:45:32] [ERROR] VMS Figure IFSC Traffic Failed: VmsNmbr(10014)-[10241]
+[12:45:37] [ERROR] MAIN Program terminated start
+[12:45:38] [ERROR] MAIN Program terminated end
+[12:47:23] [ERROR] MAIN LoadVmsFormObjectInfo Symbol Not Found: 162 EA.
+[12:47:31] [ERROR] MAIN LoadVmsFormObjectInfo Symbol Not Found: 162 EA.
+[12:47:32] [ERROR] VMS Figure IFSC Traffic Failed: VmsNmbr(10014)-[10241]
+[12:48:35] [ERROR] MAIN Program terminated start
+[12:48:36] [ERROR] MAIN Program terminated end
+[12:58:34] [ERROR] MAIN LoadVmsFormObjectInfo Symbol Not Found: 162 EA.
+[12:58:38] [ERROR] MAIN Program terminated start
+[12:58:39] [ERROR] MAIN Program terminated end
+[13:01:27] [ERROR] MAIN LoadVmsFormObjectInfo Symbol Not Found: 162 EA.
+[13:01:28] [ERROR] MAIN LoadVmsFormObjectInfo Symbol Not Found: 162 EA.
+[13:01:28] [ERROR] VMS Figure IFSC Traffic Failed: VmsNmbr(10014)-[10241]
+[13:05:20] [ERROR] MAIN LoadVmsFormObjectInfo Symbol Not Found: 162 EA.
+[13:05:21] [ERROR] VMS Figure IFSC Traffic Failed: VmsNmbr(10014)-[10241]
+[13:10:20] [ERROR] MAIN LoadVmsFormObjectInfo Symbol Not Found: 162 EA.
+[13:10:21] [ERROR] VMS Figure IFSC Traffic Failed: VmsNmbr(10014)-[10241]
+[13:15:21] [ERROR] MAIN LoadVmsFormObjectInfo Symbol Not Found: 162 EA.
+[13:15:21] [ERROR] VMS Figure IFSC Traffic Failed: VmsNmbr(10014)-[10241]
+[13:20:21] [ERROR] MAIN LoadVmsFormObjectInfo Symbol Not Found: 162 EA.
+[13:20:21] [ERROR] VMS Figure IFSC Traffic Failed: VmsNmbr(10014)-[10241]
+[13:25:21] [ERROR] MAIN LoadVmsFormObjectInfo Symbol Not Found: 162 EA.
+[13:25:21] [ERROR] VMS Figure IFSC Traffic Failed: VmsNmbr(10014)-[10241]
+[13:30:21] [ERROR] MAIN LoadVmsFormObjectInfo Symbol Not Found: 162 EA.
+[13:30:21] [ERROR] VMS Figure IFSC Traffic Failed: VmsNmbr(10014)-[10241]
+[13:35:21] [ERROR] MAIN LoadVmsFormObjectInfo Symbol Not Found: 162 EA.
+[13:35:21] [ERROR] VMS Figure IFSC Traffic Failed: VmsNmbr(10014)-[10241]
+[13:37:04] [ERROR] MAIN Program terminated start
+[13:37:06] [ERROR] MAIN Program terminated end

+ 6 - 2
SRC/FrmMainF.cpp

@@ -78,14 +78,18 @@ __fastcall TVmsCommMain::TVmsCommMain(TComponent* Owner)
     CDSIfscManager    = new TCDSIfscManager();
     CDSFontManager    = new TCDSFontManager();
     CDSAtmpManager    = new TCDSAtmpManager();
-    CDSSafeManager    = new TCDSSafeManager();
 #if 0
-    CDSParkManager    = new TCDSParkManager();
+    CDSSafeManager    = new TCDSSafeManager();
+#else
+    CDSSafeManager    = NULL;
 #endif
+    CDSParkManager    = new TCDSParkManager();
     CDSManager        = new TCDSManager();
 #if 0
     //VMS 소통정보를 가공해햐 하는 경우
     CDSVmsIfscTrafManager = new TCDSVmsIfscTrafManager();
+#else
+    CDSVmsIfscTrafManager = NULL;
 #endif
 
     FCurrMin = StrToInt(Now().FormatString("nn"));;

+ 1 - 1
SRC/LIB/CDSFormF.h

@@ -32,7 +32,7 @@ typedef enum _e_form_type
     eFormTp_video    = 70,  //	동영상
     eFormTp_stream   = 80,  //	스트리밍영상
     eFormTp_atmp     = 90,  //	대기환경
-    eFormTp_park     = 91,  //	주차정보
+    eFormTp_park     = 100, //	주차정보
 } e_form_type;
 
 typedef enum _e_schedule_type

+ 17 - 23
SRC/LIB/CDSParkF.h

@@ -26,34 +26,28 @@ public:
 public:
     bool       SUCCESS;
 
-	AnsiString PRLT_CTLR_NMBR;
-    AnsiString CNGT_DESC;
-    int        CNGT_LEVL;
+	AnsiString PRK_PLCE_NMBR;
+	AnsiString PRK_PLCE_MANAGE_NO;
+	AnsiString PRK_PLCE_NM;
+	AnsiString VMS_DSPL_NM;
+    AnsiString CMNC_STTS_CD;
 
-    int        WHOL_NPLS;
-    int        GNRL_NPLS;
-    int        LGVH_NPLS;
-    int        HVVH_NPLS;
-    int        EMVH_NPLS;
-    int        HNDC_NPLS;
-    int        WMON_NPLS;
-    int        ELVH_NPLS;
-    int        ETC_NPLS;
-    int        CNGT_NPLS;
+    AnsiString PARKING_CGS_STTUS_DESC;
 
-    int        TOTAL;
-    int        GNRL_RMND_PRZN_NUM;  //	N	NUMBER(3)	Y	0		일반 잔여 주차구역 개수
-    int        LGVH_RMND_PRZN_NUM;  //	N	NUMBER(3)	Y	0		경차 잔여 주차구역 개수
-    int        HVVH_RMND_PRZN_NUM;  //	N	NUMBER(3)	Y	0		대형 잔여 주차구역 개수
-    int        EMVH_RMND_PRZN_NUM;  //	N	NUMBER(3)	Y	0		긴급차량 잔여 주차구역 개수
-    int        HNDC_RMND_PRZN_NUM;  //	N	NUMBER(3)	Y	0		장애인 잔여 주차구역 개수
-    int        WMON_RMND_PRZN_NUM;  //	N	NUMBER(3)	Y	0		여성전용 잔여 주차구역 개수
-    int        ELVH_RMND_PRZN_NUM;  //	N	NUMBER(3)	Y	0		전기차 잔여 주차구역 개수
-    int        ETC_RMND_PRZN_NUM;   //	N	NUMBER(3)	Y	0		기타 잔여 주차구역 개수
+    int        REG_PRK_CMPRT_CO;
+    int        RUN_PRK_CMPRT_CO;
+
+    int        PARKING_CGS_STTUS;
+    int        REMNDR_PRK_CMPRT_CO;
 
     void Init();
-    void CalcTotal();
+    void CalcCgsSttus();
     int GetGradeColor();
+    AnsiString GetParkName();
+    AnsiString GetCountText(AnsiString ATxt, int ACount);
+    AnsiString GetRemainCo(AnsiString ATxt);
+    AnsiString GetTotalCo(AnsiString ATxt);
+    AnsiString GetCgsSttus();
 };
 //---------------------------------------------------------------------------
 

+ 1 - 1
SRC/VMSCommLib/CDS/CDSFormF.h

@@ -32,7 +32,7 @@ typedef enum _e_form_type
     eFormTp_video    = 70,  //	동영상
     eFormTp_stream   = 80,  //	스트리밍영상
     eFormTp_atmp     = 90,  //	대기환경
-    eFormTp_park     = 91,  //	주차정보
+    eFormTp_park     = 100, //	주차정보
 } e_form_type;
 
 typedef enum _e_schedule_type

+ 2 - 1
SRC/VMSCommLib/CDS/CDSImageF.cpp

@@ -76,7 +76,8 @@ int TCDSImageManager::LoadVmsSymbolInfo(TADOConnection *ADbConn)
     //SYMB_TYPE: 심벌 유형(SBT0:일반심벌이미지,SBT1:소통정보배경,SBT2:소통정보이미지,SBT3:동영상,SBT4:대기환경등급)
 
     sQry = "SELECT A.*                    \r\n"
-           "  FROM TB_VMS_SYMB_LIB A      \r\n";
+           "  FROM TB_VMS_SYMB_LIB A      \r\n"
+           " WHERE A.DEL_YN = 'N'         \r\n";
 
     try
     {

+ 7 - 2
SRC/VMSCommLib/CDS/CDSManagerF.cpp

@@ -1231,10 +1231,15 @@ int TCDSManager::LoadVmsScheduleInfo(TADOConnection *ADbConn)
                         bool isParkingForm = false;
                         FOR_STL(TCDSFormObj*, pTmpObj, pCDSForm->FLists)
                         {
-                            if (pTmpObj->VMS_FORM_OBJECT_TYPE_CD == 501 || pTmpObj->VMS_FORM_OBJECT_TYPE_CD == 502)
+                            if (pTmpObj->VMS_FORM_OBJECT_TYPE_CD == 101 ||
+                                pTmpObj->VMS_FORM_OBJECT_TYPE_CD == 102 ||
+                                pTmpObj->VMS_FORM_OBJECT_TYPE_CD == 103 ||
+                                pTmpObj->VMS_FORM_OBJECT_TYPE_CD == 104)
                             {
                                 TCDSPark *pPark = NULL;
-                                if (CDSParkManager) CDSParkManager->FLists.Find(pTmpObj->VMS_IFSC_ID);    //주차장아이디로 주차장정보를 찾음
+                                if (CDSParkManager) {
+                                    pPark = CDSParkManager->FLists.Find(pTmpObj->VMS_IFSC_ID);    //주차장아이디로 주차장정보를 찾음
+                                }
                                 if (pPark && pPark->SUCCESS)
                                 {
                                     isParkingForm = true;

+ 120 - 82
SRC/VMSCommLib/CDS/CDSParkF.cpp

@@ -16,15 +16,10 @@
 //---------------------------------------------------------------------------
 TCDSPark::TCDSPark()
 {
-    WHOL_NPLS = 0;
-    GNRL_NPLS = 0;
-    LGVH_NPLS = 0;
-    HVVH_NPLS = 0;
-    EMVH_NPLS = 0;
-    HNDC_NPLS = 0;
-    WMON_NPLS = 0;
-    ELVH_NPLS = 0;
-    ETC_NPLS  = 0;
+    REG_PRK_CMPRT_CO    = 0;
+    RUN_PRK_CMPRT_CO    = 0;
+    PARKING_CGS_STTUS   = 9;
+    REMNDR_PRK_CMPRT_CO = 0;
 
     Init();
 }
@@ -38,20 +33,14 @@ void TCDSPark::Init()
 {
     SUCCESS = false;
 
-    TOTAL              = 0;
-    GNRL_RMND_PRZN_NUM = 0;
-    LGVH_RMND_PRZN_NUM = 0;
-    HVVH_RMND_PRZN_NUM = 0;
-    EMVH_RMND_PRZN_NUM = 0;
-    HNDC_RMND_PRZN_NUM = 0;
-    WMON_RMND_PRZN_NUM = 0;
-    ELVH_RMND_PRZN_NUM = 0;
-    ETC_RMND_PRZN_NUM  = 0;
-
-    CNGT_DESC = "-";
-    CNGT_LEVL = 0;
+    CMNC_STTS_CD = "CMS1";
+    PARKING_CGS_STTUS_DESC = "-";
+
+    PARKING_CGS_STTUS   = 9;
+    REMNDR_PRK_CMPRT_CO = 0;
 }
 //---------------------------------------------------------------------------
+#if 0
 void TCDSPark::CalcTotal()
 {
     if (!SUCCESS) return;
@@ -82,16 +71,86 @@ void TCDSPark::CalcTotal()
         CNGT_LEVL = 2;
     }
 }
+#endif
+//---------------------------------------------------------------------------
+void TCDSPark::CalcCgsSttus()
+{
+    if (!SUCCESS) {
+        PARKING_CGS_STTUS_DESC = "점검중";
+        PARKING_CGS_STTUS = 9;
+        return;
+    }
+
+    // 주차장 상태 코드 (0 : 여유 (점유 50% 미만), 1 : 보통 (점유 70% 미만), 2 : 혼잡 (점유 90% 미만), 3 : 만차 (점유 90% 초과))
+    switch(PARKING_CGS_STTUS)
+    {
+    case 0:  PARKING_CGS_STTUS_DESC = "여유"; break;
+    case 1:  PARKING_CGS_STTUS_DESC = "보통"; break;
+    case 2:  PARKING_CGS_STTUS_DESC = "혼잡"; break;
+    case 3:  PARKING_CGS_STTUS_DESC = "만차"; break;
+    default: PARKING_CGS_STTUS_DESC = "점검중";
+        SUCCESS = false;
+        break;
+    }
+
+}
 //---------------------------------------------------------------------------
 int TCDSPark::GetGradeColor()
 {
-    switch(CNGT_LEVL)
+    if (!SUCCESS) {
+        return 3;//황색(Yellow)
+    }
+
+    switch(PARKING_CGS_STTUS)
     {
-    case 1: return 2;//밝은녹색(Lime)
-    case 2: return 4;//주황색(Orange)
-    case 3: return 1;//적색(Red)
+    case 0:  return 2;//밝은녹색(Lime)
+    case 1:  return 2;//밝은녹색(Lime)
+    case 2:  return 3;//황색(Yellow)
+    case 3:  return 1;//적색(Red)
+    default: return grade_delay;;
+    }
+}
+//---------------------------------------------------------------------------
+AnsiString TCDSPark::GetParkName() {
+    return VMS_DSPL_NM;
+}
+//---------------------------------------------------------------------------
+AnsiString TCDSPark::GetCountText(AnsiString ATxt, int ACount) {
+    if (!SUCCESS) {
+        return "  ";
+    }
+
+    bool isSpace = false;
+    String sType = "";
+    if (ATxt.Pos(" ")) {
+        isSpace = true;
     }
-    return 3;
+    if (ATxt.Pos("대")) {
+        sType = "대";
+    }
+    if (ATxt.Pos("면")) {
+        sType = "면";
+    }
+
+    if (sType != "") {
+        if (isSpace) {
+            return AnsiString(ACount) + " " + sType;
+        }
+        return AnsiString(ACount) + sType;
+    }
+    return AnsiString(ACount);
+}
+//---------------------------------------------------------------------------
+AnsiString TCDSPark::GetRemainCo(AnsiString ATxt) {
+    return GetCountText(ATxt, REMNDR_PRK_CMPRT_CO);
+}
+//---------------------------------------------------------------------------
+AnsiString TCDSPark::GetTotalCo(AnsiString ATxt) {
+    return GetCountText(ATxt, REG_PRK_CMPRT_CO);
+}
+//---------------------------------------------------------------------------
+AnsiString TCDSPark::GetCgsSttus() {
+    return PARKING_CGS_STTUS_DESC;
 }
 //---------------------------------------------------------------------------
 
@@ -116,34 +175,18 @@ int TCDSParkManager::LoadFromDb(TADOConnection *ADbConn)
 
     DDBSTART;
 
-    sQry = "SELECT B.*,                                                                 \r\n"
-           "       A.WHOL_NPLS,                                                         \r\n"
-           "       A.GNRL_NPLS,                                                         \r\n"
-           "       A.LGVH_NPLS,                                                         \r\n"
-           "       A.HVVH_NPLS,                                                         \r\n"
-           "       A.EMVH_NPLS,                                                         \r\n"
-           "       A.HNDC_NPLS,                                                         \r\n"
-           "       A.WMON_NPLS,                                                         \r\n"
-           "       A.ELVH_NPLS,                                                         \r\n"
-           "       A.ETC_NPLS,                                                          \r\n"
-           "       A.CNGT_NPLS                                                          \r\n"
-           "  FROM TB_PRLT_CTLR    A,                                                   \r\n"
-           "       (SELECT PRLT_CTLR_NMBR,                                              \r\n"
-           "               SUM(GNRL_RMND_PRZN_NUM) AS GNRL_RMND_PRZN_NUM,               \r\n"
-           "               SUM(LGVH_RMND_PRZN_NUM) AS LGVH_RMND_PRZN_NUM,               \r\n"
-           "               SUM(HVVH_RMND_PRZN_NUM) AS HVVH_RMND_PRZN_NUM,               \r\n"
-           "               SUM(EMVH_RMND_PRZN_NUM) AS EMVH_RMND_PRZN_NUM,               \r\n"
-           "               SUM(HNDC_RMND_PRZN_NUM) AS HNDC_RMND_PRZN_NUM,               \r\n"
-           "               SUM(WMON_RMND_PRZN_NUM) AS WMON_RMND_PRZN_NUM,               \r\n"
-           "               SUM(ELVH_RMND_PRZN_NUM) AS ELVH_RMND_PRZN_NUM,               \r\n"
-           "               SUM(ETC_RMND_PRZN_NUM)  AS ETC_RMND_PRZN_NUM                 \r\n"
-           "          FROM TB_PRLT_RT_INFR                                              \r\n"
-           "         WHERE UPDT_DT >= TO_CHAR(SYSDATE - 10/1440, 'YYYYMMDDHH24MISS')    \r\n"
-           "         GROUP BY PRLT_CTLR_NMBR                                            \r\n"
-           "       ) B                                                                  \r\n"
-           " WHERE A.REAL_DATA_YN = 'Y'                                                 \r\n"
-           "   AND A.DEL_YN       = 'N'                                                 \r\n"
-           "   AND A.PRLT_CTLR_NMBR = B.PRLT_CTLR_NMBR                                  \r\n";
+    sQry = "SELECT A.PRK_PLCE_NMBR, A.PRK_PLCE_MANAGE_NO,                       \r\n"
+           "       A.PRK_PLCE_NM, A.VMS_DSPL_NM,                                \r\n"
+           "       NVL(B.CMNC_STTS_CD, 'CMS1')         AS CMNC_STTS_CD,         \r\n"
+           "       A.PRK_CMPRT_CO                      AS REG_PRK_CMPRT_CO,     \r\n"
+           "       NVL(C.PRK_CMPRT_CO, A.PRK_CMPRT_CO) AS RUN_PRK_CMPRT_CO,     \r\n"
+           "       NVL(C.PARKING_CGS_STTUS, 9)         AS PARKING_CGS_STTUS,    \r\n"
+           "       NVL(C.REMNDR_PRK_CMPRT_CO, 0)       AS REMNDR_PRK_CMPRT_CO   \r\n"
+           "  FROM TB_PRK_PLCE A, TB_PRK_PLCE_STTS B, TB_PRK_PLCE_RT C          \r\n"
+           " WHERE A.DEL_YN    = 'N'                                            \r\n"
+           "   AND A.PIS_TYPE != 'N'                                            \r\n"
+           "   AND A.PRK_PLCE_NMBR = B.PRK_PLCE_NMBR(+)                         \r\n"
+           "   AND A.PRK_PLCE_NMBR = C.PRK_PLCE_NMBR(+)                         \r\n";
 
     try
     {
@@ -163,39 +206,34 @@ int TCDSParkManager::LoadFromDb(TADOConnection *ADbConn)
 			SQLOpen(pADO);
             for( ; !pADO->Eof; pADO->Next())
             {
-                AnsiString PRLT_CTLR_NMBR = pADO->FieldByName("PRLT_CTLR_NMBR")->AsString;
-
-				pObj = FLists.Find(PRLT_CTLR_NMBR);
+                AnsiString PRK_PLCE_NMBR = pADO->FieldByName("PRK_PLCE_NMBR")->AsString;
+				pObj = FLists.Find(PRK_PLCE_NMBR);
                 if (!pObj)
                 {
                     pObj = new TCDSPark();
-                    pObj->PRLT_CTLR_NMBR = PRLT_CTLR_NMBR;
-                    FLists.Push(pObj->PRLT_CTLR_NMBR, pObj);
+                    pObj->PRK_PLCE_NMBR = PRK_PLCE_NMBR;
+                    pObj->PRK_PLCE_MANAGE_NO = pADO->FieldByName("PRK_PLCE_MANAGE_NO")->AsString;
+                    FLists.Push(PRK_PLCE_NMBR, pObj);
+                }
+
+                pObj->PRK_PLCE_NM = pADO->FieldByName("PRK_PLCE_NM")->AsString;
+                pObj->VMS_DSPL_NM = pADO->FieldByName("VMS_DSPL_NM")->AsString;
+                pObj->CMNC_STTS_CD = pADO->FieldByName("CMNC_STTS_CD")->AsString;
+
+
+                pObj->REG_PRK_CMPRT_CO    = pADO->FieldByName("REG_PRK_CMPRT_CO")->AsInteger;
+                pObj->RUN_PRK_CMPRT_CO    = pADO->FieldByName("RUN_PRK_CMPRT_CO")->AsInteger;
+                pObj->PARKING_CGS_STTUS   = pADO->FieldByName("PARKING_CGS_STTUS")->AsInteger;
+                pObj->REMNDR_PRK_CMPRT_CO = pADO->FieldByName("REMNDR_PRK_CMPRT_CO")->AsInteger;
+
+                if (pObj->VMS_DSPL_NM == "") {
+                    pObj->VMS_DSPL_NM = pObj->PRK_PLCE_NM;
+                }
+                if (pObj->CMNC_STTS_CD == "CMS0") {
+                    pObj->SUCCESS = true;
                 }
 
-                pObj->GNRL_RMND_PRZN_NUM = pADO->FieldByName("GNRL_RMND_PRZN_NUM")->AsInteger;
-                pObj->LGVH_RMND_PRZN_NUM = pADO->FieldByName("LGVH_RMND_PRZN_NUM")->AsInteger;
-                pObj->HVVH_RMND_PRZN_NUM = pADO->FieldByName("HVVH_RMND_PRZN_NUM")->AsInteger;
-                pObj->EMVH_RMND_PRZN_NUM = pADO->FieldByName("EMVH_RMND_PRZN_NUM")->AsInteger;
-                pObj->HNDC_RMND_PRZN_NUM = pADO->FieldByName("HNDC_RMND_PRZN_NUM")->AsInteger;
-                pObj->WMON_RMND_PRZN_NUM = pADO->FieldByName("WMON_RMND_PRZN_NUM")->AsInteger;
-                pObj->ELVH_RMND_PRZN_NUM = pADO->FieldByName("ELVH_RMND_PRZN_NUM")->AsInteger;
-                pObj->ETC_RMND_PRZN_NUM  = pADO->FieldByName("ETC_RMND_PRZN_NUM")->AsInteger;
-
-                pObj->WHOL_NPLS = pADO->FieldByName("WHOL_NPLS")->AsInteger;
-                pObj->GNRL_NPLS = pADO->FieldByName("GNRL_NPLS")->AsInteger;
-                pObj->LGVH_NPLS = pADO->FieldByName("LGVH_NPLS")->AsInteger;
-                pObj->HVVH_NPLS = pADO->FieldByName("HVVH_NPLS")->AsInteger;
-                pObj->EMVH_NPLS = pADO->FieldByName("EMVH_NPLS")->AsInteger;
-                pObj->HNDC_NPLS = pADO->FieldByName("HNDC_NPLS")->AsInteger;
-                pObj->WMON_NPLS = pADO->FieldByName("WMON_NPLS")->AsInteger;
-                pObj->ELVH_NPLS = pADO->FieldByName("ELVH_NPLS")->AsInteger;
-                pObj->ETC_NPLS  = pADO->FieldByName("ETC_NPLS")->AsInteger;
-                pObj->CNGT_NPLS = pADO->FieldByName("CNGT_NPLS")->AsInteger;
-
-                pObj->SUCCESS = true;
-
-                pObj->CalcTotal();
+                pObj->CalcCgsSttus();
 
                 nSelCnt++;
             }

+ 17 - 23
SRC/VMSCommLib/CDS/CDSParkF.h

@@ -26,34 +26,28 @@ public:
 public:
     bool       SUCCESS;
 
-	AnsiString PRLT_CTLR_NMBR;
-    AnsiString CNGT_DESC;
-    int        CNGT_LEVL;
+	AnsiString PRK_PLCE_NMBR;
+	AnsiString PRK_PLCE_MANAGE_NO;
+	AnsiString PRK_PLCE_NM;
+	AnsiString VMS_DSPL_NM;
+    AnsiString CMNC_STTS_CD;
 
-    int        WHOL_NPLS;
-    int        GNRL_NPLS;
-    int        LGVH_NPLS;
-    int        HVVH_NPLS;
-    int        EMVH_NPLS;
-    int        HNDC_NPLS;
-    int        WMON_NPLS;
-    int        ELVH_NPLS;
-    int        ETC_NPLS;
-    int        CNGT_NPLS;
+    AnsiString PARKING_CGS_STTUS_DESC;
 
-    int        TOTAL;
-    int        GNRL_RMND_PRZN_NUM;  //	N	NUMBER(3)	Y	0		일반 잔여 주차구역 개수
-    int        LGVH_RMND_PRZN_NUM;  //	N	NUMBER(3)	Y	0		경차 잔여 주차구역 개수
-    int        HVVH_RMND_PRZN_NUM;  //	N	NUMBER(3)	Y	0		대형 잔여 주차구역 개수
-    int        EMVH_RMND_PRZN_NUM;  //	N	NUMBER(3)	Y	0		긴급차량 잔여 주차구역 개수
-    int        HNDC_RMND_PRZN_NUM;  //	N	NUMBER(3)	Y	0		장애인 잔여 주차구역 개수
-    int        WMON_RMND_PRZN_NUM;  //	N	NUMBER(3)	Y	0		여성전용 잔여 주차구역 개수
-    int        ELVH_RMND_PRZN_NUM;  //	N	NUMBER(3)	Y	0		전기차 잔여 주차구역 개수
-    int        ETC_RMND_PRZN_NUM;   //	N	NUMBER(3)	Y	0		기타 잔여 주차구역 개수
+    int        REG_PRK_CMPRT_CO;
+    int        RUN_PRK_CMPRT_CO;
+
+    int        PARKING_CGS_STTUS;
+    int        REMNDR_PRK_CMPRT_CO;
 
     void Init();
-    void CalcTotal();
+    void CalcCgsSttus();
     int GetGradeColor();
+    AnsiString GetParkName();
+    AnsiString GetCountText(AnsiString ATxt, int ACount);
+    AnsiString GetRemainCo(AnsiString ATxt);
+    AnsiString GetTotalCo(AnsiString ATxt);
+    AnsiString GetCgsSttus();
 };
 //---------------------------------------------------------------------------
 

+ 28 - 30
SRC/VMSCommLib/MAIN/MainCommF.cpp

@@ -573,9 +573,9 @@ MINFO("MAIN MakeVmsProvideForm: Start");
                         ChangePosition(pVmsObj);
                     }
                     else
-                    if (pVmsObj->ObjectType == 101 ||   //재난안전문자 1열
-                        pVmsObj->ObjectType == 102 ||   //재난안전문자 2열
-                        pVmsObj->ObjectType == 103      //재난안전문자 3열 ==> 포항은 3단 문자열이 없음
+                    if (pVmsObj->ObjectType == 501 ||   //재난안전문자 1열
+                        pVmsObj->ObjectType == 502 ||   //재난안전문자 2열
+                        pVmsObj->ObjectType == 503      //재난안전문자 3열 ==> 포항은 3단 문자열이 없음
                        )
                     {
                         VMS_SAFE_DETL *pEvt = pSchUnit->SAFE;
@@ -583,13 +583,13 @@ MINFO("MAIN MakeVmsProvideForm: Start");
                         {
                             switch(pVmsObj->ObjectType)
                             {
-                            case 101: //재난안전문자 1열
+                            case 501: //재난안전문자 1열
                                 pVmsObj->TextData = pEvt->MSG_LN_1;
                                 break;
-                            case 102: //재난안전문자 2열
+                            case 502: //재난안전문자 2열
                                 pVmsObj->TextData = pEvt->MSG_LN_2;
                                 break;
-                            case 103: //재난안전문자 3열
+                            case 503: //재난안전문자 3열
                                 pVmsObj->TextData = pEvt->MSG_LN_3;
                                 break;
                             }
@@ -914,40 +914,38 @@ MINFO("MAIN MakeVmsProvideForm: Start");
                         ChangePosition(pVmsObj);
                     }
                     else
-                    if (pVmsObj->ObjectType == 501 || //@주차가능대수
-                        pVmsObj->ObjectType == 502 )  //@주차혼잡도
-
+                    if (pVmsObj->ObjectType == 101 || //@주차장명
+                        pVmsObj->ObjectType == 102 || //@주차면수
+                        pVmsObj->ObjectType == 103 || //@주차가능면수
+                        pVmsObj->ObjectType == 104    //@주차혼잡도
+                        )
                     {
                         TCDSPark *pPark = NULL;
-                        if (CDSParkManager) CDSParkManager->FLists.Find(pCDSObj->VMS_IFSC_ID);
+                        if (CDSParkManager) {
+                            pPark = CDSParkManager->FLists.Find(pCDSObj->VMS_IFSC_ID);
+                        }
                         if (pPark)
                         {
                             AnsiString sFmt = pCDSObj->VMS_DSPL_TXT;
 
                             sFmt = StringReplace(sFmt, "@", "", TReplaceFlags() << rfReplaceAll);
 
-                            if (pVmsObj->ObjectType == 501)
-                            {
-                                if (sFmt.Pos("0"))
-                                {
-                                    sFmt = StringReplace(sFmt, "0000", "%4d", TReplaceFlags() << rfReplaceAll);
-                                    sFmt = StringReplace(sFmt, "000", "%3d", TReplaceFlags() << rfReplaceAll);
-                                    sFmt = StringReplace(sFmt, "00", "%2d", TReplaceFlags() << rfReplaceAll);
-                                    sFmt = StringReplace(sFmt, "0", "%d", TReplaceFlags() << rfReplaceAll);
-
-                                    pVmsObj->TextData.printf(sFmt.c_str(), pPark->TOTAL);
-                                }
-                                else
-                                {
-                                    pVmsObj->TextData = AnsiString(pPark->TOTAL);
-                                }
+                            switch(pVmsObj->ObjectType) {
+                            case 101:// || //@주차장명
+                                pVmsObj->TextData = pPark->GetParkName();
+                                break;
+                            case 102:// || //@주차면수
+                                pVmsObj->TextData = pPark->GetTotalCo(sFmt);
+                                //pVmsObj->TextFontColor = pPark->GetGradeColor();
+                                break;
+                            case 103:// || //@주차가능면수
+                                pVmsObj->TextData = pPark->GetRemainCo(sFmt);
                                 pVmsObj->TextFontColor = pPark->GetGradeColor();
-                            }
-                            else
-                            if (pVmsObj->ObjectType == 502)
-                            {
-                                pVmsObj->TextData = pPark->CNGT_DESC;
+                                break;
+                            case 104://    //@주차혼잡도
+                                pVmsObj->TextData = pPark->GetCgsSttus();
                                 pVmsObj->TextFontColor = pPark->GetGradeColor();
+                                break;
                             }
                         }
                         else