public SystemSetting() { InitializeComponent(); SerialComList = new List <string>(); SerialComList.Add("COM1"); SerialComList.Add("COM2"); SerialComList.Add("COM3"); SerialComList.Add("COM4"); SerialComList.Add("COM5"); SerialComList.Add("COM6"); SerialComList.Add("COM7"); SerialComList.Add("COM8"); SerialComList.Add("COM9"); tbHouseName.Text = ApplicationState.GetHouseName(); tbEquipName.Text = ApplicationState.GetEquipName(); tbMCabName.Text = ApplicationState.GetMCabName(); #if DUALCAB tbSCabName.Text = ApplicationState.GetSCabName(); #endif MLockerCB.SelectedItem = ApplicationState.GetMLockerCOM(); #if DUALCAB SLockerCB.SelectedItem = ApplicationState.GetSLockerCOM(); #endif MrfidCB.SelectedItem = ApplicationState.GetMRfidCOM(); #if DUALCAB SrfidCB.SelectedItem = ApplicationState.GetSRfidCOM(); #endif MVeinCB.SelectedItem = ApplicationState.GetMVeinCOM(); #if DUALCAB #else lbSCabName.Visibility = Visibility.Hidden; tbSCabName.Visibility = Visibility.Hidden; tbSrfid.Visibility = Visibility.Hidden; SrfidCB.Visibility = Visibility.Hidden; tbSLocker.Visibility = Visibility.Hidden; SLockerCB.Visibility = Visibility.Hidden; #endif }
/// <summary> /// 新版epc数据获取,规则rf码扫描到的字段的后八位,前加RF。例:2019072800000001 =》 RF00000001 /// </summary> /// <param name="isGetSuccess"></param> /// <returns></returns> public static Hashtable GetEpcDataNew(out bool isGetSuccess) { isGetSuccess = true; //string com1 = "COM1"; string com1 = ApplicationState.GetMRfidCOM(); #if DUALCAB //string com4 = "COM4"; string com4 = ApplicationState.GetSRfidCOM(); #endif Hashtable currentEpcDataHt = new Hashtable(); GClient com1ClientConn = CreateClientConn(com1, "115200", out bool isCom1Connect); if (isCom1Connect) { currentEpcDataHt.Add(com1, DealComData(com1ClientConn, com1, out isGetSuccess)); } else { isGetSuccess = false; } #if DUALCAB GClient com4ClientConn = CreateClientConn(com4, "115200", out bool isCom4Connect); if (isCom4Connect) { currentEpcDataHt.Add(com4, DealComData(com4ClientConn, com4, out isGetSuccess)); } else { isGetSuccess = false; } #endif WaitHandle.WaitAll(manualEvents.ToArray()); manualEvents.Clear(); return(currentEpcDataHt); }
/// <summary> /// 根据eps json获取eps对象数据 /// </summary> /// <param name="isGetSuccess"></param> /// <returns></returns> public static HashSet <CommodityEps> GetEpcDataJson(out bool isGetSuccess) { isGetSuccess = true; //string com1 = "COM1"; string com1 = ApplicationState.GetMRfidCOM(); HashSet <string> com1HashSet = new HashSet <string>(); string log = ""; #if DUALCAB //string com4 = "COM4"; string com4 = ApplicationState.GetSRfidCOM(); HashSet <string> com4HashSet = new HashSet <string>(); #endif HashSet <CommodityEps> currentEpcDataHs = new HashSet <CommodityEps>(); //TODO:需要补充id GClient com1ClientConn = CreateClientConn(com1, "115200", out bool isCom1Connect); if (isCom1Connect) { com1HashSet = DealComData(com1ClientConn, com1, out isGetSuccess); } else { isGetSuccess = false; } #if DUALCAB GClient com4ClientConn = CreateClientConn(com4, "115200", out bool isCom4Connect); if (isCom4Connect) { com4HashSet = DealComData(com4ClientConn, com4, out isGetSuccess); } else { isGetSuccess = false; } #endif WaitHandle.WaitAll(manualEvents.ToArray()); manualEvents.Clear(); //提取com1的标签epc,并组装 foreach (string rfid in com1HashSet) { CommodityEps commodityEps = new CommodityEps { CommodityCodeName = $"RF{rfid.Substring(rfid.Length - 8)}", EquipmentId = ApplicationState.GetEquipId(), EquipmentName = ApplicationState.GetEquipName(), StoreHouseId = ApplicationState.GetHouseId(), StoreHouseName = ApplicationState.GetHouseName(), GoodsLocationName = ApplicationState.GetCabNameByRFidCom(com1), GoodsLocationId = ApplicationState.GetCabIdByRFidCom(com1) }; currentEpcDataHs.Add(commodityEps); LogUtils.Debug(commodityEps.CommodityCodeName + commodityEps.CommodityName); log += commodityEps.CommodityCodeName + " "; } #if DUALCAB //提取com4的标签epc,并组装 foreach (string rfid in com4HashSet) { CommodityEps commodityEps = new CommodityEps { CommodityCodeName = $"RF{rfid.Substring(rfid.Length - 8)}", EquipmentId = ApplicationState.GetEquipId(), EquipmentName = ApplicationState.GetEquipName(), StoreHouseId = ApplicationState.GetHouseId(), StoreHouseName = ApplicationState.GetHouseName(), GoodsLocationName = ApplicationState.GetCabNameByRFidCom(com1), GoodsLocationId = ApplicationState.GetCabIdByRFidCom(com1) }; currentEpcDataHs.Add(commodityEps); LogUtils.Debug(commodityEps.CommodityCodeName + commodityEps.CommodityName); log += commodityEps.CommodityCodeName + " "; } #endif Task.Factory.StartNew(a => { LogUtils.Debug(log); }, log); LogUtils.Debug("RFID NUM:" + currentEpcDataHs.Count()); return(currentEpcDataHs); }