From 7fe9ca3eeeba579e2570fd475ff279bfee4ed398 Mon Sep 17 00:00:00 2001
From: lu <123456>
Date: 星期四, 14 八月 2025 17:43:09 +0800
Subject: [PATCH] bug

---
 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