示例#1
0
        private void create_Click(object sender, RoutedEventArgs e)
        {
            var code = this.code.Text.Trim();

            tip.Background = new SolidColorBrush(Colors.Red);

            if (string.IsNullOrWhiteSpace(code))
            {
                tip.Text = "请填写数据!";
            }
            else
            {
                var ret = new Business.ProcTrayManage().Create(new Model.ProcTray()
                {
                    Code = code
                });
                if (ret.IsSucceed)
                {
                    tip.Background = new SolidColorBrush(Colors.Green);
                    tip.Text       = "新增托盘成功!";
                }
                else
                {
                    tip.Text = ret.Msg;
                }
            }

            tip.Visibility = Visibility.Visible;
        }
示例#2
0
        public void Comm()
        {
            if (Arthur.App.Current.Option.RemainingMinutes <= 0)
            {
                return;
            }

            if (!Current.MainMachine.IsAlive)
            {
                return;
            }

            if (this == Current.BindTrayScaner && Current.Option.IsBindTrayScanReady && !Current.Option.IsAlreadyBindTrayScan)
            {
                LogHelper.WriteInfo("开始绑盘托盘扫码。。。");
                var ret = this.Commor.Comm(this.ScanCommand, this.ReadTimeout);
                if (ret.IsSucceed)
                {
                    var result = true;
                    var code   = ret.Data.ToString();
                    if (code.StartsWith("NR"))
                    {
                        var ret2 = this.Commor.Comm(this.ScanCommand, this.ReadTimeout);
                        if (ret2.IsSucceed && !ret2.Data.ToString().StartsWith("NR"))
                        {
                            code = ret2.Data.ToString();
                        }
                        else
                        {
                            result = false;
                            LogHelper.WriteError(this.Name + " 扫码失败!");
                            Running.ShowErrorMsg(this.Name + " 扫码失败!");
                        }
                    }

                    if (result)
                    {
                        LogHelper.WriteInfo(this.Name + "扫码OK。。。");
                        this.RealtimeStatus = "+" + code;
                        Current.MainMachine.Commor.Write("D434", (ushort)1);

                        var saveRet = Result.Success;
                        if (Current.Option.Tray11_Id < 1)
                        {
                            //把电池条码保存进数据库
                            saveRet = new Business.ProcTrayManage().Create(new Model.ProcTray()
                            {
                                Code = code
                            }, true);
                            Current.Option.Tray11_Id = (int)saveRet.Data;
                        }

                        if (saveRet.IsSucceed)
                        {
                            var t = new Thread(() =>
                            {
                                //界面交替显示扫码状态
                                Thread.Sleep(2000);
                                this.RealtimeStatus = "等待扫码...";
                            });
                            t.Start();
                        }
                        else
                        {
                            Running.StopRunAndShowMsg(saveRet.Msg);
                        }
                    }
                    else
                    {
                        LogHelper.WriteInfo(this.Name + "扫码NG。。。");
                        Current.MainMachine.Commor.Write("D434", (ushort)2);
                        this.RealtimeStatus = "扫码失败!";
                    }
                    this.IsAlive = true;
                }
                else
                {
                    LogHelper.WriteInfo(this.Name + "扫码NG。。。");

                    Current.MainMachine.Commor.Write("D434", (ushort)2);
                    this.RealtimeStatus = ret.Msg;
                    this.IsAlive        = false;
                }
                Current.Option.IsAlreadyBindTrayScan = true;
            }
            else if (this == Current.UnbindTrayScaner && Current.Option.IsUnbindTrayScanReady && !Current.Option.IsAlreadyUnbindTrayScan)
            {
                LogHelper.WriteInfo("开始解盘托盘扫码。。。");
                var ret = this.Commor.Comm(this.ScanCommand, this.ReadTimeout);
                if (ret.IsSucceed)
                {
                    var result = true;
                    var code   = ret.Data.ToString();
                    if (code.StartsWith("NR"))
                    {
                        var ret2 = this.Commor.Comm(this.ScanCommand, this.ReadTimeout);
                        if (ret2.IsSucceed && !ret2.Data.ToString().StartsWith("NR"))
                        {
                            code = ret2.Data.ToString();
                        }
                        else
                        {
                            result = false;
                            LogHelper.WriteError(this.Name + " 扫码失败!");
                            Running.ShowErrorMsg(this.Name + " 扫码失败!");
                        }
                    }

                    if (result)
                    {
                        LogHelper.WriteInfo(this.Name + "扫码OK。。。");
                        this.RealtimeStatus = "+" + code;
                        Current.MainMachine.Commor.Write("D435", (ushort)1);


                        var saveRet = Result.Success;

                        //逻辑处理
                        var procTrayId = GetObject.GetByCode <ProcTray>(code).Id;
                        if (Current.Option.Tray21_Id < 1 || Current.Option.Tray21_Id != procTrayId)
                        {
                            Current.Option.Tray21_Id = procTrayId;
                        }

                        if (saveRet.IsSucceed)
                        {
                            var t = new Thread(() =>
                            {
                                //界面交替显示扫码状态
                                Thread.Sleep(2000);
                                this.RealtimeStatus = "等待扫码...";
                            });
                            t.Start();
                        }
                        else
                        {
                            Running.StopRunAndShowMsg(saveRet.Msg);
                        }
                    }
                    else
                    {
                        LogHelper.WriteInfo(this.Name + "扫码NG。。。");
                        Current.MainMachine.Commor.Write("D435", (ushort)(Common.PROJ_NO == "0079" ? 2 : 1));
                        this.RealtimeStatus = "扫码失败!";
                    }
                    this.IsAlive = true;
                }
                else
                {
                    LogHelper.WriteInfo(this.Name + "扫码NG。。。");
                    Current.MainMachine.Commor.Write("D435", (ushort)(Common.PROJ_NO == "0079" ? 2 : 1));
                    this.RealtimeStatus = ret.Msg;
                    this.IsAlive        = false;
                }
                Current.Option.IsAlreadyUnbindTrayScan = true;
            }
        }