123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- using FirebirdSql.Data.FirebirdClient;
- using System.Data;
- using System.Collections;
- namespace FPER
- {
- /*******************************************************************************************
- * TB_BOARD(IO보드) 설정 관련 Dac
- *******************************************************************************************/
- public class DacIOBoardConfig : DacBase
- {
- public DacIOBoardConfig(int ID)
- : base(ID)// cyim 2015.7.30 데이타베이스 접속 루틴 변경
- {
- //try {
- // base.Connect();
- //}
- //catch (Exception ex) {
- // Util.UErrorMessage(ex, 0, 0);
- //}
- }
- ~DacIOBoardConfig()
- {
- //try {
- // base.DisConnect();
- //}
- //catch (Exception ex) {
- // Util.UErrorMessage(ex, 0, 0);
- //}
- }
- public DataTable Board_Select(int RECEIVER_ID, int BOARD_ID, String UseFlag)
- {
- DataTable dt = null;
- try
- {
- String SQL = "";
- if (BOARD_ID == 0)
- {
- SQL += "SELECT BOARD_ID,BOARD_NAME,LOOP0_USE_FLAG,LOOP1_USE_FLAG,USE_FLAG";
- SQL += " ,MAIN_VERSION,SUB_VERSION,BAUD_RATE,LOOP0_BAUD_RATE,LOOP1_BAUD_RATE";
- SQL += " ,LOOP0_CUT_FLAG,LOOP1_CUT_FLAG,LOOP0_USE_FLAG,LOOP1_USE_FLAG ";
- SQL += " FROM TB_BOARD WHERE RECEIVER_ID = {0} AND COMM_ID = 3 ";
- if (UseFlag != null) SQL += " AND USE_FLAG = '" + UseFlag + "'";
- SQL += " ORDER BY BOARD_ID";
- SQL = String.Format(SQL, RECEIVER_ID);
- }
- else
- {
- SQL += "SELECT BOARD_ID,BOARD_NAME,LOOP0_USE_FLAG,LOOP1_USE_FLAG,USE_FLAG";
- SQL += " ,MAIN_VERSION,SUB_VERSION,BAUD_RATE,LOOP0_BAUD_RATE,LOOP1_BAUD_RATE";
- SQL += " ,LOOP0_CUT_FLAG,LOOP1_CUT_FLAG,LOOP0_USE_FLAG,LOOP1_USE_FLAG ";
- SQL += " FROM TB_BOARD WHERE RECEIVER_ID = {0} AND COMM_ID = 3 AND BOARD_ID = {1}";
- if (UseFlag != null) SQL += " AND USE_FLAG = '" + UseFlag + "'";
- SQL = String.Format(SQL, RECEIVER_ID, BOARD_ID);
- }
- DataSet dao = Select(SQL);
- dt = dao.Tables[0];
- }
- catch (Exception ex)
- {
- Util.UErrorMessage(ex, 0, 0);
- throw ex;
- }
- return dt;
- }
- // cyim 2016.12.07 : 수신기 모델별 내부 로직 변경
- //통신보드 ID 최고값 리턴
- public int BoardID_Max(MDIParent mdi)//int RECEIVER_ID)
- {
- int BoardId = 0;
- try
- {
- // cyim 2016.10.24 : 통신보드 15번 -> 0번카드로 대체
- //BOARD_ID:15은 기본 사용이므로 추가삭제 할 수 없다..
- String SQL =null;
- if (mdi.ReceiverModel == "IFC3300")
- {
- SQL = String.Format("SELECT MAX(BOARD_ID) FROM TB_BOARD WHERE RECEIVER_ID = {0} AND COMM_ID = 3 AND BOARD_ID <> 0", mdi.myReceiverID);
- }
- else
- {
- SQL = String.Format("SELECT MAX(BOARD_ID) FROM TB_BOARD WHERE RECEIVER_ID = {0} AND COMM_ID = 3 AND BOARD_ID <> 15", mdi.myReceiverID);
- }
- DataSet dao = Select(SQL);
- DataTable dt = dao.Tables[0];
- if (dt.Rows.Count > 0)
- {
- foreach (DataRow dr in dt.Rows)
- {
- if (!dr[0].ToString().Equals(""))
- BoardId = int.Parse(dr[0].ToString());
- }
- }
- }
- catch (Exception ex)
- {
- Util.UErrorMessage(ex, 0, 0);
- throw ex;
- }
- return ++BoardId;
- }
- public void Board_Update(QUERYMode cmd, int RECEIVER_ID, int BOARD_ID, String BOARD_NAME, String USE_FLAG
- , String LOOP0_USE_FLAG, String LOOP1_USE_FLAG, int BAUD_RATE, int LOOP0_BAUD_RATE, int LOOP1_BAUD_RATE
- , int MAIN_VERSION, int SUB_VERSION)
- {
- try
- {
- DataTable dt = Board_Select(RECEIVER_ID, BOARD_ID, null);
- if (cmd == QUERYMode.insert || cmd == QUERYMode.update || cmd == QUERYMode.InsertAndUpdate)
- {
- String SQL = "";
- if (dt.Rows.Count > 0)
- {
- SQL = "UPDATE TB_BOARD SET BOARD_NAME = '{0}'";
- SQL += ", USE_FLAG = '{1}'";
- SQL += ", LOOP0_USE_FLAG = '{2}', LOOP1_USE_FLAG = '{3}'";
- SQL += ", BAUD_RATE = {4}, LOOP0_BAUD_RATE = {5}";
- SQL += ", LOOP1_BAUD_RATE = {6}";
- SQL += ", MAIN_VERSION = {7}, SUB_VERSION = {8}";
- SQL += ", UPDATE_USER_ID = 'FPER', UPDATE_TIME = current_timestamp";
- SQL += " WHERE RECEIVER_ID = {9} AND COMM_ID = 3 AND BOARD_ID = {10}";
- SQL = String.Format(SQL, BOARD_NAME, USE_FLAG, LOOP0_USE_FLAG, LOOP1_USE_FLAG
- , BAUD_RATE, LOOP0_BAUD_RATE, LOOP1_BAUD_RATE, MAIN_VERSION, SUB_VERSION
- , RECEIVER_ID, BOARD_ID);
- }
- else
- {
- SQL = "INSERT INTO TB_BOARD ( ";
- SQL += " RECEIVER_ID,COMM_ID,BOARD_ID,BOARD_NAME,LOOP0_USE_FLAG,LOOP1_USE_FLAG";
- SQL += ",BAUD_RATE,LOOP0_BAUD_RATE,LOOP1_BAUD_RATE,MAIN_VERSION,SUB_VERSION";
- SQL += ",USE_FLAG,UPDATE_USER_ID,UPDATE_TIME";
- SQL += ") VALUES ({0},3,{1},'{2}','{3}','{4}',{5},{6},{7},{8},{9},'{10}','FPER',current_timestamp)";
- SQL = String.Format(SQL, RECEIVER_ID, BOARD_ID, BOARD_NAME, LOOP0_USE_FLAG, LOOP1_USE_FLAG
- , BAUD_RATE, LOOP0_BAUD_RATE, LOOP1_BAUD_RATE, MAIN_VERSION, SUB_VERSION
- , USE_FLAG);
- }
- ExecuteNonQuery(SQL);
- }
- else if (cmd == QUERYMode.delete)
- {
- if (dt.Rows.Count < 1)
- {
- throw new Exception("해당 자료를 찾을수 없습니다.");
- }
- String SQL = "UPDATE TB_BOARD SET USE_FLAG = 'N' ";
- SQL += ", UPDATE_USER_ID = 'FPER', UPDATE_TIME = current_timestamp";
- SQL += " WHERE RECEIVER_ID = {0} AND COMM_ID = 3 AND BOARD_ID = {1}";
- SQL = String.Format(SQL, RECEIVER_ID, BOARD_ID);
- ExecuteNonQuery(SQL);
- }
- }
- catch (Exception ex)
- {
- Util.UErrorMessage(ex, 0, 0);
- throw ex;
- }
- }
- //통신보드
- public ArrayList Board_List(int RECEIVER_ID)
- {
- ArrayList ary = null;
- try
- {
- DataTable dt = Board_Select(RECEIVER_ID, 0, "Y");
- if (dt.Rows.Count > 0)
- {
- ary = new ArrayList();
- foreach (DataRow dr in dt.Rows)
- {
- String BOARD_ID = Convert.ToString(dr["BOARD_ID"]);
- String BOARD_NAME = Convert.ToString(dr["BOARD_NAME"]);
- ary.Add(new cboitem(BOARD_ID, BOARD_NAME));
- }
- }
- }
- catch (Exception ex)
- {
- Util.UErrorMessage(ex, 0, 0);
- throw ex;
- }
- return ary;
- }
- // cyim 2016.12.07 : 수신기 모델별 내부 로직 변경
- //IO보드리스트 전체추가
- public ArrayList Board_ListALL(MDIParent mdi)//int RECEIVER_ID)
- {
- ArrayList ary = new ArrayList();
- ary.Add(new cboitem("-1", "전체"));
- try
- {
- DataTable dt = Board_Select(mdi.myReceiverID, 0, "Y");
- if (dt.Rows.Count > 0)
- {
- foreach (DataRow dr in dt.Rows)
- {
- int board_id = int.Parse(dr["BOARD_ID"].ToString());
- if (mdi.ReceiverModel == "IFC3300")
- {
- // cyim 2016.10.24 : 통신보드 15번 -> 0번카드로 대체
- if (board_id != 0)
- {
- String BOARD_ID = Convert.ToString(dr["BOARD_ID"]);
- String BOARD_NAME = Convert.ToString(dr["BOARD_NAME"]);
- ary.Add(new cboitem(BOARD_ID, BOARD_ID));
- }
- }
- else
- {
- if (board_id != 15)
- {
- String BOARD_ID = Convert.ToString(dr["BOARD_ID"]);
- String BOARD_NAME = Convert.ToString(dr["BOARD_NAME"]);
- ary.Add(new cboitem(BOARD_ID, BOARD_ID));
- }
- }
- }
- }
- }
- catch (Exception ex)
- {
- Util.UErrorMessage(ex, 0, 0);
- throw ex;
- }
- return ary;
- }
- }
- }
|