/// <summary> /// 初始化设备列表 /// </summary> public static void InitDeviceInfo() { string sql = string.Format("select * from Base_DeviceInfo"); DataAccess ac = new DataAccess(); DataTable dt = ac.ExecuteQueryReturnTable(sql); if (dt.Rows.Count == 0) { return; } foreach (DataRow row in dt.Rows) { string MCUID = row["SN"].ToString(); 机头信息 head = CreateHeadByFull(MCUID); if (head != null) { HeadListMCUID.Add(MCUID, head); 机头绑定信息 bind = new 机头绑定信息(); bind.控制器令牌 = head.常规.路由器编号; bind.短地址 = head.常规.机头地址; bind.长地址 = MCUID; HeadListAddress.Add(bind); } } }
/// <summary> /// 根据长地址创建机头信息 /// 终端设备在申请短地址时才允许调用 /// </summary> /// <param name="MCUID"></param> /// <returns></returns> static 机头信息 CreateHeadByFull(string MCUID) { string sql = string.Format("select * from Base_DeviceInfo where SN='{0}'", MCUID); //DataAccess ac = new DataAccess(); //DataTable dt = ac.ExecuteQueryReturnTable(sql); DataTable dt = XCCloudRS232BLL.ExecuterSqlToTable(sql); if (dt.Rows.Count == 0) { return(null); } DataRow row = dt.Rows[0]; 机头信息 head = new 机头信息(); head.类型 = (设备类型)Convert.ToInt32(row["DeviceType"]); head.令牌 = row["token"].ToString(); head.二维码 = row["qrurl"].ToString(); if (head.类型 == 设备类型.出票器 || head.类型 == 设备类型.卡头) { sql = string.Format("select m.HeadAddress,m.GroupID,d.Token,d.ID,d.SN,d.MerchID from Data_MerchSegment m,Base_DeviceInfo d where m.ParentID=d.ID and m.DeviceID='{0}'", row["ID"].ToString()); } else { sql = string.Format("select m.HeadAddress,d.Token,d.ID,d.SN,d.MerchID from Data_MerchDevice m,Base_DeviceInfo d where m.ParentID=d.ID and m.DeviceID='{0}'", row["ID"].ToString()); } //DataTable tp = ac.ExecuteQueryReturnTable(sql); DataTable tp = XCCloudRS232BLL.ExecuterSqlToTable(sql); if (tp.Rows.Count == 0) { return(null); } DataRow rp = tp.Rows[0]; head.常规.路由器编号 = rp["Token"].ToString(); head.常规.机头长地址 = MCUID; head.常规.机头地址 = rp["HeadAddress"].ToString(); head.常规.机头编号 = rp["ID"].ToString(); head.商户号 = rp["MerchID"].ToString(); if (head.类型 == 设备类型.出票器 || head.类型 == 设备类型.卡头) { head.常规.游戏机编号 = rp["GroupID"].ToString(); } 机头绑定信息 bind = new 机头绑定信息(); bind.控制器令牌 = head.常规.路由器编号; bind.短地址 = head.常规.机头地址; bind.长地址 = MCUID; HeadListAddress.Add(bind); sql = string.Format("select m.StorePassword from Base_DeviceInfo d,Base_MerchInfo m where d.MerchID=m.ID and d.SN='{0}'", MCUID); //dt = ac.ExecuteQueryReturnTable(sql); dt = XCCloudRS232BLL.ExecuterSqlToTable(sql); if (dt.Rows.Count > 0) { head.店密码 = dt.Rows[0]["StorePassword"].ToString(); } return(head); }
public static 机头信息 GetHeadInfoByFull(string MCUID) { if (HeadListMCUID.ContainsKey(MCUID)) { return(HeadListMCUID[MCUID]); } else { 机头信息 head = CreateHeadByFull(MCUID); HeadListMCUID.Add(MCUID, head); return(head); } }