public IDataResult <ArticleCategory> PredictArticleCategoryByUser(long userId)
        {
            var error = BusinessRules.Run(CheckUserIsExist(userId));

            if (error != null)
            {
                return(ResultConverter.ResultToDataResult <ArticleCategory>(error));
            }


            var predictedCategoryId = PredictHelper.PredictArticleCategoryByUser(userId);

            return(new SuccessDataResult <ArticleCategory>(_uow.ArticleCategories.Get(x => x.Id == predictedCategoryId)));
        }
예제 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="v_OrganizationID"></param>
        /// <param name="v_type">1:熟料,2:水泥磨</param>
        /// <param name="v_begin"></param>
        /// <param name="v_end"></param>
        /// <returns></returns>
        public DataTable Get_Forecast_ProductionLineEnergy(string v_OrganizationID, string v_type, string v_begin, string v_end)
        {
            _string_error = "";//错误信息串
            //string year = DateTime.Now.ToString("yyyy");
            string    year = v_end.Substring(0, 4);
            DataTable temp = new DataTable();

            if (v_type == "熟料") //熟料
            {
                temp = PredictHelper.GetClinkerData(v_OrganizationID, v_begin, v_end);
            }
            if (v_type == "水泥磨") //水泥磨
            {
                temp = PredictHelper.GetCementMillData(v_OrganizationID, v_begin, v_end);
            }
            AddAverageRow(temp, v_type); //增加均值行
            CheckData(temp, v_type);     //数据残缺度检查
            Query query = new Query("forecast_ProductionLineEnergyConsumptionReference");

            query.AddCriterion("OrganizationID", v_OrganizationID, CriteriaOperator.Equal);
            DataTable temp_reference = _dataFactory.Query(query);
            DataTable temp_history   = temp_reference.Copy();

            CrosswiseToLengthways(temp, temp_history, v_type);
            Predict(temp_history, temp_reference);//第四步预测
            DataTable temp_plan = tzHelper.GetReportData("tz_Plan", v_OrganizationID, year, "plan_EnergyConsumptionYearlyPlan");

            if (temp_plan.Rows.Count == 0)
            {
                _string_error = _string_error + "生产线:" + v_OrganizationID + "的产量计划不存在!";
            }
            DataTable temp_result = new DataTable();

            if (v_type == "熟料")
            {   //熟料
                temp_result = _dataFactory.Query("select * from forecast_ProductionLineEnergyConsumptionTemplate where Type ='熟料'");
            }  // 熟料
            if (v_type == "水泥磨")
            {   //水泥磨
                temp_result = _dataFactory.Query("select * from forecast_ProductionLineEnergyConsumptionTemplate where Type ='水泥磨'");
            }  //水泥磨

            Calculat(v_OrganizationID, temp_plan, temp_result, temp_history, v_type);


            _dt = temp_result;
            return(temp_result);
        }