Exemplo n.º 1
0
        private void delete_MouseDown(object sender, MouseButtonEventArgs e)
        {
            var id       = Convert.ToInt32((sender as TextBlock).Tag);
            var ProcTray = _AppContext.ProcTrays.SingleOrDefault(r => r.Id == id);

            if (ProcTray == null)
            {
                MessageBox.Show("不存在该托盘,删除失败!", "异常提示", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }

            if (Current.User.Role.Level < _ArthurContext.Roles.Single(r => r.Name == "管理员").Level)
            {
                MessageBox.Show("当前用户权限不足!", "异常提示", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }


            if (MessageBox.Show(string.Format("确定要删除流程托盘【{0}】吗?", ProcTray.Code), "删除确认", MessageBoxButton.OKCancel) == MessageBoxResult.OK)
            {
                _AppContext.ProcTrays.Remove(ProcTray);
                _AppContext.SaveChanges();

                ProcTrayManage.ClearProcTray(id);

                Arthur.App.Business.Logging.AddOplog(string.Format("删除流程托盘[{0}]", ProcTray.Code), Arthur.App.Model.OpType.除);
                UpdateDataGrid(PageIndex);
            }
        }
Exemplo n.º 2
0
        private void SetBackground(object obj)
        {
            this.grid.Dispatcher.BeginInvoke(new Action(() => {
                var batteryCount = ProcTrayManage.GetBatteryCount(Current.Option.Tray11_Id);

                this.grid.Children.Clear();

                for (int i = 0; i < 8; i++)
                {
                    for (int j = 0; j < 4; j++)
                    {
                        var border = new Border()
                        {
                            Background = i * 4 + (Common.PROJ_NO == "0079" ? 3 - j : j) < batteryCount ? Brushes.LightGreen : Brushes.White,
                            // Margin = new Thickness(0.1),
                            BorderThickness = new Thickness(0.5),
                            BorderBrush     = Brushes.Black
                        };
                        this.grid.Children.Add(border);
                        Grid.SetRow(border, i);
                        Grid.SetColumn(border, j);
                    }
                }
            }));
        }
Exemplo n.º 3
0
        public void Comm()
        {
            if (Arthur.App.Current.Option.RemainingMinutes <= 0)
            {
                return;
            }

            if (Current.MainMachine.IsAlive && Current.Option.IsBatteryScanReady && !Current.Option.IsAlreadyBatteryScan && Current.Option.Tray11_Id > 0)
            {
                //绑盘位电池已满,不扫码,直到出现新托盘再扫
                if (ProcTrayManage.GetBatteryCount(Current.Option.Tray11_Id) >= Common.TRAY_BATTERY_COUNT)
                {
                    Running.ShowErrorMsg("绑盘位扫码电池数超过最大值:" + Common.TRAY_BATTERY_COUNT);
                    return;
                }

                Current.Option.IsAlreadyBatteryScan = true;
                var ret = this.Commor.Comm(this.ScanCommand, this.ReadTimeout);
                if (!ret.IsSucceed || ret.Data.ToString().StartsWith("NG"))
                {
                    ret = this.Commor.Comm(this.ScanCommand, this.ReadTimeout);
                    if (!ret.IsSucceed || ret.Data.ToString().StartsWith("NG"))
                    {
                        ret = this.Commor.Comm(this.ScanCommand, this.ReadTimeout);
                        if (!ret.IsSucceed || ret.Data.ToString().StartsWith("NG"))
                        {
                            var msg = ret.Data.ToString().StartsWith("NG") ? "扫码NG" : " 扫码失败!" + ret.Msg;
                            this.RealtimeStatus = msg;
                            Current.MainMachine.Commor.Write("D433", (ushort)2);
                            Running.ShowErrorMsg(this.Name + msg);
                            this.IsAlive = false;
                            return;
                        }
                    }
                }

                var code = ret.Data.ToString();
                this.RealtimeStatus = "+" + code;
                Current.MainMachine.Commor.Write("D433", (ushort)1);
                this.IsAlive = true;

                //把电池条码保存进数据库
                var saveRet = new Business.BatteryManage().Create(new Model.Battery()
                {
                    Code = code
                }, true);
                if (saveRet.IsSucceed)
                {
                    var t = new Thread(() =>
                    {
                        //界面交替显示扫码状态
                        Thread.Sleep(2000);
                        this.RealtimeStatus = "等待扫码...";
                    });
                    t.Start();
                }
                else
                {
                    Running.StopRunAndShowMsg(saveRet.Msg);
                }
            }
        }