Пример #1
0
        private void FormYearSet_Load(object sender, EventArgs e)
        {
            py.Col4 = type;
            py.Col5 = pid;

            IList<Ps_YearRange> li = Services.BaseService.GetList<Ps_YearRange>("SelectPs_YearRangeByCol5andCol4", py);
            if (li.Count > 0)
            {
                py = li[0];
                syear = py.StartYear;
                eyear = py.FinishYear;

            }
            else
            {
                py.BeginYear = 1990;
                py.FinishYear = eyear;
                py.StartYear = syear;
                py.EndYear = 2060;

                py.ID = Guid.NewGuid().ToString();
                Services.BaseService.Create<Ps_YearRange>(py);
            }

            spinEdit1.Value = syear;
            spinEdit2.Value = eyear;
        }
Пример #2
0
        /// <summary>
        /// 设置年分
        /// </summary>
        ///<param name="FB">传入fromBase对象</param>
        /// <param name="obj">要传入SheetView对象</param>
        /// <param name="IntRow">行数</param>
        /// <param name="IntCol">列数</param>
        /// <param name="RowStep">要合并几个行的单元格</param>
        /// <param name="ColStep">要合并几个列的单元格</param>
        /// <param name="Title">标题</param>
        public void SetYears(string Title, Itop.Client.Base.FormBase FB, FarPoint.Win.Spread.SheetView obj, int IntRow, int IntCol, int RowStep, int ColStep)
        {
            GlobalFormBase = FB;
            Ps_YearRange py = new Ps_YearRange();
            py.Col4 = Title;
            py.Col5 = FB.ProjectUID;

            IList<Ps_YearRange> li = Services.BaseService.GetList<Ps_YearRange>("SelectPs_YearRangeByCol5andCol4", py);
            if (li.Count > 0)
            {
                GlobalFirstYear = li[0].StartYear;
                GlobalEndYear = li[0].FinishYear;
            }
            else
            {
                GlobalFirstYear = 2000;
                GlobalEndYear = 2009;
                py.BeginYear = 1990;
                py.FinishYear = GlobalEndYear;
                py.StartYear = GlobalFirstYear;
                py.EndYear = 2060;
                py.ID = Guid.NewGuid().ToString();
                Services.BaseService.Create<Ps_YearRange>(py);
            }
            GolobalYearCount = GlobalEndYear - GlobalFirstYear + FixationCol + 1;//后面有两个固定列,加1是起始年的加入
            SetYearsSheet2_1(FB, obj, GlobalFirstYear, GlobalEndYear, GolobalYearCount, IntRow, IntCol, RowStep, ColStep);
        }
Пример #3
0
 public FrmAddTzgsAHTL()
 {
     InitializeComponent();
     string conn = "Col5='" + projectID + "' and Col4='" + OperTable.tzgs + "'";
     yAnge = oper.GetYearRange(conn);
     InitCom();
 }
Пример #4
0
        public void LoadYear()
        {
            yearR = oper.GetYearRange("Col5='" + GetProject + "' and Col4='" + mark + "'");

            for (int i = yearR.BeginYear; i <= yearR.FinishYear; i++)
            {
                comboBoxEdit2.Properties.Items.Add(i.ToString());
            }
            comboBoxEdit2.SelectedIndex = 0;
            comboBoxEdit1.SelectedIndex = 0;
        }
Пример #5
0
        //电力发展实绩分行业统计
        private void build_dlhistoryfhy()
        {
            Dictionary<string, Columqk> viscol = new Dictionary<string, Columqk>();
            string title = "电力发展实绩_分行业统计";
            Ps_YearRange py = new Ps_YearRange();
            py.Col4 = "电力发展实绩";
            py.Col5 = Itop.Client.MIS.ProgUID;
            int firstyear, endyear;
            IList<Ps_YearRange> li = Itop.Client.Common.Services.BaseService.GetList<Ps_YearRange>("SelectPs_YearRangeByCol5andCol4", py);
            if (li.Count > 0)
            {
                firstyear = li[0].StartYear;
                endyear = li[0].FinishYear;
            }
            else
            {
                firstyear = 2000;
                endyear = 2008;
                py.BeginYear = 1990;
                py.FinishYear = endyear;
                py.StartYear = firstyear;
                py.EndYear = 2060;
                py.ID = Guid.NewGuid().ToString();
                Itop.Client.Common.Services.BaseService.Create<Ps_YearRange>(py);
            }

            System.Data.DataTable dt = new System.Data.DataTable();
            dt.Columns.Add("ID");
            dt.Columns.Add("Title");
            viscol["Title"] = new Columqk("标题", 3, 2);
            Ps_History psp_Type = new Ps_History();
            psp_Type.Forecast = 1;
            psp_Type.Col4 = Itop.Client.MIS.ProgUID;
            IList<Ps_History> listTypes = Common.Services.BaseService.GetList<Ps_History>("SelectPs_HistoryByForecast", psp_Type);
            System.Data.DataTable dataTable = Itop.Common.DataConverter.ToDataTable((IList)listTypes, typeof(Ps_History));

            DataRow[] rows1 = dataTable.Select("Title like '全社会用电量%'");
            if (rows1.Length == 0)
            {
                MessageBox.Show("缺少‘全社会用电量’ 数据,无法进行统计!");
                this.Close();
                return;
            }
            string pid = rows1[0]["ID"].ToString();
            string tempTite = rows1[0]["Title"].ToString();
            //取出标题中的单位
               string Untis = fpcommon.FindUnits(tempTite);
            DataRow[] rows3 = dataTable.Select("ParentID='" + pid + "'");
            if (rows3.Length == 0)
            {
                MessageBox.Show("缺少‘全社会用电量’下的分行业用电数据,无法进行统计!");
                this.Close();
                return;
            }

            int m = -1;
            for (int i = firstyear; i <= endyear; i++)
            {
                //if (!ht.ContainsValue(i))
                //    continue;

                m++;
                dt.Columns.Add("y" + i, typeof(double));
                dt.Columns.Add("n" + i, typeof(double));

                viscol["n" + i] = new Columqk(i + "年百分比", 1, 2);

                if (Untis.Length > 0)
                {
                    viscol["y" + i] = new Columqk(i + "年" + "用电量(" + Untis + ")", 2, 2);
                }
                else
                {
                    viscol["y" + i] = new Columqk(i + "年" + "用电量", 2, 2);
                }

            }

            double sum = 0;
            try { sum = Convert.ToDouble(rows1[0]["y" + firstyear]); }
            catch { }

            DataRow row1 = dt.NewRow();
            row1["ID"] = Guid.NewGuid().ToString();
            row1["Title"] = "用电量总计";//rows1[0]["Title"].ToString();
            for (int k = 0; k < rows3.Length; k++)
            {

                DataRow row = dt.NewRow();
                row["ID"] = Guid.NewGuid().ToString();
                row["Title"] = rows3[k]["Title"].ToString();

                for (int j = firstyear; j <= endyear; j++)
                {
                    //if (!ht.ContainsValue(j))
                    //    continue;
                    sum = 0;
                    try
                    {
                        sum = Convert.ToDouble(rows1[0]["y" + j]);
                    }
                    catch { }

                    row1["y" + j] = sum;
                    row1["n" + j] = 1;
                    double sum1 = 0;
                    double sum2 = 0;
                    try { sum1 = Convert.ToDouble(rows3[k]["y" + j]); }
                    catch { }
                    row["y" + j] = sum1;
                    if (sum != 0)
                        sum2 = sum1 / sum;
                    row["n" + j] = sum2;
                }

                dt.Rows.Add(row);
            }
            dt.Rows.Add(row1);

            if (!shjjbyyear)
            {
                creatsheetbydt(title, dt, viscol);
            }

            else
            {
                recreatsheetbydt(title, dt, viscol, 1);
            }
        }
Пример #6
0
        private void InitData()
        {
            Ps_YearRange py = new Ps_YearRange();
            py.Col4 = yearflag;
            py.Col5 = projectUID;

            IList<Ps_YearRange> li = Itop.Client.Common.Services.BaseService.GetList<Ps_YearRange>("SelectPs_YearRangeByCol5andCol4", py);
            if (li.Count > 0)
            {
                firstyear = li[0].StartYear;
                endyear = li[0].FinishYear;
            }
            else
            {
                firstyear = 2000;
                endyear = 2008;
                py.BeginYear = 1990;
                py.FinishYear = endyear;
                py.StartYear = firstyear;
                py.EndYear = 2060;
                py.ID = Guid.NewGuid().ToString();
                Itop.Client.Common.Services.BaseService.Create<Ps_YearRange>(py);
            }

            DataTable dt = new DataTable();
            dt.Columns.Add("ID");
            dt.Columns.Add("Title");
            Ps_History psp_Type = new Ps_History();
            psp_Type.Forecast = pstype;
            psp_Type.Col4 = projectUID;
            IList<Ps_History> listTypes = Common.Services.BaseService.GetList<Ps_History>("SelectPs_HistoryByForecast", psp_Type);
            DataTable dataTable = Itop.Common.DataConverter.ToDataTable((IList)listTypes, typeof(Ps_History));

            DataRow[] rows1 = dataTable.Select("Title like 'ȫ����õ���%'");
            if (rows1.Length==0)
            {
                MessageBox.Show("ȱ�١�ȫ����õ����� ����,�޷�����ͳ��!");
                this.Close();
                return;
            }
            string pid = rows1[0]["ID"].ToString();
            string tempTite=rows1[0]["Title"].ToString();
            //ȡ�������еĵ�λ
            Untis = Historytool.FindUnits(tempTite);
            DataRow[] rows3 = dataTable.Select("ParentID='"+pid+"'");
            if (rows3.Length==0)
            {
                MessageBox.Show("ȱ�١�ȫ����õ������µķ���ҵ�õ�����,�޷�����ͳ��!");
                this.Close();
                return;
            }

            int m=-1;
            for (int i = firstyear; i <= endyear; i++)
            {
                if (!ht.ContainsValue(i))
                    continue;

                m++;
                dt.Columns.Add("y" + i, typeof(double));
                dt.Columns.Add("n" + i, typeof(double));

                GridBand gb = new GridBand();
                gb.Caption = i + "��";
                gb.AppearanceHeader.Options.UseTextOptions = true;
                gb.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;

                this.bandedGridView1.Bands.Add(gb);

                GridBand gb1 = new GridBand();
                if (Untis.Length>0)
                {
                    gb1.Caption = "�õ���("+Untis+")";
                }
                else
                {
                    gb1.Caption = "�õ���";
                }
                gb1.AppearanceHeader.Options.UseTextOptions = true;
                gb1.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
                gb.Children.Add(gb1);

                GridBand gb2 = new GridBand();
                gb2.Caption = "�ٷֱ�";
                gb2.AppearanceHeader.Options.UseTextOptions = true;
                gb2.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
                gb.Children.Add(gb2);

                BandedGridColumn gridColumn = new BandedGridColumn();
                gridColumn.Caption = i+"���õ���";
                gridColumn.FieldName = "y" + i;
                gridColumn.Visible = true;
                gridColumn.VisibleIndex = 2*m+10;
                gridColumn.DisplayFormat.FormatString = "n2";
                gridColumn.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
                gridColumn.Width = 95;
                gb1.Columns.Add(gridColumn);

                BandedGridColumn gridColumn1 = new BandedGridColumn();
                gridColumn1.Caption = i+"��ٷֱ�";
                gridColumn1.FieldName = "n" + i;
                gridColumn1.Visible = true;
                gridColumn1.VisibleIndex = 2 * m + 11;
                gridColumn1.DisplayFormat.FormatString = "n2";
                gridColumn1.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
                gridColumn1.Width = 80;
                gb2.Columns.Add(gridColumn1);
            }

                double sum = 0;
                try { sum = Convert.ToDouble(rows1[0]["y" + firstyear]); }
                    catch { }

                DataRow row1 = dt.NewRow();
                row1["ID"] = Guid.NewGuid().ToString();
                row1["Title"] = "�õ����ܼ�";//rows1[0]["Title"].ToString();
            for (int k = 0; k < rows3.Length; k++)
            {

                DataRow row = dt.NewRow();
                row["ID"] = Guid.NewGuid().ToString();
                row["Title"] = rows3[k]["Title"].ToString();

                for (int j = firstyear; j <= endyear; j++)
                {
                    if (!ht.ContainsValue(j))
                        continue;
                    sum = 0;
                    try {
                        sum = Convert.ToDouble(rows1[0]["y" + j]); }
                    catch { }

                    row1["y" + j] = sum;
                    row1["n" + j] = 1;
                    double sum1 = 0;
                    double sum2 = 0;
                    try { sum1 = Convert.ToDouble(rows3[k]["y" + j]); }
                    catch { }
                    row["y" + j] = sum1;
                    if (sum != 0)
                        sum2 = sum1 / sum;
                    row["n" + j] = sum2;
                }

                dt.Rows.Add(row);
            }
            dt.Rows.Add(row1);

            this.gridControl1.DataSource = dt;
        }
Пример #7
0
 private void barButtonItem12_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
 {
     FormYearSet fys = new FormYearSet();
     fys.TYPE = OperTable.rst220;
     fys.PID = ProjectUID;
     if (fys.ShowDialog() != DialogResult.OK)
         return;
     yAnge = oper.GetYearRange("Col5='" + GetProjectID + "' and Col4='" + OperTable.rst220 + "'");
     LoadData();
 }
