void LoadData()
        {
            if (m_Report == null)
            {
                m_bIsNew     = true;
                m_Report     = new CReport();
                m_Report.Ctx = Program.Ctx;
                m_Report.RPT_ReportCatalog_id = m_Catalog_id;
                m_Report.B_Company_id         = m_Company.Id;
            }

            txtName.Text = m_Report.Name;


            dataGridStatItem.Rows.Clear();
            foreach (CBaseObject obj in m_Report.StatItemMgr.GetList())
            {
                CStatItem StatItem = (CStatItem)obj;
                if (StatItem.ItemType == CStatItem.enumItemType.Field)
                {
                    CTable table = (CTable)Program.Ctx.TableMgr.Find(StatItem.FW_Table_id);
                    if (table == null)
                    {
                        continue;
                    }
                    CColumn column = (CColumn)table.ColumnMgr.Find(StatItem.FW_Column_id);
                    if (column == null)
                    {
                        continue;
                    }


                    dataGridStatItem.Rows.Add(1);
                    DataGridViewRow item = dataGridStatItem.Rows[dataGridStatItem.Rows.Count - 1];
                    item.Cells[0].Value = table.Name;
                    item.Cells[1].Value = column.Name;
                    //DataGridViewComboBoxCell cbCell = (DataGridViewComboBoxCell)item.Cells[2];
                    //if(cbCell!=null)
                    //    cbCell.Value = "val";
                    item.Cells[2].Value = StatItem.GetStatTypeName();
                    item.Cells[3].Value = StatItem.GetOrderName();
                    item.Tag            = StatItem;
                }
                else
                {
                    dataGridStatItem.Rows.Add(1);
                    DataGridViewRow item = dataGridStatItem.Rows[dataGridStatItem.Rows.Count - 1];
                    item.Cells[0].Value = StatItem.Name;
                    item.Cells[1].Value = StatItem.Formula;
                    //DataGridViewComboBoxCell cbCell = (DataGridViewComboBoxCell)item.Cells[2];
                    //if(cbCell!=null)
                    //    cbCell.Value = "val";
                    item.Cells[2].Value = StatItem.GetStatTypeName();
                    item.Cells[3].Value = StatItem.GetOrderName();
                    item.Tag            = StatItem;
                }
            }

            txtFilter.Text = m_Report.Filter;
        }
Exemple #2
0
        private void btAddFormula_Click(object sender, EventArgs e)
        {
            if (txtAsName.Text.Trim() == "")
            {
                MessageBox.Show("请输入别名!");
                return;
            }
            if (txtFormula.Text.Trim() == "")
            {
                MessageBox.Show("请输入公式!");
                return;
            }

            CStatItem StatItem = new CStatItem();

            StatItem.Ctx           = Program.Ctx;
            StatItem.ItemType      = CStatItem.enumItemType.Formula;
            StatItem.RPT_Report_id = m_Report.Id;
            StatItem.Name          = txtAsName.Text.Trim();
            StatItem.Formula       = txtFormula.Text.Trim();
            m_Report.StatItemMgr.AddNew(StatItem);


            ListViewItem item = new ListViewItem();

            item.Text = txtAsName.Text.Trim();
            item.SubItems.Add(txtFormula.Text.Trim());
            item.Tag = StatItem;
            listSelColumn.Items.Add(item);
        }
Exemple #3
0
        void LoadData()
        {
            listSelColumn.Items.Clear();
            foreach (CBaseObject obj in m_Report.StatItemMgr.GetList())
            {
                CStatItem StatItem = (CStatItem)obj;

                ListViewItem item = new ListViewItem();
                if (StatItem.ItemType == CStatItem.enumItemType.Field)
                {
                    CTable table = (CTable)Program.Ctx.TableMgr.Find(StatItem.FW_Table_id);
                    if (table == null)
                    {
                        continue;
                    }
                    CColumn column = (CColumn)table.ColumnMgr.Find(StatItem.FW_Column_id);
                    item.Text = table.Name;
                    item.SubItems.Add(column.Name);
                }
                else
                {
                    item.Text = StatItem.Name;
                    item.SubItems.Add(StatItem.Formula);
                }
                item.Tag = StatItem;
                listSelColumn.Items.Add(item);
            }
        }
    void AddFormula()
    {
        string AsName = Request["AsName"];

        if (string.IsNullOrEmpty(AsName))
        {
            Response.Write("别名不能空!");
            return;
        }
        string Formula = Request["Formula"];

        if (string.IsNullOrEmpty(Formula))
        {
            Response.Write("公式不能空!");
            return;
        }

        CStatItem StatItem = new CStatItem();

        StatItem.Ctx           = Global.GetCtx(Session["TopCompany"].ToString());
        StatItem.RPT_Report_id = m_Report.Id;
        StatItem.ItemType      = CStatItem.enumItemType.Formula;
        StatItem.Name          = AsName;
        StatItem.Formula       = Formula;

        CUser user = (CUser)Session["User"];

        StatItem.Creator = user.Id;

        m_Report.StatItemMgr.AddNew(StatItem);
    }
