From 562fe6d0615eecf92a7e5c5edf9d316f8295b199 Mon Sep 17 00:00:00 2001
From: wells.liu <wells.liu@broconcentric.com>
Date: 星期五, 10 七月 2020 17:16:55 +0800
Subject: [PATCH] Merge branch 'master' of http://gitblit.broconcentric.com:8088/r/M071

---
 src/Bro.M071.Process/UI/M071_MainForm.cs               |   11 +++++
 src/Bro.M071.Process/M071Process.cs                    |    2 
 src/Bro.M071.Process/UI/M071_ShortcutFrm.cs            |   50 ++++++++++++++++++-------
 src/Bro.Process/ProcessConfig.cs                       |   17 ++++++++
 src/Bro.Common.Model/Interface/IProcessConfig.cs       |    3 +
 src/Bro.M071.Process/M071Config.cs                     |   29 ++++++++++----
 src/Bro.UI.Model.Winform/UI/DockContent/MenuFrmBase.cs |    2 
 7 files changed, 86 insertions(+), 28 deletions(-)

diff --git a/src/Bro.Common.Model/Interface/IProcessConfig.cs b/src/Bro.Common.Model/Interface/IProcessConfig.cs
index 470ac63..105b872 100644
--- a/src/Bro.Common.Model/Interface/IProcessConfig.cs
+++ b/src/Bro.Common.Model/Interface/IProcessConfig.cs
@@ -1,8 +1,9 @@
 锘縰sing System.Collections.Generic;
