From 5c26ea4c8c813ea85acf68fa07e180a12c748f33 Mon Sep 17 00:00:00 2001 From: lu <99954486@qq.com> Date: 星期五, 04 七月 2025 14:21:01 +0800 Subject: [PATCH] bug --- DevApp/Gs.DevApp/DevFrm/Work/Frm_Work09.cs | 171 ++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 103 insertions(+), 68 deletions(-) diff --git a/DevApp/Gs.DevApp/DevFrm/Work/Frm_Work09.cs b/DevApp/Gs.DevApp/DevFrm/Work/Frm_Work09.cs index bc434a9..884842b 100644 --- a/DevApp/Gs.DevApp/DevFrm/Work/Frm_Work09.cs +++ b/DevApp/Gs.DevApp/DevFrm/Work/Frm_Work09.cs @@ -1,42 +1,70 @@ 锘縰sing System; using System.Collections.Generic; using System.Data; +using System.Drawing; using System.IO.Ports; +using System.Linq; using System.Timers; using System.Windows.Forms; +using DevExpress.Utils; using Gs.DevApp.Entity; using Gs.DevApp.ToolBox; using Newtonsoft.Json; - namespace Gs.DevApp.DevFrm.Work { public partial class Frm_Work09 : DevExpress.XtraEditors.XtraForm { string _webServiceName = "WorkWeight/"; + string value = string.Empty; /// <summary> /// 涓插彛绫� /// </summary> private SerialPort Sp = new SerialPort(); /// <summary> - /// 鏇存柊UI濮旀墭锛屽彧瀹氫箟锛屼笉瀹炵幇 + /// 瀹氭椂鍒锋柊 /// </summary> - /// <param name="text"></param> - public delegate void HandleInterfaceUpdataDelegate(string text); - /// <summary> - /// 鏇存柊UI濮旀墭锛屽疄鐜� - /// </summary> - private HandleInterfaceUpdataDelegate interfaceUpdataHandle; - - - System.Timers.Timer timer = new System.Timers.Timer(10000); // 1000姣闂撮殧 - + System.Timers.Timer timer = new System.Timers.Timer(10000); public Frm_Work09() { InitializeComponent(); + this.FormClosing += (s, e) => + { + if (Sp.IsOpen) + Sp.Close(); + if (timer != null) + { + timer.Stop(); + timer.Dispose(); + } + }; GetComList(); this.comLine.getSuppler(""); - Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameterMx(gvMx1); + gvMx1.OptionsFind.ShowSearchNavButtons = false; + gvMx1.OptionsView.ShowAutoFilterRow = false; + gvMx1.OptionsView.ShowGroupPanel = false; + gvMx1.RowStyle += (s, e) => + { + //榛樿閫変腑琛屼笉鍙樿壊 + gvMx1.OptionsSelection.EnableAppearanceFocusedRow = false; + //榛樿閫変腑鍗曞厓鏍间笉鍙樿壊 + gvMx1.OptionsSelection.EnableAppearanceFocusedCell = false; + if (e.RowHandle >= 0) + { + DataRow row = gvMx1.GetDataRow(e.RowHandle); + if (row == null) + return; + string colorString = row["bgColor"].ToString(); // 浣跨敤鍗佸叚杩涘埗琛ㄧず棰滆壊鐨凙RGB鍊� + Color color = ColorTranslator.FromHtml(colorString); + e.Appearance.BackColor = color; + } + }; + gvMx1.IndicatorWidth = 60; + gvMx1.CustomDrawRowIndicator += (s, e) => + { + if (e.Info.IsRowIndicator && e.RowHandle >= 0) + e.Info.DisplayText = (e.RowHandle + 1).ToString(); + }; } /// <summary> @@ -51,7 +79,6 @@ cmbSerialPortNum.Properties.Items.Add(port); } } - /// <summary> /// 鍚姩浜嬩欢 /// </summary> @@ -59,12 +86,13 @@ /// <param name="e"></param> private void btnStart_Click(object sender, EventArgs e) { + Sp.DataReceived -= new SerialDataReceivedEventHandler(Sp_DataReceived); string _comLine = comLine.GetId(); - string _cmbSerialPortNum = cmbSerialPortNum.SelectedText.Trim(); - string _cmbBaudRate = cmbBaudRate.SelectedText.Trim(); - string _comSjw = comSjw.SelectedText.Trim(); - string _comStopBits = comStopBits.SelectedText.Trim(); - string _comParity = comParity.SelectedText.Trim(); + string _cmbSerialPortNum = cmbSerialPortNum.Text.Trim(); + string _cmbBaudRate = cmbBaudRate.Text.Trim(); + string _comSjw = comSjw.Text.Trim(); + string _comStopBits = comStopBits.Text.Trim(); + string _comParity = comParity.Text.Trim(); if (string.IsNullOrEmpty(_comLine)) { Gs.DevApp.ToolBox.MsgHelper.ShowError("璇烽�夋嫨绾夸綋"); @@ -91,7 +119,7 @@ } if (comStopBits.SelectedIndex < 0) { - Gs.DevApp.ToolBox.MsgHelper.ShowError("璇烽�夋嫨鏁板仠姝綅"); + Gs.DevApp.ToolBox.MsgHelper.ShowError("璇烽�夋嫨鍋滄浣�"); this.comStopBits.Focus(); return; } @@ -103,43 +131,37 @@ } try { - interfaceUpdataHandle = new HandleInterfaceUpdataDelegate(UpdateTextBox);//瀹炰緥鍖栧鎵樺璞� - Sp.RtsEnable = true; - Sp.DtrEnable = true; Sp.ReceivedBytesThreshold = 1; - Sp.PortName = this.cmbSerialPortNum.Text.Trim(); - Sp.BaudRate = Convert.ToInt32(this.cmbBaudRate.Text.Trim()); - // Sp.Parity = Parity.Even; + Sp.PortName = _cmbSerialPortNum; + Sp.BaudRate = Convert.ToInt32(_cmbBaudRate);//璁剧疆娉㈢壒鐜� if (Enum.TryParse(_comParity, out Parity pt1)) { - Sp.Parity = pt1; + Sp.Parity = pt1;// 璁剧疆鏍¢獙浣� } else { Gs.DevApp.ToolBox.MsgHelper.ShowError("鏃犳硶璇嗗埆鐨勬牎楠�"); } - // Sp.StopBits = StopBits.One; if (Enum.TryParse(_comStopBits, out StopBits pt2)) { - Sp.StopBits = pt2; + Sp.StopBits = pt2;//璁剧疆鍋滄浣� } else { Gs.DevApp.ToolBox.MsgHelper.ShowError("鏃犳硶璇嗗埆鐨勫仠姝綅"); } + Sp.DataBits = int.Parse(_comSjw); // 璁剧疆鏁版嵁浣� + //Sp.ReadTimeout = 500; // 璁剧疆瓒呮椂鏃堕棿锛屼緥濡�500姣 + //Sp.ReadBufferSize = 4096; // 璁剧疆缂撳啿鍖哄ぇ灏� Sp.DataReceived += new SerialDataReceivedEventHandler(Sp_DataReceived); Sp.ReceivedBytesThreshold = 1; - LogHelper.Debug(this.ToString(), "鎵撳紑涓插彛閫氫俊"); + LogHelper.Debug(this.ToString(), "鎵撳紑涓插彛閫氫俊PortName-" + Sp.PortName.ToString() + ",BaudRate-" + Sp.BaudRate.ToString() + ",StopBits-" + Sp.StopBits.ToString() + ",Parity-" + Sp.Parity.ToString()); if (!Sp.IsOpen) Sp.Open(); setEnable(false); - //timer1.Enabled = false; - // LogHelper.Debug(this.ToString(), "鍚姩鍒锋柊鏁版嵁瀹氭椂鍣�"); - // timer1.Start(); timer.Elapsed += OnTimedEvent; timer.AutoReset = true; // 璁剧疆涓簍rue琛ㄧず閲嶅鎵ц锛宖alse琛ㄧず鎵ц涓�娆″悗鍋滄 timer.Enabled = true; // 寮�濮嬭鏃� - Gs.DevApp.ToolBox.MsgHelper.ShowInformation("鎵撳紑鎴愬姛锛�"); } catch (Exception exe) @@ -150,49 +172,55 @@ } /// <summary> - /// 涓叉敹鍒版暟鎹� + /// 涓插彛鏀跺埌鏁版嵁 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void Sp_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { - //string start = "\nwn"; - string abc = string.Empty; - string strTemp = ""; + string _tmpStr = string.Empty; try { - LogHelper.Debug(this.ToString(), $"1鐩戝惉鍒版暟鎹紑濮�: "); int i = Sp.BytesToRead; - LogHelper.Debug(this.ToString(), $"2鐩戝惉鍒板瓧鑺傛暟:{i}"); if (i > 0) { - abc = Sp.ReadExisting(); - LogHelper.Debug(this.ToString(), $"3鐩戝惉鍒版暟鎹�:{abc}"); - //strTemp = abc.Substring(7, 7); - //LogHelper.Debug(this.ToString(), :鎴彇鏁版嵁:{strTemp}"); - //value = Math.Round(float.Parse(strTemp), 2).ToString(); - //LogHelper.Debug(this.ToString(), :杞崲鏁版嵁:{value}"); - //this.Invoke(interfaceUpdataHandle, value); - this.Invoke(interfaceUpdataHandle, abc); + _tmpStr = Sp.ReadExisting(); + // Thread.Sleep(1000); + LogHelper.Debug(this.ToString(), $"鐩戝惉鍒版暟鎹紝瀛楄妭闀垮害:{i.ToString()}锛寋_tmpStr}"); + this.BeginInvoke(new Action(() => + { + txtMsg.AppendLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff->瀛楄妭鏁板瓧" + i.ToString() + "->") + _tmpStr); + //ST,GS,+ 250.2kg + if (_tmpStr.Length <= 0) + { + LogHelper.Debug(this.ToString(), "_tmpStr闀垮害<=0锛岄��鍑轰笂鎶�"); + return; + } + if (!_tmpStr.Contains("ST")) + { + LogHelper.Debug(this.ToString(), "_tmpStr閲嶉噺鐘舵�佷笉涓篠T锛岄��鍑轰笂鎶�"); + return; + } + if (!_tmpStr.Contains("+")) + { + LogHelper.Debug(this.ToString(), "_tmpStr涓嶅寘鍚噸閲�+锛岄��鍑轰笂鎶�"); + return; + } + string[] _ary=_tmpStr.Split('+'); + string abc = _ary.Last();//ST,GS, + txtNum.Text = (abc.Trim().Replace("k", "").Replace("g", "").Replace("S","").Replace("T","").Replace("G","").Replace(",","")); + addModel(txtNum.Text, _tmpStr); + })); } } catch (Exception ex) { - LogHelper.Debug(this.ToString(), ex.Message); - Gs.DevApp.ToolBox.MsgHelper.ShowError("鏀跺埌鏁版嵁:" + ex.Message); + LogHelper.Debug(this.ToString(), $"鐩戝惉鍒版暟鎹甧rror:{ex.Message}"); return; } } - /// <summary> - /// 鎺ュ彈鍒版暟鎹紝寮�濮嬪鐞嗘暟鎹� - /// </summary> - /// <param name="text"></param> - private void UpdateTextBox(string text) - { - txtNum.Text = text; - addModel(); - } + /// <summary> /// 鍚敤鎴栫鐢� /// </summary> @@ -210,14 +238,16 @@ /// <summary> /// 涓婁紶绉伴噸鏁版嵁 /// </summary> - private void addModel() + /// <param name="_realWeight">鎴彇鍚庣殑鏁伴噺</param> + /// <param name="_realWeightTxt">鍘熷瓙涓�</param> + private void addModel(string _realWeight, string _realWeightTxt) { string _lineId = comLine.GetId(); - string _realWeight = txtNum.Text.Trim(); var _obj = new { lineId = _lineId, - realWeight = _realWeight, + realWeight = _realWeight.Trim(), + realWeightTxt = _realWeightTxt.Trim(), }; try { @@ -235,7 +265,12 @@ } } - private void OnTimedEvent(Object source, ElapsedEventArgs e) + /// <summary> + /// 瀹氭椂璇诲彇鍒楄〃 + /// </summary> + /// <param name="source"></param> + /// <param name="e"></param> + private void OnTimedEvent(Object source, ElapsedEventArgs e) { var _obj = new { @@ -244,11 +279,11 @@ try { var lst = new List<string>(); - var strReturn = UtilityHelper.HttpPost("", _webServiceName + "GetModelList", JsonConvert.SerializeObject(_obj),false); + var strReturn = UtilityHelper.HttpPost("", _webServiceName + "GetModelList", JsonConvert.SerializeObject(_obj), false); var dd = UtilityHelper.ReturnToList(strReturn); var dt = dd.rtnData; - BeginInvoke(new Action(() => { - // txtNum.Text = DateTime.Now.ToString(); + BeginInvoke(new Action(() => + { gcMx1.BindingContext = new BindingContext(); gcMx1.DataSource = dt; gcMx1.ForceInitialize(); @@ -257,9 +292,9 @@ } catch (Exception ex) { - MessageBox.Show(ex.Message); + Toast vm = new Toast(-1, "gvMx1:" + ex.Message); + vm.Show(); } - } } } \ No newline at end of file -- Gitblit v1.9.3