123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Text;
- using System.Windows.Forms;
- using System.Collections;
- namespace FPER
- {
- public partial class frmModalDeviceList : Form
- {
- // cyim 2016.12.07 : 수신기 모델별 내부 로직 변경
- public MDIParent mdi = null;
- public frmModalDeviceList(MDIParent pMDI)
- {
- InitializeComponent();
- mdi = pMDI;
- }
- //입력값을 받고, 넘기기위한 VO
- private InputIDVo inputVo;
- public InputIDVo InputVo { get { return this.inputVo; } set { this.inputVo = value; } }
- //코드선택값 넘기는 VO
- private SearchCodeVo searchCode;
- public SearchCodeVo SearchCode { get { return this.searchCode; } set { this.searchCode = value; } }
- private int CommID = 1;
- private void frmModalDeviceList_Load(object sender, EventArgs e)
- {
- try
- {
- txtReceiverId.Text = String.Format("{0:00}", inputVo.ReceiverID);
- //cboBoardId 에 item넣기-통신보드ID
- DacBoardConfig dacBoardConfig = new DacBoardConfig(inputVo.ReceiverID); // cyim 2015.7.30 데이타베이스 접속 루틴 변경
- ArrayList ary = dacBoardConfig.Board_ListALL(inputVo.ReceiverID);
- Util.ComboSetting(cboBoardId, ary, null);
- //cboIOBoardID에 item넣기-IO보드
- DacIOBoardConfig dacIOBoardConfig = new DacIOBoardConfig(inputVo.ReceiverID);// cyim 2015.7.30 데이타베이스 접속 루틴 변경
- ArrayList ary1 = dacIOBoardConfig.Board_ListALL(mdi);
- Util.ComboSetting(cboIOBoardID, ary1, null);
- this.CommID = inputVo.CommID;
- if (this.CommID != 1 && this.CommID != 3) this.CommID = 1;
- if (this.CommID == 1) tabControl1.SelectedIndex = 0;
- else if (this.CommID == 3) tabControl1.SelectedIndex = 1;
- dataGridView1.Rows.Clear();
- if (searchCode.CodeName != null)
- {
- if (searchCode.CodeName.Length < 1) searchCode.CodeName = null;
- }
- txtSearchKey.Text = searchCode.CodeName;
- get_Data(null);
- }
- catch (Exception ex)
- {
- Util.UErrorMessage(ex, 0, 0);
- }
- }
- private void btnOK_Click(object sender, EventArgs e)
- {
- try
- {
- String searchKey = txtSearchKey.Text;
- //if (searchKey.Length < 1)
- //{
- // MessageBox.Show("먼저 검색할 단어를 입력하세요.", Application.ProductName);
- // return;
- //}
- if (tabControl1.SelectedIndex == 0) this.CommID = 1; else this.CommID = 3;
- if (searchKey.Equals("")) searchKey = null;
- get_Data(searchKey);
- }
- catch (Exception ex)
- {
- Util.UErrorMessage(ex, 0, 0);
- }
- }
- private void get_Data(String SearchKey)
- {
- dataGridView1.Rows.Clear();
- try
- {
- if (searchCode != null)
- {
- //통신보드
- if (this.CommID == 1)
- {
- String selectedValue1 = cboBoardId.SelectedValue.ToString();
- String selectedValue2 = cboLoopNo.SelectedValue.ToString();
- String selectedValue3 = cboRepeaterId.SelectedValue.ToString();
- int BoardId = Util.StrToInt(selectedValue1, -1);
- int LoopNo = Util.StrToInt(selectedValue2, -1);
- int RepeaterId = Util.StrToInt(selectedValue3, -1);
- DacDeviceConfig dacDeviceConfig = new DacDeviceConfig(this.inputVo.ReceiverID);// cyim 2015.7.30 데이타베이스 접속 루틴 변경
- DataTable dtable = dacDeviceConfig.Device_Modal_Select(this.inputVo.ReceiverID, BoardId, LoopNo, RepeaterId, -1
- , this.inputVo.InoutType, SearchKey);
- if (dtable.Rows.Count > 0)
- {
- foreach (DataRow dr in dtable.Rows)
- {
- //MI-##-#-###-# :M(구분 M-중계기,I-입력그룹)I,O(회로구분)-##(보드ID)-##(회로ID)
- //String dev_id = dr["DEVICE_ID"].ToString();
- MskDeviceIDString dev_s = new MskDeviceIDString(int.Parse(dr["COMM_ID"].ToString())
- , int.Parse(dr["BOARD_ID"].ToString())
- , int.Parse(dr["LOOP_NO"].ToString())
- , int.Parse(dr["REPEATER_ID"].ToString())
- , int.Parse(dr["DEVICE_ID"].ToString())
- , dr["INOUT_TYPE"].ToString());
- dataGridView1.Rows.Add(dev_s.MskId
- , string.Format("{0}-{1}", dr["DEVICE_TYPE"].ToString(), dr["DEVICE_TYPE_NAME"].ToString())
- , string.Format("{0}-{1}", dr["POSITION_CODE"].ToString(), dr["POSITION_NAME"].ToString())
- , dr["DEVICE_NAME"].ToString());
- }
- }
- }
- //IO보드
- else
- {
- //cboIOBoardID
- String selectedValue1 = cboIOBoardID.SelectedValue.ToString();
- int BoardId = Util.StrToInt(selectedValue1, -1);
- DacIODeviceConfig dacIODeviceConfig = new DacIODeviceConfig(this.inputVo.ReceiverID);// cyim 2015.7.30 데이타베이스 접속 루틴 변경
- DataTable dtable = dacIODeviceConfig.Device_Modal_Select(this.inputVo.ReceiverID, BoardId, -1
- , this.inputVo.InoutType, SearchKey);
- if (dtable.Rows.Count > 0)
- {
- foreach (DataRow dr in dtable.Rows)
- {
- //MI-##-#-###-# :M(구분 M-중계기,I-입력그룹)I,O(회로구분)-##(보드ID)-##(회로ID)
- int board_id = int.Parse(dr["BOARD_ID"].ToString());
- // cyim 2016.10.24 : 통신보드 15번 -> 0번카드로 대체
- //15번 보드는 기본보드로 선택불가
- // cyim 2016.12.07 : 수신기 모델별 내부 로직 변경
- int i;
- if (mdi.ReceiverModel == "IFC3300")
- i = 0;
- else
- i = 15;
- if (board_id != i)
- {
- MskDeviceIDString dev_s = new MskDeviceIDString(int.Parse(dr["COMM_ID"].ToString())
- , int.Parse(dr["BOARD_ID"].ToString())
- , int.Parse(dr["LOOP_NO"].ToString())
- , int.Parse(dr["REPEATER_ID"].ToString())
- , int.Parse(dr["DEVICE_ID"].ToString())
- , dr["INOUT_TYPE"].ToString());
- dataGridView1.Rows.Add(dev_s.MskId
- , string.Format("{0}-{1}", dr["DEVICE_TYPE"].ToString(), dr["DEVICE_TYPE_NAME"].ToString())
- , string.Format("{0}-{1}", dr["POSITION_CODE"].ToString(), dr["POSITION_NAME"].ToString())
- , dr["DEVICE_NAME"].ToString());
- }
- }
- }
- }
- }
- }
- catch (Exception ex)
- {
- Util.UErrorMessage(ex, 0, 0);
- //MessageBox.Show(ex.Message, Application.ProductName);
- //MessageBox.Show(string.Format("[{0}]\r\n{1}", ex.Message, ex.StackTrace), Application.ProductName);
- }
- }
- private void btnCancel_Click(object sender, EventArgs e)
- {
- try
- {
- this.Close();
- }
- catch (Exception ex)
- {
- Util.UErrorMessage(ex, 0, 0);
- }
- }
- private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
- {
- try
- {
- int sCommID = 1;
- if (tabControl1.SelectedIndex == 0) sCommID = 1; else sCommID = 3;
- if (sCommID != this.CommID) btnOK_Click(btnOK, EventArgs.Empty);
- }
- catch (Exception ex)
- {
- Util.UErrorMessage(ex, 0, 0);
- }
- }
- private void btnSaveOK_Click(object sender, EventArgs e)
- {
- try
- {
- if (dataGridView1.SelectedRows.Count > 0)
- {
- InputIDVo[] selectVo = new InputIDVo[dataGridView1.SelectedRows.Count];
- int rowindx = 0;
- foreach (DataGridViewRow row in dataGridView1.SelectedRows)
- {
- //DataGridViewRow row = dataGridView1.SelectedRows[0];
- selectVo[rowindx] = new InputIDVo();
- string dev_id_str = row.Cells[0].Value.ToString();
- MskDeviceIDString dev_s = new MskDeviceIDString(dev_id_str);
- selectVo[rowindx].ReceiverID = Util.StrToInt(txtReceiverId.Text, 0);
- selectVo[rowindx].CommID = dev_s.Comm_id;
- selectVo[rowindx].BoardID = dev_s.Board_id;
- selectVo[rowindx].LoopNo = dev_s.Loop_no;
- selectVo[rowindx].RepeaterID = dev_s.Repeater_id;
- selectVo[rowindx].DeviceID = dev_s.Device_id;
- selectVo[rowindx].InoutType = dev_s.Inout_type;
- rowindx++;
- }
- this.searchCode.SelectObject = selectVo;
- this.searchCode.SearchOK = true;
- this.Close();
- }
- else
- {
- MessageBox.Show("선택된 코드가 없습니다.", Application.ProductName);
- return;
- }
- }
- catch (Exception ex)
- {
- Util.UErrorMessage(ex, 0, 0);
- }
- }
- private void cboBoardId_SelectedIndexChanged(object sender, EventArgs e)
- {
- try
- {
- String selectedValue = cboBoardId.SelectedValue.ToString();
- int BoardId = Util.StrToInt(selectedValue, -1);
- //cboBoardId 에 item넣기-LoopNo
- DacBoardConfig dacBoardConfig = new DacBoardConfig(this.inputVo.ReceiverID);// cyim 2015.7.30 데이타베이스 접속 루틴 변경
- ArrayList ary = dacBoardConfig.Loop_ListALL(this.inputVo.ReceiverID, BoardId);
- Util.ComboSetting(cboLoopNo, ary, null);
- }
- catch (Exception ex)
- {
- Util.UErrorMessage(ex, 0, 0);
- }
- }
- private void cboLoopNo_SelectedIndexChanged(object sender, EventArgs e)
- {
- try
- {
- String selectedValue1 = cboBoardId.SelectedValue.ToString();
- String selectedValue2 = cboLoopNo.SelectedValue.ToString();
- int BoardId = Util.StrToInt(selectedValue1, -1);
- int LoopNo = Util.StrToInt(selectedValue2, -1);
- //cboBoardId 에 item넣기-LoopNo
- DacRepeaterConfig dacRepeaterConfig = new DacRepeaterConfig(this.inputVo.ReceiverID);// cyim 2015.7.30 데이타베이스 접속 루틴 변경
- ArrayList ary = dacRepeaterConfig.Repeater_ListALL(this.inputVo.ReceiverID, BoardId, LoopNo);
- Util.ComboSetting(cboRepeaterId, ary, null);
- }
- catch (Exception ex)
- {
- Util.UErrorMessage(ex, 0, 0);
- }
- }
- }
- }
|