Преглед на файлове

读取设备逻辑优化

callm преди 1 седмица
родител
ревизия
4be62f3555
променени са 1 файла, в които са добавени 50 реда и са изтрити 72 реда
  1. 50 72
      UAS_MES_YDCY/FunctionCode/Make/Make_CheckRFID.cs

+ 50 - 72
UAS_MES_YDCY/FunctionCode/Make/Make_CheckRFID.cs

@@ -49,8 +49,6 @@ namespace UAS_MES_NEW.Make
 
         DataTable Dbfind;
 
-        public N01Api n01Api = new N01Api();
-
         public Make_CheckRFID()
         {
             InitializeComponent();
@@ -167,66 +165,9 @@ namespace UAS_MES_NEW.Make
                                 return;
                             }
                         }
-
-                        //// 创建一个N01AntPwr对象,包含天线ID和功率值
-                        //N01AntPwr antPwr = new N01AntPwr((byte)(1), (ushort)3000, (ushort)3000);
-                        //// 将创建的对象添加到列表中
-                        //ans.Add(antPwr);
-                        //// 调用API设置天线1的功率参数
-                        //RET_ERRNO eT_ERRNO = n01Api.N01_SetMultiAntPwr(ans.ToArray());
-                        //OperateResult.AppendText("设置天线功率结果:" + eT_ERRNO);
                         //开始盘存
                         RET_ERRNO er = n01Api.N01_StartReading();
                         OperateResult.AppendText("开始盘存:" + er);
