Browse Source

合并冲突处理

WIN-GH9CEESPLTB\Administrator 4 months ago
parent
commit
ccd286c078

+ 5 - 1
MainForm/ClassFile/Inovance_EIP.cs

@@ -135,7 +135,8 @@ namespace EIP_Protocol
         public short testStatus;            //测试状态:=1 PASS  0=FAIL
         public short testStatus;            //测试状态:=1 PASS  0=FAIL
 
 
         [MarshalAs(UnmanagedType.I2)]
         [MarshalAs(UnmanagedType.I2)]
-        public short BeatAction;            //节拍动作 1:上料开始  2:上料结束 3:作业开始  4:作业结束   5:下料开始  6:下料结束
+        public short BeatAction;            //节拍动作 1:上料开始  2:上料结束 3
+                                            //:作业开始  4:作业结束   5:下料开始  6:下料结束
 
 
         [MarshalAs(UnmanagedType.I2)]       //节拍返回 1:OK   2:NG   
         [MarshalAs(UnmanagedType.I2)]       //节拍返回 1:OK   2:NG   
         public short beatReturn;
         public short beatReturn;
@@ -289,6 +290,9 @@ namespace EIP_Protocol
 
 
         [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 101)]    //工位零部件条码
         [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 101)]    //工位零部件条码
         public string strPartBarcode;
         public string strPartBarcode;
+
+        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 101)]    //工位零部件条码
+        public string strPCBBarcode;
     }
     }
 
 
     [StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 8)]
     [StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 8)]

+ 1 - 0
MainForm/ClassFile/ProjectClass/GlobalContext.cs

@@ -160,6 +160,7 @@ namespace MainForm
         public static bool MESIsConnect;  // MES是否正常连接
         public static bool MESIsConnect;  // MES是否正常连接
         public static string MESLaserLPath;   // 三点激光数据本地存放地址
         public static string MESLaserLPath;   // 三点激光数据本地存放地址
         public static string MESLaserRPath;   // 三点激光数据本地存放地址
         public static string MESLaserRPath;   // 三点激光数据本地存放地址
+
         public static string UpFileUrl;  // 文档库地址
         public static string UpFileUrl;  // 文档库地址
         public static string UpFilePath;  // 本地文件路径
         public static string UpFilePath;  // 本地文件路径
         public static bool IsSendUpFile;    // 启用上传文件
         public static bool IsSendUpFile;    // 启用上传文件

+ 33 - 0
MainForm/ClassFile/ProjectClass/SQLHelper.cs

@@ -687,6 +687,38 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'订单信息
             #endregion
             #endregion
         }
         }
 
 
+        //载具码和产品码绑定关系
+        public static ResponseMessage PCBCarrierBind(string carrierCode, string pcbBarcode)
+        {
+            // 检查记录是否已经存在
+            var CarrierBind_exists = Db.Queryable<CarrierBind>()
+                                        .Where(x => x.CarrierCode == carrierCode)
+                                        .OrderByDescending(x => x.CreateTime)
+                                        .Take(1)
+                                        .First();
+            try
+            {
+                if (CarrierBind_exists != null)
+                {
+                    Db.Updateable<CarrierBind>()
+                        .SetColumns(x=>x.PCBBarcode== pcbBarcode)
+                        .Where(x => x.ID == CarrierBind_exists.ID)
+                        .ExecuteCommand();
+                    logNet.WriteInfo($"载具码与PCB码绑定成功");
+                }
+                else { 
+                    return new ResponseMessage { result = true, text = "载具码与PCB码绑定失败!载具码["+ carrierCode + "]没有绑定记录"};
+                }
+                // 插入数据
+                return new ResponseMessage { result = true, text = "载具码与PCB码绑定成功" };
+            }
+            catch (Exception ex)
+            {
+                logNet.WriteError($"载具码与产品码绑定失败,错误" + ex.Message);
+                return new ResponseMessage { result = false, text = "载具码与产品码绑定失败,错误" + ex.Message };
+            }
+        }
+
         public static ResponseMessage InsertOp10Data(string carrierCode, string productBarcode, int bindOrder,
         public static ResponseMessage InsertOp10Data(string carrierCode, string productBarcode, int bindOrder,
                                           int throwingAmount, float cleaningPressure, float cleaningSpeed,
                                           int throwingAmount, float cleaningPressure, float cleaningSpeed,
                                           float airKnifeHeight, float cleaningTime, int cleaningCount, int remainCount)
                                           float airKnifeHeight, float cleaningTime, int cleaningCount, int remainCount)
@@ -1422,6 +1454,7 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'订单信息
             // 其他列
             // 其他列
             public string CarrierCode { get; set; } = "";           // 载具码
             public string CarrierCode { get; set; } = "";           // 载具码
             public string ProductBarcode { get; set; } = "";  // 产品码
             public string ProductBarcode { get; set; } = "";  // 产品码
+            public string PCBBarcode { get; set; } = "";  // 产品码
             public DateTime CreateTime { get; set; } = DateTime.Now;    // 创建时间
             public DateTime CreateTime { get; set; } = DateTime.Now;    // 创建时间
         }
         }
 
 

+ 16 - 42
MainForm/ClassFile/XiaomiAPI_MES/XiaomiMESHttp_UpLoadFile.cs

@@ -74,12 +74,12 @@ namespace MainForm.ClassFile.XiaomiAPI_MES
                     { "header", header },
                     { "header", header },
                     { "body", body }
                     { "body", body }
                 };
                 };
-                string jsonStr = JsonConvert.SerializeObject(dataParam);
+
                 // 将 data 参数序列化为 Base64 编码的字符串
                 // 将 data 参数序列化为 Base64 编码的字符串
