Example #1
0
        //获得新增数据
        protected string GetAddHtmlData()
        {
            DataTable     dt          = new DataTable();
            StringBuilder condition   = new StringBuilder();
            StringBuilder strHtmlData = new StringBuilder();

            try
            {
                if (txtName.Text.Trim() != "" || ddlSyscode.SelectedValue != "")
                {
                    if (!string.IsNullOrEmpty(txtName.Text.Trim()))
                    {
                        condition.Append(" and (MODULENAME like '%" + txtName.Text.Trim() + "%' or MODULEID like '" + txtName.Text.ToString() + "%')");
                    }
                    if (!string.IsNullOrEmpty(ddlSyscode.SelectedValue))
                    {
                        condition.Append(" and (SysCode = '" + ddlSyscode.SelectedValue + "')");
                    }
                    string coverage = string.Empty;
                    coverage  = string.Format(@" insert into " + ddlDataName.SelectedItem.ToString() + ".dbo.SysModule");
                    coverage += "  select * from  SysModule S1 where 1=1 ";
                    if (!string.IsNullOrEmpty(txtName.Text.Trim()))
                    {
                        coverage += string.Format(" and (  MODULENAME like '%{0}%' or MODULEID like '{0}%')", txtName.Text.Trim());
                    }
                    if (!string.IsNullOrEmpty(ddlSyscode.SelectedValue))
                    {
                        coverage += string.Format("  and( SysCode = '{0}')", ddlSyscode.SelectedValue);
                    }

                    coverage += " and NOT EXISTS( SELECT * from " + ddlDataName.SelectedItem.ToString() + ".dbo.SysModule S2 where";
                    coverage += "  S1.MODULEID=S2.MODULEID AND S1.Syscode=S2.Syscode)";

                    strCoverage.Value = "--添加脚本\r\n" + coverage;
                    hidCoverage.Value = coverage;
                }
                else
                {
                    strCoverage.Value = "--添加脚本\r\n" + string.Format(@" insert into {0}.dbo.SysModule 
                                    select * from  SysModule S1 where 
                                    NOT EXISTS( SELECT * from {0}.dbo.SysModule S2 where
                                    S1.MODULEID=S2.MODULEID AND S1.Syscode=S2.Syscode)", ddlDataName.SelectedItem.ToString());
                    hidCoverage.Value = string.Format(@" insert into {0}.dbo.SysModule 
                                    select * from  SysModule S1 where 
                                    NOT EXISTS( SELECT * from {0}.dbo.SysModule S2 where
                                    S1.MODULEID=S2.MODULEID AND S1.Syscode=S2.Syscode)", ddlDataName.SelectedItem.ToString());
                }

                dt = bll.GetDataList(ddlDataName.SelectedItem.ToString().Replace("\\", @"\"), condition.ToString()).Tables[0];
                int i = 0;
                strHtmlData.Append("<table class='table_list' cellpadding='0' id='MyTable' cellspacing='0' style='width: 2000px;height:430px;margin:0px auto auto 0px;'>");
                strHtmlData.Append("<thead>");
                strHtmlData.Append("<tr class='tr_title'>");
                string columns = string.Empty;
                for (int m = 0; m < dt.Columns.Count; m++)
                {
                    strHtmlData.Append("<th>" + (dt.Columns[m].ColumnName == "r_n" ? "序号" : dt.Columns[m].ColumnName) + "</th>");
                    if (dt.Columns[m].ColumnName != "r_n")
                    {
                        columns += dt.Columns[m].ColumnName + ",";
                    }
                }
                strHtmlData.Append("</thead>");
                columns = columns.TrimEnd(',');
                strHtmlData.Append("</tr>");
                if (dt.Rows.Count > 0)
                {
                    strHtmlData.Append("<tr class='tr_con_001'><td colspan='18' style='height:20px;'>需新增的数据</td></tr>");
                    for (int j = 0; j < dt.Rows.Count; j++)
                    {
                        i++;
                        string css = string.Empty;
                        //string strValues = string.Empty;
                        if (i % 2 == 0)
                        {
                            css = "tr_con_001";
                        }
                        else
                        {
                            css = "tr_con_002";
                        }
                        strHtmlData.Append("<tr class='" + css + "'>");
                        for (int m = 0; m < dt.Columns.Count; m++)
                        {
                            strHtmlData.Append("<td title='" + dt.Rows[j][m].ToString() + "'>" + Rc.Cloud.Web.Common.pfunction.SplitStr(dt.Rows[j][m].ToString(), 36) + "</td>");
                            //if (m > 0)
                            //{
                            //    strValues += "'" + dt.Rows[j][m] + "'" + ",";
                            //}
                        }
                        //strValues = strValues.TrimEnd(',');
                        //strSqlAdd += string.Format(" insert {0}.dbo.SysModule({2}) values({3});\r\n", ddlDataName.SelectedItem.ToString(), chkDataItem.SelectedValue.Split(',')[0], columns, strValues);
                        strHtmlData.Append("</tr>");
                    }
                }
                //需更新数据
                DataTable dtColumns = new DataTable();
                string where = string.Empty;
                dtColumns    = bll.GetSysModuleColumnName().Tables[0];
                where        = string.Format(" f1.{0} = f2.{0} and(", "MODULEID");
                for (int m = 0; m < dtColumns.Columns.Count; m++)
                {
                    if (dtColumns.Columns[m].ColumnName != "MODULEID" && dtColumns.Columns[m].ColumnName != "Syscode")
                    {
                        where += string.Format(" f1.{0}<>f2.{0} or", dtColumns.Columns[m].ColumnName);
                    }
                }
                where  = where.Trim().TrimEnd('r').TrimEnd('o') + ")";
                where += string.Format("  and f1.{0} = f2.{0}", "Syscode");
                DataTable dtUpdate = new DataTable();
                dtUpdate = bll.GetUpdateDataList(where, ddlDataName.SelectedItem.ToString(), condition.ToString()).Tables[0];
                if (dtUpdate.Rows.Count > 0)
                {
                    strHtmlData.Append("<tr class='tr_con_001'><td colspan='18' style='height:20px;'>需要更新的数据</td></tr>");
                    string coverageUpdate         = string.Empty;
                    string insertSysModuleHistory = string.Empty;
                    for (int y = 0; y < dtUpdate.Rows.Count; y++)
                    {
                        i++;
                        string css = string.Empty;
                        if (i % 2 == 0)
                        {
                            css = "tr_con_001";
                        }
                        else
                        {
                            css = "tr_con_002";
                        }
                        strHtmlData.Append("<tr class='" + css + "'>");
                        DataTable dtCom = new DataTable();
                        dtCom = bll.GetComparisonDataList(dtUpdate.Rows[y]["MODULEID"].ToString(), dtUpdate.Rows[y]["Syscode"].ToString(), ddlDataName.SelectedItem.ToString()).Tables[0];
                        for (int m = 0; m < dtUpdate.Columns.Count; m++)
                        {
                            if (m == 0)
                            {
                                strHtmlData.Append("<td>" + dtUpdate.Rows[y][m].ToString() + "</td>");
                            }
                            else
                            {
                                strHtmlData.Append("<td " + GetResult(dtUpdate.Rows[y][m].ToString(), dtCom.Rows[0][m].ToString()) + ">" + Rc.Cloud.Web.Common.pfunction.SplitStr(dtUpdate.Rows[y][m].ToString(), 36) + "</td>");
                            }
                        }
                        strHtmlData.Append("</tr>");

                        insertSysModuleHistory += string.Format(@"  INSERT INTO [MSExecution].dbo.SysModuleHistory select *,getdate(),'{0}' from {0}.dbo.SysModule where MODULEID='{1}' and  Syscode='{2}'",
                                                                ddlDataName.SelectedItem.Text, dtUpdate.Rows[y]["MODULEID"].ToString(), dtUpdate.Rows[y]["Syscode"].ToString()) + "\r\n";

                        coverageUpdate += string.Format(@" update " + ddlDataName.SelectedItem.ToString() + @".dbo.SysModule set MODULENAME='{0}',PARENTID='{1}',SLEVEL='{2}'
                            ,URL='{3}',QUERYFORM='{4}',OTHKEY='{5}',REMARK='{6}',IMGICON='{7}',ISINTREE='{8}',MODULETYPE='{9}',ATTACH_SQL='{10}',ISINTAB='{11}',Depth={12}
                            ,IsLast={13},DefaultOrder={14} where  MODULEID='{15}' and Syscode='{16}'",
                                                        dtUpdate.Rows[y]["MODULENAME"].ToString(), dtUpdate.Rows[y]["PARENTID"].ToString(), dtUpdate.Rows[y]["SLEVEL"].ToString(),
                                                        dtUpdate.Rows[y]["URL"].ToString(), dtUpdate.Rows[y]["QUERYFORM"].ToString(), dtUpdate.Rows[y]["OTHKEY"].ToString(),
                                                        dtUpdate.Rows[y]["REMARK"].ToString(), dtUpdate.Rows[y]["IMGICON"].ToString(), dtUpdate.Rows[y]["ISINTREE"].ToString(), dtUpdate.Rows[y]["MODULETYPE"].ToString(),
                                                        dtUpdate.Rows[y]["ATTACH_SQL"].ToString(), dtUpdate.Rows[y]["ISINTAB"].ToString(), dtUpdate.Rows[y]["Depth"].ToString(), dtUpdate.Rows[y]["IsLast"].ToString(),
                                                        dtUpdate.Rows[y]["DefaultOrder"].ToString(), dtUpdate.Rows[y]["MODULEID"].ToString(), dtUpdate.Rows[y]["Syscode"].ToString()) + "\r\n";
                    }
                    strCoverage.Value += "\r\n--插入历史菜单记录\r\n" + insertSysModuleHistory + "\r\n--更新脚本\r\n" + coverageUpdate;
                    updatadata.Value   = coverageUpdate;
                    hidCoverage.Value += insertSysModuleHistory + coverageUpdate;
                }

                strHtmlData.Append("</table>");
            }
            catch (Exception ex)
            {
                new BLL_clsAuth().AddLogErrorFromBS(Module_Id, string.Format("类:{0},方法:{1},错误信息:{2}, 详细:{3}", ex.TargetSite.DeclaringType.ToString(), ex.TargetSite.Name.ToString(), ex.Message, ex.StackTrace));
                throw ex;
            }
            ulA.InnerHtml = strHtmlData.ToString();
            return(strHtmlData.ToString());
        }