Exemple #5
0
    void PostData()
    {
        string Name       = Request["Name"];
        string Catalog_id = Request["catalog_id"];
        string GridData   = Request["GridData"];
        string Filter     = Request["Filter"];

        if (string.IsNullOrEmpty(Name))
        {
            Response.Write("名称不能空!");
            return;
        }

        GetReport().Name = Name;
        if (Catalog_id != "")
        {
            GetReport().RPT_ReportCatalog_id = new Guid(Catalog_id);
        }
        GetReport().Filter = Filter;

        int iLastIdx = 0;

        string[] arr1 = Regex.Split(GridData, ";");
        foreach (string str1 in arr1)
        {
            if (str1.Length == 0)
            {
                continue;
            }
            iLastIdx++;

            string[]  arr2         = Regex.Split(str1, ",");
            string    id           = arr2[0];
            string    StatTypeName = arr2[1];
            string    OrderName    = arr2[2];
            CStatItem StatItem     = (CStatItem)GetReport().StatItemMgr.Find(new Guid(id));
            if (StatItem != null)
            {
                StatItem.Idx = iLastIdx;
                StatItem.SetStatTypeByName(StatTypeName);
                StatItem.SetOrderByName(OrderName);
            }
        }

        CUser user = (CUser)Session["User"];

        GetReport().Updator = user.Id;

        m_Company.ReportMgr.Update(GetReport());

        if (!m_Company.ReportMgr.Save(true))
        {
            Response.Write("修改失败!");
            return;
        }
    }
        void UpdateStatItem()
        {
            foreach (DataGridViewRow item in dataGridStatItem.Rows)
            {
                CStatItem StatItem = (CStatItem)item.Tag;
                StatItem.Idx = item.Index;
                StatItem.SetStatTypeByName(item.Cells[2].Value.ToString());
                StatItem.SetOrderByName(item.Cells[3].Value.ToString());

                m_Report.StatItemMgr.Update(StatItem);
            }
        }
    void AddStatItem()
    {
        string Table_id = Request["Table_id"];

        if (string.IsNullOrEmpty(Table_id))
        {
            Response.Write("表不存在!");
            return;
        }
        CTable table = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(new Guid(Table_id));

        if (table == null)
        {
            Response.Write("表不存在!");
            return;
        }
        string Column_id = Request["Column_id"];

        if (string.IsNullOrEmpty(Column_id))
        {
            Response.Write("字段不存在!");
            return;
        }
        CColumn column = (CColumn)table.ColumnMgr.Find(new Guid(Column_id));

        if (column == null)
        {
            Response.Write("字段不存在!");
            return;
        }
        if (m_Report.StatItemMgr.FindByColumn(table.Id, column.Id) != null)
        {
            Response.Write("指标已经存在!");
            return;
        }

        CStatItem StatItem = new CStatItem();

        StatItem.Ctx           = Global.GetCtx(Session["TopCompany"].ToString());
        StatItem.RPT_Report_id = m_Report.Id;
        StatItem.FW_Table_id   = table.Id;
        StatItem.FW_Column_id  = column.Id;
        StatItem.Name          = column.Name;
        StatItem.Idx           = m_Report.StatItemMgr.GetList().Count;

        CUser user = (CUser)Session["User"];

        StatItem.Creator = user.Id;

        m_Report.StatItemMgr.AddNew(StatItem);
    }
Exemple #8
0
 private void btDel_Click(object sender, EventArgs e)
 {
     if (listSelColumn.SelectedItems.Count == 0)
     {
         MessageBox.Show("请选择要删除的字段!");
         return;
     }
     foreach (ListViewItem item in listSelColumn.SelectedItems)
     {
         CStatItem StatItem = (CStatItem)item.Tag;
         m_Report.StatItemMgr.Delete(StatItem);
         listSelColumn.Items.Remove(item);
     }
 }