Пример #8
0
 private void FrmPsNew_Load(object sender, EventArgs e)
 {
     yearRange = oper.GetYearRange("Col5='" + GetProject + "' and Col4='" + mark + "'");
     InitYear();
 }
Пример #9
0
 private void Form12_Load(object sender, EventArgs e)
 {
     HideToolBarButton();
     //取得要计算值的起始年份及开始和结束年份
     yAnge = oper.GetYearRange("Col5='" + GetProjectID + "' and Col4='" + OperTable.ph110 + "'");
     Show();
     Application.DoEvents();
     this.Cursor = Cursors.WaitCursor;
     treeList1.BeginUpdate();
     LoadData();
     treeList1.EndUpdate();
     this.Cursor = Cursors.Default;
 }
Пример #10
0
 private void barButtonItem19_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
 {
     FrmTzgsXs fys = new FrmTzgsXs();
     fys.TYPE = OperTable.tzgsxs;
     fys.PID = ProjectUID;
     fys.SetTzgsXs();
     fys.Xisu = double.Parse(yAngeXs.Col1);
     if (fys.ShowDialog() != DialogResult.OK)
         return;
     yAngeXs = oper.GetYearRange("Col5='" + GetProjectID + "' and Col4='" + OperTable.tzgsxs + "'");
        // LoadData();
 }
Пример #11
0
        private void LoadData()
        {
            if (dataTable != null)
            {
                dataTable.Columns.Clear();
                treeList1.Columns.Clear();
            }
            yAnge = oper.GetYearRange("Col5='" + GetProjectID + "' and Col4='" + OperTable.tzgs + "'");
            int startyear = yAnge.StartYear;
            int endyear = yAnge.StartYear + 5;
            string con = "ProjectID='" + GetProjectID + "' and convert(int,BuildYear) >=" + startyear + "  and convert(int,BuildEd) <=" + endyear+"   Order by Title";
            listTypes = Common.Services.BaseService.GetList("SelectPs_Table_TZGSByConn", con);

            CalcYearVol();
              //  AddTotalRow(ref listTypes);
            dataTable = Itop.Common.DataConverter.ToDataTable(listTypes, typeof(Ps_Table_TZGS));
            //dataTable = dc.GetSortTable(dataTable, "Flag", true);
            for (int i = 0; i < dataTable.Rows.Count; i++)
            {
                dataTable.Rows[i]["Length"] = dataTable.Rows[i]["y1990"];

            }
            string[] year={"","","","",""};
            for (int i =0; i < 5; i++)
            {
                year[i]="y"+(startyear+i+1);
            }
            for (int i = 0; i < dataTable.Rows.Count; i++)
            {
                if (dataTable.Rows[i][year[0]].ToString() == "0" && dataTable.Rows[i][year[1]].ToString() == "0" && dataTable.Rows[i][year[2]].ToString() == "0" && dataTable.Rows[i][year[3]].ToString() == "0" && dataTable.Rows[i][year[4]].ToString() == "0")
                {
                    if (dataTable.Rows[i]["Col4"].ToString() == "")
                    {

                        string conn = "ProjectID='" + dataTable.Rows[i]["ID"] + "'";
                        IList listvalue = Common.Services.BaseService.GetList("SelectPs_Table_TZMXByValue", conn);
                        DataTable temptable = Itop.Common.DataConverter.ToDataTable(listvalue, typeof(Ps_Table_TZMX));
                        double tempdb = 0.0;
                        for (int j = 0; j < temptable.Rows.Count; j++)
                        {

                            for (int k = 0; k < 5; k++)
                            {

                                double tempdb1 = double.Parse(dataTable.Rows[i][year[k]].ToString());
                                double tempdb2 = tempdb1 + double.Parse(temptable.Rows[j][year[k]].ToString());
                                dataTable.Rows[i][year[k]] = tempdb2.ToString();
                                tempdb += tempdb2;
                            }
                        }
                        dataTable.Rows[i]["AftVolumn"] = tempdb.ToString();
                        double berdouble=double.Parse(dataTable.Rows[i]["Amount"].ToString()) - tempdb;
                        dataTable.Rows[i]["BefVolumn"] = berdouble.ToString();
                    }
                    if (dataTable.Rows[i]["Col4"].ToString() == "pw")
                    {

                        string conn = "ProjectID='" + dataTable.Rows[i]["ID"] + "'";
                        IList listvalue = Common.Services.BaseService.GetList("SelectPs_Table_TZMXByValue", conn);
                        DataTable temptable = Itop.Common.DataConverter.ToDataTable(listvalue, typeof(Ps_Table_TZMX));
                        double tempdb = 0.0;
                        for (int j = 0; j < temptable.Rows.Count; j++)
                        {

                            for (int k = 0; k < 5; k++)
                            {

                                double tempdb1 = double.Parse(dataTable.Rows[i][year[k]].ToString());
                                double tempdb2 = tempdb1 + double.Parse(temptable.Rows[j][year[k]].ToString());
                                dataTable.Rows[i][year[k]] = tempdb2.ToString();
                                tempdb += tempdb2;
                            }
                        }
                        dataTable.Rows[i]["AftVolumn"] = tempdb.ToString();
                        double berdouble = double.Parse(dataTable.Rows[i]["Amount"].ToString()) - tempdb;
                        dataTable.Rows[i]["BefVolumn"] = berdouble.ToString();

                    }
                   if (dataTable.Rows[i]["Col4"].ToString() == "line")
                    {
                        string type = "line";
                        string conn = "ProjectID='" + dataTable.Rows[i]["ParentID"] + "'and Typeqf='" + type + "'";
                        IList listvalue = Common.Services.BaseService.GetList("SelectPs_Table_TZMXByValue", conn);
                        DataTable temptable = Itop.Common.DataConverter.ToDataTable(listvalue, typeof(Ps_Table_TZMX));
                        double tempdb = 0.0;
                        for (int j = 0; j < temptable.Rows.Count; j++)
                        {

                            for (int k = 0; k < 5; k++)
                            {

                                double tempdb1 = double.Parse(dataTable.Rows[i][year[k]].ToString());
                                double tempdb2 = tempdb1 + double.Parse(temptable.Rows[j][year[k]].ToString());
                                dataTable.Rows[i][year[k]] = tempdb2.ToString();
                                tempdb += tempdb2;
                            }
                        }
                        dataTable.Rows[i]["AftVolumn"] = tempdb.ToString();
                        double berdouble = double.Parse(dataTable.Rows[i]["Amount"].ToString()) - tempdb;
                        dataTable.Rows[i]["BefVolumn"] = Math.Round(berdouble, 3);

                    }
                    if (dataTable.Rows[i]["Col4"].ToString() == "bian")
                    {
                        string type = "sub";
                        string conn = "ProjectID='" + dataTable.Rows[i]["ParentID"] + "'and Typeqf='" + type + "'";
                        IList listvalue = Common.Services.BaseService.GetList("SelectPs_Table_TZMXByValue", conn);
                        DataTable temptable = Itop.Common.DataConverter.ToDataTable(listvalue, typeof(Ps_Table_TZMX));
                        double tempdb = 0.0;
                        for (int j = 0; j < temptable.Rows.Count; j++)
                        {
                            for (int k = 0; k < 5; k++)
                            {

                                double tempdb1 = double.Parse(dataTable.Rows[i][year[k]].ToString());
                                double tempdb2 = tempdb1 + double.Parse(temptable.Rows[j][year[k]].ToString());
                                dataTable.Rows[i][year[k]] = tempdb2.ToString();
                                tempdb += tempdb2;
                            }
                        }
                        dataTable.Rows[i]["AftVolumn"] = tempdb.ToString();
                        double berdouble = double.Parse(dataTable.Rows[i]["Amount"].ToString()) - tempdb;
                        dataTable.Rows[i]["BefVolumn"] = berdouble.ToString();

                    }
                    if (dataTable.Rows[i]["Col4"].ToString() == "pw-line")
                    {
                        string type = "pw-line";
                        string conn = "ProjectID='" + dataTable.Rows[i]["ParentID"] + "'and Typeqf='" + type + "'";
                        IList listvalue = Common.Services.BaseService.GetList("SelectPs_Table_TZMXByValue", conn);
                        DataTable temptable = Itop.Common.DataConverter.ToDataTable(listvalue, typeof(Ps_Table_TZMX));
                        double tempdb = 0.0;
                        for (int j = 0; j < temptable.Rows.Count; j++)
                        {

                            for (int k = 0; k < 5; k++)
                            {

                                double tempdb1 = double.Parse(dataTable.Rows[i][year[k]].ToString());
                                double tempdb2 = tempdb1 + double.Parse(temptable.Rows[j][year[k]].ToString());
                                dataTable.Rows[i][year[k]] = tempdb2.ToString();
                                tempdb += tempdb2;
                            }
                        }
                        dataTable.Rows[i]["AftVolumn"] = tempdb.ToString();
                        double berdouble = double.Parse(dataTable.Rows[i]["Amount"].ToString()) - tempdb;
                        dataTable.Rows[i]["BefVolumn"] = berdouble.ToString();

                    }
                    if (dataTable.Rows[i]["Col4"].ToString() == "pw-pb")
                    {
                        string type = "pw-pb";
                        string conn = "ProjectID='" + dataTable.Rows[i]["ParentID"] + "'and Typeqf='" + type + "'";
                        IList listvalue = Common.Services.BaseService.GetList("SelectPs_Table_TZMXByValue", conn);
                        DataTable temptable = Itop.Common.DataConverter.ToDataTable(listvalue, typeof(Ps_Table_TZMX));
                        double tempdb = 0.0;
                        for (int j = 0; j < temptable.Rows.Count; j++)
                        {

                            for (int k = 0; k < 5; k++)
                            {

                                double tempdb1 = double.Parse(dataTable.Rows[i][year[k]].ToString());
                                double tempdb2 = tempdb1 + double.Parse(temptable.Rows[j][year[k]].ToString());
                                dataTable.Rows[i][year[k]] = tempdb2.ToString();
                                tempdb += tempdb2;
                            }
                        }
                        dataTable.Rows[i]["AftVolumn"] = tempdb.ToString();
                        double berdouble = double.Parse(dataTable.Rows[i]["Amount"].ToString()) - tempdb;
                        dataTable.Rows[i]["BefVolumn"] = berdouble.ToString();

                    }
                    if (dataTable.Rows[i]["Col4"].ToString() == "pw-kg")
                    {
                        string type = "pw-kg";
                        string conn = "ProjectID='" + dataTable.Rows[i]["ParentID"] + "'and Typeqf='" + type + "'";
                        IList listvalue = Common.Services.BaseService.GetList("SelectPs_Table_TZMXByValue", conn);
                        DataTable temptable = Itop.Common.DataConverter.ToDataTable(listvalue, typeof(Ps_Table_TZMX));
                        double tempdb = 0.0;
                        for (int j = 0; j < temptable.Rows.Count; j++)
                        {

                            for (int k = 0; k < 5; k++)
                            {

                                double tempdb1 = double.Parse(dataTable.Rows[i][year[k]].ToString());
                                double tempdb2 = tempdb1 + double.Parse(temptable.Rows[j][year[k]].ToString());
                                dataTable.Rows[i][year[k]] = tempdb2.ToString();
                                tempdb += tempdb2;
                            }
                        }
                        dataTable.Rows[i]["AftVolumn"] = tempdb.ToString();
                        double berdouble = double.Parse(dataTable.Rows[i]["Amount"].ToString()) - tempdb;
                        dataTable.Rows[i]["BefVolumn"] = berdouble.ToString();

                    }
               }
            }
            treeList1.DataSource = dataTable;

            Ps_YearRange yr = yAnge;
            treeList1.Columns["Title"].Caption = "项目名称";
            treeList1.Columns["Title"].Width = 250;
            treeList1.Columns["Title"].MinWidth = 250;
            treeList1.Columns["Title"].OptionsColumn.AllowEdit = false;
            treeList1.Columns["Title"].OptionsColumn.AllowSort = false;
            treeList1.Columns["Title"].VisibleIndex = 0;
            treeList1.Columns["BuildYear"].Caption = "开工年限";
            treeList1.Columns["BuildYear"].Width = 100;
            treeList1.Columns["BuildYear"].MinWidth = 100;
            treeList1.Columns["BuildYear"].OptionsColumn.AllowEdit = false;
            treeList1.Columns["BuildYear"].OptionsColumn.AllowSort = false;
            treeList1.Columns["BuildYear"].VisibleIndex = 1;
            treeList1.Columns["BuildEd"].Caption = "竣工年限";
            treeList1.Columns["BuildEd"].Width = 100;
            treeList1.Columns["BuildEd"].MinWidth = 100;
            treeList1.Columns["BuildEd"].OptionsColumn.AllowEdit = false;
            treeList1.Columns["BuildEd"].OptionsColumn.AllowSort = false;
            treeList1.Columns["BuildEd"].VisibleIndex = 2;
            treeList1.Columns["AreaName"].VisibleIndex = -1;
            treeList1.Columns["Length"].Caption = "长度";
            treeList1.Columns["Length"].Width = 70;
            treeList1.Columns["Length"].MinWidth = 70;
            treeList1.Columns["Length"].OptionsColumn.AllowEdit = false;
            treeList1.Columns["Length"].OptionsColumn.AllowSort = false;
            treeList1.Columns["Length"].VisibleIndex = 3;

            treeList1.Columns["Volumn"].Caption = "容量";
            treeList1.Columns["Volumn"].Width = 70;
            treeList1.Columns["Volumn"].MinWidth = 70;
            treeList1.Columns["Volumn"].OptionsColumn.AllowEdit = false;
            treeList1.Columns["Volumn"].OptionsColumn.AllowSort = false;
            treeList1.Columns["Volumn"].VisibleIndex = 4;
            treeList1.Columns["Amount"].Caption = "总投资";
            treeList1.Columns["Amount"].Width = 100;
            treeList1.Columns["Amount"].MinWidth = 100;
            treeList1.Columns["Amount"].OptionsColumn.AllowEdit = false;
            treeList1.Columns["Amount"].OptionsColumn.AllowSort = false;
            treeList1.Columns["Amount"].VisibleIndex = 5;
            treeList1.Columns["BefVolumn"].Caption = Convert.ToString(yr.StartYear)+"年底投资";
            treeList1.Columns["BefVolumn"].Width = 100;
            treeList1.Columns["BefVolumn"].MinWidth = 100;
            treeList1.Columns["BefVolumn"].OptionsColumn.AllowEdit = false;
            treeList1.Columns["BefVolumn"].OptionsColumn.AllowSort = false;
            treeList1.Columns["BefVolumn"].VisibleIndex = 6;
            treeList1.Columns["AftVolumn"].Caption = Convert.ToString(yr.StartYear + 1) + "~" + Convert.ToString(yr.StartYear + 5) + "投资合计";
            treeList1.Columns["AftVolumn"].Width = 150;
            treeList1.Columns["AftVolumn"].MinWidth = 150;
            treeList1.Columns["AftVolumn"].OptionsColumn.AllowEdit = false;
            treeList1.Columns["AftVolumn"].OptionsColumn.AllowSort = false;
            treeList1.Columns["AftVolumn"].VisibleIndex = 7;
            CalcYearColumn();
            for (int i = 2; i <= 4; i++)
            {
                treeList1.Columns["Col" + i.ToString()].VisibleIndex = -1;
                treeList1.Columns["Col" + i.ToString()].Width = 0;
                treeList1.Columns["Col" + i.ToString()].OptionsColumn.ShowInCustomizationForm = false;
            }

            treeList1.Columns["Col1"].Caption = "备注";
            treeList1.Columns["Col1"].Width = 300;
            treeList1.Columns["Col1"].MinWidth = 300;
            treeList1.Columns["Col1"].OptionsColumn.AllowEdit = true;
            treeList1.Columns["Col1"].OptionsColumn.AllowSort = false;
            treeList1.Columns["Col1"].VisibleIndex = 3000;
            treeList1.Columns["Sort"].VisibleIndex = -1;
            treeList1.Columns["ProjectID"].VisibleIndex = -1;
            treeList1.Columns["FromID"].VisibleIndex = -1;
            treeList1.Columns["BianInfo"].VisibleIndex = -1;
            treeList1.Columns["LineInfo"].VisibleIndex = -1;
            treeList1.Columns["DQ"].VisibleIndex = -1;
            treeList1.Columns["Num1"].VisibleIndex = -1;
            treeList1.Columns["Num2"].VisibleIndex = -1;
            treeList1.Columns["Num3"].VisibleIndex = -1;
            treeList1.Columns["Num4"].VisibleIndex = -1;
            treeList1.Columns["Num5"].VisibleIndex = -1;
            treeList1.Columns["Num6"].VisibleIndex = -1;
            treeList1.Columns["WGNum"].VisibleIndex = -1;
            treeList1.Columns["AllVolumn"].VisibleIndex = -1;
            treeList1.Columns["JGNum"].VisibleIndex = -1;
            treeList1.Columns["ProgType"].VisibleIndex = -1;
            treeList1.Columns["Length2"].VisibleIndex = -1;

            treeList1.Columns["Sort"].SortOrder = SortOrder.Ascending;
            Application.DoEvents();
               // SetValueNull();
            //treeList1.ExpandAll();
            treeList1.CollapseAll();
        }