-                        Thread.Sleep(3000);
-                        //停止盘存
-                        RET_ERRNO rET_ = n01Api.N01_StopReading();
-                        OperateResult.AppendText("停止盘存:" + rET_);
-
-                        if (readsn != sncode.Text)
-                        {
-                            OperateResult.AppendText(">>读取SN" + readsn + "和输入SN" + sncode.Text + "不一致\n", Color.Red);
-                            return;
-                        }
-
-                        OperateResult.AppendText("<<序列号:" + sncode.Text + "\n", Color.Black);
-                        //记录日志
-                        LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakeCode, User.UserLineCode, User.UserSourceCode, "RFID核对", "RFID核对成功", sncode.Text, "");
-                        //更新打印的数据
-                        if (LogicHandler.SetStepResult(ma_code.Text, User.UserSourceCode, sncode.Text, "RFID核对", "RFID核对成功", User.UserCode, out oErrorMessage))
-                        {
-                            //提示正确返回时传递的信息
-                            if (oErrorMessage.Contains("AFTERSUCCESS"))
-                                OperateResult.AppendText(">>" + oErrorMessage + "\n");
-                            if (CollectRemark.Checked && Remark.Text != "")
-                            {
-                                LogicHandler.CollectRemarkInf(sncode.Text, "", "", oMakeCode, ma_prodcode.Text, Remark.Text);
-                            }
-                            //清空输入框的值,聚焦
-                            sncode.Text = "";
-                            sncode.Focus();
-                            //刷新打印数量和剩余数量
-                            dt = (DataTable)dh.ExecuteSql("select ma_qty - nvl(mcd_inqty, 0) mcd_remainqty,nvl(ma_unlimitin,0)ma_unlimitin from make left join makecraftdetail on mcd_macode=ma_code where ma_code='" + ma_code.Text + "' and mcd_stepcode='" + User.CurrentStepCode + "'", "select");
-                            BaseUtil.SetFormValue(Controls, dt);
-                            mcd_okqty.Text = int.Parse(mcd_okqty.Text) + 1 + "";
-                            //IF 剩余数=0,则清空form中的数据, 提示用户“工单:xx已经打印完成,>>请输入SN”, 清空mapB,listC 中的数据
-                            if (int.Parse(mcd_remainqty.Text) == 0 && ma_unlimitin == "0")
-                            {
-                                OperateResult.AppendText(">>工单:" + ma_code.Text + "核对完成,>>请输入SN\n", Color.Green);
-                            }
-                            //剩余数量不为0
-                            else
-                            {
-                                OperateResult.AppendText(">>请输入SN\n", Color.Black);
-                            }
-                        }
-                        else
-                        {
-                            OperateResult.AppendText(">>" + oErrorMessage + "\n", Color.Red, sncode);
-                            //清空输入框的值,聚焦
-                            sncode.Text = "";
-                            sncode.Focus();
-                        }
                     }
                     else
                     {
@@ -272,9 +213,6 @@ namespace UAS_MES_NEW.Make
         private void Connect_Click(object sender, EventArgs e)
         {
             n01Api.N01_Connect(N01ConnectType.RS232, ComList.Text + ":" + BaudRate.Text, N01AntType.SINGLE);
-            //网口连接
-            //n01Api.N01_Connect(N01ConnectType.TCP, "192.168.0.101", N01AntType.SINGLE);
-            //标签信息回调
             n01Api.TagReadDataEventCallback += TagReadDataResult;
             List<N01AntPwr> ans = new List<N01AntPwr>();
             // 创建一个N01AntPwr对象,包含天线ID和功率值
@@ -283,20 +221,60 @@ namespace UAS_MES_NEW.Make
             ans.Add(antPwr);
             // 调用API设置天线1的功率参数
             RET_ERRNO eT_ERRNO = n01Api.N01_SetMultiAntPwr(ans.ToArray());
-            //OperateResult.AppendText("设置天线功率结果:" + eT_ERRNO);
-            ////开始盘存
-            //RET_ERRNO er = n01Api.N01_StartReading();
-            //OperateResult.AppendText("开始盘存:" + er);
-            //Thread.Sleep(3000);
-            ////停止盘存
-            //RET_ERRNO rET_ = n01Api.N01_StopReading();
-            //OperateResult.AppendText("停止盘存:" + rET_);
+            OperateResult.AppendText("设置天线功率结果:" + eT_ERRNO);
         }
-        string readsn = "";
+        public N01Api n01Api = new N01Api();
         private void TagReadDataResult(object sender, TagReadDataEventArgs e)
         {
-            readsn = e.EpcInfo.epc;
             OperateResult.AppendText("tag:" + e.EpcInfo.epc);
+            if (e.EpcInfo.epc != sncode.Text)
+            {
+                OperateResult.AppendText(">>读取SN" + e.EpcInfo.epc + "和输入SN" + sncode.Text + "不一致\n", Color.Red);
+            }
+            else
+            {
+                OperateResult.AppendText("<<序列号:" + sncode.Text + "\n", Color.Black);
+
+                RET_ERRNO rET_ = n01Api.N01_StopReading();
+                OperateResult.AppendText("停止盘存:" + rET_);
+                //记录日志
+                LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakeCode, User.UserLineCode, User.UserSourceCode, "RFID核对", "RFID核对成功", sncode.Text, "");
+                //更新打印的数据
+                if (LogicHandler.SetStepResult(ma_code.Text, User.UserSourceCode, sncode.Text, "RFID核对", "RFID核对成功", User.UserCode, out oErrorMessage))
+                {
+                    //提示正确返回时传递的信息
+                    if (oErrorMessage.Contains("AFTERSUCCESS"))
+                        OperateResult.AppendText(">>" + oErrorMessage + "\n");
+                    if (CollectRemark.Checked && Remark.Text != "")
+                    {
+                        LogicHandler.CollectRemarkInf(sncode.Text, "", "", oMakeCode, ma_prodcode.Text, Remark.Text);
+                    }
+                    //清空输入框的值,聚焦
+                    sncode.Text = "";
+                    sncode.Focus();
+                    //刷新打印数量和剩余数量
+                    dt = (DataTable)dh.ExecuteSql("select ma_qty - nvl(mcd_inqty, 0) mcd_remainqty,nvl(ma_unlimitin,0)ma_unlimitin from make left join makecraftdetail on mcd_macode=ma_code where ma_code='" + ma_code.Text + "' and mcd_stepcode='" + User.CurrentStepCode + "'", "select");
+                    BaseUtil.SetFormValue(Controls, dt);
+                    mcd_okqty.Text = int.Parse(mcd_okqty.Text) + 1 + "";
+                    //IF 剩余数=0,则清空form中的数据, 提示用户“工单:xx已经打印完成,>>请输入SN”, 清空mapB,listC 中的数据
+                    if (int.Parse(mcd_remainqty.Text) == 0 && ma_unlimitin == "0")
+                    {
+                        OperateResult.AppendText(">>工单:" + ma_code.Text + "核对完成,>>请输入SN\n", Color.Green);
+                    }
+                    //剩余数量不为0
+                    else
+                    {
+                        OperateResult.AppendText(">>请输入SN\n", Color.Black);
+                    }
+                }
+                else
+                {
+                    OperateResult.AppendText(">>" + oErrorMessage + "\n", Color.Red, sncode);
+                    //清空输入框的值,聚焦
+                    sncode.Text = "";
+                    sncode.Focus();
+                }
+            }
         }
     }
 }