From d2b24a77c5f376cb2f410c57d5cfc0c026fceb5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?old=E6=98=93?= <156663459@qq.com> Date: Thu, 11 Jul 2024 11:49:30 +0800 Subject: [PATCH] bug fixed --- .../Front/PcVolunteerController.cs | 4 +-- .../Helper/MajorPlanScoreTool.cs | 4 +++ .../BASE/T_EnrollmentPlanedescRepository.cs | 34 ++++++++++++------- .../D_PlanMajorDescServices.cs | 9 ++--- 4 files changed, 33 insertions(+), 18 deletions(-) diff --git a/New_College.Api/Controllers/Front/PcVolunteerController.cs b/New_College.Api/Controllers/Front/PcVolunteerController.cs index f6f61ab..51b793c 100644 --- a/New_College.Api/Controllers/Front/PcVolunteerController.cs +++ b/New_College.Api/Controllers/Front/PcVolunteerController.cs @@ -120,7 +120,7 @@ namespace New_College.Api.Controllers.Front var location = planmajordesc.FirstOrDefault().Location; var majorlist = planmajordesc.Select(c => c.MajorName).ToList(); var universityname = planmajordesc.Select(c => c.UniversityName).Distinct().ToList(); - var planmajorcomplist = await _TbSNeedDataInfoServices.Query(c => c.Location == location && SqlFunc.ContainsArray(majorlist, c.MajorName) && SqlFunc.ContainsArray(universityname, c.UniversityName));// + var planmajorcomplist = await _TbSNeedDataInfoServices.Query(c => c.Location == location && SqlFunc.ContainsArray(majorlist, c.MajorName) && SqlFunc.ContainsArray(universityname, c.UniversityName) && c._plancount > 0);// view.VolunteerTableName = query.VolunteerTableName; view.SubjectClaim = query.SubjectClaim.Length > 2 ? "综合" : query.SubjectClaim; @@ -319,7 +319,7 @@ namespace New_College.Api.Controllers.Front }); - var stream =await PdfOptHelper.CreatePdfAsync(string.Format("{0}-{1}-{2}", query.VolunteerTableName, query.SubjectClaim, query.Score), unversityheaders.ToList(), majorlistheaders.ToList(), ulist, query.CreateTime.Value); + var stream = await PdfOptHelper.CreatePdfAsync(string.Format("{0}-{1}-{2}", query.VolunteerTableName, query.SubjectClaim, query.Score), unversityheaders.ToList(), majorlistheaders.ToList(), ulist, query.CreateTime.Value); // 返回 PDF 文件 return File(stream.ToArray(), "application/pdf", string.Format("{0}.pdf", DateTime.Now.ToString("yyyyMMddhhssfff_"))); diff --git a/New_College.Common/Helper/MajorPlanScoreTool.cs b/New_College.Common/Helper/MajorPlanScoreTool.cs index 77bffe4..6ad7497 100644 --- a/New_College.Common/Helper/MajorPlanScoreTool.cs +++ b/New_College.Common/Helper/MajorPlanScoreTool.cs @@ -17,6 +17,10 @@ namespace New_College.Common /// public static int GetPlanPercentage(int LowScore, int requestScore) { + if (LowScore == 0) + { + return 90; + } //int minscore = requestScore - 60;//最小 //int constscore = requestScore;//中位数 //int maxscore = requestScore + 15;//最大 diff --git a/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs b/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs index 0624ffb..97fda41 100644 --- a/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs +++ b/New_College.Repository/BASE/T_EnrollmentPlanedescRepository.cs @@ -216,21 +216,31 @@ namespace New_College.Repository } if (string.IsNullOrEmpty(query.Type)) { - sqlstr.AppendFormat(" and (_23Score BETWEEN {0} and {1})", query.Score - 60, query.Score + 15); + sqlstr.AppendFormat(" and ((_23Score BETWEEN {0} and {1})", query.Score - 60, query.Score + 15); } if (query.Type == "冲") { - sqlstr.AppendFormat(" and (_23Score BETWEEN {0} and {1})", query.Score, query.Score + 15); + sqlstr.AppendFormat(" and ((_23Score BETWEEN {0} and {1})", query.Score, query.Score + 15); } if (query.Type == "稳") { - sqlstr.AppendFormat(" and (_23Score BETWEEN {0} and {1})", query.Score - 26, query.Score - 1); + sqlstr.AppendFormat(" and ((_23Score BETWEEN {0} and {1})", query.Score - 26, query.Score - 1); } if (query.Type == "保") { - sqlstr.AppendFormat(" and (_23Score BETWEEN {0} and {1})", query.Score - 60, query.Score - 26); + sqlstr.AppendFormat(" and ((_23Score BETWEEN {0} and {1})", query.Score - 60, query.Score - 26); } + + if (query.BatchName == "普通类二段" || query.BatchName.Contains("专科")) + { + sqlstr.AppendLine(" or _23Score <=0 and EducationCategory='专科') "); + } + else + { + sqlstr.AppendLine(" ) "); + } + if (majornames.Any() && majornames.Count() > 0) { sqlstr.Append(" and ("); @@ -254,14 +264,14 @@ namespace New_College.Repository { sqlstr.AppendFormat(" and (_23subject like'%{0}%' or _23subject like'%{1}%' or _23subject like'%{2}%' or _23subject like'%{3}%' )", claim01, claim02, claim03, "不限"); } - if (query.BatchName == "普通类二段" || query.BatchName.Contains("专科")) - { - sqlstr.AppendLine(" or _23Score <=0 and EducationCategory='专科' order by _23ScoreLine "); - } - else - { - sqlstr.Append("and _23ScoreLine>0 order by _23ScoreLine "); - } + //if (query.BatchName == "普通类二段" || query.BatchName.Contains("专科")) + //{ + // sqlstr.AppendLine(" or _23Score <=0 and EducationCategory='专科') order by _23ScoreLine "); + //} + //else + //{ + sqlstr.Append(" order by _23ScoreLine "); + // } var recommendInfo = await this.Db.SqlQueryable(sqlstr.ToString()).ToListAsync(); diff --git a/New_College.Services/D_PlanMajorDescServices.cs b/New_College.Services/D_PlanMajorDescServices.cs index 8c224c7..87afc5e 100644 --- a/New_College.Services/D_PlanMajorDescServices.cs +++ b/New_College.Services/D_PlanMajorDescServices.cs @@ -239,7 +239,7 @@ namespace New_College.Services .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, "&") && 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) || 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) @@ -371,17 +371,18 @@ namespace New_College.Services Expression> expression3 = Expressionable.Create() .And(c => c.Location == request.Location) .And(c => c.SubjectType == batchtypeName) + .And(c => c._plancount > 0) .AndIF(request.Score > 0 && (request.BatchName.Contains("本科") || request.BatchName.Contains("一段")), c => c._23ScoreLine > 0) .AndIF(!string.IsNullOrWhiteSpace(request.SubjectClaim), - c => + 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&&(request.BatchName.Contains("本科")||request.BatchName.Contains("一段")), c => SqlFunc.Between(c._23Score, request.Score - 60, request.Score + 15)) - .AndIF(request.Score > 0 && (request.BatchName.Contains("专科") || request.BatchName.Contains("二段")), c => SqlFunc.Between(c._23Score, request.Score - 150, request.Score + 20)) + .AndIF(request.Score > 0 && (request.BatchName.Contains("本科") || request.BatchName.Contains("一段")), c => SqlFunc.Between(c._23Score, request.Score - 60, request.Score + 15)) + .AndIF(request.Score > 0 && (request.BatchName.Contains("专科") || request.BatchName.Contains("二段")), c => SqlFunc.Between(c._23Score, request.Score - 150, request.Score + 20)||c._23Score== "0") .AndIF(request.Syl.HasValue && request.Syl == 1, c => SqlFunc.Contains(c.LnstitutionalLevel, "双一流")) .AndIF(request._211.HasValue && request._211 == 1, c => SqlFunc.Contains(c.LnstitutionalLevel, "211")) .AndIF(request._985.HasValue && request._985 == 1, c => SqlFunc.Contains(c.LnstitutionalLevel, "985"))