From c9390b898249d437f60097bcf935e1c4cda126fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?old=E6=98=93?= <156663459@qq.com> Date: Tue, 21 Nov 2023 17:53:45 +0800 Subject: [PATCH] feat:bug fixed --- .../D_PlanMajorDescServices.cs | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/New_College.Services/D_PlanMajorDescServices.cs b/New_College.Services/D_PlanMajorDescServices.cs index 44fb6ac..deb9e7e 100644 --- a/New_College.Services/D_PlanMajorDescServices.cs +++ b/New_College.Services/D_PlanMajorDescServices.cs @@ -12,6 +12,7 @@ using System; using System.Linq; using New_College.Common; using New_College.IRepository; +using LinqKit; namespace New_College.Services { @@ -38,6 +39,8 @@ namespace New_College.Services /// public async Task> GetAIGoList(OneSubmitGoRequest request) { + var claim = request.SubjectClaim.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList(); + var pagemodel = new AIGOPageModel(); int startscore = request.Score - 15; int endscore = request.Score + 15; @@ -65,7 +68,8 @@ namespace New_College.Services .And(c => c.IsDelete == false) .And(c => c.Location == request.Location) .AndIF(!string.IsNullOrWhiteSpace(request.Major), c => SqlFunc.Contains(c.Major, request.Major)) - .AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => SqlFunc.Contains(c.SelectSubject, request.SubjectClaim)) //此条件不带 + // .AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => SqlFunc.Contains(c.SelectSubject, request.SubjectClaim)) //此条件不带 + .AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => SqlFunc.Contains(c.SelectSubject, claim[0]) || SqlFunc.Contains(c.SelectSubject, claim[1]) || SqlFunc.Contains(c.SelectSubject, claim[2])) .AndIF(!string.IsNullOrWhiteSpace(request.BatchName), c => c.BatchName == request.BatchName) .AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(request.Province, c.AreaName)) .AndIF(!string.IsNullOrWhiteSpace(request.SchoolType), c => c.SchoolType == request.SchoolType) @@ -128,9 +132,9 @@ namespace New_College.Services return new AIGOPageModel() { data = responselist, - c = responselist.Select(c => c.Type == 2).Count(), - w = responselist.Select(c => c.Type == 1).Count(), - b = responselist.Select(c => c.Type == 0).Count(), + c = responselist.Where(c => c.Type == 2).Count(), + w = responselist.Where(c => c.Type == 1).Count(), + b = responselist.Where(c => c.Type == 0).Count(), dataCount = query.dataCount, page = query.page, pageCount = query.pageCount, @@ -147,13 +151,13 @@ namespace New_College.Services /// public async Task> GetPlanMajorList(OneSubmitGoRequest request) { - + var claim = request.SubjectClaim.Split(",", StringSplitOptions.RemoveEmptyEntries).ToList(); var pagemodel = new PageModel(); Expression> expression = Expressionable.Create() .And(c => c.IsDelete == false) .And(c => c.Location == request.Location) + .AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => SqlFunc.Contains(c.SelectSubject, claim[0]) || SqlFunc.Contains(c.SelectSubject, claim[1]) || SqlFunc.Contains(c.SelectSubject, claim[2])) .AndIF(!string.IsNullOrWhiteSpace(request.Major), c => SqlFunc.Contains(c.Major, request.Major)) - .AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => SqlFunc.Contains(request.SubjectClaim, c.SelectSubject)) .AndIF(!string.IsNullOrWhiteSpace(request.BatchName), c => c.BatchName.Equals(request.BatchName)) .AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(request.Province, c.AreaName)) .And(c => c.Years == request.Year) @@ -166,6 +170,8 @@ namespace New_College.Services .AndIF(!string.IsNullOrWhiteSpace(request.Nature), c => c.Nature == request.Nature) //.AndIF(request. > 0, c => SqlFunc.Between(c.LowScore, request.Score, request.Score)) 位次区间 .ToExpression(); + + var query = await _dal.QueryPage(expression, request.PageIndex, request.PageSize, " LowScoreRank desc "); var majorarry = query.data.Select(c => c.Major).Distinct().ToArray();