Ejemplo n.º 1
0
        /// <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);
                }
            }
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
 public static 机头信息 GetHeadInfoByFull(string MCUID)
 {
     if (HeadListMCUID.ContainsKey(MCUID))
     {
         return(HeadListMCUID[MCUID]);
     }
     else
     {
         机头信息 head = CreateHeadByFull(MCUID);
         HeadListMCUID.Add(MCUID, head);
         return(head);
     }
 }