/// <summary>
        /// 发布到BS
        /// </summary>
        /// <param name="reportID"></param>
        /// <param name="cAccId"></param>
        /// <param name="cYear"></param>
        /// <param name="userId"></param>
        /// <param name="conString"></param>
        /// <returns></returns>
        public static bool PublishBS(string reportID, string cAccId, string cYear, string userId, U8LoginInfor u8LoginInfor)
        {
            CheckCnnString();

            //string menuId = reportID.GetHashCode().ToString();
            string menuId       = reportID;
            string reportName   = string.Empty;
            string twReportName = string.Empty;
            string enReportName = string.Empty;
            string filterid     = string.Empty;
            string subId        = string.Empty;
            string authId       = string.Empty;

            GetReportSimpleInfo(reportID, out reportName, out twReportName, out enReportName, out filterid, out subId);
            ReportAuth auth = new ReportAuth(u8LoginInfor);

            authId = auth.GetReportAuthId(reportID) + "_01";//01是查询权限
            //authId = GetAuthIdByReport(reportID);
            StringBuilder sb        = new StringBuilder();
            string        parameter = string.Format("<property type='Report' reportid='{0}'></property>", reportID);

            //菜单
            sb.AppendFormat("insert into ua_menu(cMenu_id,cMenu_name,cmenu_Eng,cSub_id,iGrade,cSupMenu_id,bEndGrade,cAuth_id,iOrder,iImgIndex,Paramters,  Depends,Flag,isWebFlag,cimagename,cmenutype)" +
                            "values('{0}'   ,'{1}'      ,null     ,'{2}'  ,'1'   ,'{3}'     ,1        ,'{4}'    ,1     ,1        ,@parameter    ,null   ,null,1,   'report_default.png','report');",
                            menuId, reportName, "UA", subId, authId);
            //语言
            sb.AppendFormat("INSERT INTO UFMENU_BUSINESS_LANG(MenuId,Caption,Localeid) values('{0}','{1}','zh-cn');", menuId, reportName);
            sb.AppendFormat("INSERT INTO UFMENU_BUSINESS_LANG(MenuId,Caption,Localeid) values('{0}','{1}','zh-tw');", menuId, twReportName);
            sb.AppendFormat("INSERT INTO UFMENU_BUSINESS_LANG(MenuId,Caption,Localeid) values('{0}','{1}','en-us');", menuId, enReportName);

            //把菜单置为isweb
            sb.AppendFormat(" update ufsystem..ua_Menu set iswebflag=2 where cmenu_id= '{0}';", subId);
            sb.AppendFormat("update  UFMeta_{0}..uap_report set MappingBsMenuId='{1}'where id='{2}'", cAccId, menuId, reportID);

            //菜单对应的程序集
            //sb.AppendFormat("Insert into ua_idt_ex (id,assembly,catalogtype,type,class,entrypoint,parameter,reserved)" +
            //"values('{0}','SLReport/UFIDA.U8.Report.SLReportView.dll',1,0,'UFIDA.U8.Report.SLReportView.ReportLoginable','{0}','','UFIDA.U8.Portal.Proxy.Supports.NetModule');",
            //menuId);
            SqlParameter reportParameter = new SqlParameter("parameter", parameter);
            SqlCommand   comand          = new SqlCommand(sb.ToString());

            comand.Parameters.Add(reportParameter);
            SqlHelper.ExecuteNonQuery(u8LoginInfor.UfDataCnnString, comand);

            //插入程序集
            //sb = new StringBuilder();
            //sb.AppendFormat("Insert into ua_idt (id,assembly,catalogtype,type,class,entrypoint,parameter,reserved)" +
            //"values('{0}','SLReport/UFIDA.U8.Report.SLReportView.dll',1,0,'UFIDA.U8.Report.SLReportView.ReportLoginable','{0}','','UFIDA.U8.Portal.Proxy.Supports.NetModule');",
            //menuId);
            //SqlHelper.ExecuteScalar(u8LoginInfor.UfSystCnnString, sb.ToString());

            comand.CommandType = CommandType.StoredProcedure;
            comand.CommandText = "dbo.sp_CalculateSupAuthByAuthID";
            comand.Parameters.Clear();
            comand.Parameters.Add(SqlHelper.GetParameter("@AuthID", SqlDbType.NVarChar, 100, authId));
            comand.Parameters.Add(SqlHelper.GetParameter("@isDelete", SqlDbType.Bit, "false"));
            SqlHelper.ExecuteNonQuery(u8LoginInfor.UfSystCnnString, comand);
            //更改状态 _DbCnnString是meta库
            SqlHelper.ExecuteNonQuery(_DbCnnString, GetCmdPublish(reportID, ReportPublicPosition.CSAndBS));
            return(true);
        }