diff --git a/New_College.Model/ViewModels/Result/VolunteerTableResult.cs b/New_College.Model/ViewModels/Result/VolunteerTableResult.cs index 8b97cd3..8788114 100644 --- a/New_College.Model/ViewModels/Result/VolunteerTableResult.cs +++ b/New_College.Model/ViewModels/Result/VolunteerTableResult.cs @@ -82,6 +82,8 @@ namespace New_College.Model.ViewModels public string Money { get; set; } + public string Subject { get; set; } + /// /// 学制 /// diff --git a/New_College.Repository/BASE/D_PlanMajorDescProRepository.cs b/New_College.Repository/BASE/D_PlanMajorDescProRepository.cs index 7f01a1f..26d1bb8 100644 --- a/New_College.Repository/BASE/D_PlanMajorDescProRepository.cs +++ b/New_College.Repository/BASE/D_PlanMajorDescProRepository.cs @@ -46,6 +46,7 @@ namespace New_College.Repository request.Year = request.Year > 2024 ? 2024 : request.Year; var pagelist = await this.Db.Queryable().Where(c => c.Location == request.Location) .Where(c => c.Years == request.Year) + .Where(c => !string.IsNullOrWhiteSpace(c.Logo)) .WhereIF(request.Sff.HasValue, c => c._211 == (request.Sff == 1 ? "是" : "否")) .WhereIF(request.Nhef.HasValue, c => c._985 == (request.Nhef == 1 ? "是" : "否")) .WhereIF(request.Syl.HasValue, c => c._SYL == (request.Syl == 1 ? "是" : "否")) @@ -66,7 +67,6 @@ namespace New_College.Repository c.Rank, c.Logo, c.Web - }) .Select(c => new UniversityPlanProView() { diff --git a/New_College.Services/D_PlanMajorDescServices.cs b/New_College.Services/D_PlanMajorDescServices.cs index d772f4b..e855205 100644 --- a/New_College.Services/D_PlanMajorDescServices.cs +++ b/New_College.Services/D_PlanMajorDescServices.cs @@ -238,7 +238,10 @@ namespace New_College.Services .And(c => c.SubjectType == batchtypeName) .AndIF(!string.IsNullOrWhiteSpace(request.Major), c => SqlFunc.Contains(c.MajorName, request.Major)) // .AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => SqlFunc.Contains(c.SelectSubject, request.SubjectClaim)) //此条件不带 - .AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => SqlFunc.Contains(c._24subject, claim01) || SqlFunc.Contains(c._24subject, claim02) || SqlFunc.Contains(c._24subject, claim03) || c._24subject == "不限") + .AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => + (!SqlFunc.Contains(c._24subject, "&") && SqlFunc.Contains(c._24subject, claim01) || SqlFunc.Contains(c._24subject, claim02) || SqlFunc.Contains(c._24subject, claim03) || c._24subject == "不限")|| + (SqlFunc.Contains(c._24subject, "&") && SqlFunc.Contains(c._24subject, claim01) && SqlFunc.Contains(c._24subject, claim02) && SqlFunc.Contains(c._24subject, claim03)) + ) //.AndIF(!string.IsNullOrWhiteSpace(request.BatchName), c => c.BatchName == request.BatchName) .AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(request.Province, c.Province)) // .AndIF(!string.IsNullOrWhiteSpace(request.SchoolType), c => c.SchoolType == request.SchoolType) @@ -370,8 +373,14 @@ namespace New_College.Services .And(c => c.Location == request.Location) .And(c => c.SubjectType == batchtypeName) .And(c => c._23ScoreLine > 0) - .AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), c => SqlFunc.Contains(c._24subject, claim01) || SqlFunc.Contains(c._24subject, claim02) || SqlFunc.Contains(c._24subject, claim03) || c._24subject == "不限") - .AndIF(!string.IsNullOrWhiteSpace(request.Major), c => SqlFunc.Contains(c.MajorName, request.Major)) + .AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), + c => + (!SqlFunc.Contains(c._24subject, "&") && SqlFunc.Contains(c._24subject, claim01) || SqlFunc.Contains(c._24subject, claim02) || SqlFunc.Contains(c._24subject, claim03) || c._24subject == "不限") || + (SqlFunc.Contains(c._24subject, "&") && SqlFunc.Contains(c._24subject, claim01) && SqlFunc.Contains(c._24subject, claim02) && SqlFunc.Contains(c._24subject, claim03)) + ) + + + .AndIF(!string.IsNullOrWhiteSpace(request.Major), c => SqlFunc.Contains(c.MajorName, request.Major)) .AndIF(!string.IsNullOrWhiteSpace(request.Province), c => SqlFunc.Contains(request.Province, c.Province)) //.AndIF(!string.IsNullOrWhiteSpace(request.SchoolType), c => c.SchoolType == request.SchoolType) .AndIF(request.Score > 0, c => SqlFunc.Between(c._23Score, request.Score - 60, request.Score + 15)) diff --git a/New_College.Services/T_EnrollmentPlanedescServices.cs b/New_College.Services/T_EnrollmentPlanedescServices.cs index 4240bee..7a95342 100644 --- a/New_College.Services/T_EnrollmentPlanedescServices.cs +++ b/New_College.Services/T_EnrollmentPlanedescServices.cs @@ -1260,7 +1260,8 @@ namespace New_College.Services PlanName = x.MajorName + (!string.IsNullOrWhiteSpace(x.Remark) ? "(" + x.Remark + ")" : ""), PlanNum = int.Parse(x._23Count), Scoreline = x._23Score == "0" ? "-" : x._23Score, - LowScoreRank = x._23ScoreLine == 0 ? "-" : x._23ScoreLine.ToString() + LowScoreRank = x._23ScoreLine == 0 ? "-" : x._23ScoreLine.ToString(), + Subject = x._24subject }).ToList(); count.FirstOrDefault().Infos.AddRange(newinfos); } @@ -1281,6 +1282,7 @@ namespace New_College.Services Nature = nowuniversityinfo.Nature, Infos = nowdesc.Select(x => new PlanInfo() { + Subject = x._24subject, MajorId = x.ID, Money = x.Fee, Year = x.AcademicYear,