Exemple #9
0
    void GetData()
    {
        CReport            Report = GetReport();
        List <CBaseObject> lstObj = Report.StatItemMgr.GetList();
        //按序号排序
        List <CStatItem> sortObj = new List <CStatItem>();

        foreach (CBaseObject obj in lstObj)
        {
            CStatItem StatItem = (CStatItem)obj;
            sortObj.Add(StatItem);
        }
        sortObj.Sort();

        string sData = "";

        foreach (CStatItem StatItem in sortObj)
        {
            string sTableName = "", sColumnName = "";
            CTable table = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(StatItem.FW_Table_id);
            if (table != null)
            {
                sTableName = table.Name;
                CColumn column = (CColumn)table.ColumnMgr.Find(StatItem.FW_Column_id);
                if (column != null)
                {
                    sColumnName = column.Name;
                }
            }

            sData += string.Format("{{ \"id\": \"{0}\",\"FW_Table_id\":\"{1}\",\"TableName\":\"{2}\",\"FW_Column_id\":\"{3}\", \"ColumnName\":\"{4}\", \"StatType\":\"{5}\", \"StatTypeName\":\"{6}\", \"Order\":\"{7}\", \"OrderName\":\"{8}\" }},"
                                   , StatItem.Id
                                   , StatItem.FW_Table_id
                                   , sTableName
                                   , StatItem.FW_Column_id
                                   , sColumnName
                                   , (int)StatItem.StatType
                                   , StatItem.GetStatTypeName()
                                   , (int)StatItem.Order
                                   , StatItem.GetOrderName());
        }


        sData = "[" + sData + "]";
        string sJson = string.Format("{{\"Rows\":{0},\"Total\":\"{1}\"}}"
                                     , sData, lstObj.Count);

        Response.Write(sJson);
    }
    void GetStatItemData()
    {
        List <CBaseObject> lstObj = m_Report.StatItemMgr.GetList();

        string sData  = "";
        int    iCount = 0;

        foreach (CBaseObject obj in lstObj)
        {
            CStatItem StatItem = (CStatItem)obj;

            string sTableName = "", sColumnName = "";
            if (StatItem.ItemType == CStatItem.enumItemType.Field)
            {
                CTable table = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(StatItem.FW_Table_id);
                if (table != null)
                {
                    sTableName = table.Name;
                    CColumn column = (CColumn)table.ColumnMgr.Find(StatItem.FW_Column_id);
                    if (column != null)
                    {
                        sColumnName = column.Name;
                    }
                }
            }
            else
            {
                sTableName  = StatItem.Name;
                sColumnName = StatItem.Formula;
            }

            sData += string.Format("{{ \"id\": \"{0}\",\"FW_Table_id\":\"{1}\",\"TableName\":\"{2}\",\"FW_Column_id\":\"{3}\", \"ColumnName\":\"{4}\", \"StatType\":\"{5}\", \"Idx\":\"{6}\" }},"
                                   , StatItem.Id
                                   , StatItem.FW_Table_id
                                   , sTableName
                                   , StatItem.FW_Column_id
                                   , sColumnName
                                   , StatItem.StatType
                                   , StatItem.Idx);
            iCount++;
        }
        sData = sData.TrimEnd(",".ToCharArray());
        sData = "[" + sData + "]";
        string sJson = string.Format("{{\"Rows\":{0},\"Total\":\"{1}\"}}"
                                     , sData, iCount);

        Response.Write(sJson);
    }
