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; }
/// <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); }
public FrmAddTzgsAHTL() { InitializeComponent(); string conn = "Col5='" + projectID + "' and Col4='" + OperTable.tzgs + "'"; yAnge = oper.GetYearRange(conn); InitCom(); }
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; }
//电力发展实绩分行业统计 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); } }
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; }
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(); }
private void FrmPsNew_Load(object sender, EventArgs e) { yearRange = oper.GetYearRange("Col5='" + GetProject + "' and Col4='" + mark + "'"); InitYear(); }
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; }
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(); }
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(); }
//重点建设项目统计 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); } }
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); } }
//电力发展实绩社会经济用电情况 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); } }
//形成基础数据电力发展实绩历年地区生产 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); } }
//把树控件内容按显示顺序生成到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; }
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; }
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; }
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; } }
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); }
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; }
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; }
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; }
//根据选择的统计年份,生成统计结果数据表 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; }
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; }
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; }
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; }
//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); } }
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 = ""; }
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; }