-                string data = Convert.ToBase64String(Encoding.UTF8.GetBytes(jsonStr));
+                string data = Convert.ToBase64String(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(dataParam)));
 
 
                 // 调用上传方法
                 // 调用上传方法
-                var uploadResult = await UploadFile(url, data, wJPath);
+                var uploadResult = await UploadFile(url, file, data);
 
 
                 // 判断上传结果
                 // 判断上传结果
                 if (!string.IsNullOrEmpty(uploadResult) && !uploadResult.StartsWith("异常:") && !uploadResult.StartsWith("HTTP 错误:"))
                 if (!string.IsNullOrEmpty(uploadResult) && !uploadResult.StartsWith("异常:") && !uploadResult.StartsWith("HTTP 错误:"))
@@ -283,53 +283,27 @@ namespace MainForm.ClassFile.XiaomiAPI_MES
         /// <param name="file">文件路径</param>
         /// <param name="file">文件路径</param>
         /// <param name="data">上传的数据</param>
         /// <param name="data">上传的数据</param>
         /// <returns>返回上传结果</returns>
         /// <returns>返回上传结果</returns>
-        public static async Task<string> UploadFile(string url, string data, string imageFile)
+        public static async Task<string> UploadFile(string url, FileInfo file, string data)
         {
         {
             using (var httpClient = new HttpClient())
             using (var httpClient = new HttpClient())
             {
             {
                 var formData = new MultipartFormDataContent();
                 var formData = new MultipartFormDataContent();
+                // 添加文件
+                var fileContent = new StreamContent(file.OpenRead());
+                formData.Add(fileContent, "file", file.Name);
+                // 添加数据
+                formData.Add(new StringContent(data), "data");
 
 
                 try
                 try
                 {
                 {
-                    // 获取文件名
-                    string filename = Path.GetFileName(imageFile);
-
-                    // 创建 StreamContent 对象
-                    using (var fileStream = File.OpenRead(imageFile))
-                    using (var streamContent = new StreamContent(fileStream))
+                    var response = await httpClient.PostAsync(url, formData);
+                    if (response.IsSuccessStatusCode)
+                    {
+                        return await response.Content.ReadAsStringAsync();
+                    }
+                    else
                     {
                     {
-                        // 设置 Content-Type(根据实际文件类型设置)
-                        streamContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/octet-stream");
-
-                        // 添加文件到 formData
-                        formData.Add(streamContent, "file", filename);
-
-                        // 添加其他数据到 formData
-                        formData.Add(new StringContent(data), "data");
-
-                        // 发送 POST 请求
-                        var response = await httpClient.PostAsync(url, formData);
-                        if (response.IsSuccessStatusCode)
-                        {
-                            // 读取响应内容
-                            string result = await response.Content.ReadAsStringAsync();
-
-                            // 删除图片文件
-                            try
-                            {
-                                File.Delete(imageFile);
-                            }
-                            catch (Exception ex)
-                            {
-                                return $"上传成功,删除图片文件时出错: {ex.Message}";
-                            }
-
-                            return result; // 返回上传成功的响应
-                        }
-                        else
-                        {
-                            return $"HTTP 错误: {response.StatusCode}";
-                        }
+                        return $"HTTP 错误: {response.StatusCode}";
                     }
                     }
                 }
                 }
                 catch (Exception e)
                 catch (Exception e)

+ 144 - 0
MainForm/FaForm/BandBarodeDialog.Designer.cs

@@ -0,0 +1,144 @@
+namespace MainForm.FaForm
+{
+    partial class BandBarodeDialog
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.button1 = new System.Windows.Forms.Button();
+            this.ProductBarcode = new System.Windows.Forms.TextBox();
+            this.CarrierBarcode = new System.Windows.Forms.TextBox();
+            this.label1 = new System.Windows.Forms.Label();
+            this.label2 = new System.Windows.Forms.Label();
+            this.PCBBarcode = new System.Windows.Forms.TextBox();
+            this.label3 = new System.Windows.Forms.Label();
+            this.ErrorLab = new System.Windows.Forms.Label();
+            this.SuspendLayout();
+            // 
+            // button1
+            // 
+            this.button1.Location = new System.Drawing.Point(530, 251);
+            this.button1.Name = "button1";
+            this.button1.Size = new System.Drawing.Size(135, 45);
+            this.button1.TabIndex = 0;
+            this.button1.Text = "取消";
+            this.button1.UseVisualStyleBackColor = true;
+            this.button1.Visible = false;
+            this.button1.Click += new System.EventHandler(this.button1_Click);
+            // 
+            // ProductBarcode
+            // 
+            this.ProductBarcode.Location = new System.Drawing.Point(230, 108);
+            this.ProductBarcode.Name = "ProductBarcode";
+            this.ProductBarcode.ReadOnly = true;
+            this.ProductBarcode.Size = new System.Drawing.Size(280, 28);
+            this.ProductBarcode.TabIndex = 1;
+            // 
+            // CarrierBarcode
+            // 
+            this.CarrierBarcode.Location = new System.Drawing.Point(230, 47);
+            this.CarrierBarcode.Name = "CarrierBarcode";
+            this.CarrierBarcode.ReadOnly = true;
+            this.CarrierBarcode.Size = new System.Drawing.Size(280, 28);
+            this.CarrierBarcode.TabIndex = 2;
+            // 
+            // label1
+            // 
+            this.label1.AutoSize = true;
+            this.label1.Location = new System.Drawing.Point(124, 50);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(62, 18);
+            this.label1.TabIndex = 3;
+            this.label1.Text = "载具码";
+            // 
+            // label2
+            // 
+            this.label2.AutoSize = true;
+            this.label2.Location = new System.Drawing.Point(124, 111);
+            this.label2.Name = "label2";
+            this.label2.Size = new System.Drawing.Size(62, 18);
+            this.label2.TabIndex = 4;
+            this.label2.Text = "产品码";
+            // 
+            // PCBBarcode
+            // 
+            this.PCBBarcode.Location = new System.Drawing.Point(230, 172);
+            this.PCBBarcode.Name = "PCBBarcode";
+            this.PCBBarcode.Size = new System.Drawing.Size(280, 28);
+            this.PCBBarcode.TabIndex = 5;
+            this.PCBBarcode.TextChanged += new System.EventHandler(this.PCBBarcode_TextChanged);
+            // 
+            // label3
+            // 
+            this.label3.AutoSize = true;
+            this.label3.Location = new System.Drawing.Point(133, 175);
+            this.label3.Name = "label3";
+            this.label3.Size = new System.Drawing.Size(53, 18);
+            this.label3.TabIndex = 6;
+            this.label3.Text = "PCB码";
+            // 
+            // ErrorLab
+            // 
+            this.ErrorLab.AutoSize = true;
+            this.ErrorLab.ForeColor = System.Drawing.Color.Red;
+            this.ErrorLab.Location = new System.Drawing.Point(227, 216);
+            this.ErrorLab.Name = "ErrorLab";
+            this.ErrorLab.Size = new System.Drawing.Size(0, 18);
+            this.ErrorLab.TabIndex = 7;
+            // 
+            // BandBarodeDialog
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 18F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(725, 328);
+            this.Controls.Add(this.ErrorLab);
+            this.Controls.Add(this.label3);
+            this.Controls.Add(this.PCBBarcode);
+            this.Controls.Add(this.label2);
+            this.Controls.Add(this.label1);
+            this.Controls.Add(this.CarrierBarcode);
+            this.Controls.Add(this.ProductBarcode);
+            this.Controls.Add(this.button1);
+            this.Name = "BandBarodeDialog";
+            this.Text = "BandBarodeDialog";
+            this.Load += new System.EventHandler(this.BandBarodeDialog_Load);
+            this.ResumeLayout(false);
+            this.PerformLayout();
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.Button button1;
+        private System.Windows.Forms.TextBox ProductBarcode;
+        private System.Windows.Forms.TextBox CarrierBarcode;
+        private System.Windows.Forms.Label label1;
+        private System.Windows.Forms.Label label2;
+        private System.Windows.Forms.TextBox PCBBarcode;
+        private System.Windows.Forms.Label label3;
+        private System.Windows.Forms.Label ErrorLab;
+    }
+}

+ 95 - 0
MainForm/FaForm/BandBarodeDialog.cs

@@ -0,0 +1,95 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using static MainForm.SQLHelper;
+
+namespace MainForm.FaForm
+{
+    public partial class BandBarodeDialog : Form
+    {
+        public string pcbCode { get; private set; }
+        public string _CarrierBarcode { private get;  set; }
+        public string _ProductBarcode { private get;  set; }
+
+        private Timer _inputTimer;
+
+        public BandBarodeDialog()
+        {
+            InitializeComponent();
+            //置顶
+            this.TopMost = true; 
+            // 设置窗口相对于父窗口居中
+            this.StartPosition = FormStartPosition.CenterParent;
+            this.Shown += MainForm_Shown;
+        }
+
+        private void BandBarodeDialog_Load(object sender, EventArgs e)
+        {
+            CarrierBarcode.Text = _CarrierBarcode;
+            ProductBarcode.Text = _ProductBarcode;
+            PCBBarcode.Text = string.Empty;
+
+            // 初始化定时器
+            _inputTimer = new Timer();
+            _inputTimer.Interval = 500; // 500毫秒
+            _inputTimer.Tick += InputTimer_Tick;
+
+            // 绑定 TextChanged 事件
+            PCBBarcode.TextChanged += PCBBarcode_TextChanged;
+        }
+
+        private void button1_Click(object sender, EventArgs e)
+        {
+            Close();
+        }
+
+        private void PCBBarcode_TextChanged(object sender, EventArgs e)
+        {
+            // 每次文本变化时重置定时器
+            _inputTimer.Stop();
+            _inputTimer.Start();
+        }
+
+        private void InputTimer_Tick(object sender, EventArgs e)
+        {
+            // 定时器触发,表示输入已经完成
+            _inputTimer.Stop();
+            // 处理条码
+            string pcbcode = PCBBarcode.Text.Trim();
+            if (!string.IsNullOrEmpty(pcbcode))
+            {
+                var Carrierdt = Db.Queryable<CarrierBind>()
+                  .Where(x => ( x.CarrierCode == _CarrierBarcode && x.PCBBarcode == pcbcode) || x.ProductBarcode == pcbcode)
+                  .OrderByDescending(x => x.ID)
+                  .Take(1)
+                  .ToList();
+                if (Carrierdt != null && Carrierdt.Count > 0)
+                {
+                    closeWin();
+                }
+                else
+                {
+                    ErrorLab.Text=$"校验失败:PCB码[{pcbcode}]与载具码[{_CarrierBarcode}]未绑定";
+                }
+            }
+        }
+
+        private void closeWin() {
+            _CarrierBarcode = string.Empty;
+            _ProductBarcode = string.Empty;
+            this.DialogResult= DialogResult.OK;
+            this.Close();
+        }
+        private void MainForm_Shown(object sender, EventArgs e)
+        {
+            // 将焦点设置到 textBox1
+            PCBBarcode.Focus();
+        }
+    }
+}

+ 120 - 0
MainForm/FaForm/BandBarodeDialog.resx

@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>

+ 81 - 85
MainForm/FaForm/Form_Home.Designer.cs

@@ -30,15 +30,13 @@
         {
         {
             this.components = new System.ComponentModel.Container();
             this.components = new System.ComponentModel.Container();
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form_Home));
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form_Home));
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle41 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle43 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle44 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle42 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
             this.panel1 = new System.Windows.Forms.Panel();
             this.panel1 = new System.Windows.Forms.Panel();
             this.groupBox3 = new System.Windows.Forms.GroupBox();
             this.groupBox3 = new System.Windows.Forms.GroupBox();
-            this.uiLabel3 = new Sunny.UI.UILabel();
-            this.uiLabel1 = new Sunny.UI.UILabel();
-            this.uiLabel2 = new Sunny.UI.UILabel();
+            this.lblDeviceStates = new Sunny.UI.UILabel();
             this.txt_CurSupplierCode = new System.Windows.Forms.TextBox();
             this.txt_CurSupplierCode = new System.Windows.Forms.TextBox();
             this.label20 = new System.Windows.Forms.Label();
             this.label20 = new System.Windows.Forms.Label();
             this.currentMtltmrk = new System.Windows.Forms.TextBox();
             this.currentMtltmrk = new System.Windows.Forms.TextBox();
@@ -80,7 +78,9 @@
             this.colTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.colTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.imageListState = new System.Windows.Forms.ImageList(this.components);
             this.imageListState = new System.Windows.Forms.ImageList(this.components);
-            this.lblDeviceStates = new Sunny.UI.UILabel();
+            this.lblDeviceStates2 = new Sunny.UI.UILabel();
+            this.label4 = new System.Windows.Forms.Label();
+            this.label5 = new System.Windows.Forms.Label();
             this.panel1.SuspendLayout();
             this.panel1.SuspendLayout();
             this.groupBox3.SuspendLayout();
             this.groupBox3.SuspendLayout();
             this.panel2.SuspendLayout();
             this.panel2.SuspendLayout();
@@ -126,10 +126,10 @@
             // 
             // 
             // groupBox3
             // groupBox3
             // 
             // 
+            this.groupBox3.Controls.Add(this.label5);
+            this.groupBox3.Controls.Add(this.label4);
+            this.groupBox3.Controls.Add(this.lblDeviceStates2);
             this.groupBox3.Controls.Add(this.lblDeviceStates);
             this.groupBox3.Controls.Add(this.lblDeviceStates);
-            this.groupBox3.Controls.Add(this.uiLabel3);
-            this.groupBox3.Controls.Add(this.uiLabel1);
-            this.groupBox3.Controls.Add(this.uiLabel2);
             this.groupBox3.Controls.Add(this.txt_CurSupplierCode);
             this.groupBox3.Controls.Add(this.txt_CurSupplierCode);
             this.groupBox3.Controls.Add(this.label20);
             this.groupBox3.Controls.Add(this.label20);
             this.groupBox3.Controls.Add(this.currentMtltmrk);
             this.groupBox3.Controls.Add(this.currentMtltmrk);
@@ -147,46 +147,18 @@
             this.groupBox3.TabStop = false;
             this.groupBox3.TabStop = false;
             this.groupBox3.Text = "当前加工订单信息";
             this.groupBox3.Text = "当前加工订单信息";
             // 
             // 
-            // uiLabel3
-            // 
-            this.uiLabel3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-            this.uiLabel3.Font = new System.Drawing.Font("微软雅黑", 10.8F);
-            this.uiLabel3.ForeColor = System.Drawing.Color.Blue;
-            this.uiLabel3.Location = new System.Drawing.Point(1206, 113);
-            this.uiLabel3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
-            this.uiLabel3.Name = "uiLabel3";
-            this.uiLabel3.Size = new System.Drawing.Size(261, 50);
-            this.uiLabel3.TabIndex = 99;
-            this.uiLabel3.Text = "未初始状态";
-            this.uiLabel3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
-            this.uiLabel3.Visible = false;
-            // 
-            // uiLabel1
-            // 
-            this.uiLabel1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-            this.uiLabel1.Font = new System.Drawing.Font("微软雅黑", 10.8F);
-            this.uiLabel1.ForeColor = System.Drawing.SystemColors.InfoText;
-            this.uiLabel1.Location = new System.Drawing.Point(1067, 50);
-            this.uiLabel1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
-            this.uiLabel1.Name = "uiLabel1";
-            this.uiLabel1.Size = new System.Drawing.Size(240, 50);
-            this.uiLabel1.TabIndex = 98;
-            this.uiLabel1.Text = "设备状态:";
-            this.uiLabel1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
-            // 
-            // uiLabel2
-            // 
-            this.uiLabel2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-            this.uiLabel2.Font = new System.Drawing.Font("微软雅黑", 10.8F);
-            this.uiLabel2.ForeColor = System.Drawing.SystemColors.InfoText;
-            this.uiLabel2.Location = new System.Drawing.Point(1067, 113);
-            this.uiLabel2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
-            this.uiLabel2.Name = "uiLabel2";
-            this.uiLabel2.Size = new System.Drawing.Size(240, 50);
-            this.uiLabel2.TabIndex = 96;
-            this.uiLabel2.Text = "设备状态:";
-            this.uiLabel2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
-            this.uiLabel2.Visible = false;
+            // lblDeviceStates
+            // 
+            this.lblDeviceStates.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.lblDeviceStates.Font = new System.Drawing.Font("微软雅黑", 10.8F);
+            this.lblDeviceStates.ForeColor = System.Drawing.Color.Blue;
+            this.lblDeviceStates.Location = new System.Drawing.Point(1196, 51);
+            this.lblDeviceStates.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.lblDeviceStates.Name = "lblDeviceStates";
+            this.lblDeviceStates.Size = new System.Drawing.Size(261, 50);
+            this.lblDeviceStates.TabIndex = 100;
+            this.lblDeviceStates.Text = "未初始状态";
+            this.lblDeviceStates.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
             // 
             // 
             // txt_CurSupplierCode
             // txt_CurSupplierCode
             // 
             // 
@@ -618,14 +590,14 @@
             this.systemLog.AllowUserToResizeRows = false;
             this.systemLog.AllowUserToResizeRows = false;
             this.systemLog.BackgroundColor = System.Drawing.Color.White;
             this.systemLog.BackgroundColor = System.Drawing.Color.White;
             this.systemLog.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
             this.systemLog.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
-            dataGridViewCellStyle41.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
-            dataGridViewCellStyle41.BackColor = System.Drawing.Color.WhiteSmoke;
-            dataGridViewCellStyle41.Font = new System.Drawing.Font("微软雅黑", 10.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            dataGridViewCellStyle41.ForeColor = System.Drawing.SystemColors.WindowText;
-            dataGridViewCellStyle41.SelectionBackColor = System.Drawing.SystemColors.Highlight;
-            dataGridViewCellStyle41.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
-            dataGridViewCellStyle41.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
-            this.systemLog.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle41;
+            dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle5.BackColor = System.Drawing.Color.WhiteSmoke;
+            dataGridViewCellStyle5.Font = new System.Drawing.Font("微软雅黑", 10.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.WindowText;
+            dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+            this.systemLog.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle5;
             this.systemLog.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
             this.systemLog.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
             this.systemLog.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
             this.systemLog.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
             this.colDate,
             this.colDate,
@@ -637,19 +609,19 @@
             this.systemLog.Location = new System.Drawing.Point(3, 32);
             this.systemLog.Location = new System.Drawing.Point(3, 32);
             this.systemLog.Name = "systemLog";
             this.systemLog.Name = "systemLog";
             this.systemLog.ReadOnly = true;
             this.systemLog.ReadOnly = true;
-            dataGridViewCellStyle43.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
-            dataGridViewCellStyle43.BackColor = System.Drawing.Color.WhiteSmoke;
-            dataGridViewCellStyle43.Font = new System.Drawing.Font("微软雅黑", 10.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            dataGridViewCellStyle43.ForeColor = System.Drawing.SystemColors.WindowText;
-            dataGridViewCellStyle43.SelectionBackColor = System.Drawing.SystemColors.Highlight;
-            dataGridViewCellStyle43.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
-            dataGridViewCellStyle43.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
-            this.systemLog.RowHeadersDefaultCellStyle = dataGridViewCellStyle43;
+            dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle7.BackColor = System.Drawing.Color.WhiteSmoke;
+            dataGridViewCellStyle7.Font = new System.Drawing.Font("微软雅黑", 10.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.WindowText;
+            dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+            this.systemLog.RowHeadersDefaultCellStyle = dataGridViewCellStyle7;
             this.systemLog.RowHeadersVisible = false;
             this.systemLog.RowHeadersVisible = false;
             this.systemLog.RowHeadersWidth = 51;
             this.systemLog.RowHeadersWidth = 51;
             this.systemLog.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
             this.systemLog.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
-            dataGridViewCellStyle44.Font = new System.Drawing.Font("微软雅黑", 10.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.systemLog.RowsDefaultCellStyle = dataGridViewCellStyle44;
+            dataGridViewCellStyle8.Font = new System.Drawing.Font("微软雅黑", 10.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.systemLog.RowsDefaultCellStyle = dataGridViewCellStyle8;
             this.systemLog.RowTemplate.Height = 27;
             this.systemLog.RowTemplate.Height = 27;
             this.systemLog.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
             this.systemLog.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
             this.systemLog.Size = new System.Drawing.Size(1533, 435);
             this.systemLog.Size = new System.Drawing.Size(1533, 435);
@@ -657,8 +629,8 @@
             // 
             // 
             // colDate
             // colDate
             // 
             // 
-            dataGridViewCellStyle42.Font = new System.Drawing.Font("微软雅黑", 10.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.colDate.DefaultCellStyle = dataGridViewCellStyle42;
+            dataGridViewCellStyle6.Font = new System.Drawing.Font("微软雅黑", 10.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.colDate.DefaultCellStyle = dataGridViewCellStyle6;
             this.colDate.HeaderText = "日期";
             this.colDate.HeaderText = "日期";
             this.colDate.MinimumWidth = 6;
             this.colDate.MinimumWidth = 6;
             this.colDate.Name = "colDate";
             this.colDate.Name = "colDate";
@@ -692,18 +664,38 @@
             this.imageListState.Images.SetKeyName(1, "light_green.png");
             this.imageListState.Images.SetKeyName(1, "light_green.png");
             this.imageListState.Images.SetKeyName(2, "light_red.png");
             this.imageListState.Images.SetKeyName(2, "light_red.png");
             // 
             // 
-            // lblDeviceStates
-            // 
-            this.lblDeviceStates.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-            this.lblDeviceStates.Font = new System.Drawing.Font("微软雅黑", 10.8F);
-            this.lblDeviceStates.ForeColor = System.Drawing.Color.Blue;
-            this.lblDeviceStates.Location = new System.Drawing.Point(1205, 50);
-            this.lblDeviceStates.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
-            this.lblDeviceStates.Name = "lblDeviceStates";
-            this.lblDeviceStates.Size = new System.Drawing.Size(261, 50);
-            this.lblDeviceStates.TabIndex = 100;
-            this.lblDeviceStates.Text = "未初始状态";
-            this.lblDeviceStates.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+            // lblDeviceStates2
+            // 
+            this.lblDeviceStates2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.lblDeviceStates2.Font = new System.Drawing.Font("微软雅黑", 10.8F);
+            this.lblDeviceStates2.ForeColor = System.Drawing.Color.Blue;
+            this.lblDeviceStates2.Location = new System.Drawing.Point(1196, 113);
+            this.lblDeviceStates2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.lblDeviceStates2.Name = "lblDeviceStates2";
+            this.lblDeviceStates2.Size = new System.Drawing.Size(261, 50);
+            this.lblDeviceStates2.TabIndex = 101;
+            this.lblDeviceStates2.Text = "未初始状态";
+            this.lblDeviceStates2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+            // 
+            // label4
+            // 
+            this.label4.AutoSize = true;
+            this.label4.Location = new System.Drawing.Point(1066, 61);
+            this.label4.Name = "label4";
+            this.label4.Size = new System.Drawing.Size(123, 30);
+            this.label4.TabIndex = 102;
+            this.label4.Text = "设备状态:";
+            this.label4.Visible = false;
+            // 
+            // label5
+            // 
+            this.label5.AutoSize = true;
+            this.label5.Location = new System.Drawing.Point(1066, 123);
+            this.label5.Name = "label5";
+            this.label5.Size = new System.Drawing.Size(123, 30);
+            this.label5.TabIndex = 103;
+            this.label5.Text = "设备状态:";
+            this.label5.Visible = false;
             // 
             // 
             // Form_Home
             // Form_Home
             // 
             // 
@@ -799,9 +791,13 @@
         private System.Windows.Forms.PictureBox picAgvHttp;
         private System.Windows.Forms.PictureBox picAgvHttp;
         private System.Windows.Forms.GroupBox groupBox15;
         private System.Windows.Forms.GroupBox groupBox15;
         private System.Windows.Forms.PictureBox picAgvMqtt;
         private System.Windows.Forms.PictureBox picAgvMqtt;
-        private Sunny.UI.UILabel uiLabel2;
-        private Sunny.UI.UILabel uiLabel3;
+        private System.Windows.Forms.Button button1;
+        //private Sunny.UI.UILabel uiLabel2;
+        //private Sunny.UI.UILabel uiLabel3;
         private Sunny.UI.UILabel uiLabel1;
         private Sunny.UI.UILabel uiLabel1;
         private Sunny.UI.UILabel lblDeviceStates;
         private Sunny.UI.UILabel lblDeviceStates;
+        private System.Windows.Forms.Label label5;
+        private System.Windows.Forms.Label label4;
+        private Sunny.UI.UILabel lblDeviceStates2;
     }
     }
 }
 }

+ 64 - 19
MainForm/FaForm/Form_Home.cs

@@ -138,7 +138,6 @@ namespace MainForm
         /// </summary>
         /// </summary>
         private Dictionary<string, List<Alarm>> DicAlarms_Cur = new Dictionary<string, List<Alarm>>();
         private Dictionary<string, List<Alarm>> DicAlarms_Cur = new Dictionary<string, List<Alarm>>();
 
 
-
         Dictionary<int, Inovance_EIP> FunsEip = new Dictionary<int, Inovance_EIP>();
         Dictionary<int, Inovance_EIP> FunsEip = new Dictionary<int, Inovance_EIP>();
 
 
         /// <summary>
         /// <summary>
@@ -516,9 +515,9 @@ namespace MainForm
                     if (GlobalContext.IsUsePLC3 || GlobalContext.IsUsePLC7)
                     if (GlobalContext.IsUsePLC3 || GlobalContext.IsUsePLC7)
                     {
                     {
                         uiLabel1.Text = "设备状态(左):";
                         uiLabel1.Text = "设备状态(左):";
-                        uiLabel2.Text = "设备状态(右):";
-                        uiLabel3.Visible = true;
-                        uiLabel2.Visible = true;
+                        //uiLabel2.Text = "设备状态(右):";
+                        //uiLabel3.Visible = true;
+                        //uiLabel2.Visible = true;
                     }
                     }
 
 
                     AddMessage(LogType.Info, "程序初始化完成");
                     AddMessage(LogType.Info, "程序初始化完成");
@@ -1347,7 +1346,7 @@ namespace MainForm
         private static readonly object lockObj = new object(); // 锁对象
         private static readonly object lockObj = new object(); // 锁对象
         private static bool isCollectingFlagLeft;
         private static bool isCollectingFlagLeft;
         private static bool isCollectingFlagRight;
         private static bool isCollectingFlagRight;
-
+        private bool OpenDailogFalg = true;//是否开启扫码弹窗标识
         /// <summary>
         /// <summary>
         /// float[]转为string
         /// float[]转为string
         /// </summary>
         /// </summary>
@@ -4612,23 +4611,28 @@ namespace MainForm
                 string sn = (string)stPLC_MesData.BarcodeSet.strProductBarcode; // 产品SN(物料码)
                 string sn = (string)stPLC_MesData.BarcodeSet.strProductBarcode; // 产品SN(物料码)
                 //sn = sn.Substring(sn.Length - 11, 4) + sn.Substring(sn.Length - 5, 5);
                 //sn = sn.Substring(sn.Length - 11, 4) + sn.Substring(sn.Length - 5, 5);
 
 
-                string MachineId = GlobalContext.S5_MachineId; // 装备ID(可配置)
-                string StationId = GlobalContext.S5_StationId; // 工位ID(可配置)
-                string strCarrierBarcode = (string)stPLC_MesData.BarcodeSet.strCarrierBarcode; // 产品SN(物料码)
+                string MachineId = GlobalContext.S5_MachineId;  // 装备ID(可配置)
+                string StationId = GlobalContext.S5_StationId;  // 工位ID(可配置)
+                string strCarrierBarcode = (string)stPLC_MesData.BarcodeSet.strCarrierBarcode;  // 载具条码
+                string pcbBarcode = (string)stPLC_MesData.BarcodeSet.strPCBBarcode;
+
+                //绑定载具和产品
+                ResponseMessage message = new ResponseMessage();
+                message = SQLHelper.PCBCarrierBind(strCarrierBarcode, pcbBarcode);
+                if (message.result == false)
+                {
+                    AddMessage(LogType.Error, stationNameStr + "_载具码与产品码绑定失败,错误:" + message.text);
+                }
                 //载具码验证产品码                                                                              //载具码验证产品码 
                 //载具码验证产品码                                                                              //载具码验证产品码 
                 string strProductBarcode = SQLHelper.GetProductBarcodeByCarrierCode(strCarrierBarcode);
                 string strProductBarcode = SQLHelper.GetProductBarcodeByCarrierCode(strCarrierBarcode);
+
                 if (string.IsNullOrEmpty(strProductBarcode))
                 if (string.IsNullOrEmpty(strProductBarcode))
                 {
                 {
                     AddMessage(LogType.Error, $"{stationNameStr}_未能查到已绑定的载具信息,无法进行载具绑定产品验证");
                     AddMessage(LogType.Error, $"{stationNameStr}_未能查到已绑定的载具信息,无法进行载具绑定产品验证");
                 }
                 }
 
 
-                //这个地方之后PLC可能会返回SN码,到时用返回的和数据库中的比较下对错,结果faalse怎么办现在不知道
-                //if (sn != strProductBarcode)
-                //{
-                //    AddMessage(LogType.Info, $"进站产品码错误!与载具绑定的产品码不匹配,进站产品码:{sn};载具绑定产品码:{strProductBarcode}");
-                //}
                 sn = strProductBarcode;
                 sn = strProductBarcode;
-                AddMessage(LogType.Info, $"载具码:{strCarrierBarcode};产品码:{sn}");
+                AddMessage(LogType.Info, $"载具码:{strCarrierBarcode};产品码:{sn};PCB码:{pcbBarcode}");
 
 
                 // 产品SN(物料码)校验
                 // 产品SN(物料码)校验
                 List<TestItem> item = new List<TestItem>();
                 List<TestItem> item = new List<TestItem>();
@@ -5121,15 +5125,15 @@ namespace MainForm
         {
         {
             Stopwatch stopwatch1 = new Stopwatch();
             Stopwatch stopwatch1 = new Stopwatch();
             Stopwatch stopwatch2 = new Stopwatch();
             Stopwatch stopwatch2 = new Stopwatch();
-
             try
             try
             {
             {
                 stopwatch1.Start();
                 stopwatch1.Start();
                 AddMessage(LogType.Info, stationNameStr + "_进站开始");
                 AddMessage(LogType.Info, stationNameStr + "_进站开始");
-                string sn = (string)stPLC_MesData.BarcodeSet.strProductBarcode; // 产品SN(物料码)
-                string MachineId = GlobalContext.S6_MachineId; // 装备ID(可配置)
-                string StationId = GlobalContext.S6_StationId; // 工位ID(可配置)
-                string strCarrierBarcode = (string)stPLC_MesData.BarcodeSet.strCarrierBarcode; // 产品SN(物料码)
+                string sn = (string)stPLC_MesData.BarcodeSet.strProductBarcode;  // 产品SN(物料码)
+                string MachineId = GlobalContext.S6_MachineId;  // 装备ID(可配置)
+                string StationId = GlobalContext.S6_StationId;  // 工位ID(可配置)
+                string strCarrierBarcode = (string)stPLC_MesData.BarcodeSet.strCarrierBarcode;  // 产品SN(物料码)
+                //strCarrierBarcode = "N801A-003";
                 //载具码验证产品码 
                 //载具码验证产品码 
                 string strProductBarcode = SQLHelper.GetProductBarcodeByCarrierCode(strCarrierBarcode);
                 string strProductBarcode = SQLHelper.GetProductBarcodeByCarrierCode(strCarrierBarcode);
                 if (string.IsNullOrEmpty(strProductBarcode))
                 if (string.IsNullOrEmpty(strProductBarcode))
@@ -5140,6 +5144,25 @@ namespace MainForm
                 sn = strProductBarcode;
                 sn = strProductBarcode;
                 AddMessage(LogType.Info, $"载具码:{strCarrierBarcode};产品码:{sn}");
                 AddMessage(LogType.Info, $"载具码:{strCarrierBarcode};产品码:{sn}");
 
 
+                if (OpenDailogFalg)
+                {
+                    using (var dialog = new BandBarodeDialog())
+                    {
+                        dialog._CarrierBarcode = strCarrierBarcode;
+                        dialog._ProductBarcode = sn;
+                        var rs = dialog.ShowDialog();
+                        if (rs == DialogResult.OK)
+                        {
+                            AddMessage(LogType.Info, $"扫码校验通过,载具码:{strCarrierBarcode};产品码:{sn};产品码:{sn}");
+                            OpenDailogFalg = false;//关闭扫码
+                        }
+                        else {
+                            ProgressState = false;
+                            return;
+                        }
+                    }
+                }
+
                 // 产品SN(物料码)校验
                 // 产品SN(物料码)校验
                 List<TestItem> item = new List<TestItem>();
                 List<TestItem> item = new List<TestItem>();
                 stopwatch2.Start();
                 stopwatch2.Start();
@@ -5177,6 +5200,7 @@ namespace MainForm
                 stationNameStr + "_进站;总用时" + stopwatch1.ElapsedMilliseconds + "ms;调用MES用时" +
                 stationNameStr + "_进站;总用时" + stopwatch1.ElapsedMilliseconds + "ms;调用MES用时" +
                 stopwatch2.ElapsedMilliseconds + "ms");
                 stopwatch2.ElapsedMilliseconds + "ms");
             ProgressState = false;
             ProgressState = false;
+            OpenDailogFalg = true; //开启下一个物料的扫码
         }
         }
 
 
 
 
@@ -13783,5 +13807,26 @@ namespace MainForm
         #endregion 日志
         #endregion 日志
 
 
 
 
+        //private void button1_Click(object sender, EventArgs e)
+        //{
+        //    OpenDailogFalg=true;
+        //    if (OpenDailogFalg)
+        //    {
+        //        using (var dialog = new BandBarodeDialog())
+        //        {
+        //            string strCarrierBarcode = "N801A-003";
+
+        //            dialog._CarrierBarcode = strCarrierBarcode;
+        //            string sn = SQLHelper.GetProductBarcodeByCarrierCode(strCarrierBarcode);
+        //            dialog._ProductBarcode = sn;
+        //            var rs = dialog.ShowDialog();
+        //            if (rs == DialogResult.OK)
+        //            {
+        //                AddMessage(LogType.Info, $"扫码校验通过,载具码:{strCarrierBarcode};产品码:{sn};产品码:{sn}");
+        //                OpenDailogFalg = false;//关闭扫码
+        //            }
+        //        }
+        //    }
+        //}
     }
     }
 }
 }

+ 1 - 1
MainForm/FaForm/Form_Home.resx

@@ -8367,7 +8367,7 @@
         AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
         AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
         LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
         LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
         ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACQ
         ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACQ
-        PgAAAk1TRnQBSQFMAgEBAwEAAdABCAHQAQgBIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA
+        PgAAAk1TRnQBSQFMAgEBAwEAAdgBCAHYAQgBIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA
         AwABIAMAAQEBAAEgBgABQP8A/wA8AAP5Af8DzgH/A6gB/wOLAf8DeAH/A3EB/wNxAf8DeAH/A4sB/wOo
         AwABIAMAAQEBAAEgBgABQP8A/wA8AAP5Af8DzgH/A6gB/wOLAf8DeAH/A3EB/wNxAf8DeAH/A4sB/wOo
         Af8DzwH/A/kB/1AAAfcB+wH3Af8BuwHgAbYB/wGGAcgBfAH/AV0BtQFQAf8BQgGpATMB/wE5AaUBKQH/
         Af8DzwH/A/kB/1AAAfcB+wH3Af8BuwHgAbYB/wGGAcgBfAH/AV0BtQFQAf8BQgGpATMB/wE5AaUBKQH/
         ATkBpQEpAf8BQwGqATQB/wFdAbYBUAH/AYUByAF7Af8BvAHhAbcB/wH3AfsB9wH/UAAB9gH1AfsB/wGw
         ATkBpQEpAf8BQwGqATQB/wFdAbYBUAH/AYUByAF7Af8BvAHhAbcB/wH3AfsB9wH/UAAB9gH1AfsB/wGw

+ 13 - 0
MainForm/MainForm.csproj

@@ -292,6 +292,16 @@
     <Compile Include="ClassFile\XiaomiAPI_MES\XiaomiMESHttp_X5.cs" />
     <Compile Include="ClassFile\XiaomiAPI_MES\XiaomiMESHttp_X5.cs" />
     <Compile Include="ClassFile\XiaomiAPI_MES\XiaomiMESResponse_ErrCode.cs" />
     <Compile Include="ClassFile\XiaomiAPI_MES\XiaomiMESResponse_ErrCode.cs" />
     <Compile Include="ClassFile\XiaomiAPI_RouteCom\XiaomiMES_RouteCommunication.cs" />
     <Compile Include="ClassFile\XiaomiAPI_RouteCom\XiaomiMES_RouteCommunication.cs" />
+    <Compile Include="ClassFile\XiaomiClass\AGVHelper.cs" />
+    <Compile Include="ClassFile\XiaomiClass\IoTHelper.cs" />
+    <Compile Include="ClassFile\XiaomiClass\MesHelper.cs" />
+    <Compile Include="ClassFile\XiaomiClass\ProcessHelper.cs" />
+    <Compile Include="FaForm\BandBarodeDialog.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="FaForm\BandBarodeDialog.Designer.cs">
+      <DependentUpon>BandBarodeDialog.cs</DependentUpon>
+    </Compile>
     <Compile Include="FaForm\Form_DevAlarm.cs">
     <Compile Include="FaForm\Form_DevAlarm.cs">
       <SubType>Form</SubType>
       <SubType>Form</SubType>
     </Compile>
     </Compile>
@@ -409,6 +419,9 @@
       <DependentUpon>Resources.resx</DependentUpon>
       <DependentUpon>Resources.resx</DependentUpon>
     </Compile>
     </Compile>
     <Compile Include="Settings.cs" />
     <Compile Include="Settings.cs" />
+    <EmbeddedResource Include="FaForm\BandBarodeDialog.resx">
+      <DependentUpon>BandBarodeDialog.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="FaForm\Form_DevAlarm.resx">
     <EmbeddedResource Include="FaForm\Form_DevAlarm.resx">
       <DependentUpon>Form_DevAlarm.cs</DependentUpon>
       <DependentUpon>Form_DevAlarm.cs</DependentUpon>
     </EmbeddedResource>
     </EmbeddedResource>