WIN-GH9CEESPLTB\Administrator пре 1 месец
родитељ
комит
ccd286c078

+ 5 - 1
MainForm/ClassFile/Inovance_EIP.cs

@@ -135,7 +135,8 @@ namespace EIP_Protocol
         public short testStatus;            //测试状态:=1 PASS  0=FAIL
 
         [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   
         public short beatReturn;
@@ -289,6 +290,9 @@ namespace EIP_Protocol
 
         [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 101)]    //工位零部件条码
         public string strPartBarcode;
+
+        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 101)]    //工位零部件条码
+        public string strPCBBarcode;
     }
 
     [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 string MESLaserLPath;   // 三点激光数据本地存放地址
         public static string MESLaserRPath;   // 三点激光数据本地存放地址
+
         public static string UpFileUrl;  // 文档库地址
         public static string UpFilePath;  // 本地文件路径
         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
         }
 
+        //载具码和产品码绑定关系
+        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,
                                           int throwingAmount, float cleaningPressure, float cleaningSpeed,
                                           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 ProductBarcode { get; set; } = "";  // 产品码
+            public string PCBBarcode { get; set; } = "";  // 产品码
             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 },
                     { "body", body }
                 };
-                string jsonStr = JsonConvert.SerializeObject(dataParam);
+
                 // 将 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 错误:"))
@@ -283,53 +283,27 @@ namespace MainForm.ClassFile.XiaomiAPI_MES
         /// <param name="file">文件路径</param>
         /// <param name="data">上传的数据</param>
         /// <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())
             {
                 var formData = new MultipartFormDataContent();
+                // 添加文件
+                var fileContent = new StreamContent(file.OpenRead());
+                formData.Add(fileContent, "file", file.Name);
+                // 添加数据
+                formData.Add(new StringContent(data), "data");
 
                 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)

+ 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();
             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.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.label20 = new System.Windows.Forms.Label();
             this.currentMtltmrk = new System.Windows.Forms.TextBox();
@@ -80,7 +78,9 @@
             this.colTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn();
             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.groupBox3.SuspendLayout();
             this.panel2.SuspendLayout();
@@ -126,10 +126,10 @@
             // 
             // 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.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.label20);
             this.groupBox3.Controls.Add(this.currentMtltmrk);
@@ -147,46 +147,18 @@
             this.groupBox3.TabStop = false;
             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
             // 
@@ -618,14 +590,14 @@
             this.systemLog.AllowUserToResizeRows = false;
             this.systemLog.BackgroundColor = System.Drawing.Color.White;
             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.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
             this.colDate,
@@ -637,19 +609,19 @@
             this.systemLog.Location = new System.Drawing.Point(3, 32);
             this.systemLog.Name = "systemLog";
             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.RowHeadersWidth = 51;
             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.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
             this.systemLog.Size = new System.Drawing.Size(1533, 435);
@@ -657,8 +629,8 @@
             // 
             // 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.MinimumWidth = 6;
             this.colDate.Name = "colDate";
