From 3a54a7f05a926c8b35864886cb08eb6b0883c9d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?old=E6=98=93?= <156663459@qq.com> Date: Tue, 26 Sep 2023 11:00:09 +0800 Subject: [PATCH] feat> --- .../T_EnrollmentPlanedescServices.cs | 60 ++++++++++++------- 1 file changed, 40 insertions(+), 20 deletions(-) diff --git a/New_College.Services/T_EnrollmentPlanedescServices.cs b/New_College.Services/T_EnrollmentPlanedescServices.cs index 6c383a2..5e7363e 100644 --- a/New_College.Services/T_EnrollmentPlanedescServices.cs +++ b/New_College.Services/T_EnrollmentPlanedescServices.cs @@ -17,6 +17,7 @@ using New_College.Common; using Org.BouncyCastle.Asn1.Ocsp; using SqlSugar; using System.Linq.Expressions; +using static New_College.Services.T_EnrollmentPlaneServices; namespace New_College.Services { @@ -922,9 +923,9 @@ namespace New_College.Services { if (query.Score <= 0) return new MessageModel>() { success = false, msg = "分数不能为0..." }; - var planinfo = await t_EnrollmentPlaneRepository.Query(w => w.Years == query.Year && w.Area_Id == query.AreaId); - if (planinfo == null) - return new MessageModel>() { success = false, msg = "所选省份年份的招生计划,正在完善中..." }; + //var planinfo = await t_EnrollmentPlaneRepository.Query(w => w.Years == query.Year && w.Area_Id == query.AreaId); + //if (planinfo == null) + // return new MessageModel>() { success = false, msg = "所选省份年份的招生计划,正在完善中..." }; //通过传来的专业分类Id 筛选出所选择的专业的ids var majorclassinfo = await d_MajorClassRepository.Query(x => query.MajorIds.Contains(x.TradeId) && x.IsDelete == false); var CategoryClassids = majorclassinfo.Select(x => x.Id).ToList(); @@ -957,17 +958,36 @@ namespace New_College.Services if (university.Count <= 0) return new MessageModel>() { success = false, msg = "所选院校数据完善中..." }; var universityids = university.Select(x => x.Id).ToList(); - var batchinfo = await t_EnrollmentBatchRepository.Query(x => x.Year == query.Year && x.AreaName == query.AreaName && !x.Batch_name.Contains("提前")); - if (batchinfo.Count <= 0) - return new MessageModel>() { success = false, msg = "所属年份数据批次为空..." }; - var batchids = batchinfo.Select(s => s.Id).ToList(); + + + //var batchinfo = await t_EnrollmentBatchRepository.Query(x => x.Year == query.Year && x.AreaName == query.AreaName && !x.Batch_name.Contains("提前")); + //if (batchinfo.Count <= 0) + // return new MessageModel>() { success = false, msg = "所属年份数据批次为空..." }; + //var batchids = batchinfo.Select(s => s.Id).ToList(); //通过条件筛选出所有的 - var wheres = PredicateBuilder.New(); - wheres.And(x => x.Scoreline <= (query.Score + 10) && x.Scoreline > 0 && majornames.Contains(x.MajorName) && universityids.Contains(x.UniversityId) && x.PlanId == planinfo.FirstOrDefault().Id && batchids.Contains(x.BatchtypeId)); - //根据上述所有筛选 求出招生计划 - var plandesc = await _dal.Query(wheres, "Scoreline desc"); - if (plandesc.Count <= 0) - return new MessageModel>() { success = false, msg = "符合条件招生条件为空..." }; + //var wheres = PredicateBuilder.New(); + //wheres.And(x => x.Scoreline <= (query.Score + 10) && x.Scoreline > 0 && majornames.Contains(x.MajorName) && universityids.Contains(x.UniversityId) && x.PlanId == planinfo.FirstOrDefault().Id && batchids.Contains(x.BatchtypeId)); + + + + ////根据上述所有筛选 求出招生计划 + //var plandesc = await _dal.Query(wheres, "Scoreline desc"); + //if (plandesc.Count <= 0) + // return new MessageModel>() { success = false, msg = "符合条件招生条件为空..." }; + + + Expression> exp = Expressionable.Create() //创建表达式 +.And(c => c.IsDelete == false) +.AndIF(query.Year > 0, w => w.Years == query.Year) +.AndIF(!string.IsNullOrEmpty(query.AreaName), w => w.Location == query.AreaName.Replace("省", "")) +.And(x => x.LowScore <= (query.Score + 10) && x.LowScore > 0) +.And(x => majornames.Contains(x.Major)) +.And(x => universityids.Contains(x.UId)) +.ToExpression();//注意 这一句 不能少 + var plandesc = await _PlanMajorDescRepository.Query(exp); + + plandesc = plandesc.OrderByDescending(c => c.LowScore).ToList(); + //懒人推荐限制 //院校数量 var unum = 0; @@ -998,7 +1018,7 @@ namespace New_College.Services } //招生计划内所有的院校Ids - var planuniversityids = plandesc.Select(x => x.UniversityId).ToList().Distinct().Take(unum); + var planuniversityids = plandesc.Select(x => x.UId).ToList().Distinct().Take(unum); var ids = string.Join(",", planuniversityids); //var info = await d_UniversityRepository.QueryPage(x => planuniversityids.Contains(x.Id), query.PageIndex, query.PageSize); @@ -1008,7 +1028,7 @@ namespace New_College.Services List list = new List() { }; foreach (var item in info) { - var plansinfo = plandesc.Where(x => x.UniversityId == item.Id).ToList().Take(mnum); + var plansinfo = plandesc.Where(x => x.UId == item.Id).ToList().Take(mnum); list.Add(new UniversityEnrollmentPlanLazyResult() { UniversityName = item.Name, @@ -1022,12 +1042,12 @@ namespace New_College.Services Infos = plansinfo.Select(x => new PlanInfo() { MajorId = x.Id, - Money = x.Tuitionfee, - Year = x.Studyyears, + Money = x.Free, + Year = x.AcademicYear, YearName = query.Year.ToString(), - PlanName = x.MajorName, - PlanNum = x.Plancount, - Scoreline = x.Scoreline + PlanName = x.Major, + PlanNum = x.PlanCount, + Scoreline = x.LowScore }).ToList(), AscriptionName = item.AscriptionName, Rank = item.Rank <= 0 ? "-" : item.Rank.ToString()