private void btnConfirm_Click(object sender, RoutedEventArgs e) { var code = this.battery_code.Text.Trim(); var result = BatteryManage.NgBatteryOutFromPack(code); if (result.IsSucceed) { tip.Background = new SolidColorBrush(Colors.Green); tip.Text = "移除成功"; tip.Visibility = Visibility.Visible; var sortPack = Current.SortPacks.FirstOrDefault(o => o.SortResult == sortResult); if (sortPack != null) { sortPack.Count = PackManage.GetPackCount(this.packId); } this.sort_result.Content = ""; this.pack_code.Content = ""; this.pack_battery_count.Content = ""; } else { tip.Background = new SolidColorBrush(Colors.Red); tip.Text = result.Msg; tip.Visibility = Visibility.Visible; } }
private void btnInitPack_Click(object sender, RoutedEventArgs e) { if (MessageBox.Show("确定当前打包状态为初始化状态(分选位托盘尚未开始打包,且全部打包箱体中电池个数为0)?", "初始化打包确认", MessageBoxButton.OKCancel) != MessageBoxResult.OK) { return; } PackManage.Init(); }
private void Battery_code_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Enter) { var code = (sender as TextBox).Text.Trim(); if (!string.IsNullOrEmpty(code)) { var battery = GetObject.GetByCode <Battery>(code); if (battery.Id > 0) { this.sortResult = battery.SortResult; this.sort_result.Content = this.sortResult; packId = battery.PackId; var pack = GetObject.GetById <Pack>(packId); if (pack.Id > 0) { this.pack_code.Content = pack.Code; this.pack_battery_count.Content = PackManage.GetPackCount(packId); tip.Visibility = Visibility.Collapsed; this.btnConfirm.IsEnabled = true; } else { tip.Background = new SolidColorBrush(Colors.Red); tip.Text = "该电池尚未绑定箱体!"; tip.Visibility = Visibility.Visible; } } else { tip.Background = new SolidColorBrush(Colors.Red); tip.Text = "系统中不存在该电池!"; tip.Visibility = Visibility.Visible; } } } else { tip.Visibility = Visibility.Collapsed; } }
private void btnFinishPack_Click(object sender, RoutedEventArgs e) { var sortPack = (SortPackViewModel)sort_pack_list.SelectedItem; if (sortPack == null) { Running.ShowErrorMsg("请选中要打包的类型!"); return; } var text = string.Format("当前您选中的打包类型为:{0}, 箱体中包含电池个数:{1}\r\n确定要结束打包?", sortPack.SortResult, sortPack.Count); if (MessageBox.Show(text, "结束打包确认", MessageBoxButton.OKCancel) != MessageBoxResult.OK) { return; } var result = PackManage.Finish(sortPack); if (result.IsFailed) { Running.ShowErrorMsg(result.Msg); return; } //打开保存二维码的文件夹 var dirPath = QRCoderManage.GetSaveQRCodeDirPath(sortPack.SortResult); try { System.Diagnostics.Process.Start(dirPath); } catch (Exception ex) { Running.ShowErrorMsg(ex.Message); } }
public void Comm() { if (Arthur.App.Current.Option.RemainingMinutes <= 0) { return; } //发送给PLC上位机在线心跳 this.Commor.Write("D441", (ushort)1); var ret = this.Commor.Read("D400", (ushort)60); if (ret.IsSucceed) { this.RealtimeStatus = "通信中..."; var recv = (ushort[])ret.Data; this.chargeModelIsAuto = recv[44] == 1; this.dischargeModelIsAuto = recv[45] == 1; this.jawModelIsAuto = recv[46] == 1; Current.Option.JawMoveInfo.Col = Convert.ToInt32(recv[50]); Current.Option.JawMoveInfo.Row = Convert.ToInt32(recv[51]); Current.Option.JawMoveInfo.Floor = Convert.ToInt32(recv[52]); Current.Option.IsTaskFinished = recv[36] == (ushort)1; this.IsAlive = true; } else { this.RealtimeStatus = ret.Msg; this.IsAlive = false; } var ret2 = this.Commor.Read("W400", (ushort)10); if (ret2.IsSucceed) { this.RealtimeStatus = "通信中..."; var recv = (ushort[])ret2.Data; var bitStr1 = Convert.ToString(recv[0], 2).PadLeft(16, '0'); Current.Option.IsBatteryScanReady = bitStr1[13] == '1'; Current.Option.IsBindTrayScanReady = bitStr1[12] == '1'; Current.Option.IsUnbindTrayScanReady = bitStr1[11] == '1'; var bitStr2 = Convert.ToString(recv[5], 2).PadLeft(16, '0'); if (this.chargeModelIsAuto) { Current.Option.IsHasTray11 = bitStr2[15] == '1'; Current.Option.IsHasTray12 = bitStr2[14] == '1'; Current.Option.IsHasTray13 = bitStr2[13] == '1'; } if (dischargeModelIsAuto) { Current.Option.IsHasTray21 = bitStr2[12] == '1'; Current.Option.IsHasTray22 = bitStr2[11] == '1'; Current.Option.IsHasTray23 = bitStr2[10] == '1'; } if (this.jawModelIsAuto) { Current.Option.IsJawHasTray = bitStr2[9] == '1'; } Current.Option.IsTaskReady = bitStr2[8] == '1'; this.IsAlive = true; } else { this.RealtimeStatus = ret.Msg; this.IsAlive = false; } var ret3 = this.Commor.ReadInt("D439"); if (ret3.IsSucceed) { this.RealtimeStatus = "通信中..."; //0079 最左值 -5540111 最右值 805192 //0081 最左值 -985910 最右值 12040249 Current.Option.JawPos = Common.PROJ_NO == "0079" ? ((int)ret3.Data + 5542000) / 11900 : ((int)ret3.Data + 985910) / 21200; this.IsAlive = true; } else { this.RealtimeStatus = ret.Msg; this.IsAlive = false; } Current.App.IsTerminalInitFinished = true; if (IsPackEnabled) { var ret4 = this.Commor.Read("D443"); if (ret4.IsSucceed) { var recv = (ushort[])ret4.Data; var isReadyIntoPack = recv[0] == 1; if (this.IsReadyIntoPack && !isReadyIntoPack) { //电池放入拉带完成 PackManage.AfterPack(OrderManage.GetBindOrderByPackOrder(Current.Option.CurrentPackOrder)); Current.Option.CurrentPackOrder = Current.Option.CurrentPackOrder % 32 + 1; } if (this.IsReadyIntoPack) { this.Commor.Write("D443", (ushort)0); } this.IsReadyIntoPack = isReadyIntoPack; } } }