//---------------------------------------------------------------------------

#ifndef CDSIfsc_VMSFH
#define CDSIfsc_VMSFH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <stdio.h>
#include <ADODB.hpp>
#include <DB.hpp>
#include "ITSLibF.h"
#include "ITSDbF.h"
//---------------------------------------------------------------------------

class TIfsc
{
public:
    TIfsc();
    ~TIfsc();
public:
    String  IFSC_ID;	        //N	NUMBER(10)	    N			정보제공구간 ID
    String  IFSC_NM;	        //N	VARCHAR2(100)	Y			정보제공구간 명
    String  DRCT_CD;	        //N	VARCHAR2(7)	    Y			방향 코드
    String  STRT_NM;	        //N	VARCHAR2(100)	Y			시점 명
    String  END_NM;	            //N	VARCHAR2(100)	Y			종점 명
    int     SECT_LNGT;	        //N	NUMBER(5)	    Y	0		구간 길이
    String  EXTR_CNCT_SECT_YN;	//N	CHAR(1)	        Y	'N'		외부 연계 구간 여부
    String  DEL_YN;	            //N	CHAR(1)	        Y	'N'		삭제 여부
    String  RMRK;	            //N	VARCHAR2(600)	Y			비고
    String  F_NODE_ID;	        //N	NUMBER(10)	    Y			시작 노드 ID
    String  T_NODE_ID;	        //N	NUMBER(10)	    Y			종료 노드 ID
    String  SECT_GRAD_CD;	    //N	VARCHAR2(7)	    Y			구간 등급 코드
    String  AREA_CD;	        //N	VARCHAR2(7)	    Y			지역 코드

    String  PRCN_DT;	        //N	VARCHAR2(14)	Y			가공 일시
    int     TFVL;	            //N	NUMBER(6)	    Y	0		교통량
    int     SPED;	            //N	NUMBER(3)	    Y	0		속도
    int     PTRN_SPED;	        //N	NUMBER(3)	    Y	0		패턴 속도
    float   OCPY_RATE;	        //N	NUMBER(5,2)	    Y	0		점유 율
    int     TRVL_HH;	        //N	NUMBER(6)	    Y	0		통행 시간
    String  CMTR_GRAD_CD;	    //N	VARCHAR2(7)	    Y			소통 등급 코드
    int     DATA_NUM;	        //N	NUMBER(3)	    Y	0		데이터 개수

    bool   vertex;
    String X_CRDN_ARR;
    String Y_CRDN_ARR;

    void InitTraffic();
};
//---------------------------------------------------------------------------

class TIfscManager
{
public:
    TIfscManager();
    ~TIfscManager();

private:

public:

    TItsMap<String, TIfsc*> FLists;

public:
    void InitTraffic();

    bool LoadFromDb(TADOConnection *ADbConn=NULL);
    bool LoadVertexFromDb_gen(TADOConnection *ADbConn=NULL);
    bool LoadVertexFromDb(TADOConnection *ADbConn=NULL);
    bool LoadTraffic(TADOConnection *ADbConn=NULL);
};
//---------------------------------------------------------------------------
extern TIfscManager *IfscManager;
//---------------------------------------------------------------------------

#endif
