Exemplo n.º 1
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);
        }
Exemplo n.º 2
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.º 3
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();
        }