Exemple #11
0
        private void btSet_Click(object sender, EventArgs e)
        {
            SelStatItem frm = new SelStatItem();

            frm.m_Report = m_Report;
            if (frm.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            dataGridStatItem.Rows.Clear();
            foreach (CBaseObject obj in m_Report.StatItemMgr.GetList())
            {
                CStatItem StatItem = (CStatItem)obj;
                string    sTableName = "", sColumnName = "";
                if (StatItem.ItemType == CStatItem.enumItemType.Field)
                {
                    CTable table = (CTable)Program.Ctx.TableMgr.Find(StatItem.FW_Table_id);
                    if (table != null)
                    {
                        sTableName = table.Name;
                        CColumn column = (CColumn)table.ColumnMgr.Find(StatItem.FW_Column_id);
                        if (column != null)
                        {
                            sColumnName = column.Name;
                        }
                    }
                }
                else
                {
                    sTableName  = StatItem.Name;
                    sColumnName = StatItem.Formula;
                }

                dataGridStatItem.Rows.Add(1);
                DataGridViewRow item = dataGridStatItem.Rows[dataGridStatItem.Rows.Count - 1];
                item.Cells[0].Value = sTableName;
                item.Cells[1].Value = sColumnName;
                //DataGridViewComboBoxCell cbCell = (DataGridViewComboBoxCell)item.Cells[2];
                //cbCell.Value = "取数";
                item.Cells[2].Value = "取数";
                item.Cells[3].Value = "默认";
                item.Tag            = StatItem;
            }
        }
Exemple #12
0
        void comb_SelectedIndexChanged(object sender, EventArgs e)
        {
            ComboBox comb = sender as ComboBox;

            if (dataGridStatItem.SelectedCells.Count == 0)
            {
                return;
            }
            int nColIdx = dataGridStatItem.SelectedCells[0].ColumnIndex;
            int nRowIdx = dataGridStatItem.SelectedCells[0].RowIndex;

            if (nColIdx == 2)
            {
                if (comb.SelectedIndex == 0 ||
                    comb.SelectedIndex == 5)
                {
                    return;
                }

                CStatItem StatItem = (CStatItem)dataGridStatItem.Rows[nRowIdx].Tag;
                if (StatItem.ItemType == CStatItem.enumItemType.Field)
                {
                    CTable table = (CTable)Program.Ctx.TableMgr.Find(StatItem.FW_Table_id);
                    if (table == null)
                    {
                        return;
                    }
                    CColumn column = (CColumn)table.ColumnMgr.Find(StatItem.FW_Column_id);
                    if (column == null)
                    {
                        return;
                    }
                    if (column.ColType != ColumnType.int_type &&
                        column.ColType != ColumnType.long_type &&
                        column.ColType != ColumnType.numeric_type)
                    {
                        MessageBox.Show("非数值型指标!");
                        comb.SelectedIndex = 0;
                        return;
                    }
                }
            }
        }
Exemple #13
0
        private void btAdd_Click(object sender, EventArgs e)
        {
            if (listColumn.SelectedItems.Count == 0)
            {
                MessageBox.Show("请选择字段!");
                return;
            }
            for (int i = 0; i < listColumn.SelectedItems.Count; i++)
            {
                CColumn column = (CColumn)listColumn.SelectedItems[i].Tag;
                bool    bHas   = false;
                for (int j = 0; j < listSelColumn.Items.Count; j++)
                {
                    CStatItem SItem = (CStatItem)listSelColumn.Items[j].Tag;
                    if (SItem.ItemType == CStatItem.enumItemType.Field &&
                        SItem.FW_Column_id == column.Id)
                    {
                        bHas = true;
                        break;
                    }
                }
                if (bHas)
                {
                    continue;
                }

                CStatItem StatItem = new CStatItem();
                StatItem.Ctx           = Program.Ctx;
                StatItem.RPT_Report_id = m_Report.Id;
                StatItem.Name          = column.Name;
                StatItem.FW_Table_id   = column.FW_Table_id;
                StatItem.FW_Column_id  = column.Id;
                m_Report.StatItemMgr.AddNew(StatItem);

                ListViewItem item = new ListViewItem();
                item.Text = cbTable.SelectedItem.ToString();
                item.SubItems.Add(column.Name);
                item.Tag = StatItem;
                listSelColumn.Items.Add(item);
            }
        }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["User"] == null)
        {
            Response.Redirect("../Login.aspx");
            Response.End();
        }

        string B_Company_id = Request["B_Company_id"];

        if (string.IsNullOrEmpty(B_Company_id))
        {
            m_Company = Global.GetCtx(Session["TopCompany"].ToString()).CompanyMgr.FindTopCompany();
        }
        else
        {
            m_Company = (CCompany)Global.GetCtx(Session["TopCompany"].ToString()).CompanyMgr.Find(new Guid(B_Company_id));
        }

        string rptid = Request["rptid"];

        if (string.IsNullOrEmpty(rptid))
        {
            Response.End();
            return;
        }
        m_Report = (CReport)m_Company.ReportMgr.Find(new Guid(rptid));
        if (m_Report == null) //可能是新建的
        {
            if (Session["AddReport"] == null)
            {
                Response.End();
                return;
            }
            m_Report = (CReport)Session["AddReport"];
        }
        if (m_Report.StatItemMgr.GetList().Count > 0)
        {
            CStatItem StatItem = (CStatItem)m_Report.StatItemMgr.GetList()[0];
            m_Table = (CTable)Global.GetCtx(Session["TopCompany"].ToString()).TableMgr.Find(StatItem.FW_Table_id);
        }

        if (Request.Params["Action"] == "GetColumnData")
        {
            GetColumnData();
            Response.End();
        }
        else if (Request.Params["Action"] == "GetStatItemData")
        {
            GetStatItemData();
            Response.End();
        }
        else if (Request.Params["Action"] == "AddStatItem")
        {
            AddStatItem();
            Response.End();
        }
        else if (Request.Params["Action"] == "DeleteStatItem")
        {
            DeleteStatItem();
            Response.End();
        }
        else if (Request.Params["Action"] == "AddFormula")
        {
            m_Report.StatItemMgr.Cancel();
            Response.End();
        }
        else if (Request.Params["Action"] == "Cancel")
        {
            AddFormula();
            Response.End();
        }
        else if (Request.Params["Action"] == "PostData")
        {
            PostData();
            Response.End();
        }
    }