From ae28c33700e413d5acf60d1e48bbc9870bdef5a5 Mon Sep 17 00:00:00 2001 From: cdk <2441919651@qq.com> Date: 星期五, 15 八月 2025 11:27:34 +0800 Subject: [PATCH] Merge branch 'master' of http://git.gs-mes.com:8080/r/~tjx/GsMesClient --- DevApp/Gs.DevApp/DevFrm/Work/Frm_Work01.cs | 114 +++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 78 insertions(+), 36 deletions(-) diff --git a/DevApp/Gs.DevApp/DevFrm/Work/Frm_Work01.cs b/DevApp/Gs.DevApp/DevFrm/Work/Frm_Work01.cs index d0799b7..2c5fe7f 100644 --- a/DevApp/Gs.DevApp/DevFrm/Work/Frm_Work01.cs +++ b/DevApp/Gs.DevApp/DevFrm/Work/Frm_Work01.cs @@ -9,6 +9,7 @@ using NModbus; using System; using System.Collections.Generic; +using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Dynamic; @@ -76,6 +77,14 @@ //濡傛灉鏄按妫�锛屽彲浠ユ彁浜や簡 if (txt_gx.Text.Trim() == fGxShouJian) { + if (txt_gongWei.Text.Trim().Length <= 0) + { + Toast vm = new Toast(-1, "~璇锋壂宸ヤ綅鐮亊"); + vm.Show(); + this.ActiveControl = this.txt_gongWei; + txt_gongWei.Focus(); + return; + } addModel(goodTag); } } @@ -239,6 +248,8 @@ { Toast vm = new Toast(-1, "~璇峰厛鎵拷婧爜~"); vm.Show(); + this.ActiveControl = this.txt_barCode; + txt_barCode.Focus(); return; } dynamic _obj = getObj(_barCode, _checkResult, _badDescription); @@ -484,52 +495,57 @@ string SJJG = "";//姘存鏌ョ粨鏋渙k銆乶g string GWZT = "";//宸ヤ綅鐘舵�� string SJJGZ = "";//姘存鏌ョ粨鏋�1 - System.Text.StringBuilder sbSql1 = new StringBuilder(); - sbSql1.Append($"select MIG004,MIG005 from BASMIG(nolock) where MIG001='ShuiJianZhanWei01' and MIG003='{((BaseEdit)this.txt_gongWei).EditValue.ToString()}'"); - DataTable dataTable1 = this.GetDataTable(sbSql1.ToString(), "tmpBASMIG2"); - if (dataTable1 == null || dataTable1.Rows.Count <= 0) + bool blIp = true; + blIp = CheckPort(hostName, hostNamePoint); + if (blIp) { - ((BaseEdit)this.txt_gongWei).EditValue = (object)""; - LogHelper.Debug(this.ToString(), txt_gongWei.Text + "璇ユ按妫�绔欎綅鐮佷笉瀛樺湪锛岃纭锛�"); - //Toast vm = new Toast(-1, "璇ユ按妫�绔欎綅鐮佷笉瀛樺湪锛岃纭锛�"); - //vm.Show(); - } - else - { - ModbusFactory modbusFactory = new ModbusFactory(); - byte num1 = byte.Parse("1"); - ushort num2 = ushort.Parse("1"); - System.Text.StringBuilder sbSql2 = new StringBuilder(); - sbSql2.Append(string.Format($"select case when MIG006='D' then MIG003+{dataTable1.Rows[0][0]} else MIG003+{dataTable1.Rows[0][1]} end MIG003,MIG004 from BASMIG(nolock) where MIG001 = 'ShuiJianAddress01' order by MIG005")); - DataTable dataTable2 = GetDataTable(sbSql2.ToString(), "tmpBASMIG3"); - if (dataTable2 == null || dataTable2.Rows.Count <= 0) + System.Text.StringBuilder sbSql1 = new StringBuilder(); + sbSql1.Append($"select MIG004,MIG005 from BASMIG(nolock) where MIG001='ShuiJianZhanWei01' and MIG003='{((BaseEdit)this.txt_gongWei).EditValue.ToString()}'"); + DataTable dataTable1 = this.GetDataTable(sbSql1.ToString(), "tmpBASMIG2"); + if (dataTable1 == null || dataTable1.Rows.Count <= 0) { ((BaseEdit)this.txt_gongWei).EditValue = (object)""; - LogHelper.Debug(this.ToString(), txt_gongWei.Text + "姘存鍦板潃涓嶅瓨鍦紝璇风‘璁わ紒"); - //Toast vm = new Toast(-1, "姘存鍦板潃涓嶅瓨鍦紝璇风‘璁わ紒"); + LogHelper.Debug(this.ToString(), txt_gongWei.Text + "璇ユ按妫�绔欎綅鐮佷笉瀛樺湪锛岃纭锛�"); + //Toast vm = new Toast(-1, "璇ユ按妫�绔欎綅鐮佷笉瀛樺湪锛岃纭锛�"); //vm.Show(); } else { - try - { - IModbusMaster master = modbusFactory.CreateMaster(new TcpClient(this.hostName, this.hostNamePoint)); - master.Transport.ReadTimeout = 10000; - master.Transport.Retries = 10000; - strCsl1 = master.ReadHoldingRegisters(num1, ushort.Parse(dataTable2.Rows[0]["MIG003"].ToString()), num2)[0].ToString(); - strSw1 = (float.Parse(master.ReadHoldingRegisters(num1, ushort.Parse(dataTable2.Rows[1]["MIG003"].ToString()), num2)[0].ToString()) / 10f).ToString(); - ushort[] numArray = master.ReadHoldingRegisters(num1, ushort.Parse(dataTable2.Rows[2]["MIG003"].ToString()), num2); - SJJGZ = numArray[0].ToString(); - SJJG = numArray[0].ToString(); - SJJG = (SJJG == "1" ? "OK" : (SJJG == "2" ? "NG" : SJJG)); - GWZT = master.ReadCoils(num1, ushort.Parse(dataTable2.Rows[3]["MIG003"].ToString()), num2)[0].ToString(); - } - catch (Exception ex) + ModbusFactory modbusFactory = new ModbusFactory(); + byte num1 = byte.Parse("1"); + ushort num2 = ushort.Parse("1"); + System.Text.StringBuilder sbSql2 = new StringBuilder(); + sbSql2.Append(string.Format($"select case when MIG006='D' then MIG003+{dataTable1.Rows[0][0]} else MIG003+{dataTable1.Rows[0][1]} end MIG003,MIG004 from BASMIG(nolock) where MIG001 = 'ShuiJianAddress01' order by MIG005")); + DataTable dataTable2 = GetDataTable(sbSql2.ToString(), "tmpBASMIG3"); + if (dataTable2 == null || dataTable2.Rows.Count <= 0) { ((BaseEdit)this.txt_gongWei).EditValue = (object)""; - LogHelper.Debug(this.ToString(), txt_gongWei.Text + ex.Message); - //Toast vm = new Toast(-1, ex.Message); + LogHelper.Debug(this.ToString(), txt_gongWei.Text + "姘存鍦板潃涓嶅瓨鍦紝璇风‘璁わ紒"); + //Toast vm = new Toast(-1, "姘存鍦板潃涓嶅瓨鍦紝璇风‘璁わ紒"); //vm.Show(); + } + else + { + try + { + IModbusMaster master = modbusFactory.CreateMaster(new TcpClient(this.hostName, this.hostNamePoint)); + master.Transport.ReadTimeout = 10000; + master.Transport.Retries = 10000; + strCsl1 = master.ReadHoldingRegisters(num1, ushort.Parse(dataTable2.Rows[0]["MIG003"].ToString()), num2)[0].ToString(); + strSw1 = (float.Parse(master.ReadHoldingRegisters(num1, ushort.Parse(dataTable2.Rows[1]["MIG003"].ToString()), num2)[0].ToString()) / 10f).ToString(); + ushort[] numArray = master.ReadHoldingRegisters(num1, ushort.Parse(dataTable2.Rows[2]["MIG003"].ToString()), num2); + SJJGZ = numArray[0].ToString(); + SJJG = numArray[0].ToString(); + SJJG = (SJJG == "1" ? "OK" : (SJJG == "2" ? "NG" : SJJG)); + GWZT = master.ReadCoils(num1, ushort.Parse(dataTable2.Rows[3]["MIG003"].ToString()), num2)[0].ToString(); + } + catch (Exception ex) + { + ((BaseEdit)this.txt_gongWei).EditValue = (object)""; + LogHelper.Debug(this.ToString(), txt_gongWei.Text + ex.Message); + //Toast vm = new Toast(-1, ex.Message); + //vm.Show(); + } } } } @@ -553,6 +569,32 @@ return ds.Tables[0]; } } + + private bool CheckPort(string host, int port) + { + int vanishingSeconds = 3; + string _vanishingSeconds = ConfigurationManager.AppSettings["AsyncSeconds"]; + if (!string.IsNullOrEmpty(_vanishingSeconds)) + vanishingSeconds = int.Parse(_vanishingSeconds); + bool isOpen = false; + try + { + using (var client = new TcpClient()) + { + var result = client.BeginConnect(host, port, null, null); + var success = result.AsyncWaitHandle.WaitOne(TimeSpan.FromSeconds(vanishingSeconds)); // 绛夊緟5绉� + if (success) + { + isOpen = true; + } + } + } + catch (Exception ex) + { + LogHelper.Debug(this.ToString(), "CheckPort:" + ex.Message); + } + return isOpen; + } #endregion } -- Gitblit v1.9.3