private void deleteValue() { List <DataPacketType> hashKeys = new List <DataPacketType>(); foreach (DataPacketType dpTItem in listSetType.Keys) { if (!(listSetType[dpTItem] is DP_TYPE_LABEL)) { continue; } DP_TYPE_LABEL dptLabelItem = (DP_TYPE_LABEL)listSetType[dpTItem]; if (dptLabelItem.IsReturn && dptLabelItem.CreateTime + 1000 < XwDataUtils.GetTimeStamp(false)) { hashKeys.Add(dpTItem); //listSetType.Remove(dpTItem); if (this.labInterface != null) { labInterface.enableFalse(dptLabelItem.Lab); } } } foreach (DataPacketType dpTItem in hashKeys) { listSetType.Remove(dpTItem); } hashKeys.Clear(); hashKeys = null; }
/// <summary> /// 超时未收到返回数据 /// </summary> /// <param name="dptLabel"></param> private void longTimeChangeLab(DP_TYPE_LABEL dptLabel) { if (dptLabel.IsReturn) { return; } if (this.labInterface != null) { labInterface.setUpdataResultLabelMain(dptLabel.Lab, "失败"); } dptLabel.CreateTime = XwDataUtils.GetTimeStamp(false); dptLabel.IsReturn = true; }
public void insertSet(DP_TYPE_LABEL dptLabel) { if (dptLabel == null) { return; } dptLabel.CreateTime = XwDataUtils.GetTimeStamp(false); lock (obj) { if (listSetType.ContainsKey(dptLabel.DpType)) { listSetType[dptLabel.DpType] = dptLabel; } else { listSetType.Add(dptLabel.DpType, dptLabel); } } if (isThreadOver) { new Thread(runThread).Start(); } }
/// <summary> /// 成功返回数据时 /// </summary> /// <param name="dptLabel"></param> public void returnSuccess(DP_TYPE_LABEL dptLabel) { lock (obj) { foreach (DP_TYPE_LABEL dptLabelItem in listSetType.Values) { if (dptLabelItem == null) { continue; } if (dptLabelItem.DpType != dptLabel.DpType) { continue; } if (this.labInterface != null) { labInterface.setUpdataResultLabelMain(dptLabel.Lab, "成功"); } dptLabelItem.CreateTime = XwDataUtils.GetTimeStamp(false); dptLabelItem.IsReturn = true; } } }
/// <summary> /// 成功返回结果显示 /// </summary> private void retuViewVisi(byte[] ID, DataPacketType dpType, Label lab) { DP_TYPE_LABEL dpLabel = new DP_TYPE_LABEL(dpType, lab); SetDataResuleView.getInstance().returnSuccess(dpLabel); }
/// <summary> /// 设置结果显示 /// </summary> private void setViewVisi(DataPacketType dpType, Label lab) { DP_TYPE_LABEL dpLabel = new DP_TYPE_LABEL(dpType, lab); SetDataResuleView.getInstance().insertSet(dpLabel); }