| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283 | using System;using System.Collections.Generic;using System.Text;using FirebirdSql.Data.FirebirdClient;using System.Data;using System.Collections;namespace IControls_FireManager{       /*******************************************************************************************   * TB_BOARD(키패드) 설정 관련 Dac   *******************************************************************************************/  public class DacKeypadConfig: DacBase    {        public DacKeypadConfig()        {          //try {          //  base.Connect();          //}          //catch (Exception ex) {          //  Util.UErrorMessage(ex, 0, 0);          //}        }        ~DacKeypadConfig()        {          //try {          //  base.DisConnect();          //}          //catch (Exception ex) {          //  Util.UErrorMessage(ex, 0, 0);          //}        }        // cyim 2016.09.21 : TB_BOARD 에 루프 0~3 저장 하도록 한다        public DataTable Keypad_Select(int RECEIVER_ID,  String UseFlag)        {            DataTable dt = null;            try            {                String SQL = "";                SQL += "SELECT BOARD_ID,BOARD_NAME,LOOP0_USE_FLAG,LOOP1_USE_FLAG,LOOP2_USE_FLAG,LOOP3_USE_FLAG,USE_FLAG";                SQL += " ,MAIN_VERSION,SUB_VERSION,BAUD_RATE,LOOP0_BAUD_RATE,LOOP1_BAUD_RATE,LOOP2_BAUD_RATE,LOOP3_BAUD_RATE";                SQL += " ,LOOP0_CUT_FLAG,LOOP1_CUT_FLAG,LOOP2_CUT_FLAG,LOOP3_CUT_FLAG ";                SQL += " FROM TB_BOARD WHERE RECEIVER_ID = {0} AND COMM_ID = 4 AND BOARD_ID = 1 ";                if (UseFlag != null) SQL += " AND USE_FLAG = '" + UseFlag + "'";                SQL += " ORDER BY BOARD_ID";                SQL = String.Format(SQL, RECEIVER_ID);                DataSet dao = Select(SQL);                dt = dao.Tables[0];            }            catch (Exception ex)            {              Util.UErrorMessage(ex,0,0);                throw ex;            }            return dt;        }        // cyim 2016.09.21 : TB_BOARD 에 루프 0~3 저장 하도록 한다        //public void Keypad_Update(QUERYMode cmd, int RECEIVER_ID, String BOARD_NAME, String USE_FLAG        //    , int BAUD_RATE, int MAIN_VERSION, int SUB_VERSION)        //{        //    try        //    {        //        DataTable dt = Keypad_Select(RECEIVER_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 = 'Y', LOOP1_USE_FLAG = 'N' ,LOOP2_USE_FLAG = 'N',LOOP3_USE_FLAG = 'N'";        //                SQL += ", BAUD_RATE = {2}, LOOP0_BAUD_RATE = 0";        //                SQL += ", LOOP1_BAUD_RATE = 0, LOOP2_BAUD_RATE = 0,LOOP3_BAUD_RATE = 0";        //                SQL += ", MAIN_VERSION = {3}, SUB_VERSION = {4}";        //                SQL += ", UPDATE_USER_ID = 'FPER', UPDATE_TIME = current_timestamp";        //                SQL += " WHERE RECEIVER_ID = {5} AND COMM_ID = 4 AND BOARD_ID = 1";        //                SQL = String.Format(SQL, BOARD_NAME, USE_FLAG, BAUD_RATE, MAIN_VERSION, SUB_VERSION , RECEIVER_ID);        //            }        //            else        //            {        //                SQL = "INSERT INTO TB_BOARD ( ";        //                SQL += " RECEIVER_ID,COMM_ID,BOARD_ID,BOARD_NAME,LOOP0_USE_FLAG,LOOP1_USE_FLAG,LOOP2_USE_FLAG,LOOP3_USE_FLAG";        //                SQL += ",BAUD_RATE,LOOP0_BAUD_RATE,LOOP1_BAUD_RATE,LOOP2_BAUD_RATE,LOOP3_BAUD_RATE,MAIN_VERSION,SUB_VERSION";        //                SQL += ",USE_FLAG,UPDATE_USER_ID,UPDATE_TIME";        //                SQL += ") VALUES ({0},4,1,'{1}','Y','N','N','N',{2},0,0,0,0,{3},{4},'{5}','FPER',current_timestamp)";        //                SQL = String.Format(SQL, RECEIVER_ID, BOARD_NAME, 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 = 4 AND BOARD_ID = 1";        //            SQL = String.Format(SQL, RECEIVER_ID);        //            ExecuteNonQuery(SQL);        //        }        //    }        //    catch (Exception ex)        //    {        //      Util.UErrorMessage(ex,0,0);        //        throw ex;        //    }        //}        //회로조회        public DataTable Device_Select(int RECEIVER_ID, int BOARD_ID, int DEVICE_ID, String INOUT_TYPE)        {            DataTable dt = null;            try            {                String SQL = "";                //CREATE TABLE TB_DEVICE (                //    RECEIVER_ID              INTEGER NOT NULL,     /* RECEIVER ID (1 - 32)  */                //    COMM_ID                  INTEGER NOT NULL,     /* COMM ID (1 - 4)       */                //    BOARD_ID                 INTEGER NOT NULL,     /* BOARD ID (1 - 16)     */                //    LOOP_NO                  INTEGER NOT NULL,     /* LOOP NO. (0 - 1)      */                //    REPEATER_ID              INTEGER NOT NULL,     /* REPEATER ID (1 - 126) */                //    DEVICE_ID                INTEGER NOT NULL,     /* DEVICE ID (1 - 16)    */                //    DEVICE_NAME              VARCHAR(40),          /* DEVICE NAME           */                //    DEVICE_TYPE              VARCHAR(2),           /* DEVICE TYPE           */                //    UPDATE_USER_ID           VARCHAR(10),          /* UPDATE USER ID        */                //    UPDATE_TIME              TIMESTAMP,            /* UPDATE TIME           */                //    CONSTRAINT PK_TB_DEVICE PRIMARY KEY (RECEIVER_ID,COMM_ID,BOARD_ID,LOOP_NO,REPEATER_ID,DEVICE_ID)                //);                if (DEVICE_ID == 0)                {                    SQL += "SELECT a.DEVICE_ID,a.DEVICE_NAME,a.DEVICE_TYPE,a.INOUT_TYPE,a.CUT_FLAG";                    SQL += " ,b.DEVICE_TYPE_NAME,a.BOARD_ID,a.POSITION_CODE,c.POSITION_NAME";                    SQL += " FROM TB_DEVICE a";                    SQL += " LEFT OUTER JOIN TB_DEVICE_TYPE b ON a.DEVICE_TYPE = b.DEVICE_TYPE";                    SQL += " LEFT OUTER JOIN TB_POSITION_CODE  c ON a.POSITION_CODE = c.POSITION_CODE";                    SQL += " WHERE a.RECEIVER_ID = {0} AND a.COMM_ID = 4 AND  a.BOARD_ID = {1} AND  a.LOOP_NO = 0  AND  a.REPEATER_ID = 0";                    SQL += " ORDER BY a.DEVICE_ID";                    SQL = String.Format(SQL, RECEIVER_ID, BOARD_ID);                }                else                {                    SQL += "SELECT a.DEVICE_ID,a.DEVICE_NAME,a.DEVICE_TYPE,a.INOUT_TYPE,a.CUT_FLAG";                    SQL += " ,b.DEVICE_TYPE_NAME,a.BOARD_ID,a.POSITION_CODE,c.POSITION_NAME";                    SQL += " FROM TB_DEVICE a";                    SQL += " LEFT OUTER JOIN TB_DEVICE_TYPE b ON a.DEVICE_TYPE = b.DEVICE_TYPE";                    SQL += " LEFT OUTER JOIN TB_POSITION_CODE  c ON a.POSITION_CODE = c.POSITION_CODE";                    SQL += " WHERE a.RECEIVER_ID = {0} AND a.COMM_ID = 4 AND  a.BOARD_ID = {1} AND  a.LOOP_NO = 0  AND  a.REPEATER_ID = 0";                    SQL += " AND a.DEVICE_ID = {2} AND a.INOUT_TYPE = '{3}'";                    SQL = String.Format(SQL, RECEIVER_ID, BOARD_ID, DEVICE_ID, INOUT_TYPE);                }                DataSet dao = Select(SQL);                dt = dao.Tables[0];            }            catch (Exception ex)            {              Util.UErrorMessage(ex,0,0);                throw ex;            }            return dt;        }        //회로설정값 저장        public void Device_Update(QUERYMode cmd, int RECEIVER_ID, int BOARD_ID, int DEVICE_ID, String INOUT_TYPE            , String DEVICE_NAME, String DEVICE_TYPE, String POSITION_CODE)        {            try            {                if (cmd == QUERYMode.insert || cmd == QUERYMode.update || cmd == QUERYMode.InsertAndUpdate)                {                    if (DEVICE_ID < 1) return;                    String SQL = "";                    DataTable dt = Device_Select(RECEIVER_ID, BOARD_ID, DEVICE_ID, INOUT_TYPE);                    if (dt.Rows.Count > 0)                    {                        SQL = "UPDATE TB_DEVICE SET  DEVICE_NAME = '{0}'";                        SQL += ", DEVICE_TYPE = '{1}', POSITION_CODE = '{2}' ";                        SQL += ", UPDATE_USER_ID = 'FPER', UPDATE_TIME = current_timestamp";                        SQL += " WHERE RECEIVER_ID = {3} AND COMM_ID = 4 AND BOARD_ID = {4} ";                        SQL += " AND DEVICE_ID = {5} AND INOUT_TYPE = '{6}'";                        SQL = String.Format(SQL, DEVICE_NAME, DEVICE_TYPE, POSITION_CODE, RECEIVER_ID, BOARD_ID, DEVICE_ID, INOUT_TYPE);                    }                    else                    {                        SQL = "INSERT INTO TB_DEVICE ( ";                        SQL += " RECEIVER_ID,COMM_ID,BOARD_ID,LOOP_NO,REPEATER_ID,DEVICE_ID,INOUT_TYPE,DEVICE_NAME";                        SQL += ",DEVICE_TYPE,POSITION_CODE,UPDATE_USER_ID,UPDATE_TIME";                        SQL += ") VALUES ({0},4,{1},0,0,{2},'{3}','{4}','{5}','{6}','FPER',current_timestamp)";                        SQL = String.Format(SQL, RECEIVER_ID, BOARD_ID, DEVICE_ID, INOUT_TYPE, DEVICE_NAME, DEVICE_TYPE, POSITION_CODE);                    }                    ExecuteNonQuery(SQL);                }                else if (cmd == QUERYMode.delete)                {                    String SQL = "";                    if (DEVICE_ID < 1)                    {                        SQL = "DELETE FROM TB_DEVICE WHERE RECEIVER_ID = {0} AND COMM_ID = 4 AND BOARD_ID = {1} AND LOOP_NO = 0 AND REPEATER_ID = 0";                        SQL = String.Format(SQL, RECEIVER_ID, BOARD_ID);                    }                    else                    {                        SQL = "DELETE FROM TB_DEVICE WHERE RECEIVER_ID = {0} AND COMM_ID = 4 AND BOARD_ID = {1} AND LOOP_NO = 0 AND REPEATER_ID = 0";                        SQL += " AND DEVICE_ID = {2} AND INOUT_TYPE = '{3}'";                        SQL = String.Format(SQL, RECEIVER_ID, BOARD_ID, DEVICE_ID, INOUT_TYPE);                    }                    ExecuteNonQuery(SQL);                }            }            catch (Exception ex)            {              Util.UErrorMessage(ex,0,0);                throw ex;            }        }    }}
 |