Пример #12
0
        //重点建设项目统计
        private void build_zdjsxm()
        {
            Dictionary<string, Columqk> viscol = new Dictionary<string, Columqk>();
            string title = "分区县供电实绩_重点建设工业及用电需求表";
            Ps_YearRange py = new Ps_YearRange();
            py.Col4 = "区县发展实绩";
            py.Col5 = ProjectUID;
            int firstyear, endyear;
            IList<Ps_YearRange> li = Services.BaseService.GetList<Ps_YearRange>("SelectPs_YearRangeByCol5andCol4", py);
            if (li.Count > 0)
            {
                firstyear = li[0].StartYear;
                endyear = li[0].FinishYear;
            }
            else
            {
                firstyear = 2001;
                endyear = DateTime.Today.Year - 1;
                py.BeginYear = 2001;
                py.FinishYear = endyear;
                py.StartYear = firstyear;
                py.EndYear = 2060;
                py.ID = Guid.NewGuid().ToString();
                Services.BaseService.Create<Ps_YearRange>(py);
            }
            datatable = getfqxdltable();
            datatable2 = getfqxdltable2(datatable);
            //形成统计表

            System.Data.DataTable showtable = new System.Data.DataTable();//要显示的datatable
            //setcols431
            cols.Clear();
            colyears.Clear();
            colsum.Clear();
            showtable.Columns.Add("Col1", typeof(string)).Caption = "编号";
            viscol["Col1"] = new Columqk("编号", 3, 2);
            cols.Add("Col1");
            showtable.Columns.Add("Title", typeof(string)).Caption = "企业(项目)名称";
            viscol["Title"] = new Columqk("企业(项目)名称", 3, 2);
            cols.Add("Title");
            showtable.Columns.Add("Col2", typeof(string)).Caption = "建设规模及内容";
            cols.Add("Col2");
            viscol["Col2"] = new Columqk("建设规模及内容", 3, 2);
            showtable.Columns.Add("Col7", typeof(string)).Caption = "计划建设年限";
            cols.Add("Col7");
            viscol["Col7"] = new Columqk("计划建设年限", 3, 2);
            showtable.Columns.Add("Col6", typeof(string)).Caption = "工作进展";
            cols.Add("Col6");
            viscol["Col6"] = new Columqk("工作进展", 3, 2);
            DataColumn dcol = showtable.Columns.Add("y1990", typeof(double));

            dcol.Caption = "用电量";
            viscol["y1990"] = new Columqk("用电量", 2, 2);
            //dcol = showtable.Columns.Add("y1990_sum", typeof(double));
            //dcol.Caption = "正常用电量";
            //dcol.Expression = "IIF(Title='小计',sum(y1990),y1990)";

            cols.Add("y1990");
            showtable.Columns.Add("y1991", typeof(double)).Caption = "负荷";
            viscol["y1991"] = new Columqk("负荷", 2, 2);
            cols.Add("y1991");

            colsum.Add("y1990");
            colsum.Add("y1991");
            ConvertTreeListToDataTable511(ref showtable, datatable, datatable2, firstyear, endyear);
            if (!shjjbyyear)
            {
                creatsheetbydt(title, showtable, viscol);
            }

            else
            {
                recreatsheetbydt(title, showtable, viscol, 5);
            }
        }
Пример #13
0
        private void build_fqxgdsj()
        {
            Dictionary<string, Columqk> viscol = new Dictionary<string, Columqk>();
            string title = "分区县供电实绩";
            //对数据进行处理
             Ps_YearRange py = new Ps_YearRange();
            py.Col4 = "分区供电实绩";
            py.Col5 = ProjectUID;
            int firstyear, endyear;
            IList<Ps_YearRange> li = Services.BaseService.GetList<Ps_YearRange>("SelectPs_YearRangeByCol5andCol4", py);
            if (li.Count > 0)
            {
                firstyear = li[0].StartYear;
                endyear = li[0].FinishYear;
            }
            else
            {
                firstyear = 2000;
                endyear = 2008;
                py.BeginYear = 1990;
                py.FinishYear = endyear;
                py.StartYear = firstyear;
                py.EndYear = 2060;
                py.ID = Guid.NewGuid().ToString();
                Services.BaseService.Create<Ps_YearRange>(py);
            }

            System.Data.DataTable datatable = getfqgdsjtable();
            System.Data.DataTable dt = new System.Data.DataTable();
            List<string> listColID = new List<string>();

            listColID.Add("Title");
            dt.Columns.Add("Title", typeof(string));
            dt.Columns["Title"].Caption = "项目";
            viscol["Title"] = new Columqk("项目", 3, 2);
            dt.Columns.Add("ParentID", typeof(string));

            foreach (System.Data.DataColumn column in datatable.Columns)
            {
                if (column.ColumnName.IndexOf("y") >= 0)
                {
                    int year=Convert.ToInt32(column.ColumnName.Substring(1));
                    if (year>=firstyear &&year<=endyear)
                    {
                        listColID.Add(column.ColumnName);
                        dt.Columns.Add(column.ColumnName, typeof(double));
                        viscol[column.ColumnName] = new Columqk(year + "年", 2, 2);
                    }

                }
                //else
                //    if (column.FieldName == "ParentID")
                //    {
                //        dt.Columns.Add("ParentID", typeof(string));
                //        listColID.Add("ParentID");
                //        dt.Columns["ParentID"].Caption = "父ID";
                //    }
            }
            listColID.Add("ParentID");
            dt.Columns["ParentID"].Caption = "父ID";

            int itemp = -4;
            int jtemp = -4;
            foreach (DataRow node in datatable.Rows)
            {
                jtemp = itemp;
                AddNodeDataToDataTable(ref dt, node, listColID, ref itemp, jtemp);
                // itemp++;
            }
            if (!shjjbyyear)
            {
                creatsheetbydt(title, dt, viscol);
            }

            else
            {
                recreatsheetbydt(title, dt, viscol, 3);
            }
        }