@@ -692,18 +664,38 @@
             this.imageListState.Images.SetKeyName(1, "light_green.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
             // 
@@ -799,9 +791,13 @@
         private System.Windows.Forms.PictureBox picAgvHttp;
         private System.Windows.Forms.GroupBox groupBox15;
         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 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>
         private Dictionary<string, List<Alarm>> DicAlarms_Cur = new Dictionary<string, List<Alarm>>();
 
-
         Dictionary<int, Inovance_EIP> FunsEip = new Dictionary<int, Inovance_EIP>();
 
         /// <summary>
@@ -516,9 +515,9 @@ namespace MainForm
                     if (GlobalContext.IsUsePLC3 || GlobalContext.IsUsePLC7)
                     {
                         uiLabel1.Text = "设备状态(左):";
-                        uiLabel2.Text = "设备状态(右):";
-                        uiLabel3.Visible = true;
-                        uiLabel2.Visible = true;
+                        //uiLabel2.Text = "设备状态(右):";
+                        //uiLabel3.Visible = true;
+                        //uiLabel2.Visible = true;
                     }
 
                     AddMessage(LogType.Info, "程序初始化完成");
@@ -1347,7 +1346,7 @@ namespace MainForm
         private static readonly object lockObj = new object(); // 锁对象
         private static bool isCollectingFlagLeft;
         private static bool isCollectingFlagRight;
-
+        private bool OpenDailogFalg = true;//是否开启扫码弹窗标识
         /// <summary>
         /// float[]转为string
         /// </summary>
@@ -4612,23 +4611,28 @@ namespace MainForm
                 string sn = (string)stPLC_MesData.BarcodeSet.strProductBarcode; // 产品SN(物料码)
                 //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);
+
                 if (string.IsNullOrEmpty(strProductBarcode))
                 {
                     AddMessage(LogType.Error, $"{stationNameStr}_未能查到已绑定的载具信息,无法进行载具绑定产品验证");
                 }
 
-                //这个地方之后PLC可能会返回SN码,到时用返回的和数据库中的比较下对错,结果faalse怎么办现在不知道
-                //if (sn != strProductBarcode)
-                //{
-                //    AddMessage(LogType.Info, $"进站产品码错误!与载具绑定的产品码不匹配,进站产品码:{sn};载具绑定产品码:{strProductBarcode}");
-                //}
                 sn = strProductBarcode;
-                AddMessage(LogType.Info, $"载具码:{strCarrierBarcode};产品码:{sn}");
+                AddMessage(LogType.Info, $"载具码:{strCarrierBarcode};产品码:{sn};PCB码:{pcbBarcode}");
 
                 // 产品SN(物料码)校验
                 List<TestItem> item = new List<TestItem>();
@@ -5121,15 +5125,15 @@ namespace MainForm
         {
             Stopwatch stopwatch1 = new Stopwatch();
             Stopwatch stopwatch2 = new Stopwatch();
-
             try
             {
                 stopwatch1.Start();
                 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);
                 if (string.IsNullOrEmpty(strProductBarcode))
@@ -5140,6 +5144,25 @@ namespace MainForm
                 sn = strProductBarcode;
                 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(物料码)校验
                 List<TestItem> item = new List<TestItem>();
                 stopwatch2.Start();
@@ -5177,6 +5200,7 @@ namespace MainForm
                 stationNameStr + "_进站;总用时" + stopwatch1.ElapsedMilliseconds + "ms;调用MES用时" +
                 stopwatch2.ElapsedMilliseconds + "ms");
             ProgressState = false;
+            OpenDailogFalg = true; //开启下一个物料的扫码
         }
 
 
@@ -13783,5 +13807,26 @@ namespace MainForm
         #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
         LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
         ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACQ
-        PgAAAk1TRnQBSQFMAgEBAwEAAdABCAHQAQgBIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA
+        PgAAAk1TRnQBSQFMAgEBAwEAAdgBCAHYAQgBIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA
         AwABIAMAAQEBAAEgBgABQP8A/wA8AAP5Af8DzgH/A6gB/wOLAf8DeAH/A3EB/wNxAf8DeAH/A4sB/wOo
         Af8DzwH/A/kB/1AAAfcB+wH3Af8BuwHgAbYB/wGGAcgBfAH/AV0BtQFQAf8BQgGpATMB/wE5AaUBKQH/
         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\XiaomiMESResponse_ErrCode.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">
       <SubType>Form</SubType>
     </Compile>
@@ -409,6 +419,9 @@
       <DependentUpon>Resources.resx</DependentUpon>
     </Compile>
     <Compile Include="Settings.cs" />
+    <EmbeddedResource Include="FaForm\BandBarodeDialog.resx">
+      <DependentUpon>BandBarodeDialog.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="FaForm\Form_DevAlarm.resx">
       <DependentUpon>Form_DevAlarm.cs</DependentUpon>
     </EmbeddedResource>