Ejemplo n.º 1
0
        //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);
            }
        }
Ejemplo n.º 2
0
        //复制
        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);
            }
        }