Пример #14
0
        //电力发展实绩社会经济用电情况
        private void build_dlhistoryjjyd()
        {
            bool IsFist = true;
            int RealFistYear = 0; ;
            Dictionary<string, Columqk> viscol = new Dictionary<string, Columqk>();
            string title = "电力发展实绩_分行业统计";
            Ps_YearRange py = new Ps_YearRange();
            py.Col4 = "电力发展实绩";
            py.Col5 = Itop.Client.MIS.ProgUID;
            int firstyear, endyear;
            IList<Ps_YearRange> li = Itop.Client.Common.Services.BaseService.GetList<Ps_YearRange>("SelectPs_YearRangeByCol5andCol4", py);
            if (li.Count > 0)
            {
                firstyear = li[0].StartYear;
                endyear = li[0].FinishYear;
            }
            else
            {
                firstyear = 1990;
                endyear = 2020;
                py.BeginYear = 1990;
                py.FinishYear = endyear;
                py.StartYear = firstyear;
                py.EndYear = 2060;
                py.ID = Guid.NewGuid().ToString();
                Itop.Client.Common.Services.BaseService.Create<Ps_YearRange>(py);
            }

            System.Data.DataTable dt = new System.Data.DataTable();
            dt.Columns.Add("ID");
            dt.Columns.Add("Title");
            viscol["Title"]=new Columqk("统计类别",3,2);
            Ps_History psp_Type = new Ps_History();
            psp_Type.Forecast = 1;
            psp_Type.Col4 = Itop.Client.MIS.ProgUID;
            IList<Ps_History> listTypes = Common.Services.BaseService.GetList<Ps_History>("SelectPs_HistoryByForecast", psp_Type);
            System.Data.DataTable dataTable = Itop.Common.DataConverter.ToDataTable((IList)listTypes, typeof(Ps_History));

            DataRow[] rows1 = dataTable.Select("Title like '全地区GDP%'");
            // DataRow[] rows2 = dataTable.Select("Title like '全社会供电量%'");
            DataRow[] rows4 = dataTable.Select("Title like '全社会用电量%'");
            //DataRow[] rows5 = dataTable.Select("Title like '全社会最大负荷%'");
            DataRow[] rows7 = dataTable.Select("Title like '年末总人口%'");
            DataRow[] rows8 = dataTable.Select("Title='居民用电'");

            if (rows1.Length == 0)
            {
                MessageBox.Show("缺少全地区GDP数据!");
                this.Close();
                return;
            }
            //if (rows2.Length == 0)
            //{
            //    MessageBox.Show("缺少全社会供电量数据!");
            //    this.Close();
            //}
            if (rows4.Length == 0)
            {
                MessageBox.Show("缺少全社会用电量数据!");
                this.Close();
                return;
            }
            //if (rows5.Length == 0)
            //{
            //    MessageBox.Show("缺少全社会最大负荷数据!");
            //    this.Close();
            //}
            if (rows7.Length == 0)
            {
                MessageBox.Show("缺少年末总人口数据!");
                this.Close();
                return;
            }

            string GDPUnits = fpcommon.FindUnits(rows1[0]["Title"].ToString());
            //全社会供电量单位
            //AGdlUnits = Historytool.FindUnits(rows2[0]["Title"].ToString());
            //全社会用电量单位
            string AYdlUnits = fpcommon.FindUnits(rows4[0]["Title"].ToString());
            //全社会最大负荷单位
            // AMaxFhUnits = Historytool.FindUnits(rows5[0]["Title"].ToString());
            //年末总人口单位
               string NMARkUnits = fpcommon.FindUnits(rows7[0]["Title"].ToString());

            string pid = rows1[0]["ID"].ToString();
            string sid = rows4[0]["ID"].ToString();

            ///全地区GDP子类
            DataRow[] rows3 = dataTable.Select("ParentID='" + pid + "'");
            ///会社会用电量子类
            DataRow[] rows6 = dataTable.Select("ParentID='" + sid + "'");
            int m = -1;

            for (int i = firstyear; i <= endyear; i++)
            {
                //如果点击统计按钮
                if (shjjbyyear)
                {
                    if (!ht.ContainsValue(i))
                    continue;
                }

                if (IsFist)
                {
                    RealFistYear = i;
                    IsFist = false;
                }
                m++;
                dt.Columns.Add("y" + i, typeof(double));
                viscol["y"+i]=new Columqk(i+"年",2,2);

                //if (!ht1.ContainsValue(i))
                //    continue;

                dt.Columns.Add("m" + i, typeof(double));
                viscol["m"+i]=new Columqk("年增长率(%)",1,2);

            }

            double sum = 0;// 全地区GDP数据
            try { sum = Convert.ToDouble(rows1[0]["y" + firstyear]); }
            catch { }

            double sum51 = 0;// 全社会用电量数据
            try { sum51 = Convert.ToDouble(rows4[0]["y" + firstyear]); }
            catch { }
            double sum52 = 0;
            double sum53 = 0;

            double sum1 = 0;
            double sum2 = 0;
            double sum3 = 0;
            double sum4 = 0;
            double sum5 = 0;
            double sum6 = 0;
            double sum7 = 0;
            double sum8 = 0;
            double sum9 = 0;
            double sum10 = 0;
            double sum11 = 0;
            double sum12 = 0;
            double sum13 = 0;
            DataRow row = dt.NewRow();
            DataRow row3 = dt.NewRow();
            DataRow row4 = dt.NewRow();
            DataRow row5 = dt.NewRow();
            DataRow row6 = dt.NewRow();
            DataRow row7 = dt.NewRow();
            DataRow row8 = dt.NewRow();
            DataRow row9 = dt.NewRow();
            DataRow row10 = dt.NewRow();
            DataRow row11 = dt.NewRow();
            row["ID"] = Guid.NewGuid().ToString();
            row["Title"] = "一、地区生产总值(GDP," + GDPUnits + ")";

            m = firstyear;

            for (int j = firstyear; j <= endyear; j++)
            {
                if (shjjbyyear)
                {
                    if (!ht.ContainsValue(j))
                        continue;
                }

                try { sum1 = Convert.ToDouble(rows1[0]["y" + j]); }
                catch { }
                row["y" + j] = sum1;

                try { sum51 = Convert.ToDouble(rows4[0]["y" + j]); }
                catch { }

                if (m != firstyear)//表示不是第一年,以后的年份要算增长
                {
                    try { sum2 = Convert.ToDouble(rows1[0]["y" + (j - 1)]); }
                    catch { }

                    try { sum52 = Convert.ToDouble(rows4[0]["y" + (j - 1)]); }
                    catch { }
                    if (sum52 != 0)
                        sum53 = sum51 * 100 / sum52 - 100;//用电量增长

                    if (sum2 != 0)
                        sum3 = sum1 * 100 / sum2 - 100;//GDP增长

                    row3["y" + j] = sum3;
                }
                else
                    row3["y" + j] = 1;

                try { sum4 = Convert.ToDouble(rows4[0]["y" + j]); }
                catch { }
                row4["y" + j] = sum4;//用电量

                //try { sum5 = Convert.ToDouble(rows5[0]["y" + j]); }
                //catch { }
                //row5["y" + j] = sum5;//最大负荷

                //if (sum5 != 0)
                //    sum6 = sum4 * 10000 / sum5;
                //row6["y" + j] = sum6;// 计算全社会最大负荷利用小时数

                //try { sum7 = Convert.ToDouble(rows2[0]["y" + j]); }
                //catch { }

                if (m != firstyear)
                {
                    //if (sum53 != 0)
                    //    sum8 = sum3 / sum53;
                    //row7["y" + j] = sum8;//原计算
                    if (sum3 != 0)
                        sum8 = sum53 / sum3;
                    row7["y" + j] = sum8;//弹性系数,电力消费增长速度与国民经济增长的比值lgm
                }
                else
                    row7["y" + j] = 1;

                try { sum9 = Convert.ToDouble(rows7[0]["y" + j]); }//年末人口
                catch { }

                if (sum9 != 0)
                {
                    if (AYdlUnits.Contains("亿") && NMARkUnits.Contains("万人"))//亿kWh  万人
                    {
                        sum10 = sum51 * 10000 / sum9;//人均用电量
                    }
                    else if (AYdlUnits.Contains("万") && NMARkUnits.Contains("万人"))//万kWh  万人
                    {
                        sum10 = sum51 / sum9;//人均用电量
                    }
                    else
                    {
                        MessageBox.Show("全社会用电量或年末总人口的单位错误!请用默认类别管理较对!(亿kWh,万kWh,万人)");
                        this.Close();
                        return;
                    }

                }
                row8["y" + j] = sum10;

                if (sum1 != 0)
                {
                    if (AYdlUnits.Contains("亿") && GDPUnits.Contains("亿元"))//亿kWh 亿元
                    {
                        sum11 = sum4 * 10000 / sum1;//单产耗能
                    }
                    else if (AYdlUnits.Contains("万") && GDPUnits.Contains("亿元"))//万kWh  亿元
                    {
                        sum11 = sum4 / sum1;//单产耗能
                    }
                    else
                    {
                        MessageBox.Show("全社会用电量或全地区GDP的单位错误!请用默认类别管理较对!(亿kWh,万kWh,亿元)");
                        this.Close();
                        return;
                    }
                }
                row9["y" + j] = sum11;//单产耗能

                if (rows8.Length > 0)
                {
                    try { sum12 = Convert.ToDouble(rows8[0]["y" + j]); }
                    catch { }
                    row11["y" + j] = sum12;

                    if (sum9 != 0)
                    {
                        if (AYdlUnits.Contains("亿") && NMARkUnits.Contains("万人"))//亿kWh 万人
                        {
                            sum13 = sum12 * 10000 / sum9;//居民用电
                        }
                        else if (AYdlUnits.Contains("万") && NMARkUnits.Contains("万人"))//万kWh  万人
                        {
                            sum13 = sum12 / sum9;//居民用电
                        }
                        else
                        {
                            MessageBox.Show("全社会用电量或年末总人口的单位错误!请用默认类别管理较对!(亿kWh,万kWh,万人)");
                            this.Close();
                            return;
                        }

                    }
                    row10["y" + j] = sum13;
                }
                else
                {
                    row10["y" + j] = sum13;
                }
                m++;
            }

            dt.Rows.Add(row);

            for (int k = 0; k < rows3.Length; k++)
            {
                double su1 = 0;
                double su2 = 0;
                double su3 = 0;

                DataRow ro1 = dt.NewRow();
                ro1["ID"] = Guid.NewGuid().ToString();
                ro1["Title"] = rows3[k]["Title"].ToString();

                DataRow ro2 = dt.NewRow();
                ro2["ID"] = Guid.NewGuid().ToString();
                ro2["Title"] = "比例(%)";

                for (int j = firstyear; j <= endyear; j++)
                {
                    if (shjjbyyear)
                    {
                     if (!ht.ContainsValue(j))
                        continue;
                    }

                    try { su1 = Convert.ToDouble(rows1[0]["y" + j]); }
                    catch { }
                    su2 = 0;
                    su3 = 0;
                    try { su2 = Convert.ToDouble(rows3[k]["y" + j]); }
                    catch { }
                    ro1["y" + j] = su2;

                    if (su1 != 0)
                        su3 = su2 * 100 / su1;
                    ro2["y" + j] = su3;

                }

                dt.Rows.Add(ro1);
                dt.Rows.Add(ro2);

            }

            row3["ID"] = Guid.NewGuid().ToString();
            row3["Title"] = "地区生产总值增长率(%)";
            dt.Rows.Add(row3);

            row4["ID"] = Guid.NewGuid().ToString();
            row4["Title"] = "二、全社会用电量(" + AYdlUnits + ")";
            dt.Rows.Add(row4);

            //row5["ID"] = Guid.NewGuid().ToString();
            //row5["Title"] = "最大负荷(万千瓦)";
            //dt.Rows.Add(row5);

            //row6["ID"] = Guid.NewGuid().ToString();
            //row6["Title"] = "最大负荷利用小时数(小时)";
            //dt.Rows.Add(row6);

            for (int k = 0; k < rows6.Length; k++)
            {
                double su1 = 0;
                double su2 = 0;
                double su3 = 0;

                DataRow ro1 = dt.NewRow();
                ro1["ID"] = Guid.NewGuid().ToString();
                ro1["Title"] = rows6[k]["Title"].ToString();

                DataRow ro2 = dt.NewRow();
                ro2["ID"] = Guid.NewGuid().ToString();
                ro2["Title"] = "比例(%)";

                for (int j = firstyear; j <= endyear; j++)
                {
                    if (shjjbyyear)
                    {
                        if (!ht.ContainsValue(j))
                            continue;
                    }

                    try { su1 = Convert.ToDouble(rows4[0]["y" + j]); }
                    catch { }
                    su2 = 0;
                    su3 = 0;
                    try { su2 = Convert.ToDouble(rows6[k]["y" + j]); }
                    catch { }
                    ro1["y" + j] = su2;

                    if (su1 != 0)
                        su3 = su2 * 100 / su1;
                    ro2["y" + j] = su3;

                }

                dt.Rows.Add(ro1);
                dt.Rows.Add(ro2);

            }

            row7["ID"] = Guid.NewGuid().ToString();
            row7["Title"] = "弹性系数";
            dt.Rows.Add(row7);

            row8["ID"] = Guid.NewGuid().ToString();
            row8["Title"] = "人均用电量(千瓦时/人)";
            dt.Rows.Add(row8);

            row9["ID"] = Guid.NewGuid().ToString();
            row9["Title"] = "GDP单耗(千瓦时/万元)";
            dt.Rows.Add(row9);

            for (int k = 0; k < rows6.Length; k++)
            {
                double su1 = 0;
                double su2 = 0;
                double su3 = 0;

                DataRow ro1 = dt.NewRow();
                ro1["ID"] = Guid.NewGuid().ToString();
                ro1["Title"] = rows6[k]["Title"].ToString();

                for (int j = firstyear; j <= endyear; j++)
                {
                    if (shjjbyyear)
                    {
                        if (!ht.ContainsValue(j))
                            continue;
                    }

                    su1 = 0;
                    su2 = 0;
                    su3 = 0;
                    try { su1 = Convert.ToDouble(rows6[k]["y" + j]); }
                    catch { }
                    try { su2 = Convert.ToDouble(rows3[k]["y" + j]); }
                    catch { }

                    if (su2 != 0)
                    { su3 = su1 * 10000 / su2; }
                    else
                        su3 = su1;
                    ro1["y" + j] = su3;
                }
                if (rows6[k]["Title"].ToString().IndexOf("居民") >= 0)
                    continue;
                dt.Rows.Add(ro1);

            }

            row10["ID"] = Guid.NewGuid().ToString();
            row10["Title"] = "居民用电(千瓦时/人)";
            dt.Rows.Add(row10);

            double d = 0;
            foreach (DataRow drw1 in dt.Rows)
            {
                try
                {
                    d = (double)drw1["y" + RealFistYear];
                }
                catch { }
                foreach (DataColumn dc in dt.Columns)
                {
                    if (dc.ColumnName.IndexOf("m") >= 0)
                    {
                        string s = dc.ColumnName.Replace("m", "");
                        int y1 = int.Parse(s);
                        double d1 = 0;
                        try
                        {
                            d1 = (double)drw1["y" + s];
                        }
                        catch { }

                        double sss = Math.Round(Math.Pow(d1 / d, 1.0 / (y1 - RealFistYear)) - 1, 4);

                        if (sss.ToString() == "非数字")
                            sss = 0;
                        drw1["m" + s] = sss;
                    }
                }
            }
            if (!shjjbyyear)
            {
                creatsheetbydt(title, dt, viscol);
            }

            else
            {
                recreatsheetbydt(title, dt, viscol, 2);
            }
        }
