|
@@ -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++;
|
|
|
}
|