private void Window_Loaded(object sender, RoutedEventArgs e) { ProductID pid = ProductID.Unknow; CustomProductID cid = CustomProductID.Unknow; if (Enum.IsDefined(typeof(CustomProductID), m_Parameter.PumpType)) { cid = (CustomProductID)Enum.Parse(typeof(CustomProductID), m_Parameter.PumpType); pid = ProductIDConvertor.Custom2ProductID(cid); } int pumpCount = m_PumpLocationList.Count; if (pid == ProductID.GrasebyF8) { pumpCount = pumpCount * 2; } if (m_PumpLocationList != null && pumpCount <= 15) { this.Height += pumpCount * 40; this.Height += 8; scroll.Height += pumpCount * 40; scroll.Height += 8; } else { this.Height += 16 * 40; this.Height += 8; scroll.Height += 15 * 40; } LoadDetailList(); }
/// <summary> /// C9是否通过测试 /// </summary> /// <returns></returns> public override bool IsPass() { CustomProductID cid = ProductIDConvertor.Name2CustomProductID(m_PumpType); if (cid == CustomProductID.Unknow) { Logger.Instance().ErrorFormat("泵类型转换出错,不支持的类型 PumpType ={0}", m_PumpType); return(false); } ProductID pid = ProductIDConvertor.Custom2ProductID(cid); Hashtable alarmMetrix = null; uint depletealArmIndex = 0, lowVolArmIndex = 0; //耗尽和低电压索引 uint completeArmIndex = 0, willCompleteArmIndex = 0; //输液结束和输液即将结束 uint forgetStartAlarmIndex = 0; //遗忘操作 #region //查询耗尽、遗忘操作、低电、输液结束和输液即将结束5种类型的报警ID switch (pid) { case ProductID.GrasebyC9: alarmMetrix = AlarmMetrix.Instance().AlarmMetrixC9; depletealArmIndex = 15; lowVolArmIndex = 12; completeArmIndex = 17; willCompleteArmIndex = 14; forgetStartAlarmIndex = 13; break; default: break; } #endregion if (depletealArmIndex == 0 || lowVolArmIndex == 0 || completeArmIndex == 0 || willCompleteArmIndex == 0 || forgetStartAlarmIndex == 0 ) { return(false); } int findIndex = m_AlarmList.FindIndex((x) => { return(x > 0 && x != depletealArmIndex && x != lowVolArmIndex && x != completeArmIndex && x != willCompleteArmIndex && x != forgetStartAlarmIndex); }); if (findIndex >= 0) { return(false); } else { return(true); } }
/// <summary> /// 重新初始化压力等级,C9有个等级,其他泵则只有4个 /// </summary> /// <param name="cid"></param> private void InitPressureLevel(CustomProductID cid) { if (cid == CustomProductID.GrasebyC9) { cmOcclusionLevel.ItemsSource = Enum.GetNames(typeof(C9OcclusionLevel)); } else { cmOcclusionLevel.ItemsSource = Enum.GetNames(typeof(OcclusionLevel)); } }
/// <summary> /// 当已经配置完成后,重新再进入配置界面时,要将之前的参数赋值 /// </summary> private void InitParameter() { if (DockWindow.m_DockParameter.ContainsKey(m_DockNo)) { AgingParameter para = DockWindow.m_DockParameter[m_DockNo] as AgingParameter; int index = -1; for (int i = 0; i < cmPumpType.Items.Count; i++) { if (string.Compare(cmPumpType.Items[i].ToString(), para.PumpType, true) == 0) { index = i; break; } } if (index >= 0) { cmPumpType.SelectedIndex = index; CustomProductID cid = ProductIDConvertor.Name2CustomProductID(para.PumpType); for (int i = 0; i < cmOcclusionLevel.Items.Count; i++) { if (cid == CustomProductID.GrasebyC9) { if (string.Compare(cmOcclusionLevel.Items[i].ToString(), para.C9OclusionLevel.ToString(), true) == 0) { index = i; break; } } else { if (string.Compare(cmOcclusionLevel.Items[i].ToString(), para.OclusionLevel.ToString(), true) == 0) { index = i; break; } } } if (index >= 0) { cmOcclusionLevel.SelectedIndex = index; } } tbRate.Text = para.Rate.ToString(); tbVolume.Text = para.Volume.ToString(); tbCharge.Text = para.ChargeTime.ToString(); tbRecharge.Text = para.RechargeTime.ToString(); } }
/// <summary> /// 查找某C9类泵所有出现的报警ID对应的首次发生时间 /// </summary> /// <returns></returns> public override string GetAlarmStringAndOcurredTime() { CustomProductID cid = ProductIDConvertor.Name2CustomProductID(m_PumpType); if (cid == CustomProductID.Unknow) { Logger.Instance().ErrorFormat("泵类型转换出错,不支持的类型 PumpType ={0}", m_PumpType); return(string.Empty); } ProductID pid = ProductIDConvertor.Custom2ProductID(cid); Hashtable alarmMetrix = null; #region //查询所属报警的映射表 switch (pid) { case ProductID.GrasebyC9: alarmMetrix = AlarmMetrix.Instance().AlarmMetrixC9; break; default: break; } #endregion if (alarmMetrix == null) { return(""); } StringBuilder sb = new StringBuilder(); DateTime ocurredTime = DateTime.MinValue; foreach (var id in m_AlarmList) { if (id > 0) { if (m_AlarmOccurredTime.ContainsKey(id)) { ocurredTime = (DateTime)m_AlarmOccurredTime[id]; if (ocurredTime.Year > 2000) { sb.Append(ocurredTime.ToString("yyyy-MM-dd HH:mm:ss")); sb.Append("->"); } } sb.Append(alarmMetrix[id] as string); sb.Append("\n"); } } return(sb.ToString().TrimEnd('\n')); }
public override string GetAlarmString() { CustomProductID cid = ProductIDConvertor.Name2CustomProductID(m_PumpType); if (cid == CustomProductID.Unknow) { Logger.Instance().ErrorFormat("泵类型转换出错,不支持的类型 PumpType ={0}", m_PumpType); return(string.Empty); } ProductID pid = ProductIDConvertor.Custom2ProductID(cid); Hashtable alarmMetrix = null; #region //查询所属报警的映射表 switch (pid) { case ProductID.GrasebyC9: alarmMetrix = AlarmMetrix.Instance().AlarmMetrixC9; break; default: break; } #endregion if (alarmMetrix == null) { return(""); } StringBuilder sb = new StringBuilder(); int iCount = 0; foreach (var id in m_AlarmList) { if (alarmMetrix.ContainsKey(id)) { sb.Append(alarmMetrix[id] as string); sb.Append(";"); ++iCount; if (iCount % 2 == 0) { sb.Append("\n"); } } } return(sb.ToString()); }
/// <summary> /// 选择泵类型,下拉列表框 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnSelectionChanged(object sender, SelectionChangedEventArgs e) { SinglePump pump = null; string strPumpType = string.Empty; int index = 0; CustomProductID cid = CustomProductID.Unknow; for (int i = 0; i < pumplistGrid.Children.Count; i++) { if (pumplistGrid.Children[i] is SinglePump) { pump = pumplistGrid.Children[i] as SinglePump; strPumpType = cmPumpType.Items[cmPumpType.SelectedIndex].ToString(); cid = ProductIDConvertor.Name2CustomProductID(strPumpType); InitPressureLevel(cid); if (cid == CustomProductID.GrasebyF6_Double || cid == CustomProductID.WZS50F6_Double) { if (pump.Tag != null && !string.IsNullOrEmpty(pump.Tag.ToString())) { if (int.TryParse(pump.Tag.ToString(), out index)) { if (index % 2 == 1) { pump.lbPumpType.Content = strPumpType + " 1道"; } else { pump.lbPumpType.Content = strPumpType + " 2道"; } } } pump.EnableCheckBoxClick = true; } else { pump.EnableCheckBoxClick = false; pump.lbPumpType.Content = strPumpType; } } } }
/// <summary> /// 当客户端连入时要发送泵类型信息, /// 如果用户尚未配置,则不用发,留到点开始的时候发 /// </summary> /// <param name="e"></param> private void SendPumpType2Wifi(SocketConnectArgs e) { Controller controller = ControllerManager.Instance().Get(e.ConnectedSocket); if (controller == null) { return; } int dockNo = controller.DockNo; AgingDock dock = m_DockList.Find((x) => { return(x.DockNo == dockNo); }); if (dock == null || dock.ChannelHashRowNo == null || !dock.ChannelHashRowNo.ContainsKey(controller.RowNo)) { return; } AgingParameter para = m_DockParameter[dockNo] as AgingParameter; if (para != null) { CustomProductID cid = ProductIDConvertor.Name2CustomProductID(para.PumpType); ProductID pid = ProductIDConvertor.Custom2ProductID(cid); CommandManage cmdManager = new CommandManage(); int iChannel = (int)dock.ChannelHashRowNo[controller.RowNo]; byte channel = (byte)(iChannel & 0x000000FF); //一旦收到连接,立即发送泵信息,必须要延迟10秒 if (pid == ProductID.Graseby1200En)//英文版的ID和中文的一样 { pid = ProductID.Graseby1200; } cmdManager.SendPumpType(pid, (ushort)m_QueryInterval, e.ConnectedSocket, null, channel); } else { Logger.Instance().Debug("SendPumpType2Wifi()->DefaultParameter is null"); } }
/// <summary> /// 判断是否通过的标准就是除了低电和耗尽,其他的报警都算不通过(项目二期修改要求:输液即将结束、输液结束不作为报警存在) /// </summary> /// <returns></returns> public bool IsPass() { CustomProductID cid = ProductIDConvertor.Name2CustomProductID(m_PumpType); if (cid == CustomProductID.Unknow) { Logger.Instance().ErrorFormat("泵类型转换出错,不支持的类型 PumpType ={0}", m_PumpType); return(false); } ProductID pid = ProductIDConvertor.Custom2ProductID(cid); Hashtable alarmMetrix = null; uint depletealArmIndex = 0, lowVolArmIndex = 0; //耗尽和低电压索引 uint completeArmIndex = 0, willCompleteArmIndex = 0; //输液结束和输液即将结束 uint forgetStartAlarmIndex = 0; //未启动 #region //查询耗尽.低电输液结束和输液即将结束4种类型的报警索引 switch (pid) { case ProductID.GrasebyC6: alarmMetrix = AlarmMetrix.Instance().AlarmMetrixC6; depletealArmIndex = 0x00000008; lowVolArmIndex = 0x00000100; completeArmIndex = 0x00000080; willCompleteArmIndex = 0; break; case ProductID.GrasebyC6T: alarmMetrix = AlarmMetrix.Instance().AlarmMetrixC6T; depletealArmIndex = 0x00000008; lowVolArmIndex = 0x00000100; completeArmIndex = 0x00000080; willCompleteArmIndex = 0; break; case ProductID.GrasebyC8: alarmMetrix = AlarmMetrix.Instance().AlarmMetrixC8; depletealArmIndex = 0x00010000; lowVolArmIndex = 0x00000001; completeArmIndex = 0x00040000; willCompleteArmIndex = 0x00000004; forgetStartAlarmIndex = 0x00000002; break; case ProductID.GrasebyF6: alarmMetrix = AlarmMetrix.Instance().AlarmMetrixF6; depletealArmIndex = 0x00000008; lowVolArmIndex = 0x00000100; completeArmIndex = 0x00000080; willCompleteArmIndex = 0; break; case ProductID.GrasebyF8: //C8和F8是一样 alarmMetrix = AlarmMetrix.Instance().AlarmMetrixC8; depletealArmIndex = 0x00010000; lowVolArmIndex = 0x00000001; completeArmIndex = 0x00040000; willCompleteArmIndex = 0x00000004; forgetStartAlarmIndex = 0x00000002; break; case ProductID.Graseby1200: alarmMetrix = AlarmMetrix.Instance().AlarmMetrix1200; depletealArmIndex = 0x00000010; lowVolArmIndex = 0x00004000; completeArmIndex = 0x00000100; willCompleteArmIndex = 0x00001000; break; case ProductID.Graseby1200En: alarmMetrix = AlarmMetrix.Instance().AlarmMetrix1200En; depletealArmIndex = 0x00000020; lowVolArmIndex = 0x00008000; completeArmIndex = 0x00000200; willCompleteArmIndex = 0x00002000; break; case ProductID.Graseby2000: alarmMetrix = AlarmMetrix.Instance().AlarmMetrix2000; depletealArmIndex = 0x00000008; lowVolArmIndex = 0x00000100; completeArmIndex = 0x00000080; willCompleteArmIndex = 0; break; case ProductID.Graseby2100: alarmMetrix = AlarmMetrix.Instance().AlarmMetrix2100; depletealArmIndex = 0x00000008; lowVolArmIndex = 0x00000100; completeArmIndex = 0x00000080; willCompleteArmIndex = 0; break; default: break; } #endregion uint filterAlarm = m_Alarm & (~(depletealArmIndex | lowVolArmIndex | completeArmIndex | willCompleteArmIndex | forgetStartAlarmIndex)); if (filterAlarm > 0) { return(false); } else { return(true); } }
public string GetAlarmStringAndOcurredTime() { CustomProductID cid = ProductIDConvertor.Name2CustomProductID(m_PumpType); if (cid == CustomProductID.Unknow) { Logger.Instance().ErrorFormat("泵类型转换出错,不支持的类型 PumpType ={0}", m_PumpType); return(string.Empty); } ProductID pid = ProductIDConvertor.Custom2ProductID(cid); Hashtable alarmMetrix = null; #region //查询所属报警的映射表 switch (pid) { case ProductID.GrasebyC6: alarmMetrix = AlarmMetrix.Instance().AlarmMetrixC6; break; case ProductID.GrasebyC6T: alarmMetrix = AlarmMetrix.Instance().AlarmMetrixC6T; break; case ProductID.GrasebyC8: alarmMetrix = AlarmMetrix.Instance().AlarmMetrixC8; break; case ProductID.GrasebyF6: alarmMetrix = AlarmMetrix.Instance().AlarmMetrixF6; break; case ProductID.GrasebyF8: //C8和F8是一样 alarmMetrix = AlarmMetrix.Instance().AlarmMetrixC8; break; case ProductID.Graseby1200: alarmMetrix = AlarmMetrix.Instance().AlarmMetrix1200; break; case ProductID.Graseby1200En: alarmMetrix = AlarmMetrix.Instance().AlarmMetrix1200En; break; case ProductID.Graseby2000: alarmMetrix = AlarmMetrix.Instance().AlarmMetrix2000; break; case ProductID.Graseby2100: alarmMetrix = AlarmMetrix.Instance().AlarmMetrix2100; break; default: break; } #endregion StringBuilder sb = new StringBuilder(); DateTime ocurredTime = DateTime.MinValue; foreach (DictionaryEntry dic in alarmMetrix) { uint alarmID = (uint)dic.Key; if ((alarmID & m_Alarm) == alarmID) { if (m_AlarmOccurredTime.ContainsKey(alarmID)) { ocurredTime = (DateTime)m_AlarmOccurredTime[alarmID]; if (ocurredTime.Year > 2000) { sb.Append(ocurredTime.ToString("yyyy-MM-dd HH:mm:ss")); sb.Append("->"); } } sb.Append(dic.Value); sb.Append("\n"); } } return(sb.ToString().TrimEnd('\n')); }
public string GetAlarmString() { CustomProductID cid = ProductIDConvertor.Name2CustomProductID(m_PumpType); if (cid == CustomProductID.Unknow) { Logger.Instance().ErrorFormat("泵类型转换出错,不支持的类型 PumpType ={0}", m_PumpType); return(string.Empty); } ProductID pid = ProductIDConvertor.Custom2ProductID(cid); Hashtable alarmMetrix = null; #region //查询所属报警的映射表 switch (pid) { case ProductID.GrasebyC6: alarmMetrix = AlarmMetrix.Instance().AlarmMetrixC6; break; case ProductID.GrasebyC6T: alarmMetrix = AlarmMetrix.Instance().AlarmMetrixC6T; break; case ProductID.GrasebyC8: alarmMetrix = AlarmMetrix.Instance().AlarmMetrixC8; break; case ProductID.GrasebyF6: alarmMetrix = AlarmMetrix.Instance().AlarmMetrixF6; break; case ProductID.GrasebyF8: //C8和F8是一样 alarmMetrix = AlarmMetrix.Instance().AlarmMetrixC8; break; case ProductID.Graseby1200: alarmMetrix = AlarmMetrix.Instance().AlarmMetrix1200; break; case ProductID.Graseby1200En: alarmMetrix = AlarmMetrix.Instance().AlarmMetrix1200En; break; case ProductID.Graseby2000: alarmMetrix = AlarmMetrix.Instance().AlarmMetrix2000; break; case ProductID.Graseby2100: alarmMetrix = AlarmMetrix.Instance().AlarmMetrix2100; break; default: break; } #endregion StringBuilder sb = new StringBuilder(); int iCount = 0; foreach (DictionaryEntry dic in alarmMetrix) { uint alarmID = (uint)dic.Key; if ((alarmID & m_Alarm) == alarmID) { sb.Append(dic.Value); sb.Append(";"); ++iCount; if (iCount % 2 == 0) { sb.Append("\n"); } } } return(sb.ToString()); }
private void OnSave(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(tbRate.Text.Trim()) || string.IsNullOrEmpty(tbVolume.Text.Trim()) || string.IsNullOrEmpty(tbCharge.Text.Trim()) || string.IsNullOrEmpty(tbRecharge.Text.Trim()) || cmPumpType.SelectedIndex < 0 || cmOcclusionLevel.SelectedIndex < 0 ) { MessageBox.Show("请将参数填写完整"); return; } string szCustomPid = cmPumpType.Items[cmPumpType.SelectedIndex].ToString(); string szPressureLevel = cmOcclusionLevel.Items[cmOcclusionLevel.SelectedIndex].ToString(); decimal rate = Convert.ToDecimal(float.Parse(tbRate.Text).ToString("F1")); decimal volume = Convert.ToDecimal(float.Parse(tbVolume.Text).ToString("F1")); decimal charge = Convert.ToDecimal(tbCharge.Text); CustomProductID cid = ProductIDConvertor.Name2CustomProductID(szCustomPid); OcclusionLevel level = OcclusionLevel.H; C9OcclusionLevel c9Level = C9OcclusionLevel.Level3; if (cid == CustomProductID.GrasebyC9) { if (Enum.IsDefined(typeof(C9OcclusionLevel), szPressureLevel)) { c9Level = (C9OcclusionLevel)Enum.Parse(typeof(C9OcclusionLevel), szPressureLevel); } else { Logger.Instance().ErrorFormat("Configuration::OnSave()->压力转换出错,C9OcclusionLevel={0}", szPressureLevel); } } else { if (Enum.IsDefined(typeof(OcclusionLevel), szPressureLevel)) { level = (OcclusionLevel)Enum.Parse(typeof(OcclusionLevel), szPressureLevel); } else { Logger.Instance().ErrorFormat("Configuration::OnSave()->压力转换出错,OcclusionLevel={0}", szPressureLevel); } } decimal discharge = 0; decimal recharge = Convert.ToDecimal(tbRecharge.Text); Hashtable dockParameter = new Hashtable(); AgingParameter para = new AgingParameter(szCustomPid, rate, volume, charge, discharge, recharge, level, c9Level); for (int i = 0; i < otherDockCheckBoxGrid.Children.Count; i++) { if (otherDockCheckBoxGrid.Children[i] is CheckBox) { CheckBox box = otherDockCheckBoxGrid.Children[i] as CheckBox; if (box.IsChecked.HasValue) { if (box.IsChecked == true) { dockParameter.Add((int)box.Tag, new AgingParameter(para)); //这里需要拷贝一份新的参数 } } } } if (OnSaveConfigration != null) { OnSaveConfigration(this, new ConfigrationArgs(dockParameter)); } this.DialogResult = true; }
/// <summary> /// 只显示那些用户选中的泵信息 /// </summary> private void LoadDetailList() { //列表中要显示几台泵 int pumpCount = m_PumpLocationList.Count; if (pumpCount <= 0) { Logger.Instance().Info("老化泵数量等于0。"); return; } CustomProductID cid = ProductIDConvertor.Name2CustomProductID(m_Parameter.PumpType); ProductID pid = ProductIDConvertor.Custom2ProductID(cid); if (pid == ProductID.GrasebyF8) { pumpCount = pumpCount * 2;//F8则需要X2 } for (int i = 0; i < pumpCount; i++) { RowDefinition row = new RowDefinition(); row.Height = new GridLength(40); pumpListGrid.RowDefinitions.Add(row); } for (int i = 0; i < pumpCount; i++) { SingleDetail detail = new SingleDetail(); //F6,F8双道泵显示详细内容与其他泵不一样,要体现双道信息 if (cid == CustomProductID.GrasebyF6_Double || cid == CustomProductID.WZS50F6_Double) { if (m_PumpLocationList[i].Item3 % 2 == 0) { detail.lbPumpLocation.Content = string.Format("{0}-{1}-{2}(2道泵)", m_DockNo, m_PumpLocationList[i].Item2, m_PumpLocationList[i].Item3); } else { detail.lbPumpLocation.Content = string.Format("{0}-{1}-{2}(1道泵)", m_DockNo, m_PumpLocationList[i].Item2, m_PumpLocationList[i].Item3); } detail.lbPumpSN.Content = m_PumpLocationList[i].Item4; } else if (cid == CustomProductID.GrasebyF8) { if (i % 2 == 0) { detail.lbPumpLocation.Content = string.Format("{0}-{1}-{2}(1道泵)", m_DockNo, m_PumpLocationList[i / 2].Item2, m_PumpLocationList[i / 2].Item3); } else { detail.lbPumpLocation.Content = string.Format("{0}-{1}-{2}(2道泵)", m_DockNo, m_PumpLocationList[i / 2].Item2, m_PumpLocationList[i / 2].Item3); } detail.lbPumpSN.Content = m_PumpLocationList[i / 2].Item4; } else { detail.lbPumpSN.Content = m_PumpLocationList[i].Item4; detail.lbPumpLocation.Content = string.Format("{0}-{1}-{2}", m_DockNo, m_PumpLocationList[i].Item2, m_PumpLocationList[i].Item3); } detail.Name = "detail" + (i + 1).ToString(); detail.Tag = i + 1; detail.Margin = new Thickness(1, 1, 1, 1); detail.lbNo.Content = string.Format("{0}", i + 1); detail.lbPumpType.Content = m_Parameter.PumpType; detail.lbRate.Content = m_Parameter.Rate.ToString(); AgingPump AgingPump = null; if (cid == CustomProductID.GrasebyF8) { //F8双通道共用一个串口,在查找泵时需要指定通道编号从0开始 AgingPump = m_AgingPumpList.Find((x) => { return(x.DockNo == m_DockNo && x.RowNo == m_PumpLocationList[i / 2].Item2 && x.Channel == m_PumpLocationList[i / 2].Item3 && x.SubChannel == i % 2); }); } else { AgingPump = m_AgingPumpList.Find((x) => { return(x.DockNo == m_DockNo && x.RowNo == m_PumpLocationList[i].Item2 && x.Channel == m_PumpLocationList[i].Item3); }); } if (AgingPump != null) { if (AgingPump.BeginAgingTime.Year > 2000) { detail.lbAgingStartTime.Content = AgingPump.BeginAgingTime.ToString("MM-dd HH:mm:ss"); } if (AgingPump.BeginDischargeTime.Year > 2000) { detail.lbDischargeStartTime.Content = AgingPump.BeginDischargeTime.ToString("MM-dd HH:mm:ss"); } if (AgingPump.BeginLowVoltageTime.Year > 2000) { detail.lbLowVoltageStartTime.Content = AgingPump.BeginLowVoltageTime.ToString("MM-dd HH:mm:ss"); } if (AgingPump.BeginBattaryDepleteTime.Year > 2000) { detail.lbDepleteStartTime.Content = AgingPump.BeginBattaryDepleteTime.ToString("MM-dd HH:mm:ss"); } if (AgingPump.EndAgingTime.Year > 2000) { detail.lbAgingEndTime.Content = AgingPump.EndAgingTime.ToString("MM-dd HH:mm:ss"); } detail.lbAlarm.Content = AgingPump.GetAlarmString(); detail.lbAgingStatus.Content = AgingStatusMetrix.Instance().GetAgingStatus(AgingPump.AgingStatus); if (AgingPump.AgingStatus == EAgingStatus.Unknown) { Logger.Instance().InfoFormat("泵状态显示异常,为未状态开始老化时间={0}", AgingPump.BeginAgingTime.ToString()); } } else { detail.lbAgingStartTime.Content = ""; detail.lbDischargeStartTime.Content = ""; detail.lbLowVoltageStartTime.Content = ""; detail.lbDepleteStartTime.Content = ""; detail.lbAgingEndTime.Content = ""; detail.lbAlarm.Content = ""; detail.lbAgingStatus.Content = ""; } pumpListGrid.Children.Add(detail); Grid.SetRow(detail, i + 1); if (i % 2 == 0) { detail.Background = new SolidColorBrush(System.Windows.Media.Color.FromRgb(0x00, 0xA2, 0xE8)); } } }
/// <summary> /// 当条码枪完成一次扫码,光标自动跳到下一条 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnSerialNoInputComplete(object sender, SerialNoInputArgs e) { if (m_CheckedPumpLocationList.Count <= 0) { return; } if (cmPumpType.SelectedIndex < 0) { return; } string strPumpType = cmPumpType.Items[cmPumpType.SelectedIndex].ToString(); CustomProductID cid = ProductIDConvertor.Name2CustomProductID(strPumpType); int index = m_CheckedPumpLocationList.FindIndex((x) => { return(e.PumpLocation == x); }); if (index >= 0 && index + 1 < m_CheckedPumpLocationList.Count) { if (cid == CustomProductID.GrasebyF6_Double || cid == CustomProductID.WZS50F6_Double) { #region SinglePump pump = null; //第一道泵序列号与第二道 一样 if (index % 2 == 0) { if (m_CheckedPumpLocationList.Count > index + 1) { pump = FindPumpByLocation(m_CheckedPumpLocationList[index + 1]); if (pump != null) { pump.SetSerialNo(e.SerialNo); } } if (m_CheckedPumpLocationList.Count > index + 2) { //光标跳到下一个泵 pump = FindPumpByLocation(m_CheckedPumpLocationList[index + 2]); if (pump != null) { pump.SetCursor(); } } } else { if (m_CheckedPumpLocationList.Count > index - 1) { pump = FindPumpByLocation(m_CheckedPumpLocationList[index - 1]); if (pump != null) { pump.SetSerialNo(e.SerialNo); } } //光标跳到下一个泵 if (m_CheckedPumpLocationList.Count > index + 1) { pump = FindPumpByLocation(m_CheckedPumpLocationList[index + 1]); if (pump != null) { pump.SetCursor(); } } } #endregion } else { SinglePump pump = FindPumpByLocation(m_CheckedPumpLocationList[index + 1]); if (pump != null) { pump.SetCursor(); } } } }
public static CustomProductID Name2CustomProductID(string name) { CustomProductID cid = CustomProductID.Unknow; switch (name) { case "GrasebyC6": cid = CustomProductID.GrasebyC6; break; case "WZ50C6": cid = CustomProductID.WZ50C6; break; case "GrasebyC6T": cid = CustomProductID.GrasebyC6T; break; case "GrasebyF6单道": cid = CustomProductID.GrasebyF6_Single; break; case "Graseby2000": cid = CustomProductID.Graseby2000; break; case "Graseby2100": cid = CustomProductID.Graseby2100; break; case "GrasebyC8": cid = CustomProductID.GrasebyC8; break; case "Graseby1200中文": cid = CustomProductID.Graseby1200; break; case "Graseby1200英文": cid = CustomProductID.Graseby1200En; break; case "GrasebyF6双道": cid = CustomProductID.GrasebyF6_Double; break; case "WZS50F6单道": cid = CustomProductID.WZS50F6_Single; break; case "WZS50F6双道": cid = CustomProductID.WZS50F6_Double; break; case "GrasebyF8": cid = CustomProductID.GrasebyF8; break; case "GrasebyC9": cid = CustomProductID.GrasebyC9; break; default: cid = CustomProductID.Unknow; break; } return(cid); }
public static string CustomProductID2Name(CustomProductID cid) { string name = string.Empty; switch (cid) { case CustomProductID.GrasebyC6: name = "GrasebyC6"; break; case CustomProductID.WZ50C6: name = "WZ50C6"; break; case CustomProductID.GrasebyC6T: name = "GrasebyC6T"; break; case CustomProductID.GrasebyF6_Single: name = "GrasebyF6单道"; break; case CustomProductID.Graseby2000: name = "Graseby2000"; break; case CustomProductID.Graseby2100: name = "Graseby2100"; break; case CustomProductID.GrasebyC8: name = "GrasebyC8"; break; case CustomProductID.Graseby1200: name = "Graseby1200中文"; break; case CustomProductID.Graseby1200En: name = "Graseby1200英文"; break; case CustomProductID.GrasebyF6_Double: name = "GrasebyF6双道"; break; case CustomProductID.WZS50F6_Single: name = "WZS50F6单道"; break; case CustomProductID.WZS50F6_Double: name = "WZS50F6双道"; break; case CustomProductID.GrasebyF8: name = "GrasebyF8"; break; case CustomProductID.GrasebyC9: name = "GrasebyC9"; break; default: name = string.Empty; break; } return(name); }
public static ProductID Custom2ProductID(CustomProductID cid) { ProductID pid = ProductID.Unknow; switch (cid) { case CustomProductID.GrasebyC6: pid = ProductID.GrasebyC6; break; case CustomProductID.WZ50C6: pid = ProductID.WZ50C6; break; case CustomProductID.GrasebyC6T: pid = ProductID.GrasebyC6T; break; case CustomProductID.GrasebyF6_Single: pid = ProductID.GrasebyF6; break; case CustomProductID.Graseby2000: pid = ProductID.Graseby2000; break; case CustomProductID.Graseby2100: pid = ProductID.Graseby2100; break; case CustomProductID.GrasebyC8: pid = ProductID.GrasebyC8; break; case CustomProductID.Graseby1200: pid = ProductID.Graseby1200; break; case CustomProductID.Graseby1200En: pid = ProductID.Graseby1200En; break; case CustomProductID.GrasebyF6_Double: pid = ProductID.GrasebyF6; break; case CustomProductID.WZS50F6_Single: pid = ProductID.WZS50F6; break; case CustomProductID.WZS50F6_Double: pid = ProductID.WZS50F6; break; case CustomProductID.GrasebyF8: pid = ProductID.GrasebyF8; break; case CustomProductID.GrasebyC9: pid = ProductID.GrasebyC9; break; default: pid = ProductID.Unknow; break; } return(pid); }