Пример #15
0
        //形成基础数据电力发展实绩历年地区生产
        private void build_dlhistoryGDP()
        {
            Dictionary<string, Columqk> viscol = new Dictionary<string, Columqk>();
            string title = "电力发展实绩_历年地区生产总值";
            Ps_YearRange py = new Ps_YearRange();
            py.Col4 = "电力发展实绩";
            py.Col5 = Itop.Client.MIS.ProgUID;

            IList<Ps_YearRange> li = Itop.Client.Common.Services.BaseService.GetList<Ps_YearRange>("SelectPs_YearRangeByCol5andCol4", py);
            int firstyear, endyear;
            if (li.Count > 0)
            {
                firstyear = li[0].StartYear;
                endyear = li[0].FinishYear;
            }
            else
            {
                firstyear = 2000;
                endyear = 2008;
                py.BeginYear = 1990;
                py.FinishYear = endyear;
                py.StartYear = firstyear;
                py.EndYear = 2060;
                py.ID = Guid.NewGuid().ToString();
                Itop.Client.Common.Services.BaseService.Create<Ps_YearRange>(py);
            }

            System.Data.DataTable dt = new System.Data.DataTable();
            dt.Columns.Add("ID");
            dt.Columns.Add("Year");
            viscol["Year"] = new Columqk("年份", 3, 2);
            dt.Columns.Add("GDP", typeof(double));
            viscol["GDP"] = new Columqk("GDP(亿元)", 2, 2);
            dt.Columns.Add("A", typeof(double));
            viscol["A"] = new Columqk("增长指数", 2, 2);
            Ps_History psp_Type = new Ps_History();
            psp_Type.Forecast = 1;
            psp_Type.Col4 = Itop.Client.MIS.ProgUID;
            IList<Ps_History> listTypes = Common.Services.BaseService.GetList<Ps_History>("SelectPs_HistoryByForecast", psp_Type);
            System.Data.DataTable dataTable = Itop.Common.DataConverter.ToDataTable((IList)listTypes, typeof(Ps_History));

            DataRow[] rows1 = dataTable.Select("Title like '全地区GDP%'");
            DataRow[] rows2 = dataTable.Select("Title like '年末总人口%'");
            //找不到数据时给出提示
            if (rows1.Length == 0 || rows2.Length == 0)
            {
                MessageBox.Show("缺少‘全地区GDP’或‘年末总人口’ 数据,无法进行统计!");
                this.Close();
                return;
            }
            string pid = rows1[0]["ID"].ToString();
            DataRow[] rows3 = dataTable.Select("ParentID='" + pid + "'");

            int m = -1;
            for (int k = 0; k < rows3.Length; k++)
            {
                m++;
                dt.Columns.Add("m" + m, typeof(double));
                dt.Columns.Add("n" + m, typeof(double));

                viscol["m" + m] = new Columqk(rows3[k]["Title"].ToString(), 2, 2);

                viscol["n" + m] = new Columqk("比例(%)", 1, 2);
            }
            viscol["RK"] = new Columqk("人口(万人)", 2, 2);
            viscol["RJGDP"] = new Columqk("人均GDP(万元/人)", 1, 2);
            dt.Columns.Add("RK", typeof(double));
            dt.Columns.Add("RJGDP", typeof(double));
            double sum1 = 0;
            for (int i = firstyear; i <= endyear; i++)
            {
                //if (!ht.ContainsValue(i))
                //    continue;

                DataRow row = dt.NewRow();
                row["ID"] = Guid.NewGuid().ToString();
                row["Year"] = i;
                double sum = 0;
                try { sum = Convert.ToDouble(rows1[0]["y" + i]); }
                catch { }
                row["GDP"] = sum.ToString();

                if (i == firstyear)
                    sum1 = sum;

                if (sum1 != 0)
                    sum1 = sum * 100 / sum1;
                row["A"] = sum1.ToString("n2");
                sum1 = sum;
                for (int j = 0; j <= m; j++)
                {
                    double s = 0;
                    double y = 0;
                    try { s = Convert.ToDouble(rows3[j]["y" + i]); }
                    catch { }
                    row["m" + j] = s.ToString();
                    if (sum != 0)
                        y = s * 100 / sum;

                    row["n" + j] = detel_jd(y, 2);
                }
                double rk = 0;
                double rjgdp = 0;
                try { rk = Convert.ToDouble(rows2[0]["y" + i]); }
                catch { }
                row["RK"] = rk.ToString();

                if (rk != 0)
                    rjgdp = sum / rk;

                row["RJGDP"] = detel_jd(rjgdp, 4);
                dt.Rows.Add(row);

            }
            if (!shjjbyyear)
            {
                creatsheetbydt(title, dt, viscol);
            }

            else
            {
                recreatsheetbydt(title, dt, viscol, 0);
            }
        }
Пример #16
0
        //把树控件内容按显示顺序生成到DataTable中
        private System.Data.DataTable ConvertTreeListToDataTable(System.Data.DataTable xTreeList, bool bRemove, Ps_YearRange yAnge)
        {
            System.Data.DataTable dt = new System.Data.DataTable();
            List<string> listColID = new List<string>();
            listColID.Add("BuildIng");
            dt.Columns.Add("BuildIng", typeof(string));
            listColID.Add("BuildYear");
            dt.Columns.Add("BuildYear", typeof(string));

            listColID.Add("BuildEd");
            dt.Columns.Add("BuildEd", typeof(string));
            listColID.Add("Sort");
            dt.Columns.Add("Sort", typeof(int));
            listColID.Add("ProjectID");
            dt.Columns.Add("ProjectID", typeof(string));

            listColID.Add("ParentID");
            dt.Columns.Add("ParentID", typeof(string));

            listColID.Add("Title");
            dt.Columns.Add("Title", typeof(string));
            dt.Columns["Title"].Caption = "分类";
            for (int i = yAnge.StartYear; i <= yAnge.FinishYear; i++)
            {
                listColID.Add("y" + i.ToString());
                dt.Columns.Add("y" + i.ToString(), typeof(double));
            }
            for (int i = 1; i < 5; i++)
            {
                listColID.Add("Col" + i.ToString());
                dt.Columns.Add("Col" + i.ToString(), typeof(string));
            }
            foreach (DataRow node in xTreeList.Rows)
            {
                AddNodeDataToDataTable(dt, xTreeList, node, listColID, bRemove);
            }

            return dt;
        }
Пример #17
0
        private System.Data.DataTable get500phtable(Ps_YearRange yange)
        {
            System.Data.DataTable dataTable = new System.Data.DataTable();
            if (dataTable != null)
            {
                dataTable.Columns.Clear();

            }
            string conn = "ProjectID='" + GetProjectID + "' and ParentID='0'";
            IList pList = Common.Services.BaseService.GetList("SelectPs_Table_500PHListByConn", conn);
            for (int i = 0; i < pList.Count; i++)
            {
                UpdateFuHe(((Ps_Table_500PH)pList[i]).Title, ((Ps_Table_500PH)pList[i]).ID, "yf");
            }
            string con = "ProjectID='" + GetProjectID + "'";
            IList listTypes = Common.Services.BaseService.GetList("SelectPs_Table_500PHListByConn", con);
            CaleHeTable(ref listTypes);
            AddRows(ref listTypes, "ParentID='0' and ProjectID='" + GetProjectID + "'");
            //  CalcTotal(ref listTypes);
            dataTable = Itop.Common.DataConverter.ToDataTable(listTypes, typeof(Ps_Table_500PH));
            return dataTable;
        }
