/// <summary>
        /// 根据用户编号获取用户所有的菜单,或根据用户编号和菜单ID,获取某一用户菜单
        /// 后者根据角色ID获取角色下面所有的权限
        ///  var roleMenus = GetMenusByUserCode(k8DbHelper,"网点员工", "", "上海");
        /// </summary>
        /// <param name="dbHelper"></param>
        /// <param name="userName">可以是用户编号或者角色的ID</param>
        /// <param name="menuID"></param>
        /// <param name="ownerSite"></param>
        /// <returns></returns>
        public List <TAB_USERPOPEDOMEntity> GetMenusByUserCode(IDbHelper dbHelper, string userName, string menuID = "", string ownerSite = "")
        {
            TAB_USERPOPEDOMManager userMenuManager = new TAB_USERPOPEDOMManager(dbHelper);

            if (string.IsNullOrEmpty(ownerSite))
            {
                return(null);
            }
            var sql = "SELECT * FROM TAB_USER_POPEDOM WHERE USER_NAME='" + DbLogic.SqlSafe(userName) + "' AND OWNER_SITE='" + ownerSite + "'";

            if (!string.IsNullOrEmpty(menuID))
            {
                sql = sql + "  AND MENU_GUID='" + DbLogic.SqlSafe(menuID) + "'";
            }
            var resultList = userMenuManager.Fill(sql).ToList <TAB_USERPOPEDOMEntity>();

            return(resultList);
        }
        /// <summary>
        /// 根据网点Id获取外网展示网点
        /// </summary>
        /// <param name="id">网点Id</param>
        /// <param name="code">网点编号</param>
        /// <returns></returns>
        public DataTable GetWebOrganize(string id, string code)
        {
            // id可以是多个网点Id
            var ids           = DbLogic.SqlSafe(id).Split(',');
            var codes         = DbLogic.SqlSafe(code).Split(',');
            var dbParameters  = new List <KeyValuePair <string, object> >(); //查询条件参数集合
            var listCondition = new List <string>();

            // 网点Id查询条件
            string idCondition = string.Empty;

            if (!string.IsNullOrEmpty(id))
            {
                idCondition += string.Format(" o.ID IN (");
                for (var i = 0; i < ids.Length; i++)
                {
                    if (i == 0)
                    {
                        idCondition += dbHelper.GetParameter("I" + i);
                    }
                    else
                    {
                        idCondition += ",";
                        idCondition += dbHelper.GetParameter("I" + i);
                    }
                    dbParameters.Add(new KeyValuePair <string, object>("I" + i, ids[i]));
                }
                idCondition += string.Format(")");
                listCondition.Add(idCondition);
            }

            // 网点编号查询条件
            string codeCondition = string.Empty;

            if (!string.IsNullOrEmpty(code))
            {
                codeCondition += string.Format(" o.Code IN (");
                for (var i = 0; i < codes.Length; i++)
                {
                    if (i == 0)
                    {
                        codeCondition += dbHelper.GetParameter("C" + i);
                    }
                    else
                    {
                        codeCondition += ",";
                        codeCondition += dbHelper.GetParameter("C" + i);
                    }
                    dbParameters.Add(new KeyValuePair <string, object>("C" + i, codes[i]));
                }
                codeCondition += string.Format(")");
                listCondition.Add(codeCondition);
            }
            string conditions = string.Empty;

            if (listCondition.Count > 0)
            {
                // 构建查询条件
                conditions = string.Join(" AND ", listCondition);
            }
            string commandText = @"SELECT o.Id
                                         ,o.Code
                                         ,o.ParentName
                                         ,o.CategoryCode
                                         ,o.OuterPhone
                                         ,o.Manager
                                         ,o.ProvinceId
                                         ,o.Province
                                         ,a.FullName ProvinceFullName
                                         ,o.City
                                         ,o.District
                                         ,o.Area
                                         ,o.Fax
                                         ,o.Description
                                         ,o.MasterMobile
                                         ,o.SortCode
                                         ,b.WebEnabled AS Enabled
                                         ,o.SendFee
                                         ,o.LevelTwoTransferFee
                                         ,o.FullName
                                         ,o.Modifiedon
                                         ,b.WebsiteName
                                         ,b.Allow_Topayment
                                         ,b.Not_Dispatch_Range
                                         ,b.Dispatch_Time_Limit
                                         ,b.Allow_Agent_Money
                                         ,b.Public_Remark
                                         ,b.Private_Remark
                                         ,b.Dispatch_Range
                                         ,c.Longitude
                                         ,c.Latitude
                                         ,o.Address
                                   FROM BASEORGANIZE o 
                              LEFT JOIN BASEORGANIZE_EXPRESS b ON o.id = b.id 
                              LEFT JOIN BaseArea a ON o.ProvinceId = a.id 
                              LEFT JOIN BASEORGANIZEGIS c ON o.id = c.id
                                  WHERE c.WebShowEnable = 1 
                                        AND o.DeletionStateCode = 0 AND "
                                 + conditions;

            return(dbHelper.Fill(commandText, dbHelper.MakeParameters(dbParameters)));
        }