Example #1
0
    protected void ibtnSearch_Click(object sender, CommandEventArgs e)
    {
        Panel1.Visible = false;
        Panel2.Visible = true;
        if (e.CommandName == "month")
        {
            int       year            = Int32.Parse(ddlYear.SelectedValue);
            DataTable dt              = new DataTable();
            string    cargoNmae       = ddlMaterialNameM.SelectedValue;
            string    storageId       = ddlStorageM.SelectedValue;
            string    buildFloor      = ddlFloorM.SelectedItem.Text.Replace("--全部楼层--", "");
            string    storageDeatilId = ddlStorageDetailM.SelectedValue;

            #region 取得数据源

            if (string.IsNullOrEmpty(cargoNmae))
            {
                if (string.IsNullOrEmpty(storageId))
                {
                    dt = GroupInfo.GetGroupIOStorageTotalByMonth(year, 0, "", "", 0, "");//无条件,全部统计
                }
                else
                {
                    if (string.IsNullOrEmpty(buildFloor))
                    {
                        dt = GroupInfo.GetGroupIOStorageTotalByMonth(year, 2, "", storageId, 0, "");//按仓库
                    }
                    else
                    {
                        if (string.IsNullOrEmpty(storageDeatilId))
                        {
                            dt = GroupInfo.GetGroupIOStorageTotalByMonth(year, 3, "", storageId, int.Parse(buildFloor), "");//按楼层
                        }
                        else
                        {
                            dt = GroupInfo.GetGroupIOStorageTotalByMonth(year, 4, "", "", 0, storageDeatilId);//按仓位
                        }
                    }
                }
            }
            else
            {
                if (string.IsNullOrEmpty(storageId))
                {
                    dt = GroupInfo.GetGroupIOStorageTotalByMonth(year, 1, cargoNmae, "", 0, "");//按品名
                }
                else
                {
                    if (string.IsNullOrEmpty(buildFloor))
                    {
                        dt = GroupInfo.GetGroupIOStorageTotalByMonth(year, 5, cargoNmae, storageId, 0, "");//按品名仓库
                    }
                    else
                    {
                        if (string.IsNullOrEmpty(storageDeatilId))
                        {
                            dt = GroupInfo.GetGroupIOStorageTotalByMonth(year, 6, cargoNmae, storageId, int.Parse(buildFloor), "");//按品名楼层
                        }
                        else
                        {
                            dt = GroupInfo.GetGroupIOStorageTotalByMonth(year, 7, cargoNmae, "", 0, storageDeatilId);//按品名仓位
                        }
                    }
                }
            }

            #endregion

            Series series1 = chart2.Series[0];
            Series series2 = chart2.Series[1];        //数据集声明

            // DateTime date1 = DateTime.Now.Date;
            for (int i = 0; i < dt.Rows.Count; i++)      //向数据集绑定数据
            {
                series1.Points.AddXY(dt.Rows[i]["mouth"].ToString() + "月份", dt.Rows[i]["inTotalWeight"].ToString());
                series2.Points.AddXY(dt.Rows[i]["mouth"].ToString() + "月份", dt.Rows[i]["outTotalWeight"].ToString());
                //  date1 = date1.AddDays(1);
            }
            while (this.chart2.Series[0].Points.Count > dt.Rows.Count)
            {
                // Remove series points
                foreach (Series s in this.chart2.Series)
                {
                    s.Points.RemoveAt(0);
                }
            }
            chart2.Titles.Clear();
            Title t1 = new Title(year.ToString() + "年每月粮食出入库情况", Docking.Top, new System.Drawing.Font("微软雅黑", 16), System.Drawing.Color.FromArgb(26, 59, 105));//图片标题
            chart2.Titles.Add(t1);
            chart2.ChartAreas["ChartArea1"].AxisY.Title = "重量(单位:吨)";
            chart2.ChartAreas["ChartArea1"].AxisX.Title = "月份";
            //chart2.ChartAreas["ChartArea1"].AxisX.Interval = 1;
        }
        else if (e.CommandName == "year")
        {
            int       beginYear       = Int32.Parse(ddlYearBegin.SelectedValue);
            int       endYear         = Int32.Parse(ddlYearEnd.SelectedValue);
            DataTable dt              = new DataTable();
            string    cargoNmae       = ddlMaterialNameY.SelectedValue;
            string    storageId       = ddlStorageY.SelectedValue;
            string    buildFloor      = ddlFloorY.SelectedItem.Text.Replace("--全部楼层--", "");
            string    storageDeatilId = ddlStorageDetailY.SelectedValue;

            #region 取得数据源

            if (string.IsNullOrEmpty(cargoNmae))
            {
                if (string.IsNullOrEmpty(storageId))
                {
                    dt = GroupInfo.GetGroupIOStorageTotalByYear(beginYear, endYear, 0, "", "", 0, "");//无条件,全部统计
                }
                else
                {
                    if (string.IsNullOrEmpty(buildFloor))
                    {
                        dt = GroupInfo.GetGroupIOStorageTotalByYear(beginYear, endYear, 2, "", storageId, 0, "");//按仓库
                    }
                    else
                    {
                        if (string.IsNullOrEmpty(storageDeatilId))
                        {
                            dt = GroupInfo.GetGroupIOStorageTotalByYear(beginYear, endYear, 3, "", storageId, int.Parse(buildFloor), "");//按楼层
                        }
                        else
                        {
                            dt = GroupInfo.GetGroupIOStorageTotalByYear(beginYear, endYear, 4, "", "", 0, storageDeatilId);//按仓位
                        }
                    }
                }
            }
            else
            {
                if (string.IsNullOrEmpty(storageId))
                {
                    dt = GroupInfo.GetGroupIOStorageTotalByYear(beginYear, endYear, 1, cargoNmae, "", 0, "");//按品名
                }
                else
                {
                    if (string.IsNullOrEmpty(buildFloor))
                    {
                        dt = GroupInfo.GetGroupIOStorageTotalByYear(beginYear, endYear, 5, cargoNmae, storageId, 0, "");//按品名仓库
                    }
                    else
                    {
                        if (string.IsNullOrEmpty(storageDeatilId))
                        {
                            dt = GroupInfo.GetGroupIOStorageTotalByYear(beginYear, endYear, 6, cargoNmae, storageId, int.Parse(buildFloor), "");//按品名楼层
                        }
                        else
                        {
                            dt = GroupInfo.GetGroupIOStorageTotalByYear(beginYear, endYear, 7, cargoNmae, "", 0, storageDeatilId);//按品名仓位
                        }
                    }
                }
            }

            #endregion

            Series series1 = chart2.Series[0];
            Series series2 = chart2.Series[1];        //数据集声明

            // DateTime date1 = DateTime.Now.Date;
            for (int i = 0; i < dt.Rows.Count; i++)      //向数据集绑定数据
            {
                series1.Points.AddXY(dt.Rows[i]["year"].ToString() + "年", dt.Rows[i]["inTotalWeight"].ToString());
                series2.Points.AddXY(dt.Rows[i]["year"].ToString() + "年", dt.Rows[i]["outTotalWeight"].ToString());
                //  date1 = date1.AddDays(1);
            }
            while (this.chart2.Series[0].Points.Count > dt.Rows.Count)
            {
                // Remove series points
                foreach (Series s in this.chart2.Series)
                {
                    s.Points.RemoveAt(0);
                }
            }
            string title = string.Empty;
            if (beginYear == endYear)
            {
                title = beginYear.ToString();
            }
            else
            {
                title = beginYear.ToString() + "至" + endYear.ToString();
            }
            chart2.Titles.Clear();
            Title t1 = new Title(title + "粮食出入库情况", Docking.Top, new System.Drawing.Font("微软雅黑", 16), System.Drawing.Color.FromArgb(26, 59, 105));//图片标题
            chart2.Titles.Add(t1);
            chart2.ChartAreas["ChartArea1"].AxisY.Title = "重量(单位:吨)";
            chart2.ChartAreas["ChartArea1"].AxisX.Title = "年度";
        }
        else
        {
            ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "Error", "alert('异常操作!')", true);
        }
        ltnToExcle.Visible = false;
        ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "Show", "document.getElementById('divtoexcel').style.display='none';", true);
    }