Пример #18
0
        private void InitData()
        {
            Ps_YearRange py = new Ps_YearRange();
            py.Col4 = yearflag;
            py.Col5 = projectUID;

            IList<Ps_YearRange> li = Itop.Client.Common.Services.BaseService.GetList<Ps_YearRange>("SelectPs_YearRangeByCol5andCol4", py);
            if (li.Count > 0)
            {
                firstyear = li[0].StartYear;
                endyear = li[0].FinishYear;
            }
            else
            {
                firstyear = 1990;
                endyear = 2020;
                py.BeginYear = 1990;
                py.FinishYear = endyear;
                py.StartYear = firstyear;
                py.EndYear = 2060;
                py.ID = Guid.NewGuid().ToString();
                Itop.Client.Common.Services.BaseService.Create<Ps_YearRange>(py);
            }

            DataTable dt = new DataTable();
            dt.Columns.Add("ID");
            dt.Columns.Add("Title");
            Ps_History psp_Type = new Ps_History();
            psp_Type.Forecast = pstype;
            psp_Type.Col4 = projectUID;
            IList<Ps_History> listTypes = Common.Services.BaseService.GetList<Ps_History>("SelectPs_HistoryByForecast", psp_Type);
            DataTable dataTable = Itop.Common.DataConverter.ToDataTable((IList)listTypes, typeof(Ps_History));

            Ps_History psp_Typejj = new Ps_History();
            psp_Typejj.Forecast = 5;
            psp_Typejj.Col4 = projectUID;
            IList<Ps_History> listTypesjj = Common.Services.BaseService.GetList<Ps_History>("SelectPs_HistoryByForecast", psp_Typejj);
            DataTable dataTablejj = Itop.Common.DataConverter.ToDataTable((IList)listTypesjj, typeof(Ps_History));

            DataRow[] rows1 = dataTablejj.Select("Title like 'ȫ����GDP%'");
               // DataRow[] rows2 = dataTable.Select("Title like 'ȫ��ṩ����%'");
            DataRow[] rows4 = dataTable.Select("Title like 'ȫ����õ���%'");
            //DataRow[] rows5 = dataTable.Select("Title like 'ȫ�����󸺺�%'");
            DataRow[] rows7 = dataTablejj.Select("Title like '��ĩ���˿�%'");
            DataRow[] rows8 = dataTable.Select("Title='�����õ�'");

            if (rows1.Length==0)
            {
                MessageBox.Show("ȱ��ȫ����GDP����!");
                this.Close();
                return;
            }
            //if (rows2.Length == 0)
            //{
            //    MessageBox.Show("ȱ��ȫ��ṩ��������!");
            //    this.Close();
            //}
            if (rows4.Length == 0)
            {
                MessageBox.Show("ȱ��ȫ����õ�������!");
                this.Close();
                return;
            }
            //if (rows5.Length == 0)
            //{
            //    MessageBox.Show("ȱ��ȫ�����󸺺�����!");
            //    this.Close();
            //}
            if (rows7.Length == 0)
            {
                MessageBox.Show("ȱ����ĩ���˿�����!");
                this.Close();
                return;
            }

            GDPUnits = Historytool.FindUnits(rows1[0]["Title"].ToString());
            //ȫ��ṩ������λ
            //AGdlUnits = Historytool.FindUnits(rows2[0]["Title"].ToString());
            //ȫ����õ�����λ
            AYdlUnits = Historytool.FindUnits(rows4[0]["Title"].ToString());
            //ȫ�����󸺺ɵ�λ
               // AMaxFhUnits = Historytool.FindUnits(rows5[0]["Title"].ToString());
            //��ĩ���˿ڵ�λ
            NMARkUnits = Historytool.FindUnits(rows7[0]["Title"].ToString());

            string pid = rows1[0]["ID"].ToString();
            string sid = rows4[0]["ID"].ToString();

            ///ȫ����GDP����
            DataRow[] rows3 = dataTable.Select("ParentID='"+pid+"'");
            ///������õ�������
            DataRow[] rows6 = dataTable.Select("ParentID='" + sid + "'");
            int m=-1;
            this.gridControl1.BeginInit();
            this.gridControl1.BeginUpdate();

            bool isfirst = true;
            for (int i = firstyear; i <= endyear; i++)
            {
                dt.Columns.Add("y" + i, typeof(double));
                if (!ht.ContainsValue(i))
                    continue;
                if (IsFist)
                {
                    RealFistYear = i;
                    IsFist = false;
                }
                m++;
                //dt.Columns.Add("y" + i, typeof(double));
                GridColumn gridColumn = new GridColumn();
                gridColumn.Caption = i+"��";
                gridColumn.FieldName = "y" + i;
                gridColumn.Visible = true;
                gridColumn.VisibleIndex = 2*m+10;
                gridColumn.Width = 70;
                gridColumn.DisplayFormat.FormatString = "n2";
                gridColumn.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
                gridView1.Columns.Add(gridColumn);

                if (ht1.ContainsValue(i))
                {
                    if (isfirst)
                    {
                        isfirst = false;
                    }
                    else
                    {
                        gridColumn = new GridColumn();
                        gridColumn.Caption = "���������(%)";
                        gridColumn.FieldName = "m" + i;
                        gridColumn.Visible = true;
                        gridColumn.Width = 130;
                        gridColumn.VisibleIndex = 2 * m + 11;
                        gridColumn.DisplayFormat.FormatString = "n2";
                        gridColumn.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
                        gridView1.Columns.Add(gridColumn);
                        dt.Columns.Add("m" + i, typeof(double));
                    }

                }

                if (ht2.ContainsValue(i))
                {

                    gridColumn = new GridColumn();
                    gridColumn.Caption = "����������(%)";
                    gridColumn.FieldName = "n" + i;
                    gridColumn.Visible = true;
                    gridColumn.Width = 130;
                    gridColumn.VisibleIndex = 2 * m + 12;
                    gridColumn.DisplayFormat.FormatString = "n2";
                    gridColumn.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
                    gridView1.Columns.Add(gridColumn);
                    dt.Columns.Add("n" + i, typeof(double));

                }

            }

            this.gridControl1.EndUpdate();
            this.gridControl1.EndInit();
                double sum = 0;// ȫ����GDP����
                try { sum = Convert.ToDouble(rows1[0]["y" + firstyear]); }
                catch { }

                double sum51 = 0;// ȫ����õ�������
                try { sum51 = Convert.ToDouble(rows4[0]["y" + firstyear]); }
                catch { }
                double sum52 = 0;
                double sum53 = 0;

                double sum1 = 0;
                double sum2 = 0;
                double sum3 = 0;
                double sum4 = 0;
                double sum5 = 0;
                double sum6 = 0;
                double sum7 = 0;
                double sum8 = 0;
                double sum9 = 0;
                double sum10 = 0;
                double sum11 = 0;
                double sum12 = 0;
                double sum13 = 0;
                DataRow row = dt.NewRow();
                DataRow row3 = dt.NewRow();
                DataRow row4 = dt.NewRow();
                DataRow row5 = dt.NewRow();
                DataRow row6 = dt.NewRow();
                DataRow row7 = dt.NewRow();
                DataRow row8 = dt.NewRow();
                DataRow row9 = dt.NewRow();
                DataRow row10 = dt.NewRow();
                DataRow row11 = dt.NewRow();
                row["ID"] = Guid.NewGuid().ToString();
                row["Title"] = "һ������������ֵ(GDP,"+GDPUnits+")";

                m = firstyear;

                for (int j = firstyear; j <= endyear; j++)
                {
                    //if (!ht.ContainsValue(j)) lyh
                    //    continue;
                    try { sum1 = Convert.ToDouble(rows1[0]["y" + j]); }
                    catch { }
                    row["y" + j] = sum1;

                    try { sum51 = Convert.ToDouble(rows4[0]["y" + j]); }
                    catch { }

                    if (m != firstyear)//��ʾ���ǵ�һ�꣬�Ժ�����Ҫ������
                    {
                        try { sum2 = Convert.ToDouble(rows1[0]["y" + (j - 1)]); }
                        catch { }

                        try { sum52 = Convert.ToDouble(rows4[0]["y" + (j - 1)]); }
                        catch { }
                        if (sum52 != 0)
                            sum53 = sum51 * 100 / sum52-100;//�õ�������

                        if (sum2 != 0)
                            sum3 = sum1 * 100 / sum2-100;//GDP����

                        row3["y" + j] = sum3;
                    }
                    else
                        row3["y" + j] = 1;

                    try { sum4 = Convert.ToDouble(rows4[0]["y" + j]); }
                    catch { }
                    row4["y" + j] = sum4;//�õ���

                    //try { sum5 = Convert.ToDouble(rows5[0]["y" + j]); }
                    //catch { }
                    //row5["y" + j] = sum5;//��󸺺�

                    //if (sum5 != 0)
                    //    sum6 = sum4 * 10000 / sum5;
                    //row6["y" + j] = sum6;// ����ȫ�����󸺺�����Сʱ��

                    //try { sum7 = Convert.ToDouble(rows2[0]["y" + j]); }
                    //catch { }

                    if (m != firstyear)
                    {
                        //if (sum53 != 0)
                        //    sum8 = sum3 / sum53;
                        //row7["y" + j] = sum8;//ԭ����
                        if (sum3 != 0)
                            sum8 = sum53 / sum3;
                        row7["y" + j] = sum8;//����ϵ�����������������ٶ�����񾭼������ı�ֵlgm
                    }
                    else
                        row7["y" + j] = 1;

                    try { sum9 = Convert.ToDouble(rows7[0]["y" + j]); }//��ĩ�˿�
                    catch { }

                    if (sum9 != 0)
                    {
                        if (AYdlUnits.Contains("��") && NMARkUnits.Contains("����"))//��kWh  ����
                        {
                            sum10 = sum51 * 10000 / sum9;//�˾��õ���
                        }
                        else if (AYdlUnits.Contains("��") && NMARkUnits.Contains("����"))//��kWh  ����
                        {
                            sum10 = sum51 / sum9;//�˾��õ���
                        }
                        else
                        {
                            MessageBox.Show("ȫ����õ�������ĩ���˿ڵĵ�λ��������Ĭ��������϶ԣ�����kWh,��kWh,���ˣ�");
                            this.Close();
                            return;
                        }

                    }
                    row8["y" + j] = sum10;

                    if (sum1 != 0)
                    {
                        if (AYdlUnits.Contains("��")&&GDPUnits.Contains("��Ԫ"))//��kWh ��Ԫ
                        {
                            sum11 = sum4 * 10000 / sum1;//��������
                        }
                        else if (AYdlUnits.Contains("��") && GDPUnits.Contains("��Ԫ"))//��kWh  ��Ԫ
                        {
                            sum11 = sum4  / sum1;//��������
                        }
                        else
                        {
                            MessageBox.Show("ȫ����õ�����ȫ����GDP�ĵ�λ��������Ĭ��������϶ԣ�����kWh,��kWh,��Ԫ��");
                            this.Close();
                            return;
                        }
                    }
                    row9["y" + j] = sum11;//��������

                    if (rows8.Length > 0)
                    {
                        try { sum12 = Convert.ToDouble(rows8[0]["y" + j]); }
                        catch { }
                        row11["y" + j] = sum12;

                        if (sum9 != 0)
                        {
                            if (AYdlUnits.Contains("��") && NMARkUnits.Contains("����"))//��kWh ����
                            {
                                sum13 = sum12 * 10000 / sum9;//�����õ�
                            }
                            else if (AYdlUnits.Contains("��") && NMARkUnits.Contains("����"))//��kWh  ����
                            {
                                sum13 = sum12 / sum9;//�����õ�
                            }
                            else
                            {
                                MessageBox.Show("ȫ����õ�������ĩ���˿ڵĵ�λ��������Ĭ��������϶ԣ�����kWh,��kWh,���ˣ�");
                                this.Close();
                                return;
                            }

                        }
                        row10["y" + j] = sum13;
                    }
                    else
                    {
                        row10["y" + j] = sum13;
                    }
                    m++;
                }

                dt.Rows.Add(row);

            for (int k = 0; k < rows3.Length; k++)
            {
                double su1 = 0;
                double su2 = 0;
                double su3 = 0;

                DataRow ro1 = dt.NewRow();
                ro1["ID"] = Guid.NewGuid().ToString();
                ro1["Title"] = rows3[k]["Title"].ToString();

                DataRow ro2 = dt.NewRow();
                ro2["ID"] = Guid.NewGuid().ToString();
                ro2["Title"] = "������%��";

                for (int j = firstyear; j <= endyear; j++)
                {
                    if (!ht.ContainsValue(j))
                        continue;
                    try { su1 = Convert.ToDouble(rows1[0]["y" + j]); }
                    catch { }
                    su2 = 0;
                    su3 = 0;
                    try { su2 = Convert.ToDouble(rows3[k]["y" + j]); }
                    catch { }
                    ro1["y" + j] = su2;

                    if (su1 != 0)
                        su3 = su2 * 100 / su1;
                        ro2["y" + j] = su3;

                }

                dt.Rows.Add(ro1);
                dt.Rows.Add(ro2);

            }

            row3["ID"] = Guid.NewGuid().ToString();
            row3["Title"] = "����������ֵ�����ʣ�����";
            dt.Rows.Add(row3);

            row4["ID"] = Guid.NewGuid().ToString();
            row4["Title"] = "����ȫ����õ���("+AYdlUnits+")";
            dt.Rows.Add(row4);

            //row5["ID"] = Guid.NewGuid().ToString();
            //row5["Title"] = "��󸺺ɣ���ǧ�ߣ�";
            //dt.Rows.Add(row5);

            //row6["ID"] = Guid.NewGuid().ToString();
            //row6["Title"] = "��󸺺�����Сʱ��(Сʱ)";
            //dt.Rows.Add(row6);

            for (int k = 0; k < rows6.Length; k++)
            {
                double su1 = 0;
                double su2 = 0;
                double su3 = 0;

                DataRow ro1 = dt.NewRow();
                ro1["ID"] = Guid.NewGuid().ToString();
                ro1["Title"] = rows6[k]["Title"].ToString();

                DataRow ro2 = dt.NewRow();
                ro2["ID"] = Guid.NewGuid().ToString();
                ro2["Title"] = "������%��";

                for (int j = firstyear; j <= endyear; j++)
                {
                    if (!ht.ContainsValue(j))
                        continue;
                    try { su1 = Convert.ToDouble(rows4[0]["y" + j]); }
                    catch { }
                    su2 = 0;
                    su3 = 0;
                    try { su2 = Convert.ToDouble(rows6[k]["y" + j]); }
                    catch { }
                    ro1["y" + j] = su2;

                    if (su1 != 0)
                        su3 = su2 * 100 / su1;
                        ro2["y" + j] = su3;

                }

                dt.Rows.Add(ro1);
                dt.Rows.Add(ro2);

            }

            row7["ID"] = Guid.NewGuid().ToString();
            row7["Title"] = "����ϵ��";
            dt.Rows.Add(row7);

            row8["ID"] = Guid.NewGuid().ToString();
            row8["Title"] = "�˾��õ�����ǧ��ʱ/�ˣ�";
            dt.Rows.Add(row8);

            row9["ID"] = Guid.NewGuid().ToString();
            row9["Title"] = "GDP���ģ�ǧ��ʱ/��Ԫ��";
            dt.Rows.Add(row9);

            for (int k = 0; k < rows6.Length; k++)
            {
                double su1 = 0;
                double su2 = 0;
                double su3 = 0;

                DataRow ro1 = dt.NewRow();
                ro1["ID"] = Guid.NewGuid().ToString();
                ro1["Title"] = rows6[k]["Title"].ToString();

                for (int j = firstyear; j <= endyear; j++)
                {
                    if (!ht.ContainsValue(j))
                        continue;
                    su1 = 0;
                    su2 = 0;
                    su3 = 0;
                    try { su1 = Convert.ToDouble(rows6[k]["y" + j]); }
                    catch { }
                    try { su2 = Convert.ToDouble(rows3[k]["y" + j]); }
                    catch { }

                    if (su2 != 0)
                    { su3 = su1 * 10000 / su2; }
                    else
                        su3 = su1;
                     ro1["y" + j] = su3;
                }
                if (rows6[k]["Title"].ToString().IndexOf("����") >= 0)
                    continue;
                dt.Rows.Add(ro1);

            }

            row10["ID"] = Guid.NewGuid().ToString();
            row10["Title"] = "�����õ磨ǧ��ʱ/�ˣ�";
            dt.Rows.Add(row10);

            double d = 0;
            //���������
            foreach(DataRow drw1 in dt.Rows)
            {

                foreach (DataColumn dc in dt.Columns)
                {
                    if (dc.ColumnName.IndexOf("m") >= 0)
                    {
                        string s = dc.ColumnName.Replace("m", "");
                        int y1 = int.Parse(s);
                        double d1 = 0;
                        try
                        {
                            d1 = (double)drw1["y" + s];
                        }
                        catch { }
                        int peryear = 0;
                        for (int i = y1-1; i >0;i-- )
                        {
                            if (ht1.ContainsValue(i))
                            {
                                peryear = i;
                                break;
                            }
                        }
                        try
                        {
                            d = (double)drw1["y" + peryear];
                        }
                        catch { }

                        double sss = Math.Round(Math.Pow(d1 / d, 1.0 / (y1 - peryear)) - 1, 4);
                        sss *= 100;

                        if (sss.ToString() == "������" || sss.ToString() == "�������")
                            sss = 0;
                        drw1["m" + s]=sss;
                    }
                }
            }
            //����������
            double dd = 0;
            foreach (DataRow drw1 in dt.Rows)
            {

                foreach (DataColumn dc in dt.Columns)
                {
                    if (dc.ColumnName.IndexOf("n") >= 0)
                    {
                        string s = dc.ColumnName.Replace("n", "");
                        int y1 = int.Parse(s);
                        double d1 = 0;
                        try
                        {
                            d1 = (double)drw1["y" + s];
                        }
                        catch { }
                        try
                        {
                            dd = (double)drw1["y" + (y1-1)];
                        }
                        catch { }

                        double sss = Math.Round(Math.Pow(d1 / dd, 1.0 / 1) - 1, 4);
                        sss *=100;
                        if (sss.ToString() == "������" || sss.ToString() == "�������")
                            sss = 0;
                        drw1["n" + s] = sss;
                    }
                }
            }

            this.gridControl1.DataSource = dt;
        }
Пример #19
0
 public Ps_YearRange GetYearRange(string conn)
 {
     try
     {
         IList list = Common.Services.BaseService.GetList("SelectPs_YearRangeByCondition", conn);
         if (list.Count > 0)
             return (Ps_YearRange)list[0];
         else
         {
             Ps_YearRange range = new Ps_YearRange();
             range.BeginYear = 1990;
             range.StartYear = 2008;
             range.FinishYear = 2020;
             range.EndYear = 2060;
             range.Col1 = "0.03";
             return range;
         }
     }
     catch { return null; }
 }
Пример #20
0
        private void FormYearSet_Load(object sender, EventArgs e)
        {
            py.Col4 = type;
            py.Col5 = pid;

            IList<Ps_YearRange> li = Services.BaseService.GetList<Ps_YearRange>("SelectPs_YearRangeByCol5andCol4", py);
            if (li.Count > 0)
            {
                py = li[0];
                syear = double.Parse(py.Col1);

            }
            else
            {
                py.Col1 = "0.03";

                py.ID = Guid.NewGuid().ToString();
                Services.BaseService.Create<Ps_YearRange>(py);
            }

            spinEdit1.Value = Convert.ToDecimal(syear);
        }