+using System.ComponentModel;
 
 namespace Bro.Common.Interface
 {
-    public interface IProcessConfig : IMonitorSetCollection
+    public interface IProcessConfig : IMonitorSetCollection, INotifyPropertyChanged
     {
         #region Property
         /// <summary>
diff --git a/src/Bro.M071.Process/M071Config.cs b/src/Bro.M071.Process/M071Config.cs
index b0944f2..fa7ad15 100644
--- a/src/Bro.M071.Process/M071Config.cs
+++ b/src/Bro.M071.Process/M071Config.cs
@@ -51,27 +51,28 @@
         [Description("鎷嶆憚鐐逛綅璁剧疆闆嗗悎")]
         [TypeConverter(typeof(CollectionCountConvert))]
         [Editor(typeof(ComplexCollectionEditor<SnapshotPoint>), typeof(UITypeEditor))]
-        [DisplayName("鎷嶆憚鐐逛綅")]
+        [DisplayName("1.杩愬姩鐐逛綅")]
         public List<SnapshotPoint> SnapshotPointCollection { get; set; } = new List<SnapshotPoint>();
 
         [Category("妫�娴嬭缃�")]
         [Description("瑙嗚妫�娴嬪崟閿厤缃泦鍚�")]
         [TypeConverter(typeof(CollectionCountConvert))]
         [Editor(typeof(ComplexCollectionEditor<KeyUnit>), typeof(UITypeEditor))]
-        [DisplayName("鍗曢敭閰嶇疆")]
+        [DisplayName("2.鍗曢敭閰嶇疆")]
         public List<KeyUnit> KeyUnitCollection { get; set; } = new List<KeyUnit>();
 
         [Category("妫�娴嬭缃�")]
         [Description("妫�娴嬮厤缃泦鍚�")]
+        [DisplayName("3.妫�娴嬮」闆嗗悎")]
         [TypeConverter(typeof(CollectionCountConvert))]
         [Editor(typeof(ComplexCollectionEditor<MeasurementUnit>), typeof(UITypeEditor))]
         public List<MeasurementUnit> MeasurementUnitCollection { get; set; } = new List<MeasurementUnit>();
 
-        [Category("妫�娴嬭缃�")]
-        [DisplayName("缁撴灉鏁版嵁淇濆瓨璺緞")]
-        [Description("妫�娴嬬粨鏋滄暟鎹繚瀛樿矾寰�")]
-        [Editor(typeof(FoldDialogEditor), typeof(UITypeEditor))]
-        public string ResultDataSaveFolder { get; set; } = "";
+        //[Category("妫�娴嬭缃�")]
+        //[DisplayName("缁撴灉鏁版嵁淇濆瓨璺緞")]
+        //[Description("妫�娴嬬粨鏋滄暟鎹繚瀛樿矾寰�")]
+        //[Editor(typeof(FoldDialogEditor), typeof(UITypeEditor))]
+        //public string ResultDataSaveFolder { get; set; } = "";
 
         [Category("鍥剧墖淇濆瓨閰嶇疆")]
         [Description("鍗曢敭鍥剧墖淇濆瓨閰嶇疆")]
@@ -94,13 +95,23 @@
         [ReadOnly(true)]
         public bool IsSafetyBeamBlocked { get; set; } = false;
 
+        private bool isBeepBlocked = false;
         [Category("灞忚斀閰嶇疆")]
         [Description("true锛氬睆钄借渹楦e櫒 false锛氬惎鐢ㄨ渹楦e櫒")]
-        public bool IsBeepBlocked { get; set; } = false;
+        public bool IsBeepBlocked
+        {
+            get => isBeepBlocked;
+            set => Set(ref isBeepBlocked, value);
+        }
 
+        private bool isBarcodeManualInputBlocked = true;
         [Category("灞忚斀閰嶇疆")]
         [Description("true锛氱姝㈡墜鍔ㄨ緭鍏ユ潯鐮� false锛氬厑璁告墜鍔ㄨ緭鍏ユ潯鐮�")]
-        public bool IsBarcodeManulInputBlocked { get; set; } = true;
+        public bool IsBarcodeManualInputBlocked
+        {
+            get => isBarcodeManualInputBlocked;
+            set => Set(ref isBarcodeManualInputBlocked, value);
+        }
 
         [Category("MES璁剧疆")]
         [Description("true锛氭暟鎹笂浼犺嚦MES false锛氭暟鎹笉涓婁紶")]
diff --git a/src/Bro.M071.Process/M071Process.cs b/src/Bro.M071.Process/M071Process.cs
index badeebd..01065c8 100644
--- a/src/Bro.M071.Process/M071Process.cs
+++ b/src/Bro.M071.Process/M071Process.cs
@@ -527,7 +527,7 @@
                 excelExportDto.WorksheetDataTable[excelExportDto.Worksheets[1]] = ExcelExportHelper.ListToDataTable(measurementUnitResultAndKeyUnitDataSet.MeasurementUnitResultList, measurementUnitResultColumns); ;
 
                 byte[] filecontent = ExcelExportHelper.ExportExcel(excelExportDto, false);
-                string dir = Path.Combine(Config.ResultDataSaveFolder, DateTime.Now.ToString("yyyyMMdd"));
+                string dir = Path.Combine(Config.LogPath, DateTime.Now.ToString("yyyyMMdd"));
                 if (!Directory.Exists(dir))
                 {
                     Directory.CreateDirectory(dir);
diff --git a/src/Bro.M071.Process/UI/M071_MainForm.cs b/src/Bro.M071.Process/UI/M071_MainForm.cs
index 7f507bc..17b79c9 100644
--- a/src/Bro.M071.Process/UI/M071_MainForm.cs
+++ b/src/Bro.M071.Process/UI/M071_MainForm.cs
@@ -69,7 +69,8 @@
 
                 cvImage.Elements.Clear();
                 lvMeasures.Items.Clear();
-                txtBarcode.ReadOnly = Config.IsBarcodeManulInputBlocked;
+
+                txtBarcode.Enabled = !Config.IsBarcodeManualInputBlocked;
 
                 Config.MeasurementUnitCollection.ForEach(u =>
                 {
@@ -100,6 +101,14 @@
 
             Process_M071.OnFullResetDone -= Process_M071_FullResetDone;
             Process_M071.OnFullResetDone += Process_M071_FullResetDone;
+
+            Config.PropertyChanged -= Config_PropertyChanged;
+            Config.PropertyChanged += Config_PropertyChanged;
+        }
+
+        private void Config_PropertyChanged(object sender, PropertyChangedEventArgs e)
+        {
+            txtBarcode.Enabled = !Config.IsBarcodeManualInputBlocked;
         }
 
         #region 鍥剧墖鍖哄彸閿彍鍗�
diff --git a/src/Bro.M071.Process/UI/M071_ShortcutFrm.cs b/src/Bro.M071.Process/UI/M071_ShortcutFrm.cs
index 01c11b7..34c3426 100644
--- a/src/Bro.M071.Process/UI/M071_ShortcutFrm.cs
+++ b/src/Bro.M071.Process/UI/M071_ShortcutFrm.cs
@@ -53,20 +53,42 @@
         {
             base.OnProcessUpdated();
 
-            Task.Run(() =>
+            //Task.Run(() =>
+            //{
+            //    if (loadHandle.Wait(1000))
+            //    {
+            //        this.Invoke(new Action(() =>
+            //        {
+            //            chkBlockBeep.Checked = Config.IsBeepBlocked;
+            //            chkBlockSafetyBeam.Checked = Config.IsSafetyBeamBlocked;
+            //            chkBlockSaftyDoor.Checked = Config.IsSafetyDoorBlocked;
+            //            chkManualInputForbidden.Checked = Config.IsBarcodeManualInputBlocked;
+            //            chkEnableMESUpload.Checked = Config.IsEnableMESUpload;
+            //        }));
+            //    }
+            //});
+            this.Invoke(new Action(() =>
             {
-                if (loadHandle.Wait(1000))
-                {
-                    this.Invoke(new Action(() =>
-                    {
-                        chkBlockBeep.Checked = Config.IsBeepBlocked;
-                        chkBlockSafetyBeam.Checked = Config.IsSafetyBeamBlocked;
-                        chkBlockSaftyDoor.Checked = Config.IsSafetyDoorBlocked;
-                        chkManualInputForbidden.Checked = Config.IsBarcodeManulInputBlocked;
-                        chkEnableMESUpload.Checked = Config.IsEnableMESUpload;
-                    }));
-                }
-            });
+                chkBlockBeep.Checked = Config.IsBeepBlocked;
+                chkBlockSafetyBeam.Checked = Config.IsSafetyBeamBlocked;
+                chkBlockSaftyDoor.Checked = Config.IsSafetyDoorBlocked;
+                chkManualInputForbidden.Checked = Config.IsBarcodeManualInputBlocked;
+                chkEnableMESUpload.Checked = Config.IsEnableMESUpload;
+            }));
+
+            Config.PropertyChanged -= Config_PropertyChanged;
+            Config.PropertyChanged += Config_PropertyChanged;
+        }
+
+        private async void Config_PropertyChanged(object sender, PropertyChangedEventArgs e)
+        {
+            chkBlockBeep.Checked = Config.IsBeepBlocked;
+            chkBlockSafetyBeam.Checked = Config.IsSafetyBeamBlocked;
+            chkBlockSaftyDoor.Checked = Config.IsSafetyDoorBlocked;
+            chkManualInputForbidden.Checked = Config.IsBarcodeManualInputBlocked;
+            chkEnableMESUpload.Checked = Config.IsEnableMESUpload;
+
+            await Task.Delay(100);
         }
 
         private void chkBlockSaftyDoor_CheckedChanged(object sender, EventArgs e)
@@ -86,7 +108,7 @@
 
         private void chkManualInputForbidden_CheckedChanged(object sender, EventArgs e)
         {
-            Config.IsBarcodeManulInputBlocked = chkManualInputForbidden.Checked;
+            Config.IsBarcodeManualInputBlocked = chkManualInputForbidden.Checked;
         }
 
         bool isLightOn = false;
diff --git a/src/Bro.Process/ProcessConfig.cs b/src/Bro.Process/ProcessConfig.cs
index 1dc98f4..e718679 100644
--- a/src/Bro.Process/ProcessConfig.cs
+++ b/src/Bro.Process/ProcessConfig.cs
@@ -7,6 +7,7 @@
 using System.ComponentModel;
 using System.Drawing.Design;
 using System.Linq;
+using System.Runtime.CompilerServices;
 
 namespace Bro.Process
 {
@@ -68,7 +69,7 @@
         [TypeConverter(typeof(CollectionCountConvert))]
         [Editor(typeof(ComplexCollectionEditor<MonitorSetBase>), typeof(UITypeEditor))]
         public List<IMonitorSet> MonitorSetCollection { get; set; } = new List<IMonitorSet>();
-
+        
         public virtual List<IInitialConfig> GetAllDeviceInitialConfigs()
         {
             List<IInitialConfig> configs = new List<IInitialConfig>();
@@ -107,5 +108,19 @@
 
             return list;
         }
+
+
+        #region IPropertyChanged
+        public event PropertyChangedEventHandler PropertyChanged;
+
+        public virtual void Set<T>(ref T field, T newValue, [CallerMemberName] string propName = null)
+        {
+            if (!field.Equals(newValue))
+            {
+                field = newValue;
+                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propName));
+            }
+        }
+        #endregion
     }
 }
diff --git a/src/Bro.UI.Model.Winform/UI/DockContent/MenuFrmBase.cs b/src/Bro.UI.Model.Winform/UI/DockContent/MenuFrmBase.cs
index ab29bdb..6d62f27 100644
--- a/src/Bro.UI.Model.Winform/UI/DockContent/MenuFrmBase.cs
+++ b/src/Bro.UI.Model.Winform/UI/DockContent/MenuFrmBase.cs
@@ -27,7 +27,7 @@
 
                     _constructionDoneHandle.Wait();
                     OnProcessUpdated();
-                    _constructionDoneHandle.Reset();
+                    //_constructionDoneHandle.Reset();
                 }
             }
         }

--
Gitblit v1.8.0