//����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(); } }
//设置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(); } }