Пример #21
0
        private void InitData()
        {
            Ps_YearRange py = new Ps_YearRange();
            py.Col4 = "��������ʵ��";
            py.Col5 = projectUID;

            IList<Ps_YearRange> li = Itop.Client.Common.Services.BaseService.GetList<Ps_YearRange>("SelectPs_YearRangeByCol5andCol4", py);
            if (li.Count > 0)
            {
                firstyear = li[0].StartYear;
                endyear = li[0].FinishYear;
            }
            else
            {
                firstyear = 1990;
                endyear = 2020;
                py.BeginYear = 1990;
                py.FinishYear = endyear;
                py.StartYear = firstyear;
                py.EndYear = 2060;
                py.ID = Guid.NewGuid().ToString();
                Itop.Client.Common.Services.BaseService.Create<Ps_YearRange>(py);
            }

            DT.Columns.Add("Title", typeof(string));
            DT.Columns.Add("ID", typeof(string));
            DT.Columns.Add("ParentID", typeof(string));

            GridColumn gridColumn1 = new GridColumn();
            gridColumn1.Caption = "ID";
            gridColumn1.FieldName = "ID";
            gridColumn1.Visible = false;
            gridColumn1.Width = 70;
            gridView1.Columns.Add(gridColumn1);

             GridColumn gridColumn2 = new GridColumn();
            gridColumn2.Caption = "ParentID";
            gridColumn2.FieldName = "ParentID";
            gridColumn2.Visible = false;
            gridColumn2.Width = 70;
            gridView1.Columns.Add(gridColumn2);

            int m=-1;
            this.gridControl1.BeginInit();
            this.gridControl1.BeginUpdate();

            for (int i = firstyear; i <= endyear; i++)
            {
                DT.Columns.Add("y" + i, typeof(double));
                if (!ht.ContainsValue(i))
                    continue;
                if (IsFist)
                {
                    RealFistYear = i;
                    IsFist = false;
                }
                m++;
                //DT.Columns.Add("y" + i, typeof(double));
                GridColumn gridColumn = new GridColumn();
                gridColumn.Caption = i+"��";
                gridColumn.FieldName = "y" + i;
                gridColumn.Visible = true;
                gridColumn.VisibleIndex = 2*m+10;
                gridColumn.Width = 70;
                gridColumn.DisplayFormat.FormatString = "n2";
                gridColumn.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
                gridView1.Columns.Add(gridColumn);

                if (ht1.ContainsValue(i))
                {
                    gridColumn = new GridColumn();
                    gridColumn.Caption = "���������(%)";
                    gridColumn.FieldName = "m" + i;
                    gridColumn.Visible = true;
                    gridColumn.Width = 100;
                    gridColumn.VisibleIndex = 2 * m + 11;
                    gridColumn.DisplayFormat.FormatString = "n2";
                    gridColumn.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
                    gridView1.Columns.Add(gridColumn);
                    DT.Columns.Add("m" + i, typeof(double));
                }

                if (ht2.ContainsValue(i))
                {

                    gridColumn = new GridColumn();
                    gridColumn.Caption = "����������(%)";
                    gridColumn.FieldName = "x" + i;
                    gridColumn.Visible = true;
                    gridColumn.Width = 100;
                    gridColumn.VisibleIndex = 2 * m + 12;
                    gridColumn.DisplayFormat.FormatString = "n2";
                    gridColumn.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
                    gridView1.Columns.Add(gridColumn);
                    DT.Columns.Add("x" + i, typeof(double));

                }

            }

            this.gridControl1.EndUpdate();
            this.gridControl1.EndInit();
            AddDT(LI.Nodes);
            double d = 0;
            //���������
            foreach(DataRow drw1 in DT.Rows)
            {

                foreach (DataColumn dc in DT.Columns)
                {
                    if (dc.ColumnName.IndexOf("m") >= 0)
                    {  try
                        {

                            string s = dc.ColumnName.Replace("m", "");
                            int y1 = int.Parse(s);
                            double d1 = 0;
                            try
                            {
                                d1 = (double)drw1["y" + s];
                            }
                            catch { }
                            int peryear = 0;
                            for (int i = y1-1; i >0; i--)
                            {
                                if ( ht.ContainsValue(i))
                                {
                                    peryear = i;
                                    break;
                                }
                            }
                            try
                            {
                                d = (double)drw1["y" + peryear];
                            }
                            catch { }

                             double sss = Math.Round(Math.Pow(d1 / d, 1.0 / (y1 - peryear)) - 1, 4);
                                sss *= 100;

                                if (sss.ToString() == "������" || sss.ToString() == "�������")
                                    sss = 0;
                                drw1["m" + s] = sss;
                        }
                        catch (Exception ex)
                        {

                            throw;
                        }

                    }
                }
            }
            //����������
            double dd = 0;
            foreach (DataRow drw1 in DT.Rows)
            {

                foreach (DataColumn dc in DT.Columns)
                {
                    if (dc.ColumnName.IndexOf("x") >= 0)
                    {
                        try
                        {
                            string s = dc.ColumnName.Replace("x", "");
                            int y1 = int.Parse(s);
                            double d1 = 0;
                            try
                            {
                                d1 = (double)drw1["y" + s];
                            }
                            catch { }
                            try
                            {
                                dd = (double)drw1["y" + (y1-1)];
                            }
                            catch { }

                            double sss = Math.Round(Math.Pow(d1 / dd, 1.0 / 1) - 1, 4);
                            sss *= 100;
                            if (sss.ToString() == "������" || sss.ToString() == "�������")
                                sss = 0;
                            drw1["x" + s] = sss;
                        }
                        catch (Exception ex)
                        {

                            throw;
                        }

                    }
                }
            }

            this.gridControl1.DataSource = DT;
        }
Пример #22
0
        private void FormForecastCalcTX_Load(object sender, EventArgs e)
        {
            #region ������չʵ��

            ArrayList al = new ArrayList();
            IList<Base_Data> li1 = Common.Services.BaseService.GetStrongList<Base_Data>();
            foreach (Base_Data bd in li1)
                al.Add(bd.Title);

            Ps_History psp_Type1 = new Ps_History();
            psp_Type1.Forecast = 1;
            psp_Type1.Col4 = Itop.Client.MIS.ProgUID;
            IList<Ps_History> listTypes1 = Common.Services.BaseService.GetList<Ps_History>("SelectPs_HistoryByForecast", psp_Type1);

            for (int c = 0; c < al.Count; c++)
            {
                bool bl = true;
                foreach (Ps_History ph in listTypes1)
                {
                    if (al[c].ToString() == ph.Title)
                        bl = false;
                }
                if (bl)
                {
                    Ps_History pf = new Ps_History();
                    pf.ID = Guid.NewGuid().ToString() + "|" + Itop.Client.MIS.ProgUID;
                    pf.Forecast = 1;
                    pf.ForecastID = "1";
                    pf.Title = al[c].ToString();
                    pf.Col4 = Itop.Client.MIS.ProgUID;
                    Services.BaseService.Create<Ps_History>(pf);
                    listTypes1.Add(pf);
                }
            }

            Ps_YearRange py = new Ps_YearRange();
            py.Col4 = "������չʵ��";
            py.Col5 = Itop.Client.MIS.ProgUID;

            IList<Ps_YearRange> li2 = Services.BaseService.GetList<Ps_YearRange>("SelectPs_YearRangeByCol5andCol4", py);
            if (li2.Count > 0)
            {
                firstyear1 = li2[0].StartYear;
                endyear1 = li2[0].FinishYear;
            }

            Ps_History psp_Type = new Ps_History();
            psp_Type.Forecast = 1;
            psp_Type.Col4 = Itop.Client.MIS.ProgUID;
            IList<Ps_History> listTypes = Common.Services.BaseService.GetList<Ps_History>("SelectPs_HistoryByForecast", psp_Type);
            DataTable dataTable = Itop.Common.DataConverter.ToDataTable((IList)listTypes, typeof(Ps_History));
            DataRow[] rows1 = dataTable.Select("Title='ȫ����GDP����Ԫ��'");
            DataRow[] rows4 = dataTable.Select("Title='ȫ����õ�������kWh��'");

            #endregion

            Ps_Forecast_Setup pfs = new Ps_Forecast_Setup();
            pfs.Forecast = type;
            pfs.ForecastID = forecastReport.ID;

            //IList<Ps_Forecast_Setup> li = Services.BaseService.GetList<Ps_Forecast_Setup>("SelectPs_Forecast_SetupByForecast", pfs);

            //if (li.Count != 0)
            //{
            //    firstyear = li[0].StartYear;
            //    endyear = li[0].EndYear;
            //}

            Ps_Calc pcs = new Ps_Calc();
            pcs.Forecast = type;
            pcs.ForecastID = forecastReport.ID;
            list1 = Services.BaseService.GetList<Ps_Calc>("SelectPs_CalcByForecast", pcs);

            HideToolBarButton();

            dt = new DataTable();
            dt.Columns.Add("ID");
            dt.Columns.Add("Name");

            newrow1 = dt.NewRow();
            newrow1["ID"] = "ID";
            newrow1["Name"] = "����ϵ��";
            newrow2 = dt.NewRow();
            newrow2["Name"] = "GDP������";

            for (int i = firstyear; i <= forecastReport.EndYear; i++)
            {
                dt.Columns.Add(i.ToString(), typeof(double));
                DevExpress.XtraVerticalGrid.Rows.EditorRow editorRow = new DevExpress.XtraVerticalGrid.Rows.EditorRow();
                editorRow.Properties.FieldName = i.ToString().Trim();
                editorRow.Properties.Caption =i.ToString().Trim();
                editorRow.Height = 20;
                editorRow.Properties.RowEdit = this.repositoryItemCalcEdit4;
                this.vGridControl2.Rows.AddRange(new DevExpress.XtraVerticalGrid.Rows.BaseRow[] { editorRow });

                double s1 = 0;
                double s2 = 0;
                double s3 = 0;
                double s4 = 0;
                double s5 = 0;
                double s6 = 0;
                double s7 = 0;
                try { s1 = Convert.ToDouble(rows1[0]["y" + i]); }
                catch { }
                try { s2 = Convert.ToDouble(rows1[0]["y" + (i-1)]); }
                catch { }

                try { s3 = Convert.ToDouble(rows4[0]["y" + i]); }
                catch { }
                try { s4 = Convert.ToDouble(rows4[0]["y" + (i - 1)]); }
                catch { }

                if (s2 != 0)
                    s5 = (s1 - s2) / s2;

                if (s4 != 0)
                    s6 = (s3 - s4) / s4;

                if (s5 != 0)
                    s7 = s6 / s5;

                newrow1[i.ToString()] = Math.Round(s7,3);
                newrow2[i.ToString()] =Math.Round( s5,3);

                foreach (Ps_Calc pcs2 in list1)
                {
                    if (i == pcs2.Year)
                    {
                        newrow1[i.ToString()] = Math.Round(pcs2.Value1,3);
                        newrow2[i.ToString()] = Math.Round(pcs2.Value2,3);

                    }
                }

            }
            dt.Rows.Add(newrow1);
            dt.Rows.Add(newrow2);

            vGridControl2.DataSource = dt;
        }
Пример #23
0
        private void FormForecastCalc4_Load(object sender, EventArgs e)
        {
            #region ������չʵ��

            Ps_YearRange py = new Ps_YearRange();
            py.Col4 = "������չʵ������";
            py.Col5 = Itop.Client.MIS.ProgUID;

            IList<Ps_YearRange> li2 = Services.BaseService.GetList<Ps_YearRange>("SelectPs_YearRangeByCol5andCol4", py);
            if (li2.Count > 0)
            {
                firstyear1 = li2[0].StartYear;
                endyear1 = li2[0].FinishYear;
            }
            //�¾�������
            //Ps_History psp_Type = new Ps_History();
            //psp_Type.Forecast = 5;
            //psp_Type.Col4 = Itop.Client.MIS.ProgUID;
            //IList<Ps_History> listTypes = Common.Services.BaseService.GetList<Ps_History>("SelectPs_HistoryByForecast", psp_Type);
            //DataTable dataTable = Itop.Common.DataConverter.ToDataTable((IList)listTypes, typeof(Ps_History));
            //DataRow[] rows1 = dataTable.Select("Title like 'ȫ����GDP%'");

            Ps_Forecast_Math psp_Type = new Ps_Forecast_Math();
            psp_Type.ForecastID = forecastReport.ID;
            psp_Type.Forecast = type;
            IList listTypes = Common.Services.BaseService.GetList("SelectPs_Forecast_MathByForecastIDAndForecast", psp_Type);

            dataTable = Itop.Common.DataConverter.ToDataTable(listTypes, typeof(Ps_Forecast_Math));
            DataRow[] rows1 = dataTable.Select("Title like 'ȫ����GDP%'");

            DataRow[] rows4 = dataTable.Select("Title like 'ȫ����õ���%'");

            //�µ�������
            //Ps_History psp_Type2 = new Ps_History();
            //psp_Type2.Forecast = 6;
            //psp_Type2.Col4 = Itop.Client.MIS.ProgUID;
            //IList<Ps_History> listTypes2 = Common.Services.BaseService.GetList<Ps_History>("SelectPs_HistoryByForecast", psp_Type2);
            //DataTable dataTable2 = Itop.Common.DataConverter.ToDataTable((IList)listTypes2, typeof(Ps_History));
            //DataRow[] rows4 = dataTable2.Select("Title like 'ȫ����õ���%'");

            if (rows1.Length == 0 )
            {
                MessageBox.Show("ȱ�١�ȫ����GDP�����ݣ�");
                this.Close();
                return;
            }

            if (rows4.Length==0)
            {
                MessageBox.Show("����������ȱ�١�ȫ����õ��������ݣ�");
                this.Close();
                return;
            }

            #endregion

            Ps_Forecast_Setup pfs = new Ps_Forecast_Setup();
            pfs.Forecast = type;
            pfs.ForecastID = forecastReport.ID;

            IList<Ps_Forecast_Setup> li = Services.BaseService.GetList<Ps_Forecast_Setup>("SelectPs_Forecast_SetupByForecast", pfs);

            if (li.Count != 0)
            {
                firstyear = li[0].StartYear;
                endyear = li[0].EndYear;
            }

            Ps_Calc pcs = new Ps_Calc();
            pcs.Forecast = type;
            pcs.ForecastID = forecastReport.ID;
            list1 = Services.BaseService.GetList<Ps_Calc>("SelectPs_CalcByForecast", pcs);

            HideToolBarButton();

            dt = new DataTable();
            dt.Columns.Add("ID");
            dt.Columns.Add("Name");

            newrow1 = dt.NewRow();
            newrow1["ID"] = "ID";
            newrow1["Name"] = "����ϵ��";
            //newrow2 = dt.NewRow();
            //newrow2["Name"] = "GDP������";

            for (int i = firstyear; i <= forecastReport.YcEndYear; i++)
            {
                dt.Columns.Add(i.ToString(), typeof(double));
                DevExpress.XtraVerticalGrid.Rows.EditorRow editorRow = new DevExpress.XtraVerticalGrid.Rows.EditorRow();
                editorRow.Properties.FieldName = i.ToString().Trim();
                editorRow.Properties.Caption =i.ToString().Trim();
                editorRow.Height = 20;
                editorRow.Properties.RowEdit = this.repositoryItemCalcEdit4;
                this.vGridControl2.Rows.AddRange(new DevExpress.XtraVerticalGrid.Rows.BaseRow[] { editorRow });

                double s1 = 0;
                double s2 = 0;
                double s3 = 0;
                double s4 = 0;
                double s5 = 0;
                double s6 = 0;
                double s7 = 0;
                try { s1 = Convert.ToDouble(rows1[0]["y" + i]); }
                catch { }
                try { s2 = Convert.ToDouble(rows1[0]["y" + (i-1)]); }
                catch { }

                try { s3 = Convert.ToDouble(rows4[0]["y" + i]); }
                catch { }
                try { s4 = Convert.ToDouble(rows4[0]["y" + (i - 1)]); }
                catch { }

                if (s2 != 0)
                    s5 = (s1 - s2) / s2;

                if (s4 != 0)
                    s6 = (s3 - s4) / s4;

                if (s5 != 0)
                    s7 = s6 / s5;

                newrow1[i.ToString()] = Math.Round(s7,3);
                //newrow2[i.ToString()] =Math.Round( s5,3);

                if (i>=forecastReport.YcStartYear)
                {
                    foreach (Ps_Calc pcs2 in list1)
                    {
                        if (i == pcs2.Year)
                        {
                            newrow1[i.ToString()] = Math.Round(pcs2.Value1, 3);
                        }
                    }

                }

            }
            dt.Rows.Add(newrow1);
            //dt.Rows.Add(newrow2);
             //       gridControl1.DataSource = dt;

            vGridControl2.DataSource = dt;
        }
