using System; using System.Collections; using System.Linq; using System.Text; using System.Windows.Forms; using System.Collections.Generic; using System.Data; namespace IControls_ExcelVerify { // 사용자가 지정한 클래스는 모두 여기에서 정의 (static 클래스와 일반 클래스가 혼용되어 있으므로 사용에 주의 요망) // 엑셀 문서 타입 public enum EXCEL_DOC_TYPE { Xls, Xlsx, Not } // 엑셀 읽는 경우 사용되는 포인트 타입 public enum POINT_TYPE { REPEATER_2_2, REPEATER_4_4, I, O, ANALOG_SMOKE, ANALOG_HEAT } /* 'I' : 입력,'O' : 출력 */ public struct code_InOutType { public const String Input = "I"; public const String Output = "O"; } /// /// 엑셀연동 한 후 데이타를 토대로 생성된 위치 정보 클래스 (데이타베이스 연동용) /// public class _Code_Position { // 6자리 숫자코드 public string Code_Position_ID; public string Code_Emergency_ID; // 아이디에 따른 명칭 public string Code_Position_NAME; // 실제 사용여부 (기본코드대로 생성되다가 실제로 사용하는 코드만 남도록 해야한다) public bool Enable; } public class _Code_Device_Type { // 디바이스 타입 public string DEVICE_TYPE; // 디바이스 타입명 public string DEVICE_TYPE_NAME; // 심볼타입 public string SYMBOL_TYPE; // 시퀀스 public string SEQ_NO; // 사용여부 public string USE_FLAG; } public class _Code_IO_Board { // 이름 public string IOBOARD_NAME; // Com Port public string IOBOARD_COM_PORT; // Board ID public string IOBOARD_BOARD_ID; // Loop No public string IOBOARD_LOOP_NO; // 중계기 public string IOBOARD_REPEATER_ID; // 디바이스 public string IOBOARD_DEVICE_ID; // I or O public string IOBOARD_INOUT; // 추가중계기 여부 Y or N public string IOBOARD_ADDREPEATER_YN; // 추가중계기 Type None 혹은 4*4 -> 2 2*2 -> 1 public string IOBOARD_ADDREPEATER_TYPE; } public class _Code_Event_Type { // 이벤트 타입 public string EVENT_TYPE; // 이벤트 타입명 public string EVENT_TYPE_NAME; } /// /// 엑셀연동 시에 읽기를 위한 정보 클래스 (엑셀 읽기용) /// // 읽은 정보 값 : 각 시트별의 중계기 및 포인트의 위치 정보 public class _Excel_Position { // 건물명 public string Building; // 계단 public string Stair; // 층 public string Floor; } // 읽은 정보 값 : 시트값 (시트별로 생성) public class _Excel_Sheet { // 시트명 public string Sheet_Name; // 통신보드 아이디 // EXCEL : ID public string BOARD_ID; // 계통 // EXCEL : 계통 public string LOOP_NO; // 중계기 총개수 public int Repeater_Count; // 중계기 (중계기 클래스 집합) public ArrayList List_Repeater = new ArrayList(); } // 읽은 정보 값 : 중계기 public class _Excel_Repeater { // 타입 public POINT_TYPE TYPE; // 명칭 public string NAME; // 중계기 아이디 public string REPEATER_ID; // 위치정보 public _Excel_Position Excel_Position = new _Excel_Position(); // 입력 및 출력 (포인트 클래스 집합) public ArrayList List_Point = new ArrayList(); } // 엑셀 읽은 정보 값 : 포인트 (입력 및 출력) public class _Excel_Point { // 타입 public POINT_TYPE TYPE; // 명칭 public string NAME; // 디바이스 아이디 (중계기 포트 번호) public string PortNum; // 위치정보 public _Excel_Position Excel_Position = new _Excel_Position(); // 입력 및 출력 코드 public string Code_FullName; // ex : IA <일반화재입력> public string Code_Type; // ex : IA public string Code_Name; // ex : <일반화재입력> } // 엑셀 읽은 정보 값 : 그룹 public class _Excel_Group { public string Group_ID; public string Group_Name; } // 엑셀 읽은 정보 값 : 맵 public class _Excel_Map { public string Map_ID; public string Map_Name; public string Group_Number; public string Groups; public string InDevices; } // 레포트 출력 데이타 (연동그룹) public class _Report_OperGroup { public string Group_Header; // 동일한 그룹의 데이타를 구분하기 위함 public int Group_No; // 그룹 순번 public string Group_ID; // 그룹 아이디 public string Group_Name; // 그룹 이름 public int Detail_No; // 내용 순번 public string Detail_Circuit; // 내용 회로 번호 public string Detail_Type; // 내용 회로 종류 public string Detail_Location; // 내용 회로 위치 public string Detail_Name; // 내용 회로 이름 } // 레포트 출력 데이타 (연동설정) public class _Report_Operset { public string Group_Header; // 동일한 그룹의 데이타를 구분하기 위함 public int Group_No; // 그룹 순번 public string Group_ID; // 그룹 아이디 public string Group_Name; // 그룹 이름 public string Group_Header_Sub; public string Detail_IO; // 입출력 표시 public string Detail_Receiver; // 수신기 public string Detail_ID; // 아이디 public string Detail_Name; // 이름 public string Detail_Type; // 종류 public string Detail_Location; // 위치 } // 레포트 입력 데이타 (입력 및 출력 포인트) public class _ImportPoint { public DataRowCollection IN_Points = null; public DataRowCollection OUT_Points = null; } // // 엑티브레포트 전용 // // 컬럼 헤더 public class _Report_Column_Info { public string Column_Key; // 고유키 (DB 혹은 클래스 정보의 고유값) public string Column_Name; // 컬럼명 public float Column_Size; // 컬럼 사이즈 } }