using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Diagnostics; // 2010.10.28, k.s.d, for debug funtion. namespace FPER { public partial class frmProgress : Form { private CmdInfo commandinfo; //¸í·ÉÁ¤º¸ private SocketUI socketUI; //¸í·É¹Þ´Â°÷ private Boolean complete = false; // ¿Ï·á¿©ºÎ private controlWriteDevType[] devTypes; //¿¬µ¿Å¸ÀÔÂ÷´ÜÀ»À§ÇØ private RepeaterDeviceTypeInfo[] repinfo; //Áß°è±â¼³Á¤Á¤º¸-¼³Á¤¾²±â¸¦ À§ÇØ private BoardTypeInfo[] brdinfos; //Åë½Åº¸µåÂ÷´Ü¸í·ÉÀ» À§ÇØ private ReceiverConfigVo configVoChg; //ȯ°æÁ¤º¸º¯°æ ¸í·ÉÀ» À§ÇØ --º¯°æµÈ µ¥ÀÌÅÍ private ReceiverConfigVo configVoMy; //ȯ°æÁ¤º¸º¯°æ ¸í·ÉÀ» À§ÇØ --¿ø·¡ µ¥ÀÌÅÍ private ReceiverTypeInfo configReceiverPoint; //Àüü ¼ö½Å±â µ¥ÀÌÅÍ bool configReceiverPointAllWrite = false; //Àüü¼ö½Å±â µ¥ÀÌÅÍ ¾²±â ¿©ºÎ public ReceiverConfigVo ConfigVoMy { set { this.configVoMy = value; } } public CmdInfo Commandinfo { get { return this.commandinfo; } set { this.commandinfo = value; } } public SocketUI ui { get { return this.socketUI; } set { this.socketUI = value; } } public int download_type = 0;// 2010.10.28, k.s.d, only one click device linkage change support value . // cyim 2016.12.07 : ¼ö½Å±â ¸ðµ¨º° ³»ºÎ ·ÎÁ÷ º¯°æ public MDIParent mdi = null; public frmProgress(MDIParent pMdi) { InitializeComponent(); mdi = pMdi; } private void frmProgress_Load(object sender, EventArgs e) { try { progressBar1.Value = 0; btnOK.Enabled = false; //¸í·Éº° ÀÛ¾÷ÁøÇà progress_Run(); } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); } } public void SetLinkageCut()// 2010.10.28, k.s.d, only one click device linkage change support . { try { this.Cursor = Cursors.WaitCursor; //lblDescription.Text = "¿¬µ¿Å¸ÀÔÂ÷´Ü¸í·É"; progressBar1.Maximum = 100; progressBar1.Value += 1; progressBar1.Refresh(); btnOK.Visible = false;//2010.10.29,k.s.d, ok button unvisible. lblDescription.Visible = false; // progressBar1.Visible = false; listView1.Visible = false; ProgressLabel.Visible = true; //À̺¥Æ®Á¤ÀÇ dCommandResponse d = new dCommandResponse(command_complete); this.commandinfo.dEvent = d; this.commandinfo.CommId = 1; this.commandinfo.loopNo = 0; //¸í·É »ý¼º ui.runCommand(this.commandinfo); progressBar1.Value = 50; //string actionMsg = commandinfo.Status == 0 ? "ÇØÁ¦" : "¼³Á¤"; ////Device_Type_Name //actionMsg = commandinfo.Status == 1 ? "Á¤Áö" : "¿¬µ¿";//2010.11.12,k.s.d, display message bug fix( Á¤Áö <-> ¿¬µ¿ ) //DacDeviceConfig dacDeviceConfig = new DacDeviceConfig(); //string deviceTypeName = dacDeviceConfig.Device_Type_Name(code_InOutType.Output, string.Format("O{0}", commandinfo.SubType)); //string thisLog = String.Format("{0} ¿¬µ¿Å¸ÀÔ {1}¸í·É", deviceTypeName, actionMsg); //ListViewLogAdd(thisLog + ": ÁøÇàÁß" ); progressBar1.Refresh(); } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); this.Cursor = Cursors.Default; } } //ÀÛ¾÷½ÃÀÛ private void progress_Run() { try { if (this.commandinfo == null) return; progressBar1.Value = 0; listView1.Items.Clear(); this.Show(); if (!ui.Connected) { MessageBox.Show("Åë½Å»óŸ¦ È®ÀÎÇϼ¼¿ä..", Application.ProductName); this.Close(); return; } if (download_type != 0)// 2010.10.28, k.s.d, only one click device linkage change support . { this.SetLinkageCut(); return; } switch (this.commandinfo.Command) { //Áß°è±â Unit ¿¡ Á¤º¸ ¾²±â case prt_cmd_define.write_repeater_info_unit: this.Text = "Áß°è±â Á¤º¸ UNIT ¾²±âÁß....."; lblDescription.Text = "Áß°è±â Á¤º¸ UNIT ¾²±â"; if (this.commandinfo.boardNo > 0) { progressBar1.Maximum = 127; if (this.commandinfo.CommandData != null) { //Áß°è±â ¾²±â Á¤º¸¸¦ ÀúÀåÇÑ´Ù.. commanddata¸¦ Àç»ç¿ëÇϹǷΠthis.repinfo = (RepeaterDeviceTypeInfo[])this.commandinfo.CommandData; //Áß°è±â Unit ¿¡ Á¤º¸ ¾²±â---½ÃÀÛ repeater_info_unit_write_progress(); } else { MessageBox.Show("µ¥ÀÌÅͰ¡ À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù.. ¼³Á¤µ¥ÀÌÅ͸¦ ¾Ë¼ö ¾ø½À´Ï´Ù."); //¿Ï·á CompleteProgress(); } } else { this.Text = "Áß°è±â Á¤º¸ UNIT Àüü ¾²±âÁß....."; lblDescription.Text = "Áß°è±â Á¤º¸ UNIT Àüü ¾²±â"; progressBar1.Maximum = 16 * 2 * 127; //Àüü¼ö½Å±â ¾²±â¸¦ ÇÑ´Ù°í ÀúÀå. this.configReceiverPointAllWrite = true; //Àüü ¼ö½Å±â µ¥ÀÌÅ͸¦ DB¿¡¼­ Àоî¿Â´Ù.. //¼ö½Å±â ¼³Á¤Á¤º¸ CLASS »ý¼º - DB¿¡¼­ ¼³Á¤Á¤º¸¸¦ Àоî¿Í ÀúÀåÇÑ´Ù.. UIReceiverInfo cfg = new UIReceiverInfo(this.commandinfo.receiverID); this.configReceiverPoint = cfg.ReadAll_ReceiverTypeInfo(mdi); this.commandinfo.CommandData = null; this.commandinfo.boardNo = 1; this.commandinfo.loopNo = 0; this.commandinfo.repeaterNo = 0; //½ÃÀ۽à Áß°è±â ¹øÈ£¸¦ Áõ°¡½ÃŰ¹Ç·Î 0 À¸·Î ÃʱâÈ­ //º¸µåÁ¸ÀçÀ¯¹« bool runBoardIdOK = false; while (!runBoardIdOK) { BoardTypeInfo brdinfo = this.configReceiverPoint.Get_RepeaterType(this.commandinfo.boardNo); //Åë½Åº¸µåsavBoardIDÀÇ ¼³Á¤°ª if (brdinfo != null) { // cyim 2016.10.31 : °èÅëÁ¤º¸´Â 0,1,2,3 À¸·Î º¯°æ if (this.commandinfo.loopNo == 0) { this.repinfo = brdinfo.Loop0_RepeaterType; //Åë½Åº¸µå + Loop0 + 127°³ Áß°è±â ¼³Á¤°ª } else if (this.commandinfo.loopNo == 1) { this.repinfo = brdinfo.Loop1_RepeaterType; //Åë½Åº¸µå + Loop1 + 127°³ Áß°è±â ¼³Á¤°ª } else if (this.commandinfo.loopNo == 2) { this.repinfo = brdinfo.Loop2_RepeaterType; //Åë½Åº¸µå + Loop2 + 127°³ Áß°è±â ¼³Á¤°ª } else if (this.commandinfo.loopNo == 3) { this.repinfo = brdinfo.Loop3_RepeaterType; //Åë½Åº¸µå + Loop3 + 127°³ Áß°è±â ¼³Á¤°ª } runBoardIdOK = true; } } if (runBoardIdOK) { //Áß°è±â Unit ¿¡ Á¤º¸ Àüü ¾²±â---½ÃÀÛ repeater_info_unit_all_write_progress(); } else { MessageBox.Show("¼³Á¤µÈ Åë½Åº¸µå°¡ ¾ø½À´Ï´Ù.."); //¿Ï·á CompleteProgress(); } } break; case prt_cmd_define.read_command_status: switch (this.commandinfo.CommandType) { //Â÷´Ü¸í·É case "DC": { this.Text = "Â÷´Ü¼³Á¤ ¸í·ÉÁß.."; if (this.commandinfo.CommandData != null) { if (this.commandinfo.ApplyRange.Equals("L")) //Loop16°³ Â÷´Ü½Ã { lblDescription.Text = "°èÅëÂ÷´Ü¸í·É"; this.brdinfos = (BoardTypeInfo[])this.commandinfo.CommandData; progressBar1.Maximum = this.brdinfos.Length; } else if (this.commandinfo.ApplyRange.Equals("R")) //Áß°è±â Â÷´Ü½Ã { lblDescription.Text = "Áß°è±âÂ÷´Ü¸í·É"; this.repinfo = (RepeaterDeviceTypeInfo[])this.commandinfo.CommandData; progressBar1.Maximum = this.repinfo.Length; } else if (this.commandinfo.ApplyRange.Equals("A")) //¿¬µ¿Å¸ÀÔ Â÷´Ü½Ã { lblDescription.Text = "¿¬µ¿Å¸ÀÔÂ÷´Ü¸í·É"; this.devTypes = (controlWriteDevType[])this.commandinfo.CommandData; progressBar1.Maximum = this.devTypes.Length; } else if (this.commandinfo.ApplyRange.Equals("I")) //ÀÔ·Âȸ·Î Â÷´Ü½Ã { lblDescription.Text = "ÀÔ·Âȸ·Î Â÷´Ü¸í·É"; progressBar1.Maximum = 2; } else if (this.commandinfo.ApplyRange.Equals("O")) //Ãâ·Âȸ·Î Â÷´Ü½Ã { lblDescription.Text = "Ãâ·Âȸ·Î Â÷´Ü¸í·É"; progressBar1.Maximum = 2; } cut_flag_progress(); } else { MessageBox.Show("µ¥ÀÌÅͰ¡ À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù.. ¼³Á¤µ¥ÀÌÅ͸¦ ¾Ë¼ö ¾ø½À´Ï´Ù."); //¿Ï·á CompleteProgress(); } break; } //ȯ°æÁ¤º¸º¯°æ case "CS": { progressBar1.Maximum = 4; this.Text = "ȯ°æ¼³Á¤ º¯°æÁß.."; lblDescription.Text = "ȯ°æ¼³Á¤ º¯°æ¸í·É"; if (this.commandinfo.CommandData != null) { this.configVoChg = (ReceiverConfigVo)this.commandinfo.CommandData; config_change_progress(); } else { MessageBox.Show("µ¥ÀÌÅͰ¡ À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù.. ¼³Á¤µ¥ÀÌÅ͸¦ ¾Ë¼ö ¾ø½À´Ï´Ù."); //¿Ï·á CompleteProgress(); } break; } default: lblDescription.Text = "¾Ë¼ö¾ø´Â¸í·É"; break; } break; default: break; } this.Refresh(); } 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 config_change_progress() { try { //¸í·É »ý¼º ¿©ºÎ bool runCommandOK = false; progressBar1.Value += 1; progressBar1.Refresh(); //À̺¥Æ®Á¤ÀÇ dCommandResponse d = new dCommandResponse(command_complete); this.commandinfo.dEvent = d; if (this.configVoChg.Fire_accumulation_mode != this.configVoMy.Fire_accumulation_mode) { //ÃàÀû¸ðµå º¯°æ ¸í·É bool mode = this.configVoChg.Fire_accumulation_mode; this.commandinfo.SubType = "A"; this.commandinfo.Status = mode ? 1 : 0; this.configVoMy.Fire_accumulation_mode = mode; //¸í·É »ý¼º runCommandOK = true; ui.runCommand(this.commandinfo); return; } //ÃàÀû¸ðµåÀϰæ¿ì¸¸ ½Ã°£À» º¸³¿ if (this.configVoChg.Fire_accumulation_mode && this.configVoChg.Fire_accumulation_time != this.configVoMy.Fire_accumulation_time) { //ÃàÀû½Ã°£ º¯°æ ¸í·É this.commandinfo.SubType = "T"; this.commandinfo.Status = this.configVoChg.Fire_accumulation_time; this.configVoMy.Fire_accumulation_time = this.configVoChg.Fire_accumulation_time; //¸í·É »ý¼º runCommandOK = true; ui.runCommand(this.commandinfo); return; } if (this.configVoChg.Fire_process_mode != this.configVoMy.Fire_process_mode) { //È­Àç¸ðµå º¯°æ ¸í·É bool mode = this.configVoChg.Fire_process_mode; this.commandinfo.SubType = "F"; this.commandinfo.Status = mode ? 1 : 0; this.configVoMy.Fire_process_mode = mode; //¸í·É »ý¼º runCommandOK = true; ui.runCommand(this.commandinfo); return; } //Áö±¸°æÁ¾¸ðµå ¾øÀ½ //»ý¼ºÇÑ ¸í·ÉÀÌ ¾øÀ¸¹Ç·Î Á¾·á if (!runCommandOK) CompleteProgress(); } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); } } // Â÷´Ü¼³Á¤ ÁøÇà private void cut_flag_progress() { try { //¸í·É »ý¼º ¿©ºÎ bool runCommandOK = false; progressBar1.Value += 1; progressBar1.Refresh(); //À̺¥Æ®Á¤ÀÇ dCommandResponse d = new dCommandResponse(command_complete); this.commandinfo.dEvent = d; switch (this.commandinfo.ApplyRange) //Â÷´Ü·¹º§(ȸ·ÎŸÀÔÂ÷´Ü¿ë) A-All,C-Comm,B-Board,L-Loop,R-Áß°è±â,D-ȸ·Î,I-ÀÔ·Âȸ·Î,O-Ãâ·Âȸ·Î { case "A"://¿¬µ¿Å¸ÀÔÂ÷´Ü { foreach (controlWriteDevType devtp in this.devTypes) { if (devtp.ChangeFlag) { this.commandinfo.CommId = 1; this.commandinfo.loopNo = 0; this.commandinfo.Status = devtp.Use_flag ? 0 : 1; //k.s.d 20101022, devtp.Use_flag ? 1 : 0; -> devtp.Use_flag ? 0 : 1; with jys(ub). this.commandinfo.SubType = devtp.Dev_type.Substring(1); //¿¬µ¿Ãâ·ÂŸÀÔ1ÀÚ¸® devtp.ChangeFlagReset(); //¸í·É »ý¼º runCommandOK = true; ui.runCommand(this.commandinfo); break; } } if (!runCommandOK) CompleteProgress(); break; } case "C": break; case "B": break; // case "L": //Loop { // cyim 2016.12.07 : ¼ö½Å±â ¸ðµ¨º° ³»ºÎ ·ÎÁ÷ º¯°æ int boardID_init = 0; int boardID_cnt = 0; // cyim 2017.01.12 : IFC3300 Àº Åë½Åº¸µå 0¹øÀÌ Á¸ÀçÇÑ´Ù if (mdi.ReceiverModel == "IFC3300") { boardID_init = 0; boardID_cnt = 65; } else { boardID_init = 0; boardID_cnt = 16; } for (int i = boardID_init; i < boardID_cnt; i++) // cyim 2016.11.03 : Åë½Åº¸µå(Áß°è¹Ý)´Â ÃÖ´ë 64 { if (this.brdinfos[i] != null) { if (this.brdinfos[i].Loop0CutFlagChange) { this.commandinfo.boardNo = i + 1; this.commandinfo.loopNo = 0; this.commandinfo.Status = this.brdinfos[i].Loop0CutFlag ? 0 : 1; //k.s.d 20120102, 1 : 0; -> 0 : 1; with jys(ub). this.brdinfos[i].Loop0CutFlagChangeReset(); //¸í·É »ý¼º runCommandOK = true; ui.runCommand(this.commandinfo); break; } else if (this.brdinfos[i].Loop1CutFlagChange) { this.commandinfo.boardNo = i + 1; this.commandinfo.loopNo = 1; this.commandinfo.Status = this.brdinfos[i].Loop1CutFlag ? 0 : 1;//k.s.d 20120102, 1 : 0; -> 0 : 1; with jys(ub). this.brdinfos[i].Loop1CutFlagChangeReset(); //¸í·É »ý¼º runCommandOK = true; ui.runCommand(this.commandinfo); break; } // cyim 2016.10.31 : °èÅëÁ¤º¸´Â 0,1,2,3 À¸·Î º¯°æ else if (this.brdinfos[i].Loop2CutFlagChange) { this.commandinfo.boardNo = i + 1; this.commandinfo.loopNo = 2; this.commandinfo.Status = this.brdinfos[i].Loop2CutFlag ? 0 : 1; this.brdinfos[i].Loop2CutFlagChangeReset(); //¸í·É »ý¼º runCommandOK = true; ui.runCommand(this.commandinfo); break; } else if (this.brdinfos[i].Loop3CutFlagChange) { this.commandinfo.boardNo = i + 1; this.commandinfo.loopNo = 3; this.commandinfo.Status = this.brdinfos[i].Loop3CutFlag ? 0 : 1; this.brdinfos[i].Loop3CutFlagChangeReset(); //¸í·É »ý¼º runCommandOK = true; ui.runCommand(this.commandinfo); break; } } } if (!runCommandOK) CompleteProgress(); break; } case "R": //Áß°è±â { for (int i = 0; i < this.repinfo.Length; i++) { if (this.repinfo[i] != null) { if (this.repinfo[i].CutFlagChange) { this.commandinfo.repeaterNo = this.repinfo[i].RepeaterNo; this.commandinfo.Status = this.repinfo[i].CutFlag ? 0 : 1;//k.s.d 20120102, 1 : 0; -> 0 : 1; with jys(ub). this.repinfo[i].CutFlagChangeReset(); //¸í·É »ý¼º runCommandOK = true; ui.runCommand(this.commandinfo); break; } } } if (!runCommandOK) CompleteProgress(); break; } case "D": break; case "I": if (this.commandinfo.CommandData.ToString().Equals("CUTCOMMAND")) { this.commandinfo.CommandData = "COMPLETE"; //¸í·É »ý¼º runCommandOK = true; ui.runCommand(this.commandinfo); } if (!runCommandOK) CompleteProgress(); break; case "O": if (this.commandinfo.CommandData.ToString().Equals("CUTCOMMAND")) { this.commandinfo.CommandData = "COMPLETE"; //¸í·É »ý¼º runCommandOK = true; ui.runCommand(this.commandinfo); } if (!runCommandOK) CompleteProgress(); break; default: break; } } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); } } //Áß°è±â Unit ¿¡ Á¤º¸ ¾²±â--½ÃÀÛ private void repeater_info_unit_write_progress() { try { //Áß°è±âÁ¤º¸¾²±â ¸í·É dCommandResponse d = new dCommandResponse(command_complete); this.commandinfo.dEvent = d; //´ÙÀ½Áß°è±â·Î Áß°è±â¹øÈ£¸¦ Áõ°¡½ÃŲ´Ù. int repeaterNo = this.commandinfo.repeaterNo + 1; if (repeaterNo <= 127) { progressBar1.Value += 1; progressBar1.Refresh(); int repeaterType = 0; bool CutFlag = false; bool FireResetFlag = false; if (repinfo[repeaterNo - 1] != null) { if (repinfo[repeaterNo - 1].UseFlag) { // cyim 2015.6.8 ¾Æ³¯·Î±× °¨Áö±â ¿¬µ¿ Ãß°¡ //repeaterType = repinfo[repeaterNo - 1].RepeaterType == "A" ? 1 : 2; // '1' = A : 2X2 // '2' = B : 4X4 // '4' = C : ¾Æ³¯·Î±×¿¬°¨Áö±â // '5' = D : ¾Æ³¯·Î±×¿­°¨Áö±â if (repinfo[repeaterNo - 1].RepeaterType == "A") repeaterType = 1; else if (repinfo[repeaterNo - 1].RepeaterType == "B") repeaterType = 2; else if (repinfo[repeaterNo - 1].RepeaterType == "C") repeaterType = 4; else if (repinfo[repeaterNo - 1].RepeaterType == "D") repeaterType = 5; CutFlag = repinfo[repeaterNo - 1].CutFlag; FireResetFlag = repinfo[repeaterNo - 1].FireResetFlag; } else { repeaterType = 0; CutFlag = false; FireResetFlag = false; } } //Áß°è±â¼³Á¤Á¤º¸ ÀúÀå this.commandinfo.repeaterNo = repeaterNo; //this.commandinfo.setRepeaterInfo(repeaterNo, repeaterType); RepeaterData data = new RepeaterData((byte)repeaterNo); data.Set_Info_Data(CutFlag, FireResetFlag, false, false, repeaterType); this.commandinfo.CommandData = data; //¸í·Éº¸³¿ ui.runCommand(this.commandinfo); } else { //¿Ï·á CompleteProgress(); } } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); } } //Áß°è±â Unit ¿¡ Á¤º¸ Àüü ¾²±â--½ÃÀÛ private void repeater_info_unit_all_write_progress() { try { //¸í·É »ý¼º ¿©ºÎ bool runCommandOK = false; //º¸µåÁ¸ÀçÀ¯¹« bool runBoardIdOK = true; while (!runCommandOK) { //Áß°è±âÁ¤º¸¾²±â ¸í·É dCommandResponse d = new dCommandResponse(command_complete); this.commandinfo.dEvent = d; //´ÙÀ½Áß°è±â·Î Áß°è±â¹øÈ£¸¦ Áõ°¡½ÃŲ´Ù. int repeaterNo = this.commandinfo.repeaterNo + 1; int loopNo = this.commandinfo.loopNo; int boardId = this.commandinfo.boardNo; if (repeaterNo > 127) { repeaterNo = 1; runBoardIdOK = false; while (!runBoardIdOK) { ++loopNo; if (loopNo > 1) { loopNo = 0; ++boardId; // cyim 2016.12.07 : ¼ö½Å±â ¸ðµ¨º° ³»ºÎ ·ÎÁ÷ º¯°æ int boardID_cnt = 0; // cyim 2017.01.12 : IFC3300 Àº Åë½Åº¸µå 0¹øÀÌ Á¸ÀçÇÑ´Ù if (mdi.ReceiverModel == "IFC3300") { boardID_cnt = 64; } else { boardID_cnt = 16; } // cyim 2016.11.03 : Åë½Åº¸µå(Áß°è¹Ý)´Â ÃÖ´ë 64 if (boardId > boardID_cnt) { runBoardIdOK = false; //¿Ï·á CompleteProgress(); return; } } BoardTypeInfo brdinfo = this.configReceiverPoint.Get_RepeaterType(boardId); //Åë½Åº¸µåsavBoardIDÀÇ ¼³Á¤°ª if (brdinfo != null) { runBoardIdOK = true; // cyim 2016.10.31 : °èÅëÁ¤º¸´Â 0,1,2,3 À¸·Î º¯°æ if (loopNo == 0) { this.repinfo = brdinfo.Loop0_RepeaterType; //Åë½Åº¸µå + Loop0 + 127°³ Áß°è±â ¼³Á¤°ª } else if (loopNo == 1) { this.repinfo = brdinfo.Loop1_RepeaterType; //Åë½Åº¸µå + Loop1 + 127°³ Áß°è±â ¼³Á¤°ª } else if (loopNo == 2) { this.repinfo = brdinfo.Loop2_RepeaterType; //Åë½Åº¸µå + Loop2 + 127°³ Áß°è±â ¼³Á¤°ª } else if (loopNo == 3) { this.repinfo = brdinfo.Loop3_RepeaterType; //Åë½Åº¸µå + Loop3 + 127°³ Áß°è±â ¼³Á¤°ª } } } } progressBar1.Value += 1; progressBar1.Refresh(); //Áß°è±â¼³Á¤Á¤º¸ ÀúÀå this.commandinfo.repeaterNo = repeaterNo; //this.commandinfo.setRepeaterInfo(repeaterNo, repeaterType); this.commandinfo.boardNo = boardId; this.commandinfo.loopNo = loopNo; int repeaterType = 0; bool CutFlag = false; bool FireResetFlag = false; if (this.repinfo[repeaterNo - 1] != null) { if (this.repinfo[repeaterNo - 1].UseFlag) { //repeaterType = this.repinfo[repeaterNo - 1].RepeaterType == "A" ? 1 : 2; // cyim 2015.6.8 ¾Æ³¯·Î±× °¨Áö±â ¿¬µ¿ Ãß°¡ // '1' = A : 2X2 // '2' = B : 4X4 // '4' = C : ¾Æ³¯·Î±×¿¬°¨Áö±â // '5' = D : ¾Æ³¯·Î±×¿­°¨Áö±â if (repinfo[repeaterNo - 1].RepeaterType == "A") repeaterType = 1; else if (repinfo[repeaterNo - 1].RepeaterType == "B") repeaterType = 2; else if (repinfo[repeaterNo - 1].RepeaterType == "C") repeaterType = 4; else if (repinfo[repeaterNo - 1].RepeaterType == "D") repeaterType = 5; CutFlag = this.repinfo[repeaterNo - 1].CutFlag; FireResetFlag = repinfo[repeaterNo - 1].FireResetFlag; } else { repeaterType = 0; CutFlag = false; FireResetFlag = false; } } runCommandOK = true; RepeaterData data = new RepeaterData((byte)repeaterNo); data.Set_Info_Data(CutFlag, FireResetFlag, false, false, repeaterType); this.commandinfo.CommandData = data; //¸í·Éº¸³¿ ui.runCommand(this.commandinfo); break; } //RepeaterData data = new RepeaterData((byte)repeaterNo); //data.Set_Info_Data(CutFlag, false, false, false, repeaterType); //this.commandinfo.CommandData = data; ////¸í·Éº¸³¿ //ui.runCommand(this.commandinfo); } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); } } //¸í·É ¾²±â ¿Ï·á--Á¾·á. public void command_complete(CmdInfo resInfo) { try { if (this.complete) return; switch (this.commandinfo.Command) { //Áß°è±â Unit ¿¡ Á¤º¸ ¾²±â case prt_cmd_define.write_repeater_info_unit: { if (this.configReceiverPointAllWrite) { /***********************************************/ /* Àüü¾²±â */ /***********************************************/ String thisLog = String.Format("Åë½Åº¸µå#{0} °èÅë#{1} Áß°è±â#{2} UNIT Á¤º¸ ¾²±â", resInfo.boardNo, resInfo.loopNo, resInfo.repeaterNo); lblDescription.Text = thisLog; if (resInfo.ErrResponse) { ListViewLogAdd(thisLog + ":" + resInfo.ErrMessage); Application.DoEvents(); } else { ListViewLogAdd(thisLog + ": ¿Ï·á"); } //´Ù½Ã ÁøÇàÀ¸·Î º¸³»ÁÜ repeater_info_unit_all_write_progress(); /***********************************************/ } else { /***********************************************/ /* Loop¾²±â */ /***********************************************/ String thisLog = String.Format("Åë½Åº¸µå#{0} °èÅë#{1} Áß°è±â#{2} UNIT Á¤º¸ ¾²±â", resInfo.boardNo, resInfo.loopNo, resInfo.repeaterNo); lblDescription.Text = thisLog; if (resInfo.ErrResponse) { ListViewLogAdd(thisLog + ":" + resInfo.ErrMessage); Application.DoEvents(); } else { ListViewLogAdd(thisLog + ": ¿Ï·á"); } //´Ù½Ã ÁøÇàÀ¸·Î º¸³»ÁÜ repeater_info_unit_write_progress(); /***********************************************/ } break; } case prt_cmd_define.read_command_status: { switch (this.commandinfo.CommandType) { case "DC": { this.Text = "Â÷´Ü¼³Á¤ ¸í·ÉÁß.."; string actionMsg = resInfo.Status == 0 ? "¼³Á¤" : "ÇØÁ¦"; String thisLog = "Â÷´Ü¼³Á¤ ¸í·É"; if (this.commandinfo.ApplyRange.Equals("L")) //Loop16°³ Â÷´Ü½Ã { thisLog = String.Format("Åë½Åº¸µå#{0} °èÅë#{1} Â÷´Ü{2}¸í·É", resInfo.boardNo, resInfo.loopNo, actionMsg); } else if (this.commandinfo.ApplyRange.Equals("R")) //Áß°è±â Â÷´Ü½Ã { thisLog = String.Format("Åë½Åº¸µå#{0} °èÅë#{1} Áß°è±â#{2} Â÷´Ü{3}¸í·É", resInfo.boardNo, resInfo.loopNo, resInfo.repeaterNo, actionMsg); } else if (this.commandinfo.ApplyRange.Equals("I")) //ÀÔ·Âȸ·Î Â÷´Ü½Ã { thisLog = String.Format("Åë½Åº¸µå#{0} °èÅë#{1} Áß°è±â#{2} ÀÔ·Âȸ·Î#{3} Â÷´Ü{4}¸í·É", resInfo.boardNo, resInfo.loopNo, resInfo.repeaterNo, resInfo.DeviceId, actionMsg); } else if (this.commandinfo.ApplyRange.Equals("O")) //Ãâ·Âȸ·Î Â÷´Ü½Ã { thisLog = String.Format("Åë½Åº¸µå#{0} °èÅë#{1} Áß°è±â#{2} Ãâ·Âȸ·Î#{3} Â÷´Ü{4}¸í·É", resInfo.boardNo, resInfo.loopNo, resInfo.repeaterNo, resInfo.DeviceId, actionMsg); } else if (this.commandinfo.ApplyRange.Equals("A")) //¿¬µ¿Å¸ÀÔ Â÷´Ü½Ã { //Device_Type_Name actionMsg = resInfo.Status == 1 ? "Á¤Áö" : "¿¬µ¿";//2010.11.12,k.s.d, display message bug fix( Á¤Áö <-> ¿¬µ¿ ) DacDeviceConfig dacDeviceConfig = new DacDeviceConfig(resInfo.receiverID); // cyim 2015.7.30 µ¥ÀÌŸº£À̽º Á¢¼Ó ·çƾ º¯°æ string deviceTypeName = dacDeviceConfig.Device_Type_Name(code_InOutType.Output, string.Format("O{0}", resInfo.SubType)); thisLog = String.Format("{0} ¿¬µ¿Å¸ÀÔ {1}¸í·É", deviceTypeName, actionMsg); } lblDescription.Text = thisLog; if (resInfo.ErrResponse) { ListViewLogAdd(thisLog + ":" + resInfo.ErrMessage); Application.DoEvents(); } else { ListViewLogAdd(thisLog + ": ¿Ï·á"); } //´Ù½Ã ÁøÇàÀ¸·Î º¸³»ÁÜ if (download_type != 0)// 2010.10.28, k.s.d, only one click device linkage change support . { CompleteProgress(true, 1000); } else { cut_flag_progress(); } break; } //ȯ°æÁ¤º¸º¯°æ case "CS": { this.Text = "ȯ°æ¼³Á¤ º¯°æÁß.."; String thisLog = "¾Ë¼ö¾øÀ½."; switch (resInfo.SubType) { case "A": thisLog = "ÃàÀû¸ðµå º¯°æ"; break; case "T": thisLog = "ÃàÀû½Ã°£ º¯°æ"; break; case "F": thisLog = "È­Àç¸ðµå º¯°æ"; break; case "S": thisLog = "Áö±¸À½Çâ¸ðµå º¯°æ"; break;//2010.11.12,k.s.d, Áö±¸°æÁ¾ -> Áö±¸À½Çâ } lblDescription.Text = thisLog; if (resInfo.ErrResponse) { ListViewLogAdd(thisLog + ":" + resInfo.ErrMessage); Application.DoEvents(); } else { ListViewLogAdd(thisLog + ": ¿Ï·á"); } //´Ù½Ã ÁøÇàÀ¸·Î º¸³»ÁÜ config_change_progress(); break; } default: break; } break; } } } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); } } private void CompleteProgress() { try { this.complete = true; progressBar1.Value = progressBar1.Maximum; btnOK.Enabled = true; } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); } } private void btnOK_Click(object sender, EventArgs e) { try { this.Close(); } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); } } private void ListViewLogAdd(String msg) { try { int cnt = listView1.Items.Count; ListViewItem item = new ListViewItem(Convert.ToString(cnt + 1)); item.SubItems.Add(msg); listView1.Items.Add(item); listView1.EnsureVisible(cnt); } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); } } private void btnWinClose_Click(object sender, EventArgs e) { try { this.Close(); } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); } } private void CompleteProgress(bool closePopup, int time)// 2010.10.28, k.s.d, for self destroy popup. { try { this.complete = true; progressBar1.Value = progressBar1.Maximum; btnOK.Enabled = true; if (closePopup == true) { m_closetime_start = Environment.TickCount; m_closetime = time; timer_Close_Tick(null, EventArgs.Empty); timer_Close.Enabled = true; } } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); } } int m_closetime_start = 0; int m_closetime = 0; private void timer_Close_Tick(object sender, EventArgs e)// 2010.10.28, k.s.d, for self destroy popup timer. { try { //m_closetime; if (m_closetime_start + m_closetime < Environment.TickCount) { this.Cursor = Cursors.Default; this.Close(); } } catch (Exception ex) { this.Cursor = Cursors.Default; Util.UErrorMessage(ex, 0, 0); } } } }