From 45b0abd8850da515734792f01addd8aa5f18dd62 Mon Sep 17 00:00:00 2001 From: lu <123456> Date: 星期五, 01 八月 2025 23:31:42 +0800 Subject: [PATCH] bug --- DevApp/Gs.DevApp/DevFrm/Work/Frm_Work01.cs | 198 ++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 153 insertions(+), 45 deletions(-) diff --git a/DevApp/Gs.DevApp/DevFrm/Work/Frm_Work01.cs b/DevApp/Gs.DevApp/DevFrm/Work/Frm_Work01.cs index 05488d1..9e8b054 100644 --- a/DevApp/Gs.DevApp/DevFrm/Work/Frm_Work01.cs +++ b/DevApp/Gs.DevApp/DevFrm/Work/Frm_Work01.cs @@ -1,14 +1,19 @@ -锘縰sing DevExpress.XtraGrid.Columns; +锘縰sing DevExpress.Office.Utils; +using DevExpress.XtraEditors; +using DevExpress.XtraGrid.Columns; using DevExpress.XtraLayout.Utils; using Gs.DevApp.Entity; using Gs.DevApp.ToolBox; using Newtonsoft.Json; using Newtonsoft.Json.Linq; +using NModbus; using System; using System.Collections.Generic; using System.Data; +using System.Data.SqlClient; using System.Dynamic; using System.IO; +using System.Net.Sockets; using System.Text; using System.Windows.Forms; @@ -16,6 +21,10 @@ { public partial class Frm_Work01 : DevExpress.XtraEditors.XtraForm { + string hostName = "192.168.60.51"; + int hostNamePoint = 502; + string strConn = "Data Source=192.168.1.146;Initial Catalog=GS_MES;User ID=mesUser;Password =qixi1qaz@WSXmes"; + bool isCleanDianJian = false; string _webServiceName = "WorkCollect/"; string dianJianPath = "";//鐢垫鍙栧�艰矾寰� string goodTag = "鈭�"; @@ -49,8 +58,27 @@ addColumn(); txt_barCode.KeyDown += (s, e) => { - if (e.KeyCode == Keys.Enter) { addModel(goodTag); } - ; + if (e.KeyCode == Keys.Enter) + { + //濡傛灉鏄按妫�锛岃繕瑕佹壂宸ヤ綅 + if (txt_gx.Text.Trim() == fGxShouJian) + { + txt_gongWei.Focus(); + } + else + addModel(goodTag); + } + }; + txt_gongWei.KeyDown += (s, e) => + { + if (e.KeyCode == Keys.Enter) + { + //濡傛灉鏄按妫�锛屽彲浠ユ彁浜や簡 + if (txt_gx.Text.Trim() == fGxShouJian) + { + addModel(goodTag); + } + } }; btnGood.Click += (s, e) => { @@ -87,13 +115,12 @@ }; frm.ShowDialog(); }; - this.ActiveControl = this.txt_barCode; txt_barCode.Focus(); } /// <summary> - /// 鏍规嵁宸ュ簭锛屾瀯閫犱笉鍚岀被鍨嬬殑瀹炰綋 + /// 鏍规嵁宸ュ簭锛屾瀯閫犱笉鍚岀被鍨嬬殑瀹炰綋锛岃鍙栦笉鍚岀殑鏁版嵁 /// </summary> /// <param name="_barCode">鏉$爜</param> /// <param name="_checkResult">缁撴灉</param> @@ -106,7 +133,7 @@ _obj.checkResult = _checkResult;//妫�娴嬬粨鏋� _obj.processNo = txt_gx.Text.Trim();//宸ュ簭 _obj.banCi = txt_bc.Text.Trim();//鐝 - _obj.gongWei = txt_gw.Text.Trim();//宸ヤ綅 + _obj.gongWei = txt_gongWei.Text.Trim();//宸ヤ綅 _obj.badDescription = _badDescription.Trim();//涓嶈壇鎻忚堪 if (txt_gx.Text.Trim() == fGxTouRu) { @@ -157,24 +184,27 @@ _obj.t009 = JNV; _obj.t010 = XLV; _obj.t011 = GVV; - //姝e紡涓婄嚎瑕佹竻绌烘枃鏈暟鎹� - //File.WriteAllText(dianJianPath, ""); + if (isCleanDianJian == true) + File.WriteAllText(dianJianPath, ""); return _obj; } //姘存 if (txt_gx.Text.Trim() == fGxShouJian) { - string strCsl1 = "strCsl1"; - string strSw1 = "strSw1"; - string strCsl2 = "strCsl2"; - string strSw2 = "strSw2"; - string strCsl3 = "strCsl3"; - string strSw3 = "strSw3"; - string strCsl4 = "strCsl4"; - string strSw4 = "strSw4"; - string strCsl5 = "strCsl5"; - string strSw5 = "strSw5"; - string SJJG = ""; + string strCsl1 = "";//妯″紡1鍑烘按閲� + string strSw1 = "";//妯″紡1姘存俯 + string strCsl2 = ""; + string strSw2 = ""; + string strCsl3 = ""; + string strSw3 = ""; + string strCsl4 = ""; + string strSw4 = ""; + string strCsl5 = ""; + string strSw5 = ""; + string SJJG = "";//姘存鏌ョ粨鏋渙k銆乶g + string GWZT = "";//宸ヤ綅鐘舵�� + string SJJGZ = "";//姘存鏌ョ粨鏋�1 + (strCsl1, strSw1, SJJG, GWZT, SJJGZ) = getShuiJian(); _obj.t002 = strCsl1; _obj.t003 = strSw1; _obj.t004 = strCsl2; @@ -185,9 +215,11 @@ _obj.t009 = strSw4; _obj.t010 = strCsl5; _obj.t011 = strSw5; - // _obj.t012 = SJJG;杩欎釜寰呯‘瀹� + _obj.t012 = SJJGZ; + _obj.t013 = GWZT; return _obj; } + //缁堟 if (txt_gx.Text.Trim() == fGxZhongJian) { return _obj; @@ -270,7 +302,6 @@ Toast vm = new Toast((goodTag == "鈭�" ? 1 : -1), _msg); vm.Show(); } - ; } else { @@ -284,6 +315,9 @@ vm.Show(); } txt_barCode.Text = ""; + txt_gongWei.Text = ""; + this.ActiveControl = this.txt_barCode; + txt_barCode.Focus(); } /// <summary> @@ -301,7 +335,6 @@ layShuiJian.Visibility = LayoutVisibility.Always; else layShuiJian.Visibility = LayoutVisibility.Never; - List<dynamic> _lst = new List<dynamic>(); if (txt_gx.Text.Trim() == fGxDianJian) { @@ -337,29 +370,25 @@ { ziduan = "t007", wenben = "鎺ュ湴缁撴灉", - kejian = true, - visibleIndex = 1, + visibleIndex = -1, }); _lst.Add(new { ziduan = "t009", wenben = "浜よ�愮粨鏋�", - kejian = true, - visibleIndex = 1, + visibleIndex = -1, }); _lst.Add(new { ziduan = "t010", wenben = "娉勬紡缁撴灉", - kejian = true, - visibleIndex = 1, + visibleIndex = -1, }); _lst.Add(new { ziduan = "t011", wenben = "鍔熺巼缁撴灉", - kejian = true, - visibleIndex = 1, + visibleIndex = -1, }); } if (txt_gx.Text.Trim() == fGxShouJian) @@ -382,55 +411,54 @@ { ziduan = "t004", wenben = "鍑烘按閲�2", - kejian = true, - visibleIndex = 1, + visibleIndex = -1, }); _lst.Add(new { ziduan = "t005", wenben = "姘存俯2", - kejian = true, - visibleIndex = 1, + visibleIndex = -1, }); _lst.Add(new { ziduan = "t006", wenben = "鍑烘按閲�3", - kejian = true, - visibleIndex = 1, + visibleIndex = -1, }); _lst.Add(new { ziduan = "t007", wenben = "姘存俯3", - kejian = true, - visibleIndex = 1, + visibleIndex = -1, }); _lst.Add(new { ziduan = "t008", wenben = "鍑烘按閲�4", - kejian = true, - visibleIndex = 1, + visibleIndex = -1, }); _lst.Add(new { ziduan = "t009", wenben = "姘存俯4", - kejian = true, - visibleIndex = 1, + visibleIndex = -1, }); _lst.Add(new { ziduan = "t010", wenben = "鍑烘按閲�5", - kejian = true, - visibleIndex = 1, + visibleIndex = -1, }); _lst.Add(new { ziduan = "t011", wenben = "姘存俯5", + visibleIndex = -1, + }); + _lst.Add(new + { + ziduan = "t012", + wenben = "鏁版嵁缁撴灉", kejian = true, visibleIndex = 1, }); @@ -440,10 +468,90 @@ GridColumn newColumn = new GridColumn(); newColumn.FieldName = item.ziduan; // 璁剧疆涓庢暟鎹簮瀵瑰簲鐨勫瓧娈靛悕 newColumn.Caption = item.wenben; // 璁剧疆鍒楃殑鏍囬 - //newColumn.Visible = item.visibleIndex; // 璁剧疆鍒楁槸鍚﹀彲瑙� newColumn.VisibleIndex = item.visibleIndex; // 璁剧疆鍒楃殑鏄剧ず椤哄簭 gvMx1.Columns.Add(newColumn); } } + + + #region 璇诲彇姘存鏁版嵁 + private (string, string, string, string, string) getShuiJian() + { + string strCsl1 = ""; //妯″紡1鍑烘按閲� + string strSw1 = "";//妯″紡1姘存俯 + 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) + { + ((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) + { + ((BaseEdit)this.txt_gongWei).EditValue = (object)""; + 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(); + } + } + } + return (strCsl1, strSw1, SJJG, GWZT, SJJGZ); + } + private DataTable GetDataTable(string SQLString, string tmpBASMIG2) + { + using (var connection = new SqlConnection(strConn)) + { + var ds = new DataSet(); + try + { + connection.Open(); + var command = new SqlDataAdapter(SQLString, connection); + command.Fill(ds, tmpBASMIG2); + } + catch (SqlException ex) + { + LogHelper.Debug(this.ToString(), ex.Message); + } + return ds.Tables[0]; + } + } + #endregion + } } \ No newline at end of file -- Gitblit v1.9.3