Пример #24
0
        //根据选择的统计年份,生成统计结果数据表
        private System.Data.DataTable ResultDataTable(System.Data.DataTable sourceDataTable, ref Dictionary<string, Columqk> viscol, Ps_YearRange yAnge)
        {
            System.Data.DataTable dtReturn = new System.Data.DataTable();
            dtReturn.Columns.Add("Title", typeof(string));
            viscol["Title"] = new Columqk("名称", 3, 2);

            for (int i = yAnge.StartYear; i <= yAnge.FinishYear; i++)
            {

                dtReturn.Columns.Add(i.ToString() + "年", typeof(double));
                viscol[i.ToString() + "年"] = new Columqk(i.ToString() + "年", 2, 2);
            }

            int nRowMaxLoad = 0;//地区最高负荷所在行
            int nRowMaxPower = 0;//地区电网供电能力所在行
            int nRowMaxPowerLow = 0;//枯水期地区电网供电能力所在行

            #region 填充数据
            for (int i = 0; i < sourceDataTable.Rows.Count; i++)
            {
                DataRow newRow = dtReturn.NewRow();
                DataRow sourceRow = sourceDataTable.Rows[i];
                foreach (DataColumn column in dtReturn.Columns)
                {
                    newRow[column.ColumnName] = sourceRow[ConvertYear(column.ColumnName)];
                }
                dtReturn.Rows.Add(newRow);

            }
            #endregion

            //#region 计算电力盈亏和枯水期地区电力盈亏
            //foreach (ChoosedYears choosedYear in listChoosedYears)
            //{
            //    object maxLoad = dtReturn.Rows[nRowMaxLoad][choosedYear.Year + "年"];
            //    if (maxLoad != DBNull.Value)
            //    {
            //        object maxPower = dtReturn.Rows[nRowMaxPower][choosedYear.Year + "年"];
            //        if (maxPower != DBNull.Value)
            //        {
            //            dtReturn.Rows[nRowMaxPower + 1][choosedYear.Year + "年"] = (double)maxPower - (double)maxLoad;
            //        }

            //        maxPower = dtReturn.Rows[nRowMaxPowerLow][choosedYear.Year + "年"];
            //        if (maxPower != DBNull.Value)
            //        {
            //            dtReturn.Rows[nRowMaxPowerLow + 1][choosedYear.Year + "年"] = (double)maxPower - (double)maxLoad;
            //        }
            //    }
            //}
            //#endregion

            return dtReturn;
        }
Пример #25
0
 private void Form1_Load(object sender, EventArgs e)
 {
     HideToolBarButton();
     yAnge = oper.GetYearRange("Col5='" + GetProjectID + "' and Col4='" + OperTable.rst220 + "'");
     Show();
     initpasteCols();
     Application.DoEvents();
     this.Cursor = Cursors.WaitCursor;
     treeList1.BeginUpdate();
     LoadData();
     treeList1.EndUpdate();
     this.Cursor = Cursors.Default;
 }
Пример #26
0
        private System.Data.DataTable ResultDataTable1(System.Data.DataTable sourceDataTable, ref Dictionary<string, Columqk> viscol, Ps_YearRange yAnge)
        {
            System.Data.DataTable dtReturn = new System.Data.DataTable();
            dtReturn.Columns.Add("Title", typeof(string));
            viscol["Title"] = new Columqk("名称", 3, 2);
            for (int i = yAnge.StartYear; i <= yAnge.FinishYear; i++)
            {

                dtReturn.Columns.Add(i.ToString() + "年", typeof(double));
                viscol[i.ToString() + "年"] = new Columqk(i.ToString() + "年", 2, 2);
            }

            int nRowMaxLoad = 0;//地区最高负荷所在行
            int nRowMaxPower = 0;//地区电网供电能力所在行
            int nRowMaxPowerLow = 0;//枯水期地区电网供电能力所在行

            #region 填充数据
            for (int i = 0; i < sourceDataTable.Rows.Count; i++)
            {
                if (sourceDataTable.Rows[i]["Title"].ToString().IndexOf("500千伏需要容量") != -1)
                    continue;
                DataRow newRow = dtReturn.NewRow();
                DataRow sourceRow = sourceDataTable.Rows[i];
                foreach (DataColumn column in dtReturn.Columns)
                {
                    newRow[column.ColumnName] = sourceRow[ConvertYear(column.ColumnName)];
                }
                dtReturn.Rows.Add(newRow);

            }
            #endregion

            return dtReturn;
        }
Пример #27
0
        private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            List<int> li = new List<int>();
            Ps_YearRange py = new Ps_YearRange();
            py.Col4 = "电力发展实绩";
            py.Col5 = Itop.Client.MIS.ProgUID;
            int firstyear, endyear;
            IList<Ps_YearRange> list = Itop.Client.Common.Services.BaseService.GetList<Ps_YearRange>("SelectPs_YearRangeByCol5andCol4", py);
            if (list.Count > 0)
            {
                firstyear = list[0].StartYear;
                endyear = list[0].FinishYear;
            }
            else
            {
                firstyear = 1990;
                endyear = 2020;
                py.BeginYear = 1990;
                py.FinishYear = endyear;
                py.StartYear = firstyear;
                py.EndYear = 2060;
                py.ID = Guid.NewGuid().ToString();
                Itop.Client.Common.Services.BaseService.Create<Ps_YearRange>(py);
            }
            for (int i = firstyear; i <= endyear; i++)
            {
                li.Add(i);
            }

            FormChooseYears1 cy = new FormChooseYears1();
            cy.ListYearsForChoose = li;
            if (cy.ShowDialog() != DialogResult.OK)
                return;

            foreach (DataRow a in cy.DT.Rows)
            {
                if (a["B"].ToString() == "True")
                    ht.Add(Guid.NewGuid().ToString(), Convert.ToInt32(a["A"].ToString().Replace("年", "")));

                if (a["C"].ToString() == "True")
                    ht1.Add(Guid.NewGuid().ToString(), Convert.ToInt32(a["A"].ToString().Replace("年", "")));
            }
            shjjbyyear = true;
            //电力发展实绩社会经济用电情况
              //  build_dlhistoryjjyd();
            //再回到原始状态
            shjjbyyear = false;
        }
Пример #28
0
        //500千伏分区分年容载比计算表
        private void build_500rzbtj()
        {
            Dictionary<string, Columqk> viscol = new Dictionary<string, Columqk>();
            string title = "500千伏分区分年容载比计算表";
            OperTable oper = new OperTable();
            yAnge = oper.GetYearRange("Col5='" + GetProjectID + "' and Col4='" + OperTable.ph500 + "'");
            System.Data.DataTable datatable = get500phtable(yAnge);
            System.Data.DataTable dt = ResultDataTable1(ConvertTreeListToDataTable(datatable, false, yAnge), ref viscol, yAnge);
            if (!shjjbyyear)
            {
                creatsheetbydt(title, dt, viscol);
            }

            else
            {
                recreatsheetbydt(title, dt, viscol, 1);
            }
        }
Пример #29
0
        private void FormForecastEdit_Load(object sender, EventArgs e)
        {
            LoginUser = projectUID;
            if(IsEdit)
            {
                textEdit1.Text = psp_ForecastReport.Title;
                spinEdit1.Value = psp_ForecastReport.StartYear;
                spinEdit2.Value = psp_ForecastReport.EndYear;
            }
            else
            {
                spinEdit1.Value = DateTime.Now.Year;
                spinEdit2.Value = DateTime.Now.Year + 10;
                textEdit1.Text = "������" + spinEdit1.Value + "��" + spinEdit2.Value + "����" + _typeText + "Ԥ����������";
            }

            int firstyear = 0;
            int endyear = 0;
            Ps_YearRange py = new Ps_YearRange();
            py.Col4 = "������չʵ��";
            py.Col5 = projectUID;

            IList<Ps_YearRange> li = Itop.Client.Common.Services.BaseService.GetList<Ps_YearRange>("SelectPs_YearRangeByCol5andCol4", py);
            if (li.Count > 0)
            {
                firstyear = li[0].StartYear;
                endyear = li[0].FinishYear;

                label4.Text = "������չʵ����ʼ��Ϊ" + firstyear + "��,������Ϊ" + endyear + "�ꡣ";
            }
            else
                label4.Text = "";
        }
Пример #30
0
 private void FrmAddTzgs_Load(object sender, EventArgs e)
 {
     string conny = "Col5='" + MIS.ProgUID + "' and Col4='" + OperTable.tzgs + "'";
     yAnge = oper.GetYearRange(conny);
     if (strtype=="line")
     {
         label19.Visible = buildprortzgsflag;
         txtnr.Visible = buildprortzgsflag;
         label21.Visible = buildprortzgsflag;
         label20.Visible = buildprortzgsflag;
         txtgt.Visible = buildprortzgsflag;
         comboBoxEdit8.Visible = false;
         textEdit1.Visible = true;
         label15.Visible = false;
         comboBoxEdit10.Visible = false;
         panelControl1.Visible = true;
         panelControl2.Visible = false;
         panelControl3.Visible = false;
         comboBoxEdit12.Text = "线路";
     }
     if(strtype=="bian")
     {
         panelControl1.Visible = false;
         panelControl2.Visible = true;
         panelControl3.Visible = false;
         textEdit1.Visible = false;
         comboBoxEdit12.Text = "变电站";
         txtzb.Visible = buildprortzgsflag;
         label17.Visible = buildprortzgsflag;
     }
     if (strtype == "kg")
     {
         panelControl1.Visible = false;
         panelControl2.Visible = false;
         panelControl3.Visible = true;
         textEdit1.Visible = false;
         comboBoxEdit12.Text = "开关";
     }
     string conn = "ProjectID='" + projectID + "' order by Sort";
     IList<PS_Table_AreaWH> list = Common.Services.BaseService.GetList<PS_Table_AreaWH>("SelectPS_Table_AreaWHByConn", conn);
     foreach (PS_Table_AreaWH area in list)
     {
         comboBoxEdit10.Properties.Items.Add(area.Title);
     }
     conn = "ProjectID='" + projectID + "' order by Sort";
     IList<PS_Table_Area_TYPE> list1 = Common.Services.BaseService.GetList<PS_Table_Area_TYPE>("SelectPS_Table_Area_TYPEByConn", conn);
     foreach (PS_Table_Area_TYPE area in list1)
     {
         comboBoxEdit11.Properties.Items.Add(area.Title);
     }
     if (areaname != "")
         comboBoxEdit10.Text = areaname;
     else if (comboBoxEdit10.Properties.Items.Count > 0)
         comboBoxEdit10.SelectedIndex = 0;
 }