Exemplo n.º 1
0
        private void InitSave()
        {
            List<PSP_ForecastValues> listValues = new List<PSP_ForecastValues>();
            foreach (TreeListNode nd in treeList2.Nodes)
            {
                AddNodeDataToList(nd, listValues);
            }
            Common.Services.BaseService.Update<PSP_ForecastValues>(listValues);
                IList<PSP_PowerProject_ProfessValues> listValuestemp = Common.Services.BaseService.GetList<PSP_PowerProject_ProfessValues>("SelectPSP_PowerProject_ProfessValuesByFlag2", forecastReport.ID);
                PSP_PowerProject_ProfessValues psp_profess = new PSP_PowerProject_ProfessValues();
                try
                {
                    foreach (PSP_PowerProject_ProfessValues value in listValuestemp)
                    {
                        if (value.Year > forecastReport.EndYear || value.Year <=forecastReport.StartYear)
                            continue;
                        TreeListNode node = treeList1.FindNodeByFieldValue("ID", value.TypeID);
                        if (node != null)
                        {
                            psp_profess.TypeID = value.TypeID;
                            psp_profess.Value = Convert.ToDouble(node[value.Year + "年"].ToString());
                            psp_profess.Year = value.Year;
                            psp_profess.Flag2 = value.Flag2;
                            //node.SetValue(value.Year + "年", value.Value);
                            Common.Services.BaseService.Update<PSP_PowerProject_ProfessValues>(psp_profess);
                        }
                    }

                    MsgBox.Show("数据保存成功!");
                    bl2 = false;
            }
            catch (Exception ex)
            {
                //MsgBox.Show(ex.Message);
            }
        }
Exemplo n.º 2
0
        private void LoadData()
        {
            if (dataTable != null)
            {
                dataTable.Columns.Clear();
                treeList1.Columns.Clear();
            }

            PSP_P_Types psp_Type = new PSP_P_Types();
            IList listTypes =null;
            if (!formselect)
            {
                psp_Type.Flag2 = forecastReport.ID;
                 listTypes = Common.Services.BaseService.GetList("SelectPSP_P_TypesByFlag2", psp_Type);

                dataTable = Itop.Common.DataConverter.ToDataTable(listTypes, typeof(PSP_P_Types));

                treeList1.DataSource = dataTable;
            }
            else
            {

                string str = " Flag='" + typeFlag + "' and Flag2='" + forecastReport.ID + "' " + " and ID in(80001,80002,80003) ";

                 listTypes = Common.Services.BaseService.GetList("SelectPSP_P_TypesByWhere", str);

                dataTable = Itop.Common.DataConverter.ToDataTable(listTypes, typeof(PSP_P_Types));
                //DataView datemp = dataTable.DefaultView;
                //datemp.RowFilter = "ID in(80001,80002,80003,80004)";
                treeList1.DataSource = dataTable;

            }
            treeList1.Columns["Title"].Caption = "分类名";
            treeList1.Columns["Title"].Width = 180;
            treeList1.Columns["Title"].OptionsColumn.AllowEdit = false;
            treeList1.Columns["Title"].OptionsColumn.AllowSort = false;
            treeList1.Columns["Flag"].VisibleIndex = -1;
            treeList1.Columns["Flag"].OptionsColumn.ShowInCustomizationForm = false;
            treeList1.Columns["Flag2"].VisibleIndex = -1;
            treeList1.Columns["Flag2"].OptionsColumn.ShowInCustomizationForm = false;
             PSP_PowerProject_ProfessValues psp_profess = new PSP_PowerProject_ProfessValues();
            for (int i = forecastReport.StartYear + 1; i <= forecastReport.EndYear; i++)
            {
                AddColumn(i);
                foreach (PSP_P_Types psp_Typetemp in listTypes)
                {
                    psp_profess.TypeID = psp_Typetemp.ID;
                    psp_profess.Value=0.1;
                    psp_profess.Year = i;
                    psp_profess.Flag2 = psp_Typetemp.Flag2;
                    try
                    {
                        Common.Services.BaseService.Update("CreatPSP_PowerProject_ProfessValues", psp_profess);
                    }
                    catch (Exception ex)
                    {
                        MsgBox.Show("加载数据出错:" + ex.Message);

                    }
                }
            }

            //foreach (TreeListNode nd in treeList1.Nodes)
            //{
            //    SetDefaultValues(nd);
            //}
            LoadValueData();
            treeList1.ExpandAll();
        }
Exemplo n.º 3
0
        /// <summary>
        /// 专家指定法
        /// </summary>
        /// <param name="baseValue">基年数据</param>
        /// <param name="averageIncreasing">年均增长率</param>
        /// <param name="years">需要预测的年数</param>
        /// <returns>预测数据数组</returns>
        public static double[] ProfessionalLV(/*double[] historyValue,*/ double baseValue, int years, int TypeID)
        {
            double[] rt = new double[years];
            PSP_PowerProject_ProfessValues psp_profess = new PSP_PowerProject_ProfessValues();
            psp_profess.TypeID = TypeID;
            psp_profess.Flag2 =Convert.ToInt32(type);

            try
            {
                IList<PSP_PowerProject_ProfessValues> listValues = Common.Services.BaseService.GetList<PSP_PowerProject_ProfessValues>("SelectPSP_PowerProject_ProfessValuesByFlag2TypeID", psp_profess);
                int i = 0;
                int yeartemp = 0;
                double baseyeartemp = baseValue;
                if (listValues.Count > 0)
                    yeartemp = startyear;
                else
                {
                    for (int j = 0; j < years; j++)
                    {
                        rt[j] = baseyeartemp * Math.Pow((1 + 0.1), 1);
                        baseyeartemp = rt[j];
                    }
                }

                foreach (PSP_PowerProject_ProfessValues psp_professtemp in listValues)
                {
                    if (i < years)
                    {
                    rt[i] = baseyeartemp * Math.Pow((1 + psp_professtemp.Value), psp_professtemp.Year - yeartemp);
                    baseyeartemp = rt[i];
                    yeartemp = psp_professtemp.Year;
                    i++;
                    }

                }
            }
            catch (Exception ex)
            {
                MsgBox.Show(ex.Message);
            }

            return rt;
        }