/// <summary> /// 修改历史年份和预测年份 /// </summary> /// <param name="pcs"></param> /// <param name="dr"></param> /// <param name="_CalcTemp"></param> private void AddYears_Update(Ps_Calc pcs, DataRow dr) { if (m_CalcList == null || m_CalcList.Count == 0) { pcs.Value2 = Convert.ToDouble(comboBox3.SelectedItem.ToString().Replace("年", "")); pcs.Value3 = Convert.ToDouble(comboBox5.SelectedItem.ToString().Replace("年", "")); pcs.Value4 = Convert.ToDouble(comboBox1.SelectedItem.ToString().Replace("年", "")); pcs.Value5 = Convert.ToDouble(comboBox4.SelectedItem.ToString().Replace("年", "")); //选择历史年份 dr["B"] = comboBox1.SelectedItem + "-" + comboBox4.SelectedItem; //选择预测年份 dr["C"] = comboBox3.SelectedItem + "-" + comboBox5.SelectedItem; SaveValue(pcs, false); } else { foreach (Ps_Calc m_Calc in m_CalcList) { if (dr["ID"].ToString() == m_Calc.ID) { m_Calc.Col4 = spinEdit1.Value.ToString() + "%"; } m_Calc.Value2 = Convert.ToDouble(comboBox3.SelectedItem.ToString().Replace("年", "")); m_Calc.Value3 = Convert.ToDouble(comboBox5.SelectedItem.ToString().Replace("年", "")); m_Calc.Value4 = Convert.ToDouble(comboBox1.SelectedItem.ToString().Replace("年", "")); m_Calc.Value5 = Convert.ToDouble(comboBox4.SelectedItem.ToString().Replace("年", "")); SaveValue(m_Calc, false); } } }
private void FormDyhptl_Load(object sender, EventArgs e) { int firstyear = 0; int endyear = 0; 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); if (list1.Count > 0) { spinEdit1.Value = (decimal)list1[0].Value1; } }
private void simpleButton3_Click(object sender, EventArgs e) { if (gridView1.FocusedRowHandle < 0) { return; } if (comboBox1.SelectedItem == null || comboBox2.SelectedItem == null || comboBox3.SelectedItem == null || comboBox4.SelectedItem == null || comboBox5.SelectedItem == null || (comboBox6.SelectedItem == null && comboBox6.Visible)) { MessageBox.Show("参数设置不正确!"); return; } int yearselect1 = Convert.ToInt32(comboBox4.SelectedItem.ToString().Replace("年", "")); int yearselect2 = Convert.ToInt32(comboBox5.SelectedItem.ToString().Replace("年", "")); DataRowView drv = gridView1.GetRow(gridView1.FocusedRowHandle) as DataRowView; DataRow dr = drv.Row; int intex = dt.Rows.IndexOf(dr); int i = 0; foreach (DataRow ndr in dt.Rows) { int year1 = Convert.ToInt32(ndr["C"].ToString().Split('-')[0].Replace("年", "")); int year2 = Convert.ToInt32(ndr["C"].ToString().Split('-')[1].Replace("年", "")); if ((!(yearselect1 > year2 || year1 > yearselect2)) && i != intex) { MessageBox.Show("所选年份包含在" + ndr["C"]); return; } i++; } if (comboBox6.Visible) { dt.Rows[intex]["A"] = comboBox6.SelectedItem; } else { dt.Rows[intex]["A"] = comboBox1.SelectedItem; } dt.Rows[intex]["B"] = comboBox2.SelectedItem + "-" + comboBox3.SelectedItem; dt.Rows[intex]["C"] = comboBox4.SelectedItem + "-" + comboBox5.SelectedItem; Ps_Calc pcs = new Ps_Calc(); pcs.ID = dt.Rows[intex]["ID"].ToString(); pcs.Forecast = type; pcs.ForecastID = forecastReport.ID; pcs.CalcID = dr["A"].ToString(); pcs.Value2 = Convert.ToDouble(comboBox4.SelectedItem.ToString().Replace("年", "")); pcs.Value3 = Convert.ToDouble(comboBox5.SelectedItem.ToString().Replace("年", "")); pcs.Value4 = Convert.ToDouble(comboBox2.SelectedItem.ToString().Replace("年", "")); pcs.Value5 = Convert.ToDouble(comboBox3.SelectedItem.ToString().Replace("年", "")); savevalue(pcs, false); gridView1.RefreshData(); }
//删除 private void simpleButton4_Click(object sender, EventArgs e) { if (gridView1.FocusedRowHandle < 0) { return; } int i = gridView1.FocusedRowHandle; //gridView1.FocusedRowHandle = -1; DataRowView drv = gridView1.GetRow(i) as DataRowView; if (drv == null) { MessageBox.Show("删除失败!"); gridView1.RefreshData(); return; } Ps_Calc pcs = new Ps_Calc(); pcs.ID = drv.Row["ID"].ToString(); pcs = Services.BaseService.GetOneByKey <Ps_Calc>(pcs); if (pcs != null) { Services.BaseService.Delete <Ps_Calc>(pcs); } else { MessageBox.Show("删除失败!"); gridView1.RefreshData(); return; } dt.Rows.Remove(drv.Row); gridView1.RefreshData(); }
/// <summary> /// 修改用数据添加到datarow中 /// </summary> private void AddToDataRow_Update(Ps_Calc _pcs) { //int yearselect1 = Convert.ToInt32(comboBox3.SelectedItem.ToString().Replace("年", "")); //int yearselect2 = Convert.ToInt32(comboBox5.SelectedItem.ToString().Replace("年", "")); DataRowView _drv = gridView1.GetRow(gridView1.FocusedRowHandle) as DataRowView; DataRow _dr = _drv.Row; int intex = dt.Rows.IndexOf(_dr); //int i = 0; //foreach (DataRow ndr in dt.Rows) //{ // int year1 = Convert.ToInt32(ndr["C"].ToString().Split('-')[0].Replace("年", "")); // int year2 = Convert.ToInt32(ndr["C"].ToString().Split('-')[1].Replace("年", "")); // //if ((!(yearselect1 > year2 || year1 > yearselect2)) && i != intex) // //{ // // MessageBox.Show("所选年份包含在" + ndr["C"]); // // return; // //} // i++; //} //if (comboBox6.Visible) //{ // _dr["A"] = comboBox6.SelectedItem; // //if (bCompare(_dr["A"])) // //{ // // MessageBox.Show("不能用同一种算法!!!"); // // return; // //} //} //else //{ // _dr["A"] = comboBox2.SelectedItem; // //if (bCompare(_dr["A"])) // //{ // // MessageBox.Show("不能用同一种算法!!!"); // // return; // //} //} _pcs.ID = dt.Rows[intex]["ID"].ToString(); //权重值 _pcs.Col4 = spinEdit1.Value.ToString() + "%"; //_pcs.Forecast = type; //_pcs.ForecastID = forecastReport.ID; //_pcs.CalcID = _dr["A"].ToString(); AddYears_Update(_pcs, _dr); gridView1.RefreshData(); ////刷新list列表中数据 m_CalcList.Clear(); m_CalcList = m_pf.SelectedForecastList(type, forecastReport); }
/// <summary> /// 添加数据到datatable中 /// </summary> private bool AddDataToDatatable(Ps_Calc pcs) { DataRow dr; Ps_Calc _CalcTemp = new Ps_Calc(); //刷新数据 m_CalcList.Clear(); m_CalcList = m_pf.SelectedForecastList(type, forecastReport); if (m_CalcList != null && m_CalcList.Count != 0) { _CalcTemp = m_CalcList[0];//保证各个算法的时间一致 } bool _IsTrue = false; dr = dt.NewRow(); if (comboBox6.Visible) { dr["A"] = comboBox6.SelectedItem; if (bCompare(dr["A"])) { MessageBox.Show("不能用同一种算法!!!"); _IsTrue = true; } } else { dr["A"] = comboBox2.SelectedItem; if (bCompare(dr["A"])) { MessageBox.Show("不能用同一种算法!!!"); _IsTrue = true; } } pcs.ID = Guid.NewGuid().ToString(); pcs.Forecast = type; pcs.ForecastID = forecastReport.ID; //算法名 pcs.CalcID = dr["A"].ToString(); pcs.Col4 = spinEdit1.Value.ToString() + "%";//权重值存放到表col4字段 //================================================================ AddYears(pcs, dr, _CalcTemp); //====================================================================================== //id dr["ID"] = pcs.ID; //权重值,把这个数据存放在数据库表中的Col4字段中 dr["D"] = pcs.Col4; if (!_IsTrue) { dt.Rows.Add(dr); } return(_IsTrue); }
private void simpleButton4_Click(object sender, EventArgs e) { if (comboBox1.SelectedItem == null || comboBox2.SelectedItem == null || comboBox3.SelectedItem == null || comboBox4.SelectedItem == null || comboBox5.SelectedItem == null || (comboBox6.SelectedItem == null && comboBox6.Visible)) { MessageBox.Show("参数设置不正确!"); return; } int yearselect1 = Convert.ToInt32(comboBox4.SelectedItem.ToString().Replace("年", "")); int yearselect2 = Convert.ToInt32(comboBox5.SelectedItem.ToString().Replace("年", "")); foreach (DataRow ndr in dt.Rows) { int year1 = Convert.ToInt32(ndr["C"].ToString().Split('-')[0].Replace("年", "")); int year2 = Convert.ToInt32(ndr["C"].ToString().Split('-')[1].Replace("年", "")); if (!(yearselect1 > year2 || year1 > yearselect2)) { MessageBox.Show("所选年份包含在" + ndr["C"]); return; } } DataRow dr; dr = dt.NewRow(); if (comboBox6.Visible) { dr["A"] = comboBox6.SelectedItem; } else { dr["A"] = comboBox1.SelectedItem; } Ps_Calc pcs = new Ps_Calc(); pcs.ID = Guid.NewGuid().ToString(); pcs.Forecast = type; pcs.ForecastID = forecastReport.ID; pcs.CalcID = dr["A"].ToString(); pcs.Value2 = Convert.ToDouble(comboBox4.SelectedItem.ToString().Replace("年", "")); pcs.Value3 = Convert.ToDouble(comboBox5.SelectedItem.ToString().Replace("年", "")); pcs.Value4 = Convert.ToDouble(comboBox2.SelectedItem.ToString().Replace("年", "")); pcs.Value5 = Convert.ToDouble(comboBox3.SelectedItem.ToString().Replace("年", "")); dr["B"] = comboBox2.SelectedItem + "-" + comboBox3.SelectedItem; dr["C"] = comboBox4.SelectedItem + "-" + comboBox5.SelectedItem; dr["ID"] = pcs.ID; dt.Rows.Add(dr); savevalue(pcs, true); comboBox2.SelectedIndex = -1; comboBox3.SelectedIndex = -1; comboBox4.SelectedIndex = -1; comboBox5.SelectedIndex = -1; }
/// <summary> /// 方案下拉框选择 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void comboBox2_SelectedIndexChanged(object sender, EventArgs e) { if (comboBox2.SelectedItem == null) { return; } if (comboBox2.SelectedItem.ToString() == "外推法") { if (!comboBox6.Items.Contains("外推法(年增长率法)")) { comboBox6.Items.Clear(); m_pf.InitCommboBox(comboBox6, null, 1); } SetSubalgorithm(true); } else if (comboBox2.SelectedItem.ToString() == "相关法") { if (!comboBox6.Items.Contains("相关法(直线)")) { comboBox6.Items.Clear(); m_pf.InitCommboBox(comboBox6, null, 2); } SetSubalgorithm(true); } else if (comboBox2.SelectedItem.ToString() == "指数平滑法") { SetSubalgorithm(false); Ps_Calc pcs = new Ps_Calc(); pcs.Forecast = 5; pcs.ForecastID = forecastReport.ID; //IList<Ps_Calc> list1 = m_pf.SelectedForecastList(5, forecastReport); IList <Ps_Calc> list1 = Common.Services.BaseService.GetList <Ps_Calc>("SelectPs_CalcByForecast", pcs); if (list1.Count < 1) { MessageBox.Show("平滑参数未设置,将按默认值0.1计算"); } } else if (comboBox2.SelectedItem.ToString() == "专家决策法") { Ps_Forecast_Math psp_Type = new Ps_Forecast_Math(); psp_Type.ForecastID = forecastReport.ID; psp_Type.Forecast = 7; IList listTypes = Common.Services.BaseService.GetList("SelectPs_Forecast_MathByForecastIDAndForecast", psp_Type); if (listTypes.Count < 1) { MessageBox.Show("专家决策法没有数据,选择失败"); comboBox2.SelectedIndex = -1; } SetSubalgorithm(false); } else { SetSubalgorithm(false); } }
/// <summary> /// 添加 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void simpleButton1_Click(object sender, EventArgs e) { Ps_Calc pcs = new Ps_Calc(); if (m_pf.DecideDataAddin_comboBox(comboBox2)) { return; } if (m_pf.DecideDataAddin_comboBox(comboBox6)) { return; } if (m_pf.DecideDataAddin_comboBox(comboBox1)) { return; } if (m_pf.DecideDataAddin_comboBox(comboBox4)) { return; } if (m_pf.DecideDataAddin_comboBox(comboBox3)) { return; } if (m_pf.DecideDataAddin_comboBox(comboBox5)) { return; } if (m_pf.DecideDataAddin_SpinEdit(spinEdit1)) { return; } AddToDataRow(); if (AddDataToDatatable(pcs)) { return; } SaveValue(pcs, true); //清空spinEdit spinEdit1.Value = 1; if (gridView1.RowCount <= 1) { Can_Edit_Year = true; } else { Can_Edit_Year = false; } YearSelect(); }
/// <summary> /// 保存数据 /// </summary> /// <param name="_Calc"></param> /// <param name="_bCreate">true is create ,false is update</param> private void SaveValue(Ps_Calc _Calc, bool _bCreate) { if (!_bCreate) { //Common.Services.BaseService.GetObject("UpdatePs_CalcWhereID", _Calc); Common.Services.BaseService.Update("UpdatePs_CalcWhereID", _Calc); } else { Common.Services.BaseService.Create <Ps_Calc>(_Calc); } }
//增加 private void simpleButton2_Click_1(object sender, EventArgs e) { if (comboBox1.SelectedItem == null || comboBox4.SelectedItem == null || comboBox5.SelectedItem == null) { MessageBox.Show("参数设置不正确!"); return; } int yearselect1 = Convert.ToInt32(comboBox4.SelectedItem.ToString().Replace("年", "")); int yearselect2 = Convert.ToInt32(comboBox5.SelectedItem.ToString().Replace("年", "")); string strname = comboBox1.SelectedItem.ToString(); foreach (DataRow ndr in dt.Rows) { if (strname != ndr["A"].ToString()) { continue; } int year1 = Convert.ToInt32(ndr["C"].ToString().Split('-')[0].Replace("年", "")); int year2 = Convert.ToInt32(ndr["C"].ToString().Split('-')[1].Replace("年", "")); if (!(yearselect1 > year2 || year1 > yearselect2)) { MessageBox.Show(ndr["A"] + "的" + "所选年份包含在" + ndr["C"]); return; } } DataRow dr; dr = dt.NewRow(); dr["B"] = spinEdit2.Value + "%";; Ps_Calc pcs = new Ps_Calc(); pcs.ID = Guid.NewGuid().ToString(); pcs.Forecast = type; pcs.ForecastID = forecastReport.ID; pcs.CalcID = comboBox2.SelectedItem.ToString(); pcs.Value2 = Convert.ToDouble(comboBox4.SelectedItem.ToString().Replace("年", "")); pcs.Value3 = Convert.ToDouble(comboBox5.SelectedItem.ToString().Replace("年", "")); pcs.Value4 = Convert.ToDouble(dr["B"].ToString().Replace("%", "")); pcs.Col1 = comboBox1.SelectedItem.ToString(); dr["C"] = comboBox4.SelectedItem + "-" + comboBox5.SelectedItem; dr["ID"] = pcs.ID; dr["CalcID"] = pcs.CalcID; dr["A"] = pcs.Col1; dt.Rows.Add(dr); savevalue(pcs, true); comboBox4.SelectedIndex = -1; comboBox5.SelectedIndex = -1; }
private void FormForecastCalc1Third_Load(object sender, EventArgs e) { dt.Columns.Clear(); dt.Columns.Add("A", typeof(string)); dt.Columns.Add("B", typeof(string)); dt.Columns.Add("CalcID", typeof(string)); dt.Columns.Add("C", typeof(string)); dt.Columns.Add("ID", typeof(string)); Ps_Calc pcs = new Ps_Calc(); pcs.Forecast = type; pcs.ForecastID = forecastReport.ID; list1 = Services.BaseService.GetList <Ps_Calc>("SelectPs_CalcByForecast", pcs); for (int i = endyear + 1; i <= forecastReport.YcEndYear; i++) { comboBox4.Items.Add(i + "年"); comboBox5.Items.Add(i + "年"); } foreach (DataRow dr2 in dataTable.Rows) { comboBox1.Items.Add(dr2["Title"]); comboBox2.Items.Add(dr2["ID"]); } DataRow dr; foreach (Ps_Calc pcs2 in list1) { dr = dt.NewRow(); dr["ID"] = pcs2.ID; dr["A"] = pcs2.Col1; dr["B"] = pcs2.Value4 + "%"; dr["CalcID"] = pcs2.CalcID; if (pcs2.Value2 != 0 && pcs2.Value3 != 0 && (!(pcs2.Value2 < endyear || pcs2.Value3 > forecastReport.YcEndYear)) && comboBox1.Items.IndexOf(pcs2.Col1) > -1 && (comboBox1.Items.IndexOf(pcs2.Col1) == comboBox2.Items.IndexOf(pcs2.CalcID))) { dr["C"] = pcs2.Value2 + "年-" + pcs2.Value3 + "年"; } else { continue; } dt.Rows.Add(dr); } dt = GetSortTable(dt, "A,C", true); gridControl1.DataSource = dt; }
private void simpleButton2_Click(object sender, EventArgs e) { int i = 1; foreach (DataColumn dc in dt.Columns) { if (dc.ColumnName == "Name" || dc.ColumnName == "ID") { continue; } double value1 = 0; double value2 = 0; double value3 = 0; try { value1 = (double)newrow1[dc.ColumnName] / 100; value2 = (double)newrow2[dc.ColumnName] / 100; value3 = (double)newrow3[dc.ColumnName] / 100; } catch { } bool bl = false; foreach (Ps_Calc pc11 in list1) { if (pc11.Year == Convert.ToInt32(dc.ColumnName)) { bl = true; pc11.Value1 = value1; pc11.Value2 = value2; pc11.Value3 = value3; Services.BaseService.Update <Ps_Calc>(pc11); } } if (!bl) { Ps_Calc pcs = new Ps_Calc(); pcs.ID = Guid.NewGuid().ToString(); pcs.Forecast = type; pcs.ForecastID = forecastReport.ID; pcs.Year = Convert.ToInt32(dc.ColumnName); pcs.Value1 = value1; pcs.Value2 = value2; pcs.Value3 = value3; Services.BaseService.Create <Ps_Calc>(pcs); } } this.DialogResult = DialogResult.OK; }
private void LoadData() { checkfixedvalue(); treeList1.DataSource = null; bLoadingData = true; if (dataTable != null) { dataTable.Columns.Clear(); treeList1.Columns.Clear(); } AddFixColumn(); for (int i = forecastReport.StartYear; i <= forecastReport.YcEndYear; i++) { AddColumn(i); } 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)); OldHt.Clear(); foreach (DataRow row in dataTable.Rows) { if (!OldHt.ContainsKey(row["Title"].ToString())) { OldHt.Add(row["Title"].ToString(), row["ID"].ToString()); } } treeList1.DataSource = dataTable; treeList1.Columns["Title"].OptionsColumn.AllowEdit = false; Ps_Calc pcs = new Ps_Calc(); pcs.Forecast = 5; pcs.ForecastID = forecastReport.ID; IList <Ps_Calc> list1 = Services.BaseService.GetList <Ps_Calc>("SelectPs_CalcByForecast", pcs); if (list1.Count > 0) { spinEdit1.Value = (decimal)list1[0].Value1; } Application.DoEvents(); bLoadingData = false; }
/// <summary> /// 修改 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void simpleButton2_Click(object sender, EventArgs e) { if (gridView1.FocusedRowHandle < 0) { return; } Ps_Calc pcs = new Ps_Calc(); //if (m_pf.DecideDataAddin_comboBox(comboBox2)) //{ // return; //} //if (m_pf.DecideDataAddin_comboBox(comboBox6)) //{ // return; //} if (m_pf.DecideDataAddin_comboBox(comboBox1)) { return; } if (m_pf.DecideDataAddin_comboBox(comboBox4)) { return; } if (m_pf.DecideDataAddin_comboBox(comboBox3)) { return; } if (m_pf.DecideDataAddin_comboBox(comboBox5)) { return; } if (m_pf.DecideDataAddin_SpinEdit(spinEdit1)) { return; } //刷新数据 m_CalcList.Clear(); m_CalcList = m_pf.SelectedForecastList(type, forecastReport); AddToDataRow_Update(pcs); ////重新刷新grid InitGridControl(); }
/// <summary> /// 选择历史年份数据和预测年份数据 /// </summary> /// <param name="_CalcTemp">ps_calc数据表对象</param> /// <param name="dr">DataRow object</param> /// <param name="pcs">ps_Calc database object</param> private void AddYears(Ps_Calc pcs, DataRow dr, Ps_Calc _CalcTemp) { if (m_CalcList == null || m_CalcList.Count == 0) { pcs.Value2 = Convert.ToDouble(comboBox3.SelectedItem.ToString().Replace("年", "")); pcs.Value3 = Convert.ToDouble(comboBox5.SelectedItem.ToString().Replace("年", "")); pcs.Value4 = Convert.ToDouble(comboBox1.SelectedItem.ToString().Replace("年", "")); pcs.Value5 = Convert.ToDouble(comboBox4.SelectedItem.ToString().Replace("年", "")); //选择历史年份 dr["B"] = comboBox1.SelectedItem + "-" + comboBox4.SelectedItem; //选择预测年份 dr["C"] = comboBox3.SelectedItem + "-" + comboBox5.SelectedItem; } else { if (Convert.ToDouble(comboBox1.SelectedItem.ToString().Replace("年", "")) != _CalcTemp.Value4 || Convert.ToDouble(comboBox4.SelectedItem.ToString().Replace("年", "")) != _CalcTemp.Value5) { dr["B"] = _CalcTemp.Value4 + "年-" + _CalcTemp.Value5 + "年"; pcs.Value4 = _CalcTemp.Value4; pcs.Value5 = _CalcTemp.Value5; } else { dr["B"] = comboBox1.SelectedItem + "-" + comboBox4.SelectedItem; pcs.Value4 = Convert.ToDouble(comboBox1.SelectedItem.ToString().Replace("年", "")); pcs.Value5 = Convert.ToDouble(comboBox4.SelectedItem.ToString().Replace("年", "")); } if (Convert.ToDouble(comboBox3.SelectedItem.ToString().Replace("年", "")) != _CalcTemp.Value2 || Convert.ToDouble(comboBox5.SelectedItem.ToString().Replace("年", "")) != _CalcTemp.Value3) { dr["C"] = _CalcTemp.Value2 + "年-" + _CalcTemp.Value3 + "年"; pcs.Value2 = _CalcTemp.Value2; pcs.Value3 = _CalcTemp.Value3; } else { dr["C"] = comboBox3.SelectedItem + "-" + comboBox5.SelectedItem; pcs.Value2 = Convert.ToDouble(comboBox3.SelectedItem.ToString().Replace("年", "")); pcs.Value3 = Convert.ToDouble(comboBox5.SelectedItem.ToString().Replace("年", "")); } } }
/// <summary> /// 添加 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void simpleButton1_Click(object sender, EventArgs e) { Ps_Calc pcs = new Ps_Calc(); if (m_pf.DecideDataAddin_comboBox(comboBox2)) { return; } if (m_pf.DecideDataAddin_comboBox(comboBox6)) { return; } if (m_pf.DecideDataAddin_comboBox(comboBox1)) { return; } if (m_pf.DecideDataAddin_comboBox(comboBox4)) { return; } if (m_pf.DecideDataAddin_comboBox(comboBox3)) { return; } if (m_pf.DecideDataAddin_comboBox(comboBox5)) { return; } if (m_pf.DecideDataAddin_SpinEdit(spinEdit1)) { return; } AddToDataRow(); if (AddDataToDatatable(pcs)) { return; } SaveValue(pcs, true); //清空spinEdit spinEdit1.Value = 0; spinEdit3.Value = 1; }
private void JS() { //计算预测值 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); int fyear = int.Parse(firstyear.Replace("y", "")); int syear = int.Parse(endyear.Replace("y", "")); int eyear = forecastReport.YcEndYear; foreach (DataRow dataRow in dataTable.Rows) { if (dataRow["Title"].ToString().Contains("全地区GDP")) { continue; } double[] yn = new double[eyear - syear]; if (fyear != 0 && syear != 0) { // Calculator.StartYear = fyear; Calculator.StartYear = syear; Calculator.Type = type.ToString(); double[] historyValues = GenerateHistoryValue(dataRow, fyear, syear); yn = Calculator.SpringCoefficientMethod((double)dataRow["y" + (syear)], eyear - syear, forecastReport.ID); for (int i = 1; i <= eyear - syear; i++) { dataRow["y" + (syear + i)] = yn[i - 1]; commonhelp.ResetValue(dataRow["ID"].ToString(), "y" + (syear + i)); } } } ForecastClass fc = new ForecastClass(); fc.MaxForecast(forecastReport, dataTable); RefreshChart(); }
private void savevalue(Ps_Calc pc11, bool iscreat) { if (!iscreat) { Services.BaseService.Update <Ps_Calc>(pc11); } else { //Ps_Calc pcs = new Ps_Calc(); //pcs.ID = Guid.NewGuid().ToString(); //pcs.Forecast = type; //pcs.ForecastID = forecastReport.ID; //pcs.CalcID = title; Services.BaseService.Create <Ps_Calc>(pc11); } }
/// <summary> /// 删除 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void simpleButton3_Click(object sender, EventArgs e) { if (gridView1.FocusedRowHandle < 0) { return; } int i = gridView1.FocusedRowHandle; DataRowView drv = gridView1.GetRow(i) as DataRowView; if (drv == null) { MessageBox.Show("删除失败!"); gridView1.RefreshData(); return; } Ps_Calc pcs = new Ps_Calc(); pcs.ID = drv.Row["ID"].ToString(); pcs = Common.Services.BaseService.GetOneByKey <Ps_Calc>(pcs); if (pcs != null) { Common.Services.BaseService.Delete <Ps_Calc>(pcs); } else { MessageBox.Show("删除失败!"); gridView1.RefreshData(); return; } dt.Rows.Remove(drv.Row); gridView1.RefreshData(); if (gridView1.RowCount <= 1) { Can_Edit_Year = true; } else { Can_Edit_Year = false; } YearSelect(); }
private void savevalue(string title, decimal value, bool isvalue) { bool bl = false; foreach (Ps_Calc pc11 in list1) { if (pc11.CalcID == title) { bl = true; if (isvalue) { pc11.Value1 = 1; } else { pc11.Value1 = 0; } pc11.Value2 = Convert.ToDouble(value); Services.BaseService.Update <Ps_Calc>(pc11); } } if (!bl) { Ps_Calc pcs = new Ps_Calc(); pcs.ID = Guid.NewGuid().ToString(); pcs.Forecast = type; pcs.ForecastID = forecastReport.ID; pcs.CalcID = title; if (isvalue) { pcs.Value1 = 1; } else { pcs.Value1 = 0; } pcs.Value2 = Convert.ToDouble(value); Services.BaseService.Create <Ps_Calc>(pcs); } }
/// <summary> /// 查找算法模型 /// </summary> /// <param name="forecastReport">Ps_forecast_list对象</param> /// <param name="type">类型</param> /// <returns></returns> public IList <Ps_Calc> SelectedForecastList(int type, Ps_forecast_list forecastReport) { IList <Ps_Calc> _CalcList = new List <Ps_Calc>(); //string sql = " Forecast = '" +forecastReport.ID+"' and Forecast = '"+ type + // "' and Col4 != ''"; if (type != null && forecastReport != null) { Ps_Calc pcs = new Ps_Calc(); pcs.Forecast = type; pcs.ForecastID = forecastReport.ID; _CalcList = Services.BaseService.GetList <Ps_Calc>("SelectPs_CalcOfCol4", pcs); return(_CalcList); } else { return(_CalcList); } }
private void LoadData() { this.splitContainerControl1.SplitterPosition = (2 * this.splitterControl1.Width) / 3; this.splitContainerControl2.SplitterPosition = splitContainerControl2.Height / 2; treeList1.DataSource = null; bLoadingData = true; if (dataTable != null) { dataTable.Columns.Clear(); treeList1.Columns.Clear(); } AddFixColumn(); for (int i = forecastReport.StartYear; i <= forecastReport.EndYear; i++) { AddColumn(i); } 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)); treeList1.DataSource = dataTable; treeList1.Columns["Title"].OptionsColumn.AllowEdit = false; Ps_Calc pcs = new Ps_Calc(); pcs.Forecast = 5; pcs.ForecastID = forecastReport.ID; IList <Ps_Calc> list1 = Services.BaseService.GetList <Ps_Calc>("SelectPs_CalcByForecast", pcs); if (list1.Count > 0) { spinEdit1.Value = (decimal)list1[0].Value1; } Application.DoEvents(); bLoadingData = false; }
private void simpleButton1_Click(object sender, EventArgs e) { Ps_Calc pcs = new Ps_Calc(); pcs.Forecast = type; pcs.ForecastID = forecastReport.ID; pcs = (Ps_Calc)Services.BaseService.GetObject("SelectPs_CalcByForecast", pcs); if (pcs != null) { pcs.Value1 = Convert.ToDouble(spinEdit1.Value); Services.BaseService.Update <Ps_Calc>(pcs); } else { pcs = new Ps_Calc(); pcs.ID = System.Guid.NewGuid().ToString(); pcs.Forecast = type; pcs.ForecastID = forecastReport.ID; pcs.Value1 = Convert.ToDouble(spinEdit1.Value); Services.BaseService.Create <Ps_Calc>(pcs); } }
private void CS() { Ps_Calc pcs = new Ps_Calc(); pcs.Forecast = 5; pcs.ForecastID = forecastReport.ID; IList <Ps_Calc> list1 = Services.BaseService.GetList <Ps_Calc>("SelectPs_CalcByForecast", pcs); if (list1.Count > 0) { list1[0].Value1 = Convert.ToDouble(spinEdit1.Value); Services.BaseService.Update <Ps_Calc>(list1[0]); } else { Ps_Calc pc = new Ps_Calc(); pc.ID = Guid.NewGuid().ToString(); pc.Forecast = 5; pc.ForecastID = forecastReport.ID; pc.Value1 = Convert.ToDouble(spinEdit1.Value); Services.BaseService.Create <Ps_Calc>(pc); } }
private void spinEdit4_ValueChanged(object sender, EventArgs e) { Ps_Calc pcs = new Ps_Calc(); pcs.Forecast = 25; pcs.ForecastID = forecastReport.ID; IList <Ps_Calc> list1 = m_pf.SelectedForecastList(25, forecastReport); if (list1.Count > 0) { list1[0].Value1 = Convert.ToDouble(spinEdit4.Value); Common.Services.BaseService.Update <Ps_Calc>(list1[0]); } else { Ps_Calc pc = new Ps_Calc(); pc.ID = Guid.NewGuid().ToString(); pc.Forecast = 25; pc.ForecastID = forecastReport.ID; pc.Col4 = "25"; pc.Value1 = Convert.ToDouble(spinEdit4.Value); Common.Services.BaseService.Create <Ps_Calc>(pc); } }
private void FormForecastCalc10_Load(object sender, EventArgs e) { //int firstyear = 0; //int endyear = 0; //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); foreach (Ps_Calc pcs2 in list1) { if (checkEdit1.Text == pcs2.CalcID) { if (pcs2.Value1 > 0) { checkEdit1.Checked = true; spinEdit1.Visible = true; } else { checkEdit1.Checked = false; spinEdit1.Visible = false; } spinEdit1.Value = OverMaxValue(pcs2.Value2, 1); } else if (checkEdit2.Text == pcs2.CalcID) { if (pcs2.Value1 > 0) { checkEdit2.Checked = true; spinEdit2.Visible = true; } else { checkEdit2.Checked = false; spinEdit2.Visible = false; } spinEdit2.Value = OverMaxValue(pcs2.Value2, 2); } else if (checkEdit3.Text == pcs2.CalcID) { if (pcs2.Value1 > 0) { checkEdit3.Checked = true; spinEdit3.Visible = true; } else { checkEdit3.Checked = false; spinEdit3.Visible = false; } spinEdit3.Value = OverMaxValue(pcs2.Value2, 3); } else if (checkEdit4.Text == pcs2.CalcID) { if (pcs2.Value1 > 0) { checkEdit4.Checked = true; spinEdit4.Visible = true; } else { checkEdit4.Checked = false; spinEdit4.Visible = false; } spinEdit4.Value = OverMaxValue(pcs2.Value2, 4); } else if (checkEdit5.Text == pcs2.CalcID) { if (pcs2.Value1 > 0) { checkEdit5.Checked = true; spinEdit5.Visible = true; } else { checkEdit5.Checked = false; spinEdit5.Visible = false; } spinEdit5.Value = OverMaxValue(pcs2.Value2, 5); } else if (checkEdit6.Text == pcs2.CalcID) { if (pcs2.Value1 > 0) { checkEdit6.Checked = true; spinEdit6.Visible = true; } else { checkEdit6.Checked = false; spinEdit6.Visible = false; } spinEdit6.Value = OverMaxValue(pcs2.Value2, 6); } else if (checkEdit7.Text == pcs2.CalcID) { if (pcs2.Value1 > 0) { checkEdit7.Checked = true; spinEdit7.Visible = true; } else { checkEdit7.Checked = false; spinEdit7.Visible = false; } spinEdit7.Value = OverMaxValue(pcs2.Value2, 7); } //else // if( checkEdit8.Text==pcs2.CalcID) // { // if (pcs2.Value1 > 0) // { // checkEdit8.Checked = true; // spinEdit8.Visible = true; // } // else // { // checkEdit8.Checked = false; // spinEdit8.Visible = false; // } // spinEdit8.Value = OverMaxValue(pcs2.Value2, 8); // } } }
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 JS() { //计算预测值 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); int fyear = int.Parse(firstyear.Replace("y", "")); int syear = int.Parse(endyear.Replace("y", "")); int eyear = forecastReport.EndYear; foreach (DataRow dataRow in dataTable.Rows) { double zzl = 0; bool bl = false; double value1 = 0; try { value1 = (double)dataRow["y" + syear]; } catch { } foreach (Ps_Calc pc11 in list1) { if (pc11.CalcID == dataRow["ID"].ToString().Trim()) { bl = true; zzl = pc11.Value1; } } if (!bl) { if (fyear != 0 && syear != 0) { double[] historyValues = GenerateHistoryValue(dataRow, fyear, syear); zzl = Calculator.AverageIncreasing(historyValues); Ps_Calc pcs1 = new Ps_Calc(); pcs1.ID = Guid.NewGuid().ToString(); pcs1.Forecast = type; pcs1.ForecastID = forecastReport.ID; pcs1.CalcID = dataRow["ID"].ToString(); pcs1.Value1 = zzl; Services.BaseService.Create <Ps_Calc>(pcs1); } } if (fyear != 0 && syear != 0) { for (int i = 1; i <= eyear - syear; i++) { dataRow["y" + (syear + i)] = value1 * Math.Pow(1 + zzl, i); } } } ForecastClass fc = new ForecastClass(); fc.MaxForecast(forecastReport, dataTable); RefreshChart(); }
private void LoadData() { string sql = " ForecastID='" + forecastReport.ID + "' and Forecast=" + type + " and Col1='dc' and Col2='GDP'"; IList listTypes = Common.Services.BaseService.GetList("SelectPs_Forecast_MathByWhere", sql); DataTable dataTable = Itop.Common.DataConverter.ToDataTable(listTypes, typeof(Ps_Forecast_Math)); DataRow[] rows1 = dataTable.Select("Title like '一产'"); DataRow[] rows2 = dataTable.Select("Title like '二产'"); DataRow[] rows3 = dataTable.Select("Title like '三产'"); if (rows1.Length == 0 || rows2.Length == 0 || rows3.Length == 0) { MessageBox.Show("缺少‘GDP’数据!( 一产、二产、三产)"); this.Close(); return; } Ps_Calc pcs = new Ps_Calc(); pcs.Forecast = type; pcs.ForecastID = forecastReport.ID; list1 = Services.BaseService.GetList <Ps_Calc>("SelectPs_CalcByForecast", pcs); dt.Columns.Add("ID"); dt.Columns.Add("Name"); newrow1 = dt.NewRow(); newrow2 = dt.NewRow(); newrow3 = dt.NewRow(); newrow1["ID"] = "ID"; newrow1["Name"] = "一产增长率(%)"; newrow2["Name"] = "二产增长率(%)"; newrow3["Name"] = "三产增长率(%)"; for (int i = forecastReport.YcStartYear; 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.repositoryItemCalcEdit1; this.vGridControl1.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; double s8 = 0; double s9 = 0; try { s1 = Convert.ToDouble(rows1[0]["y" + i]); } catch { } try { s2 = Convert.ToDouble(rows1[0]["y" + (i - 1)]); } catch { } if (s2 != 0) { s3 = (s1 - s2) / s2; } newrow1[i.ToString()] = Math.Round(s3 * 100, 3); try { s4 = Convert.ToDouble(rows1[0]["y" + i]); } catch { } try { s5 = Convert.ToDouble(rows1[0]["y" + (i - 1)]); } catch { } if (s5 != 0) { s6 = (s4 - s5) / s5; } newrow2[i.ToString()] = Math.Round(s6 * 100, 3); try { s7 = Convert.ToDouble(rows1[0]["y" + i]); } catch { } try { s8 = Convert.ToDouble(rows1[0]["y" + (i - 1)]); } catch { } if (s8 != 0) { s9 = (s7 - s8) / s8; } newrow3[i.ToString()] = Math.Round(s9 * 100, 3); foreach (Ps_Calc pcs1 in list1) { if (i == pcs1.Year) { newrow1[i.ToString()] = Math.Round(pcs1.Value1 * 100, 3); newrow2[i.ToString()] = Math.Round(pcs1.Value2 * 100, 3); newrow3[i.ToString()] = Math.Round(pcs1.Value3 * 100, 3); } } } dt.Rows.Add(newrow1); dt.Rows.Add(newrow2); dt.Rows.Add(newrow3); vGridControl1.DataSource = dt; }