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))); }
/// <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); }