//protected override void Render(System.Web.UI.HtmlTextWriter writer) //{ // Page.ClientScript.RegisterForEventValidation(this.ddlgroupcalcol.UniqueID, "4"); // base.Render(writer); //} //保存 protected void lbtnSave_Click(object sender, EventArgs e) { string displaytype = ddlDisplayType.SelectedValue; if (!string.IsNullOrEmpty(hidTemplateID.Value)) { bool iddel = true; bool addrow = true; if (hidopertype.Value == "edit")//如果是更新,先删除之前的配置信息 { iddel = dc.DeleteTemInfoByTemplateID(hidTemplateID.Value); } //保存报表展现类型 bool adddisplaytype = true; adddisplaytype = dc.UpdateDisplayTypeByTemplateID(Guid.Parse(hidTemplateID.Value), displaytype); #region 列配置与排序配置保存 bool addcolumn = true; //标识列配置是否添加成功 bool addsort = true; //标识排序配置是否添加成功 bool addgrid = true; //标识田字型配置是否添加成功 bool addcal = true; //计算列 string ColumnConfigContent = hidColumnContent.Value.TrimEnd(';'); //列配置内容 string SortContent = hidSortContent.Value.TrimEnd(';'); //排序配置内容 string[] ColumnList = ColumnConfigContent.Split(';'); BS_TEMPLATE_COLUMNSBLL btcbll = new BS_TEMPLATE_COLUMNSBLL(); double addm = 10; foreach (string cl in ColumnList)//添加列配置到数据库 { addm++; string[] ColumnInfoList = cl.Split('|'); BS_TEMPLATE_COLUMNS btc = new BS_TEMPLATE_COLUMNS(); btc.TemplateID = Guid.Parse(hidTemplateID.Value); btc.ColumnName = ColumnInfoList[0]; btc.Visiable = bool.Parse(ColumnInfoList[1]); btc.DisplayName = ColumnInfoList[2]; if (!string.IsNullOrEmpty(ColumnInfoList[3])) { btc.Sequence = decimal.Parse(ColumnInfoList[3]); } else { btc.Sequence = -1; } btc.MergeColumnName = ColumnInfoList[4]; btc.ColumnDataType = ColumnInfoList[5]; btc.Created = DateTime.Now.AddMilliseconds(addm);; btc.Modified = DateTime.Now; btc.Author = BaseWebPart.GetCurrentUserLoginId(); btc.Editor = BaseWebPart.GetCurrentUserLoginId(); addcolumn = btcbll.Add(btc); } //添加排序 if (!string.IsNullOrEmpty(SortContent)) { BS_TEMPLATE_SORTBLL btsbll = new BS_TEMPLATE_SORTBLL(); string[] sortlist = SortContent.Split(';'); addm = 10; foreach (string sort in sortlist) { addm++; string[] sortinfo = sort.Split('|'); BS_TEMPLATE_SORT model = new BS_TEMPLATE_SORT(); model.TemplateID = Guid.Parse(hidTemplateID.Value); model.SortColumn = sortinfo[0]; model.Type = (sortinfo[1] == "升序" ? "asc" : "desc"); model.Sequence = decimal.Parse(sortinfo[2]); model.Created = DateTime.Now.AddMilliseconds(addm);; model.Modified = DateTime.Now; model.Author = BaseWebPart.GetCurrentUserLoginId(); model.Editor = BaseWebPart.GetCurrentUserLoginId(); addsort = btsbll.Add(model); } } #endregion if (displaytype == "GRID")//田字型 { string columnsize = txtColumnSize.Text.Trim(); addgrid = dc.UpdatePageSizeByTemplateID(Guid.Parse(hidTemplateID.Value), decimal.Parse(columnsize)); } #region 列配置 if (displaytype == "COLUMN" || displaytype == "ROW")//列配置 { var calcontent = hidCalContent.Value.TrimEnd(';'); if (!string.IsNullOrEmpty(calcontent)) { string[] CalList = calcontent.Split(';'); BS_COMPUTEBLL combll = new BS_COMPUTEBLL(); addm = 10; foreach (string cl in CalList)//添加计算列到数据库 { addm++; string[] CalInfoList = cl.Split('|'); BS_COMPUTE btc = new BS_COMPUTE(); btc.TemplateID = Guid.Parse(hidTemplateID.Value); if (hiddbtype.Value.Trim() == "proc") { btc.ComputeColumn = CalInfoList[0]; } else { btc.ComputeColumn = CalInfoList[0]; } btc.DisplayName = CalInfoList[1]; btc.MergeColumnName = CalInfoList[2]; if (!string.IsNullOrEmpty(CalInfoList[3])) { btc.Sequence = decimal.Parse(CalInfoList[3]); } else { btc.Sequence = -1; } btc.DecimalCount = Convert.ToInt32(CalInfoList[4]); btc.Created = DateTime.Now.AddMilliseconds(addm);; btc.Modified = DateTime.Now; btc.Author = BaseWebPart.GetCurrentUserLoginId(); btc.Editor = BaseWebPart.GetCurrentUserLoginId(); addcal = combll.Add(btc); } } } #endregion if (displaytype == "ROW")//行汇总 { string rowcontent = hidgroupbycontent.Value.Trim().TrimEnd('$'); if (!string.IsNullOrEmpty(rowcontent)) { string[] gblist = rowcontent.Split('$'); BS_GROUPBYBLL gbll = new BS_GROUPBYBLL(); addm = 10; foreach (string gbinfo in gblist) { addm++; string[] CalInfoList = gbinfo.Split('|'); BS_GROUPBY btc = new BS_GROUPBY(); btc.TemplateID = Guid.Parse(hidTemplateID.Value); btc.Columns = CalInfoList[0].TrimEnd(','); btc.Location = CalInfoList[2]; btc.ComputeColumn = CalInfoList[1]; btc.Sequence = 0; btc.SQL = ""; btc.Created = DateTime.Now.AddMilliseconds(addm); btc.Modified = DateTime.Now; btc.Author = BaseWebPart.GetCurrentUserLoginId(); btc.Editor = BaseWebPart.GetCurrentUserLoginId(); addrow = gbll.Add(btc); } } } if (addcolumn && addsort && addgrid && addcal && adddisplaytype && iddel && addrow) { string TemplateID = hidTemplateID.Value; string SourceID = hidsourceid.Value; if (!string.IsNullOrEmpty(TemplateID) && !string.IsNullOrEmpty(SourceID)) { BusinessSearchComponent bsbll = new BusinessSearchComponent(); bsbll.RemoveTemplateByGuid(TemplateID); string edit = string.Empty; if (!string.IsNullOrEmpty(Page.Request.QueryString["type"])) { edit = "&type=edit"; } Page.Response.Redirect("QueryConfig.aspx?templateID=" + TemplateID + "&sourceID=" + SourceID + edit); } //ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "subsuc", "layer.alert('展示配置成功!');", true); } } else { ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "suberror", "layer.alert('未获取到模板编号!');", true); } }
//复制 protected void btncopy_Click(object sender, EventArgs e) { try { string TemplateID = hidtemplateid.Value.Trim(); string CopyNewName = hidCopyName.Value.Trim(); if (!string.IsNullOrEmpty(TemplateID) && !string.IsNullOrEmpty(CopyNewName)) { Guid temid = Guid.Parse(TemplateID); //复制templatemain表 BS_TEMPLATE_MAINBLL tmain = new BS_TEMPLATE_MAINBLL(); BS_TEMPLATE_MAIN tmodel = tmain.GetModel(temid); tmodel.TemplateName = CopyNewName; tmodel.Created = DateTime.Now; tmodel.Modified = DateTime.Now; tmodel.Author = BaseWebPart.GetCurrentUserLoginId(); tmodel.Editor = BaseWebPart.GetCurrentUserLoginId(); tmodel.TemplateStatus = "FREE"; string newtemplateid = tmain.Add(tmodel); if (!string.IsNullOrEmpty(newtemplateid)) { DisplayConfigComponent dcc = new DisplayConfigComponent(); #region 制表 Guid newtemplateguid = Guid.Parse(newtemplateid); //复制bscompare表 DataTable dt = dcc.GetCalListByTemplateID(temid); if (dt != null && dt.Rows.Count > 0) { BS_COMPUTEBLL cmain = new BS_COMPUTEBLL(); foreach (DataRow dr in dt.Rows) { BS_COMPUTE cmodel = cmain.GetModel(Guid.Parse(dr["id"].ToString())); if (cmodel != null) { cmodel.TemplateID = newtemplateguid; cmodel.Created = DateTime.Now; cmodel.Modified = DateTime.Now; cmodel.Author = BaseWebPart.GetCurrentUserLoginId(); cmodel.Editor = BaseWebPart.GetCurrentUserLoginId(); cmain.Add(cmodel); } } } //复制BS_CUSTOM_QUERY表 dt = tmbll.GetBS_CUSTOM_QUERYIDByTemplateID(temid); if (dt != null && dt.Rows.Count > 0) { BS_CUSTOM_QUERYBLL cbll = new BS_CUSTOM_QUERYBLL(); foreach (DataRow dr in dt.Rows) { BS_CUSTOM_QUERY cqmodel = cbll.GetModel(Guid.Parse(dr["id"].ToString())); if (cqmodel != null) { cqmodel.TemplateID = newtemplateguid; cqmodel.Created = DateTime.Now; cqmodel.Modified = DateTime.Now; cqmodel.Author = BaseWebPart.GetCurrentUserLoginId(); cqmodel.Editor = BaseWebPart.GetCurrentUserLoginId(); cbll.Add(cqmodel); } } } //复制BS_CUSTOM_QUERY表 dt = tmbll.GetBS_DEFAULT_QUERYIDByTemplateID(temid); if (dt != null && dt.Rows.Count > 0) { BS_DEFAULT_QUERYBLL dbll = new BS_DEFAULT_QUERYBLL(); foreach (DataRow dr in dt.Rows) { BS_DEFAULT_QUERY dmodel = dbll.GetModel(Guid.Parse(dr["id"].ToString())); if (dmodel != null) { dmodel.TemplateID = newtemplateguid; dmodel.Created = DateTime.Now; dmodel.Modified = DateTime.Now; dmodel.Author = BaseWebPart.GetCurrentUserLoginId(); dmodel.Editor = BaseWebPart.GetCurrentUserLoginId(); dbll.Add(dmodel); } } } //复制BS_GROUPBY表 dt = tmbll.GetBS_GROUPBYIDByTemplateID(temid); if (dt != null && dt.Rows.Count > 0) { BS_GROUPBYBLL gbll = new BS_GROUPBYBLL(); foreach (DataRow dr in dt.Rows) { BS_GROUPBY gmodel = gbll.GetModel(Guid.Parse(dr["id"].ToString())); if (gmodel != null) { gmodel.TemplateID = newtemplateguid; gmodel.Created = DateTime.Now; gmodel.Modified = DateTime.Now; gmodel.Author = BaseWebPart.GetCurrentUserLoginId(); gmodel.Editor = BaseWebPart.GetCurrentUserLoginId(); gbll.Add(gmodel); } } } //复制BS_TEMPLATE_COLUMNS表 dt = tmbll.GetBS_TEMPLATE_COLUMNSIDByTemplateID(temid); if (dt != null && dt.Rows.Count > 0) { BS_TEMPLATE_COLUMNSBLL tbll = new BS_TEMPLATE_COLUMNSBLL(); foreach (DataRow dr in dt.Rows) { BS_TEMPLATE_COLUMNS tcmodel = tbll.GetModel(Guid.Parse(dr["id"].ToString())); if (tcmodel != null) { tcmodel.TemplateID = newtemplateguid; tcmodel.Created = DateTime.Now; tcmodel.Modified = DateTime.Now; tcmodel.Author = BaseWebPart.GetCurrentUserLoginId(); tcmodel.Editor = BaseWebPart.GetCurrentUserLoginId(); tbll.Add(tcmodel); } } } //复制BS_TEMPLATE_SORT表 dt = tmbll.GetBS_TEMPLATE_SORTIDByTemplateID(temid); if (dt != null && dt.Rows.Count > 0) { BS_TEMPLATE_SORTBLL sbll = new BS_TEMPLATE_SORTBLL(); foreach (DataRow dr in dt.Rows) { BS_TEMPLATE_SORT smodel = sbll.GetModel(Guid.Parse(dr["id"].ToString())); if (smodel != null) { smodel.TemplateID = newtemplateguid; smodel.Created = DateTime.Now; smodel.Modified = DateTime.Now; smodel.Author = BaseWebPart.GetCurrentUserLoginId(); smodel.Editor = BaseWebPart.GetCurrentUserLoginId(); sbll.Add(smodel); } } } //复制BS_COMMUNICATION_MAIN表 dt = tmbll.GetBS_COMMUNICATION_MAINIDByTemplateID(temid); if (dt != null && dt.Rows.Count > 0) { BS_COMMUNICATION_MAINBLL sbll = new BS_COMMUNICATION_MAINBLL(); BS_COMMUNICATION_DETAILBLL detailbll = new BS_COMMUNICATION_DETAILBLL(); foreach (DataRow dr in dt.Rows) { Guid commid = Guid.NewGuid(); BS_COMMUNICATION_MAIN smodel = sbll.GetModel(Guid.Parse(dr["CommunicationID"].ToString())); if (smodel != null) { smodel.CommunicationID = commid; smodel.TargetTemplateID = newtemplateguid; smodel.Created = DateTime.Now; smodel.Modified = DateTime.Now; smodel.Author = BaseWebPart.GetCurrentUserLoginId(); smodel.Editor = BaseWebPart.GetCurrentUserLoginId(); sbll.Add(smodel); } DataTable dtdetail = tmbll.GetBS_COMMUNICATION_DETAILByID(Guid.Parse(dr["CommunicationID"].ToString())); if (dtdetail != null && dtdetail.Rows.Count > 0) { foreach (DataRow drd in dtdetail.Rows) { BS_COMMUNICATION_DETAIL sdmodel = detailbll.GetModel(Guid.Parse(drd["id"].ToString())); if (smodel != null) { sdmodel.ID = Guid.NewGuid(); sdmodel.CommunicationID = commid; sdmodel.Created = DateTime.Now; sdmodel.Modified = DateTime.Now; sdmodel.Author = BaseWebPart.GetCurrentUserLoginId(); sdmodel.Editor = BaseWebPart.GetCurrentUserLoginId(); detailbll.Add(sdmodel); } } } } } #endregion ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "sucadd", "layer.alert('模板复制成功!',9);", true); BindTemplateList(); } else { ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "erroradd", "layer.alert('模板复制失败!',8);", true); } } else { ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "errora", "layer.alert('未获取到模板源信息,无法复制!',8);", true); } } catch (Exception ee) { ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "erroradd", "layer.alert('模板复制失败!',8);", true); BaseComponent.Error(ee.Message); } }