//����GDPֵ
        private void simpleButton7_Click(object sender, EventArgs e)
        {
            FormSetGDP frm = new FormSetGDP();
            frm.forecastReport = forecastReport;
            frm.Text = "����GDPֵ";
            frm.type = type;
            DataRow[] rowsoldGDP = dataTable.Select("Title like 'ȫ����GDP%'");

            if (frm.ShowDialog() == DialogResult.OK)
            {
                if (frm.GetGDP)
                {
                    //��ȡGDP��ʷֵ
                    if (rowsoldGDP.Length > 0)
                    {
                        DataRow oldrow = rowsoldGDP[0];
                        //�¾�������
                        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 dataTable2 = Itop.Common.DataConverter.ToDataTable((IList)listTypes, typeof(Ps_History));
                        DataRow[] rows1 = dataTable2.Select("Title like 'ȫ����GDP%'");
                        for (int i = forecastReport.StartYear; i <= forecastReport.EndYear; i++)
                        {
                            double s1 = 0;
                            try { s1 = Convert.ToDouble(rows1[0]["y" + i]); }
                            catch
                            { }
                            oldrow["y" + i] = s1;
                            commonhelp.ResetValue(oldrow["ID"].ToString(), "y" + i);
                        }
                        Ps_Forecast_Math pfm = DataConverter.RowToObject<Ps_Forecast_Math>(oldrow);
                        Services.BaseService.Update<Ps_Forecast_Math>(pfm);
                    }
                }

                DataRow[] rowsgdp = dataTable.Select("Title like 'ȫ����GDP%'");
                if (rowsgdp.Length > 0)
                {
                    DataRow oldrow = rowsgdp[0];

                    Ps_Calc pcs = new Ps_Calc();
                    pcs.Forecast = type;
                    pcs.ForecastID = forecastReport.ID;

                    IList<Ps_Calc> list1 = Services.BaseService.GetList<Ps_Calc>("SelectPs_CalcByForecast", pcs);
                    Hashtable hs = new Hashtable();
                    foreach (Ps_Calc pcl1 in list1)
                    {
                        if (!hs.ContainsKey(pcl1.Year))
                        {
                            hs.Add(pcl1.Year, pcl1.Value2);
                        }
                    }
                    for (int j = forecastReport.YcStartYear; j <= forecastReport.YcEndYear; j++)
                    {
                        double increasenum = double.Parse(hs[j].ToString());
                        double basenum = double.Parse(oldrow["y" + (j - 1)].ToString());
                        oldrow["y" + j] = basenum * (1 + increasenum);

                    }
                    Ps_Forecast_Math pfm = DataConverter.RowToObject<Ps_Forecast_Math>(oldrow);
                    Services.BaseService.Update<Ps_Forecast_Math>(pfm);
                }
                JS();
            }
        }
Пример #2
0
        //设置GDP值

        private void simpleButton7_Click(object sender, EventArgs e)
        {
            FormSetGDP frm = new FormSetGDP();

            frm.forecastReport = forecastReport;
            frm.Text           = "设置GDP值";
            frm.type           = type;
            DataRow[] rowsoldGDP = dataTable.Select("Title like '全地区GDP%'");

            if (frm.ShowDialog() == DialogResult.OK)
            {
                if (frm.GetGDP)
                {
                    //读取GDP历史值
                    if (rowsoldGDP.Length > 0)
                    {
                        DataRow oldrow = rowsoldGDP[0];
                        //新经济数据
                        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          dataTable2 = Itop.Common.DataConverter.ToDataTable((IList)listTypes, typeof(Ps_History));
                        DataRow[]          rows1      = dataTable2.Select("Title like '全地区GDP%'");
                        for (int i = forecastReport.StartYear; i <= forecastReport.EndYear; i++)
                        {
                            double s1 = 0;
                            try { s1 = Convert.ToDouble(rows1[0]["y" + i]); }
                            catch
                            { }
                            oldrow["y" + i] = s1;
                            commonhelp.ResetValue(oldrow["ID"].ToString(), "y" + i);
                        }
                        Ps_Forecast_Math pfm = DataConverter.RowToObject <Ps_Forecast_Math>(oldrow);
                        Services.BaseService.Update <Ps_Forecast_Math>(pfm);
                    }
                }

                DataRow[] rowsgdp = dataTable.Select("Title like '全地区GDP%'");
                if (rowsgdp.Length > 0)
                {
                    DataRow oldrow = rowsgdp[0];


                    Ps_Calc pcs = new Ps_Calc();
                    pcs.Forecast   = type;
                    pcs.ForecastID = forecastReport.ID;

                    IList <Ps_Calc> list1 = Services.BaseService.GetList <Ps_Calc>("SelectPs_CalcByForecast", pcs);
                    Hashtable       hs    = new Hashtable();
                    foreach (Ps_Calc pcl1 in list1)
                    {
                        if (!hs.ContainsKey(pcl1.Year))
                        {
                            hs.Add(pcl1.Year, pcl1.Value2);
                        }
                    }
                    for (int j = forecastReport.YcStartYear; j <= forecastReport.YcEndYear; j++)
                    {
                        double increasenum = double.Parse(hs[j].ToString());
                        double basenum     = double.Parse(oldrow["y" + (j - 1)].ToString());
                        oldrow["y" + j] = basenum * (1 + increasenum);
                    }
                    Ps_Forecast_Math pfm = DataConverter.RowToObject <Ps_Forecast_Math>(oldrow);
                    Services.BaseService.Update <Ps_Forecast_Math>(pfm);
                }
                JS();
            }
        }